![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Двоичное представление неудобно в программировании.
Компоненты команд чаще представляют символической мнемоникой.
Пример мнемокодов операций:
ADD сложение (addition); SUB вычитание (subtraction); MUL умножение (multiplication); DIV деление (division); LOAD загрузка эл-та данных из памяти (loading);
STOR сохранение эл-та данных в памяти (storing); MOV пересылка в памяти (moving).
Критерии выбора формата команд:
- общее число различных команд;
- общая длина команды;
- тип полей команды (фиксированной или переменной длины) и их длина;
- адресуемость и способы адресации;
- простота декодирования;
- стоимость оборудования для декодирования и исполнения команд.
Адресная часть команды компьютера общего назначения. Варианты реализации.
Адресность – количество адресов, включенных в адресную часть команды.
Адресация – интерпретация адресного поля с целью нахождения операнда.
Способы задания адреса:
- явный;
- неявный – адрес операнда или результата в явном виде не представлен, но подразумевается (напр., операнду выделяется «стандартное» место).
Длина адресной части команды должна быть достаточной для предоставления доступа ко всем адресуемым ячейкам, содержащим операнды. В общем случае: , где Ki – кол-во ячеек, в которых может располагаться i-й операнд.
Варианты реализации адресной части:
- четырехадресный формат (адреса двух операндов, результата и следующей команды; «-»избыточность информации);
- трехадресный формат (адреса двух операндов, результата; «-» необходимо вводить команды управления потоком команд);
- двухадресный формат (адреса двух операндов. Результат записывается в один из операндов; «-» один операнд теряется);
- одноадресный формат (адрес одного операнда. Адрес второго операнда и результата подразумевается);
- полутораадресный формат (адрес одного операнда; второй операнд – в регистре, за счет этого адресная часть короче.)
- нульадресный формат (адресная часть отсутствует; операнд либо отсутствует, либо используются подразумеваемые адреса/операнды).
12. Режимы адресации: непосредственный, прямой, регистровый.
EА - исполнительный адрес ячейки, содержащей операнд;
O - значение операнда;
A - содержимое адресного поля команды;
R - содержимое адресного поля команды – ссылка на заданный регистр процессора.
Непосредственная адресация: О = А. Операнд задается непосредственно в команде. Пример ADD 5 (нет дополнительных операций с памятью, повышается скорость выполнения команд, диапазон операндов ограничен).
Прямая адресация: ЕА = А. В адресной части указан адрес операнда в ОП (необходим обмен с ОП, не нужны дополнительные вычисления адреса, адресуемое пространство ограничено длинной адресной части)
Регистровая адресация: ЕА = R. В адресной части указан регистр, в котором находится операнд (малый размер адресного поля, не нужен обмен с ОП, высокая скорость выполнения, регистровая память ограничена).
13. Адресация со смещением: общие принципы, относительная адресация, адресация через регистр базы.
Основной принцип адресации со смещением: адрес операнд формируется сложением базы адресации и смещения. ЕА = А + (R)
В коде команды два адресных поля:
- А – используется непосредственно;
- R – указывает на регистр, содержимое которого суммируется с А.
Относительная адресация: EA = A + (PC)
PC – неявно адресуемый регистр.
Основа метода: концепция локальности ссылок (предположение, что большинство операндов размещено недалеко от команд, в которых они используются).
Адресация через регистр базы – базовая адресация: ЕА = А + (R). Регистр базы R задается явно или подразумевается (может существует специальный базовый регистр).
14. Стековая адресация: принципы реализации, виды стека, управление стеком, стек-ориентированные операции.
Стек - упорядоченное множество элементов данных, при каждом обращении к которому может быть доступен только один из элементов. Принцип LIFO Доступный элемент – вершина стека.
Элементы могут добавляться только в вершину стека и удаляться только из вершины стека. Адресация – неявная. Количество элементов (длина стека) – переменное.
Возможное расположение стека:
- выделенная область оперативной памяти;
- регистровая память процессора.
Элементы стека:
- указатель стека – адрес вершины стека (текущего верхнего элемента); модифицируется при обращении к стеку (добавление нового элемента или удаление элемента из вершины);
- адрес основания стека – адрес «дна» стека – начальный адрес области памяти, выделенной под стек;
- граничный адрес стека – предельный адрес области памяти, выделенной под стек.
Стек-ориентированные операции:
- PUSH – добавление элемента в вершину стека;
- POP – удаление элементов из вершины стека;
- унарная операция – выполнение операции с элементом, находящимся в вершине стека. Результат замещает операнд и попадает в вершину стека.
- бинарная операция – выполнение операции с двумя верхними элементами стека; операнды из стека удаляются; результат помещается в вершину стека.
Дата публикования: 2015-01-24; Прочитано: 716 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!