Процессор архитектуры CISC


CISC – процессор со сложной системой команд – Complex Instruction Set Computer.

Особенности архитектуры:

1. Сложная система команд требующая микропрограммной их реализации(УБ с хранимой в памяти логикой работы).

2. Множество способов адресации данных.

3. Многотактовое выполнение команды. Тогда возникает интересная идея: коль у нас команда выполняется много тактов, то многие из устройств этого процессора при выполнении команды простаивают.

а) решается проблема доступа к основной памяти.

б) повышается скорость обработки путем использования суперскалярной обработки команд.

Суперскалярная обработка – это совмещение во времени выполнение двух несязанных или слабо связанных команд.

Понятно, что можем придумать такое устройство управления, которое будет одновременно декодировать 2 команды и устанавливать факт их связи, которая позволит использовать разные ОБ для выполнения этой команды. Современный процессор Intel Pentium содержит 2 независимо работающих ALU и там фактически УБ разделен на несколько частей, которые синхронизирются УБ самого верхнего уровня, отвечающим за взаимосвязь всех частей процессора.

В общем случае, архитектура суперскалярной обработки является частным случаем архитектуры со сверхдлинным командым словом.

Методы структурной организации кратных вычислений.

Кратные вычисления можно проводить как во времени так и в пространстве как последовательно так и параллельно.

Процессор архитектуры CISC

Для последовательно во времени:

X(0)(t) X(1)(t)… X(m)(t+m-1)-наборы

Y(0)(t+1) Y(1)(t+2)… Y(m)(t+m)-результаты

X(0)(t) – X нулевой набор во время t

X(1)(t+1) — X первый набор во время t+1, где 1-время однократного вычисления

Y(0)(t+1) – нулевой результат во время t+1

Y(1)(t+2) – первый результат во время t+2

clip_image004 clip_image006 так как используется тоже самое обарудование

h=1/1=1 J=1

Для параллельно в пространстве:

X(0)(t) X(1)(t+Dt)… X(m-1)(t+(m-1)Dt)

Y(0)(t+dDt)… Y(m-1)(t+(m-1+d) Dt)

x=m/(m-1+d)Dt; h=1/(n1+n2+…+nd)=1/Dnd; J=m/(m-1+d)DtDnd

Если dDt=1, то Dnd=1, то есть J»dm/(m-1+d)

dDt=1 – это когда одно и тоже устройство, но разбитое на части.

Dt – время работы самой медленной ступени.

В реальности J<dm/(m-1+d), а не приближенно.

В «параллельно в пространстве» используется дублирование оборудования. В этом случае мы можем выполнять конвейерную обработку данных или выполнять последовательные вычисления в пространстве.

d- количество стадий

В реальных устройствах есть еще буферный регистр.

Подаем на вход F данные. Если предположить что F- это комбинационная схема то на входе должны поддерживать этот набор данных пока идет вычисление. После того как мы закончим вычислять F- освобождается. Понятно что мы подаем на F новый набор данных но старые данные не могут поддерживаться на входе F1 потому что уже медленно на входе F1 появляются результаты 2-го вычисления. Потому мы поставили буферный регистр который будет отрабатывать следующее устройство для получения результата.

Загрузка...