Всего на сайте:
148 тыс. 196 статей

Главная | Информатика

Операции передачи данных  Просмотрен 87

Типы операций

 

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

• операции передачи данных;

• арифметические операции;

• логические операции;

• операции ввода-вывода;

• операции SIMD;

• операции управления состоянием системы;

• операции управления ходом выполнения программы.

Операции передачи данных

Наименование операции Описание
Перемещение (MOV) Передача слова или блока данных от источника к приемнику
Сохранение (ST) Передача слова из регистра процессора в память
Загрузка (извлечение) LD Передача слова из памяти в регистр процессора
Обмен Взаимный обмен данными между источником и приемником
Очистка (начальная установка, сброс) (CLR) Передача слова, состоящего из всех нулей, в приемник
Установка (SET) Передача слова, состоящего из всех единиц в приемник
Запись в стек (PUSH) Передача слова из источника в верхнюю ячейку стека
Извлечение из стека (POP) Передача слова из верхней ячейки стека в приемник

 

В командах передачи данных должны быть специфицированы несколько параметров.

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

Во-вторых, должен быть задан объем передаваемых данных.

В-третьих, как и во всех прочих командах, адресующих операнды, необходимо специфицировать метод адресации.

Проблема выбора количества и специфики команд передачи данных, включаемых в набор команд процессора, — это всегда поиск определенного компромисса. Например, место расположения операнда — в памяти или в регистре — можно специфицировать либо в поле кода операции, либо в поле ссылки на операнд. Так, в системе команд ЭВМ семейства IBM S/370 насчитывается 12 инструкций передачи данных. Передача данных различной разрядности (8, 16, 32 или 64 бит) осуществляется разными инструкциями. Кроме того, передача регистр-регистр, регистр-память и память-регистр также выполняется командами с разными кодами операций. Например, LH - загрузка полуслова (16 бит) из памяти в регистр, STE - пересылка числа в формате с плавающей точкой из регистра в память). В вычислительных системах семейства VAX используется совсем другой подход. В архитектуре этого семейства предусмотрен единственный код операции MOV для всех команд пересылки, а в поле ссылки на операнд специфицируется, где именно находится операнд — в памяти или в регистре.

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

1. Вычислить адрес в памяти в соответствии с заданным в команде методом адресации.

2. Если адрес виртуальный, преобразовать его в физический адрес.

3. Определить, не находится ли адресуемый элемент данных в кэше.

4. Если нет, обратиться к блоку оперативной памяти.

Предыдущая статья:Типы и форматы операндов Следующая статья:Арифметические операции
page speed (0.0113 sec, direct)