Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Способы адресации информации в памяти электронных вычислительных машин

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

Следует отметить, что в адресном пространстве процессора информация адресуется обычно с точностью до байта. В адресном пространстве ввода-вывода адресуется не информация, а периферийные устройства ПУ1, ПУ2, … ПУN, обращение к которым осуществляется через регистры, входящие в состав контроллеров ПУ. Каждому ПУ выделяется не мене трех регистров различного назначения – регистры данных, состояния и управления. Эти регистры нумеруются и образуют адресное пространство ввода-вывода. Информация же располагается на носителях информации (съемных или нет) ПУ. На них информация организуется в виде массивов, которым присваиваются различные имена, - так называемых файлов. Имя файла используется при обращении к массиву на носителе информациии. Местоположение файлов на носителе информации хранится в каталоге. Каталог – это таблица, в которой указывается соответствие имен файлов и их физических адресов. Сам каталог располагается также на носителе информации, т. е. каталог – это тоже файл, только специфический, адресный.

 
 

Таким образом, обращение к информации осуществляется по имени файла на логическом уровне и по номеру ПУ и номеру блока информации на носителе информации:

 
 

 


Элементы информации, из которых состоит файл, становятся доступны ЦП только после ввода файла в ОП. Отсюда понятие ввода-вывода информации. Процесс ввода-вывода осуществляется обычно через РД периферийного устройства, побайтно (через узкое ‘горлышко’).

Следует отметить, что ввод-вывод файлов, т.е. обмен информацией между ОП и ПУ, осуществляется под управлением алгоритма ввода-вывода. Это достаточно сложный алгоритм. В ВТ он обычно реализуется либо программными средствами (чаще всего), либо аппаратными.

В этом параграфе мы рассмотрим, как используется адресная часть команд для адресации информации в адресном пространстве процессора, т.е. как адресуются регистры ЛП (РОНы), как адресуются ячейки ОП, как адресуются ПУ, т.е. регистры ПУ.

Регистры памяти первого уровня адресуются напрямую (прямая регистровая адресация), путём указания номера регистра из набора: 0,1,...,N-1. Номер регистра указывается в адресной части команды и называется адресом типа R. При программировании на ассемблере используются буквенные имена (обозначения) для РОНов. При трансляции в машинные коды имя регистра преобразуется в номер регистра, который указывается в поле R команды (длина поля k зависит от количества РОНов, k=3,4,5,...).

Данные, которые расположены в ячейках ОП, можно адресовать различными способами.

Прямая адресация - в адресной части команды указывают ячейки ОП (адрес типа А). Если это байт - то номер байта, если это слово - то номер слова. Основные недостатки прямой адресации: 1) длина адреса А m – переменная величина, т. к. зависит от емкости ОП: m=log2EОП (EОП=2m), 2) m принимает большие значения, т.к. емкость ОП современных ЭВМ измеряется мегабайтами. Поэтому прямая адресация обычно используется только для фиксированной части ОП (например, n=16; 216=64KB), т.е. с помощью прямого адреса фиксированной длины n можно адресовать часть ОП - т.н. страницу ОП емкостью 2nСТР, n=const, n<m, m=log2EОП.

А как узнать, в какой странице (сегменте) находятся адресуемые прямым адресом данные? Очевидно, процессору нужно указать номер страницы. В результате получаем второй способ адресации - классическую страничную адресацию. Суть (рисунок 2.17): ОП разделяется на страницы фиксированной емкости ЕСТР=2n. Адрес А ячейки памяти формируется из двух полей: А=Р.D, Р – номер страницы (старшие разряды адреса), D – номер ячейки в странице (младшие разряды адреса). Номер страницы Р заносится и хранится в специальном регистре номера страницы РС ЦП, адрес ячейки D указывается в адресном поле команды. Формирование физического (исполнительного) адреса А, по которому производится обращение к ОП, осуществляется по схеме, представленной на рисунке 2.17.


Недостатки: 1) сложности с организацией переходов в программе за пределы страницы. При таком переходе необходимо модифицировать содержимое регистра номера страницы в ЦП – Р:=Р+DР (Р-DР), т. е. требуется выполнение дополнительных операций с регистром Р, что снижает быстродействие процессора; 2) увеличивается длина программы – за счет модификации регистра Р, что также ведет к увеличению времени выполнения программы и снижению производительности процессора. Следует отметить, что регистр Р обычно загружается и модифицируется ОС.

В ЭВМ типа IBM РС страничная адресация в классическом (чистом) виде не используется. В РС используется более общая адресация, т.н. относительная (базовая) адресация.

Суть. Адрес А ячейки памяти формируется путем суммирования двух полей:

А=BM+D, (2.8)

где BM - базовый адрес массива данных М - страницы ёмкостью 2n, D - смещение относительно начала массива М (рисунок 2.18). Отсюда название способа: относительная, базовая адресация. Базовый адрес BM указывается в специальном регистре ЦП - базовом регистре, отсюда - второе название способа - базовая адресация. Смещение D указывается в адресной части команды. Формирование иполнительного адреса А осуществляется по схеме, представленной на рисунке 2.18. В поле В команды указывается номер регистра в локальной памяти ЛП, который используется в качестве базового

 
 

регистра ЦП (для хранения базового адреса массива).

Вычисление относительного адреса А производится по формуле (2.8): базовый адрес BM извлекается из ЛП по номеру В и складывается со смещением D из адресной части команды – А=[В]+D. Здесь [В] – содержимое регистра ЛП с номером В. Сложение проиводится по схеме:

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

В PC роль базового регистра ЦП могут выполнять регистры BX, BP, а также сегментные регистры CS, DS, ES, SS.

Следует отметить, что страничная адресация является частным случаем относительной (базовой) адресации: младшие n разрядов базового адреса равны нулю, а старшие содержат номер страницы, т.е. в случае страничной адресации на базовый адрес накладывается ограничение – он должен быть кратным 2n, емкости страницы.

Таким образом, относительная адресация обеспечивает: перемещаемость программ и данных, расширение адресного пространства ОП до 2m, уменьшение длины адресной части команды.

Четвертый способ- косвенная адресация: – в адресной части команды указывается не прямой, а косвенный адрес операнда Ак, т.е. адрес адреса операнда: Ак®А®О. По адресу Ак производится первое обращение к памяти и извлекается адрес операнда А, а затем уже по адресу А производится второе обращение и извлекается операнд О.

 
 

Недостаток косвенной адресации – дополнительное обращение к памяти и, как следствие, уменьшение быстродействия ЦП. Этот недостаток можно сгладить, если адрес А хранить не в ОП, а в ЛП, т.е. использовать косвенный адрес типа Rк, который и указывается в адресной части команды. Схема формирования адреса в этом случае имеет вид, представленный на рисунке 2.19. Поскольку время обращения к регистам ЛП обычно в 5…10 раз меньше, чем к ячейкам ОП, то время выборки операнда увеличивается незначительно – на 10…20%.

Достоинства: 1) возможность обработки адреса операнда – А=А ± DА,

2) уменьшение длины адресной.части команды при косвенной регистровой адресации, т. к. адрес типа R короче адреса типа А.

При косвенной адресации в качестве регистров в IBM РС могут использоваться регистры ВХ, DX, SI, DI и др.

Пятыйспособадресации- индексная адресация - используется для адресации элементов массивов (переменных с индексами): xiÎХ,

Х={x0, x1,..., xI}, i – порядковый номер элемента в массиве Х. Суть: адрес элемента xi складывается из двух составляющих:

А=<xi>=BX+i, (2.9)

где BX – базовый (начальный) адрес массива Х, указывается в адресной части команды, i – индекс, указывается в специальном индексном регистре ЦП, <xi> - адрес элемента xi. В качестве индексного регистра можно использовать один из РОН. В этом случае вычисление адреса А осуществляется по формуле:

А=[Х]+ВХ, (2.10)

 
 

где - [Х] – индекс, извлеченный из индексного регистра с номером Х. Схема формирования адреса А представлена на рисунке 2.20.

В РС в качестве индексных регистров можно использовать регистры SI, DI. Модифицикация индекса i осуществляется по схеме i=i ± Di, т.е. путём выполнения операций с индексными регистрами BI, DI.

Шестой способ - индексно-относительная адресация - совместное использование индексной и относительной адресации. Адрес А формируется как сумма трех величин:

А=[X]+ [B]+D, (2.11)

где: - [X] = i - индекс, BX=[B]+D =BМ+D – базовый адрес массива Х.

 
 

Схема формирования адреса А представлена на рисунке 2.21.

Рисунок 2.21

 
 

Сложение в формуле (2.11) производится по схеме:

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

KO ½1 О nОперанд О – это обычно константа.

Восьмой - неявная адресация - по умолчанию (по договорённости) известно положение одного из операндов. Используется с целью экономии адресного поля в формате команды: КО |1 А m.Схема выполнения операции: АС:=АС*[А]. Первый операнд извлекается из регистра-аккумулятора АС по умолчанию, второй операнд – из памяти по адресу А, указанному в адресной части команды, над ними выполняется операция S, заданная КО, и результат заносится в регистр АС.

В РС неявная адресация используется в командах ввода-вывода IN/OUT, в которых в адресной части команды указывают адрес порта ввода-вывода, а источником (приёмником) является регистр-аккумулятор ЦП: АС«порт. Кроме того, в РС неявная адресация используется для указания местоположения операндов в сложных операциях с плавающей запятой (неявная адресация регистров).

Итак, рассмотренные 8 способов адресации используются для адресации информации в адресном пространстве ЦП, которое включает пространство ЛП (РОН), пространство ОП и пространство ввода-вывода. Размер адресного пространства и длина адреса, по которому производится обращение к элементам адресного пространства, связаны известным соотношением Е=2m, m - длина адреса. Отсюда следует, что для обращения, например, к байту ОП на адресный вход ОП необходимо подавать m - разрядный адрес А от источника запроса, например, от ЦП. Для этих целей обычно используют ША шириной m разрядов. Например, в РС АТ m=24, в 32-разрядных РС - m=32 разряда. Информация передаётся (принимается) по ШД. В РС, например, ШД 16-разрядная, в 32-разрядных компьютерах разрядность ШД n=32. Направление обмена задаётся по шине управления ШУ путём подачи сигнала управления ЧТ (ЗП).

 

<== предыдущая лекция | следующая лекция ==>
Форматы команд и машинные операции | Организация адресного пространства внешней памяти. Виртуальная организация памяти
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 1230; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.