Классификация процессорных архитектур

Очевидно, что использование для количественной оценки источников и потоков двух значений – «одиночный» и «множественный», ограничивает количество возможных вариантов зависимостей. Двухкомпонентное описание архитектуры предполагает ее гомогенность и симметричность. А именно, в случае множественности каких-либо источников существующая зависимость распространяется на все множество (гомогенность), а при множественности потоков команд и данных их размерности считаются равными.

Рассматривая фон-неймановскую архитектуру как отправную точку можно, опираясь на принцип развития, путем последовательного усложнения зависимостей между потоками и исключения несвязных структур, построить полное множество возможных видов процессорных архитектур. Это множество делится на два основных класса:

· архитектуры с хранимой программой (контекстно-свободной программой), представленные в таблице 1;

· архитектуры с хранимым алгоритмом (контекстно-зависимой программой), приведенные в таблице 2.

Таблица 1. Базовые (гомогенные) модели архитектур процессоров с хранимой программой

 

  Фон-неймановские архитектуры

Не фон-неймановские архитектуры

SISD SISD(si)

SISD(si,sd)

  SI(sd)SD(si)

 

SI(sd)SD(si,sd)

SIMD   SIMD(si)   SIMD(si,sd)   SIMD(si,md)   SI(md)MD(si)   SI(md)MD(si,sd)   SI(md)MD(si,md)
MISD   MISD(mi)

 

MISD(mi,sd)

  MI(sd)SD(mi)

 

MI(sd)SD(mi,sd)

MIMD

 

 

 

MIMD(si,md)

      MI(sd)MD(si,md)
  MI(md)MD(si)   MI(md)MD(si,sd)   MI(md)MD(si,md)

 

 

MIMD(mi)

 

 

MIMD(mi,sd)

 

 

MIMD(mi,md)

  MI(sd)MD(mi)   MI(sd)MD(mi,sd)   MI(sd)MD(mi,md)
  MI(md)MD(mi)   MI(md)MD(mi,sd)   MI(md)MD(mi,md)

 

 

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

Таблица 2. Базовые (гомогенные) модели архитектур процессоров с хранимым алгоритмом

 

 

Не фон-неймановские архитектуры

SISD   SI(si)SD(si)

 

SI(si)SD(si,sd)

  SI(si,sd)SD(si)

 

SI(si,sd)SD(si,sd)

SIMD   SI(si)MD(si)   SI(si)MD(si,sd)   SI(si)MD(si,md)   SI(si,md)MD(si)   SI(si,md)MD(si,sd)   SI(si,md)MD(si,md)

MISD

  MI(si)SD(mi)

 

MI(si)SD(mi,sd)

  MI(si,sd)SD(mi)

 

MI(si,sd)SD(mi,sd)

  MI(mi)SD(mi)

 

MI(mi)SD(mi,sd)

  MI(mi,sd)SD(mi)

 

MI(mi,sd)MD(mi,sd)

MIMD

 

 

 

 

MI(si)MD(si,md)

      MI(si,sd)MD(si,md)
  MI(si,md)MD(si)   MI(si,md)MD(si,sd)   MI(si,md)MD(si,md)

 

 

MI(si)MD(mi)

 

 

MI(si)MD(mi,sd)

 

 

MI(si)MD(mi,md)

  MI(si,sd)MD(mi)   MI(si,sd)MD(mi,sd)   MI(si,sd)MD(mi,md)
  MI(si,md)MD(mi)   MI(si,md)MD(mi,sd)   MI(si,md)MD(mi,md)

 

 

 

MI(mi)MD(si)

 

 

 

MI(mi)MD(si,sd)

 

 

 

MI(mi)MD(si,md)

  MI(mi,sd)MD(si)   MI(mi,sd)MD(si,sd)   MI(mi,sd)MD(si,md)
  MI(mi,md)MD(si)   MI(mi,md)MD(si,sd)   MI(mi,md)MD(si,md)

 

 

 

MI(mi)MD(mi)

 

 

 

MI(mi)MD(mi,sd)

 

 

 

MI(mi)MD(mi,md)

  MI(mi,sd)MD(mi)   MI(mi,sd)MD(mi,sd)   MI(mi,sd)MD(mi,md)
  MI(mi,md)MD(mi)   MI(mi,md)MD(mi,sd)   MI(mi,md)MD(mi,md)

 

Как в первой, так и во второй таблицах есть пустые поля. Они отражают существование систем, т.е. несвязных структур, которые были исключены при построении множеств.

Рассмотрим место наиболее известных типов процессоров в данной классификации.

Определение потока данных, как производного от потока команд объединяет архитектуру процессоров таких машин как, например, векторно-конвейерные и матричные, в один вид с классической фон-неймановской машиной. Дальнейшая их классификация должна проводиться уже внутри вида и опираться на особенности реализации. А именно, по типу операций (скалярные, векторные). Среди векторных машин – по способу реализации векторных операций (векторно-конвейерные, матричные).

Одним из первых шагов в развитии фон-неймановской модели, как известно, было внедрение сопроцессоров. Фактически, это было использование дополнительного исполнительного устройства, например, для параллельного выполнения операций с плавающей запятой. Архитектура такого процессора описывается следующим образом – SIMD(si).

Многоядерный процессор, имеющий несколько источников команд и, например, одно исполнительное устройство обладает архитектурой вида MISD(mi). Если исполнительных устройств несколько, и каждое из них может выполнять команды, поступающие от любого источника, то архитектура будет иметь следующий вид – MIMD(mi).

Другие модели, например, процессор, управляемый потоком данных, имеет архитектуру вида SISD(si, sd), т.е. один источник потока команд и один источник потока данных, поток которого зависит от поступающего одиночного потока команд и от формируемого им же потока данных. Зависимость потока данных от самого себя – характерный признак управления исполнением команд «по готовности». Например, синпьютер [5-7] имеет формулу MIMD(si,md).

Следует отметить, что несмотря на достаточно большое разнообразие существующих процессоров, концептуально различных среди них сравнительно мало. И если в первой таблице есть реализованные виды, например, четыре вида фон-неймановских архитектур, потоковые архитектуры, то реально существующих видов из второй таблицы – нет.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: