Команды передачи данных.
Основные стадии выполнения команды
Лекция 4
По функциональному назначению команды ЭВМ можно классифицировать на следующие группы:
1. Команды передачи данных.
2. Команды обработки данных.
3. Команды передачи управления.
4. Дополнительные команды.
Команды передачи данных – группа команд, включающая в себя три подгруппы:
1. Команды передачи кодов внутри процессора. Фактически определяет операцию копирования, т.е. создание новых данных в приемнике (dst). Значение источника (src), как правило, сохраняется при командах передачи данных. Правда существуют такие команды, когда источник не сохраняется (команды пересылки). Команды регистровой пересылки, которые обычно имеются в системе команд процессора, обеспечивают либо однонаправленный обмен, либо взаимный обмен. С точки зрения длины команд, самые короткие – команды пересылки, как правило, двухадресные. В отдельных случаях, команды могут быть одноадресные, если существует фиксированный регистр адресной команды, определенный машинным форматом.
2. Команды обмена процессора с памятью. Связаны с передачей данных из памяти в регистры и из регистров в память. ST (store) – передача в основную память, LD (load) – в регистры. При этом может производиться независимая адресация как источника, так и приемника команд. В отдельных случаях возможна пересылка память-память.
3. Команды передачи кодов между процессором и периферией. В ЭВМ используется два принципиально разных варианта для обмена с внешними устройствами:
3.1. Специальные команды ввода-вывода (in,out). Такие команды применяются, если внешнее устройство имеет автономное адресное пространство памяти. В таких командах, как правило, адресуется только один операнд, другой операнд располагается в аккумуляторе.
3.2. Единая команда MOV. Используется в тех случаях, если регистры внешних устройств рассматриваются как часть общего адресного пространства компьютера. Это позволяет оперировать с внешними устройствами, как с обычными ячейками памяти компьютера. Разделение внешних устройств и памяти производится на аппаратном уровне. Совмещенное адресное пространство повышает гибкость программирования работы с внешними устройствами, уменьшает набор команд, но несколько уменьшает размеры доступной основной памяти. Наличие единой команды приводит к некоторому увеличению общей длины команды. Все команды передачи данных не формируют и не изменяют значения признаков результата операций.
Эта группа команд самая большая и самая главная. Разделяется в зависимости от операций, которые выполняются над данными:
1. Арифметические.
2. Логические.
3. Команды сдвига.
4. Команды обработки строк.