SPARC: Разлика между версии
Изтрито е съдържание Добавено е съдържание
м Changed the text under the photo of UltraSparc T2. |
Some stylistic, punctuational and meaning concerning changes in Features section. |
||
Ред 30:
==Характеристики==
SPARC архитектурата бива силно повлияна от процесорните дизайни [[РИСК архитектура|RISC]](I и II). Първоначалните RISC дизайни са включвали, колкото може по-малко характеристики с цел да изпълняват инструкции със скорост една инструкция за тактов сигнал. Това ги прави много сходни с MIPS архитектурата, като например липсата на инструкции за умножение и деление.
SPARC процесорите обикновенно съдържат 160 [[Регистър (компютър)|регистъра]] за общо предназначение. Само 32 регистъра обаче са видими за софтуера – 8 тях се използват за глобални регистри, а другите 24 образуват [[Стек (структура от данни)|стек]] от регистри. Тези 24 регистри образуват така нарачения ‘’прозорец от регистри’’, който при операции на извикване и връщане се движи по стека от регистри. Всеки прозорец има 8 локални и 8 съседни регистри. Съседните регистри се използват за подаване на параметри и връщане на стойности. Локалните регистри се използват за запазване на локални стойности докато има извикване на функции.
Ред 36:
От името СПАРК(англ. „SPARC“) буквата “S“ означава „Scalable“(бълг. „мащабируем“). Това е така, защото SPARC спецификацията позволява имплементация, както на малки вградени процесори така и на големи сървърни процесори всички споделящи едно и също ядро с набор от инструкции. Един от архитектурните параметри, който може да намаля или да се увеличава е броя на „прозорците от регистри“. Този брой може да варира от 3 до 32. Например при избор на 32 броя, ще се получи максимална ефективност на стека, а при избор на 3 броя ще се намали, както цената така и сложността на дизайна.
Архитектурата е преминала през множество видоизменения. Във версия 8
Характерна е употребата на тагове (маркери) при инструкциите за умножение и деление, като по този начин се проверява дали крайните битове на двете операнди са нула. Ако това условие е неистина, докладва се "препълване на стека". Това е от полза за имплементирането на ML, Lisp и други подобни езици, които могат да използват формат за маркиране на числа.
Порядъкът на една 32-битовата SPARC V8 архитектура е от тип "big-endian" (от старши към младши). В 64-битовата SPARC V9 архитектурата са имплементирани също инструкции от тип "big-endian", но при достъпа до паметта може да се приложи както "big-endian", така и "little-endian" (от младши към старши) формат.
==История==
|