SPARC
SPARC (Scalable Processor ARChitecture — масштабируемая архитектура процессора) — архитектура RISC-микропроцессоров, первоначально разработанная в 1985 году компанией Sun Microsystems.
SPARC | |
---|---|
| |
Разработчик | Sun Microsystems |
Разрядность | 64-bit (32 → 64) |
Представлена | 1985 |
Версии | V9 (1993) |
Архитектура | RISC |
Тип | Регистр-Регистр |
Кодирование СК | фиксированное |
Реализация переходов | Флаги условий |
Порядок байтов | Bi (Big → Bi) |
Размер страницы | 8 KiB |
Расширения | VIS 1.0, 2.0, 3.0 |
Открытая? | Yes |
Регистры | |
Общего назначения | 31 (G0 = константа ноль; не глобальные регистры используют регистровые окна) |
Вещественные | 32 |
Медиафайлы на Викискладе |
Архитектура SPARC является открытой. Это значит, что:
- Архитектура системы команд SPARC опубликована как стандарт IEEE 1754—1994;
- Спецификации SPARC доступны по лицензии любой компании или частному лицу и дают возможность разрабатывать свои собственные решения;
- Развитием архитектуры SPARC занимается независимая некоммерческая организация SPARC International, Inc., основанная в 1989 году. Членство в SPARC International открыто для всех желающих.
Для производства процессоров с архитектурой SPARC достаточно закупить у SPARC International лицензию на архитектуру системы команд (99 $) и разработать свою реализацию архитектуры либо закупить готовую реализацию (что несколько дороже).
Существовало три основные ревизии архитектуры SPARC: версии 7, 8 и 9[1]. Иногда UltraSPARC серии T выделяются как отдельные архитектуры UltraSPARC Architecture 2005 и 2007[2].
Версия 8 архитектуры SPARC описывает 32-разрядный микропроцессор, тогда как версия 9 — 64-разрядный.
Архитектура SPARCv7
Примерно в 1983—1986 годах в Sun разрабатывался проект «Sunrise». Изначально в рамках проекта создавался сопроцессор для обработки чисел с плавающей запятой для систем на базе процессоров 680x0. Затем было принято решение доработать его до процессора общего назначения, были добавлены чип целочисленного устройства, чипы MMU, ввода-вывода, контроллер памяти. Создание микропроцессорного комплекта было закончено в 1986 году. Перед выпуском в 1987 году первых рабочих станций (Sun 4) с его использованием, проект был переименован в SPARC. Архитектура в значительной степени была основана на проектах Berkeley RISC-I и RISC-II[3]; основные отличия от MIPS (Stanford) заключались в регистровом окне и конвейере. При проектировании SunRise в качестве консультанта привлекался профессор Дэвид Паттерсон[4][5]
Позже данная версия архитектуры получила номер SPARC v7 и стала первой публичной версией SPARC.
ISA Sparc v7 (по реализации ERC32).
Краткое описание: Mark Smotherman Clemson University, A Programmer’s View of the SPARC Architecture (Version 7)
Архитектура SPARCv8
Архитектура SPARCv8 описана в книге: The SPARC architecture manual: version 8 (англ.). — Енглвуд-Клиффс: Prentice Hall SPARC International, Inc., 1992. — 316 p. — ISBN 0-13-825001-4.
Архитектура SPARCv9
Архитектура SPARCv9 описана в книге: David L. Weaver, Tom Germond. The SPARC architecture manual: version 9 (англ.). — PTR: Prentice Hall SPARC International, Inc., 1994. — 357 p. — ISBN 0-13-099227-5.
Реализации архитектуры
Реализации SPARCv8
Характеристики микропроцессоров SPARC
Данная таблица содержит спецификации на некоторые процессоры SPARC: Тактовая частота (МГц), версия архитектуры, год выпуска, количество потоков (потоков на ядро умноженных на количество ядер), технологический процесс (микрометров), количество транзисторов (миллионов), площадь кристалла (кв. мм.), количество контактов, потребляемая мощность (Ватт), напряжение питания, и размеры кэшей данных, инструкций, а также L2 и L3 (Килобайт).
Название | Модель | Частота, (МГц) |
Версия архитектуры | Год | Всего потоков[lower-alpha 1] | Техн. процесс, (µm) |
Транзисторов, (млн.) |
Площадь кристалла, (мм²) |
Кол-во контактов | Потребляемая мощность, (Вт) |
Напряжение питания, (В) |
L1 D-кэш, (Кб) |
L1 I-кэш, (Кб) |
L2 кэш, (Кб) |
L3 кэш, (Кб) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPARC | (различные)[lower-alpha 2]. | 14.28—40 | V7 | 1987-1992 | 1×1=1 | 0.8—1.3 | ~0.1—1.8 | -- | 160—256 | -- | -- | 0—128 (unified) | none | none | |
MB86900 | 16.67 | V7 | 1987 | 1×1=1 | 1.2 | -- | -- | -- | -- | -- | -- | -- | -- | -- | |
microSPARC I (Tsunami) | TI TMS390S10 | 40—50 | V8 | 1992 | 1×1=1 | 0.8 | 0.8 | 225? | 288 | 2.5 | 5 | 2 | 4 | none | none |
SuperSPARC I (Viking) | TI TMX390Z50 / Sun STP1020 | 33—60 | V8 | 1992 | 1×1=1 | 0.8 | 3.1 | -- | 293 | 14.3 | 5 | 16 | 20 | 0-2048 | none |
SPARClite | Fujitsu MB8683x | 66—108 | V8E | 1992 | 1×1=1 | -- | -- | -- | 144—176 | -- | 2.5/3.3V | 1—16 | 1—16 | none | none |
hyperSPARC (Colorado 1) | Ross RT620A | 40—90 | V8 | 1993 | 1×1=1 | 0.5 | 1.5 | -- | -- | -- | 5? | 0 | 8 | 128-256 | none |
microSPARC II (Swift) | Fujitsu MB86904 / Sun STP1012 | 60—125 | V8 | 1994 | 1×1=1 | 0.5 | 2.3 | 233 | 321 | 5 | 3.3 | 8 | 16 | none | none |
hyperSPARC (Colorado 2) | Ross RT620B | 90—125 | V8 | 1994 | 1×1=1 | 0.4 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 128-256 | none |
SuperSPARC II (Voyager) | Sun STP1021 | 75—90 | V8 | 1994 | 1×1=1 | 0.8 | 3.1 | 299 | -- | 16 | -- | 16 | 20 | 1024-2048 | none |
hyperSPARC (Colorado 3) | Ross RT620C | 125—166 | V8 | 1995 | 1×1=1 | 0.35 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 512-1024 | none |
TurboSPARC | Fujitsu MB86907 | 160—180 | V8 | 1995 | 1×1=1 | 0.35 | 3.0 | 132 | 416 | 7 | 3.5 | 16 | 16 | 512 | none |
UltraSPARC I (Spitfire) | Sun STP1030 | 143—167 | V9 | 1995 | 1×1=1 | 0.47 | 5.2 | 315 | 521 | 30[lower-alpha 3] | 3.3 | 16 | 16 | 512-1024 | none |
UltraSPARC I (Hornet) | Sun STP1030 | 200 | V9 | 1998 | 1×1=1 | 0.42 | 5.2 | 265 | 521 | -- | 3.3 | 16 | 16 | 512-1024 | none |
hyperSPARC (Colorado 4) | Ross RT620D | 180—200 | V8 | 1996 | 1×1=1 | 0.35 | 1.7 | -- | -- | -- | 3.3 | 16 | 16 | 512 | none |
SPARC64 | Fujitsu (HAL) | 101—118 | V9 | 1995 | 1×1=1 | 0.4 | -- | 297+163+142 | 286 | 50 | 3.8 | 128 | 128 | -- | -- |
SPARC64 II | Fujitsu (HAL) | 141—161 | V9 | 1996 | 1×1=1 | 0.35 | -- | 202+103+84 | 286 | 64 | 3.3 | 128 | 128 | -- | -- |
SPARC64 III | Fujitsu (HAL) MBCS70301 | 250—330 | V9 | 1998 | 1×1=1 | 0.24 | 17.6 | 240 | -- | -- | 2.5 | 64 | 64 | 8192 | -- |
UltraSPARC IIs (Blackbird) | Sun STP1031 | 250—400 | V9 | 1997 | 1×1=1 | 0.35 | 5.4 | 149 | 521 | 25[lower-alpha 4] | 2.5 | 16 | 16 | 1024 or 4096 | none |
UltraSPARC IIs (Sapphire-Black) | Sun STP1032 / STP1034 | 360—480 | V9 | 1999 | 1×1=1 | 0.25 | 5.4 | 126 | 521 | 21[lower-alpha 5] | 1.9 | 16 | 16 | 1024—8192 | none |
UltraSPARC IIi (Sabre) | Sun SME1040 | 270—360 | V9 | 1997 | 1×1=1 | 0.35 | 5.4 | 156 | 587 | 21 | 1.9 | 16 | 16 | 256—2048 | none |
UltraSPARC IIi (Sapphire-Red) | Sun SME1430 | 333—480 | V9 | 1998 | 1×1=1 | 0.25 | 5.4 | -- | 587 | 21[lower-alpha 6] | 1.9 | 16 | 16 | 2048 | none |
UltraSPARC IIe (Hummingbird) | Sun SME1701 | 400—500 | V9 | 2000 | 1×1=1 | 0.18 Al | -- | -- | 370 | 13[lower-alpha 7] | 1.5-1.7 | 16 | 16 | 256 | none |
UltraSPARC IIi (IIe+) (Phantom) | -- | 550—650 | V9 | 2002 | 1×1=1 | 0.18 Cu | -- | -- | 370 | 17.6 | 1.7 | 16 | 16 | 512 | none |
SPARC64 GP | Fujitsu SFCB81147 | 400—810 | V9 | 2000 | 1×1=1 | 0.18 | 30.2 | 217 | -- | -- | 1.8 | 128 | 128 | 8192 | -- |
SPARC64 IV | Fujitsu MBCS80523 | 450—810 | V9 | 2000 | 1×1=1 | 0.13 | -- | -- | -- | -- | -- | 128 | 128 | 2048 | -- |
UltraSPARC III (Cheetah) | Sun SME1050 | 600 | V9 | 2001 | 1×1=1 | 0.18 Al | 29 | 330 | 1368 | 53 | 1.6 | 64 | 32 | 8192 | none |
UltraSPARC III (Cheetah) | Sun SME1052 | 750—900 | V9 | 2001 | 1×1=1 | 0.13 Al | 29 | -- | 1368 | -- | 1.6 | 64 | 32 | 8192 | none |
UltraSPARC III Cu (Cheetah+) | Sun SME1056 | 1002—1200 | V9 | 2001 | 1×1=1 | 0.13 Cu | 29 | 232 | 1368 | 80[lower-alpha 8] | 1.6 | 64 | 32 | 8192 | none |
UltraSPARC IIIi (Jalapeno) | Sun SME1603 | 1064—1593 | V9 | 2003 | 1×1=1 | 0.13 | 87.5 | 206 | 959 | 52 | 1.3 | 64 | 32 | 1024 | none |
SPARC64 V (Zeus) | Fujitsu | 1100—1350 | V9/JPS1 | 2003 | 1×1=1 | 0.13 | 190 | 289 | 269 | 40 | 1.2 | 128 | 128 | 2048 | -- |
SPARC64 V+ (Olympus-B) | Fujitsu | 1650—2160 | V9/JPS1 | 2004 | 1×1=1 | 0.09 | 400 | 297 | 279 | 65 | 1 | 128 | 128 | 4096 | -- |
UltraSPARC IV (Jaguar) | Sun SME1167 | 1050—1350 | V9 | 2004 | 1×2=2 | 0.13 | 66 | 356 | 1368 | 108 | 1.35 | 64 | 32 | 16384 | none |
UltraSPARC IV+ (Panther) | Sun SME1167A | 1500—2100 | V9 | 2005 | 1×2=2 | 0.09 | 295 | 336 | 1368 | 90 | 1.1 | 64 | 64 | 2048 | 32768 |
UltraSPARC T1 (Niagara) | Sun SME1905 | 1000—1400 | V9 / UA 2005 | 2005 | 4×8=32 | 0.09 | 300 | 340 | 1933 | 72 | 1.3 | 8 | 16 | 3072 | none |
SPARC64 VI (Olympus-C) | Fujitsu | 2150—2400 | V9/JPS2 | 2007 | 2×2=4 | 0.09 | 540 | 422 | -- | 120 | -- | 128 | 128 | 5120 | none |
UltraSPARC T2 (Niagara 2) | Sun SME1908A | 1000—1400 | V9 / UA 2007 | 2007 | 8×8=64 | 0.065 | 503 | 342 | 1831 | 95 | 1.1—1.5 | 8 | 16 | 4096 | none |
UltraSPARC T2 Plus (Victoria Falls) | Sun SME1910A | 1200—1600 | V9 / UA 2007 | 2008 | 8×8=64 | 0.065 | 503 | 342 | 1831 | — | — | 8 | 16 | 4096 | none |
UltraSPARC T2 | Sun T5240 | 1200-1600 | V9 / UA 2007 | 2008 | ? | ? | ? | 58.45 | — | ? | — | — | — | — | none |
SPARC64 VII (Jupiter) | Fujitsu | 2400—2880 | V9/JPS2(?) | 2008 | 2×4=8 | 0.065 | 600 | 445 | -- | 135 | -- | 64 | 64 | 6144 | none |
UltraSPARC RK (Rock) | Sun SME1832 | 2300 | V9 / UA__?__ | 2009 | 2×16=32 | 0.065 | ? | 396 | 2326 | ? | ? | 32 | 32 + 8 predecoded bits | 2048 | ? |
SPARC64 VIIIfx (Venus) | ? | ? | V9 | TBA | 8 ядер | 0.045 | ? | ? | ? | ? | ? | ? | 32 | 5120 | ? |
SPARC T3 (Rainbow Falls) | Oracle | 1650 | V9 | 2010 | 8x16=128 | 0.040 | ? | ? | ? | ? | ? | ? | ? | 6144 | ? |
R1000[8] (1891ВМ6Я) | МЦСТ | 1000 | V9/JPS1 | 2011 | 4 ядра | 0.090 | 180 | 128 | 1156 | 20 (14[9]) | 1.0, 1.8, 2.5 | 32 | 16 | 2048 | нет |
Название | Модель | Частота, (МГц) |
Версия архитектуры | Год | Всего потоков[lower-alpha 1] | Техн. процесс, (µm) |
Транзисторов, (млн.) |
Площадь кристалла, (мм²) |
Кол-во контактов | Потребляемая мощность, (Вт) |
Напряжение питания, (В) |
L1 D-кэш, (Кб) |
L1 I-кэш, (Кб) |
L2 кэш, (Кб) |
L3 кэш, (Кб) |
Операционные системы, работающие на SPARC
В 1993 году компания Intergraph предприняла попытку портировать Windows NT на архитектуру SPARC, но позже проект был отменён.
29 апреля 2014 года было опубликовано сообщение, что поддержка архитектуры SPARC удалена из на тот момент тестируемой ветки Debian — 8.0. Возможно, она будет удалена и из unstable ветки[10].
Реализации с открытым кодом
- LEON, 32-битная однопоточная реализация SPARC V8, разработанная исключительно для использования в космосе. Исходный код написан на VHDL и лицензирован под GPL.
- OpenSPARC T1, выпущенная в 2006, 64-битная, 32-поточная реализация, удовлетворяющая UltraSPARC Architecture 2005 и SPARC V9. Исходный код написан на Verilog и лицензирован под разными лицензиями.
- OpenSPARC T2, выпущенная в 2008, 64-битная, 64-поточная реализация, удовлетворяющая UltraSPARC Architecture 2007 и SPARC V9. Исходный код написан на Verilog и лицензирован под разными лицензиями.
Суперкомпьютеры
По состоянию на июнь 2011 самым быстрым суперкомпьютером в рейтинге TOP500 признан «K computer» компании Fujitsu, он собран из 68 544 восьмиядерных процессоров SPARC64 VIIIfx и его мощность составляет 8,16 Пфлопс, пиковая — 8,77 Пфлопс. Интересно, что построение этой машины в таком варианте ещё не было завершено. Так в ноябре 2011 года K Computer был достроен и количество процессоров достигло 88 128, а производительность системы на тесте Linpack достигла 10,51 Пфлопс. Таким образом, «K computer» стал первым в истории суперкомпьютером, преодолевшим рубеж в 10 Пфлопс. Пиковое быстродействие комплекса достигает 11,28 квадриллиона операций с плавающей запятой в секунду.
По состоянию на июль 2009, только один суперкомпьютер на процессорах SPARC включён в список самых быстрых компьютеров TOP500. Находящийся на 28 месте суперкомпьютер Fujitsu FX1 использует четырёхъядерные микропроцессоры SPARC64 VII 2,52 ГГц и имеет производительность 121 282 GFLOPS. Он установлен в Японском агентстве аэрокосмических исследований. В ноябре 2002 года микропроцессоры SPARC использовались в 88 из 500 (17,60 %)[11] самых мощных компьютеров, однако с тех пор потеряли популярность, будучи заменены на процессоры от IBM, Intel и AMD.
См. также
Примечания
- Комментарии
- Потоков на ядро × количество ядер
- Различные реализации SPARC V7 производились Fujitsu, LSI Logic, Weitek, Texas Instruments и Cypress. SPARC V7 процессор первоначально состоял из нескольких отдельных микросхем, обычно включавших в себя устройство для выполнения операций с целым числами(IU), устройство для выполнения операций с плавающей точкой (FPU), устройство управления виртуальной памятью (MMU) и кэш-память
- @167 MHz
- @250 MHz
- @400 MHz
- @440 MHz
- max@500 MHz
- @900 MHz
- Источники
- Suryakant Bhandare. Презентация (.pptx). eng.auburn.edu (27 сентября 2007). Дата обращения: 27 февраля 2022.
- Overview of OpenSPARC Resources
- Andrew Shell Waterman. Design of the RISC-V Instruction Set Architecture. «SPARC architecture, originally developed by Sun Microsystems, traces its lineage to the Berkeley RISC-I and RISC-II projects [78, 56]» . people.eecs.berkeley.edu (3 января 2016). Дата обращения: 27 февраля 2022.
- David Weaver, Introduction to UltraSPARC Architecture (недоступная ссылка) // June 2009 slide 3,5-8
- SPARC Timeline Архивировано 22 февраля 2012 года. // SPARC International 1984
- Aeroflex Gaisler
- Overview of OpenSPARC Resources
- Микропроцессор МЦСТ R1000 . МЦСТ.
- Разработка экономичной версии микропроцессора с архитектурой SPARC и унифицированных электронных модулей на его основе (недоступная ссылка) (16 августа 2013). Архивировано 23 марта 2014 года.
- Michael Larabel. Debian Drops Support For SPARC . phoronix.com (29 апреля 2014). Дата обращения: 27 февраля 2022.
- Processor Family share for 11/2002 | TOP500 Supercomputing Sites Архивировано 24 апреля 2009 года.
Ссылки
- SunSource.net
- SPARC International, Inc.
- SPARC-HOWTO
- Владимир Парамонов. Sun открывает новую информацию о процессоре UltraSparc T1 . Компьюлента (18 августа 2006). Дата обращения: 27 февраля 2022. Архивировано 18 августа 2007 года.
- FX1 Key Features & Specifications
- A Third-Generation 65nm 16-Core 32-Thread Plus 32-Scout-Thread CMT SPARC(R) Processor
- Technical SPARC CPU Resources