From Wikipedia, the free encyclopedia
SPARC (на английски: Scalable Processor Architecture, SPARC) – е РИСК архитектура, разработена през 1985 година от Sun Microsystems.
Тази статия се нуждае от вниманието на редактор с по-задълбочени познания. Ако смятате, че имате необходимите знания, подобрете тази страница. |
Тази статия се нуждае от подобрение. Необходимо е: проверка на превода. Ако желаете да помогнете на Уикипедия, използвайте опцията редактиране в горното меню над статията, за да нанесете нужните корекции. |
„SPARC“ е регистрирана търговска марка на „SPARC International, Inc.“, организация основана през 1989 г., за да представи „SPARC“ архитектурата, да отговаря за търговската марка „SPARC“ и да извършва изпитателни тестове. Оригиналната 32-битова „SPARC“ архитектура първоначално била конструирана и използвана в „Sun-4“ работна станция и сървърна система, заменила предишната „Sun-3“ система, базирана на процесорите от серия „Motorola 68000“. По-късно „SPARC“ процесорите били използвани в „SMP“ и „CC-NUMA“ сървъри, произведени от „Sun“, „Solbourne“, „Fujitsu“ и други компании, и впоследствие проектирани за 64-битови системи.
„SPARC International“ е създадена с цел „SPARC“ архитектурата да се разработва като „свободен хардуер“, да се привлекат повече производители, които да съдействат за дизайна на архитектурата. Право за извършване на такава дейност е било дадено на няколко компании, измежду които „Texas Instruments“, „Atmel“, „Cypress Semiconductor“ и „Fujitsu“. Като резултат от дейността на SPARC International, SPARC архитектурата придобива статут на непатентован „свободен хардуер“, с право на имплементиране без заплащане на роялти.
През март 2006 г., Sun Microsystems оповестяват като „свободен хардуер“ цялостния дизайн и техническа спецификация на техния микропроцесор UltraSPARC T1 под името OpenSPARC T1. През 2007 г. е публикувана като „свободен хардуер“ и техническата спецификация на следващия модел от серията микропроцесори, UltraSPARC T2, под името OpenSPARC T2. Публикацията включва не само дизайнерския изходен код на процесорите, но и инструменти за симулация, изходен код за монитори на виртуални машини и други полезни инструменти.
Най-актуални варианти на СПАРК процесорите са следните модели произведени от „Fujitsu“: 34-ядрения SPARC64 XIfx (2.2 GHz, 1.1 терафлопс) лансиран през 2015 г. и използван в суперкомпютъра PRIMEHPC FX100; 16-ядрения SPARC64 X+ (3.2 GHz), произведен през 2014 г. През 2015 г. е произведен и 32-ядрения SPARC M7 (4.133 GHz) от Оракъл Корпорация.
SPARC архитектурата бива силно повлияна от процесорните дизайни RISC(I и II). Първоначалните RISC дизайни са включвали колкото може по-малко характеристики, с цел да изпълняват инструкции със скорост една инструкция за тактов сигнал. Това ги прави много сходни с MIPS архитектурата, като например липсата на инструкции за умножение и деление.
SPARC процесорите обикновено съдържат 160 регистъра за общо предназначение. Само 32 регистъра обаче са видими за софтуера – 8 от тях се използват за глобални регистри, а другите 24 образуват стек от регистри. Тези 24 регистри образуват така нарачения ‘’прозорец от регистри’’, който при операции на извикване и връщане се движи по стека от регистри. Всеки прозорец има 8 локални и 8 съседни регистри. Съседните регистри се използват за подаване на параметри и връщане на стойности. Локалните регистри се използват за запазване на локални стойности, докато има извикване на функции.
От името СПАРК (на английски: SPARC) буквата S е съкращение от Scalable (бълг. „мащабируем“). Това е така, защото SPARC спецификацията позволява имплементация, както на малки вградени процесори, така и на големи сървърни процесори, всички споделящи едно и също ядро с набор от инструкции. Един от архитектурните параметри, който може да намалява или да се увеличава, е броят на „прозорците от регистри“. Този брой може да варира от 3 до 32. Например при избор на 32 броя, ще се получи максимална ефективност на стека, а при избор на 3 броя ще се намали, както цената, така и сложността на дизайна.
Архитектурата е преминала през множество видоизменения. Във версия 8 са имплементирани инструкции за умножение и деление. През 1994 година е публикувана 64-битовата архитектура (за адреси и данни) към версия 9 на SPARC спецификацията.
При „SPARC версия 8“, регистрационния файл за плаваща запетая придобива 16 регистри за двойна точност. Всеки от тях може да бъде използван като регистър с два единично-прецизни регистри, осигуряващ 32 регистри с единична точност. Една двойка от четно-нечетни числа от двойно-прецизен регистър може да се използва като четири-ядрен регистър за прецизност, като по този начин позволява 8 регистри с четвъртична точност. „SPARC версия 9“ добавя още 16 регистри с двойна точност (които също могат да бъдат достъпни като 8 регистри с четвъртична точност), такива регистри обаче не могат да бъдат достъпни, както от единично-прецизните регистри. От 2004 година нито един SPARC процесор не изпълнява операции с четворна точност.
Характерна е употребата на тагове (маркери) при инструкциите за умножение и деление, като по този начин се проверява дали крайните битове на двете операнди са нула. Ако това условие е неистина, докладва се „препълване на стека“. Това е от полза при имплементирането на ML, Lisp и други подобни езици, които могат да използват формат за маркиране на числа.
Порядъкът на една 32-битовата „SPARC V8“ архитектура е от тип „big-endian“ (от старши към младши). В 64-битовата „SPARC V9“ архитектурата са имплементирани също инструкции от тип „big-endian“, но при достъпа до паметта може да се приложи както „big-endian“, така и „little-endian“ (от младши към старши) формат.
SPARC архитектурата е изградена на основата на три версии. Първата публикувана версия е 32-битовата „SPARC Version 7 (V7)“, през 1986 година. „SPARC Версия 8 (V8)“, подобрена характеристика на SPARC за изграждането на компютърните системи, е издадена през 1990 г. Основните разлики между „V7“ и „V8“ са добавянето на инструкции за умножение и деление, промяна на точността на аритметиката с плаваща запетая от 80-битова към 128-битова точност. „SPARC V8“ служи като основа за „IEEE Standard 1754 – 1994“, IEEE стандарт за 32-битова микропроцесорна архитектура.
„SPARC Версия 9 (V9)“, 64-битова версия на SPARC архитектурата, е публикувана от SPARC International през 1993 г. Тя е разработена от Комитета за изграждане на компютърни системи SPARC, състоящ се от Amdahl Corporation, Fujitsu, ICL, LSI Logic, Matsushita, Philips, Ross Technology, Sun Microsystems и Texas Instruments. Всички последващи спецификации на SPARC архитектурата се придържат към основната спецификация на „SPARC V9“ („SPARC V9 Level 1“).
През 2002 г. е издадена съвместно разработената от Fujitsu и Sun „SPARC Joint Programming Specification 1“ (JPS1), която описва процесорни функции, имплементирани в процесорите и на двете компании. Първите процесори, съответстващи на JPS1 били UltraSPARC III от Sun и SPARC64 V от Fujitsu. Функционалности, които не покриват JPS1 са документирани за всеки процесор в „Implementation Supplements“ – добавки и изпълнения.
В края на 2003 г. е реализиран JPS2 – за многоядрени процесори. Първите процесори, съответстващи на JPS2 били UltraSPARC IV от Sun и SPARC64 VI от Fujitsu.
В началото на 2006, Sun лансират разширена спецификация за изграждане на компютърните системи – „UltraSPARC Architecture 2005“. Тя включва не само не-привилегировани и повечето от привилегированите части на „SPARC V9“, но и всички изграждащи ги разширения, разработени чрез производството на процесорите UltraSPARC III, IV, IV +, както и разширения „СMT“ започващи с изпълнението на UltraSPARC T1:
През 2007 г. Sun лансират актуализирана спецификация, „UltraSPARC Architecture 2007“, на чиято основа е изграден UltraSPARC T2 микропроцесора.
През Август, 2012 г., Oracle Corporation издават нова спецификация, „Oracle SPARC Architecture 2011“, която освен цялостна актуализация добавя VIS 3 набор от инструкции, разширения и „hyperprivileged“ режим към спецификацията от 2007 г.
През октомври 2015 г., Oracle лансират „SPARC M7“ – първият процесор базиран на новата „Oracle SPARC Architecture 2015“ спецификация. Тази версия включва VIS 4 набор от инструкции и разширения.
SPARC архитектурата предлага непрекъсната приложимост на двоичната съвместимост от първия „SPARC V7“ до „SUN UltraSPARC Architecture“.
Сред различните имплементации на SPARC, SUPERSPARC и UltraSPARC-I на Sun са най-известни и бяха използвани като референтни системи за SPEC CPU95 и CPU2000. 296 MHz UltraSPARC-II е референтна система за SPEC CPU2006.
Сред компаниите, които са придобили лиценз с право да имплементират SPARC архитектурата и са изградили такива сиситеми, се отличават следните:
Afara Websystems, Bipolar Integrated Technology (BIT), C-Cube, Cypress Semiconductor, Fujitsu and Fujitsu Microelectronics, HAL Computer Systems, Hyundai, LSI Logic, Magnum Semiconductor, Meiko Scientific, Metaflow Technologies, Prisma, Ross Technology, Parsé Semiconductor Co., Scientific Atlanta, Solbourne Computer, Weitek.
Следната таблица съдържа характеристики на някои SPARC процесори: честота (мегахерца), версия на архитектурата, година на производство, брой нишки (брой нишки умножени по броя на ядрата), технология процесор (нанометри), брой транзистори (милиони), размер на полупроводника (квадратни милиметри), брой входно/изходни пинове, разсейвана мощност (ватове), волтаж, размер на кеш-паметта, инструкции, L2 и L3 (kibibytes).
Име | Модел | Честота (MHz) | Версия | Година
на производство |
Брой нишки | Технология
процесор (nm) |
Транзистори (милиони) | Размер
на полупроводника (mm²) |
Брой входно/изходни пинове | Мощност (W) | Волтаж (V) | L1 кеш
(KiB) |
L1 кеш (KiB) | L2 кеш
(KiB) |
L3 кеш
(KiB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPARC | (различни), включително
MB86900 |
14.28 – 40 | V7 | 1987 – 1992 | 1×1=1 | 800 – 1300 | ~0.1 – 1.8 | -- | 160 – 256 | -- | -- | 0 – 128 | -- | -- | |
microSPARC I (Tsunami) | TI TMS390S10 | 40 – 50 | V8 | 1992 | 1×1=1 | 800 | 0.8 | 225? | 288 | 2.5 | 5 | 2 | 4 | -- | -- |
SuperSPARC I (Viking) | TI TMX390Z50 / Sun STP1020 | 33 – 60 | V8 | 1992 | 1×1=1 | 800 | 3.1 | -- | 293 | 14.3 | 5 | 16 | 20 | 0 – 2048 | -- |
SPARClite | Fujitsu MB8683x | 66 – 108 | V8E | 1992 | 1×1=1 | -- | -- | -- | 144, 176 | -- | 2.5/3.3–5.0 V, 2.5 – 3.3 V | 1, 2, 8, 16 | 1, 2, 8, 16 | -- | -- |
hyperSPARC (Colorado 1) | Ross RT620A | 40 – 90 | V8 | 1993 | 1×1=1 | 500 | 1.5 | -- | -- | -- | 5? | 0 | 8 | 128 – 256 | -- |
microSPARC II (Swift) | Fujitsu MB86904 / Sun STP1012 | 60 – 125 | V8 | 1994 | 1×1=1 | 500 | 2.3 | 233 | 321 | 5 | 3.3 | 8 | 16 | - | -- |
hyperSPARC (Colorado 2) | Ross RT620B | 90 – 125 | V8 | 1994 | 1×1=1 | 400 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 128 – 256 | -- |
SuperSPARC II (Voyager) | Sun STP1021 | 75 – 90 | V8 | 1994 | 1×1=1 | 800 | 3.1 | 299 | -- | 16 | -- | 16 | 20 | 1024 – 2048 | -- |
hyperSPARC (Colorado 3) | Ross RT620C | 125 – 166 | V8 | 1995 | 1×1=1 | 350 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 512 – 1024 | -- |
TurboSPARC | Fujitsu MB86907 | 160 – 180 | V8 | 1996 | 1×1=1 | 350 | 3.0 | 132 | 416 | 7 | 3.5 | 16 | 16 | 512 | -- |
UltraSPARC (Spitfire) | Sun STP1030 | 143 – 167 | V9 | 1995 | 1×1=1 | 470 | 3.8 | 315 | 521 | 30 | 3.3 | 16 | 16 | 512 – 1024 | -- |
UltraSPARC (Hornet) | Sun STP1030 | 200 | V9 | 1998 | 1×1=1 | 420 | 5.2 | 265 | 521 | -- | 3.3 | 16 | 16 | 512 – 1024 | -- |
hyperSPARC (Colorado 4) | Ross RT620D | 180 – 200 | V8 | 1996 | 1×1=1 | 350 | 1.7 | -- | -- | -- | 3.3 | 16 | 16 | 512 | -- |
SPARC64 | Fujitsu (HAL) | 101 – 118 | V9 | 1995 | 1×1=1 | 400 | -- | Multichip | 286 | 50 | 3.8 | 128 | 128 | -- | -- |
SPARC64 II | Fujitsu (HAL) | 141 – 161 | V9 | 1996 | 1×1=1 | 350 | -- | Multichip | 286 | 64 | 3.3 | 128 | 128 | -- | -- |
SPARC64 III | Fujitsu (HAL) MBCS70301 | 250 – 330 | V9 | 1998 | 1×1=1 | 240 | 17.6 | 240 | -- | -- | 2.5 | 64 | 64 | 8192 | -- |
UltraSPARC IIs (Blackbird) | Sun STP1031 | 250 – 400 | V9 | 1997 | 1×1=1 | 350 | 5.4 | 149 | 521 | 25 | 2.5 | 16 | 16 | 1024 or 4096 | -- |
UltraSPARC IIs (Sapphire-Black) | Sun STP1032 / STP1034 | 360 – 480 | V9 | 1999 | 1×1=1 | 250 | 5.4 | 126 | 521 | 21 | 1.9 | 16 | 16 | 1024 – 8192 | -- |
UltraSPARC IIi (Sabre) | Sun SME1040 | 270 – 360 | V9 | 1997 | 1×1=1 | 350 | 5.4 | 156 | 587 | 21 | 1.9 | 16 | 16 | 256 – 2048 | -- |
UltraSPARC IIi (Sapphire-Red) | Sun SME1430 | 333 – 480 | V9 | 1998 | 1×1=1 | 250 | 5.4 | -- | 587 | 21 | 1.9 | 16 | 16 | 2048 | -- |
UltraSPARC IIe (Hummingbird) | Sun SME1701 | 400 – 500 | V9 | 1999 | 1×1=1 | 180 Al | -- | -- | 370 | 13 | 1.5 – 1.7 | 16 | 16 | 256 | -- |
UltraSPARC IIi (IIe+) (Phantom) | Sun SME1532 | 550 – 650 | V9 | 2000 | 1×1=1 | 180 Cu | -- | -- | 370 | 17.6 | 1.7 | 16 | 16 | 512 | -- |
SPARC64 GP | Fujitsu SFCB81147 | 400 – 563 | V9 | 2000 | 1×1=1 | 180 | 30.2 | 217 | -- | -- | 1.8 | 128 | 128 | 8192 | -- |
SPARC64 GP | -- | 600 – 810 | V9 | -- | 1×1=1 | 150 | 30.2 | -- | -- | -- | 1.5 | 128 | 128 | 8192 | -- |
SPARC64 IV | Fujitsu MBCS80523 | 450 – 810 | V9 | 2000 | 1×1=1 | 130 | -- | -- | -- | -- | -- | 128 | 128 | 2048 | -- |
UltraSPARC III (Cheetah) | Sun SME1050 | 600 | JPS1 | 2001 | 1×1=1 | 180 Al | 29 | 330 | 1368 | 53 | 1.6 | 64 | 32 | 8192 | -- |
UltraSPARC III (Cheetah) | Sun SME1052 | 750 – 900 | JPS1 | 2001 | 1×1=1 | 130 Al | 29 | -- | 1368 | -- | 1.6 | 64 | 32 | 8192 | -- |
UltraSPARC III Cu (Cheetah+) | Sun SME1056 | 1002 – 1200 | JPS1 | 2001 | 1×1=1 | 130 Cu | 29 | 232 | 1368 | 80 | 1.6 | 64 | 32 | 8192 | -- |
UltraSPARC IIIi (Jalapeño) | Sun SME1603 | 1064 – 1593 | JPS1 | 2003 | 1×1=1 | 130 | 87.5 | 206 | 959 | 52 | 1.3 | 64 | 32 | 1024 | -- |
SPARC64 V (Zeus) | Fujitsu | 1100 – 1350 | JPS1 | 2003 | 1×1=1 | 130 | 190 | 289 | 269 | 40 | 1.2 | 128 | 128 | 2048 | -- |
SPARC64 V+ (Olympus-B) | Fujitsu | 1650 – 2160 | JPS1 | 2004 | 1×1=1 | 90 | 400 | 297 | 279 | 65 | 1 | 128 | 128 | 4096 | -- |
UltraSPARC IV (Jaguar) | Sun SME1167 | 1050 – 1350 | JPS2 | 2004 | 1×2=2 | 130 | 66 | 356 | 1368 | 108 | 1.35 | 64 | 32 | 16384 | -- |
UltraSPARC IV+ (Panther) | Sun SME1167A | 1500 – 2100 | JPS2 | 2005 | 1×2=2 | 90 | 295 | 336 | 1368 | 90 | 1.1 | 64 | 64 | 2048 | 32768 |
UltraSPARC T1 (Niagara) | Sun SME1905 | 1000 – 1400 | UA2005 | 2005 | 4×8=32 | 90 | 300 | 340 | 1933 | 72 | 1.3 | 8 | 16 | 3072 | -- |
SPARC64 VI (Olympus-C) | Fujitsu | 2150 – 2400 | JPS2 | 2007 | 2×2=4 | 90 | 540 | 422 | -- | 120 – 150 | 1.1 | 128×2 | 128×2 | 4096 – 6144 | -- |
UltraSPARC T2 (Niagara 2) | Sun SME1908A | 1000 – 1600 | UA2007 | 2007 | 8×8=64 | 65 | 503 | 342 | 1831 | 95 | 1.1 – 1.5 | 8 | 16 | 4096 | -- |
UltraSPARC T2 Plus (Victoria Falls) | Sun SME1910A | 1200 – 1600 | UA2007 | 2008 | 8×8=64 | 65 | 503 | 342 | 1831 | – | – | 8 | 16 | 4096 | -- |
SPARC64 VII (Jupiter) | Fujitsu | 2400 – 2880 | JPS2 | 2008 | 2×4=8 | 65 | 600 | 445 | -- | 150 | -- | 64×4 | 64×4 | 6144 | -- |
UltraSPARC „RK“ (Rock) | Sun SME1832 | 2300 | ???? | canceled | 2×16=32 | 65 | ? | 396 | 2326 | ? | ? | 32 | 32 | 2048 | ? |
SPARC64 VIIIfx (Venus) | Fujitsu | 2000 | JPS2 / HPC-ACE | 2009 | 1×8=8 | 45 | 760 | 513 | 1271 | 58 | ? | 32×8 | 32×8 | 6144 | -- |
SPARC T3 (Rainbow Falls) | Oracle/Sun | 1650 | UA2007 | 2010 | 8×16=128 | 40 | ???? | 371 | ? | 139 | ? | 8 | 16 | 6144 | -- |
Galaxy FT-1500 | NUDT (China) | 1800 | UA2007? | 201? | 8×16=128 | 40 | ???? | ??? | ? | 65 | ? | 16×16 | 16×16 | 512×16 | 4096 |
SPARC64 VII+ (Jupiter-E or M3) | Fujitsu | 2667 – 3000 | JPS2 | 2010 | 2×4=8 | 65 | - | - | - | 160 | - | 64×4 | 64×4 | 12288 | -- |
LEON4 | Aeroflex Gaisler | 125 – 1500 | V8E | 2010 | 1×1=1 | 32 | - | - | - | ??? | - | ??? | ??? | ??? | ??? |
R1000 | MCST (Russia) | 1000 | JPS2 | 2011 | 1×4=4 | 90 | 180 | 128 | - | 15 | 1, 1.8, 2.5 | 32 | 16 | 2048 | -- |
SPARC T4 (Yosemite Falls) | Oracle | 2850 – 3000 | OSA2011 | 2011 | 8×8=64 | 40 | 855 | 403 | ? | 240 | ? | 16×8 | 16×8 | 128×8 | 4096 |
SPARC64 IXfx | Fujitsu | 1850 | JPS2 / HPC-ACE | 2012 | 1x16=16 | 40 | 1870 | 484 | 1442 | 110 | ? | 32×16 | 32×16 | 12288 | -- |
SPARC64 X (Athena) | Fujitsu | 2800 | OSA2011 / HPC-ACE | 2012 | 2×16=32 | 28 | 2950 | 587.5 | 1500 | 270 | ? | 64×16 | 64×16 | 24576 | -- |
SPARC T5 | Oracle | 3600 | OSA2011 | 2013 | 8×16=128 | 28 | 1500 | 478 | ? | ? | ? | 16×16 | 16×16 | 128×16 | 8192 |
SPARC M5 | Oracle | 3600 | OSA2011 | 2013 | 8×6=48 | 28 | 3900 | ? | ? | ? | ? | 16×6 | 16×6 | 128×6 | 49152 |
SPARC M6 | Oracle | 3600 | OSA2011 | 2013 | 8×12=96 | 28 | ? | ? | ? | ? | ? | 16×12 | 16×12 | 128×12 | 49152 |
SPARC64 X+ (Athena+) | Fujitsu | 3200 – 3700 | OSA2011 / HPC-ACE | 2014 | 2×16=32 | 28 | 2990 | 600 | 1500 | 392 | ? | 64×16 | 64×16 | 24M | -- |
SPARC64 XIfx | Fujitsu | 2200 | OSA2011 / HPC-ACE2 | 2015? | 1×(32+2)=34 | 20 | 3750 | ? | 1001 | ? | ? | 64×34 | 64×34 | 12M×2 | -- |
SPARC M7 | Oracle | 4133 | OSA2015 | 2015 | 8×32=256 | 20 | >10,000 | ? | ? | ? | ? | 16×32 | 16×32 | 256×24 | 65536 |
SPARC Sonoma | Oracle | ? | ???? | 2016 | 8×8=64 | 20 | ???? | ? | ? | ? | ? | 16×8 | 16×8 | 256×2+256×4 | 8192 |
Име | Модел | Честота (MHz) | Версия | Година
на производство |
Брой нишки | Технология
процесор (nm) |
Транзистори (милиони) | Размер
на полупроводника (mm²) |
Брой входно/изходни пинове | Мощност (W) | Волтаж (V) | L1 кеш
(KiB) |
L1 кеш (KiB) | L2 кеш
(KiB) |
L3 кеш
(KiB) |
Машините на SPARC най-често са използвали SunOS, Solaris, OpenSolaris на Sun, но и други операционни системи като NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD, Linux.
През 1993 г. Integraph обявяват порт за Windows NT в архитектурата на SPARC, но впоследствие проектът е прекратен.
През октомври 2015 г., Oracle обявяват „Linux за референтна платформа SPARC“.
Тази страница частично или изцяло представлява превод на страницата SPARC в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |
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.