Архитектура эвм способы адресации

Лекция 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 КОП А1 А3 15

0 КОП А1 А2 А3 23

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

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

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

безадресные
одно-, двух-, трехадресные

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

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

По функциональному назначению в системе команд ЭВМ различают следующие группы:

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

Группа команд передачи управления обеспечивает принудительное изменение порядка выполнения команд в программе.

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

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

Существуют 2 различных принципа поисков операндов в памяти: ассоциативный и адресный.

Ассоциативный поиск (поиск по содержанию запоминающей ячейки) предполагает просмотр содержимого всех ячеек памяти для выявления кода, содержащего заданный командой ассоциативный признак.

Адресный поиск предполагает, что операнд находится по адресу, указанному в адресном поле команд.

Исполнительным адресом операнда называется двоичный код номера ячейки памяти, по которому будет записан или считан оператором.

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

Способы адресации классифицируют:

по наличию адресной информации в команде (явная и неявная адресация).

по кратности обращения в оперативную память.

по способу формирования адресов ячеек памяти.

При явной адресации операнда в команде есть поле адреса этого операнда.

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

По кратности обращения в оперативную память различают:

непосредственную адресацию (direct addressing)

прямую адресацию (immediate addressing)

косвенную адресацию (indirect addressing)

Непосредственная адресация

При непосредственной адресации операнд располагается непосредственно в адресном поле команды.

Прямая адресация

При прямой адресации обращение за операндом производится по адресному коду в поле команды. При этом исполнительный адрес совпадает с адресом кода команды.

Косвенная адресация

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

Способы формирования адресов ячеек памяти можно разделить на абсолютные и относительные.

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

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

Б v код базы,
И v код индекса,
С v код смещения.

Эти составляющие используются в различных сочетаниях.

Относительная адресация

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

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

Адрес i-того операнда в массиве определяется как сумма начального адреса массива операнда, задаваемого смещением S, и индекса I , записанного в одном из регистров регистровой памяти, называемым индексным регистром.

Адрес индексного регистра задается в команде полем адреса индекса Аи.

В каждом i-том цикле содержимое индексного регистра изменяется на постоянную величину, как правило, это 1.

В некоторых моделях ЭВМ относительная адресация выполняется без суммирования по следующей схеме:

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

Стековая память широко используется в современных ЭВМ. Хотя адрес обращения в стек отсутствует в команде, он формируется схемой управления:

Для чтения записи доступен только один регистр v вершина стека. Этот способ адресации используется, в частности, системой прерывания программ при вложенных вызовах подпрограмм.

Стековая память реализуется на основе обычной памяти с использованием указателя стека и автоиндексной адресации.

Запись в стек производится с использованием автодекрементной адресации, а чтение — с использованием автоинкрементной адресации.

Источник

Оцените статью
Разные способы