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

Изтрито е съдържание Добавено е съдържание
мРедакция без резюме
Added some hyperlinks.
Ред 18:
|Битове=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„[[Sun-4“4]]“ работна станция и сървърна система, заменила предишната "[[Sun-3]]" система, базирана на процесорите от серия „Motorola„[[Motorola 68000“68000]]“. По-късно „SPARC“ процесорите били използвани в „SMP“„[[SMP]]“ и „CC„[[CC-NUMA“NUMA]]“ сървъри, произведени от „[[Сън Майкросистъмс|Sun]]“, „Solbourne“„[[Solbourne]]“, „[[Фуджицу|Fujitsu]]“ и други компании, и впоследствие проектирани за [[64-битови]] системи.
 
„SPARC International“ е създадена с цел „SPARC“ архитектурата да се разработва като "[[свободен хардуер]]", да се привлекат повече производители, които да съдействат за дизайна на архитектурата. Право за извършване на такава дейност е било дадено на няколко компании, измежду които „Texas„[[Texas Instruments“Instruments]]“, „Atmel“„[[Atmel]]“, „Cypress„[[Cypress Semiconductor“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 регистри ис [[Формат с 32единична единичниточност|единична точноститочност]]. Една двойка от четно-нечетни числа от двойно-прецизен регистър може да се използва като четири-ядрен регистър за прецизност, като по този начин позволява 8 четири-ядренирегистри прецизнис регистри[[Формат с четвъртична точност|четвъртична точност]]. "SPARC версия 9" добавя още 16 двойно-прецизни регистри с двойна точност (които също могат да бъдат достъпни като 8 четири-ядренирегистри прецизнис регистри[[Формат с четвъртична прецизност|четвъртична точност]]), такива регистри обаче не могат да бъдат достъпни, както от единично-прецизните регистри. От 2004 година нито един SPARC процесор не имплементира операции с четворна прецизност.
 
Характерна е употребата на [[Таг (метаданни)|тагове]] (маркери) при инструкциите за умножение и деление, като по този начин се проверява дали крайните битове на двете операнди са нула. Ако това условие е неистина, докладва се "препълване на стека". Това е от полза при имплементирането на [[ML]], [[Lisp (език за програмиране)|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", "[[Institute of Electrical and Electronics Engineers|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"- добавки и изпълнения.
Ред 68:
Сред компаниите, които са придобили лиценз с право да имплементират 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]].{{reflist|group="note"}}
 
==Поддръжка на операционни системи==