Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора_МПСС.docx
Скачиваний:
14
Добавлен:
27.08.2019
Размер:
3.15 Mб
Скачать

7. Устройство микропрограммного управления. Структура, способы формирования управляющих сигналов, адресация микрокоманд.

Определение: устройства управления обеспечивают выполнение микроопераций в соответствии с кодом текущей команды и организует выборку команд.

Основное требования устройств управления:

1.Устройство управления должно формировать полную совокупность управляющих сигналов Y

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

3. Должно быть обеспечена возможность произвольной выборки микрокоманд, в зависимости от управляющих кодов Q

4. Должна быть обеспечена возможность модификации последовательности микрокоманд в зависимости от внешних условий Q

Существуют 2 способа реализации устройств управления:

1. Автоматы с жесткой логикой.

Для каждой операции задаваемой кодом Q строится набор комбинационных схем, которые в необходимой последовательности формируют соответствующие управляющие сигналы Y. Иными словами строится конечный автомат, в котором необходимое количество состояний реализуются на элементах памяти, а функции перехода реализуются с помощью комбинационных схем

2. Автоматы с логикой, хранимой в памяти.

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

Достоинства и недостатки

1. + высокое быстродействие и относительная простота реализации

– невозможность модификации системы в случае изменения структуры команд

2. + легкость модернизации системы путем перепрограммирования управляющей памяти

– более низкое быстродействие по сравнению с устройствами на жесткой логике.

Рис. 6.2. Обобщенная структура устройства управления.

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

Код микрокоманды записывается в регистрах микрокоманд

Рис. 6.3. Регистр микрокоманды

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

Операционная часть микрокоманды содержит управляющие сигналы либо в закодированном виде, в этом случае требуется дешифрация, либо непосредственно сигналы Y

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

Все это зависит от результата наложения маски: Если поле , то УФА вырабатывает адрес , в противном случае .

Классификации устройств управления:

1. по способу формирования управляющих сигналов:

- с горизонтальным микропрограммированием

- с вертикальным микропрограммированием

- со смешанным микропрограммированием

2. по способу формирования адреса микрокоманд:

- с естественной адресацией

- с принудительной адресацией

Горизонтальное микропрограммирование.

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

Достоинства - высокое быстродействие, простота реализации, микрооперации совмещаются по времени

Недостатки – N может достигать нескольких сотен, то есть нужна большая разрядность управляющей памяти

Вертикальное микропрограммирование.

(Стремимся уменьшить разрядность управляющей памяти)

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

Достоинства – минимальное количество разрядов операционной части

Недостатки - более низкое быстродействие из-за необходимости использовать дешифратор.

Вертикально-горизонтальное программирование.

Ч асто применяется горизонтально-вертикальное программирование – в этом случае набор управляющих сигналов Y разбивается на некоторое количество ортогональных поднаборов. Каждый из этих поднаборов содержит микрооперации, которые не требуют параллельного выполнения, либо выполняются параллельно редко. Далее на каждый поднабор устанавливается свой дешифратор. Таким образом, параллельно могут выполняться по одной микрооперации из каждого поднабора.

Способ формирования адреса:

1. с принудительной адресацией

2. с естественной адресацией

При принудительной адресации в каждой микрокоманде содержится адресная и микрооперационная часть, если микрокоманда не изменяет линейного порядка следования микрокоманд, то в адресном поле содержится один адрес, а в поле =0

Если микрокоманда изменяет линейный порядок следования, то в поле содержится код логического условия, а в адресной части два адреса.

Поясним на схеме:

На каждом такте работы схемы из управляющей памяти регистр микрокоманд считывается код микрокоманд. Операционная часть, через дешифратор, уходит к операционному устройству. Код логического условия поступает на дешифратор. Сигналы с выхода дешифратора маскируют набор внешних условий. На выходе данной схемы будет единица, только если в позиции соответствующих коду условия будет единица и при этом условие было выполнено. Таким образом с помощью мультиплекстора в регистр А записываются в случае линейного кода микропрограммы и в случае выполнения указанного условия.

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

8. Система команд и способы адресации операндов. Конвейерный принцип выполнения команд.

Первое поле содержит в себе код операции, второе поле содержит код адреса.

КОП

КАД

Код адреса содержит адреса операндов и адрес, где следует разместить результат.

Способы адресации:

1.Прямая адресация - в этом случае операнд выбирают из ячейки памяти, адрес которой указан в команде. Минус: большая разрядность адресного поля (она зависит от размера адресного пространства), плюс: простота.

2.Регистровая адресация – операнд выбирают из регистра, номер или имя которого указан в команде. Данный способ адресации является распространенным, т.к. не требует обращения к внешней памяти; дешифровка адреса существенно проще по сравнению с дешифровкой внешней памяти; малая разрядность, высокое быстродействие.

3.Косвеннорегистровая адресация – операнд выбирают из ячейки памяти, адрес которой содержится в регистре, указанном в команде.

4.Косвеннорегистровая адресация со смещением – операнд выбирают из ячейки памяти, адрес которой является суммой содержимого регистра, адрес или номер которого указан в команде, и определенного смещения.

5.Непосредственная адресация – операнд содержится непосредственно в поступившей команде.

6.Относительная адресация – адрес складывается из содержимого программного счетчика и операнда смещения.

Команды могут быть, как и безадресные, так и одно-, двух-, трехадресные.

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

Системы команд:

1.Операция пересылки – организовывает пересылку данных между двумя регистрами или регистром и ячейкой памяти. Некоторые процессоры имеют отдельные команды для общения с портами ввода/вывода.

MOV <источник>,<получатель>

MOV R1,R2 //содержимое R1 в R2

MOV (R1),R2 //из ячейки памяти по адресу -> в R2

2.Арифметические операции.

ADD, SUB – суммирование, вычитание;

MUL, DIV – умножение, деление.

3.Логические операции.

AND, OR, NOT, XOR – И, ИЛИ, НЕ, ИЛИ-НЕ.

4.Операция со сдвигом.

SHL – логический сдвиг влево; SHR – логический сдвиг вправо; SAL – арифметический сдвиг влево; SAR – арифметический сдвиг вправо. При логическом сдвиге: все биты опернада сдвигаются, при логическом: заполняются 0, кроме знакового.

5. Операции сравнения и тестирования

СМР – вычитание двух указанных операндов, при этом результат не сохраняется и операнды не изменяются; результатом операции является изменение содержимого регистра состояний.

6.Операция управления программой. Делится на команды:

- безусловного перехода (CALL – вызов подпрограммы, JMP – переход по адресу)

- условного перехода (JNE – переход, если операнды не равны, флаг нулевого результата z=0)

- организации циклов

7.Операция управления процессором.

HALT – приводит к остановке выполняемую программу;

RST – команда сброса.

8. Битовые операции.

Конвейерный принцип выполнения команд.

Принцип совмещения операций во времени известен давно и широко применяется на практике. Он включает в себя 2 понятия: параллелизм и конвейеризацию.

Параллелизм – совмещение операций во времени достигается копированием структур и параллельной работы структуры аппаратуры.

Конвейеризация – параллельная работа блоков, выполняющих различные части задачи параллелизма. В общем случае подразумевается разделение операций на более мелкие части, называемые ступенями конвейера, и выделение аппаратуры под выполнение каждой этой части. Таким образом, образуется конвейер, в котором команды и данные передаются от ступени к ступени. При этом появляется возможность совмещения во времени этапов различных команд. Конвейерный принцип повышает пропускающую способность процессора, но не уменьшает время выполнения данной команды. Конвейер эффективен, если загрузка конвейера близка к полной и при этом используются однотипные команды. Производительность процессора (количество операций в секунду) равна тактовой частоте процессора.

Рассмотрим пример разбиения команды на ступени.

1 – выборка команды; (ВК)

2 – дешифрация команды; (ДК)

3 – формирование адреса операнда; (ФА)

4 – получение операнда; (ПО)

5 – выполнение операции; (ВО)

6 – размещение результата. (РР)

INC R2 – увеличение на единицу содержимого регистра R2.

MOV (R2), R3 – производит пересылку содержания регистра R2 в регистр R3.

ADD R3, (R4) – сложение регистра R3 с содержанием ячейки памяти, находящийся в R4, результат сохраняется в R3.

Состоянием ожидания (ОЖ) называется состояние, при котором ступени конвейера пропускают несколько тактов из-за того, что не готовы операнды.

Состоянием простоя (ПР) называется состояние, при котором конвейер пропускает один или несколько тактов потому, что данный этап конвейера не используется в данной команде.