Лекции.Орг


Поиск:




Сегментация памяти ЭВМ с микропроцессором Intel 8086




ТЕМА 4. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ

ЛЕКЦИЯ 4.2. ВНУТРЕННЯЯ ПАМЯТЬ ПЕРСОНАЛЬНОЙ ЭВМ

СТРУКТУРА ПАМЯТИ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА

 

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

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

· большая емкость (не менее сотен Мбайт);

· высокое быстродействие (время доступа не более десятка нс);

· энергонезависимость, т.е. обеспечение хранения программ и данных при выключении ЭВМ).

Эти требования невозможно удовлетворить путем построения памяти в виде единого запоминающего устройства (ЗУ), что связано с их противоречивостью. Например, чем больше емкость памяти, тем обычно ниже её быстродействие, или наиболее быстродействующее ЗУ, выполненное на триггерах, не обеспечивает требование по долговременности хранения информации.

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

Функционально она делится на две части: внутреннюю и внешнюю.

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

Внутренняя память, в свою очередь, делится на оперативную (ОЗУ), постоянную (ПЗУ) память и быструю кэш-память.

 

ОПЕРАТИВНАЯ ПАМЯТЬ

Основные понятия

Оперативная память, по объему составляющая большую часть внутренней памяти, служит для приёма, временного хранения и выдачи информации (программ и данных), непосредственно участвующей в вычислительном процессе, выполняемом ЭВМ в текущий период времени. Она называется оперативной, так как процессор может обратиться к ячейке этой памяти по её адресу в любой (произвольный) момент времени. Её еще называют памятью с произвольным (прямым) доступом Random Access Memory (RAM). Главным достоинством оперативной памяти, наряду с прямым адресным доступом к её ячейкам, является ее высокое быстродействие, время доступа к ней (access time) составляет десятки нс (50-70 10-9 с). Недостатком ОЗУ является невозможность сохранения информации в ней после выключения питания машины (энергозависимость). Ёмкость ОЗУ в современных ЭВМ составляет 64 –256 Мбайт,

Оперативную память ЭВМ можно представит в виде длинной цепочки элементов, предназначенных для хранения единицы информации 1 бита. Отсюда и элемент памяти также называется битом. Каждый элемент памяти (бит) может находиться в двух различных состояниях, соответствующих двоичным знакам 1 и 0. Перевод элемента памяти (бита) в состояние 0 принято называть очисткой (clear) бита, а в состояние 1 – установкой (set) бита.

Бит, однако, является слишком мелкой единицей памяти, поэтому биты объединяют в группы по 8 штук в каждой. Такая группа из 8 бит называется байтом. Байт памяти может находиться в 28=256 различных состояниях, которые принято обозначать числами от 0 до 255. Их можно представить в разных системах счисления.

Например, состояние 100100102=14610=2228=9216;

001001002=3510=448=2416.

 

 

Рис. 4.4. Байт памяти

 

Биты в байте обозначаются индексами 0…7. Младший имеет индекс 0. Каждый байт составляет ячейку памяти с постоянным номером, называемым адресом. Таким образом, оперативная память в целом это вектор байт с индексом от 0 до некоторого максимального значения, зависящего от объема памяти ЭВМ. Индекс конкретного байта в векторе и есть его адрес. Адреса обычно записываются в 16-ричной системе (реже в 8-ричной).

Объем памяти обычно измеряют Кбайтах или чаще в Мбайтах. Например, для ЭВМ PDP-11, имеющей 16-разрядную шину адреса максимальный объем памяти 216= 64 Кбайт, а максимальный адрес 216-1=FFFF16=1777778=6553510. В компьютерах на процессоре Intel 8086 с 20-разрядной шиной адреса максимальный объем памяти 220= 1 Мбайт, а максимальный адрес
220-1=FFFFF16=37777778=104857510.

Для многих целей, например для представления чисел, и байт слишком малая единица памяти. Поэтому в ЭВМ предусмотрена возможность работать с группами последовательных байтов, адресуясь к первому из них. В 16-разрядных ЭВМ байты объединяют в пары: нулевой с первым, второй с третьим, и т.д. Такая пара байт с соседними адресами, из которых меньший адрес четный, называется словом (машинным словом). Сам меньший адрес (четный) называется адресом слова.

Таким образом память можно представить в виде вектора слов с четными индексами. Всего в PDP-11 имеют адрес 32768 слов, т.е. объем адресуемой памяти 32 Кслов, а у Intel 8086 объем адресуемой памяти 512 Кслов.

Машинное слово с одной стороны является основной единицей памяти, а с другой, как единая последовательность из бит, основной единицей передачи и обработки информации. Оно может быть одновременно помещено в регистр процессора и обработано АЛУ. 16-разрядное слово может принимать 216=65536 различных состояний, биты в слове нумеруются справа налево. Левый байт называется младшим, правый – старшим.

 

 

 

Рис.4.5. Адресация слов памяти

 

Рис.4.6. 16-разрядное слово

Сегментация памяти ЭВМ с микропроцессором Intel 8086

По сравнению с PDP-11 в ЭВМ с процессором Intel 8086 для формирования 20-разрядного адреса используется особая структура оперативной памяти. Все пространство памяти разделяется на сегменты из смежных ячеек по 64 Кбайта каждый. Причем в любой момент времени процессор может обращаться к ячейкам 4-ёх сегментов, которые программно выбраны в качестве текущих. Сегментация памяти обеспечивает удобный механизм вычисления адресов и способствует модульному проектированию программ.

Начальные адреса текущих сегментов (адреса первых байтов сегментов) записываются в сегментные регистры CS, DS, SS, ES, тем самым фиксируются текущие сегменты кода (программы), данных, стека и дополнительных данных. Для обращения к командам и данным, находящихся в других сегментах, необходимо изменять содержимое сегментных регистров, что позволяет использовать все пространство памяти в 1 Мбайт. Сегментные регистры инициализируются в начале программы путем засылки в них соответствующих констант. Частный случай загрузки всех сегментных регистров нулями приводит к организации памяти характерной для PDP-11, т.е. к отказу от сегментации памяти.

В сегментном регистре хранится 16 старших битов 20-битового начального адреса сегмента. 4 младших бита считаются равными нулю и дописываются справа при вычислении физических адресов ячеек памяти. Поэтому начальные адреса сегментов всегда кратны 16. Других ограничений на размещение сегментов в памяти нет, поэтому сегменты могут быть соседними (смежными), неперекрывающимися, частично или полностью перекрывающимися.

Полная информация, необходимая для определения 20-битового физического адреса ячейки (выдается на шину адреса в начале цикла шины, связанной с обращением к памяти) содержится в адресном объекте <сегмент: смещение>, который называется указателем адреса (логический адрес). Для хранения указателя необходимо два слова: слово с большим адресом содержит начальный адрес сегмента (базу сегмента), слово с меньшим адресом – внутрисегментное смещение, которое определяет расстояние от начала сегмента до нужной ячейки. Например, команды выбираются из текущего кодового сегмента в соответствии с логическим адресом CS:IP, к стеку можно обратиться по адресу SS:SP, обращение к операнду может быть организовано по адресу DS:SI. Здесь IP – регистр указатель команд, SP – регистр указатель стека, SI – индексный регистр.

Для вычисления физического адреса база сегмента сдвигается влево на 4 бита и суммируется со смещением.

 

 

Рис.4.7. Вычисления физического адреса у Intel 8086

 

В ЭВМ с процессором Intel 8086 данные можно размещать в памяти по любому адресу. Однако все же для экономии времени выполнения программы целесообразно размещать слова данных в памяти по четным адресам. Слово с четным адресом называется выровненным на границе слов. Такие слова процессор считывает за один цикл шины (каждый цикл имеет 4 обязательных такта). Слова с нечетными адресами (невыровненные) хотя и допустимы, но требуют 2 цикла шины. Команды всегда выбираются из памяти словами по четным адресам.





Поделиться с друзьями:


Дата добавления: 2017-03-18; Мы поможем в написании ваших работ!; просмотров: 1037 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

829 - | 690 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.