Лекция 6 Способы адресации в эвм
1.Базовые способы адресации
Адресация информации – это способ использования адресной части команды для адресации информации в памяти ЭВМ. Память ЭВМ имеет трехуровневую иерархическую структуру, поэтому сначала рассмотрим адресацию информации в памяти различных уровней, т.е. как организуется адресное пространство ЭВМ, а затем — как используется адресная часть команды для указания местоположения информации в этом адресном пространстве. Типичная схема адресного пространства представлена на рисунке 2.12.
Следует отметить, что в адресном пространстве процессора информация адресуется обычно с точностью до байта. В адресном пространстве ввода-вывода адресуется не информация, а периферийные устройства ПУ1, ПУ2, … ПУN, обращение к которым осуществляется через регистры, входящие в состав контроллеров ПУ. Каждому ПУ выделяется не менее трех регистров различного назначения – регистры данных, состояния и управления. Эти регистры нумеруются и образуют адресное пространство ввода-вывода. Информация же располагается на носителях информации (съемных или нет) ПУ. На них информация организуется в виде массивов, которым присваиваются различные имена, — так называемых файлов. Имя файла используется при обращении к массиву на носителе информации. Местоположение файлов на носителе информации хранится в каталоге. Каталог – это таблица, в которой указывается соответствие имен файлов и их физических адресов. Сам каталог располагается также на носителе информации, т. е. каталог – это тоже файл, только специфический, адресный.
На физическом уровне носитель обычно разделяется на блоки (ячейки) фиксированного размера Ебл=2к байтов. Блоки как ячейки памяти нумеруются, номер блока используется в качестве его адреса. Файл, в зависимости от его размера, на носителе может занимать один или несколько блоков, причем не обязательно соседних.
Таким образом, обращение к информации на логическом уровне осуществляется по имени файла, а на физическом — по номеру ПУ и номеру блока информации на носителе информации:
Элементы информации, из которых состоит файл, становятся доступны ЦП только после ввода файла в ОП. Отсюда понятие ввода-вывода информации. Процесс ввода-вывода осуществляется обычно через регистр (порт) данных РД периферийного устройства (побайтно, пословно – зависит от разрядности шины данных интерфейса, к которому подключено ПУ, т.е. через узкое ‘горлышко’, поэтому медленно, долго.
Следует отметить, что ввод-вывод файлов, т.е. обмен информацией между ОП и ПУ, осуществляется под управлением алгоритма ввода-вывода. Это достаточно сложный алгоритм. Он реализуется либо программными средствами (чаще всего), либо аппаратными.
В этом параграфе мы рассмотрим, как используется адресная часть команд для адресации информации в адресном пространстве процессора, т.е. как адресуются регистры локальной (регистровой) памяти ЛП (РОНы), как адресуются ячейки ОП, как адресуются ПУ, т.е. регистры ПУ.
Регистры памяти первого уровня адресуются напрямую (прямая регистровая адресация), путём указания номера регистра из набора: 0,1, . ,К-1. Номер регистра указывается в адресной части команды и называется адресом типа R. При программировании на ассемблере используются буквенные имена (обозначения) для РОНов. При трансляции в машинные коды имя регистра преобразуется в номер регистра, который указывается в поле R команды. Длина поля k зависит от количества регистров K: k=log2K.
Пример: MOV AX,BX
Регистры в пространстве ввода-вывода адресуются аналогично, т.е. напрямую, только длина полей R больше, т.к. регистров больше. Эти регистры размещены в контроллерах ПУ, подключаемых к интерфейсам, поэтому они снабжены интерфейсной логикой и называются портами ввода-вывода.
Адресация ячеек ОП. Данные, которые расположены в ячейках ОП, можно адресовать различными способами. Простейший из них – прямая адресация ячеек.
1. Прямая адресация — в адресной части команды указывают адрес ячейки ОП (адрес типа А). Если это байт — то номер байта, если это слово — то номер слова. Недостатки прямой адресации:
длина адреса А m – переменная величина, т. к. зависит от емкости ОП: m=log2EОП ( EОП=2m), что недопустимо, т.к. m – константа,
m принимает большие значения, т.к. емкость ОП современных ЭВМ измеряется многими мегабайтами, что увеличивает длину команды,
основной недостаток – она не обеспечивает перемещаемость программ и данных, точнее – их перемещение требует пересчета адресов типа А.
В силу указанных недостатков прямая адресация для адресации всей ОП обычно не используется, а используется для адресации лишь фиксированной части ОП (например, n=16; 216=64KB), т.е. с помощью прямого адреса фиксированной длины n можно адресовать часть ОП — т.н. страницу ОП емкостью 2n=ЕСТР, n=const, n 7 / 10 7 8 9 10 > Следующая > >>
Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.
Источник
Архитектура эвм способы адресации
Алгоритм, написанный пользователем программы, в конечном счете реализуется в виде машинных команд. Под командой понимают совокупность сведений, представленных в виде двоичных кодов, необходимых процессору для выполнения очередного шага. В ходе команды для сведений о типе операции, адресной информации о нахождении обрабатываемых данных, а также для информации о месте хранения результатов выделяются определенные разряды (поля).
0
0
Форматом команды называется заранее обговоренная структура полей в её кодах, позволяющая ЭВМ распознавать составные части кода.
Главным элементом кода команды является код операции (КОП), что определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А1 и А2 v адреса операндов. А3 — адрес результата.
Распределение полей в формате команды может изменяться при смене способа адресации. Длина команды зависит от числа адресных полей. По числу адресов команды делятся на:
безадресные | |
одно-, двух-, трехадресные |
Длина кода команды измеряется в машинных словах. Чтобы получить возможность работать с минимальным числом адресных полей, результат, к примеру, можно размещать по месту хранения одного из операндов. Либо предварительно размещают один или несколько операндов в специально выделенных регистрах процессора.
Множество реализуемых машинных действий образует её систему команд. Система команд часто определяет области и эффективность применения ЭВМ. Состав и число команд должны быть ориентированы на стандартный набор операций, используемых пользователем для решения своих задач.
По функциональному назначению в системе команд ЭВМ различают следующие группы:
команды передачи данных (обмен входами между регистрами процессора, процессора и оперативной памятью, процессора и периферийными установками). | |
Команды обработки данных (команды сложения, умножения, сдвига, сравнения-). | |
Команды передачи управления (команды безусловного и условного перехода). | |
Команды дополнительные (типа RESET, TEST,-). |
Группа команд передачи управления обеспечивает принудительное изменение порядка выполнения команд в программе.
Оттранслированные команды записываются в соседние ячейки памяти в порядке их следования в программе. При естественном порядке выполнения команд в программе, адрес каждой следующей команды определяется по содержимому специального счетчика команд, который входит в состав процессора. Содержимое этого счетчика автоматически наращивается на 1 при выполнении очередной команды. При организации ветвления цикла или для перехода на подпрограмму в счетчик в счетчик команд принудительно записывается адрес перехода, указанный в ходе команды.
Большинство алгоритмов может быть реализовано небольшим базовым набором команд. Вместе с тем система команд должна быть полной, т.е. содержать все команды, которые необходимы для интерпретации алгоритма в машинных кодах. ЭВМ общего назначения имеет универсальный набор команд и применяется в основном для решения тривиальных (стандартных) задач.
Существуют 2 различных принципа поисков операндов в памяти: ассоциативный и адресный.