Организация процессоров
Векторно-параллельные ВС иногда называют «настоящими SIМD», тем самым подчеркивая, что в векторно-конвейерных ВС имеется несколько иной механизм взаимодействия потоков команд и данных, больше характерный для MISD. В то же время логически или функционально и в векторно-конвейерных системах фактически реализуется принцип SIMD (одна инструкция – например, сложение, выполняется для нескольких потоков данных, но только эти потоки как бы выстраиваются в одну очередь на конвейере).
Например, если необходимо находить свертку, то есть вычислять выражение вида : , то можно использо¬вать два арифметиче¬ских конвейера – для умножения и для сло¬жения (сложение тоже можно конвейеризо¬вать, см. конвейериза¬цию параллельного сумматора на заключи¬тельном этапе форми¬рования произведения в умножителе Брауна), на который подаются по¬следовательно элементы обрабатываемых векторов из векторных регистров. Арифметические устройства сами по себе могут быть и неконвейеризованными, тогда либо реализуется конвейер из трех операций: умножение, сложение и запись в регистр (память), либо – три указанные операции просто выполняются как одна макрооперация, которая называется «зацеплением», причем аппаратно ускоряется ее вычисление и подготовка следующего зацепления по сравнению с обычными процессорами общего назначения. Часто зацепление реализуется с использованием трех банков оперативной памяти, а не регистров, поскольку векторные машины должны работать с векторами и матрицами большой размерности, которые не всегда можно разместить в векторных регистрах.
Для ускорения работы с памятью используют различные механизмы адресации, операции с автоинкрементом (автодекрементом) адреса, механизмы ускоренной выборки и записи (многопортовая память, память с расслоением и т.д.), отдельное адресное обрабатывающее устройство (разнесенная архитектура). Для выполнения скалярных операций в комплексе с векторным обрабатывающим устройством в векторной машине может использоваться скалярное устройство.
|