Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3501

.pdf
Скачиваний:
4
Добавлен:
15.11.2022
Размер:
6.07 Mб
Скачать

(например, хранят разряд, (выпавший‖ из АЛУ во время сдвига) или являются резервными (т.е. не используются).

Все флаги младшего байта регистра устанавливаются арифметическими или логическими операциями МП. Все флаги старших байтов, за исключением флага переполнения, устанавливаются программным путем, для этого в МП имеются команды установки флагов (STC, STD, STI), сброса (CLC CLD, CLI), инвертирования (CMC).

6.2.2. Взаимодействие элементов при работе микропроцессора

Работой МП управляет программа, записанная в ОП ЭВМ. Адрес очередной команды хранится в счетчике команд IP (Instruction Pointer) и в одном из сегментных регистров, чаще всего в CS. Каждый из них в реальном режиме имеет длину 16 бит, тогда как физический адрес ОП должен иметь длину 20 бит. Несогласованность длины машинного слова (16 бит) и длины физического адреса ОП (20 бит) приводит к тому, что в командах невозможно указать физический адрес ОП - его приходится формировать, собирать из разных регистров МП в процессе работы.

Вреальном режиме вся ОП делится на сегменты (длина сегмента - 64 Кбайта). Адрес ОП разделяется на две части: номер сегмента в ОП (база сегмента) и номер ячейки внутри данного сегмента (смещение относительно начала сегмента). Базовый адрес сегмента образуется добавлением к номеру сегмента справа четырех нулей. Поскольку последние четыре разряда абсолютного (физического) адреса сегмента всегда нулевые, сегмент может начинаться не с любой ячейки ОП, а только с ―параграфа‖ - начала 16байтного блока ОП. В структуре микропроцессора имеется несколько регистров сегментов, например в i8086 - четыре:

С S - программный сегмент;

DS - сегмент данных (информационный сегмент); SS - стековый сегмент;

ES - расширенный сегмент (дополнительный сегмент данных).

Номер ячейки внутри сегмента (смещение) называется также исполнительным адресом. В большинстве случаев в адресной части команды указывается именно исполнительный адрес - номер сегмента чаще всего подразумевается по умолчанию. Однако допускается указание и полного адреса ОП в виде префиксной структуры: ―сегмент: смещение‖. Если сегмент в команде не указывается, значит, работа ведется внутри текущего сегмента (характер выполняемой работы и какой из сегментных регистров определяет текущую базу сегмента, зависят от вида выполняемой команды).

Номер сегмента так же, как и смещение, имеет длину 2 байта. При вычислении физического адреса ОП сегмент и смещение суммируются, но сегмент перед суммированием сдвигается влево на 4 бита. В результате суммирования образуется физический адрес ОП длиной 20 бит.

Взащищенном режиме базовые адреса сегментов хранятся в дескрипторных таблицах и имеют длину 24 или 32 бита (в зависимости от типа МП). В

170

сегментных же регистрах хранится селектор, содержащий номер дескрипторной таблицы и дескрипторное смещение, т.е. порядковый номер дескриптора (в котором и хранится базовый адрес сегмента) в данной дескрипторной таблице (рис.74).

Рис. 74. Формирование физического адреса ОП в защищенном режиме Физический адрес очередной команды через внутреннюю магистраль МП и интерфейс памяти поступает на шину адреса системной магистрали. Одновременно из устройства управления (УУ) исполнительного блока на шину управления выдается команда (управляющий сигнал) в ОП, предписывающая выбрать число, находящееся по адресу, указанному в системной магистрали. Выбранное число, являющееся очередной командой, поступает из ОП через шину данных системной магистрали, интерфейс памяти, внутреннюю магистраль МП на регистр команд (INST).

Из команды в регистре команд выделяется код операции, который поступает в УУ исполнительного блока для выработки управляющих сигналов, настраивающих микропроцессор на выполнение требуемой операции.

В зависимости от используемого в команде режима адресации организуется выборка необходимых исходных данных.

171

6.2.3. Работа микропроцессора при выполнении программного прерывания

Программы-обработчики прерываний могут находиться в различных частях основной памяти (место их расположения в разных версиях операционной системы может быть различным). Для обеспечения совместимости программ под разными версиями DOS обращение к обработчикам прерываний осуществляется по их номерам.

Связь между номером прерывания и адресом основной памяти, соответствующим точке входа в обработчик прерывания, осуществляется через таблицу векторов прерываний, занимающую 1 Кбайт сегмента 0 основной памяти.

Поскольку адрес любого байта основной памяти определяется базовым адресом сегмента (2 байта) и смещением в сегменте (2 байта), вектор прерываний разделен на четверки байтов, имеющие структуру, показанную на рис.75.

1байт

2 байта

3 байта

4 байта

Смещение

 

Сегмеит

 

Рис. 75. Структура записи в векторе прерываний

Для получения адреса обработчика прерывания № nh необходимо:

по номеру прерывания определить адрес первого байта ―четверки‖

ввекторе прерываний (он равен п*4);

выбрать 4 байта из 0 сегмента основной памяти, начиная с байта

4nh;

два последних байта поместить в регистр CS;

два первых байта поместить в счетчик команд IP.

После этого начнет выполняться первая команда обработчика прерывания № nh.

Таблица векторов прерываний используется не только для хранения адресов обработчиков прерываний, но и для указания на места хранения в ОП служебной информации. Для этой цели служат векторы прерываний IDh, lEh, IFh, 41h, 43h, 46h, 4Ah. Так, вектор IDh содержит адрес таблицы параметров видеосистемы (а не обработчика прерывания); вектор lEh - таблицы параметров дискет; 1Fh - адрес знакогенератора адаптера CGA и т.д.

Команда ЮТ, кроме определения адреса обработчика прерывания, выполняет следующие действия:

• сохраняет в стеке часть слова состояния процессора:

(SP) <— (SP)-2

(вершина стека) <—— (регистр флагов)

(SP) <—— (SP)-2

(вершина стека) <—— (CS) (SP) <—— (SP) – 2

(вершина стека) <—— (IP)

172

сбрасывает флаги разрешения прерывания и трассировки:

(IF) <—— О (TF) <—— О

заносит адрес точки входа обработчика прерываний в регистры CS и IP: (CS) <—— (номер_прерывания * 4 + 2)

(IP) <—— (номер_прерывания * 4)

Команда INT относится к парным командам - каждый обработчик прерывания заканчивается командой IRET (возврат из прерывания).

По команде IRЕТ (без параметров) выполняются следующие действия: (IP) <—— (вершина стека)

(SP) <—— (SP)+2

(CS) <—— (вершина стека)

(SP) <—— (SP)+2

(регистр флагов) <—— (вершина стека)

(SP) <—— (SP)+2

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

Например, по команде INT 13h могут быть выполнены следующие функции: 00h - сброс дисковой системы;

0lh - определение состояния дисковой системы (успешное завершение, некорректная команда, не найдена адресная метка и т.д.);

02h - чтение секторов в основную память;

03h - запись секторов из основной памяти;

04h - контроль секторов (есть ошибка - нет ошибки); 05hформатирование дорожки;

06h - для жесткого диска - форматирование дорожки с установкой флагов плохих секторов;

07h - для жесткого диска - форматирование диска, начиная с указанной дорожки;

08h - определение типа и текущих параметров диска...

и т.д.

Нужно иметь в виду, что одни и те же номера функций могут обозначать разные операции для различных устройств; некоторые функции отсутствуют в ранних версиях операционной системы, а некоторые — претерпели изменения в последующих версиях.

При выполнении команды INT номер функции должен содержаться в регистре АН микропроцессора. Остальные регистры должны включать необходимые для этой функции параметры. Например, для функции 02h остальные регистры микропроцессора должны содержать:

173

AL - число читаемых секторов;

СН - номер дорожки, на которой расположены читаемые сектора; CL - номер сектора;

DH - номер головки; DL - номер дисковода;

ES:BX - адрес буфера для чтения.

В результате выполнения этой функции при возникновении ошибки флаг CF устанавливается в 1; в регистр AL заносится число считанных секторов, в регистр АН записывается код состояния, сформированный после окончания операции:

00 - успешное завершение;

01 - некорректная команда;

02 - адресная метка не найдена;

FF - сбой операции опроса (для жесткого диска).

Кроме команд INT и IRET в IBM PC, с прерываниями работают команды CLI (запрещение маскируемых прерываний) и STI (отмена запрета прерывания).

174

ГЛАВА 7. ПРИНЦИПЫ ПОСТРОЕНИЯ УСТРОЙСТВ ВНУТРЕННЕЙ ПАМЯТИ

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

Производительность ЭВМ и ее возможности в большой степени зависят от характеристик ЗУ, причем в любой ЭВМ общего назначения используют несколько типов ЗУ.

Основные операции:

-Запись – занесение информации в память;

-Считывание – выборка информации из памяти.

Обе этих операции называются в общем случае обращением к памяти.

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

Коротко рассмотрим важнейшие характеристики ЗУ – емкость, удельную емкость, быстродействие, которые характерны для любых типов ЗУ, а также некоторые методы их классификации.

Емкость памяти определяется максимальным количеством данных, которые могут в ней храниться одновременно. Емкость измеряется в битах, байтах, машинных словах (об этом говорилось в самом начале курса). Используют обычно более крупные единицы измерения: 1К = 1024 (Кбит, Кбайт, Кслов), 1024 Кбайт = 1 Мбайт, 1024 Мбайт = 1 Гбайт.

Удельная емкость определяется как отношение емкости ЗУ к его физическому объему и характеризует степень технологического совершенства ЗУ.

Удельная стоимость определяется как отношение стоимости ЗУ к его емкости и определяет, помимо технологического совершенства конкурентоспособность изделия на рынке.

Быстродействие памяти определяет продолжительность операции обращения и делится:

-на время обращения при считывании tобрсч . Это время,

необходимое на поиск нужной единицы информации и ее считывание;

175

-время обращения при записи tобрзап . Это время, необходимое

для поиска места для хранения данной единицы информации и

еезапись в память.

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

Вобщем случае продолжительность цикла обращения к памяти при считывании состоит из следующих компонент:

tсч

tсчит

t

 

t

 

обр

дост

 

счит

 

рег ,

t счит

где дост – время доступа при считывании – интервал времени между

началом операции обращения при считывании и моментом, когда доступ к данной единице информации стал возможен;

tсчит – продолжительность самого физического процесса считывания, т.е.

процесса обнаружения и фиксации состояния соответствующих запоминающих элементов или участков поверхности носителя;

t рег – время на восстановление

разрушенной при считывании

информации. В ЗУ без разрушения tрег

0 .

Продолжительность цикла обращения к памяти при записи информации в общем случае состоит из следующих компонент:

tобрзап

tдостзап

tподг tзап ,

где tдостзап

время доступа при записи – интервал времени от начала

обращения до момента, когда становится возможен доступ к запоминающему элементу или участку поверхности носителя, в который производится запись;

tподг – интервал времени, необходимый для приведения в исходное

состояние запоминающих элементов или участков поверхности носителя для записи данной единицы информации;

176

tзап – продолжительность самого физического процесса записи, т.е. время

для изменения физического состояния запоминающих элементов или участка поверхности носителя.

В большинстве случаев tдостсч tдостзап tдост .

В качестве продолжительности цикла обращения к памяти принимается величина

tобр max tобрсч ,tобрзап .

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

1. Принцип действия. По этому признаку основные типы ЗУ, наиболее широко используемые в современных ЭВМ, делятся:

на электронные, в которых в качестве запоминающих элементов используют полупроводники;

магнитные с неподвижными запоминающими элементами; магнитомеханические с движущимися магнитными носителями

информации; оптические с движущимся носителем информации;

магнитооптические с движущимся носителем информации.

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

Внастоящее время разрабатываются и исследуются многочисленные "нетрадиционные" ЗУ, а именно: ЗУ на приборах с зарядовой связью, акустоэлектронные ЗУ, пьезоэлектронные ЗУ, магнитоэлектронные ЗУ и т.д.

2. Способ реализации в памяти операций обращения. По этому признаку различают:

177

Память с произвольным обращением, допускающую как считывание, так и запись информации (RAM). Это энергозависимые ЗУ (информация в них сохраняется только при наличии питания), которые используются для построения ОЗУ, кэш, СОП и т.д.

Память постоянная, допускающая только считывание информации, заложенной в нее в процессе изготовления или настройки (ROM). Это энергонезависимые ЗУ (информация в них сохраняется при отсутствии питания), которые, в свою очередь, делятся на постоянные ЗУ (ПЗУ, EPROM) и перепрограммируемые ЗУ (ППЗУ, EEPROM). Быстродействие RAM и ROM примерно одинаковое.

Флэш ППЗУ (Flash EEPROM) – энергонезависимые перепрограммируемые ЗУ, информация в которых сохраняется до нескольких лет. Обращения к ним возможно как для записи, так и для чтения. Однако быстродействие этих ЗУ ниже, чем у RAM и ROM. Обычно флэш используются для накопления информации. Число перезаписей флэш ограничено.

3. Способ организации доступа. По этому признаку различают ЗУ с непосредственным (произвольным), с прямым (циклическим) и последовательным доступом.

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

Независимость tобр от положения запоминающего элемента в

запоминающем массиве имеет место только до определенной частоты обращений процессора к ЗУ. При увеличении частоты обращений до единиц наносекунд начинает сказываться геометрическое положение запоминающего элемента в массиве. Это обусловлено, прежде всего, конечной скоростью распространения электрического сигнала в изолированном проводнике, которая составляет примерно 60 % от скорости света.

Число разрядов, считываемых или записываемых в память с произвольным доступом параллельно во времени за одну операцию обращения, называется

шириной выборки.

В других типах ЗУ используют более медленные электромеханические процессы, поэтому и цикл обращения больше.

178

Прямой (циклический) доступ. К ЗУ этого типа относятся устройства на магнитных, оптических и магнитооптических дисках, а также на магнитных барабанах (последние в настоящее время используются очень редко). Благодаря непрерывному вращению носителя информации возможность обращения к некоторому участку носителя для считывания или записи циклически повторяется. В таких ЗУ время доступа составляет обычно от долей секунды до единиц миллисекунды.

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

7.1. Структура памяти ЭВМ

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

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

Несмотря на существенные различия в принципах функционирования и технической реализации различных уровней памяти, существуют общие принципы построения всей иерархии:

-чем ближе уровень памяти к процессору, тем выше его быстродействие и меньше емкость;

-алгоритмы взаимодействия всех уровней памяти построены так, что количество обращений верхнего, более быстродействующего уровня к нижележащему, менее быстродействующему, соседнему уровню является минимальным;

179

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]