ОСОБЕННОСТИ ПРОЦЕССОРОВ С АРХИТЕКТУРОЙ SPARC КОМПАНИИ SUN MICROSYSTEMS
  
Архитектура процессоров компании Sun Microsystems (SPARC – Scalable Processor Architecture) является наиболее широко распространённой RISC- архитектурой, отражающей доминирующее положение компании на рынке UNIX-рабочих станций и серверов 
Процессоры с архитектурой SPARC лицензированы и изготавливаются по спецификациям Sun несколькими производителями, среди которых следует отметить компании Texas Instruments, Fujitsu, LSI Logic, Bipolar International Technology, Philips и Cypress Semiconductor. Эти компании осуществляют поставки процессоров SPARC не только самой Sun Microsystems, но и другим известным производителям вычислительных систем, например, Solbourne, Toshiba, Matsushita, Tatting и Cray Research 
В 1990 году Sun передала все права на архитектуру SPARC организации SPARC International, которая в настоящее время включает более 250 членов. Основными задачами этой организации являются лицензирование технологии SPARC для реализации, руководства и проверки совместимости со стандартами SPARC. Именно такая стратегия лицензирования позволила процессорам с архитектурой SPARC занять лидирующие позиции на рынке RISC-кристаллов 
SPARC изначально создавалась с целью упрощения работы с 32-битным процессором. В последствии по мере улучшения технологии изготовления интегральных схем она постепенно развивалось и в настоящее время имеется 64-битовая версия этой архитектуры 
Для удобства передачи параметров между программами и возврата результатов архитектура SPARC использует регистровые окна. Архитектура SPARC была первой коммерческой разработкой, реализующей механизмы отложенных переходов и аннулирования команд. Это давало компилятору большую свободу заполнения времени, выполнения команд перехода командой, которая выполняется в случае выполнения условий перехода и игнорируется в случае, если условие перехода не выполняется 
В 90-х годах компания Sun использовала конкуренцию среди компаний-поставщиков интегральных схем, выбирая наиболее удачные разработки для реализации таких своих изделий как: 
•	SPARCstation 1, 
•	SPARCstation 1+, 
•	SPARCstation IPC, 
•	SPARCstation ELC, 
•	SPARCstation IPX, 
•	SPARCstation 2 и серверов серий 4XX и 6XX. 
Такая частота процессоров SPARC была повышена до 40 МГц, а производительность – до 28 MIPS 
Super SPARC 
За счёт реализации в кристаллах принципов суперскалярной обработки компаниями Texas Instruments и Cypress появилась возможность дальнейшего увеличения производительности процессоров с архитектурой SPARC. Конструктивно кристалл монтируется на взаимозаменяемых процессорных модулях трёх типов, отличающихся наличием и объёмом кэш-памяти второго уровня и тактовой частотой. Процессор Super SPARC компании Texas Instruments стал основой серии рабочих станций и серверов SPARCstation/SPARC server 10 и SPARCstation/SPARC server 20. Имеется несколько версий этого процессора, позволяющего в зависимости от смеси команд обрабатывать до трёх команд за один машинный такт, отличающихся тактовой частотой. Процессор SuperSPARC имеет сбалансированную производительность на операциях с фиксированной и плавающей точкой 
Эти процессоры имеют внутренний кэш ёмкостью 36 Кб (20 Кб – кэш команд и 16 Кб кэш данных), раздельные конвейеры целочисленной и вещественной арифметики и при тактовой частоте 75 МГц обеспечивает производительность около 205 MIPS. Процесоор SuperSPARC применяется также в серверах SPARCserver 1000 и SPARCcenter 2000 компании Sun 
Модуль M-bus SuperSPARC, используемый в модели 50 содержит 50-МГц SuperSPARC процессор с внутренним кэшем ёмкостью 36 Кб. Модули M-bus SuperSPARC в моделях 51, 61 и 71 содержат по одному SuperSPARC процессору работающему на частоте 50, 60 и 75 МГц соответственно, одному кристалу кэш-контроллёра (так называемому SuperCache), а также внешний кэш ёмкостью 1 Мб. Модули M-bus в моделях 502, 612, 712 и 514 содержат два SuperSPARC процессора и два кэш-контроллёра каждый, а последние три модели и по одному 1 Мб внешнему кэшу на каждый процессор 
Использование кэш-памяти позволяет модулям CPU работать с тактовой частотой, отличной от тактовой частоты материнской платы; пользователи всех моделей, поэтому могут улучшить производительность своих систем заменой существующих модулей CPU вместо того, чтобы производитель upgrade всей материнской платы 
  
  Sun совместно Fujitsu создали также новую версию кристалла MicroSPARC II с встроенным кэшем ёмкостью 24 Кб. На его основе построены рабочие станции и серверы SPARCstation/SPARC server 4 и SPARCstation/SPARC server 5, работающие на частоте 70, 85 и 110 МГц. В тоже время компания Texas Instruments разработала также 50 МГц процессор MicroSPARC с встроенным кэшем ёмкостью 6 Кб, который ранее широко использовался в дешёвых моделях рабочих станций SPARCclassic и SPARCstation LX, а в настоящее время применяется лишь в X-терминалах 
Но несмотря на все достоинства процессоров архитектуры SPARC, которые остаются доминирующими на рынке процессоров RISC, особенно в секторе рабочих станций, повышение тактовой частоты процессоров в 1992-1994 годах происходило более медленными темпами по сравнению с повышением тактовой частоты конкурирующих архитектур процессоров. Чтобы ликвидировать это отставание, а также в ответ на появление на рынке 64-битовых процессоров компания Sun разработала и проводит в жизнь пятилетнюю программу модернизации 
В соответствиис этой программой Sun планировала довести тактовую частоту процессоров MicroSPARC до 100 МГц в 1994 году (процессор MicroSPARC II с тактовой частотой 70, 85 и 110 МГц уже используется в рабочих станциях и серверах SPARCstation 5) и до 125 МГц (процессор MicroSPARC III) к концу 1995года. В конце 1994 – начале 1995 года на рынке появились микропроцессоры hyperSPARC и однопроцессорные и двухпроцессорные рабочие станции с тактовой частотой процессора 100 и 125 МГц 
К середине 1995 года тактовая частота процессоров SuperSPARC должна быть доведена до 90 МГц (60 и 75 Мгц версии этого процессора в настоящее время применяются в рабочих станциях и серверах SPARCstation 20, SPARCserver 1000 и SPARCcenter 2000 компании Sun и 64-процессорном сервере компании Cray Research). Во второй половине 1995 года должны появится 64-битовые процессоры UltraSPARC I с тактовой частотой от 167 МГц, в конце 1995 – начале 1996года – процессоры UltraSPARC II с тактовой частотой от 200 до 275 МГц, а в 1997/1998 годах - проссоры UltraSPARC III счастотой 500 МГц 
MicroSPARC-II 
Эффективная с точки зрения стоимости конструкция не может полагаться только на увеличение тактовой частоты. Экономические соображения заставляют принимать решения, основой которых является массовая технология. Системы MicroSPARC обеспечивают высокую производительность при умеренной тактовой частоте путем оптимизации среднего количества команд, выполняемых за один такт. Это ставит вопросы эффективного управления конвейером и иерархией памяти. Среднее время обращения к памяти должно сокращаться, либо должно возрастать среднее количество команд, выдаваемых для выполнения в каждом такте, увеличивая производительность на основе компромиссов в конструкции процессора 
MicroSPARC-II является одним из сравнительно недавно появившихся процессоров семейства SPARC. Основное его назначение - однопроцессорные низко-стоимостные системы. Он представляет собой высокоинтегрированную микросхему, содержащую целочисленное, устройство управления памятью, устройство плавающей точки, раздельную кэш-память команд и данных, контроллер управления микросхемами динамической памяти и контроллер шины SBus 
Основными свойствами целочисленного устройства microSPARC-II являются: 
o	пятиступенчатый конвейер команд; 
o	предварительная обработка команд переходов; 
o	поддержка потокового режима работы кэш-памяти команд и данных; 
o	регистровый файл емкостью 136 регистров (8 регистровых окон); 
o	интерфейс с устройством плавающей точки; 
o	предварительная выборка команд с очередью на четыре команды. 
Целочисленное устройство использует пятиступенчатый конвейер команд с одновременным запуском до двух команд. Устройство плавающей точки обеспечивает выполнение операций в соответствии со стандартом IEEE 754 
Устройство управления памятью выполняет четыре основных функции. Во-первых, оно обеспечивает формирование и преобразование виртуального адреса в физический. Эта функция реализуется с помощью ассоциативного буфера TLB. Кроме того, устройство управления памятью реализует механизмы защиты памяти. И, наконец, оно выполняет арбитраж обращений к памяти со стороны ввода/вывода, кэша данных, кэша команд и TLB 
Процессор microSPARC II имеет 64-битовую шину данных для связи с памятью и поддерживает оперативную память емкостью до 256 Мбайт. В процессоре интегрирован контроллер шины SBus, обеспечивающий эффективную с точки зрения стоимости реализацию ввода/вывода 
Hyper SPARC 
Разработчики микропроцессора HyperSPARC одной из своих главных задач поставили перед собой повышение производительности, особенно при выполнении операций с плавающей точкой. Поэтому особое внимание разработчиков было уделено созданию простых и сбалансированных шестиступенчатых конвейеров целочисленной арифметики и плавающей точки. Логические схемы этих конвейеров тщательно разрабатывались, количество логических уровней вентилей между ступенями выравнивалось, чтобы упростить вопросы дальнейшего повышения тактовой частоты 
Производительность процессоров hyperSPARC может меняться независимо от скорости работы внешней шины (M-Bus). Набор кристаллов hyperSPARC обеспечивает как синхронные, так и асинхронные операции с помощью специальной логики кристалла RT625 
Отделение внутренней шины процессора от внешней шины позволяет увеличивать тактовую частоту процессора независимо от частоты работы подсистем памяти и ввода/вывода. Это обеспечивает более жизненный длительный цикл, поскольку переход на более производительные модули hyperSPARC не требует переделки всей системы 
  
В состав процессора hyperSPARC входит суперскалярная конвейерная часть и тесно связанная с ней кэш-память второго уровня. В набор кристаллов входят RT620 (CPU) - центральный процессор, RT625 (CMTU) - контроллер кэш-памяти, устройство управления памятью и устройство тегов и четыре RT627 (CDU) кэш-память данных для реализации кэш-памяти второго уровня емкостью 256 Кбайт. RT625 обеспечивает также интерфейс с M-Bus. Центральный процессор RT620 состоит из целочисленного устройства, устройства с плавающей точкой, устройства загрузки/записи, устройства переходов и двухканальной множественно-ассоциативной памяти команд емкостью 8 Кбайт. Целочисленное устройство включает АЛУ и отдельный тракт данных для операций загрузки/записи, которые представляют собой два из четырех исполнительных устройств процессора 
Устройство переходов обрабатывает команды передачи управления, а устройство плавающей точки, реально состоит из двух независимых конвейеров - сложения и умножения чисел с плавающей точкой. Для увеличения пропускной способности процессора команды плавающей точки, проходя через целочисленный конвейер, поступают в очередь, где они ожидают запуска в одном из конвейеров плавающей точки. В каждом такте выбираются две команды. В общем случае, до тех пор, пока эти две команды требуют для своего выполнения различных исполнительных устройств при отсутствии зависимостей по данным, они могут запускаться одновременно. RT620 содержит два регистровых файла: 136 целочисленных регистров, сконфигурированных в виде восьми регистровых окон, и 32 отдельных регистра плавающей точки, расположенных в устройстве плавающей точки 
На базе RT625 CMTU строится кэш-память второго уровня в процессоре hyperSPARC, который представляет собой комбинированный кристалл, включающий контроллер кэш-памяти и устройство управления памятью, которое поддерживает разделяемую внешнюю память и симметричную многопроцессорную обработку. Контроллер кэш-памяти поддерживает кэш емкостью 256 Кбайт, состоящий из четырех RT627 CDU. Кэш-память имеет прямое отображение и 4К тегов 
Теги в кэш-памяти содержат физические адреса, поэтому логические схемы для соблюдения когерентности кэш-памяти в многопроцессорной системе, имеющиеся в RT625, могут быстро определить попадания или промахи при просмотре со стороны внешней шины без приостановки обращений к кэш-памяти со стороны центрального процессора. Поддерживается как режим сквозной записи, так и режим обратного копирования. Устройство управления памятью содержит в своем составе полностью ассоциативную кэш-память преобразования виртуальных адресов в физические (TLB), состоящую из 64 строк, которая поддерживает 4096 контекстов. RT625 содержит буфер чтения емкостью 32 байта, используемый для загрузки, и буфер записи емкостью 64 байта, используемый для разгрузки кэш-памяти второго уровня. Размер строки кэш-памяти составляет 32 байта. Кроме того, в RT625 имеются логические схемы синхронизации, которые обеспечивают интерфейс между внутренней шиной процессора и SPARC MBus при выполнении асинхронных операций 
Для удовлетворения требований hyperSPARC специально разработали RT627 представляет собой статическую память 16К. Она организована как четырехканальная статическая память в виде четырех массивов с логикой побайтной записи и входными и выходными регистрами-защелками. RT627 для ЦП является кэш-памятью с нулевым состоянием ожидания без потерь (т.е. приостановок) на конвейеризацию для всех операций загрузки и записи, которые попадают в кэш-память. RT627 был разработан специально для процессора hyperSPARC, таким образом, для соединения с RT620 и RT625 не нужны никакие дополнительные схемы. Набор кристаллов позволяет использовать преимущества тесной связи процессора с кэш-памятью 
Конструкция RT620 допускает потерю одного такта в случае промаха в кэш-памяти первого уровня. Для доступа к кэш-памяти второго уровня в RT620 отведена специальная ступень конвейера. Если происходит промах в кэш-памяти первого уровня, а в кэш-памяти второго уровня имеет место попадание, то центральный процессор не останавливается. Команды загрузки и записи одновременно генерируют два обращения: одно к кэш-памяти команд первого уровня емкостью 8 Кбайт и другое к кэш-памяти второго уровня. Если адрес команды найден в кэш-памяти первого уровня, то обращение к кэш-памяти второго уровня отменяется и команда становится доступной на стадии декодирования конвейера. Если же во внутренней кэш-памяти произошел промах, а в кэш-памяти второго уровня обнаружено попадание, то команда станет доступной с потерей одного такта, который встроен в конвейер 
Такая возможность позволяет конвейеру продолжать непрерывную работу до тех пор, пока имеют место попадания в кэш-память либо первого, либо второго уровня, которые составляют 90% и 98% соответственно для типовых прикладных задач рабочей станции. С целью достижения архитектурного баланса и упрощения обработки исключительных ситуаций целочисленный конвейер и конвейер плавающей точки имеют по пять стадий выполнения операций. Такая конструкция позволяет RT620 обеспечить максимальную пропускную способность, не достижимую в противном случае