Студопедия

Главная страница Случайная страница

Разделы сайта

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






Виды памяти. Организация оперативной памяти, механизм сегментации






Байты ОП последовательно пронумерованы. Аппаратно реализованный номер байта называется физическим адресом и служит для указания конкретных байтов при обмене. Совокупность пронумерованных байтов называется адресным пространством ОП

Организация Адрес ОП однозначно определяет единицу доступа, для выполнения действий или обмена он должен быть определен в команде. Однако во многих задачах более удобно пользоваться безадресным доступом. Такой доступ реализован в ЦП с помощью архитектурного стека и специальных команд в наборе команд. Стековая структура хранения данных характеризуется способом доступа LIFO (Last In, First Out — последний записанный читается первым). Стек является общепринятым механизмом реализации таких задач программирования, как организация вложенного обращения к подпрограммам и ПРОП, трансляция, рекурсивная обработка. Запись в стек и чтение из него происходят только словами. При необходимости программист может использовать стек для передачи параметров подпрограмм, хранения локальных переменных, других данных и содержимого регистра флагов с помощью команд записи в стек PUSH, PUSHF и чтения из стека POP, POPF. Для стековой структуры в ОП поддерживается специальный стековый сегмент. Архитектурный стек используется командами работы с подпрограммами — CALL, RET и с ПРОП — INT, INTO, IRET. Стековая организация обеспечивает правильную дисциплину возвратов при любой глубине вложения. Программист всегда должен резервировать стек достаточного размера.

Сегментация ОП является наиболее специфической чертой ЦП. Арифметика ЦП 16-битовая, откуда вытекает архитектурное решение о 16-битовой длине адреса операнда в ОП, задаваемого в команде или регистре. Такой адрес может изменяться от 0 до 65535 и, следовательно, адресовать 64 КВ ОП. В то же время для адресации памяти в 1 МВ необходимо задавать адрес с помощью 20 бит. Для коррекции этого несоответствия в БСШ реализован механизм сегментации ОП, который всегда используется для вычисления физических адресов команд и данных. При этом физический адрес получается сложением двух величин. Первая — базовый адрес сегмента, взятый из одного из 4 16- битовых сегментных регистров и превращенный в 20-битовую величину умножением на 16 (сдвигом влево на 4 бита). Вторая — это 16-битовое перемещение относительно начала сегмента или просто перемещение, вычисляемое в БВК при выполнении команды. Полученная 20-битовая сумма и есть физический адрес ОП. Работа механизма сегментации показана на рис. 5. Из изложенной схемы прежде всего вытекает определение сегмента ОП. В самом деле, пусть сегментный регистр содержит значение S, тогда физический адрес может меняться от S*16+0 до S*16+665535. Память с адресами из этого диапазона и называется сегментом ОП. Таким образом, сегмент создается при записи программой в сегментный регистр его базового адреса. Физический адрес начала сегмента всегда делится нацело на 16 (начинается с 16-байтовой границы), поскольку при сдвиге влево значения сегментного регистра к нему справа приписываются 4 нулевых бита. Если нужно, чтобы сегмент начинался с физического адреса A, то в соответствующий сегментный регистр в качестве базового адреса сегмента следует записать значение A/16. В каждый момент времени ЦП доступны 4 (по числу сегментных регистров) текущих сегмента по 64K каждый. Для использования не входящих в них участков ОП нужно иметь в программе команды изменения значений сегментных регистров. Имеются следующие сегменты.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.