Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка по ОргЭвм.doc
Скачиваний:
120
Добавлен:
01.05.2014
Размер:
859.14 Кб
Скачать

Иерархическая система памяти

  1. Сверх оперативная память, которая реализуется на регистрах (более быстрой не существует).

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

  3. Основная память, все то, что представляется программисту для выполнения программ.

  4. Дисковая – вспомогательная память на жестком диске (большая емкость).

  5. Архивная память, многотомные накопления на магнитных лентах, CD-ROMи т. д., долговременное хранение данных без разрушения.

Чем больше “номер” у памяти, тем ниже ее ценность по быстродействию.

Основная память и дисково-вспомогательная память образуют систему виртуальной памяти, основное назначение - расширение адресного пространства. Доступна программисту до размера дискового пространства.

Дисково-вспомогательная и архивная память образуют дисковую виртуальную память, удобство работы HDDс архивными устройствами.

22

XMA – Extended memory area

XMS – Extended memory standard (himem.sys)

HMA – High memory area (высокая память)

UMA – Upper memory area ( верхняя память)

CMA – Convert memory area ( стандартная память)

EMS–Expandedmemorystandard

Himem.sysиemm386.exe– драйверы управления

расширенной памятью, переводят компьютер в

защищенный режим.

23

Способ повышения производительности – память с чередованием адресов. Например, четыре модуля памяти имеют следующее распределение адресов:

1

2

3

4

0

1

2

3

4

5

6

7

4m

4m+1

4m+2

4m+3

Тогда для последовательных адресов возможность доступа процессора к памяти повышается в четыре раза:

Ассоциативные запоминающие устройства (азу)

Выборка осуществляется по содержимому.

Структура АЗУ.

Регистр контекста – задает содержимое k(ключ), по которому мы должны найти содержимое памяти, но обычно поиск ведется по нескольким разрядам. Участвующие в поиске разряды из регистра контекста задаются в регистре маски (r).

Накопитель хранит nэлементов с той же разрядностью, что и контекст. Одновременно для всех ячеек проверяется условиеi:bi[1…m] &r=k&r, когда найдется такая ячейка, то подключится к шифратору, который определит номер строки и пошлет на дешифратор на получение адреса и выборки полноразрядного данного в буферный регистр данных.

Достоинства:

Высокая скорость.

Исполняется как кэш-память (буферная).

При организациипо ассоциативному принципу кэш-памяти, адрес-строка состоит из двух частей:

Если находится нужный адрес, то считывание происходит из кэша, а не из ОЗУ.

24

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

Две возможных ситуации при обращении за данными в Кеш: промах или попадание.

Подразумевается наличие памяти М1(n1) и М2 (n2).

При этом

n1<<n2(количество ячеек памяти)

tобр.1<<tобр.2

tОБР.= (1 -)t1+(t1+t2) =t1+t2t1

где 0 < << 1 вероятность неудачного обращения в кэш за данными.

(как правило 0.05 .. 0.1)

Если данные имеются в кэше, то они выбираются за время t1, если отсутствуют, то за времяt2выбирается из основной памяти и одновременно загружается в кэш память.

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

Повышение вероятности попадания в Кеш зависит от: его объема, от стратегии замены блоков Кеша на новые блоки ОП.

Кэш с прямым отображение адресов.

Недостаток: для каждой ячейки основной памяти должны иметь кэш строку (сейчас такой способом не применяют).

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

16 32

16 11 3 2

Доступ и проверка данных: ] выбираем в строку, тег – старшие разряды ОП, сравниваем тег в Кеш и ОП, если они равны то выбираем данные.

Бит достоверности – загружалась ли в данную строку Кеша строка памяти. Тег представляет собой старшие разряды основной памяти. Кроме него может использоваться бит модифицируемости – сохранена ли измененная область Кеша в ОП.

В кэш-памяти для каждого набора может храниться не более двух блоков.

Существует две организации поиска данных: и в Кеше и в памяти, в памяти после Кеша.

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

При использование кэша возникает два группы проблем:

  1. Замена блока в кэш-памяти на новый блок. В настоящее время придумали два способа замены кэша.

  1. LRU(Least-Recently-Ued) – наиболее долго не обращались к блоку, требует историю обращения к блокам (счетчики).

  2. FIFO(Fist-in,Fist-out, буфер обратного магазинного типа, обычная очередь) – очередь не столь эффективна какLRU.

  1. Согласование данных в кэше и основной памяти.

  1. Store-throw– сквозная запись (одновременная запись в блок основной памяти), при этом трата ресурсов и времени на обновления памяти основной памяти .Достоинство: надежный способ согласовать данные.

  2. SwapлибоStoreIn– запись с перекачкой, обновление блока основной памяти происходит только при выгрузке из кэша в основную память. Достоинство: производительность. Недостаток: различие данных в памяти и кэше может привести к конфликтам (проявляется в многопроцессорных компьютерах с общей памятью).

Наборно-ассоциативная Кеш память:

Банк 1 Банк 2 Банк 3 Банк 4

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

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

25

Виртуальная память – система основной и дисковой памяти представляемая для расширения адресного пространства, доступа программам пользователей.

При использование Виртуальной памяти

  1. ФАП (физическое адресное пространство) – это совокупность адресов соответствующим реально адресуемым физическим ячейкам памяти.

  2. ЛАП (ВАП) (логическое адресное пространство или виртуальное логическое пространство) – это совокупность адресов которое можно использовать для доступа к данным.

Очевидно, что Свап >>> Сфап

Для обеспечения доступа к ВАП из программ необходимо установить строгое соответствие между данными размещаемые в ОФМ и данным размещенными на диске.

Любое случае требуется таблицы соответствия.

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

Разбиение происходит по двум принципам: Страничное, Сегментное.

При первом, вся память (основная и дисковая) разбивается на одинаковые по размерам страницы (блоки), разбиение происходит независимо от размещения данных.(Говорят, что разбиение ориентируется на физическую память.)

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

Первое проще, более простая организация и более простое размещение страниц в виртуальной памяти.

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

Страничную организацию памяти можно пояснить с помощью следующей схемы.

Стратегия замещения страниц

  1. FIFO - первый вошел, первый вышел

  2. LRU– страница на которой давняя ссылка.

  3. WS(workset) рабочее множество: для конкретных интервалов времени

создается совокупность страниц, которые не замещаются (т.к. используются),

остальные можно удалить из памяти.

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

Основная проблема выбор оптимального количества страниц. Наиболее часто используется размер от 4кб. до 64кб. .На современных машинах (с большими HDD) используются большие страницы.

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

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

BA pi d

p1 p1I

p2 p2I

PiI

+ ФА

pk pkI

s

Атрибут

m/d L R W E АВП

1 nI 1 1 1 nII

Одной из проблем виртуальной памяти является фрагментация виртуальной памяти.

Фрагментацию обычно различают внутреннюю и внешнюю.

Внутренняя возникает от недоиспользованного полного размера страницы сегмента.(Это приводит к образованию участков памяти доступ к которым затруднен.)

Внешняя возникает только для сегментной (виртуальной памяти) из-за того что удаляемый и размещаемый на его место сегменты имеют разные размеры.

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

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

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

S P d

номер номер мещение

сегмента страницы в стр.

+ ФА1

БА Сегм. 1

+

т. стр. 1

БА Сегм. i

+

т. стр. j

+ ФА2

+

табл. Сегм.

Таблицу сегментов – не стоит рассматривать как сплошное адресное пространство.

Для различных задач могут быть разные таблицы сегментов и разные связи с таблицами страниц.

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

На логическом уровне – сегментная организация.

На физическом – страничная.

26

Эти процессоры могут работать в трех режимах:

  1. Реальный режим (более быстрый особенно с 32 битными данными). Память до 4Гб.

  2. Защищенный режим использует виртуальную организацию памяти, многозадачный режим, развитая система защиты памяти (программ и данных).

  3. Реализация виртуальной машины i8086 при котором процессор реализовывает программы написанные для процессораi8086.

В защищенном режиме размер виртуальной памяти CВАП=246 б. = 64Тб.

(Это возможно благодаря разбиению ВАП на 16К сегментов, максимальный размер которого = 4Гб. )

При организации памяти используется три вида адресов.

  1. ЛА ВАП

  2. ФА ФАП

  3. Линейный адрес – представляет собой объединение базового адреса смещения и смещения в пределах сегмента.

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

доступная скрытая

15 0 63 0

CS БАС граница атрибуты -это дескриптор сегмента

DS

GS

селектор RS индекс TI RPL

15 3 2 1 0

БАС – базовый адрес сегмента.

Индекс задает смещение таблицы, строки с описанием данного сегмента.

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

Структура дескриптора сегмента.

31 24 19 16 15 14 13 12 11 9 8 7 0

База G D 0 AVL Граница P DPL S тип А База

База Сег [0-15] Граница Сег [0-15]

20 бит граница сегмента определяет его длину.

Длина сегмента зависит от бита дробности (G) либо в байтах, либо в страницах.

 0, байт

G 

  • 1, страница (С = 4Кб.) 220* 215= 232(4Гб.)

Остальные поля атрибуты.

D- задает тип данных в сегментах (Data)

= 0 – 16 битные данные

= 1 – 32 битные данные

AVL– бит предоставляемый в распоряжение пользователя (available)

P– бит присутствия

0 – на диске

1 – в оперативной памяти

DPL– уровень привилегий в дескрипторе (DescriptorPrivilegeLevel)

RPLилиCPLдолжен быть >DPL- логическое соответствие (если о числах, то знак меньше)

CPL– текущий уровень привилегий соответствует дескриптору сегмента выполняемый в данный момент программой

S–User/Supervisor

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

Биты

11

10

9

Данные

1

E

W

Код

0

C

R

С – признак согласования сегментов (уровень привилегий с которыми обращается к данному сегменту, равно данному сегменту (можно не обращать внимания), более высоких типах процессоров от Intelон существует только для поддержки)

R– только чтение

W– только запись

E– бит расширения при загрузке сегмента (прямое - при увеличение адреса, обратное при уменьшение адреса)

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

Алгоритм преобразования виртуального адреса в физический адрес

база

+ смещение

+ * индекс

коэффициент

масштабирования (1,2,4,8)

ЛА селектор ЛА смещ.

сегм. трансляция

лин. А.

0

PG&PE

1

DIR PAGE offset

стран. трансл.

ФА

Структура выполнения сегментной трансляции.

Iэтап

Сегментная трансляция– это преобразование логического адреса (селектор сегмента и смещения). На основании селектора происходит выборка из локальной или глобальной таблицы и переписывать его в скрытую часть сегментного регистра.

Линейный адрес = базовый сегмент + смещение.

IIэтап

Страничная трансляция.

CR– регистр управления

(CR0.PG)&(CR0.PE) = 1 - признак страничной трансляции.

TLB– буфер страничной трансляции (по сути это кэш, нужен он для ускорения)

1к каталог

1kстраниц

4kсмещение

1kx1kx4k= 4Gb

Таблица страниц

31 12

11

10 7

6

5

4 3

2

1

0

Адр. стр. кадра

AVL

0

D

A

0

U/S

R/W

P

27

Только приCR0.PE=1(защищенный режим). Защита может осуществляться на уровне страниц и на уровне сегментов.

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

RPL– запрашиваемый уровень (при помещение селектора в сегментный регистр)

DPL– уровень привилегий дескриптора, фиксируется при первом обращение к данным дескриптора. Минимальный уровень, при котором данный деструктор доступен.

CPL– текущий уровень привилегий, которые соответствуют кодовому сегменту программы.

На уровне сегментов:

  1. Контроль типа не зависит от уровня привилегий, определяется деструктором

  2. Контроль границ 

  3. Ограничение адресной области памяти. 

  4. Ограничение точек входа в процедуру. Зависит отRPL, DPL, CPL

  5. Ограничение набора команд. 

Уровень страниц:

  1. Контроль типа.

  2. Ограничение адресной области памяти.

Контроль типов:

  1. На этапе загрузки селектора в регистр сегмента (проверка типа сегмента для которого осуществляется загрузка селектора)

  2. На этапе обращения к сегменту.

Пример: В CSможет быть загружен только программный дескриптор; вDSне может быть загружен селектор дескриптора, который не доступен для чтения.

При обращении:

  1. Нельзя называть в кодовый сегмент.

  2. Нельзя писать в сегменте данных, если бит записи равен нулю.

  3. Нельзя читать кодовый сегмент, если бит равен нулю.

Контроль на уровне страниц:Зависит отU/SиR/W.

Контроль границ:Предотвращает выход за пределы сегмента.

Ограничение адресной области памяти.

{RPL,CPL}DPL

CPL=DPL

CPLDPL(численно), через специальный дескриптор (вентиль вызова)

Ограничение набора команд.

  1. Свободные команды (непривилегированны).

  2. Привилегированные команды на уровне ядра.

Чувствительные команды, зависят от уровня привилегии, но могут выполняться в любом режиме супервизора (от 0 до 2). В основном это команды ввода-вывода.

28

Назначение системы ввода-вывода – это, обеспечение центральной части машины с внешней средой представленными периферийными устройствами.

Связь процессора с периферийными устройствами осуществляется:

  1. Через аккумулятор (регистр общего назначения)

  2. Через оперативную память.

Оперативная память может непосредственно связаться с внешним устройством через DA.

Проблемы ввода-вывода:

  1. Существует большое количество устройств ввода-вывода, с различными параметрами:

  1. Скорость передачи данных.

  2. Формат передачи данных (устройства последовательного, параллельного представления информации и т.д.).

  3. Различные формы передачи данных (байты, слова, блоки секторы).

  4. Количество выполняемых функции (чтение, запись).

  1. Различные скорости работы центральной машины и внешних устройств (требуется многоуровневая буферная память).

  2. Асинхронность центральной рабочей машины и внешних устройств (Это значит, что центральная машина работает сама по себе, внешне устройство подготавливается к работе (согласование устройств)).

Требования в системе ввода-вывода:

  1. Обеспечить эффективное согласование центральной части машины и внешних устройств с

целью достижения максимальной производительности.

  1. Обеспечение распределения внешних устройств по одновременно выполняемым

задачам в системе (большинство машин работают в многозадачных системах).

  1. Обеспечение управлением каждым конкретным внешним устройством.

  2. Обеспечение дружественного интерфейса с пользователем.

Архитектура систем ввода-вывода.

Существует два основных способа организации системы ввода вывода.

  1. Прямой ввод вывод.

  2. Косвенный ввод вывод (канальный ввод вывод).

ОП

системная шина

ЦП

ОП контрол. ВУ контр. ВУ

ВУ ВУ1 ВУ2 ВУ3

механизм

носит. инф

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

ВУ1 ВУ2 ВУ3 ВУ4

контр. 1 контр. 2

канал 1

(мультиплексный)

ЦП ОП

канал 2 контрол. ВУ

(селекторный)

В данной архитектуре осуществлен процесс ввода-вывода называемый канальный.

Каналы делятся на

  1. Мультиплексные (обслуживают много, но медленно).

  2. Селекторные (обслуживают мало, но быстро).

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

Сравнение функций контролеров и каналов, состав контролеров и каналов

Контролеры:

  1. В текущий момент времени он выполняет одну команду ввода-вывода получаемую от процессора или канала и одновременно обслуживает одно внешние устройство.

В его функции входит:

  1. Опознание своего адреса выборки.

  2. Подтверждение готовности внешних устройств.

  3. Управление операцией во внешнем устройстве.

  4. Согласование форматов данных.

  5. Согласование скоростей передачи (буферизация).

  6. Фиксация момента и характера операции ввода-вывода.

Контроллер должен содержать:

  1. Селектор адреса (логическая схема, выдающая разрешающий сигнал на один адрес).

  2. Регистры управления (содержит команду) и состояния. Состояния характеризуются следующими битами: DONE,BUSYERRORчасто применяется бит приоритета.

  3. Буферные регистры данных (которые служат для согласования форматов и скоростей передачи).

Особенности каналов:

  1. Выполняет целую канальную программу из многих команд.

  2. Допускает одновременно управлять несколькими внешними устройствами.

В его функции входит:

  1. Опознание своего адреса и подтверждения готовности.

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

  3. Поиск контроллера и внешнего устройства участвующего в операции и проверки их готовности.

  4. Запуск канальной программы и управление обменом.

  5. Сообщение центрального процессора о завершение операции и всей программы.

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