- •Тверской государственный технический университет
- •Регистрация информации в современных эвм.
- •Предисловие
- •Глава 1
- •Глава 2
- •2.1. Движущийся участок магнитного носителя информации
- •2.2. Триггер – физический аналог одного двоичного разряда
- •Глава 3
- •3.1. Системы счисления и правила перевода чисел
- •Глава 4
- •Глава 5
- •5.1. Структура основной памяти (оп)
- •5.2. Структура и организация сверхоперативной памяти (соп)
- •5.3. Структура информационных связей блоков
- •Глава 6
- •6.1. Символьный формат «с»
- •6.2. Десятичный формат «р»
- •6.3. Целые двоичные числа – форматы «н» и «f»
- •6.4. Числа в форме с плавающей запятой – форматы «е» и «d»
- •6.5. Примеры внутри машинного представления значений переменных в основных форматах данных
- •Глава 7
- •7.1. Понятие машинной команды
- •7.2. Форматы команд 32-разрядных эвм
- •Приложения
- •Библиографический список
- •170026, Г. Тверь, наб. Афанасия Никитина, 22
Глава 5
Структура и общие принципы организации
запоминающих устройств, использующихся
для внутри машинного размещения информации
После ввода в ЭВМ информация может располагаться и храниться в основной памяти (ОП), на жестком магнитном диске (МД), в сверхоперативной памяти (СОП), входящей в состав центрального процессора. Она может также располагаться и быть доступной для обработки на сменных дисках, флэш-картах и т. д. Поскольку задачей данного пособия является рассмотрение принципов и способов представления «данных» и «управляющей информации» внутри ЭВМ, то, безусловно, необходимо дать характеристику и самим основным устройствам, в которых размещается эта информация: ОП и СОП. В ЭВМ 3 и 4-го поколений используется абсолютная и относительная адресация. Абсолютная адресация используется при указании адресов операндов, которые располагаются в СОП, относительная – для адресации операндов, которые располагаются в ОП. Выбор относительной адресации был обусловлен возможностью сокращения адресных полей операндов и длины машинной команды.
5.1. Структура основной памяти (оп)
ОП является адресной памятью, состоит из огромного количества 8-разрядных ячеек, каждая из которых имеет свой уникальный 16-ричный адрес.
Структура ОП приведена на рис. 5.1. Реализация относительной адресации связана с условным разбиением ОП на блоки по 4096 байтов. Справа от структуры ОП в общем виде представлена структура адреса произвольного байта ОП.
Рис. 5.1. Блочная организация ОП
Формирование адреса осуществляется при помощи двух частей: пять старших битов соответствуют номеру блока, а три младших – смещению относительно начала блока. Начало каждого блока совпадает с адресом ее первого байта, значение которого кратно 4096. Этот адрес получил называние базового. Поскольку объем блока равен 4096, то базовым может считаться адрес. кратный 4096, или адрес, в котором 3 младшие шестнадцатеричные цифры равны 0. Отсчет блоков начинается с 0.
Самые верхние 4096 байтов образуют «0» блок ОП. Понятие базового адреса используется при вычислении абсолютных или исполнительных адресов операндов, размещающихся в ОП. В пределах каждого блока адрес любого байта определяется 12-ти разрядным двоичным или 3-х разрядным 16-ричным числом, которое называется смещением и обозначается в машинных командах латинской буквой «D». Смещение может принимать значение от ООО16 до FFF16. Если при помощи выражения [В] обозначить содержимое регистра СОП, в котором находится значение базового адреса, то значение любого абсолютного адреса «А» ОП можно определить по формуле
А=[В]+D, (5.1)
где А, [В] и D представляются в 16-ричной системе счисления.
Если программы и данные располагаются в нескольких блоках основной памяти, то в регистрах общего назначения приходится хранить несколько базовых адресов (БА). Местом хранения базовых адресов являются регистры общего назначения СОП. Применение относительной адресации упрощает процесс перемещения программ в ОП. Для этого достаточно поменять значения базовых адресов в регистрах СОП. Распределение ОП и назначение БА осуществляется автоматически управляющей программой операционной системы. При программировании на машинно-ориентированных языках (Ассемблерах) программистам, как правило, самим приходится назначать базовые адреса и распределять основную память. Эти операции приходится выполнять и при составлении программ для микроконтроллеров. Назначение нескольких базовых адресов для одной и той же программы происходит в тех случаях, когда объем программы и данных требуют объема, большего, чем 4096 байтов. Распределение ОП между несколькими программами, исходя из блочной организации памяти, осуществляется исключительно блоками со стандартными объемами 4096 байтов. При оперировании с «данными», имеющими длины полуслов, слов или двойных слов, в качестве абсолютных адресов в командах выступают адреса самых младших байтов полей ОП, закрепленных за этими переменными.