Понятие машинной команды. Роль адресной части команды

 

12-13

Машинный цикл:

Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения

Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности

Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её

Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды

Снова выполняется п. 1

Данный цикл выполняется неизменно и бесконечно, и именно он называется процессом (откуда и произошло название устройства).

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

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

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

Машинная операция – это действия машины по преобразованию информации, выполняемые под воздействием одной команды.

В общем виде машинная команда имеет структуру, изображенную на рис. 5.1.

 

Рисунок 21.1 - Общая структура

 

Операционная часть – содержит код, который задает вид операции (сложение, умножение, передача и т.д.).

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

Все машинные команды можно разделить на группы по видам выполняемых операций:

операции пересылки информации внутри компьютера;

арифметические операции над информацией;

логические операции над информацией;

операции над строками (текстовой информацией);

операции обращения к внешним устройствам компьютера;

операции передачи управления;

обслуживающие и вспомогательные операции.

Адресный код (АК) – это информация об адресе операнда, содержащаяся в команде.

 

Исполнительный адрес (АИ) – это номер ячейки ОП, к которой производится фактическое обращение.

 

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

 

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

 

Непосредственная адресация. В команде содержится не адрес операнда, а непосредственно сам операнд.

 

Относительная адресация, или базирование. Исполнительный адрес (АИ) определяется как сумма адресного кода команды (АК) и некоторого числа АБ, называемого базовым адресом. АИ = АБ + АК.

 

Регистровая адресация. Это частный случай так называемой укороченной адресации, суть которой сводится к тому, что используется только небольшая группа фиксированных ячеек памяти с начальными (короткими) адресами (0000001, 0000010, 0000011 и т.д.). Такая адресация используется только совместно с другими типами адресации.

 

Косвенная адресация. Адресный код (АК) команды указывает адрес ячейки ОП, в которой находится исполнительный адрес (АИ) операнда или команды.

 

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

 

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

 

Стековая адресация. При рассмотрении устройств памяти отмечалось, что основной принцип работы стекового ЗУ соответствует правилу: "последний пришел – первый ушел" (имеется в виду стек LIFO). Это правило реализуется автоматически. Поэтому при операциях со стеком возможно безадресное задание операнда – команда не содержит адреса ячейки стека, а содержит только адрес (или он подразумевается) регистра или ячейки ОП, откуда слово загружается в стек или куда выгружается из стека.

 

 

14.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: