- •Вступление в курс «Цифровые эвм» Принцип программного управления
- •Многоуровневое описание архитектуры компьютера
- •Уровни описания архитектуры эвм
- •Системная шина.
- •Лекция 2 Архитектура арифметико-логических устройств
- •Языки описания преобразования информации алу
- •Лекция 3-4 Блок микропрограммного управления
- •Классификация блоков управления
- •Принцип микропрограммного управления с точки зрения реализации в бму:
- •Этапы выполнения команд с точки зрения бму:
- •Обобщенная структура бму:
- •Принцип работы бму
- •Структура зоны управляющих сигналов (ус) β2
- •Зона служебных разрядов β4
- •Структура зоны ус β3. Реализация задержки управляющих сигналов
- •Структурная схема бму с учетом зоны задержки ус:
- •Лекция 5 Способы формирования адреса микрокоманды. Структура зоны β1.
- •Структура бмУс принудительной адресацией
- •Лекция 6 Сокращение розрядности зони при принудительной адресации
- •Структурна схема бму з двомірною пмк
- •Лекция 6 Относительная адресация
- •Лекция 7 алу з загальними мікроопераціями або алу з зусередженою логікою
- •Алу з двонаправленою локальною шиною
- •Формат символічної частини мікрооперацій
- •Алу з однонаправленими внутрішніми магістралями та з двонаправленим созу
- •Бму з відносною адресацією
- •Проектування еом з мікропрограмувальним керуванням
- •Структура еом
- •Интерфейс системной шины (сш)
- •Блок микропрограмного управления
- •Блок обработки данных(бод)
- •Блок обробатки даных
- •Арифметико-логичиское устройство
- •Cхема управлениями и сдвигами (сусс)
- •Блок обрботки признака
- •Другий спосіб множення
- •Алгоритм обмена данными между процесорами и общей памятью
Другий спосіб множення
R10 R11 |
R12 R13 |
R15 |
RM_C |
CT |
0000 0000 |
0000 1011 |
1101 |
|
4 |
+ 0001 1011 |
|
0110 |
1 |
-1 |
|
0010 1100 |
0011 |
0 |
-1 |
0000 1011 +0010 1100
|
0101 1000 |
0001 |
1 |
-1 |
+0101 1000
|
|
0000 |
1 |
-1 |
2-й способ умножения на микроасемблере:
/ программа умножения |
|
/ настройка связей |
|
Link l1:CT |
|
/микропрограмма умножения /загружаем в регистры адреса |
|
mult_c ll2 |
{add srl, R15, R13, z; ldet 16;} |
|
{cjp not RM_C, ll1;} |
|
{add R11, R13, R11; load RM, flags; } |
|
{add R10, R12, R10, RM_C;} |
ll1 |
{ add sll R13, R13, z; } |
|
{ add sl.25, R12, R12, z;} |
|
{PPCT ll2} |
|
{} |
Ветвление:
ПМК
0000 |
1 |
0001 |
2 |
0010 |
3 |
0111 |
4 |
Директива ддля подключения выхода l1 и мультиплексору условий :
link l1:CT
I5…I0 |
Мнемоника |
СТ |
|
001010 |
rn_c |
N.C |
|
001011 |
rn_v |
N.V |
|
000100 |
rn_z |
N.Z |
|
|
rn_n |
N.N |
|
|
rm_v |
M.V |
|
|
rm_z |
M.Z |
|
|
rm_n |
M.N |
|
|
rm_c |
M.C |
Проанализируем признаки в текущем такте без без сохранения регистров признаков можно обратившись к ним с помощью мнемоники.
|
{add r1, r1, r2; load flags; rm;} |
|
{cjp rm_z, lll1;} |
|
{add r1, r1, r4;}
|
|
{add r1, r1, r3 } |
ll1 |
|
Если не записывать признаки:
{add r1, r1, r2;}
{cjp z0, ll1;}
Пример:
F= 2ab+c/4; a=4, b=8, c=16.
a→R3,
b→R4,
c→R5
Алгоритм:
№ |
D |
OED |
MI_АЛБ |
А |
В |
12 11 |
10 6 |
5 0 |
ОЕСТ |
СЕМ |
SE |
MI |
||
000 |
0004 |
0 |
111 |
011 |
111 |
0 |
3 |
00 |
10010 |
000000 |
1 |
1 |
0 |
1110 |
001 |
0008 |
0 |
011 |
011 |
111 |
0 |
4 |
00 |
00001 |
000000 |
1 |
1 |
1 |
1110 |
002 |
0010 |
0 |
101 |
011 |
111 |
0 |
5 |
00 |
00000 |
000000 |
1 |
1 |
0 |
1110 |
003 |
0000 |
1 |
101 |
011 |
100 |
5 |
5 |
00 |
00000 |
000000 |
1 |
1 |
0 |
1110 |
004 |
0000 |
1 |
011 |
000 |
001 |
3 |
5 |
00 |
00000 |
000000 |
1 |
1 |
1 |
1110 |
005 |
0000 |
1 |
011 |
010 |
011 |
0 |
4 |
00 |
00000 |
000000 |
1 |
0 |
1 |
1110 |
006 |
0004 |
0 |
000 |
000 |
000 |
0 |
0 |
00 |
00000 |
100101 |
0 |
1 |
1 |
0011 |
000 |
0000 |
1 |
000 |
000 |
000 |
0 |
0 |
00 |
00000 |
000000 |
1 |
1 |
1 |
0011 |
Блок микропрограмного управления
БМУ состоит из памяти микрокоманд (ПМК), регистра микрокоманд в который считывается микрокоманда, схема формирования адреса микрокоманд (ФАМ), мультиплексор условий (МУ), 3 буфера: БV, БM, БP.
Для уровнения БМУ в структуре микрокоманде введено 23 розряда: 12 розрядное поле Р, которое представляет часть поля константы, сдесь кодируется непосредственно адрес перехода.
ФАМ_МІ – 4-х розрядная микроконструкция, используется для задания способа формирования адреса перехода.
ССЕ и СОМ – 2-х розрядные
СОМ- инверсия логических условий;
ССЕ – разрешение анализа условия, каторое выходит с мультиплексора условий.
СІ – разрешение формирования адреса следующей микрокоманды.
MS – 3-х розрядное поле, в котором закадирован номер кода мультиплексора.
RLD – разрешение записи констранты из поля R в регистре адресасчетчика цикла РА/СЦ.
Внутри схемы ФАМ есть устройство которое участвует в формировании адреса микрокоманды:
РА/СЦ.
Счетчик микрокоманды (СМК)
СТЕК глубиной 5 слов.
Указатель стека (УС) – адрес верхушки стека, тоесть адрес последнего загруженого слова.
Схема ФАМ реализует 16 микроконструкций, которые задают способ формирования адреса.
На входную шину поступает информация с шины адреса (ША) наспаралеливания ШАР, которая можетбыть сформирована в одном из буферов М, V или P. В этих буферах формируются адресамикрокоманд из различных …
Для того чтобы разрешить ноступление адреса на вход D схема ФАМ выдает управляющие сигналы:
= 0
= 0
= 0
В буфер Р адрес поступает с локальной шины (ЛШ), тоесть из вне.
В буфер V адрес перхода поступает по сигналу прирывания.
Источников адресов для перехода может быть:
Регистр адреса счетчик цыкла.
Счетчик микрокоманд.
СТЕК.
Данные с шины D.
Формирование логических условий\
Для того чтобы условие выполнялось λ=1 на входе. Ссу=1 или СС=0. Для того чтобы λ повторила информацию на входе мультиплексора ССЕ=0 и СОМ=1.
СОМ |
ССЕ |
MS |
1 |
0 |
001 |
ССЕ |
СОМ |
1 |
* |
λ=1 – безусловній переход
Пример 1:
Микроинструкция cond – задает линейный переход.
Адрес перехода формаруется в счетчике микрокоманд.
Пример2: Условный переход; cond- условие,adr – адрес.
{cjp cond, adr;} или
{cjp cond, metka1;}
Адрес перхода формируется в поле Р микрокоманды. Переход осуществляется, если k=1 и если λ=0. Адрес считывается из счетчика микрокоманд. Во время выполнения микроинструкцииформируется сигнал =0, который открывает буфер Р.
Р(МА)→БР→ШАР→Д→А
Организация безусловного перехода:
{cjp nz, ll1;}
При выполнении этой микроинструкции в микрокоманды должна быть закодированы:
МК
Р |
СОМ |
ССЕ |
MS |
ФАМ_МІ |
СІ |
0010 |
1 |
0 |
001 |
0011 |
1 |
Пример3: Организация циклов:
РА/СЦ при выполнении микроинструкций загружается количество циклов из поля Р микрокоманды
=0, =0
Адрес следующей микрокоманды будет формироватся счетчику микрокоманд.
Выход из цикла:
{rpct, adr;}
{rpct, mm1;}
РА/СЦ := РА/СЦ – 1 - выполняется анализ РА/СЦ и переход.