Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Сегментация памяти ЭВМ с микропроцессором 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; Мы поможем в написании ваших работ!; просмотров: 1171 | Нарушение авторских прав


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

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

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2221 - | 2091 -


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

Ген: 0.008 с.