Скачиваний:
92
Добавлен:
03.06.2014
Размер:
485.12 Кб
Скачать

13. Способы адресации (косвенная и непосредственная) и форматы команд.

    1. Форматы команд

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

КОП

А3

7

0

КОП

А1

А3

15

6

5

0

КОП

А1

А2

А3

23

17

16

12

11

6

5

0

Форматом команды называется заранее обговоренная структура полей в её кодах, позволяющая ЭВМ распознавать составные части кода.

Главным элементом кода команды является код операции (КОП), что определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А1 и А2 v адреса операндов. А3 - адрес результата.

Распределение полей в формате команды может изменяться при смене способа адресации.

Способ адресации - способ вычисления адреса операнда на основе информации, имеющейся в команде.

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

Косвенная адресация. Адрес операнда, хранимый в некоторой ячейке памяти, называется ука­зателем; адресация к операнду через цепочку указателей - косвенной адресацией; количество ука­зателей в цепочке - кратность косвенной адресации. Наиболее рас­пространена однократная косвенная адресация, схема которой при­ведена на рис.15. Значение указателя, т. е. адрес операнда, на­зывается косвенным адресом. Адрес указателя остается постоян­ным, а косвенный адрес может изменяться в процессе выполнения программы командами самой программы. Этим обеспечивается воз­можность переадресации данных, т. е. обработка массивов операн­дов или сложной структуры данных с помощью одной и той же программы или участков программы.

Рис.15 Схема косвенной адресации

Косвенная адресация упрощает обработку массивов и списковых структур данных, а также передачу параметров подпрограммам, но не обеспечивает перемещаемости программ в памяти.

При многократной косвенной адресации в команде указывается адрес первого указателя и кратность - число последовательно вы­бираемых указателей. Значение каждого указателя - адрес следу­ющего указателя. В последнем указателе содержится адрес операн­да. На практике кратность обычно не превышает 6-8, так как при кратности >2 программирование значительно затрудняется.

Прямая адресация может рассматриваться как частный случай косвенной адресации с кратностью 0.

Команда с косвенной адресацией делает дополнительные обра­щения к памяти за косвенным адресом и выполняется дольше, чем команда с прямой адресацией. Но применение команд с косвенной адресацией выгоднее, так как аналогичные действия с использова­нием только прямой адресации требуют выполнения целой про­граммы.

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

Структура ЭВМ. Организация ввода и вывода информации.

Назначение системы ввода-вывода – это обеспечение взаимодействия центральной части машины с внешней средой (пользователи, устройства, процессы), которое реализуется периферийными (или внешними) устройствами (ПУ или ВУ).

Связь процессора с периферийными устройствами осуществляется:

  1. Через аккумулятор (регистр общего назначения).

  2. Через оперативную память.

Оперативная память может непосредственно взаимодействовать с внешним устройством (ВУ) в режиме прямого доступа в память (ПДП).

Основные проблемы ввода-вывода.

  1. Существует большое количество ВУ с различными параметрами:

  1. По скорости передачи данных.

  2. Формату передачи данных (устройства последовательного, параллельного представления информации и т.д.).

  3. Различным размерам передаваемых данных (биты, байты, слова, блоки, секторы).

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

  1. Различные скорости работы центральной части машины и ВУ (требуется многоуровневая буферная память).

  2. Асинхронность работы центральной части машины и ВУ (согласование операций в устройствах).

Требования к системе ввода-вывода

  1. Гарантировать эффективное согласование центральной части машины и ВУ с целью достижения максимальной производительности.

  2. Обеспечение распределения ВУ между одновременно выполняемыми задачами в системе (большинство машин работают в многозадачных режимах).

  3. Обеспечение управления каждым конкретным внешним устройством.

  4. Обеспечение дружественного интерфейса с пользователем.