Организация МПС на базе секционированных БИС
В развитие идеи микропроцессоров 3 поколения (см. раздел 1.4.3) достаточно широкое распространение получили т.н. комплекты секционированных микропроцессорных БИС, на базе которых разрабатываются МПС с разрядно-модульной организацией. Часто микропроцессоры такого типа называют многокристальными, имея в виду, что аппаратура МП располагается на нескольких связанных между собой кристаллах.
Однако, главной особенностью архитектуры многокристальных МП является раздельная организация операционного и управляющего автоматов и реализация операционной части в виде разрядных сечений.
Рис. 10.1. Общая структура МПС на секционированных БИС
При этом пользователь (разработчик) получает две глобальные степени свободы:
* возможность варьировать разрядность МПС за счет объединения различного числа БИС операционных устройств;
* возможность реализации (почти) произвольной системы команд за счет изменения содержимого микропрограммного ПЗУ.
На Рис. 10.1 приведена общая структура МПС с разрядно-модульной организацией. Процессор реализован на комплекте секционированных БИС, а память и ВУ - традиционным для однокристальных МП способом.
Для реализации МПС с разрядно-модульной организацией в составе комплектов микропроцессорных БИС выпускаются различные варианты арифметико-логических секций, секций управления и вспомогательных БИС (регистры, схемы ускоренного переноса, контроллеры прерываний и др.).
10.1.
Арифметико-логические секции
Для реализации операционного автомата МП используются арифметико-логические секции (АЛС) различной разрядности, иногда называемые центральными процессорными элементами (ЦПЭ).
Рис. 10.2. Обобщенная структура ЦПЭ
Действительно, помимо непременного арифметико-логического блока со средствами межразрядных связей, в состав АЛС/ЦПЭ часто включаются регистры (специальные и общего назначения), средства коммутации магистралей, блоки позиции, дешифраторы инструкций и др. От процессора такие БИС отличает лишь отсутствие устройства управления.
Наибольшее распространение получили ЦПЭ с т.н. трехшинной организацией (Рис. 10.2).
В состав ЦПЭ входят следующие основные блоки: арифметико-логический блок АЛБ, блок регистров общего назначения РОН, мультиплексоры данных MA, MB и MC, мультиплексор адреса МАдр, накапливающий регистр - аккумулятор Aс, двунаправленный сдвигатель, счетчик команд Сч.К с инкрементором Инкр., регистр и дешифратор микрокоманды (микроинструкции) и блок позиции.
Блок позиции предназначен для определения некоторых функций и назначения выводов секции в зависимости от ее положения в разрядной сетке процессора. Как правило, различают три позиции секции: младшая, средняя и старшая. Блок позиции присутствует не во всех вариантах АЛС.
Секция ЦПЭ имеет следующие входы: данных B, микроинструкции МК, переноса в АЛБ (CI) и в Сч.К (СК), кода позиции П0,П1.
Выходами БИС являются: шины данных D и адреса A, переносы из старших разрядов АЛБ и инкрементора СчК, флаги, формируемые в АЛБ (Z, P и др.).
Кроме того, в секции предусмотрены двунаправленные линии левого и праволо сдвига (СЛ и СП соответственно).
Разрядность секции ЦПЭ может быть различной (2 - 4 - 8 бит), причем наличие входов и выходов переносов АЛБ и инкрементора Сч.К, а так же двунаправленных линий правого и левого сдвигов дает возможность объединения произвольного числа секций.
Структуре Рис. 10.2 наиболее полно отвечают процессорные секции К584ВМ1 и К589ИК02. Популярнейшая серия секционированных БИС - К1804 (Am2900) имеет несколько отличную структуру (Рис. 10.3, Рис. 10.4).
На Рис. 10.3 представлена 4-разрядная арифметико-логическая секция К1804ВС1 (Am2901). Она включает в себя :
* арифметико-логический блок АЛБ;
* двухканальное регистровое запоминающее устройство (РЗУ) объемом 16 4-разрядных слов;
* выходные регистры каналов РЗУ A и B;
* пятивходовой селектор источников данных, формирующий значения операндов R и S для АЛБ;
* селектор выходных данных, выбирающий для подачи на выходной буфер результат F с выхода АЛБ или считанное по каналу A РЗУ содержимое Рг.A;
* 4-разрядный регистр Q, который удобно использовать для хранения операндов в операциях умножения и деления;
* два сдвигателя, каждый из которых позволяет сдвинуть входной код на один разряд влево или вправо или передать операнд на выход без сдвига. Сдвигатель_1 предназначен для сдвига результата операции в АЛБ при занесении его в РЗУ; сдвигатель_2 позволяет сдвинуть содержимое регистра Q;
* блок дешифрации инструкции, выходы которого (микрооперации) управляют выбором операндов для АЛБ, действием в АЛБ и размещением результата.
Линии, связывающие секцию с "внешним миром" делятся на входные, выходные и двунаправленные:
D[3:0] | - вход данных; |
AA[3:0], AB[3:0] | - входы адресов каналов A и B РЗУ; |
I[8:0] | - вход инструкции; |
C0 | - вход переноса в АЛБ; |
OE\ | - разрешение выдачи данных на выход буфера; |
Y[3:0] | - выход данных; |
C4 | - выход переноса из АЛБ; |
Z | - выход признака нулевого результата; |
Рис. 10.3. АЛС К804ВС1
OVR | - выход признака арифметического переполнения; |
G, P | - выходы признаков генерации и прохождения переноса через тетраду; |
PR3, PR0 | - двунаправленные линии (старшая и младшая) сдвигателя результата; |
PQ3, PQ0 | - то же для сдвигателя регистра Q. |
Девятибитовая инструкция I делится на три трехбитовых поля, причем I[2:0] определяет выбор операндов для АЛБ, I[5:3] задает операцию в АЛБ, а I[8:6] управляет размещением результата. В Табл. 10.1 приведена кодировка полей инструкции и описание соответствующих действий.
В АЛС . .ВС1 управление осуществляется на уровне микрокоманд, уровень микроопераций в этой секции недоступен. Кроме того, секции. .ВС1 не различаются по позициям, занимаемым в процессоре.
Табл. 10.1
Код поля | Источник АЛБ | Операция | Размещение результата | ||||
R | S | в АЛБ | РЗУ (AB) | Рг. Q | Y | ||
A | Q | R + S + C0 | - | F ® Q | F | ||
A | B | S - R - 1 + C0 | - | - | F | ||
Q | R - S - 1 + C0 | F ® РЗУ | - | A | |||
B | R Ú S | F ® РЗУ | - | F | |||
A | R & S | F/2® РЗУ | Q/2® Q | F | |||
D | A | R\ & S | F/2® РЗУ | - | F | ||
D | Q | R Å S | 2×F® РЗУ | 2×Q® Q | F | ||
D | (R Å S)\ | 2×F® РЗУ | - | F | |||
Значительно большими функциональными возможностями обладает АЛС К1804ВС2 (Am2903) (Рис. 10.4). Расширение возможностей обеспечено, с одной стороны, значительно более сложным АЛБ, с другой стороны возможностью непосредственного доступа ко многим точкам управления на кристалле.
Структуры секций. .ВС1 и. .ВС2 похожи друг на друга, однако некоторые, на первый взгляд незначительные отличия существенно расширяют возможности АЛС. .ВС2. Отметим отличительные особенности структуры. .ВС2.
1) Регистр канала B РЗУ снабжен буфером с тремя состояниями, выход которого поступает на вход мультиплексора MS и на внешние линии DB[3:0], а управление буфером доступно пользователю непосредственно с помощью сигнала OEB\.
При открытом буфере считанное по каналу B содержимое ячейки РЗУ поступает на вход мультиплексора MS и может быть использовано в качестве операнда АЛУ. Одновременно содержимое Рг.B поступает на выходные линии DB и может быть использовано внешними схемами, т.е. имеется непосредственный доступ в РЗУ по каналу B.
При закрытом буфере линии DB становятся дополнительными входными, наряду с линиями DA[3:0].
2) Сдвигатель результата F так же снабжен буферной схемой, управляемой сигналом OEY\, причем вход РЗУ соединен с выходом буфера, что позволяет использовать линии DY[3:0] как двунаправленные, обеспечивая при закрытом буфере непосредственный доступ в РЗУ по каналу записи B.
Такая организация РЗУ позволяет расширять объем памяти, доступной секции, за счет подключения дополнительных внешних модулей памяти, а так же обеспечивать прямой доступ в РЗУ со стороны других абонентов. Характерно, что сигнал управления записью в РЗУ - WE\ - так же доступен пользователю.
Рис. 10.4. АЛС К804ВС2
Помимо буферных схем, непосредственному управлению доступны мультиплексоры операндов АЛУ MR и MS и загрузка результата в регистр RQ. В секции предусмотрены входные сигналы позицирования. Ниже приведен список внешних линий секции и описано назначение линий.
DA[3:0] | - входная шина данных; |
DB[3:0] | - двунаправленная шина данных; |
DY[3:0] | - шина результата (входная шина РЗУ); |
WE\ | - разрешение записи в РЗУ (канал B); |
ЕА\ | - разрешение передачи A à R (при EA = 1 D à R); |
IO | - управление выбором DBà S или Bà S; |
OEY\ | - разрешение выдачи результата на линии Y[3:0]; |
IEN\ | - разрешение записи в регистр Q; |
PF3, PF0 | - двунаправленные линии сдвигателя результата; |
PQ3, PQ0 | - двунаправленные линии сдвигателя регистра Q; |
C0 | - входной перенос АЛУ; |
C4 | - выходной перенос АЛУ; |
P/OVR | - признак прохождения переноса/флаг переполнения; |
G/F3 | - признак генерации переноса/флаг знака; |
LSS | - вход задания младшей позиции БИС; |
MSS/W | - вход задания старшей позиции/выход строба записи в РЗУ; |
Z | - флаг нуля или вход управления; |
I[8:0] | - код микрокоманды. |
В БИС старшей позиции на выходах флагов АЛУ генерируются значения OVR и F3, на остальных позициях - сигналы P и G для подключения схемы ускоренного переноса. Если LSS = 0 (младшая позиция), то линия MSS/W становится выходом W, на котором формируется строб записи в РЗУ. Позиция секции задается кодом на LSS, MSS:
Табл. 10.2
LSS | MSS | Позиция |
х | Младшая | |
Средняя | ||
Старшая |
Система микрокоманд. ЦПЭ управляется 20-разрядной микрокомандой, включающей поля адресов AA[3:0] и AB[3:0], инструкцию I[8:0] и специальные управляющие сигналы EA, IO, OEB.
Выбор источников операндов для АЛУ обеспечивается набором внешних управляющих сигналов (Табл. 10.3)
Табл. 10.3
Управляющие сигналы | Операнды АЛУ | |||
EA | IO | OEB | R | S |
RA | RB | |||
RA | DB | |||
x | RA | RQ | ||
DA | RB | |||
DA | DB | |||
x | DA | RQ |
Поле инструкции I[4:1] определяет операцию в АЛУ (Табл. 10.4), а поле I[8:5] - выбор приемников результатов (), причем если (I[4:1] = 0000) & (IO = 0), то в АЛУ выполняется специальная функция (Табл. 10.6).
При выполнении специальной функции действия в АЛУ зависят не только от кода I[8:5], но и от состояния входа Z. Специальные функции могут обеспечить выполнение умножения и деления чисел без знаков или в дополнительном коде. Естественно, что по одной микрокоманде осуществляется умножение на один разряд множителя или получение одной цифры частного. Микрокоманды, включающие специальные функции, фактически составляют тело цикла операции умножения или деления.
Кроме того, специальные функции позволяют осуществлять нормализацию слов одинарной и двойной длины.
Сдвигатель F результата может выполнять 4 типа сдвига: левый SLL и правый SLR логический и левый SAL и правый SAR арифметический. При арифметических сдвигах старший разряд F3 старшей секции (знаковый) не участвует в сдвиге. Кроме того, сдвигатель F реализует при I[8:5] = 1110 т.н. "расширение знака", при котором на все линии DY[3:0] поступает значение PF0. При I[8:5] = 10хх на линию PF0 выдается значение паритета: PF0 = F0 +' F1 +' F2 +' F3 +' PF3. Сдвигатель Q выполняет только логические сдвиги. При определенных комбинациях кода инструкции сдвигатели передают входную информацию на выход без сдвига.
Табл. 10.4 Табл. 10.5
I[4:1] | Функция АЛУ | I[8:5] | Сдвиг.F | Сдвиг.Q | |
SAR | - | ||||
S - R - 1 + C0 | SLR | - | |||
R - S - 1 + C0 | SAR | SLR | |||
R + S + C0 | SLR | SLR | |||
S + C0 | F ® DY | - | |||
S\ + C0 | F ® DY | SLR | |||
R + C0 | F ® DY | F ® RQ | |||
R\ + C0 | F ® DY | F ® RQ | |||
SAL | - | ||||
R\ & S | SLL | - | |||
(R Å S)\ | SAL | SLL | |||
R Å S | SLL | SLL | |||
R & S | F ® DY | - | |||
(R & S)\ | F ® DY | SLL | |||
(R Ú S)\ | расш.знака | - | |||
R Ú S | F ® DY | - |
Характерно, что действия, определяемые табл. 9.5 и 9.6 соответствуют значению сигнала IEN = 0, иначе запись в регистр RQ блокируется.
Назначение линий PF3, PF0, PQ3, PQ0 (вход, выход, высокоимпеансное состояние) и их значения определяются выполняемым типом сдвига, позицией секции и выполняемой микрооперацией. Подробно о состоянии этих линий в различных операциях сказано в [15], [16], [5], [6].
Синхронизация работы секции осуществляется от однофазного тактового сигнала T, период которого не должен быть менее 80 нс.
Помимо арифметико-логических секций, в рамках серии К1804 выпускаются 16-разрядные несекционированные процессорные элементы, архитектура которых значительно отличается от рассмотренных выше. В состав ПЭ К1804ВМ1 входит 16-разрядное АЛУ, блоки регистров, схемы управления и коммутации. Управление процессорным элементом осуществляется с помощью инструкций.
Подробнее организация процессорного элемента и систем на его основе рассмотрена в разделе 9.5.
Табл. 10.6
Функция | Операция в АЛУ | Функция | Функция | ||
I[8:5] | АЛУ | Z = 0 | Z = 1 | Сдвигат. F | Сдв.и Рг. Q |
Умножение без знака | S + C0 | R + S + C0 | F/2®DY 1) | RQ/2®RQ | |
Умножение в доп. коде | S + C0 | R + S + C0 | F/2®DY 2) | RQ/2®RQ | |
+1 или +2 | S + 1 + C0 | F®DY | Хранение RQ | ||
Преобразование вДК | S + C0 | S\ + C0 | F®DY 3) | Хранение RQ | |
Умн.в ДК посл.цикл | S + C0 | S-R-1+C0 | F/2®DY 2) | RQ/2®RQ | |
Нормализа ция слова одинарной длины | S + C0 | F ® DY | 2×RQ®RQ | ||
То же двой- ной длины или первый цикл деления | S + C0 | 2×F ® DY | 2×RQ®RQ | ||
Деление в дополнит. коде | S + R + C0 | S-R-1+C0 | 2×F ® DY | 2×RQ®RQ | |
То же с кор- рекцией и остатком | S + R + C0 | S-R-1+C0 | F ® DY | 2×RQ®RQ | |
1) - на выход DY[3] старшей секции поступает C4; | |||||
2) - на выход DY[3] старшей секции поступает F3 Å OVR; | |||||
3) - на выход DY[3] старшей секции поступает S3 ÅF3. |
Дата добавления: 2019-02-07; просмотров: 417;