SPARC (на английски: Scalable Processor Architecture, SPARC) – е РИСК архитектура, разработена през 1985 година от Sun Microsystems.

Quick Facts Информация, Представяне ...
SPARC
Информация
Представяне1987
SPARC в Общомедия
Close

„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:

  • VIS 1 и VIS 2 набор от инструкции и разширения и асоцииран GSR-регистър
  • множество от нива, контролирани от GL-регистър
  • 64-битовата MMU архитектура на Sun
  • привилегированите инструкции ALLCLEAN, OTHERW, NORMALW, и INVALW
  • и др.

През 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 миркропроцесори

    Следната таблица съдържа характеристики на някои SPARC процесори: честота (мегахерца), версия на архитектурата, година на производство, брой нишки (брой нишки умножени по броя на ядрата), технология процесор (нанометри), брой транзистори (милиони), размер на полупроводника (квадратни милиметри), брой входно/изходни пинове, разсейвана мощност (ватове), волтаж, размер на кеш-паметта, инструкции, L2 и L3 (kibibytes).

    More information Име, Модел ...
    Име Модел Честота (MHz) Версия Година

    на

    производство

    Брой нишки Технология

    процесор

    (nm)

    Транзистори (милиони) Размер

    на полупроводника (mm²)

    Брой входно/изходни пинове Мощност (W) Волтаж (V) L1 кеш

    (KiB)

    L1 кеш (KiB) L2 кеш

    (KiB)

    L3 кеш

    (KiB)

    SPARC (различни), включително

    MB86900

    14.28 – 40V71987 – 19921×1=1800 – 1300~0.1 – 1.8--160 – 256----0 – 128----
    microSPARC I (Tsunami) TI TMS390S10 40 – 50V819921×1=18000.8225?2882.5524----
    SuperSPARC I (Viking) TI TMX390Z50 / Sun STP1020 33 – 60V819921×1=18003.1--29314.3516200 – 2048--
    SPARClite Fujitsu MB8683x 66 – 108V8E19921×1=1------144, 176--2.5/3.3–5.0 V, 2.5 – 3.3 V1, 2, 8, 161, 2, 8, 16----
    hyperSPARC (Colorado 1) Ross RT620A 40 – 90V819931×1=15001.5------5?08128 – 256--
    microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60 – 125V819941×1=15002.323332153.3816---
    hyperSPARC (Colorado 2) Ross RT620B 90 – 125V819941×1=14001.5------3.308128 – 256--
    SuperSPARC II (Voyager) Sun STP1021 75 – 90V819941×1=18003.1299--16--16201024 – 2048--
    hyperSPARC (Colorado 3) Ross RT620C 125 – 166V819951×1=13501.5------3.308512 – 1024--
    TurboSPARC Fujitsu MB86907 160 – 180V819961×1=13503.013241673.51616512--
    UltraSPARC (Spitfire) Sun STP1030 143 – 167V919951×1=14703.8315521303.31616512 – 1024--
    UltraSPARC (Hornet) Sun STP1030 200V919981×1=14205.2265521--3.31616512 – 1024--
    hyperSPARC (Colorado 4) Ross RT620D 180 – 200V819961×1=13501.7------3.31616512--
    SPARC64 Fujitsu (HAL) 101 – 118V919951×1=1400--Multichip286503.8128128----
    SPARC64 II Fujitsu (HAL) 141 – 161V919961×1=1350--Multichip286643.3128128----
    SPARC64 III Fujitsu (HAL) MBCS70301 250 – 330V919981×1=124017.6240----2.564648192--
    UltraSPARC IIs (Blackbird) Sun STP1031 250 – 400V919971×1=13505.4149521252.516161024 or 4096--
    UltraSPARC IIs (Sapphire-Black) Sun STP1032 / STP1034 360 – 480V919991×1=12505.4126521211.916161024 – 8192--
    UltraSPARC IIi (Sabre) Sun SME1040 270 – 360V919971×1=13505.4156587211.91616256 – 2048--
    UltraSPARC IIi (Sapphire-Red) Sun SME1430 333 – 480V919981×1=12505.4--587211.916162048--
    UltraSPARC IIe (Hummingbird) Sun SME1701 400 – 500V919991×1=1180 Al----370131.5 – 1.71616256--
    UltraSPARC IIi (IIe+) (Phantom) Sun SME1532 550 – 650V920001×1=1180 Cu----37017.61.71616512--
    SPARC64 GP Fujitsu SFCB81147 400 – 563V920001×1=118030.2217----1.81281288192--
    SPARC64 GP -- 600 – 810V9--1×1=115030.2------1.51281288192--
    SPARC64 IV Fujitsu MBCS80523 450 – 810V920001×1=1130----------1281282048--
    UltraSPARC III (Cheetah) Sun SME1050 600JPS120011×1=1180 Al293301368531.664328192--
    UltraSPARC III (Cheetah) Sun SME1052 750 – 900JPS120011×1=1130 Al29--1368--1.664328192--
    UltraSPARC III Cu (Cheetah+) Sun SME1056 1002 – 1200JPS120011×1=1130 Cu292321368801.664328192--
    UltraSPARC IIIi (Jalapeño) Sun SME1603 1064 – 1593JPS120031×1=113087.5206959521.364321024--
    SPARC64 V (Zeus) Fujitsu 1100 – 1350JPS120031×1=1130190289269401.21281282048--
    SPARC64 V+ (Olympus-B) Fujitsu 1650 – 2160JPS120041×1=1904002972796511281284096--
    UltraSPARC IV (Jaguar) Sun SME1167 1050 – 1350JPS220041×2=21306635613681081.35643216384--
    UltraSPARC IV+ (Panther) Sun SME1167A 1500 – 2100JPS220051×2=2902953361368901.16464204832768
    UltraSPARC T1 (Niagara) Sun SME1905 1000 – 1400UA200520054×8=32903003401933721.38163072--
    SPARC64 VI (Olympus-C) Fujitsu 2150 – 2400JPS220072×2=490540422--120 – 1501.1128×2128×24096 – 6144--
    UltraSPARC T2 (Niagara 2) Sun SME1908A 1000 – 1600UA200720078×8=64655033421831951.1 – 1.58164096--
    UltraSPARC T2 Plus (Victoria Falls) Sun SME1910A 1200 – 1600UA200720088×8=646550334218318164096--
    SPARC64 VII (Jupiter) Fujitsu 2400 – 2880JPS220082×4=865600445--150--64×464×46144--
    UltraSPARC „RK“ (Rock) Sun SME1832 2300????canceled2×16=3265?3962326??32322048?
    SPARC64 VIIIfx (Venus) Fujitsu 2000JPS2 / HPC-ACE20091×8=845760513127158?32×832×86144--
    SPARC T3 (Rainbow Falls) Oracle/Sun 1650UA200720108×16=12840????371?139?8166144--
    Galaxy FT-1500 NUDT (China) 1800UA2007?201?8×16=12840????????65?16×1616×16512×164096
    SPARC64 VII+ (Jupiter-E or M3) Fujitsu 2667 – 3000JPS220102×4=865---160-64×464×412288--
    LEON4 Aeroflex Gaisler 125 – 1500V8E20101×1=132---???-????????????
    R1000 MCST (Russia) 1000JPS220111×4=490180128-151, 1.8, 2.532162048--
    SPARC T4 (Yosemite Falls) Oracle 2850 – 3000OSA201120118×8=6440855403?240?16×816×8128×84096
    SPARC64 IXfx Fujitsu 1850JPS2 / HPC-ACE20121x16=164018704841442110?32×1632×1612288--
    SPARC64 X (Athena) Fujitsu 2800OSA2011 / HPC-ACE20122×16=32282950587.51500270?64×1664×1624576--
    SPARC T5 Oracle 3600OSA201120138×16=128281500478???16×1616×16128×168192
    SPARC M5 Oracle 3600OSA201120138×6=48283900????16×616×6128×649152
    SPARC M6 Oracle 3600OSA201120138×12=9628?????16×1216×12128×1249152
    SPARC64 X+ (Athena+) Fujitsu 3200 – 3700OSA2011 / HPC-ACE20142×16=322829906001500392?64×1664×1624M--
    SPARC64 XIfx Fujitsu 2200OSA2011 / HPC-ACE22015?1×(32+2)=34203750?1001??64×3464×3412M×2--
    SPARC M7 Oracle 4133OSA201520158×32=25620>10,000????16×3216×32256×2465536
    SPARC Sonoma Oracle ?????20168×8=6420????????16×816×8256×2+256×48192
    Име Модел Честота (MHz) Версия Година

    на

    производство

    Брой нишки Технология

    процесор

    (nm)

    Транзистори (милиони) Размер

    на полупроводника (mm²)

    Брой входно/изходни пинове Мощност (W) Волтаж (V) L1 кеш

    (KiB)

    L1 кеш (KiB) L2 кеш

    (KiB)

    L3 кеш

    (KiB)

    Close

    Поддръжка на операционни системи

    Машините на SPARC най-често са използвали SunOS, Solaris, OpenSolaris на Sun, но и други операционни системи като NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD, Linux.

    През 1993 г. Integraph обявяват порт за Windows NT в архитектурата на SPARC, но впоследствие проектът е прекратен.

    През октомври 2015 г., Oracle обявяват „Linux за референтна платформа SPARC“.

    Външни препратки

      Тази страница частично или изцяло представлява превод на страницата SPARC в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.

    ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.

    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.