Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Способы адресации в АПЛ
Существует 4 способа адресации:
принудительный;
естественный;
функциональный;
программируемый.
1. Принудительный способ.
Адрес следующей микрокоманды принудительно указывается в предыдущей микрокоманде.
поле условий
МК
0, 1
х
0, 1
А МК адрес следующей микрокоманды
х |
Х |
А |
0 |
0 |
А0 |
0 |
1 |
А0 |
1 |
0 |
А0 |
1 |
1 |
А1 |
где х условие;
Х необходимость его проверки.
Недостатком этого способа является удлинение адресного поля микрокоманды. Применяется редко.
2. Естественный способ.
Предполагает размещение последовательно выполняемых микрокоманд в последовательно расположенных ячейках МПП. Если нет переходов, то адрес следующей микрокоманды определяется инкрементом предыдущей.
поле условий
МК
х |
Х |
А |
0 |
0 |
А+1 |
0 |
1 |
А+1 |
1 |
0 |
А+1 |
1 |
1 |
А0 |
0,1
х
0,1
+1
А
Этот метод реализован практически во всех машинах. Его достоинством является то, что, по сравнению с принудительным способом, все микрокоманды стали на адрес короче, однако на быстродействие это не влияет.
3. Функциональный способ.
Последовательно проверяет 2 флага:
0
1
1 0 1 0
А0 А1 А2 А3
Метод подразумевает объединение проверок в одну, т.е. оба флага проверяются в одной микрокоманде. Это является достоинством данного метода. Недостатком аппаратная сложность, дороговизна.
х1
х2
А
4. Программируемый способ.
В УА аппаратно реализованы все 3 предыдущих метода. Программно выбирается наиболее эффективный.
Формат команды с непосредственным операндом:
1) 2)
3) 4)
5) 6)
5 и 6 байт непосредственный операнд
Биты s и w интерпретируют данные:
если sw = 10 => байт
01 => слово
11 => двойное слово
disp смещение
data сам операнд
Однооперандная команда:
Может занимать от 2 до 4 байт. здесь хранится единственный операнд
w размер операнда: если w = 0 => байт
1 => слово
Формат команды 32-разрядного процессора:
Команде предшествует префикс байт, который идентифицирует находящуюся после него команду.
У префикса есть 4 поля:
1) повтор: указывает длину цепочки
2) размер адреса: коммутирует переключение 16- (R- и V-режимы) и 32-разрядных адресов (P-режимы)
3) размер операнда (32- или 16-разрядные)
4) замена сегмента. Поле, в котором указывается физический адрес сегмента, с которым мы
сейчас работаем, если он отличается от сегмента указанного по умолчанию.
Команда:
ss множительный коэффициент, на который умножается содержимое регистра, участвующего в длинном способе адресации.
index: указывает номер регистра, в котором хранится индекс для индексной адресации.
base: номер РОНа, в котором хранится база.
sib: если байт sib присутствует в команде, то адрес операнда вычисляется с привлечением полей mod, ss, index и base. Если его нет, то как и в 16-разрядном процессоре с привлечением полей mod и r/m.
0, 1, 2 или 4 длина команды.