UltraSPARC III

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 21:46, 26 мая 2018.
UltraSPARC III
UltraSparc 11I.jpg
UltraSPARC III
Производство: С 2001 по 2004
Частота CPU: 600 Гц  — 900 Гц 
ISA: RISC
L1-кэш 512 Кб
L2-кэш 8 Мб
Предшественник UltraSPARC II
Преемник UltraSPARC IV
GPU отсутствует
Ядра:
  • одно

UltraSPARC III - это микропроцессор 600-900 Мгц, разработанный Sun Microsystems и изготовлен компанией Texas Instruments. Является частью семейства микропроцессоров UltraSPARC, который реализует версия 9 архитектуры SPARC (Модель архитектуры RISC) вместе с UltraSPARC I, UltraSPARC II и UltraSPARC IV. UltraSPARC III представляет собой 64-разрядный микропроцессор, реализующий архитектуру набора инструкций SPARC V9 (ISA). Его преемником стал UltraSPARC IV, выпущенный в 2004 году. Конструктором проекта был Гэри Лаутербах. Хотя процессор 64-битный, он все еще может запускать 32-разрядные программы (двоичные, совместимые с более ранними моделями).

История

Он был представлен на Microprocessor Forum в 1997 году; выпуск должен был состояться в 1999 году, но, из-за конкуренции с Digital Equipment Corporation 21.264 Alpha и Intel Itanium, релиз был отложен до 2001 года. Однако UltraSPARC III получил награду «Выбор аналитиков» за лучший серверный / персональный процессор.

Революция UltraSPARC

С первой версии UltraSPARC (UltraSPARC I, 1995) произошло сильное отхождение с предыдущими типами архитектуры; на самом деле последние были разработаны для обработки буквенно-цифровых данных и выполнения программ для обработки текстов и электронных таблиц, в то время как UltraSPARC смогла обрабатывать изображения, аудио-, видео- и мультимедийные данные. Среди наиболее важных нововведений было добавление 23 новых инструкций, некоторые из которых - компактные и распаковывающие пиксели из 64-битных слов, другие - для поворота и изменения размеров изображений, а также для сжатия и распаковки видео в реальном времени. Эти инструкции назывались VIS (набор визуальных инструкций, набор мультимедийных инструкций). Более того, несмотря на то, что все версии UltraSPARC имеют 64-битную архитектуру с 64-битными адресами и регистрами, серия предлагает значительную обратную совместимость с архитектурой SPARC версии 8 (которая является 32-разрядной), имея возможность управлять 32-битные операнды и программа запуска, запрограммированные для 32-разрядного SPARC без изменений. Основное различие между различными моделями UltraSPARC было тактовой частотой, хотя в каждую новую версию были добавлены важные нововведения.[Источники 1]

Микроархитектура UltraSPARC

UltraSPARC III Arch.png

С точки зрения программного обеспечения различные модели серии UltraSPARC очень похожи, и различия в основном касаются цены и производительности; с другой стороны, с аппаратной точки зрения они заметно различаются на уровне микроархитектуры. Мы специально проанализируем процессор UltraSPARC III Cu («Cu» означает химический символ меди, который используется вместо алюминия для соединений внутри чипа, гарантируя большую скорость и создавая более тонкие соединения). Большинство инструкций UltraSPARC составляют 4 байта; он снабжен блоком поставки инструкций (IFU), который подготавливает до 4 инструкций для каждого цикла для выполнения, за исключением случаев, когда возникает сбой кэша при выдаче младшего номера. Для управления условными переходами это устройство может обращаться к таблице переходов; в нем мы найдем бит достоверности, адрес перехода и 2 бита, чтобы попытаться правильно предсказать скачок. Один из этих битов отслеживает последний прыжок, сделанный этим адресом, а другой прогнозирует, что прыжок будет выполнен. Структура этой таблицы позволяет модифицировать предсказание только после неправильного 2 последовательных прогнозов. Инструкции после их приема отправляются в буфер с шестью позициями, который регулирует поток инструкций, входящих в поток, и отправляет их на 3 других устройства: блок выполнения для целых чисел, блок выполнения с плавающей точкой и загрузки и хранения. Внутри всего исполнительного блока есть 2 ALU, регистры ISA и некоторые рабочие регистры. Модуль с плавающей запятой содержит 32 регистра и 3 различных ALU, каждый из которых выполняет другую операцию (соответственно сложение / вычитание, умножение и деление), а также выполняет графические инструкции. Блок загрузки и хранения выполняет управление потоком данных, поступающим из памяти, и использует 3 разных кэша: кеш данных (64-килобайтный 4-сторонний ассоциативный кеш и 32 байтовые строки), кеш предварительной выборки ( 2KB, потому что архитектура ISA машины позволяет брать слова данных даже до того, как они необходимы через компилятор, который заранее загружает кеш, которое может быть необходимо), кэш записи (от 2 KB используется для повышения производительности путем группировки данных, которые должны быть записаны в память, и отправки их на кэш второго уровня, внешний для ЦП). Чип содержит в себе три логических компонента, которые служат для управления доступом к памяти: системный интерфейс, контроллер кэш-памяти L2 и контроллер памяти. Интерфейс системы соединяет чип с памятью через 128-битную шину, он был спроектирован таким образом, что позволяет подключать несколько UltraSPARC к одной и той же памяти, чтобы сформировать многопроцессор. Контроллер кэша L2 позволяет связать чип с тем же (переменный размер от 1,4 до 8 МБ в зависимости от размера кеша). Кроме того, UltraSPARC поддерживает виртуальную память с 8, 64, 512 КБ и 4 МБ страницами, способную сопоставлять 64-битные виртуальные адреса с 43-битными физическими адресами; для оптимизации всего есть 3 таблицы под названием TLB (Translation Lookaside Buffers), один из которых позволяет гибко управлять разными размерами страниц, а два других - соответствовать инструкциям.

Кэш

UltraSPARC III имеет кэш первичной команд и данных с разделенным уровнем. Кэш команд имеет емкость 32 КБ. Кэш данных имеет емкость 64 КБ и представляет собой четырехходовой групповой ассоциативный кеш с 32 байтами строк кэша.

Внешний кеш второго уровня может варьироваться от 1 до 8 МБ. Это доступно на выделенной 256-битной дорожке, которая может быть до макс. Он может работать на частоте 200 МГц при максимальной полосе пропускания 6,4 ГБ / с. Благодаря широкому рельсу 32-байтовый пакет данных может быть передан за один такт. Кэш построен с синхронными статическими ОЗУ, которые работают на частотах до 200 МГц. Кэш-метки второго уровня расположены на чипе, чтобы позволить кешу работать с тактовой частотой микропроцессора. Это увеличивает пропускную способность доступа к метке кеша, так что UltraSPARC можно легко масштабировать до более высоких тактовых частот. Часть увеличенной пропускной способности доступа к меткам обеспечивается кэшированием данных для обеспечения согласованности кеша, что является необходимым требованием в многопроцессорных системах, для которых разработан процессор UltraSPARC III. Кэш второго уровня имеет максимальную емкость 8 МБ, теги кэша L2 90 КБ.

Шина

UltraSPARC III имеет 14-ступенчатый поток.

  • Этап формирования адреса находится в начале потока и является точкой, в которой определяется адрес следующей инструкции.
  • Сценарий предварительной выборки сценария использует адрес, сформированный предыдущим этапом, и начинает принимать до 4 инструкций за цикл из кеша уровня 1 инструкций, также на этом этапе выполняется таблица перехода, чтобы проверить, является ли какая-либо из этих инструкций ветвью кондиционер.
  • Этап выборки завершает вывод инструкцию из кеша.
  • Целевая ступень Брэнд декодирует сделанные инструкции.
  • На этапе формирования группы команд группируются входящие команды в соответствии с используемыми функциональными единицами (ALU целых чисел 1-2, ALU в плавающей запятой и для графических инструкций 1-2, Pipeline of the branch, операции по загрузке и хранению) ,
  • На этапе группировки команд удаляются инструкции из очереди и готовится отправить их на следующий цикл исполнительным блокам. Существует этап, который занимается поиском регистров, требуемых целыми инструкциями, тогда как для плавающей точки он отправляет запрос в регистры с плавающей запятой.
  • Этап исполнения выполняет инструкции по целым числам (логические арифметические инструкции прокрутки) за один цикл, в конце каждой инструкции обновляется банк рабочего реестра. Кроме того, операнды с плавающей запятой берутся из банка регистров с плавающей запятой. Также на этом этапе обрабатываются инструкции условного перехода, и определяется определяемая ветвь; если предсказание неверно, сигнал отправляется на этап генерации адреса, и трубопровод опорожняется.
  • На этапе Cache завершается доступ к кешу L1. На этом этапе инструкции, считывающие память, получают свои данные.
  • На этапе «Мисс» начинают обрабатываться слова данных, которые были запрошены, а не в кеше уровня 1. Выполняется поиск кэша уровня 2, и если это не удается, выдается ссылка на память, которая требует большого количества циклов.
  • Результаты записываются в банк рабочих регистров на этапе записи.
  • На этапе eXtend большинство графических операций и операций с плавающей запятой завершаются, и благодаря хранилищу для загрузки результаты становятся доступными в следующих инструкциях до того, как этот последний был снят на последнем этапе.
  • Исключения и прерывания обнаруживаются на этапе Trap, сохраняя состояние машины.
  • Последний этап копирует регистры целых чисел и чисел с плавающей запятой в их соответствующие банки архитектурных регистров.[Источники 2]

Уровень ISA

На уровне Isa все машины UltraSPARC идентичны, а адресная память представляет собой вектор 264 байта. На уровне UltraSPARC ISA организация регистров очень сложна, чтобы попытаться оптимизировать вызовы процедур. UltraSPARC имеет 2 типа регистров: общий и плавающий.

Регистры общего использования, видимые программе, равны 32, даже если их число больше. Регистры с плавающей запятой 32 и могут содержать значения 32 и 64 бит; последние также могут быть сгруппированы для управления 128-битными значениями. На самом деле ISA ultrarSPARC использует ЗАРЕГИСТРИРОВАННОЕ ОКНО, чтобы улучшить вызов процедуры, пытаясь эмулировать стек, но используя регистры, которые поэтому разделены на различные группы из 32. Регистр CWP (текущий указатель окна) отслеживает все используемые регистры; они обычно 64 бита, их имя идет от R0 до R31 и может быть прочитано и записано многими инструкциями по загрузке (кроме R0, которое содержит константу 0). Другие регистры используются для эмуляции стека. К ним относятся SP (который указывает текущий верхний стек) и LV (который указывает на базу стека). Если доступные лог-окна исчерпаны из-за чрезмерно вложенных процедур, самый старый набор копируется в память, чтобы освободить место для нового. В ultraSPARC единственными операциями, которые обращаются к памяти, являются LOAD и STORE, все операнды содержатся в регистрах (регистровая адресация) или в самой инструкции (немедленная адресация), но не в памяти, так же как все результаты должны быть сохранены в регистр.

Внешний интерфейс

Внешний интерфейс состоит из 128-битной шины данных и 43-битной адресной строки, работающей на частоте 150 МГц. 43-битная адресная строка может обрабатывать до 8 TiB памяти. Пропускная способность обеспечивает 16 байтов за раз; скорость составляет 150 МГц, поэтому достигается пропускная способность 2,4 ГБ / с. Шина данных используется для того, чтобы не получить доступ к памяти, а к памяти других процессоров и совместно используемых устройств ввода / вывода. С этой целью Sun разработала интерфейс Ultra Port Architecture (UPA), который может быть реализован как рельсовый или сетевой коммутатор. Процессор подключается непосредственно к интерфейсу UPA. Доступ к основной памяти осуществляется через интерфейс UPA.

UltraSPARC IIIi

UltraSPARC IIIi

UltraSPARC III, под кодовым названием «Jalapeno» UltraSPARC IIIi предназначен для более слабых ПК и серверов (содержащих от одного до четырех процессоров) версий конечного / начального уровня, представленных в 2003 году. С 1064 до 1593 МГц он имеет встроенный микросхему второго уровня, интегрированный контроллер памяти и способен к четырехсторонней многопроцессорной логике без оптимизированной логики для этой функции. Он имеет 87,5 млн. Транзисторов с размером чипа 178,5 мм². Texas Instruments - это 0,13 мкм, семислойный металлизированный (медный) КМОП-процесс с диэлектриком с низким коэффициентом.

UltraSPARC IIIi имеет объединенный 1 Мб кеш второго уровня, который работает на полпути через тактовую частоту микропроцессора; Его латентность составляет шесть циклов, время ее выполнения - два цикла. Для достижения латентности требуется 15 циклов. Библиотека тегов защищена от четности, данные защищены ECC. Каждая 64-байтная строка кэша имеет 36 бит ECC, которые позволяют исправлять ошибки одного байта и обнаруживать любую ошибку в четырехбитовых единицах. Куб имеет четырехходовые групповые ассоциативные 64-байтные строки и физически индексируется и помечен. В его конструкции использовались ячейки SRAM 2,76 мкм2 и состояли из 63 миллионов транзисторов.

Встроенный в чип-память контроллер памяти поддерживает SDRAM DDR-I с частотой 133 Мбайт до 16 ГБ. Память достигается через 137-битную шину памяти, 128 бит данных и 9 бит для передачи ECC. Ширина полосы пика памяти составляет 4,2 ГБ / с. Микропроцессор предназначен для четырехпроцессорной многопроцессорной обработки. A Jbus макс. он может подключать четыре микропроцессора. Это 128-битный мультиплексный адрес и панель данных, которые могут работать на третьей или половине тактовой частоты микропроцессора.[Источники 3]

Ссылки

Официальный сайт Sun microsystems

Источники

  1. UltraSPARC III // Kfo Ath [2013-2018] Дата обновления: 30.07.2015. URL:http://kfo.ath.cx/windowmaker/2012_windowmaker.info/wiki/UltraSPARC_III (дата обращения: 20.05.2018)
  2. Ultrasparc iii // Arhitektura PC [2007-2018] Дата обновления: 12.04.2015. URL:http://www.island-formoza.ru/arhitektura-pc/ultrasparc-iii.html (дата обращения: 20.05.2018)
  3. UltraSPARC III // lawbooks [1997-2018] Дата обновления: 22.04.2017. URL:https://lawbooks.news/arhitektura-kompyutera_971/ultrasparc-iii-60490.html (дата обращения: 20.05.2018)