Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Микропроцессоры с архитектурой SPARC




SPARC (Scalable Processor ARChitecture - масштабируемая процессорная архитектура) - архитектура RISC-микропроцессоров, первоначально разработанная в 1985 году компанией Sun Microsystems.

Линия процессоров с архитектурой SPARC включает 32-разрядные микропроцессоры MicroSPARC, SuperSPARC, HiperSPARC и 64-разрядный микропроцессор UltraSPARC [8, 20, 21]. Традиционно системы на основе SPARC микропроцессоров - это высокопроизводительные рабочие станции для научных расчетов и Unix-серверы. С выпуском нового поколения микропроцессоров значительно улучшились возможности SPARC-систем по обработке графики и видеоизображений. UltraSPARC представляет собой один из первых процессоров общего назначения, в котором эти функции реализованы аппаратно. Он имеет специальный модуль для обработки видеоданных и графики, представленной в RGB и альфа-формате. Функции обработки видеоизображений могут работать сразу с 8 элементами изображения. Обработка изображений выполняется в блоке FPU, который обычно выполняет операции над 64-битовыми данными с плавающей точкой. В этом блоке выполняется логическое сложение и умножение элементов изображения. В систему команд микропроцессора включен набор команд (VIS – Visual Instruction Set), позволяющий загружать и обрабатывать данные в виде 64-битовых блоков. VIS насчитывает 30 команд для эффективной обработки мультимедиа, графики, изображений и других алгоритмов, ориентированных на целочисленную обработку. Команды VIS включают в себя сложение, умножение и вычитание, что позволяет параллельно выполнять за один такт до 8 целочисленных операций над байтами или полусловами.

При реализации алгоритма компрессии-декомпрессии MPEG больше всего времени требует та часть алгоритма, которая выполняет анализ движения и сравнение каждой части текущего кадра с предыдущим. Благодаря наличию специальных команд в UltraSPARC эти действия выполняются как одна графическая операция. Специальная подсистема памяти автоматически загружает элемент изображения в 8-байтовые блоки. Для этого не требуется выполнения отдельной команды. При конвейеризации этих специальных команд микропроцессор будет выполнять одну операцию за такт. Использование таких специализированных команд обеспечивает 80-кратное повышение скорости выполнения обработки изображений по сравнению с другими SPARC-процессорами.

UltraSPARC имеет также несколько специальных средств, улучшающих его работу с памятью. Это повышает производительность программ мультимедиа и других системных задач. Самым крупным изменением является новая команда перемещения блока данных по шине «процессор-память» со скоростью 600 Мбайт/с. Это позволяет основному процессору работать как видеопроцессор, передавая данные с экрана на экран. Перемещение блока можно с выгодой использовать и в других приложениях, например, в сетевом программном обеспечении для перемещения пакетов данных.

В настоящее время выпускаются разновидности микропроцессоров [8, 20, 21].

UltraSPARC оснащен кэшем данных и кэшем команд по 16К каждый. Оба Кэша имеют собственный буфер трансляции адресов TLB (Translation Look-aside Buffer). UltraSPARC содержит встроенный контроллер кэша второго уровня. Выборка команд тесно интегрирована с кэшем команд первого уровня. Команды сохраняются в кэше и для ускорения обработки предварительно декодируются. Каждые 2 инструкции в кэше ассоциируются с 2 битами, которые используются для предсказания переходов. 2 бита позволяют отслеживать 4 различных состояния, кодирующих последние 2 перехода, выполняемых по этим командам. Механизм предвыборки использует эти биты для динамического упреждения переходов. UltraSPARC способен предсказывать переход с вероятностью 0,88 на тесте SPECint92 и с вероятностью 0,94 на тесте SPECfp92 [8].

Обрабатывающий конвейер UltraSPARC имеет 9 этапов и позволяет выполнять до 4 команд за один такт. Первые два этапа стандартные – это выборка и декодирование команд. На третьем этапе группируются все команды, которые можно передать следующему блоку. Микропроцессор не изменяет порядка выполнения этих команд. Задача планирования загрузки исполнительных модулей решается статически на этапе компиляции. В каждом такте могут выбираться на выполнение 2 целочисленные команды, 2 команды с плавающей точкой или графические команды, одна команда загрузки/записи в память или одна команда перехода. Таким образом, при 6 возможных командах одновременно могут выполняться лишь 4. На этом же этапе происходит получение информации из регистров.

После выбора команды конвейер разделяется на 3 части. Одна ветвь обрабатывает целочисленные команды и команды работы с памятью, а другая - команды с плавающей точкой и графические команды. Команды с плавающей точкой передаются в трехэтапный конвейер, который выполняет всю обработку, кроме деления с плавающей точкой и вычисления квадратного корня. Эти функции выполняет отдельный блок. Хотя микропроцессор подает команды поочередно, результаты не обязательно поступают в том же порядке. Базовые целочисленные команды выполняются за 1 такт. Другие, такие как целочисленное умножение и деление, могут иметь переменную длительность. Остальные этапы целочисленного конвейера выполняют загрузку/запись в память.

Структура микропроцессора UltraSPARC показана на рис. 3.8.

Процессоры с архитектурой SPARC - это на сегодняшний день единственные процессоры, использующие концепцию регистровых окон. Вместо 32 базовых регистров эти микропроцессоры предлагают 8 перекрывающихся окон регистров по 24 регистра каждое. С началом новой процедуры или ветви обработки окно не требуется записывать в память – новый контекст просто будет использовать новое окно регистров. Однако на практике число доступных окон быстро иссякает, и в этом случае приходится записывать информацию в память. Однозначного мнения о достоинствах и недостатках подобной модели пока не существует.

В UltraSPARC-2 добавлен дополнительный механизм, благодаря которому при каждом прерывании становится доступным новое окно из 8 регистров. Такое решение должно значительно увеличить скорость выполнения мультипроцессорного программного кода.

Структура микропроцессора UltraSPARC приведена на рис. 1.10.

Для получения высокой пропускной способности UltraSPARC использует иерархию шин. 128-разрядная шина памяти работает с тактовой частотой самого процессора. Для выполнения ввода-вывода на периферийные устройства используется шина SBus. Sun Microsystems реализует интерфейс с этой шиной на аппаратном уровне с помощью микросхемы коммутации магистрали, входящей в набор микросхем процессора. Она позволяет изолировать шину памяти от шины ввода-вывода и выполнять операции чтения из памяти одновременно с вводом-выводом на периферийные устройства. В результате достигается высокий коэффициент использования шины и пропускная способность 1,3 Гбит/с.

По состоянию на июль 2009 только один суперкомпьютер на процессорах SPARC включён в список самых быстрых компьютеров TOP500. Находящийся на 28 месте суперкомпьютер Fujitsu FX1 использует четырёхядерные микропроцессоры SPARC64 VII 2.52 GHz и имеет производительность 121282 GFLOPS. Он установлен в Японском агентстве аэрокосмических исследований [22].

 

 
 





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 984 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2354 - | 2220 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.