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
Реализации SPARCv9
Характеристики микропроцессоров SPARC
Этот раздел не завершён. |
Данная таблица содержит спецификации на некоторые процессоры SPARC: тактовую частоту (МГц), версию архитектуры, год выпуска, количество потоков (потоков на ядро, умноженных на количество ядер), технологический процесс (микрометров), количество транзисторов (миллионов), площадь кристалла (кв. мм), количество контактов, потребляемую мощность (ватт), напряжение питания и размеры кэшей данных, инструкций, а также L2 и L3 (килобайт).
Название | Модель | Частота, (МГц) |
Версия архитектуры | Год | Всего потоков[a] | Техн. процесс, (µm) |
Транзисторов, (млн) |
Площадь кристалла, (мм²) |
Кол-во контактов | Потребляемая мощность, (Вт) |
Напряжение питания, (В) |
L1 D-кэш, (Кб) |
L1 I-кэш, (Кб) |
L2 кэш, (Кб) |
L3 кэш, (Кб) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPARC | (различные)[b]. | 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,3 | 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[c] | 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[d] | 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[e] | 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[f] | 1,9 | 16 | 16 | 2048 | none |
UltraSPARC IIe (Hummingbird) | Sun SME1701 | 400—500 | V9 | 2000 | 1×1=1 | 0,18 Al | -- | -- | 370 | 13[g] | 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[h] | 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 | нет |
Название | Модель | Частота, (МГц) |
Версия архитектуры | Год | Всего потоков[a] | Техн. процесс, (µ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.
См. также
Примечания
Ссылки
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.