- •«Санкт-Петербургский государственный электротехнический университет «лэти» имени в.И. Ульянова (Ленина)»
- •Векторные процессоры.
- •Понятие вектора и размещение данных в памяти
- •Понятие векторного процессора.
- •Структура векторного процессора
- •V_load va, adrA
- •V_load vb, adrB
- •V_multiply vc, va, vb
- •Структуры типа “память-память” и “регистр-регистр”
- •Обработка длинных векторов и матриц.
- •Ускорение вычислений.
- •Программирование под гетерогенные вычислительные архитектуры.
- •Примеры векторно-конвейерных систем.
- •Cray-2.
- •История создания.
- •Характеристики.
- •Стоимость.
- •Использование.
- •Дальнейшее развитие.
Структуры типа “память-память” и “регистр-регистр”
Принципиальное различие архитектур векторных процессоров проявляется в том, каким образом осуществляется доступ к операндам. При организации «память-память» элементы векторов поочередно извлекаются из памяти и сразу же направляются в функциональный блок. По мере обработки получающиеся элементы вектора результата сразу же заносятся в память. В архитектуре типа «регистр-регистр» операнды сначала загружаются в векторные регистры, каждый из которых может хранить сегмент вектора (например 64 элемента).
Векторная операция реализуется путем извлечения операндов из векторных регистров и занесения результата в векторный регистр.
Преимущество ВП с режимом «память-память» состоит в возможности обработки длинных векторов, в то время как в процессорах типа «регистр-регистр» приходится разбивать длинные векторы на сегменты фиксированной длины. К сожалению, за гибкость режима «память-память» приходится расплачиваться относительно большим временем запуска, представляющим собой временной интервал между инициализацией команды и моментом, когда первый результат появится на выходе конвейера. Большое время запуска в процессорах типа «память-память» обусловлено скоростью доступа к памяти, которая намного меньше скорости доступа к внутреннему регистру. Однако когда конвейер заполнен, результат формируется в каждом цикле. Модель времени работы векторного процессора имеет вид:
где s – время запуска, α – константа, зависящая от команды (обычно 1/2, 1 или 2) и N – длина вектора.
Архитектура типа «память-память» реализована в векторно-конвейерных ВС Advanced Scientific Computer фирмы Texas Instruments Inc., семействе вычислительных систем фирмы Control Data Corporation, прежде всего, Star 100, серии Cyber 200 и ВС типа ETA-10. Все эти вычислительные системы появились в середине 70-х прошлого века после длительного цикла разработки, но к середине 80-х годов от них отказались. Причиной послужило слишком большое время запуска – порядка 100 циклов процессора. Это означает, что операции с короткими векторами выполняются очень неэффективно, и даже при длине векторов в 100 элементов процессор достигал только половины потенциальной производительности.
В вычислительных системах типа «регистр-регистр» векторы имеют сравнительно небольшую длину (в ВС семейства Cray – 64), но время запуска значительно меньше, чем в случае “память-память». Этот тип векторных систем гораздо более эффективен при обработке коротких векторов, но при операциях над длинными векторами векторные регистры должны загружаться сегментами несколько раз. В настоящее время ВП типа «регистр-регистр» доминируют на компьютерном рынке. Это вычислительные системы фирмы Cray Research Inc., в частности модели Y-MP и C-90.
Аналогичный подход заложен в ВС фирм Fujitsu, Hitachi и NEC. Время цикла в современных ВП варьируется от 2,5 нс (NEC SX-3) до 4,2 нс (Cray C-90), а производительность измеренная по тесту LINPACK, лежит в диапазоне от 1000 до 2000 MFLOPS (от 1 до 2 GFLOPS).