История и устройство ЭВМ

Структурная схема процессора, понятие о микропрограммном управлении. Алгоритмы выполнения микроопераций, принципы защиты и построения устройств памяти и организация КЭШ-памяти. Проверка корректности использования отдельных команд, системы ввода/вывода.

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 15.09.2017
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

В защищенном режиме используются все возможности микропроцессора. При этом возможен многозадачный режим работы микропроцессора, причем каждая задача защищена и изолирована от других задач и от ОС. В защищенном режиме может быть реализована страничная организация виртуальной памяти объемом до 64 Тб для каждой задачи.

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

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

Интерфейс магистрали позволяет осуществить обмен микропроцессора информацией с ОЗУ и ПУ с помощью 32-хразрядной двунаправленной ШД, 34-хразрядной ША и 16-разрядной ШУ. Особенностью ШД является возможность динамического изменения ее разрядности. За один цикл шины может быть переданы 1,2 или 4 байта. По ША передаются 32-х адреса. ША состоит из 30 адресных линий, обозначенных как А31-А2 и 4-х линий выбора байт, обозначенных как ВЕ3-ВЕ0. Сигналы выбора байт определяют какие байты 32-хразрядной шины данных участвуют в текущем цикле обмена. Это позволяет легко согласовать ШД с байтной организацией памяти:

При ВЕ0=0

Адресуется младший байт

(т.е.D0-D7 ШД)

При ВЕ1=0

Адресуется следующий байт

(т.е.D8-D15 ШД)

При ВЕ2=0

Адресуется следующий байт

(т.е.D16-D23 ШД)

При ВЕ3=0

Адресуется старший байт

(т.е.D24-D31 ШД)

Регистры.

Набор регистров микропроцессора включает:

-РОНы;

-сегментные регистры;

-указатели команд и регистр флагов;

-регистры управления;

-регистры адреса системы;

-регистры отладки;

-регистры тестирования.

Всего микропроцессор содержит 32 регистра, из которых 15 регистров могут адресоваться пользователем, кроме этого имеется указатель команд и 16 системных регистров недоступных пользователю. Все 16-тиразрядные регистры микропроцессоров 8086, 80186, 80286 содержатся в 32-разрядных регистрах микропроцессора 80i386.

РОНы.

Восемь 32-хразрядных РОНов предназначены для хранения операндов и адресов, и располагаются в операционном блоке.

Младшие разряды РОНов (с 0 по 15) доступны отдельно при использовании имен AX, BX, CX, DX, SI, DI, BP, SP. При операциях с байтами для 4-х верхних регистров можно отдельно обращаться к младшему байту по, именам AL, BL, CL, DL и к старшим байтам по именам АН, ВН, СН, DH.

Верхние 4 регистра используются для хранения операнда и позволяют выполнять операции над отдельными байтами, 16-разрядными словами и 32-разрядными двойными словами. Остальные (4 нижних) регистра используются как адресные регистры для хранения 16-разрядных и 32-разрядных адресов.

Регистр ESP используется как указатель вершины стека.

EBP - используется как базовый регистр.

А регистры EDI и ESI используются как индексные регистры (для хранения индексов). В качестве базового и индексного регистров в некоторых случаях может использоваться и регистр данных EBX.

Регистры сегментов и дескрипторов сегментов.

Архитектура микропроцессора поддерживает организацию памяти в виде сегментов

В реальном режиме: для хранения адресов начала соответствующих сегментов используется 16-хразрядные регистры CS, SS, DS, ES, FS, GS. Они выполняют те же функции, что и в микропроцессоре 8086. то есть, используются при вычислении физических адресов путем суммирования базового адреса, находящегося в сегментном регистре, со смещением. Такое суммирование выполняет блок сегментации, где располагаются и сами сегментные регистры. Максимальный размер сегмента в реальном режиме 64 Кбайт.

В защищенном режиме содержимое сегментного регистра используется как селектор сегмента. С каждым из сегментных регистров связан регистр дескриптора сегмента. Обращение к дескриптору осуществляется с помощью селектора, который представляет собой 16-хразрядный указатель, имеющий 3 поля.

Биты 0 и1 - это поле RPL, которое определяет уровень привилегий запроса и используется в механизме защиты памяти.

Бит 2 - Это поле TI, которое служит индикатором таблицы. При TI=0 используется глобальная таблица дескрипторов GDT. При TI=1 используется локальная таблица дескрипторов LDT.

Поле INDEX - служит индексом для выбора одного из 8192 дескрипторов (213), содержащихся в таблицах GDT или LDT. Сами 8-мибайтовые дескрипторы хранятся в памяти в составе массивов данных, сформированных в виде таблиц. В микропроцессоре используется 3 таблицы дескрипторов: GDT, LDT и таблица дескрипторов прерывания IDT.

С каждой из таблиц связан соответствующий регистр, который находится в микропроцессоре. Это регистры: GDTR, LDTR и IDTR.

В качестве примера приведем формат регистра GDTR. Регистр GDTR 48-разрядный. 32-разряда задают базовый адрес таблицы дескрипторов, а 16 разрядов указывают размер этой таблицы в байтах.

При обращении селектора к таблице GDT сдвинутый на 3 разряда влево (умноженный на 8) селектор служит в качестве смещения для формирования адреса дескриптора. Это смещение сравнивается с границей (с размером) таблицы дескрипторов, находящейся в разрядах с 0 по 15 регистра GDTR. Если смещение превышает границу, то вырабатывается соответствующее прерывание. Если нарушения границы нет, то смещения суммируются с базовым адресом таблицы дескрипторов. В результате суммирования получается логический адрес младшего байта, выбираемого дескриптора.

Выбираемый дескриптор имеет следующий формат

32-хразрядный базовый адрес сегмента (база) и 20-тиразрядный размер сегмента размещены по частям в различных байтах дескриптора. Четыре бита 6-го байта определяют следующие атрибуты сегмента:

G - бит дробности, который указывает, в каких единицах задан размер сегмента;

При G = 0 - размер задан в байтах и максимальный объем сегмента в этом случае равен 220 = 1 Мб;

При G = 1 - размер задан в страницах, объемом 4 кб каждая страница. Максимальный объем сегмента в этом случае равен 212 х 220 = 232 = 4 Гб;

D - бит разрядности, который определяет разрядность формируемого относительного адреса или операнда.

При D = 0 - адрес или операнд - 16-тиразрядный;

При D = 1 - адрес или операнд - 32-хразрядный.

53-ий разряд - всегда = 0.

52-ой - имеет произвольное значение Х.

Байт доступа (5-ый) дескриптора определяет право доступа к выбираемому сегменту.

5. Адресация в микропроцессорах INTEL

Размещение байт и слов в памяти.

Память логически организована как одномерный массив байт, каждый из которых имеет 20-тибитовый физический адрес в диапазоне от 00000 до FFFFF. Любые два смежных байта в памяти могут рассматриваться как одно 16-тиразрядное слово. Младший байт слова всегда имеет меньший адрес, а старший - больший адрес. Адресом слова считается адрес его младшего байта.

Сегментация памяти и вычисление адресов.

Пространство памяти емкостью в 1 Мб представлен как набор сегментов, определяемых программным путем.

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

00

ES

01

CS

10

SS

11

DS

В регистрах находятся базовые адреса для обращения к командам программы (CS), к данным (DS), стеку (SS), дополнительным данным (ES). Для обращения к командам и данным, находящимся в других сегментах, необходимо изменить содержимое сегментных регистров. Сегментные регистры инициализируются в начале программы засылкой в них соответствующих базовых адресов. В каждом сегментном регистре - 16 старших бит 20-разрядного начального адреса сегмента. 4 младших разряда адреса считаются =0 и автоматически приписываются справа к содержимому сегментного регистра при вычислении физических адресов.

Физический адрес ячейки памяти - это 20 - битовое число в диапазоне от 0 до FFFFF, которое однозначно определяет положение каждого байта в пространстве памяти емкостью до 1 Мб.

Логический адрес ячейки состоит из двух 16-битовых беззнаковых значений:

начального адреса сегмента (база)

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

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

Пример вычисления физического адреса:

5539

Размещено на http://www.allbest.ru/

Смещение ЕА - эффективный адрес, вычисляемый в соответствии с заданным способом адресации.

Сегментная структура памяти обеспечивает возможность создания позиционно - независимых или динамически перемещаемых программ, что необходимо в мульти программной среде. Для этого все смещения в программе должны задаваться относительно фиксированных значений, находящихся в сегментных регистрах. Это позволяет произвольно перемещать программу в адресном пространстве памяти, изменяя только содержимое сегментных регистров. Стек организуется в ОЗУ по принципу скользящей вершины и его положение в ОЗУ определяется содержанием регистров SS(база) и SP(смещение). При этом SS регистр хранит базовый адрес текущего сегмента стека, а регистр SP указывает на вершину стека. При каждом обращении к стеку пересылается 1 слово, причем содержимое SP изменяется автоматически: при записи в стек слова содержимое SP уменьшается на два, а при чтении из стека - увеличивается на два.

Форматы команд микропроцессора INTEL.

Регистры общего назначения (РОНы) разбиты на две группы:

1. группа HL, состоящая из регистров AX, BX, CX, DX, которые предназначены для хранения данных и допускают раздельную адресацию их старших Н и младших L половин.

2. группа PI, содержащая указательные регистры BP, SP и индексные регистры SI, DI, в которых обычно храниться адресная информация.

15 8 7 0

000

AH

AL

АХ - аккумулятор

001

CH

CL

СХ

010

DH

DL

DX

011

DH

BL

ВХ

100

SP

Адресный регистр

101

BP

Адресный регистр

110

SI

Адресный регистр

111

DI

Адресный регистр

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

Формат двухоперандной (двуядерной) команды имеет следующий вид:

Cop dw

md reg r/m

Disp L

Disp H

Первый байт команды содержит Cop - код операции и два однобитовых поля: d- бит направления передачи и w- длина операнда.

При d=1, то осуществляется передача операнда или результата операции в регистр, номер которого задается полем reg второго байта команды.

При d=0, то осуществляется передача операнда или результата из адресуемого полем reg регистра.

Поле W идентифицирует тип(разрядность) операндов:

Если w=1, то команда оперирует с 2-хбайтным словом.

w=0, команда оперирует с 1 байтом.

2-ой байт - постбайт, определяет участвующие в операции регистры или регистр и ячейку памяти. постбайт состоит из 3-х полей:

md - режим, показывающий как интерпретируется поле r/m для нахождения первого операнда.

Reg - регистр, используется в 2 -х операндных командах.

R/m - регистр/память

Поле reg определяет операнд, который обязательно находится в регистре микропроцессора и считается вторым операндом. Поле r/m определяет операнд, который может находится в регистре или памяти и условно считается первым. Поле reg используется только для указания регистра в двухоперандных командах. Если в команде один операнд, то он идентифицируется полем R/m, а поле reg отсутствует. Вместо поля reg в этом случае используется расширение кода операции.

Поле md(модальность) показывает, как интерпретируется поле R/m для нахождения первого операнда:

Если md=11, то операнд находится в регистре,номер которого задан полем R/m. При других значениях md операнд находится в памяти.

Когда адресуется память, то поле md определяет вариант использования смещения disp, находящегося в 3 и 4 байте.

Disp - смещение в команде, интерпретируемое как целое число со знаком.

md=00 смещение disp отсутствует.

md=01 disp =disp L, команда содержит 8 бит , смещение D8.

md=10 disp= dispH dispL, команда содержит 16 бит, смещение D16.

Режимы адресации (вычисление эффективного адреса ЕА)

Поле md

R/m

md=00

disp=0

md=01

dispH=dispL=D8

md=10

disp=dispH dispL

11

W=1

W=0

000

BX+SI

BX+SI+D8

BX+SI+D16

AX

AL

001

BX+DI

BX+DI+D8

BX+DI+D16

CX

CL

010

BP+SI

BP+SI+D8

BP+SI+D16

DX

DL

011

BP+DI

BP+DI+D8

BP+DI+D16

BX

BL

100

SI

SI+D8

SI+D16

SP

AH

101

DI

DI+D8

DI+D16

BP

CH

110

DI6

BP+D8

BP+D16

SI

DH

111

BX

BX+D8

BX+D16

DI

BH

Приведенные в таблице правила имеют одно исключение, позволяющее реализовать прямую(абсолютную) адресацию: если md=D16=dispH dispL.

Таким образом, имеется три варианта интерпретации поля md и восемь вариантов интерпретации поля r/m , что дает 24 варианта вычисления эффективного адреса ЕА.

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

регистровая адресация. Операнд находится в одном из РОНов или сегментном регистре. Регистр может быть определен в байте кода операции или постбайте (3-битными полями) reg и r/m при условии md=11. Команды, оперирующие содержимым регистров, короткие и быстрые, так как не требуют вычисления эффективного адреса ЕА, и обращения к памяти.

Непосредственная адресация. Непосредственные операнды - это const длиной 8 или 16 бит, которые размещаются в последних байтах команды.

Cop sw

md cop r/m

Disp L

Disp H

Data L

Data H

Так как 2-ой операнд размещается в команде, то поле reg отсутствует, но вместо него используется расширение кода операции cop. Отсутствует бит направления d, так как результат операции можно поместить только на место первого операнда. Место этого бита d занимает бит S, который является признаком использования одного байта для задания непосредственного операнда при работе со словами.

Поля S и W интерпретируются следующим образом:

SW=Х0, один байт данных Data L

SW=01, один байт данных Data H Data L

SW=11, один байт данных, который автоматически расширяется со знаком до 16 бит.

прямая адресация. Эффективным адресом ЕА является содержание байта в смещении disp команды. Реализуется при использовании постбайта с полями md=00 и r/m=10.

Косвенно-регистровая адресация. Эффективный адрес ЕА равен содержимому одного из регистров SI, DI, BX при md=00 и r/m=100, 101, 111.

Базовая адресация ЕА вычисляется суммированием содержимого регистров BX и BP со смещением disp при md=01 и 10, r/m=100 и 111.

Индексная адресация ЕА вычисляется суммированием индексных регистров SI и DI и смещения disp при md=01 и 10 при r/m=100, 101.

Базовая индексная адресация. ЕА равно сумме содержимого базовых регистров BX или BP, индексного регистра SI или DI и смещения disp. Реализуется при md не равного 11 и r/m=000, 001, 010, 011.

Сегментная организация памяти.

В защищенном режиме для формирования линейного адреса используется две компоненты:

1)16-тиразрядный селектор для определения базового адреса сегмента, который содержится в дескрипторе.

2)16 или 32-хразрядный эффективный адрес, который зависит от режима работы и способа адресации.

Проиллюстрируем процесс вычисления линейного адреса с помощью следующей схемы:

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

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

Страничная организация памяти.

Страничный диспетчер памяти, имеющийся в микропроцессоре, обеспечивает следующую возможность:1)представляет пользователю возможность работать с большим адресным пространством;

2)обеспечивает защиту ОС и программное обеспечение пользователя;

3)реализует быструю трансляцию адресов.

Линейное адресное пространство памяти объемом 4 Гб при страничной организации разбито на 220 страниц объемом по 4 кб каждая страница. Фиксированный размер всех страниц позволяет загружать любую требуемую виртуальную страницу в нужную физическую страницу.

Страничная трансляция включается в защищенный режим установкой в единицу 31-го разряда нулевого регистра управления CRQ и выключается сбросом этого разряда в ноль.

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

В свою очередь каждый раздел может содержать до 210 страниц объемом по 4 кб каждая. Начальные (базовые) адреса страниц каждого раздела хранятся в соответствующей таблице страниц, содержащейся в памяти. Обращение к этой таблице производится с помощью каталога, в котором содержатся начальные адреса таблиц страниц для всех разделов. Таким образом, страницы могут быть рассеяны по разным частям памяти, а их размещение в памяти определяется содержимым каталогов разделов и таблиц страниц.

Линейный 32-ый адрес при страничной организации памяти является исходной информацией для формирования физического адреса с помощью каталога разделов и таблиц страниц. При этом линейный адрес рассматривается как совокупность трех полей.

TABLE - указывает относительный адрес таблицы страниц выбираемого раздела в каталоге.

PAGE - задает относительный адрес требуемой страницы данного раздела.

BYTE - содержит относительный адрес выбираемого на странице байта.

Каталог занимает одну страницу памяти, где для каждого раздела содержатся 32-разрядные указатели входа в таблицу страниц этого раздела. Каждая из таблиц страниц также занимает одну страницу памяти, где для каждой страницы дается 32-хразрядный указатель входа в эту страницу.

Указатели входа в раздел и в страницу имеют одинаковый формат.

Каждый указатель содержит информацию, определяющую порядок использования страниц. Старшие 20 разрядов занимает базовый адрес. Остальные разряды имеют следующий смысл.

Р - бит присутствия. Если Р=1, то разрешается использование таблицы страниц, если Р=0, то такое использование запрещается. При Р=0 попытка обращения к соответствующему разделу или странице вызывает прерывание из-за отсутствия нужной страницы в оперативной памяти. После загрузки нужной страницы в память, бит Р устанавливается в «1» и в этом случае обращение к данной странице становится возможной. Это нужно для того, чтобы ОС знала, где находится страница.

R/W - бит чтения/записи.

U/S - бит пользователь/супервизор.

Эти два бита определяют право доступа к соответствующей странице или разделу для программ пользователя. Программа пользователя обычно имеет самый низкий уровень привилегий равный 3. Если осуществляется запрос с уровнем привилегий равным 3, то при значении U/S = 0 программе пользователя запрещается доступ к разделу или странице.

При U/S = 1 обращение разрешается, но при этом учитывается значение бита R/W.

Если R/W = 0, то программе пользователя разрешается только чтение раздела или страницы.

Если R/W = 1, то разрешается как чтение, так и запись. Если осуществляются запросы с большим уровнем привилегий (0, 1 и 2), то допускается запись и чтение разделов и страниц при любых значениях `1' и `2' разрядов.

Такие уровни привилегий имеет ОС.

А - бит доступа. Этот бит автоматически устанавливается в «1» микропроцессором при обращении к данному разделу или странице для записи или чтения.

D - бит «мусора». В указателе кадра страницы этот бит устанавливают в «1» при записи на данную страницу. Для указателей таблиц страниц значение бита D является неопределенной.

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

Содержимое CR3 (регистр управления) задает старшие 20 разрядов базового адреса для входа в каталог раздела. Для получения физического адреса строки каталога разделов к этим 20 разрядам добавляется 10-тиразрядное поле TABLE линейного адреса и 2 нулевых младших разрядов. По полученному таким образом адресу обращаются к каталогу разделов, откуда выбирают указатели входа в таблицу страниц. Этот указатель содержит 20-разрядный базовый адрес таблицы страниц. К этим 20 разрядам добавляется поле PAGE и 2 нулевых младших разряда. В результате получается адрес строки таблицы страниц. В этой строке находится указатель входа в страницу, содержащий 20-разрядный базовый адрес страницы. Добавление к этому базовому адресу 12-тиразрядного поля BYTE дает физический адрес байта.

Существенное сокращение времени преобразования адресов в микропроцессоре достигается путем внутренней ассоциативной памяти, которая называется «буфером ассоциативной трансляции» и обозначается TLB.

TLB представляет собой память с ассоциативной выборкой, которая содержит 20-тиразрядные базовые адреса 32-х страниц, то есть, старшие 20 разрядов физического адреса страницы. Каждый из базовых адресов имеет свой признак (тег). В качестве тега используются старшие 20 разрядов линейного адреса, то есть поля TABLE и PAGE. Формирование физического адреса с использованием TLB производится следующим образом:

При поступлении в блок управления страницами линейного адреса его старшие 20 разрядов сравниваются с тегами физических адресов, хранящихся в TLB. Если обнаруживается совпадение этих разрядов с каким-либо из тегов, то из TLB выбирается соответствующий этому тегу базовый адрес. Страничный диспетчер формирует 32-хразрядный физический адрес, в котором выбранный из TLB базовый адрес задает 20 старших разрядов, а поле BYTE линейного адреса - 12 младших разрядов.

Случай, когда базовый адрес страницы находится в TLB, называется КЭШ-попаданием. При этом не требуется обращаться к ОЗУ для выборки указателя входа в таблицу страниц и в саму страницу.

Если базовый адрес нужной страницы отсутствует в TLB, то такое обращение называется КЭШ-промахом. При этом микропроцессор выполняет описанную выше процедуру формирования физического адреса с помощью каталога разделов и таблиц страниц. Полученный при этом из таблицы страниц 20 - разрядный базовый адрес вместе с соответствующими 20 разрядами старшей части адреса (тегом) записывается в свободную или дольше других занимаемую ячейку TLB. Таким образом, обеспечивается непрерывное обновление содержимого TLB.

Помимо тега для каждого базового адреса страницы в TLB хранится дополнительная информация, позволяющая определить, какую страницу можно заменить на вновь вводимую. Поскольку TLB хранит адреса только 32 страниц объема 4 кб каждая, то микропроцессор может непосредственно формировать физические адреса для 128 кб памяти (4 х 32). При этом по статистике вероятность КЭШ попадания равна 0,98 и, следовательно, только 2% обращений вызывают КЭШ промах и требуют двухступенчатого преобразования адресов.

5.1 Организация виртуальной памяти

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

Страничную виртуальную организацию памяти поддерживает бит Р - бит присутствия. В системах с виртуальной памятью бит Р должен точно отображать место нахождения виртуальной страницы, которая может находиться в ОЗУ, либо на внешнем диске. Если страница находится в ОЗУ, то бит Р устанавливается в единичное состояние, а если на внешнем диске, то бит Р=0.

Операционная система и микропроцессор следят за состоянием бита Р. Микропроцессор автоматически проверяет состояние бита Р в каталоге разделов и таблице страниц при каждом обращении к памяти. Если Р=1, то страница находится в оперативной памяти и производится стандартная трансляция адресов с помощью либо универсального алгоритма формирования физического адреса, либо с помощью ТЛБ. Если Р=0, то обращение к памяти не выполняется , так как нужной страницы в ОЗУ нет. Такая ситуация квалифицируется как ошибка страниц и микропроцессор генерирует исключительную ситуацию. Происходит прерывание программы, вызвавшей исключительную ситуацию, и управление передается операционной системе. Операционная система находит нужную страницу на внешнем диске, загружает ее в ОЗУ, устанавливает бит Р в единичное состояние и возвращает управление прерванной программы. Прерванная программа возобновляет свою работу с той точки, где произошло прерывание.

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

Объем виртуальной памяти равен максимальному объему одного сегмента (4Гбайта) умноженного на количество сегментов. Количество сегментов определяется объемом глобальной и локальной таблиц дескрипторов. В каждой из этих таблиц до 213 дескрипторов, что позволяет адресовать 213 сегментов. Число 13 - разрядность поля “INDEX”. Таким образом максимальное количество сегментов, которое может адресовать микропроцессор равняется:

2*213=214

1 сегмент равен 232 =4 Гбайта

232*2*213=246=26*240=64 Тбайта

5.2 Встроенные средства защиты информации в микропроцессорах фирмы INTEL

Концепции и компоненты защищенного режима.

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

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

1. Независимость подготовки пользовательских программ и их защита от взаимных помех;

2. Защиту программ операционной системы от помех при сбоях в программах пользователей;

3. Защиту программ операционной системы верхнего уровня от помех при сбоях в программах операционной системы нижнего уровня;

4. Защиту программ от отрицательных последствий при программных сбоях;

5. Защиту целостности системы.

Рассмотрим как обеспечиваются перечисленные требования в МП INTEL.

Независимость подготовки пользовательских программ и их защита от взаимных помех.

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

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

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

Многопользовательские режимы должны не только разделять программы пользователей. В некоторых случаях требуется совместная работа нескольких пользовательских программ. Для этого требуется не локальная , а разделяемая память. Разделяемая между несколькими программами память легко организуется при помещении дескрипторов соответствующих сегментов в общую глобальную таблицу дескрипторов (GDT) или дублированием дескрипторов разделяемых сегментов в локальных таблицах дескрипторов (LDT).

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

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

5.3 Защита программ операционной системы от помех при сбоях в программах пользователей

Операционная система служит не только для организации определенного режима работы ЭВМ и обеспечения «дружелюбного» экранного интерфейса . Одной из важнейших функций ОС является предоставление сервисных процедур пользовательским программам. Поэтому нельзя полностью изолировать программы пользователей от операционной системы и глобальная таблица дескрипторов (GDT), определяющая сегменты ОС, должна быть доступна пользовательским программам, естественно не во вред защите программ самой ОС. Для разрешения это проблемы используется механизм зашиты по режимам работы или уровням привилегий PL (PL от английских слов - Privilege Level). Этот механизм разрешает программам пользователей доступ только к определенным программам ОС и обеспечивает достаточно корректное использование этих программ.

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

5.4 Защита программ ОС верхнего уровня от помех при сбоях в программах ОС нижнего уровня

Такая защита программ необходима потому, что обычно ОС имеют иерархическую структуру. Ошибки на разных уровнях этой структуры имеют различные по тяжести последствия в виде возможных нарушений в работе системы. Поэтому защита от помех на разных уровнях иерархии программ операционной системы должна быть разной. По этой причине увеличивают количество уровней привилегий PL. В МП INTEL имеется аппаратная поддержка четырех уровней привилегий. В некоторых случаях используется не четыре, а меньшее число уровней привилегий. Например, в страничном преобразовании адреса используется более простой двухуровневый механизм защиты типа пользователь/супервизор.

5.5 Защита программ от отрицательных последствий при программных сбоях

Наиболее опасными здесь являются ошибки в использовании адресов данных и переходов. Нередко эти сбои приводят к фатальным последствиям, таким как порча массивов данных и программ. Механизм защиты программ в этом случае опирается на описание различных системных объектов с помощью дескрипторов. Дескриптор является поисковым образом объекта, определяющим функциональные свойства объекта с учетом определенных требований информационной безопасности. Дескриптор определяет не только место расположение объекта в памяти, но и его тип, степень защиты и права доступа. На основе информации дескриптора механизм защиты осуществляет блокировку обращений к «неверному» пространству памяти и сообщает ОС о возникновении этой ситуации.

5.6 Защита целостности функционирования вычислительной системы

Вычислительные системы проектируются под конкретные режимы работы, определяемые ОС. Четкое выполнение административных функций по поддержке заданных режимов входит в понятие целостности вычислительной системы (ВС). Обеспечение целостности функционирования ВС реализуется механизмами разделения адресного пространства и защиты по уровням привилегий PL. Поэтому механизм защиты процессора INTEL можно подразделить на две части: схемы управления памятью и защита по привилегиям.

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

Защита по привилегиям фиксирует более тонкие ошибки и попытки нарушить целостность функционирования системы.

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

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

Информационная основа работы механизма защиты.

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

дескрипторы - описатели сегментов;

дескрипторы - описатели точек входа в программы, т.е. дескрипторы шлюзов.

К описателям сегментов относятся:

1. дескрипторы сегментов (программных, стековых, данных)

2. системные дескрипторы: дескрипторы сегментов состояния задач и дескрипторы сегментов различных таблиц.

Все дескрипторы шлюзов являются системными. К ним относятся:

1. дескрипторы шлюзов вызовов;

2. дескрипторы шлюзов прерываний;

3. дескрипторы шлюзов ловушек;

4. дескрипторы шлюзов задач.

Дескрипторы сегментов имеют формат 64 разряда (8 байт), из которых механизм защиты использует 20-ти разрядное поле размера сегмента, 8-ми разрядный байт доступа (AR) и бит G - дробности (гранулярности).

Байт прав доступа содержит следующие поля:

P

DPL

S

IPE

P (Present) - бит присутствия сегмента в оперативной памяти. Используется механизмом виртуальной памяти для организации загрузки (подкачки - свопинга) нужного сегмента с диска в оперативную память. Если сегмент в оперативной памяти отсутствует, то Р=0. Бит Р устанавливается в единицу при загрузке сегмента в ОЗУ. Механизмом защиты бит Р используется в проверках при загрузке стекового сегмента.

DPL (Descriptor Privilege Level) - двухразрядное поле, определяющее уровень привилегий сегмента. Механизмом защиты применяется в проверках корректности использования сегмента.

S - тип дескриптора сегмента. При S=0 дескриптор является сегментным, т.е. определяет сегменты программ, данных и стеков. При S=1 дескриптор используется как системный дескриптор.

TIPE - четырехразрядное поле, интерпретируемое по разному в зависимости от типа дескрипторов.

В системных дескрипторах, т.е. при S=1, разряды поля TIPE кодируют подтипы системных дескрипторов. Коды подтипов системных дескрипторов используются механизмом защиты при проверках корректности обращений к программам.

В дескрипторах сегментов программ и данных , т.е. при S=0 , поле TIPE содержит следующие признаки:

E

ED/C

W/R

A

E - бит исполняемости, который уточняет тип сегмента. При E=0 сегменты определяются как сегменты данных , а при Е=1 - как кодовые сегменты. Механизмом защиты используются при проверках корректности обращений к программам и данным.

ED/C - для сегментов данных этот бит определяет направление расширения (ED - расширение). Используется механизмом защиты при проверках соответствия адреса обращения границам сегмента. Для программных сегментов этот бит определяет подчиненность сегмента (с - conforming). Механизмом защиты используется при проверках корректности межсегментных передач управления.

W/R - определяет права использования. Для программных сегментов, т.е. при E=1, признак W/R определяет доступность сегментов по чтению (R от слова Read). Изменение, т.е. модификация, программных сегментов запрещена безусловно. При этом при R=1 разрешается производить чтение содержимого сегментов программ. При R=0 попытка чтения сегмента программ вызывает прерывание, что делает невозможным копирование программ, т.е. чтение сегмента с целью его копирования. Следует отметить, что при R=0 программа из этого сегмента выполняться будет без всяких ограничений, т.е. допускается чтение команд из сегмента только для их исполнения, а не для копирования. Для сегментов данных, т.е. при Е=0, признак W/R определяет доступность сегментов по записи (W от слова Write). Процедура чтения сегментов данных разрешена безусловно, а запись может быть либо разрешена при W=1 , либо запрещена при W=0. Механизмом защиты используется при проверках корректности использования сегмента.

А - бит обращения (доступа) к сегменту. Бит А устанавливается в единицу при обращении к сегменту, т.е. при загрузке соответствующего селектора в сегментный регистр. Этот бит периодически проверяется ОС, которая выявляет невостребованные сегменты, имеющие А=0. Сегменты с А=0 выводятся из ОЗУ на диск, освобождая место для других сегментов. Этот бит механизмом защиты непосредственно не используется, а используется в механизме виртуальной памяти.

6. Уровни привилегий

6.1 Концепция уровней привилегий

Термин “привилегия” подразумевает права или возможности, которые обычно не разрешаются, а разрешаются только в порядке исключения из общих правил. Введение неравноправия программ в виде уровней привилегий (уровней PL) является средством защиты программных сегментов и сегментов данных операционной системы. Защищаются программы ОС различных уровней иерархии от ошибок в пользовательских программах и в программах операционной системы более низких уровней иерархии.

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

В микропроцессоре установлено 4 уровня привилегий (PL) , которые задаются номерами от 0 до 3.

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

3 - программы пользователя

2 - служебные программы

1 - Драйверы устройств и утилиты ОС

0 - ядро ОС

Чем меньше номер уровня, тем меньше его логический уровень управления, но тем более он привилегирован и имеет большую степень защиты.

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

На втором и третьем уровнях располагаются программы разработчиков комплексных систем, например СУБД, и программы пользователей соответственно.

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

Операционная система необязательно должна поддерживать все четыре уровня привилегий. Например, система UNIX имеет всего 2 уровня: операционной системе присвоен номер 0, а программам пользователей - уровень 3. Система OS/2 поддерживает три уровня: программы ОС работают на 0 уровне, специальные процедуры для обращения к устройствам ввода/вывода действуют на уровне 2, а прикладные программы пользователей выполняются на уровне 3.

6.2 Задание уровней привилегий

Основными объектами механизма защиты по привилегиям являются сегменты программ и данных, а также шлюзы. Именно им назначаются уровни привилегий. Уровень привилегий относительно содержимого сегмента следует считать глобальным, т.е. не может быть, чтобы какая-то часть сегмента данных была более привилегированной, чем другие части. Но ОС имеет возможность определять один сегмент несколькими дескрипторами с разными уровнями привилегий и даже с разными размерами самого сегмента.

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

Кроме уровня привилегий сегмента DPL существует понятие текущего уровня привилегий CPL (от англ. Current Privilege Level или Code Privilege Level). Текущий уровень привилегий CPL определяется полем DPL дескриптора текущего программного сегмента. После загрузки программного сегмента в ОЗУ и передачи на него управления значение DPL копируется в поле CPL регистра программного сегмента CS. После этого уровень привилегий программного сегмента DPL становится текущим уровнем привилегий CPL. Таким образом, текущий уровень привилегий является уровнем привилегий исполняемого программного сегмента.

Кроме уровней привилегий DPL и CPL , механизм защиты использует понятие уровня привилегий запроса RPL (Requested Privilege Level). Этот уровень привилегий задается двумя младшими разрядами селектора. Уровень привилегий запроса RPL селекторов сегментов данных сохраняется в соответствующих сегментных регистрах SS, DS, ES, FS, GS. Понятие уровня привилегий запроса RPL служит для защиты программ и данных операционной системы от ошибок программ, изменивших уровень привилегий при межуровневых передачах управления.

6.3 Проверка корректности использования отдельных команд

К привилегированным командам относятся те, на выполнение которых влияет уровень привилегий программы или привилегии устройств ввода/вывода. Микропроцессор имеет три группы привилегированных команд, степени привилегий которых различны. Это: PLO - команды; IOPL - чувствительные команды; команды, модифицируемые в соответствии с текущим уровнем привилегий.

PLO - команды - это команды, выполнение которых разрешено только на уровне привилегий 0. При попытке выполнить их на другом уровне привилегий генерирует сигнал нарушения общей защиты и вызывает прерывание программы, в которой эта команда встретилась (прерывание 13). В эту группу команд входят команды останова процессора и команды загрузки системных объектов, в которых источником или получателем данных выступают системные регистры управления CRn, отладки DRn и проверки TPn.

IOPL - чувствительные команды (Input - Output PL команды). Это команды , которые изменяют состояние флажка прерываний IF, выполняют захват шины или операцию ввода/вывода. В микропроцессоре есть специальный регистр флагов EFLAGS, в котором есть двухразрядное поле IOPL , определяющее уровень привилегий операций ввода/вывода. Для выполнения этих команд программа необязательно должна иметь уровень привилегий CPL равный нулю. Достаточно, чтобы уровень привилегий программы CPL был выше уровня, определяемого полем IOPL в регистре EFLAGES, т.е. необходимо выполнение условия CPL< IOPL. При попытке выполнения этих команд при CPL> IOPL генерируется нарушение общей защиты и происходит прерывание текущей программы (прерывание 13).

Команды, модифицируемые в соответствии с текущим уровнем привилегий. Это всего две команды:

POPFD - загрузка 4-хбайтного регистра флагов EFLAGS из стека;

POPF - загрузка 2-х байтного регистра флагов EFLAGS из стека.

Команды POPFD и POPF сами по себе не являются привилегированными и любая программа их может содержать. Эти команды могут изменять любые биты в регистрах флагов, кроме битов IOPL и флага IF. Двухразрядное поле IOPL в регистрах флагов может быть изменено (модифицировано), если эти команды встретятся в программах ОС нулевого уровня. Флаг IF модифицируется только при выполнении условия CPL< IOPL. При нарушении указанных условий прерывание не производится , т.к. процессор просто не модифицирует биты IOPL и флаг IF, если это не разрешено.

6.4 Защита данных

Все прикладные программы в многопрограммном режиме выполняются на одном третьем уровне привилегий. Механизм виртуальной памяти обеспечивает их защиту от взаимных помех . Всем программам разрешено обращаться к любым данным на своем уровне привилегий. Логика сервисных функций современных ОС предусматривает работу с данными программ менее защищенных режимов. Поэтому программам разрешено обращаться к данным и на менее привилегированных уровнях. Однако программам не разрешается чтение/запись элементов данных, которые имеют более высокий уровень привилегий, т.е. движение к данным внутрь колец защиты запрещается. Любая такая попытка приводит к фиксации нарушения общей защиты. Это общее правило доступа к данным можно записать в виде следующего условия: CPLDPL (1), т.е. PL текущей программы должен быть меньше или равен PL данных. Условие допустимых схем обращения графически можно представить в следующем виде:

Здесь стрелками без перекрещивания указаны разрешенные схемы доступа. В приведенном примере запрещено обращение к сегменту данных находящему на 1 уровне привилегии, а остальные обращения разрешены. Однако, программы менее защищенных уровней, используя сервисные программы более защищенных уровней, могут выполнять разные процедуры на уровне этих сервисных программ, в том числе процедуры изменения данных. Поэтому возникает опасность несанкционированного нарушения данных на более защищенном уровне привилегий PL. Для блокирования этой опасности механизм защиты использует более сложную схему проверки условий доступа. В условие проверки вводится параметр - эффективный уровень привилегий (Effective Privilege Level - EPL) как функция уровня привилегий запросчика RPL:

EPL=max(CPL,RPL)

Параметр EPL используется в условии проверки разрешения доступа к сегментам данных вместо параметра CPL. С учетом RPL условие проверки доступа к данным имеет следующий вид:

EPLDPL или max(CPL,RPL) DPL или (CPLDPL)&(RPLDPL)

Из приведенных выражений для условий доступа видно, что значение RPL может только усилить неравенство (1), т.е. уменьшить возможности обращения текущей программы к сегментам данных. Например, пусть CPL=RPL=2. Тогда EPL=2 и текущей программе с CPL=2 разрешено обращение к сегментам данных, расположенным на втором и третьем уровнях привилегий. Если RPL=3, а CPL=2, то EPL=3 и текущая программа, имеющая CPL=2, уже не сможет обратиться к сегментам данных второго уровня привилегий и ей доступны сегменты только третьего уровня привилегий. Таким образом, за счет RPL можно настраивать механизм защиты на нужный режим работы. Это основное назначение параметра RPL.

6.5 Защита программ

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

Рассмотрим работу механизма защиты программ на примере межсегментных передач управления без изменения уровня привилегий. Существуют две разновидности таких передач управления. Это - переходы на программы сегмента того же уровня привилегий и переходы на программы подчиненных сегментов.

Среди сервисных программ операционной системы имеется ряд программ, которые используют другие программы на каждом уровне привилегий. Обычно такие программы просты по конструкции, требуют обращения только к своему параметру и возвращают результат вызывающей программе. Для упрощения обращения к таким программам можно было бы разместить их на уровне пользовательских программ. Но их используют на всех уровнях. Следовательно, такие программы нужны либо дублировать для каждого уровня привилегий, либо использовать более сложные межсегментные переходы с увеличением уровня привилегий. Для таких ситуаций в процессоре Intel предусмотрено альтернативное чтение - использование подчиненных программных сегментов.

Программный сегмент определяется как подчиненный установкой бита C - conforming в байте прав доступа AR дескриптора программного сегмента. Обычные правила защиты по значениям CPL и DPL не действуют, если бит подчиненности С установлен в единицу (С=1). В этом случае используются другие правила.

...

Подобные документы

  • Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.

    курсовая работа [3,7 M], добавлен 24.06.2013

  • Принципы сегментации памяти. Классификация регистров по назначению и способу использования. "Перевернутое" представление данных в центральном процессоре. Адресация ввода/вывода информации. Программное, внутреннее и аппаратное прерывание выполнения команд.

    презентация [107,4 K], добавлен 27.08.2013

  • Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.

    курсовая работа [621,0 K], добавлен 24.09.2010

  • Принципы программного управления компьютером. Модульная и функциональная организация, аппаратная реализация электронно-вычислительной машины. Назначение устройств ввода и вывода информации. Функции процессора; устройства внутренней и внешней памяти.

    презентация [2,2 M], добавлен 27.11.2013

  • Типы системной памяти. ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), "энергонезависимая память" (CMOS). Процессор. Основные шины. Адресные данные. Совокупность всех возможных команд - система команд процессора.

    контрольная работа [24,3 K], добавлен 30.03.2009

  • Структурная схема проектируемого контроллер и ее обоснование. Центральный процессорный модуль и блок памяти. Дешифраторы адреса ОЗУ/ПЗУ и внешних устройств. Блоки ввода аналоговых данных, отображения информации, вывода результата и интерфейсный.

    реферат [476,5 K], добавлен 22.09.2011

  • Главная задача компьютерной системы. Виртуальные адресные пространства нескольких программ. Классификация методов распределения памяти. Зависимость загрузки процессора от числа задач и интенсивности ввода-вывода. Схема функционирования кэш-памяти.

    презентация [2,2 M], добавлен 14.11.2012

  • Принципиальная схема устройства современного персонального компьютера. Краткая характеристика основных составляющих ПК: процессора, модулей оперативной (внутренней) и долговременной (внешней) памяти, устройств ввода и вывода информации для пользователя.

    презентация [100,7 K], добавлен 07.06.2015

  • Использование пользовательских регистров. Регистры общего назначения. Элементарные и базовые типы данных. Язык микроопераций, ассемблер. Директивы резервирования памяти. Система команд, организация вычислений. Сложные структуры данных. Схемы ввода-вывода.

    курс лекций [280,7 K], добавлен 02.12.2009

  • Блок-схема, отражающая основные функциональные компоненты компьютерной системы в их взаимосвязи. Устройства ввода-вывода информации. Определение объема оперативной памяти. Применение карт памяти и flash-дисков для долговременного хранения информации.

    презентация [5,3 M], добавлен 28.01.2015

  • Классические принципы построения электронных вычислительных машин, их основные блоки: арифметико-логический, устройства управления, ввода-вывода и памяти. Автоматизация перевода информации. Двоичное кодирование и организация оперативной памяти компьютера.

    презентация [55,2 K], добавлен 22.02.2015

  • Определение основных функций процессора. Микросхема процессора и выводы шин адреса, данных и управления. Функции памяти и устройств ввода/вывода (мыши, клавиатуры, джойстика). Описание функций внутренних регистров микропроцессора. Оперативная память.

    презентация [603,1 K], добавлен 17.06.2014

  • Характеристика назначения микропроцессора, системной шины, основной и внешней памяти, портов ввода-вывода внешних устройств и адаптеров. Сравнительный анализ элементной базы и математического обеспечения персональных компьютеров разных поколений.

    реферат [34,4 K], добавлен 25.03.2010

  • Стратегии размещения информации в памяти. Алгоритмы распределения адресного пространства оперативной памяти. Описание характеристик модели и ее поведения, классов и элементов. Выгрузка и загрузка блоков из вторичной памяти. Страничная организация памяти.

    курсовая работа [708,6 K], добавлен 31.05.2013

  • Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.

    учебное пособие [1,1 M], добавлен 09.04.2013

  • Функциональная схема микропроцессора Intel 8086 (i8086). Формирование физического адреса памяти, выборка команд из памяти и запись их в очередь команд. Система команд процессора. Суть защищенного режима, переход из защищенного режима в реальный режим.

    практическая работа [93,3 K], добавлен 24.03.2013

  • Физическая организация памяти компьютера. Организация структуры обработки потока данных. Степень и уровни параллелизма. Оценка иерархической организации памяти. Динамическая перестройка структуры. Микросхемы запоминающих устройств. Кэш-память процессора.

    лекция [2,4 M], добавлен 27.03.2015

  • Классификация и основные определения периферийных устройств. Устройства ввода и вывода информации, памяти, мультимедиа, связи, защиты электропитания. Интерфейсы подключения периферийных устройств. Рекомендации и правила эксплуатации компьютерной техники.

    курсовая работа [582,1 K], добавлен 06.09.2014

  • Микроконтроллер — компьютер на микросхеме, предназначенный для управления электронными устройствами. Структурная схема типичного современного микроконтроллера. Архитектурная особенность построения портов ввода/вывода. Принципиальная схема устройства.

    курсовая работа [2,1 M], добавлен 26.11.2013

  • Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.

    курсовая работа [3,7 M], добавлен 05.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.