~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 0FCC64F06C4B9FCBC75C347F9E297D5F__1717789980 ✰
Заголовок документа оригинал.:
✰ SPARC - Wikipedia ✰
Заголовок документа перевод.:
✰ СПАРК — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/SPARC ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/0f/5f/0fcc64f06c4b9fcbc75c347f9e297d5f.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/0f/5f/0fcc64f06c4b9fcbc75c347f9e297d5f__translat.html ✰
Дата и время сохранения документа:
✰ 17.06.2024 13:24:36 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 7 June 2024, at 22:53 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

СПАРК — Википедия Jump to content

СПАРК

Из Википедии, бесплатной энциклопедии

СПАРК
Дизайнер Sun Microsystems (приобретена Oracle Corporation ) [1] [2]
Биты 64-бит (32 → 64)
Представлено 1986 год ; 38 лет назад ( 1986 ) (производство)
1987 год ; 37 лет назад ( 1987 ) (отгрузки)
Версия В9 (1993) / ОСА2017
Дизайн РИСК
Тип Загрузка-сохранение
Кодирование Зафиксированный
Ветвление Код состояния
Порядок байтов С (Большой → С)
Размер страницы 8 КБ (4 КБ → 8 КБ)
Расширения ВСЕ 1.0, 2.0, 3.0, 4.0
Открыть Да, и без лицензионных отчислений
Регистры
Общее назначение 31 (G0 = 0; неглобальные регистры используют окна регистров )
Плавающая запятая 32 (можно использовать как 32 с одинарной точностью, 32 с двойной точностью или 16 с учетверенной точностью)
Микропроцессор Sun UltraSPARC II (1997 г.)

SPARC ( Scalable Processor ARchitecture ) — это команд компьютера с сокращенным набором команд (RISC), архитектура набора первоначально разработанная Sun Microsystems . [1] [2] На его конструкцию сильно повлияла экспериментальная система RISC Беркли, разработанная в начале 1980-х годов. Впервые разработан в 1986 году и выпущен в 1987 году. [3] [2] SPARC был одной из самых успешных первых коммерческих RISC-систем, и его успех привел к появлению аналогичных конструкций RISC от многих поставщиков в 1980-х и 1990-х годах.

Первая реализация исходной 32-битной архитектуры (SPARC V7) использовалась в системах Sun-4 компьютерных рабочих станциях и серверных , заменив их более ранние системы Sun-3 на базе Motorola серии 68000 процессоров . В SPARC V8 добавлен ряд улучшений, которые были частью серии процессоров SuperSPARC , выпущенной в 1992 году. SPARC V9, выпущенный в 1993 году, представил 64-битную архитектуру и впервые был выпущен в процессорах Sun UltraSPARC в 1995 году. Позже использовались процессоры SPARC. в серверах симметричной многопроцессорной обработки (SMP) и неоднородного доступа к памяти ( CC-NUMA ), производимых Sun, Solbourne и Fujitsu , среди других.

Проект был передан торговой группе SPARC International в 1989 году, и с тех пор его архитектура разрабатывалась ее членами. SPARC International также отвечает за лицензирование и продвижение архитектуры SPARC, управление товарными знаками SPARC (включая SPARC, которым она владеет) и проведение испытаний на соответствие . SPARC International был призван расширить архитектуру SPARC для создания более крупной экосистемы; Лицензии на SPARC предоставлены нескольким производителям, включая Atmel , Bipolar Integrated Technology , Cypress Semiconductor , Fujitsu , Matsushita и Texas Instruments . Благодаря SPARC International, SPARC является полностью открытым, непатентованным и бесплатным.

По состоянию на 2024 год новейшими коммерческими процессорами SPARC высокого класса являются Fujitsu от SPARC64 XII (представленный в сентябре 2017 года для сервера SPARC M12) и Oracle от SPARC M8 , представленный в сентябре 2017 года для высокопроизводительных серверов.

1 сентября 2017 г., после серии увольнений, начавшейся в Oracle Labs в ноябре 2016 г., Oracle прекратила разработку SPARC после завершения M8. Большая часть группы разработчиков процессорных ядер в Остине, штат Техас, была уволена, как и команды в Санта-Кларе, Калифорния, и Берлингтоне, Массачусетс. [4] [5]

Fujitsu также прекратит производство SPARC (уже перешла на производство собственных процессоров на базе ARM) после двух «улучшенных» версий старого сервера SPARC M12 от Fujitsu в 2020–2022 годах (ранее планировалось на 2021 год) и снова в 2026–2027 годах. прекращение продаж серверов UNIX в 2029 году, а годом позже — их мэйнфреймов , а также прекращение поддержки в 2034 году «в целях содействия модернизации клиентов». [6]

Особенности [ править ]

Архитектура SPARC находилась под сильным влиянием более ранних разработок RISC, включая RISC I и II от Калифорнийского университета в Беркли и IBM 801 . Эти оригинальные конструкции RISC были минималистичными, включали как можно меньше функций или кодов операций и стремились выполнять инструкции со скоростью почти одна инструкция за такт . Это делало их похожими на архитектуру MIPS во многих отношениях, включая отсутствие таких инструкций, как умножение или деление. Еще одной особенностью SPARC, на которую повлияло это раннее движение RISC, является слот задержки ветвления .

Процессор SPARC обычно содержит до 160 регистров общего назначения . Согласно спецификации «Oracle SPARC Architecture 2015», «реализация может содержать от 72 до 640 64-битных регистров общего назначения». [7] В любой момент только 32 из них сразу видны программному обеспечению — 8 представляют собой набор глобальных регистров (один из которых, g0 , жестко привязан к нулю, поэтому только семь из них можно использовать в качестве регистров), а остальные 24 — из стека регистров. Эти 24 регистра образуют так называемое окно регистров , и при вызове/возврате функции это окно перемещается вверх и вниз по стеку регистров. Каждое окно имеет восемь локальных регистров и использует восемь регистров совместно с каждым из соседних окон. Общие регистры используются для передачи параметров функций и возврата значений, а локальные регистры используются для сохранения локальных значений при вызовах функций.

«Масштабируемость» в SPARC обусловлена ​​тем, что спецификация SPARC позволяет реализациям масштабироваться от встроенных процессоров до больших серверных процессоров, использующих один и тот же базовый (непривилегированный) набор инструкций. Одним из архитектурных параметров, которые можно масштабировать, является количество реализованных окон регистров; спецификация позволяет реализовать от трех до 32 окон, поэтому реализация может выбрать реализацию всех 32, чтобы обеспечить максимальную эффективность стека вызовов , или реализовать только три, чтобы снизить стоимость и сложность конструкции, или реализовать некоторое количество между ними. Другие архитектуры, которые включают аналогичные файла регистров, функции включают Intel i960 , IA-64 и AMD 29000 .

Архитектура претерпела несколько изменений. В версии 8 он получил аппаратные функции умножения и деления. [8] [9] 64-битные (адресация и данные) были добавлены в спецификацию SPARC версии 9, опубликованную в 1994 году. [10]

В SPARC версии 8 файл регистров с плавающей запятой имеет 16 регистров двойной точности . Каждый из них может использоваться как два регистра одинарной точности , обеспечивая в общей сложности 32 регистра одинарной точности. Пара нечетно-четных чисел регистров двойной точности может использоваться в качестве регистра четырехточности , что позволяет использовать 8 регистров четырехточности. В SPARC версии 9 добавлено еще 16 регистров двойной точности (к которым также можно получить доступ как к 8 регистрам четырехточности), но к этим дополнительным регистрам нельзя получить доступ как к регистрам одинарной точности. По состоянию на 2024 год ни один процессор SPARC не реализует аппаратные операции четырехточности. [11]

Инструкции сложения и вычитания с тегами выполняют сложение и вычитание значений, проверяя, что два нижних бита обоих операндов равны 0, и сообщают о переполнении, если это не так. Это может быть полезно при реализации среды выполнения для ML , Lisp и подобных языков, которые могут использовать целочисленный формат с тегами.

Порядок байтов в 32-битной архитектуре SPARC V8 является чисто прямым порядком байтов. 64-битная архитектура SPARC V9 использует инструкции с прямым порядком байтов, но может получать доступ к данным в порядке байтов как с прямым, так и с прямым порядком байтов, выбираемом либо на уровне инструкции приложения ( загрузка-сохранение ), либо на уровне страницы памяти (через настройки MMU). Последний часто используется для доступа к данным с устройств с прямым порядком байтов, например устройств на шинах PCI.

История [ править ]

Архитектура претерпела три основных изменения. Первой опубликованной версией был 32-битный SPARC версии 7 (V7) в 1986 году. SPARC версии 8 (V8), расширенное определение архитектуры SPARC, было выпущено в 1990 году. Основные различия между V7 и V8 заключались в добавлении целочисленного умножения и инструкции деления и обновление 80-битной арифметики с плавающей запятой «повышенной точности» до 128-битной арифметики « четверенной точности ». SPARC V8 послужил основой для стандарта IEEE 1754-1994, стандарта IEEE для 32-битной микропроцессорной архитектуры.

SPARC версии 9 , 64-битная архитектура SPARC, была выпущена SPARC International в 1993 году. Она была разработана Комитетом по архитектуре SPARC, состоящим из Amdahl Corporation , Fujitsu , ICL , LSI Logic , Matsushita , Philips , Ross Technology , Sun Microsystems и Инструменты Техаса . Новые спецификации всегда соответствуют полной спецификации SPARC V9 Level 1.

SPARC Спецификацию совместного программирования В 2002 году Fujitsu и Sun выпустили 1 (JPS1), описывающую функции процессора, которые были идентично реализованы в процессорах обеих компаний («Общность»). Первыми процессорами, соответствующими JPS1, были UltraSPARC III от Sun и SPARC64 V от Fujitsu. Функциональные возможности, не охваченные JPS1, документированы для каждого процессора в «Дополнениях по реализации».

В конце 2003 года был выпущен JPS2 для поддержки многоядерных процессоров. Первыми процессорами, соответствующими JPS2, были UltraSPARC IV от Sun и SPARC64 VI от Fujitsu.

В начале 2006 года Sun выпустила расширенную спецификацию архитектуры UltraSPARC Architecture 2005 . Сюда входят не только непривилегированные и большинство привилегированных частей SPARC V9, но также все архитектурные расширения, разработанные в поколениях процессоров UltraSPARC III, IV IV+, а также расширения CMT, начиная с реализации UltraSPARC T1 :

  • 1 расширения набора команд VIS и VIS 2 и соответствующий регистр GSR
  • несколько уровней глобальных регистров, управляемых регистром GL
  • 64-битная архитектура Sun MMU
  • привилегированные инструкции ALLCLEAN, OTHERW, NORMALW и INVALW
  • доступ к реестру VER теперь является гиперпривилегированным
  • инструкция SIR теперь имеет повышенные привилегии

В 2007 году Sun выпустила обновленную спецификацию UltraSPARC Architecture 2007 , которой соответствовала реализация UltraSPARC T2 .

В августе 2012 года корпорация Oracle представила новую спецификацию Oracle SPARC Architecture 2011 , которая, помимо общего обновления эталонной версии, добавляет расширения набора команд VIS 3 и гиперпривилегированный режим . в спецификацию 2007 года [12]

В октябре 2015 года Oracle выпустила SPARC M7, первый процессор, основанный на новой спецификации Oracle SPARC Architecture 2015 . [7] [13] Эта версия включает расширения набора команд VIS 4, аппаратное шифрование и защищенную кремниевую память (SSM). [14]

Архитектура SPARC обеспечивала непрерывную двоичную совместимость приложений, начиная с первой реализации SPARC V7 в 1987 году и заканчивая реализациями архитектуры Sun UltraSPARC.

Среди различных реализаций SPARC очень популярны были Sun SuperSPARC и UltraSPARC-I, которые использовались в качестве эталонных систем для тестов SPEC CPU95 и CPU2000. UltraSPARC-II с частотой 296 МГц является эталонной системой для теста SPEC CPU2006.

Архитектура [ править ]

SPARC — это архитектура загрузки-хранения (также известная как архитектура регистр-регистр ); за исключением инструкций загрузки/сохранения, используемых для доступа к памяти , все инструкции работают с регистрами в соответствии с принципами проектирования RISC.

Процессор SPARC включает в себя целочисленный блок (IU), который выполняет целочисленную загрузку, сохранение и арифметические операции. [15] : 9  [10] : 15–16  Он может включать в себя модуль с плавающей запятой (FPU), который выполняет операции с плавающей запятой. [15] : 9  [10] : 15–16  а для SPARC V8 может включать сопроцессор (CP), который выполняет операции, специфичные для сопроцессора; архитектура не определяет, какие функции будет выполнять сопроцессор, кроме операций загрузки и сохранения. [15] : 9 

Регистры [ править ]

Архитектура SPARC имеет схему перекрывающихся регистровых окон. В любой момент времени видны 32 регистра общего назначения. Переменная указателя текущего окна ( CWP ) в аппаратном обеспечении указывает на текущий набор. Общий размер файла регистров не является частью архитектуры, что позволяет добавлять больше регистров по мере совершенствования технологии, максимум до 32 окон в SPARC V7 и V8, поскольку CWP имеет 5 бит и является частью регистра PSR .

В SPARC V7 и V8 CWP обычно уменьшается с помощью инструкции SAVE (используется инструкцией SAVE во время вызова процедуры для открытия нового кадра стека и переключения окна регистра) или увеличивается с помощью инструкции RESTORE (переключение обратно на вызов перед возвращаясь с процедуры). События-ловушки ( прерывания , исключения или инструкции TRAP) и инструкции RETT (возврат из ловушек) также меняют CWP . В SPARC V9 регистр CWP уменьшается во время инструкции RESTORE и увеличивается во время инструкции SAVE. Это противоположно поведению PSR.CWP в SPARC V8. Это изменение не влияет на непривилегированные инструкции.

Адресация окон
Зарегистрировать группу Мнемоника Зарегистрировать адрес Доступность
Глобальный G0...G7 Р[ 0 0]... Р[ 0 7] всегда одни и те же, G0 всегда равен нулю
вне О0...О7 Р[ 0 8]....Р[15] быть передан в вызываемую подпрограмму и возвращен из нее, как ее «в»
местный Л0...Л7 Р[16]...Р[23] действительно локально для текущей подпрограммы
в И0...И7 Р[24]...Р[31] передается от вызывающего абонента и возвращается вызывающему абоненту, как "выход"

Регистры SPARC показаны на рисунке выше.

Существует также безоконный регистр Y, используемый инструкциями пошагового умножения, целочисленного умножения и целочисленного деления. [15] : 32 

Процессор SPARC V8 с FPU включает 32 32-битных регистра с плавающей запятой, каждый из которых может хранить одно IEEE 754 число с плавающей запятой одинарной точности. Пара четно-нечетных регистров с плавающей запятой может хранить одно число с плавающей запятой IEEE 754 двойной точности, а группа из четырех регистров с плавающей запятой, выровненных по четырем координатам, может содержать одно число с плавающей запятой IEEE 754 четырехточной точности. [15] : 10 

Процессор SPARC V9 с FPU включает в себя: [10] : 36–40 

  • 32 32-битных регистра с плавающей запятой, каждый из которых может хранить одно число с плавающей запятой IEEE 754 одинарной точности;
  • 32 64-битных регистра с плавающей запятой, каждый из которых может хранить одно число с плавающей запятой двойной точности IEEE 754;
  • 16 128-битных регистров с плавающей запятой, каждый из которых может хранить одно число с плавающей запятой четверной точности IEEE 754.

Регистры организованы как набор из 64 32-битных регистров, причем первые 32 используются как 32-битные регистры с плавающей запятой, пары четно-нечетных всех 64 регистров используются как 64-битные регистры с плавающей запятой. и четырехуровневые группы из четырех регистров с плавающей запятой, используемые в качестве 128-битных регистров с плавающей запятой.

Регистры с плавающей запятой не являются оконными; все они являются глобальными регистрами. [10] : 36–40 

Форматы инструкций [ править ]

Все инструкции SPARC занимают полное 32-битное слово и начинаются на границе слова. Используются четыре формата, различающиеся первыми двумя битами. Все арифметические и логические инструкции имеют 2 операнда-источника и 1 операнд-приемник. [16] RD — это «регистр назначения», куда сохраняются выходные данные операции. Большинство инструкций SPARC имеют как минимум этот регистр, поэтому он располагается в начале формата инструкций. RS1 и RS2 — это «исходные регистры», которые могут присутствовать или отсутствовать или быть заменены константой.

Форматы инструкций SPARC
Тип Кусочек
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
формат SETHI 00 РД 100 Немедленная константа 22 бита
Формат филиала 00 А мкк 010 Константа смещения 22 бита
F Формат филиала 00 А ФКК 110 Константа смещения 22 бита
Формат C-ветви 00 А ссс 111 Константа смещения 22 бита
ВЫЗОВ 01 PC-относительное смещение
Арифметический регистр 10 РД код операции РС1 0 0 РС2
Арифметика немедленная 10 РД код операции РС1 1 Немедленная константа 13 бит
Работа ПНК 10 ФД 110100/110101 ФС1 оп ФС2
Операция КП 10 РД 110110/110111 РС1 опк РС2
реестр JMPL 10 РД 111000 РС1 0 0 РС2
JMPL немедленно 10 РД 111000 РС1 1 Немедленная константа 13 бит
регистр LD/ST 11 РД код операции РС1 0 0 РС2
LD/ST немедленно 11 РД код операции РС1 1 Немедленная константа 13 бит

Инструкция [ править ]

Загружает и хранит [ править ]

Инструкции загрузки и сохранения имеют формат трех операндов, то есть два операнда представляют значения для адреса и один операнд для регистра для чтения или записи. Адрес создается путем сложения двух адресных операндов для получения адреса. Второй операнд адреса может быть константой или регистром. Загрузка берет значение по адресу и помещает его в регистр, указанный третьим операндом, тогда как сохранение берет значение из регистра, указанного первым операндом, и помещает его по адресу. Чтобы сделать это более очевидным, язык ассемблера указывает адресные операнды с помощью квадратных скобок со знаком плюс, разделяющим операнды, вместо использования списка, разделенного запятыми. Примеры: [16]

ld [%L1+%L2],%L3 !загружаем 32-битное значение по адресу %L1+%L2 и помещаем значение в %L3
 ld [%L1+8],%L2 !загружаем значение из %L1+8 в %L2
 ld [%L1],%L2 !как указано выше, но без смещения, что аналогично +%G0
 st %L1,[%I2] !сохраните значение в %L1 в ячейке, хранящейся в %I2
 st %G0,[%I1+8] !очистить память в %I1+8
 

Из-за широкого использования не32-битных данных, таких как 16-битные или 8-битные целочисленные данные или 8-битные байты в строках, существуют инструкции, которые загружают и сохраняют 16-битные полуслова и 8-битные байты. , а также инструкции, загружающие 32-битные слова. Во время загрузки эти инструкции будут читать только байт или полуслово в указанном месте, а затем либо заполнять остальную часть целевого регистра нулями (беззнаковая загрузка, либо значением самого верхнего бита байта или полуслова ( Во время сохранения эти инструкции отбрасывают старшие биты регистра и сохраняют только младшие биты. Существуют также инструкции для загрузки значений двойной точности, используемых для арифметики с плавающей запятой , чтения или записи восьми байтов из указанного регистра . и «следующий», поэтому, если местом назначения загрузки является L1, будут установлены L1 и L2. Полный список инструкций загрузки и сохранения для регистров общего назначения в 32-битном SPARC. LD, ST, LDUB (беззнаковый байт), LDSB (байт со знаком), LDUH (беззнаковое полуслово), LDSH (подписанное полуслово), LDD (загрузка двойная), STB (сохранить байт), STH (сохранить полуслово), STD (магазин двойной). [16]

В SPARC V9 регистры 64-битные, а LD инструкция, переименованная LDUW, очищает старшие 32 бита регистра и загружает 32-битное значение в нижние 32 бита, а ST инструкция, переименованная STW, отбрасывает старшие 32 бита регистра и сохраняет только младшие 32 бита. Новый LDSWИнструкция устанавливает старшие биты регистра в значение самого верхнего бита слова и загружает 32-битное значение в младшие биты. Новый LDX Инструкция загружает в регистр 64-битное значение, а STX Инструкция сохраняет все 64 бита регистра.

The LDF, LDDF, и LDQFинструкции загружают значение одинарной, двойной или четырехкратной точности из памяти в регистр с плавающей запятой; тот STF, STDF, и STQF Инструкции сохраняют в памяти регистры с плавающей запятой одинарной, двойной или четырехкратной точности.

Инструкция барьера памяти MEMBAR служит двум взаимосвязанным целям: она формулирует ограничения порядка между обращениями к памяти и облегчает явный контроль над завершением обращений к памяти. Например, все эффекты хранилищ, которые появляются до команды MEMBAR, должны быть видны всем процессорам, прежде чем могут быть выполнены любые загрузки, следующие за MEMBAR. [17]

Операции АЛУ [ править ]

Арифметические и логические инструкции также используют формат трех операндов, где первые два являются операндами, а последний — местом хранения результата. Средний операнд может быть регистром или 13-битной целочисленной константой со знаком; остальные операнды являются регистрами. Любой из операндов регистра может указывать на G0; указание результата на G0 отбрасывает результаты, которые можно использовать для тестов. Примеры включают в себя: [16]

добавьте %L1,%L2,%L3 !добавьте значения в %L1 и %L2 и поместите результат в %L3
 добавить %L1,1,%L1 !увеличить %L1
 добавить %G0,%G0,%L4 !очистить любое значение в %L4
 

Список математических инструкций: ADD, SUB, AND, OR, XORи отрицательные версии ANDN, ORN, и XNOR. Одна из особенностей конструкции SPARC заключается в том, что большинство арифметических инструкций идут парами: одна версия устанавливает биты кода состояния NZVC в регистре состояния , а другая не устанавливает их, а по умолчанию не коды устанавливаются. Это сделано для того, чтобы у компилятора была возможность перемещать инструкции при попытке заполнить слоты задержки. Если кто-то хочет, чтобы коды условий были установлены, это указывается добавлением cc к инструкции: [16]

subcc %L1,10,%G0 !сравните %L1 с 10 и проигнорируйте результат, но установите флаги
 

add и sub также имеют еще один модификатор X, который указывает, должна ли операция устанавливать бит переноса:

addx %L1,100,%L1 !добавьте 100 к значению в %L1 и отслеживайте перенос
 

SPARC V7 не имеет инструкций умножения и деления, но имеет MULSCC, который выполняет один шаг умножения, проверяя один бит и условно добавляя множимое к произведению. Это было потому, что MULSCCможет завершиться за один такт в соответствии с философией RISC. Добавлен SPARC V8. UMUL (беззнаковое умножение), SMUL (подписанное множественное число), UDIV (беззнаковое деление) и SDIV (подписанное разделение), причем как версии, которые не обновляют коды условий, так и версии, которые это делают. MULSCCа инструкции умножения используют регистр Y для хранения старших 32 битов произведения; инструкции деления используют его для хранения старших 32 битов делимого. RDYинструкция считывает значение регистра Y в регистр общего назначения; тот WRY Инструкция записывает значение регистра общего назначения в регистр Y. [15] : 32  Добавлен SPARC V9. MULX, который умножает два 64-битных значения и дает 64-битный результат, SDIVX, который делит 64-битное делимое со знаком на 64-битный делитель со знаком и дает 64-битное частное со знаком, и UDIVX, который делит 64-битное беззнаковое делимое на 64-битный беззнаковый делитель и дает 64-битное знаковое частное; ни одна из этих инструкций не использует регистр Y. [10] : 199 

Ветвление [ править ]

Условные ветки проверяют коды условий в регистре состояния , как это видно во многих наборах команд, таких как архитектура IBM System/360 и ее преемники, а также архитектура x86 . Это означает, что проверка и переход обычно выполняются с помощью двух инструкций; первая — это инструкция ALU, которая устанавливает коды условий, за которой следует инструкция ветвления, которая проверяет один из этих флагов. SPARC не имеет специализированных инструкций по тестированию; тесты выполняются с использованием обычных инструкций ALU с назначением %G0. Например, чтобы проверить, содержит ли регистр значение 10, а затем перейти к коду, который его обрабатывает, можно:

subcc %L1,10,%G0 !вычитаем 10 из %L1, устанавливая нулевой флаг, если %L1 равен 10
 быть WASEQUAL !если установлен нулевой флаг, перейти к адресу, отмеченному WASEQUAL.
 

В инструкции условного перехода поле icc или fcc указывает проверяемое условие. 22-битное поле смещения — это адрес цели относительно текущего ПК в словах, так что условные ветки могут идти вперед или назад до 8 мегабайт. Бит ANNUL (A) используется для избавления от некоторых слотов задержки. Если в условном переходе он равен 0, слот задержки выполняется как обычно. Если он равен 1, слот задержки выполняется только в том случае, если ветвь выбрана. Если он не принят, инструкция, следующая за условным переходом, пропускается.

Существует большое разнообразие условных ветвей: BA (ветвь всегда, по сути jmp), BN (ветвь никогда), BE (равно), BNE (не равно), BL (меньше, чем), BLE (меньше или равно), BLEU (меньше или равно, без знака), BG (больше), BGE (больше или равно), BGU (большой без знака), BPOS (положительный), BNEG (отрицательный), BCC (нести ясно), BCS (переносной набор), BVC (очистка переполнения), BVS (переливной набор). [15] : 119–120 

FPU и CP имеют наборы кодов условий, отдельные от целочисленных кодов состояний и друг от друга; Для проверки этих кодов условий были определены два дополнительных набора инструкций перехода. Добавление буквы F в начало инструкции ветвления в приведенном выше списке выполняет проверку кодов состояния FPU: [15] : 121–122  в то время как в SPARC V8 добавление C проверяет флаги в неопределенном CP. [15] : 123–124 

The CALLИнструкция (переход к подпрограмме) использует 30-битное смещение программного счетчика относительно слова . Поскольку целевой адрес определяет начало слова, а не байта, 30 бит — это все, что необходимо для достижения любого адреса в 4-гигабайтном адресном пространстве. [16] Команда CALL сохраняет адрес возврата в регистре R15, также известном как выходной регистр O7.

The JMPLИнструкция (перехода и связи) представляет собой инструкцию с тремя операндами, где два операнда представляют значения для целевого адреса и один операнд для регистра, в который помещается обратный адрес. Адрес создается путем сложения двух адресных операндов для получения 32-битного адреса. Второй операнд адреса может быть константой или регистром.

Большие константы [ править ]

Поскольку код операции инструкции занимает несколько битов 32-битного командного слова, невозможно загрузить 32-битную константу с помощью одной инструкции. Это важно, поскольку адреса управляются через регистры и являются 32-битными. Чтобы облегчить эту задачу, используется специальный SETHIИнструкция копирует свой 22-битный непосредственный операнд в старшие 22 бита любого указанного регистра и устанавливает каждый из младших 10 бит в 0. Обычно за SETHI следует инструкция или только с младшими 10 битами. набора значений. Чтобы облегчить это, ассемблер включает в себя %hi(X) и %lo(X)макросы. Например: [16]

sethi %hi(0x89ABCDEF),%L1 !устанавливает старшие 22 бита L1.
 или %L1,%lo(0x89ABCDEF),%L1 !устанавливает младшие 10 бит L1 с помощью операции OR
 

Макросы hi и lo выполняются во время сборки, а не во время выполнения, поэтому они не влияют на производительность, но при этом становится понятнее, что вы устанавливаете для L1 одно значение, а не два несвязанных значения. Чтобы сделать это еще проще, в ассемблер также включена «синтетическая инструкция». set, который выполняет эти две операции в одной строке:

установить 0x89ABCDEF,% L1
 

Это выводит две приведенные выше инструкции, если значение больше 13 бит, в противном случае будет выдано одно ld со значением. [16]

Синтетические инструкции [ править ]

Как отмечалось ранее, ассемблер SPARC использует «синтетические инструкции» для облегчения общих задач кодирования. Дополнительные примеры включают (среди прочего): [16]

Синтетические инструкции SPARC
мнемонический фактический выпуск цель
nop sethi 0,%g0 ничего не делать
clr %reg or %g0,%g0,%reg установить регистр в ноль
clr [address] st %g0,[address] установить адрес памяти на ноль
clrh [address] sth %g0,[address] установить полуслово по адресу памяти равным нулю
clrb [address] stb %g0,[address] установить байт по адресу памяти равным нулю
cmp %reg1,%reg2 subcc %reg1,%reg2,%g0 сравнить два регистра, установить коды, отбросить результаты
cmp %reg,const subcc %reg,const,%g0 сравнить регистр с константой
mov %reg1,%reg2 or %g0,%reg1,%reg2 копировать значение из одного регистра в другой
mov const,%reg or %g0,const,%reg копировать постоянное значение в регистр
inc %reg add %reg,1,%reg увеличить регистр
inccc %reg addcc %reg,1,%reg увеличить регистр, установить условия
dec %reg sub %reg,1,%reg уменьшить регистр
deccc %reg subcc %reg,1,%reg уменьшить регистр, установить условия
not %reg xnor %reg,%g0,%reg перевернуть биты в регистре
neg %reg sub %g0,%reg,%reg двое дополняют регистр
tst %reg orcc %reg,%g0,%g0 проверить, является ли значение в регистре > 0, 0 или < 0

архитектуры SPARC Лицензиаты

Следующие организации лицензировали архитектуру SPARC:

Реализации [ править ]

Имя (кодовое имя) Модель Частота (МГц) Арх. версия Год Всего потоков [примечание 1] Процесс (нм) Транзисторы (миллионы) Размер матрицы (мм 2 ) контакты ввода-вывода Мощность (Вт) Voltage (V) L1-кэш (КБ) L1-кэш (КБ) Кэш L2 (КБ) Кэш L3 (КБ)
СПАРК MB86900 Фуджицу [1] [3] [2] 14.28–33 V7 1986 1×1=1 1300 0.11 256 0–128 (единый) никто никто
СПАРК Различный [заметка 2] 14.28–40 V7 1989–1992 1×1=1 800–1300 ~0.1–1.8 160–256 0–128 (единый) никто никто
MN10501 (КАП) Солборн Компьютер ,

Мацусита [18]

33–36 V8 1990–1991 1x1=1 1.0 [19] 8 8 0–256 никто
микроСПАРК I (Цунами) ТМС390С10 40–50 V8 1992 1×1=1 800 0.8 225? 288 2.5 5 2 4 никто никто
СуперСПАРК I (Викинг) TI TMX390Z50 / Солнце STP1020 33–60 V8 1992 1×1=1 800 3.1 293 14.3 5 16 20 0–2048 никто
SPARClite Fujitsu MB8683x 66–108 В8Е 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 никто никто
гиперСПАРК (Колорадо 1) Росс RT620A 40–90 V8 1993 1×1=1 500 1.5 5? 0 8 128–256 никто
microSPARC II (Свифт) Fujitsu MB86904 / Солнце STP1012 60–125 V8 1994 1×1=1 500 2.3 233 321 5 3.3 8 16 никто никто
гиперСПАРК (Колорадо 2) Росс RT620B 90–125 V8 1994 1×1=1 400 1.5 3.3 0 8 128–256 никто
СуперСПАРК II (Вояджер) Солнце STP1021 75–90 V8 1994 1×1=1 800 3.1 299 16 16 20 1024–2048 никто
гиперСПАРК (Колорадо 3) Росс RT620C 125–166 V8 1995 1×1=1 350 1.5 3.3 0 8 512–1024 никто
ТурбоСПАРК Фуджицу MB86907 160–180 V8 1996 1×1=1 350 3.0 132 416 7 3.5 16 16 512 никто
УльтраСПАРК (Спитфайр) Солнце STP1030 143–167 V9 1995 1×1=1 470 3.8 315 521 30 [заметка 3] 3.3 16 16 512–1024 никто
УльтраСПАРК (Хорнет) Солнце STP1030 200 V9 1995 1×1=1 420 5.2 265 521 3.3 16 16 512–1024 никто
гиперСПАРК (Колорадо 4) Росс RT620D 180–200 V8 1996 1×1=1 350 1.7 3.3 16 16 512 никто
SPARC64 Фудзицу (ХАЛ) 101–118 V9 1995 1×1=1 400 Мультичип 286 50 3.8 128 128
SPARC64 II Фудзицу (ХАЛ) 141–161 V9 1996 1×1=1 350 Мультичип 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 II (Blackbird) Солнце STP1031 250–400 V9 1997 1×1=1 350 5.4 149 521 25 [примечание 4] 2.5 16 16 1024 или 4096 никто
UltraSPARC II (сапфирово-черный) Солнце STP1032/STP1034 360–480 V9 1999 1×1=1 250 5.4 126 521 21 [примечание 5] 1.9 16 16 1024–8192 никто
UltraSPARC III (Сабля) Солнце SME1040 270–360 V9 1997 1×1=1 350 5.4 156 587 21 1.9 16 16 256–2048 никто
UltraSPARC IIi (Сапфирово-красный) Солнце SME1430 333–480 V9 1998 1×1=1 250 5.4 587 21 [примечание 6] 1.9 16 16 2048 никто
UltraSPARC IIe (Колибри) Солнце SME1701 400–500 V9 1999 1×1=1 180 Ал 370 13 [примечание 7] 1.5–1.7 16 16 256 никто
UltraSPARC IIi (IIe+) (Фантом) Солнце SME1532 550–650 V9 2000 1×1=1 180 у.е. 370 17.6 1.7 16 16 512 никто
SPARC64 ГП Fujitsu SFCB81147 400–563 V9 2000 1×1=1 180 30.2 217 1.8 128 128 8192
SPARC64 ГП -- 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 (Гепард) Солнце SME1050 600 JPS1 2001 1×1=1 180 Ал 29 330 1368 53 1.6 64 32 8192 никто
UltraSPARC III (Гепард) Солнце SME1052 750–900 JPS1 2001 1×1=1 130 Ал 29 1368 1.6 64 32 8192 никто
UltraSPARC III Cu (Гепард+) Солнце SME1056 900–1200 JPS1 2001 1×1=1 130 у.е. 29 232 1368 50 [примечание 8] 1.6 64 32 8192 никто
UltraSPARC IIIi (Халапеньо) Солнце SME1603 1064–1593 JPS1 2003 1×1=1 130 87.5 206 959 52 1.3 64 32 1024 никто
SPARC64 V (Зевс) Фуджицу 1100–1350 JPS1 2003 1×1=1 130 190 289 269 40 1.2 128 128 2048
SPARC64 V+ (Olympus-B) Фуджицу 1650–2160 JPS1 2004 1×1=1 90 400 297 279 65 1 128 128 4096
УльтраСПАРК IV (Ягуар) Солнце SME1167 1050–1350 JPS2 2004 1×2=2 130 66 356 1368 108 1.35 64 32 16384 никто
UltraSPARC IV+ (Пантера) Солнце SME1167A 1500–2100 JPS2 2005 1×2=2 90 295 336 1368 90 1.1 64 64 2048 32768
UltraSPARC T1 (Ниагара) Солнце SME1905 1000–1400 UA2005 2005 4×8=32 90 300 340 1933 72 1.3 8 16 3072 никто
SPARC64 VI (Олимп-С) Фуджицу 2150–2400 JPS2 2007 2×2=4 90 540 422 120–150 1.1 128×2 128×2 4096–6144 никто
УльтраСПАРК Т2 (Ниагара 2) Солнце SME1908A 1000–1600 UA2007 2007 8×8=64 65 503 342 1831 95 1.1–1.5 8 16 4096 никто
UltraSPARC T2 Plus (Водопад Виктория) Солнце SME1910A 1200–1600 UA2007 2008 8×8=64 65 503 342 1831 8 16 4096 никто
SPARC64 VII (Юпитер) [20] Фуджицу 2400–2880 JPS2 2008 2×4=8 65 600 445 150 64×4 64×4 6144 никто
УльтраСПАРК «РК» ( Рок ) [21] Солнце SME1832 2300 ???? отменен [22] 2×16=32 65 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIfx (Венера) [23] [24] Фуджицу 2000 JPS2/HPC-ACE 2009 1×8=8 45 760 513 1271 58 ? 32×8 32×8 6144 никто
ЛЕОН2ФТ Атмел AT697F 100 V8 2009 1×1=1 180 196 1 1.8/3.3 16 32 —|нет
SPARC T3 (Радужный водопад) Оракул/Солнце 1650 UA2007 2010 8×16=128 40 [25] ???? 371 ? 139 ? 8 16 6144 никто
Галактика ФТ-1500 НУДТ (Китай) 1800 UA2007? 201? 8×16=128 40 ???? ??? ? 65 ? 16×16 16×16 512×16 4096
SPARC64 VII+ (Jupiter-E or M3) [26] [27] Фуджицу 2667–3000 JPS2 2010 2×4=8 65 160 64×4 64×4 12288 никто
ЛЕОН3ФТ Кобэм Гайслер GR712RC 100 В8Е 2011 1×2=2 180 1.5 [примечание 9] 1.8/3.3 4x4Кб 4x4Кб никто никто
1000 рэндов МЦСТ (Россия) 1000 JPS2 2011 1×4=4 90 180 128 15 1, 1.8, 2.5 32 16 2048 никто
SPARC T4 (Йосемитский водопад) [28] Оракул 2850–3000 ОСА2011 2011 8×8=64 40 855 403 ? 240 ? 16×8 16×8 128×8 4096
SPARC64 IXfx [29] [30] [31] Фуджицу 1850 JPS2/HPC-ACE 2012 1x16=16 40 1870 484 1442 110 ? 32×16 32×16 12288 никто
SPARC64 X (Афина) [32] Фуджицу 2800 OSA2011/HPC-ACE 2012 2×16=32 28 2950 587.5 1500 270 ? 64×16 64×16 24576 никто
СПАРК Т5 Оракул 3600 ОСА2011 2013 8×16=128 28 1500 478 ? ? ? 16×16 16×16 128×16 8192
СПАРК М5 [33] Оракул 3600 ОСА2011 2013 8×6=48 28 3900 511 ? ? ? 16×6 16×6 128×6 49152
СПАРК М6 [34] Оракул 3600 ОСА2011 2013 8×12=96 28 4270 643 ? ? ? 16×12 16×12 128×12 49152
SPARC64 X+ (Афина+) [35] Фуджицу 3200–3700 OSA2011/HPC-ACE 2014 2×16=32 28 2990 600 1500 392 ? 64×16 64×16 24М никто
SPARC64 XIFX [36] Фуджицу 2200 JPS2/HPC-ACE2 2014 1×(32+2)=34 20 3750 ? 1001 ? ? 64×34 64×34 12M×2 никто
СПАРК М7 [37] [38] Оракул 4133 ОСА2015 2015 8×32=256 20 >10 000 ? ? ? ? 16×32 16×32 256×24 65536
СПАРК S7 [39] [40] Оракул 4270 ОСА2015 2016 8×8=64 20 ???? ? ? ? ? 16×8 16×8 256×2+256×4 16384
SPARC64 XII [41] Фуджицу 4250 ОСА201? / HPC-ACE 2017 8×12=96 20 5500 795 1860 ? ? 64×12 64×12 512×12 32768
СПАРК М8 [42] [43] Оракул 5000 ОСА2017 2017 8×32=256 20 ? ? ? ? ? 32×32 16×32 128×32+256×8 65536
ЛЕОН4 Кобэм Гайслер GR740 250 [примечание 10] В8Е 2017 1×4=4 32 1.2/2.5/3.3 4х4 4х4 2048 никто
2000 рэндов МЦСТ (Россия) 2000 ? 2018 1×8=8 28 500 ? ? ? ? ? ? никто
ЛЕОН5 Кобэм Гайслер В8Е 2019 ? ? ? ? 16–8192 никто
Имя (кодовое имя) Модель Частота (МГц) Арх. версия Год Всего потоков [примечание 1] Процесс (нм) Транзисторы (миллионы) Размер матрицы (мм 2 ) контакты ввода-вывода Мощность (Вт) Voltage (V) L1-кэш (КБ) L1-кэш (КБ) Кэш L2 (КБ) Кэш L3 (КБ)

Примечания :

  1. ^ Перейти обратно: а б Потоков на ядро ​​× количество ядер
  2. ^ Различные реализации SPARC V7 были произведены Fujitsu, LSI Logic , Weitek, Texas Instruments, Cypress и Temic. Процессор SPARC V7 обычно состоял из нескольких дискретных микросхем, обычно состоящих из целочисленного блока (IU), блока с плавающей запятой (FPU), блока управления памятью (MMU) и кэш-памяти. И наоборот, Atmel (теперь Microchip Technology) TSC695 представляет собой однокристальную реализацию SPARC V7.
  3. ^ @ 167 МГц
  4. ^ @ 250 МГц
  5. ^ @ 400 МГц
  6. ^ @ 440 МГц
  7. ^ макс. @500 МГц
  8. ^ @ 1200 МГц
  9. ^ без учета шин ввода-вывода
  10. ^ номинальный; спецификация от 100 до 424 МГц в зависимости от возможностей подключенной оперативной памяти

Поддержка операционной системы [ править ]

В машинах SPARC обычно используются SunOS , Solaris , JavaOS или OpenSolaris от Sun, включая производные illumos и OpenIndiana , но другие операционные системы также используются и , такие как NeXTSTEP , RTEMS , FreeBSD , OpenBSD , NetBSD и Linux .

В 1993 году Intergraph объявила о портировании Windows NT на архитектуру SPARC. [44] но позже оно было отменено.

В октябре 2015 года Oracle анонсировала «эталовую платформу Linux для SPARC». [45]

Реализации с открытым исходным кодом [ править ]

Существует несколько с полностью открытым исходным кодом реализаций архитектуры SPARC :

  • LEON , 32-битная радиационно-устойчивая реализация SPARC V8, разработанная специально для использования в космосе. Исходный код написан на VHDL и лицензируется под лицензией GPL .
  • OpenSPARC T1 , выпущенный в 2006 году, 64-битная 32-потоковая реализация, соответствующая архитектуре UltraSPARC 2005 и SPARC версии 9 (уровень 1). Исходный код написан на Verilog и лицензируется по множеству лицензий. Большая часть исходного кода OpenSPARC T1 лицензируется по лицензии GPL. Исходный код, основанный на существующих проектах с открытым исходным кодом, будет по-прежнему лицензироваться в соответствии с действующими лицензиями. Бинарные программы лицензируются в соответствии с лицензионным соглашением о бинарном программном обеспечении .
  • S1 — 64-разрядное ядро ​​ЦП, совместимое с Wishbone, на основе конструкции OpenSPARC T1. Это одно ядро ​​UltraSPARC V9, поддерживающее 4-way SMT. Как и T1, исходный код распространяется под лицензией GPL.
  • OpenSPARC T2 , выпущенный в 2008 году, 64-битная 64-поточная реализация, соответствующая архитектуре UltraSPARC 2007 и SPARC версии 9 (уровень 1). Исходный код написан на Verilog и лицензируется по множеству лицензий. Большая часть исходного кода OpenSPARC T2 лицензируется по лицензии GPL. Исходный код, основанный на существующих проектах с открытым исходным кодом, будет по-прежнему лицензироваться в соответствии с действующими лицензиями. Бинарные программы лицензируются в соответствии с Лицензионным соглашением на бинарное программное обеспечение.

Также существует симулятор с полностью открытым исходным кодом для архитектуры SPARC:

  • RAMP Gold — 32-битная 64-поточная реализация SPARC версии 8, предназначенная для моделирования архитектуры на основе FPGA. RAMP Gold написан на языке SystemVerilog примерно в 36 000 строк и лицензируется по лицензии BSD .

Суперкомпьютеры [ править ]

Для высокопроизводительных вычислений компания Fujitsu создает специализированные процессоры SPARC64 fx с новым набором расширений инструкций, называемым HPC-ACE (Высокопроизводительные вычисления – расширения арифметических вычислений).

Fujitsu Компьютер K занял первое место в списках TOP500 за июнь 2011 и ноябрь 2011 года. Она объединяет 88 128 процессоров SPARC64 VIIIfx , каждый из которых имеет восемь ядер, что в общей сложности составляет 705 024 ядра — почти вдвое больше, чем в любой другой системе из TOP500 на тот момент. Компьютер K был мощнее следующих пяти систем в списке вместе взятых, и имел самое высокое соотношение производительности и мощности среди всех суперкомпьютерных систем. [46] Он также занял шестое место в списке Green500 за июнь 2011 года с показателем 824,56 MFLOPS/Вт. [47] В рейтинге TOP500 за ноябрь 2012 года компьютер K занял третье место, используя наибольшую мощность из трех лучших. [48] В соответствующем выпуске Green500 он занял 85-е место . [49] Новые процессоры HPC IXfx и XIfx были включены в последние суперкомпьютеры PRIMEHPC FX10 и FX100.

Тяньхэ-2 ( ТОП500 №1 по состоянию на ноябрь 2014 г.) [50] ) имеет ряд узлов с процессорами Galaxy FT-1500 на базе OpenSPARC , разработанными в Китае. Однако эти процессоры не внесли вклад в оценку LINPACK . [51] [52]

См. также [ править ]

  • ERC32 — на основе спецификации SPARC V7.
  • Ross Technology, Inc. — разработчик микропроцессоров SPARC в 1980-х и 1990-х годах.
  • Sparcle — модифицированный SPARC с поддержкой многопроцессорности, используемый в проекте MIT Alewife.
  • LEON — процессор SPARC V8 с космическим рейтингом.
  • Р1000 — российский четырехъядерный микропроцессор на базе спецификации SPARC V9.
  • Galaxy FT-1500 — китайский 16-ядерный OpenSPARC. процессор на базе

Ссылки [ править ]

  1. ^ Перейти обратно: а б с «Fujitsu выведет ARM в царство Super» . Музей «Хажина процессора» . 21 июня 2016 года. Архивировано из оригинала 30 июня 2019 года . Проверено 30 июня 2019 г.
  2. ^ Перейти обратно: а б с д "График" . СПАРК Интернэшнл . Архивировано из оригинала 24 апреля 2019 года . Проверено 30 июня 2019 г.
  3. ^ Перейти обратно: а б «Фуджитсу СПАРК» . cpu-collection.de . Архивировано из оригинала 6 августа 2016 года . Проверено 30 июня 2019 г.
  4. ^ Воган-Николс, Стивен Дж. (5 сентября 2017 г.). «Закат солнца: Oracle закрывает последние линейки продуктов Sun» . ЗДНет . Архивировано из оригинала 10 сентября 2017 года . Проверено 11 сентября 2017 г.
  5. ^ Николс, Шон (31 августа 2017 г.). «Oracle наконец решает перестать оттягивать неизбежное и начинает увольнения оборудования» . Регистр . Архивировано из оригинала 12 сентября 2017 года . Проверено 11 сентября 2017 г.
  6. ^ «Дорожная карта: Fujitsu Global» . www.fujitsu.com . Проверено 15 февраля 2022 г.
  7. ^ Перейти обратно: а б «Архитектура Oracle SPARC 2015: одна архитектура… множество инновационных реализаций» (PDF) . Проект D1.0.0. 12 января 2016 г. Архивировано (PDF) из оригинала 24 апреля 2016 г. . Проверено 13 июня 2016 г. ИМПЛ. ДЭП. #2-V8: Реализация архитектуры Oracle SPARC может содержать от 72 до 640 64-битных R-регистров общего назначения. Это соответствует группировке регистров в наборы MAXPGL + 1 глобальных регистров R плюс циклический стек из наборов N_REG_WINDOWS по 16 регистров каждый, известный как окна регистров. Количество присутствующих окон регистров (N_REG_WINDOWS) зависит от реализации и находится в диапазоне от 3 до 32 (включительно).
  8. ^ «Параметры SPARC» , Использование коллекции компиляторов GNU (GCC) , GNU , заархивировано из оригинала 9 января 2013 г. , получено 8 января 2013 г.
  9. ^ SPARC Optimizations With GCC , OSNews , 23 февраля 2004 г., заархивировано из оригинала 23 мая 2013 г. , получено 8 января 2013 г.
  10. ^ Перейти обратно: а б с д Это ж Уивер, Д.Л.; Джермонд, Т., ред. (1994). Руководство по архитектуре SPARC, версия 9 . SPARC International, Inc.: Прентис Холл . ISBN  0-13-825001-4 . Проверено 27 мая 2023 г.
  11. ^ «Поведение и реализация SPARC» . Руководство по численным вычислениям – Sun Studio 10 . Sun Microsystems, Inc. 2004. Архивировано из оригинала 25 января 2022 года . Проверено 24 сентября 2011 г. Однако есть четыре ситуации, когда аппаратное обеспечение не сможет успешно выполнить инструкцию с плавающей запятой: ... Инструкция не реализуется аппаратным обеспечением (например, ... инструкции четырехкратной точности на любом SPARC FPU).
  12. ^ «Oracle SPARC Architecture 2011» (PDF) , Oracle Corporation , 21 мая 2014 г., заархивировано (PDF) из оригинала 24 сентября 2015 г. , получено 25 ноября 2015 г.
  13. ^ Соат, Джон. «СПАРК М7 Инновация» . Веб-сайт Оракула . Корпорация Оракл . Архивировано из оригинала 5 сентября 2015 года . Проверено 13 октября 2015 г.
  14. ^ «Программное обеспечение в Silicon Cloud — Oracle» . www.oracle.com . Архивировано из оригинала 21 января 2019 года . Проверено 21 января 2019 г.
  15. ^ Перейти обратно: а б с д Это ж г час я Руководство по архитектуре SPARC, версия 8 . SPARC International, Inc. , 1992 г. Проверено 27 мая 2023 г.
  16. ^ Перейти обратно: а б с д Это ж г час я «Основные инструкции SPARC» .
  17. ^ «SPARC64 IXfx Extensions Fujitsu Limited, версия 12, 2 декабря 2013 г.» (PDF) . п. 103-104 . Проверено 17 декабря 2023 г.
  18. ^ «Floodgap Retrobits представляет Solbourne Solace: храм забытого SPARC» . www.floodgap.com . Архивировано из оригинала 1 декабря 2020 года . Проверено 14 января 2020 г.
  19. ^ Сагер, Д.; Хинтон, Г.; Аптон, М.; Чаппелл, Т.; Флетчер, Т.Д.; Самаан, С.; Мюррей, Р. (2001). «Микропроцессор CMOS IA32 0,18 мкм с целочисленным исполнительным блоком 4 ГГц». 2001 Международная конференция IEEE по твердотельным схемам. Сборник технических статей. ISSCC (Кат. № 01CH37177) . Сан-Франциско, Калифорния, США: IEEE. стр. 324–325. дои : 10.1109/ISSCC.2001.912658 . ISBN  978-0-7803-6608-4 .
  20. ^ Основные характеристики и характеристики FX1 (PDF) , Fujitsu , 19 февраля 2008 г., заархивировано (PDF) из оригинала 18 января 2012 г. , получено 6 декабря 2011 г.
  21. ^ Трамбле, Марк ; Чаудри, Шейлендер (19 февраля 2008 г.), «65-нм 16-ядерный 32-поточный процессор CMT SPARC(R) третьего поколения с 32 потоками Scout» (PDF) , OpenSPARC , Sun Microsystems , заархивировано из оригинала в январе 16 декабря 2013 г. , получено 6 декабря 2011 г.
  22. ^ Вэнс, Эшли (15 июня 2009 г.), «Солнце говорят, что отменяет проект Big Chip» , The New York Times , заархивировано из оригинала 4 ноября 2011 г. , получено 23 мая 2010 г.
  23. ^ «Fujitsu демонстрирует SPARC64 VII» , heise online , 28 августа 2008 г., заархивировано из оригинала 23 мая 2013 г. , получено 6 декабря 2011 г.
  24. ^ Барак, Сильви (14 мая 2009 г.), «Fujitsu представляет самый быстрый процессор в мире» , The Inquirer , заархивировано из оригинала 17 мая 2009 г. , получено 6 декабря 2011 г. {{citation}}: CS1 maint: неподходящий URL ( ссылка )
  25. ^ «Процессор Sparc T3» (PDF) , Oracle Corporation , заархивировано (PDF) из оригинала 24 апреля 2016 г. , получено 6 декабря 2011 г.
  26. ^ Морган, Тимоти Прикетт (3 декабря 2010 г.), «Эллисон: Sparc T4 выйдет в следующем году» , The Register , заархивировано из оригинала 7 марта 2012 г. , получено 6 декабря 2011 г.
  27. ^ «Архитектура серверов SPARC Enterprise M-series» (PDF) , Fujitsu , апрель 2011 г., заархивировано (PDF) из оригинала 4 марта 2016 г. , получено 5 ноября 2011 г.
  28. ^ Морган, Тимоти Прикетт (22 августа 2011 г.), «Чип Oracle's Sparc T4» , The Register , заархивировано из оригинала 30 ноября 2011 г. , получено 6 декабря 2011 г.
  29. ^ Морган, Тимоти Прикетт (21 ноября 2011 г.), «Fujitsu демонстрирует 16-ядерный супер-потрясающий процессор Sparc64» , The Register , заархивировано из оригинала 24 ноября 2011 г. , получено 8 декабря 2011 г.
  30. ^ «Fujitsu запускает суперкомпьютер PRIMEHPC FX10» , Fujitsu , 7 ноября 2011 г., заархивировано из оригинала 18 января 2012 г. , получено 3 февраля 2012 г.
  31. ^ «Загрузка Ixfx» (PDF) . fujitsu.com. Архивировано (PDF) из оригинала 18 мая 2015 г. Проверено 17 мая 2015 г.
  32. ^ «Изображения SPARC64» (PDF) . fujitsu.com. Архивировано (PDF) из оригинала 22 апреля 2016 г. Проверено 29 августа 2017 г.
  33. ^ «Продукты Oracle» (PDF) . oracle.com. Архивировано (PDF) из оригинала 8 марта 2017 г. Проверено 29 августа 2017 г.
  34. ^ «Продукты Oracle SPARC» (PDF) . oracle.com. Архивировано (PDF) из оригинала 26 сентября 2018 г. Проверено 29 августа 2017 г.
  35. ^ «Презентация Fujitsu в формате PDF» (PDF) . fujitsu.com. Архивировано (PDF) из оригинала 22 апреля 2016 г. Проверено 29 августа 2017 г.
  36. ^ «Глобальные изображения Fujitsu» (PDF) . fujitsu.com. Архивировано из оригинала (PDF) 18 мая 2015 года . Проверено 29 августа 2017 г.
  37. ^ «M7: SPARC следующего поколения. Hotchips 26» (PDF) . swisdev.oracle.com. Архивировано (PDF) из оригинала 31 октября 2014 г. Проверено 12 августа 2014 г.
  38. ^ «Серверная архитектура Oracle SPARC T7 и SPARC M7» (PDF) . oracle.com. Архивировано (PDF) из оригинала 6 ноября 2015 г. Проверено 10 октября 2015 г.
  39. ^ Винаик, Басант; Пури, Рахул (24 августа 2015 г.). «Hot Chips – 23–25 августа 2015 г. – Конференция, день 1 – Процессор Oracle Sonoma: усовершенствованный недорогой процессор SPARC для корпоративных рабочих нагрузок» (PDF) . hotchips.org. Архивировано (PDF) оригинала 9 октября 2022 г. Проверено 25 января 2022 г.
  40. ^ «Раскрыты чертежи: Oracle впихивает Sparc M7 и InfiniBand в более дешевые чипы Sonoma» . theregister.co.uk. Архивировано из оригинала 29 августа 2017 года . Проверено 29 августа 2017 г.
  41. ^ «Документы Fujitsu» (PDF) . fujitsu.com. Архивировано (PDF) из оригинала 29 августа 2017 г. Проверено 29 августа 2017 г.
  42. ^ «Новые системы Oracle SPARC обеспечивают в 2–7 раз лучшую производительность, возможности безопасности и эффективность, чем системы на базе Intel» . oracle.com. Архивировано из оригинала 18 сентября 2017 года . Проверено 18 сентября 2017 г.
  43. ^ «Процессор SPARC M8» (PDF) . oracle.com. Архивировано (PDF) из оригинала 28 февраля 2019 г. Проверено 18 сентября 2017 г.
  44. ^ Маклафлин, Джон (7 июля 1993 г.), «Intergraph для переноса Windows NT в SPARC» , The Florida SunFlash , 55 (11), заархивировано из оригинала 23 июля 2014 г. , получено 6 декабря 2011 г.
  45. ^ Проект: Linux для SPARC — oss.oracle.com , 12 октября 2015 г., заархивировано из оригинала 8 декабря 2015 г. , получено 4 декабря 2015 г.
  46. ^ «Список TOP500 (1–100)» , TOP500 , июнь 2011 г., заархивировано из оригинала 23 июня 2011 г. , получено 6 декабря 2011 г.
  47. ^ «Список Green500» , Green500 , июнь 2011 г., заархивировано из оригинала 3 июля 2011 г.
  48. ^ «Список Top500 – ноябрь 2012 г. | TOP500 суперкомпьютерных сайтов» , TOP500 , ноябрь 2012 г., заархивировано из оригинала 13 ноября 2012 г. , получено 8 января 2013 г.
  49. ^ «Список Green500 – ноябрь 2012 г. | The Green500» , Green500 , ноябрь 2012 г., заархивировано из оригинала 6 июня 2016 г. , получено 8 января 2013 г.
  50. ^ «Тяньхэ-2 (Млечный Путь-2)» , TOP500 , май 2015, заархивировано из оригинала 26 мая 2015 , дата обращения 27 мая 2015.
  51. ^ Кин, Энди, "Tesla Supercomputing" ( mp4 ) , Nvidia , заархивировано из оригинала 25 февраля 2021 г. , получено 6 декабря 2011 г.
  52. ^ Тибодо, Патрик (4 ноября 2010 г.). «США заявляют, что Китай строит «полностью местный» суперкомпьютер» . Компьютерный мир . Архивировано из оригинала 11 октября 2012 года . Проверено 28 августа 2017 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 0FCC64F06C4B9FCBC75C347F9E297D5F__1717789980
URL1:https://en.wikipedia.org/wiki/SPARC
Заголовок, (Title) документа по адресу, URL1:
SPARC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)