Матричный процессор (array processor) состоит из большого числа сходных процессоров, которые выполняют одну и ту же последовательность команд применительно к разным наборам данных. Первым в мире таким процессором был ILLIAC IV (Университет Иллинойс). Это решение, зна¬чительно отличающееся от стандартной фон-неймановской машины, иногда на¬зывают архитектурой SIMD (Single Instruction-stream Multiple Data-stream — один поток команд с несколькими потоками данных).
С точки зрения программиста, векторный процессор (vector processor) очень похож на матричный. Как и матричный, он чрезвычайно эффективен при выпол¬нении последовательности операций над парами элементов данных. Однако в отличие от матричного процессора, все операции сложения выполняются в од¬ном блоке суммирования, который имеет конвейерную структуру. Компания Cray Research, основателем которой был Сеймур Крей, выпустила множество моделей векторных процессоров, начиная с модели Сгау-1 (1974).
Оба типа процессоров работают с массивами данных. Оба они выполняют од¬ни и те же команды, которые, например, попарно складывают элементы двух векторов. Однако если у матричного процессора столько же суммирующих уст¬ройств, сколько элементов в массиве, векторный процессор содержит векторный регистр, состоящий из набора условных регистров. Эти регистры загружаются из памяти единственной командой, которая фактически делает это последова¬тельно. Команда сложения попарно складывает элементы двух таких векторов, загружая их из двух векторных регистров в суммирующее устройство с конвей¬ерной структурой. В результате из суммирующего устройства выходит другой вектор, который либо помещается в векторный регистр, либо сразу используется в качестве операнда при выполнении другой операции с векторами.
Матричные процессоры в настоящее время не выпускаются, но принцип, на котором они основаны, по-прежнему актуален.
Do'stlaringiz bilan baham: |