Четырёхадресные команды
А1 – адресная часть команды, в которой содержится информация об адресе первого операнда.
А2 – содержит информацию об адресе второго опранда.
А3 – содержит информацию об адресе, по которому должен быть помещён результат.
А4 – содержится информация об адресе следующей выполняемой команды.
Микропрограмма выполнения четырёхадресной команды. Структура операционной части ЦП.
В полях А1, А2, А3, А4 в простых случаях задаются адреса ячеек ОП: адреса операндов, результата и выполняемой команды.
ОП
|
|
|
Зп
РК
1 этап. Выбор машинной команды.
РАП = РК (А4) – адрес следующей команды подаётся в память.
РЧП = Чт (РАП) – на РЧП прочитали команду, т.к. её адрес был подан на РАП.
РК = РЧП – пересылка в ЦП машинной команды.
2 этап. Дешифрация.
3 этап. Формирование исполнительного адреса и выбор операндов.
РАП = РК (А1) – адрес первого операнда подаётся в память.
РЧП = Чт (РАП) – из памяти прочитали первый операнд.
РА = РЧП – первый операнд переслали на регистр РА АЛУ.
РАП = РК (А2)
РЧП = Чт (РАП)
РВ = РЧП
4 этап. Выполнение операций в АЛУ.
РС = РА оп РВ
5этап. Запись результата.
РАП = РК (А3) – адрес результата подаётся в память.
РЧП = РС -результат подаётся в память
Зп (РАП) = РЧП -результат записывается в запоминающий массив
|
|
|
|
При переходе к трёхадресной системе адрес следующей выполняемой команды будет храниться на счётчике команд (СчК). По сравнению с предыдущим пунктом меняется только первый этап в микропрограмме.
ОП
|
|
|
Зп
РК
1 этап. Выбор машинной команды.
РАП = СчК
РЧП = Чт (РАП)
РК = РЧП
СчК = СчК + n
2 – 5 этапы – Аналогично.
Двухадресные команды.
|
|
|
Результат записываем либо по адресу А1, либо по адресу А2 (тогда этот операнд, на место которого будет записан результат, сотрётся, и нужна дополнительная команда, чтобы перезаписать этот операнд, если он понадобится для другой команды).
Одноадресные команды.
Регистр-аккумулятор добавляется в структуру ЦП. В него помещается второй операнд до выполнения одноадресной команды.
Безадресные команды.
|
z=c+b
c + b = z
ü
ü Самый оптимальный вариант – это двухадресные и трёхадресные команды.
Способы адресации.
Адресный код команды в полях Аi в большинстве случаев не совпадает с исполнительным адресом.
Под исполнительным адресом понимается физический адрес ячейки памяти, по которому хранится информация, или же по которому её необходимо записать.
1.
|
|
В адресном поле Аi хранится непосредственно исполнительный адрес.
Структурная схема.
|
|
|
адрес операнд АЛУ
РАП = РК (Аi)
РЧП = Чт (РАП)
РА = РЧП
2. Непосредственная адресация.
В адресном поле команды хранится операнд.
Структурная схема.
|
|
операнд АЛУ
РА = РК (Аi)
При непосредственной адресации можно только считывать операнд, но нельзя записывать результат на место Аi.
3. Косвенная адресация.
В адресном поле команды хранится адрес ячейки ОП, по которому находится адрес операнда (то есть адрес адреса).
Структурная схема.
|
адрес операнда
операнд АЛУ
РАП = РК (Аi) – подаём в память адрес адреса операнда.
РЧП = Чт (РАП) – получили адрес операнда.
РАП = РЧП
РЧП = Чт (РАП) – получили операнд.
РА = РЧП
4. Регистровая адресация.
В адресном поле команды указывается номер РОНа, в котором хранится операнд.
Структурная схема.
|
|
|
Номер РОНа операнд АЛУ
РОНы используются для сокращения времени доступа за операндами.