Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы Архитектура ВС.docx
Скачиваний:
59
Добавлен:
31.08.2019
Размер:
2.86 Mб
Скачать
  1. Структура векторного процессора Структуры типа "память-память" и "регистр-регистр". Ускорение вычислений в векторных системах

Структура векторного процессора

 

Обобщенная структура векторного процессора приведена на рис. На схеме показаны основные узлы процессора, без детализации некоторых связей между ними.

 

Особенности векторного процессора

  • Обработка всех n компонентов векторов-операндов задается одной векторной командой.

  • Элементы векторов представляются числами в фор­ме с плавающей запятой (ПЗ).

  • АЛУ векторного процессора может быть реализо­вано в виде:

    • единого конвейерного устройства, способного выполнять все преду­смотренные операции над числами с ПЗ

    • АЛУ состоит из отдельных блоков сложения и умножения, а иногда и блока для вычисления обратной величины, когда операция деления x/y реализуется в видеx(1/y). Каждый из таких блоков также конвейеризирован.

Состав векторной системы:

  • Cкалярный процессор, что позволяет параллельно выполнять векторные и скалярные команды.

  • Векторные регистры для хранения векторов-операндов, которые представляют собой совокупность скалярных регистров, объединенных в очередь типа FIFO, способную хранить 50-100 чисел с плавающей запятой.

 

Набор векторных регистров (Va, Vb, Vc,...) имеется в любом векторным процессоре. Система команд векторного процессора поддерживает работу с векторными регистрами и обязательно включает в себя команды:

  • загрузки векторного регистра содержимым последовательных ячеек памяти, указанных адресом первой ячейки этой последовательности;

  • выполнения операций над всеми элементами векторов, находящихся в вектор­ных регистрах;

  • сохранения содержимого векторного регистра в последовательности ячеек па­мяти, указанных адресом первой ячейки этой последовательности.

  • Регистр длины вектора. Этот регистр определяет, сколько элементов фактически содержит обра­батываемый в данный момент вектор, то есть сколько индивидуальных операций с элементами нужно сделать.

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

  • Регистр маски вектора служит для выполнения таких операций, в которых должны участвовать не все элементы векторов. В этом регистре каждому элемен­ту вектора соответствует один бит. Установка бита в единицу разрешает запись соответствующего элемента вектора результата в выходной векторный регистр, а сброс в ноль — запрещает.

  • Регистр вектора индексов по структуре аналогичен регистру маски. Служит для выполнения операций упаковки/распаковки для получения вектора, содержащего ненулевые элементы и для обратной операции соответственно. В векторе индексов каждому элементу исходного вектора соответствует один бит. Нулевое значение бита свидетельствует, что соответствующий элемент ис­ходного вектора равен нулю.

 

Достоинства векторного процессора

 

  1. Вместо многократной выборки одних и тех же команд достаточно произ­вести выборку только одной векторной команды, что позволяет сократить издержки за счет устройства управления и уменьшить требования к пропускной способнос­ти памяти.

  2. Векторная команда обеспечивает процессор упорядоченны­ми данными. Когда инициируется векторная команда, ВС знает, что ей нужно из­влечь n пар операндов, расположенных в памяти регулярным образом. Таким образом, процессор может указать памяти на необходимость начать извлечение таких пар. Если используется память с чередованием адресов, эти пары могут быть получены со скоростью одной пары за цикл процессора и направлены для обра­ботки в конвейеризированный функциональный блок. При отсутствии чередования адресов или других средств извлечения операндов с высокой скоростью преи­мущества обработки векторов существенно снижаются.

Структуры типа «память-память» и «регистр-регистр»

 

Принципиальное различие архитектур векторных процессоров проявляется в том, каким образом осуществляется доступ к операндам. При организации «память-память» элементы векторов поочередно извлекаются из памяти и сразу же на­правляются в функциональный блок. По мере обработки получающиеся элементы вектора результата сразу же заносятся в память. В архитектуре типа «регистр-ре­гистр» операнды сначала загружаются в векторные регистры,каждый из которых может хранить сегмент вектора, например 64 элемента. Векторная операция реа­лизуется путем извлечения операндов из векторных регистров и занесения резуль­тата в векторные регистры.

 

 

  • Advanced Scientific Computer фирмы Texas Instruments Inc.

  • Control Data Corporation (Star 100, Cyber 200)

Все эти вычислительные системы появились в середине 70-х прошлого века после длительного цикла разработки, но к середине 80-х годов от них отказались. Причиной послужило слишком большое время запуска - порядка 100 циклов процессора. Это означает, что операции с ко­роткими векторами выполняются очень неэффективно, и даже при длине векто­ров в 100 элементов процессор достигал только половины потенциальной произ­водительности.

В вычислительных системах типа «регистр-регистр» векторы имеют сравни­тельно небольшую длину (в ВС семейства Cray - 64), но время запуска значи­тельно меньше чем в случае «память-память». Преимущество ВС с режимом «регистр-регистр» - эффективная обработка коротких векторов Недостаток:  обработка длин­ных векторов (векторные регистры должны загружаться сегментами несколько раз). В настоящее время ВП типа «регистр-регистр» доминируют на компьютер­ном

 

Реализация систем типа «регистр-регистр»

  • Cray Research Inc. Y-MP и С-90

  • фирмы Fujitsu, Hitachi и NEC

Это вычислительные системы фирмы, в частности модели Y-MP и С-90. Аналогичный подход заложен в системы фирм Fujitsu, Hitachi и NEC. Время цикла в современных ВС варьируется от 2,5 нс (NEC SX-3) до 4,2 нс (Cray C90), а производительность, измеренная по тесту UNPACK, лежит в диапа­зоне от 1000 до 2000 MFLOPS (от 1 до 2 GFLOPS).