SPARC: Разлика между версии

Изтрито е съдържание Добавено е съдържание
мРедакция без резюме
+ш експерт; форматиране: 35x кавички, 15x тире-числа, 5x тире, 3x заглавие-стил, 3x нов ред, 403 интервала, А|АБ (ползвайки Advisor)
Ред 1:
{{експерт}}
{{превод}}
{{Хардуер
Line 16 ⟶ 17:
| gpr = 31 (G0 = 0; non-global registers use [[register window]]s)
| fpr = 32 (usable as 32 single-precision, 32 double-precision, or 16 quad-precision)
|Битове=64-bit (32 → 64)|Отворен хардуер=Да, без заплащане на роялти.}}'''SPARC''' ('''S'''calable '''P'''rocessor '''ARC'''hitecture) – е [[РИСК архитектура|RISC]] командна архитектура (instruction set architecture - – ISA), разработена през средата на 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„SPARC версия 8"8“, регистрационния файл за [[плаваща запетая]] придобива 16 регистри за [[Формат с двойна точност|двойна точност]]. Всеки от тях може да бъде използван като регистър с два единично-прецизни регистри, осигуряващ 32 регистри с [[Формат с единична точност|единична точност]]. Една двойка от четно-нечетни числа от двойно-прецизен регистър може да се използва като четири-ядрен регистър за прецизност, като по този начин позволява 8 регистри с [[Формат с четвъртична точност|четвъртична точност]]. "SPARC„SPARC версия 9"9“ добавя още 16 регистри с двойна точност (които също могат да бъдат достъпни като 8 регистри с [[Формат с четвъртична прецизност|четвъртична точност]]), такива регистри обаче не могат да бъдат достъпни, както от единично-прецизните регистри. От 2004 година нито един SPARC процесор не имплементира операции с четворна прецизност.
 
Характерна е употребата на [[Таг (метаданни)|тагове]] (маркери) при инструкциите за умножение и деление, като по този начин се проверява дали крайните битове на двете операнди са нула. Ако това условие е неистина, докладва се "препълване„препълване на стека"стека“. Това е от полза при имплементирането на [[ML]], [[Lisp (език за програмиране)|Lisp]] и други подобни езици, които могат да използват формат за маркиране на числа.
 
[[Порядък|Порядъкът]]ът на една 32-битовата "SPARC„SPARC V8"V8“ архитектура е от тип "[[big-endian]]" (от старши към младши). В 64-битовата "SPARC„SPARC V9"V9“ архитектурата са имплементирани също инструкции от тип "big„big-endian"endian“, но при достъпа до паметта може да се приложи както "big„big-endian"endian“, така и "[[little-endian]]" (от младши към старши) формат.
 
== История ==
SPARC архитектурата е изградена на основата на три версии. Първата публикувана версия е 32-битовата "SPARC„SPARC Version 7 (V7)", през 1986 година. "SPARC„SPARC Версия 8 (V8)", подобрена характеристика на SPARC за изграждането на компютърните системи, е издадена през 1990 г. Основните разлики между "V7"„V7“ и "V8"„V8“ са добавянето на  инструкции за умножение и деление, промяна на точността на аритметиката с плаваща запетая от 80-битова към 128-битова точност. "SPARC„SPARC V8"V8“ служи като основа за "IEEE„IEEE Standard 1754-1994" – 1994“, "[[Institute of Electrical and Electronics Engineers|IEEE"]] стандарт за 32-битова микропроцесорна архитектура.
 
"SPARC„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„SPARC V9"V9“ ("SPARC„SPARC V9 Level 1"1“).
 
През 2002 г. е издадена съвместно разработената от Fujitsu и Sun "SPARC„SPARC ''Joint Programming Specification 1"1“'' (JPS1), която описва процесорни функции, имплементирани в процесорите и на двете компании. Първите процесори, съответстващи на JPS1 били UltraSPARC III от Sun и SPARC64 V от Fujitsu. Функционалности, които не покриват JPS1 са документирани за всеки процесор в "Implementation„Implementation Supplements"-Supplements“ – добавки и изпълнения.
 
В края на 2003 г. е реализиран JPS2 - – за многоядрени процесори. Първите процесори, съответстващи на JPS2 били UltraSPARC IV от Sun и SPARC64 VI от Fujitsu.
 
В началото на 2006, Sun лансират разширена спецификация за изграждане на компютърните системи – - "UltraSPARC„UltraSPARC Architecture 2005"2005“. Тя включва не само не-привилегировани и повечето от привилегированите части на "SPARC„SPARC V9"V9“, но и всички изграждащи ги разширения, разработени чрез производството на процесорите UltraSPARC III, IV, IV +, както и разширения "СMT"„СMT“ започващи с изпълнението на UltraSPARC T1:
* VIS 1 и VIS 2 набор от инструкции и разширения и асоцииран GSR-регистър
* множество от нива, контролирани от GL-регистър
Line 56 ⟶ 57:
* привилегированите инструкции ALLCLEAN, OTHERW, NORMALW, и INVALW
* и др.
През 2007 г. Sun лансират актуализирана спецификация, "UltraSPARC Architecture 2007", на чиято основа е изграден UltraSPARC T2 микропроцесора.
 
През 2007 г. Sun лансират актуализирана спецификация, "UltraSPARC„UltraSPARC Architecture 2007"2007“, на чиято основа е изграден UltraSPARC T2 микропроцесора.
През Август, 2012 г., Oracle Corporation издават нова спецификация, "Oracle SPARC Architecture 2011", която освен цялостна актуализация добавя VIS 3 набор от инструкции, разширения и "hyperprivileged" режим към спецификацията от 2007 г.
 
През октомвриАвгуст, 20152012 г., Oracle лансиратCorporation "SPARCиздават M7"нова -спецификация, първият процесор базиран на новата "Oracle„Oracle SPARC Architecture 2015"2011“, спецификация.която Тазиосвен версияцялостна включваактуализация добавя VIS 43 набор от инструкции, разширения и разширения„hyperprivileged“ режим към спецификацията от 2007 г.
 
През октомври, 2015 г., Oracle лансират „SPARC M7“ – първият процесор базиран на новата „Oracle SPARC Architecture 2015“ спецификация. Тази версия включва VIS 4 набор от инструкции и разширения.
SPARC архитектурата предлага непрекъсната приложимост на двоичната съвместимост от първия "SPARC V7" до "SUN UltraSPARC Architecture".
 
SPARC архитектурата предлага непрекъсната приложимост на двоичната съвместимост от първия "SPARC„SPARC V7"V7“ до "SUN„SUN UltraSPARC Architecture"Architecture“.
 
Сред различните имплементации на SPARC, SUPERSPARC и UltraSPARC-I на Sun са най-известни и бяха използвани като референтни системи за SPEC CPU95 и CPU2000. 296 MHz UltraSPARC-II е референтна система за SPEC CPU2006.
Line 69 ⟶ 71:
 
[[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]].{{reflist|group=Имплементации на SPARC микропроцесорите}}
== Имплементации на SPARC миркропроцесори ==
 
== Имплементации на SPARC миркропроцесори ==
Следната таблица съдържа характеристики на някои SPARC процесори: честота (мегахерца), версия на архитектурата, година на производство, брой нишки (брой нишки умножени по броя на ядрата), технология процесор (нанометри), брой транзистори (милиони), размер на полупроводника (квадратни милиметри), брой [[Вход-изход|входно/изходни]] пинове, разсейвана мощност (ватове), волтаж, размер на кеш-паметта, инструкции, L2 и L3 (kibibytes).
 
{| class="wikitable sortable"
|- style="vertical-align: top; font-size: 85%;"
! Име
! Модел
! abbr="Frequency" | Честота (MHz)
! abbr="Architecture" | Версия
! Година
на
 
производство
! abbr="Threads" | Брой нишки
! abbr="Process" | Технология
процесор
 
(nm)
! abbr="Transistors" | Транзистори (милиони)
! abbr="Size" | Размер
на полупроводника (mm²)
! Брой входно/изходни пинове
! abbr="Power" | Мощност (W)
! abbr="Voltage" | Волтаж (V)
! abbr="Data cache" | L1 кеш
(KiB)
! abbr="Instruction cache" | L1 кеш (KiB)
! abbr="L2 Cache" | L2 кеш
(KiB)
! abbr="L3 Cache" | L3 кеш
(KiB)
|-
Line 105 ⟶ 107:
|(различни), включително
[[MB86900]]
|14.28–40||V7||1987–19921987 – 1992||1×1=1||800–1300||~0.1–1.8||--||160–256||--||--||colspan="2"|0–128||--||--
|-
![[microSPARC]] I (Tsunami)
Line 113 ⟶ 115:
![[SuperSPARC]] I (Viking)
|TI TMX390Z50 / Sun STP1020
|33–60||V8||1992||1×1=1||800||3.1||--||293||14.3||5||16||20||0–20480 – 2048||--
|-
![[SPARClite]]
|Fujitsu MB8683x
|66–108||V8E||1992||1×1=1||--||--||--||144, 176||--||2.5/3.3–5.0 V, 2.5–35 – 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–256128 – 256||--
|-
!microSPARC II (Swift)
Line 129 ⟶ 131:
!hyperSPARC (Colorado 2)
|Ross RT620B
|90–125||V8||1994||1×1=1||400||1.5||--||--||--||3.3||0||8||128–256128 – 256||--
|-
!SuperSPARC II (Voyager)
|Sun STP1021
|75–90||V8||1994||1×1=1||800||3.1||299||--||16||--||16||20||1024–20481024 – 2048||--
|-
!hyperSPARC (Colorado 3)
|Ross RT620C
|125–166||V8||1995||1×1=1||350||1.5||--||--||--||3.3||0||8||512–1024512 – 1024||--
|-
![[TurboSPARC]]
Line 145 ⟶ 147:
![[UltraSPARC]] (Spitfire)
|Sun STP1030
|143–167||V9||1995||1×1=1||470||3.8||315||521||30||3.3||16||16||512–1024512 – 1024||--
|-
!UltraSPARC (Hornet)
|Sun STP1030
|200||V9||1998||1×1=1||420||5.2||265||521||--||3.3||16||16||512–1024512 – 1024||--
|-
!hyperSPARC (Colorado 4)
Line 185 ⟶ 187:
![[UltraSPARC IIe]] (Hummingbird)
|Sun SME1701
|400–500||V9||1999||1×1=1||180 Al||--||--||370||13||1.5–15 – 1.7||16||16||256||--
|-
!UltraSPARC IIi (IIe+) (Phantom)
Line 255 ⟶ 257:
|2400–2880||JPS2||2008||2×4=8||65||600||445||--||150||--||64×4||64×4||6144||--
|-
!UltraSPARC "RK"„RK“ ([[Rock processor|Rock]])
|Sun SME1832
|2300||????||canceled||2×16=32||65||?||396||2326||?||?||32||32||2048||?
Line 273 ⟶ 275:
![[SPARC64 VII+]] (Jupiter-E <small>''or''</small> M3)
|Fujitsu
|2667–30002667 – 3000||JPS2|| 2010 ||2×4=8||65||-||-||-||160||-||64×4||64×4||12288||--
|-
![[LEON|LEON4]]
|[[Aeroflex|Aeroflex Gaisler]]
|125–1500125 – 1500||V8E|| 2010 ||1×1=1||32||-||-||-||???||-||???||???||???||???
|-
![[MCST-R1000|R1000]]
Line 285 ⟶ 287:
![[SPARC T4]] (Yosemite Falls)
|Oracle
|2850–30002850 – 3000||OSA2011|| 2011 ||8×8=64||40||855||403||?||240||?||16×8||16×8||128×8||4096
|-
![[SPARC64 VI#SPARC64 IXfx|SPARC64 IXfx]]
Line 309 ⟶ 311:
![[SPARC64 X+]] (Athena+)
|Fujitsu
|3200–37003200 – 3700||OSA2011 / HPC-ACE||2014||2×16=32||28||2990||600||1500||392||?||64×16||64×16||24M||--
|-
![[SPARC64 VI#SPARC64 XIfx|SPARC64 XIfx]]
Line 323 ⟶ 325:
|?||????||2016||8×8=64||20||????||?||?||?||?||16×8||16×8||256×2+256×4||8192
|-
! Име
! Модел
! abbr="Frequency" | Честота (MHz)
! abbr="Architecture" | Версия
! Година
на
 
производство
! abbr="Threads" | Брой нишки
! abbr="Process" | Технология
процесор
 
(nm)
! abbr="Transistors" | Транзистори (милиони)
! abbr="Size" | Размер
на полупроводника (mm²)
! Брой входно/изходни пинове
! abbr="Power" | Мощност (W)
! abbr="Voltage" | Волтаж (V)
! abbr="Data cache" | L1 кеш
(KiB)
! abbr="Instruction cache" | L1 кеш (KiB)
! abbr="L2 Cache" | L2 кеш
(KiB)
! abbr="L3 Cache" | L3 кеш
(KiB)
|}
 
== Поддръжка на операционни системи ==
{{reflist}}
Машините на SPARC най-често са използвали SunOS, Solaris, OpenSolaris на Sun, но и други операционни системи като NeXTSTEP,RTEMS, FreeBSD, OpenBSD, NetBSD, Linux.
==Поддръжка на операционни системи==
Машините на SPARC най-често са използвали SunOS, Solaris, OpenSolaris на Sun, но и други операционни системи като NeXTSTEP,RTEMS, FreeBSD, OpenBSD, NetBSD, Linux.
 
През 1993 г. Integraph обявяват порт за Windows NT в архитектурата на SPARC, но впоследствие проектът е прекратен.
 
През октомври, 2015 г., Oracle обявяват "Linux„Linux за референтна платформа SPARC"SPARC“.
 
== Външни препратки ==