Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Модуль 4
Лекция 5
5.
5.1.
Процессоры ЭВМ
Процессоры: архитектура, структура и формат команд
Все МП делят на:
универсальные,
секционные.
Архитектура МП - это:
1.
типы обрабатываемых данных и способы их представления
2.
адресные структуры памяти
3.
способы адресации
4.
структура команд
5.
регистровые структуры
6.
особенности системы команд
Команда состоит из операции и операндов.
Программа - последовательность команд.
Команды состоят из двух частей:
операционая
операции цельночисленной арифметики
логические
десятичной арифметики
пересылки кодов и групп кодов
операции ввода-вывода
передача управления
задания режима работы
адресная - содержит информацию о адресах операндов и их назначении.
Структура команды – это состав, расположение и назначение полей в команде.
Формат команды - привязка структуры к конкретным разрядам слова.
5.1.1. Адресные структуры, способы адресации
Адресация возможна на уровне байта или с выравниванием на 2, 4 байта и тд.
Машинное слово - формат данных, наиболее часто встречающийся в командах в
качестве операндов.
Способы адресации:
подразумеваемая (неявная) - в команде не содержится прямых указаний на
операнды
непосредственная - операнд помещается в саму команду
прямая адресация - исполнительный адрес = адресной части команды
относительная (базированая) - Аи = Ак + Аб
Аб хранится в специальном регистре - необходимо указывать в
команде номер этого регистра.
Аб - самоопределенная величина, в качестве базового используется
текущий адрес команды.
Получение Аи:
прямое сложение - тратится время
дополнение (совмещение). В старшие разряды Аи записывается Аб, в
младшие Ак.
укороченная (присоединенная) - старшие разряды подразумеваются, а
младшие хранятся в команде.
расширенная - обеспечивает доступ к памяти, которая имеет больший объем,
чем прямоадресуемое пространство.
регистровая адресация - в качестве фиксированных ячеек памяти
используются регистры (обычно не более 64) находящиеся в процессоре. Адресация по
номеру регистра. Работает быстро, так как нет обращений к памяти, но ограниченый
объем.
косвенная адресация - регистровая или с памятью. В памяти или в регистре
хранится адрес по которому хранятся необходимые данные. Возможна многоуровневая
косвенная адресация.
автоинкрементная (декрементная) адресация в качестве адреса используется
содержимое регистра, которое затем изменяется на определенную величину.
адресация слов (полей) переменной длины - задается начальный адрес и
длина слова.
стековая адресация (безадресная) - стек реализуется в конкретной области
физической памяти, есть регистр с адресом вершины стека. Возможна аппаратная (в
системах обработки прерываний) и программая реализация.
5.1.2. Способы расширенной адресации в ПЭВМ
Расширенная адресация - обеспечивает доступ к памяти, которая имеет больший
объем, чем прямоадресуемое пространство.
1.
Метод окна (EMS) - в процессор встраивается специальный регистр, в
котором хранится начальный и конечный адрес области памяти (“окно”).
В прямоадресуемой памяти отображается содержимое этого окна.
2.
XMS expended memory specification
Не эффективный способ, в современных машинах не применяется (переходят на
64-х разрядную адресацию).
5.1.3. Система команд ЦП, состав, особенности
Есть четыре типа команд:
1.
передача информации в пространстве
2.
передача информации во времени
3.
арифметические операции
4.
логические операции
Группы операций:
1.
операции цельночисленной арифметики
2.
логические
3.
десятичной арифметики
4.
пересылки кодов и групп кодов
5.
операции ввода-вывода
6.
передача управления
7.
задания режима работы
Команды передачи управления позволяют строить разветвляющиеся программы.
Содержимое адресного кода переписывается на счетчик команд.
1.
команда перехода
2.
команды замещения
3.
смена состояния программы
4.
запросы прерываний
Команды перехода:
Содержимое адресного кода после модификации заносится на счетчик команд и
следующая команда выбирается по этому адресу.
1.
Безусловный переход - переход осуществляется в любом случае.
2.
Переход с возвратом или обращение к подпрограмме.
3.
Условный переход - существуют альтернативы, в зависимости от каких либо
условий адрес записывается или не записывается в счетчик команд.
Команды замещения - команда заменяется на аппаратном уровне, счетчик команд
не изменяется.
Смена состояния программы - при переключении задач или при возвращении
после обработки прерывания, переключаем контекст программы. Сейчас используется
способ переименования регистров, в процессе переключения изменяются имена
регистров.
Вызов прерывания - Обработчик прерывания выполняется аппаратными
средствами.
Команды индексной (адресной) арифметики используются для работы с
адресами (например, для организации массивов).
у операндов нет знака
нет переноса из старшего разряда
Работают с индексным и базовым регистрами. Содержимое команды в процессе не
меняется, изменяется содержимое индексного регистра.
внутреняя индексация (все указывается в самой команде: адрес и
модификаия)
внешняя индексация (предшествующая команда указывает на код
модификации, а слеующая - адрес индексного регистра).
1.
загрузка начального значения индексного регистра
2.
изменение индексного регистра (при изменении на произвольную величину
требуется непосредственно указать где она находится)
проверка условия и окончание цикла
3.
Сейчас используют команды условных переходов.
5.1.4. Структура ЦП, принципы организации и особенности ЦП основных семейств
ЭВМ
Процессор - устройство, осуществляющее обработку данных и программное
управление этим процессом.
Функции:
Формирование адресов команд и данных. Выдача адресов команд и данных.
1.
Обращение к памяти для выборки.
2.
Дешифрация кодов команд. Формирование адреса операндов и результата.
Передача в АЛУ операндов для выполнения. Оперативное управление операцией.
Анализ признаков результата. Обеспечение работы процессора в различных режимах.
3.
Выполнение различных операций над данными в различных форматах.
Формирование признаков результата.
4.
Временное хранение операндов, адресов, индексов, результатов.
5.
Хранение микропрограмм различных операций.
Хранение состояния процессора и различных управляющих инструкций,
6.
определяющих режим работы процессора.
7.
Восприятие и обработка запросов прерываний от различных устройств.
8.
Аппаратный контроль и диагностика устройств процессора. Восстановление
состояния процессора после сбоя.
9.
Формирование отметок текущего времени.
10. Выработка различных синхросерий.
11. Регистрация различных событий в процессоре для трассировки программ.
12. Управление обменом со сложными структурами памяти (КЭШ, ОП, ВЗУ)
13. Управление защитой памяти и динамическим распределением памяти.
14. Начальный пуск ЭВМ.
15. Организация межпроцессорного обмена, управление, в/в периферийных
устройств.
5.1.5. Система прерываний. Назначение, параметры
Система прерываний обеспечивает ЭВМ возможность реагировать на
всевозможные события внутри и вне ее.
При обработке прерывания необходимо запомнить текущее состояние (состояние
процессора - совокупность состояний всех устройств.
Событие на которое должна реагировать ЭВМ - прерывание.
Определяющие элементы (состояние может быть восстановлено):
адрес исполняемой команды;
регистр признаков;
дополнительные триггеры и регистры, которые необходимы для работы
процессора.
В периферийных устройствах также существуют слова состояния.
Система приоритетных прерываний:
Функции СПП:
1.
Запоминание состояния прерываемой программы.
2.
Переход к программе обработки прерывания.
Восстановление состояния прерванной программы и возврат к ней.
3.
Прерывание возникает на уровне такта и в пределах такта, в любой момент времени.
Параметры СПП:
1.
Общее число запросов прерывания
2.
Время реакции на запрос прерывания - время между поступлением запроса и
началом выполнения прерывающей программы
3.
накладные расходы = tзапоминания + tвосстановления
4.
Глубина прерывания - максимальное количество вложенных прерываний,
которые могут быть обработаны.
Особенности:
1.
Насыщение СПП - когда не закончена обработка прерывания, в случае
прихода следующего запроса от этого же источника, может произойти потеря
прерывания.
2.
Допустимые моменты прерывания
3.
Число уровней прерывания не равно числу источников. С целью экономии
аппаратных средств прерывания объединяются в группы.
4.
Организация перехода к обработке прерывания - вектор прерываний.
5.
Определение приоритета запроса. Выделить прерывание с наивысшим
приоритетом, сохранить прерываемую программу и загрузить вектор.
Приоритеты запросов: переменные и постоянные, абсолютные и относительные.
Прерывания с запросом источника:
программный опрос: его плюсы - гибкость и простота, минус - он
медленный
опрос флагов (сигналы З.ПР регистрируются в некотором регистре минусом
является то, что опрос осуществляется последовательно, что приводит к большому
времени реакции
циклический опрос. Число тактов = числу источников,
цепочечная схема,
с программным анализом регистров прерывания и запроса (-)медленно.
Программное управление приоритетом прерываний:
1.
С управляемым порогом прерывания. Приоритет выше порога - есть
прерывание.
2.
С использованием регистра маски. Регистр маски программно доступен.
Обрабатываются те запросы, которые допускаются этой маской.
Организация системы прерываний:
Система: аппаратные + системные программные (обработчики прерывания)
средства.
По приоритету:
1.
от схем контроля
2.
ошибки программ
3.
вызов supervisor’а
4.
внешнее прерывание (с пульта, от системы таймера)
5.
прерывание ввода/вывода
Группе прерываний соответствуют регистры нового и старого слова состояния
(СС). В фиксированных ячейках памяти, сейчас в специальных регистрах.
Прерывание: старое СС -> регистр старого СС
Хранение: текущий адрес команда, регистр маски программы, регистр маски
системы, код прерывания, ключ защиты.
Особенности системы прерываний семейства Intel 80/86.
Центральный процессор может обрабатывать 256 прерываний.
Прерывания могут быть внешними (две линии: линия запроса прерывания INTR,
немаскируемое прерывание NMI).
Центральный процессор реагирует в зависимости от флага, но не выполняет
никаких действий до завершения текущей команды.
Потом ЦП подтверждает прием запроса путем 2-х последовательных циклов шин
1 цикл: сигнал подтверждение приема запроса на обработку,
2 цикл - ЦП считывает с IL код подтверждения (0-255)).
NMI возникает в критическом случае (отказ источников питанияя, ошибка в
памяти, нарушение четности) и имеет более высокий приоритет по сравнению с INTR.
Внутренние прерывания:
либо в ответ на команду INTR
либо на некоторые устройства – исключения.
Например: деление на 0 (код 0), пошаговое выполнение (код 1).
Особенности:
1.
код типа прерывания либо содержится в самой команде INTR, либо
определен заранее.
2.
циклы Ш (подтверждение, прием кода) не выполняются
3.
не блокируются флагом IF, кроме сигналов трассировки
4.
любое внутреннее прерывание (кроме TF) имеет более высокий приоритет
чем внешнее.
для гибкого назначения обработчиков прерывания имеются таблицы
5.
указателей векторов прерывания. (IDT - в виртуальной памяти, начальный адрес в IDTR
(в старших процессорах))
6.
имеется дескриптор, который содержит 32-х разрядный адрес вектора
прерывания
Вектора прерывания:
0 - деление на 0
1 - трассировка
2 - немаскируемое прерывание
3 - контрольная точка
4 - переполнение
5 - превышение границы использования массива
6 - недопустимый код операции
7 - сопроцессор отсутствует
8 - двойной отказ
9 - выход сопроцессора из сегмента
10 - неразрешенный сегмент в текущей задаче
11 - сегмент отсутствует
12 - исключение по стеку
13 - общая ошибка защиты
14 - отказ страницы
15 - резерв
16 - ошибка сопроцессора
17-31 - резерв
32 - 255 - внешние маскируемые прерывания.
При обращении к процессору, состояние команды и флаги запоминаются.
STI - IF(1) =. возможно прерывание по сигналу INTR.
Обслуживание прерывания завершается командой IRET (возврат из прерывания).
5.1.6. Особенности управления памятью в многозадачных ВС
Управление многоуровневой памятью в многозадачных вычислительных системах.
Проблемы:
1.
исключение несанкционированного доступа - подсистемы защиты памяти
(программно-аппаратные средства).
2.
распределение ресурсов - должны решаться в процессе вычислений
Требования: снижение накладных расходов.
Динамическое распределение, уменьшение фрагментации памяти. режим
виртуальной памяти дает уменьшение фрагментации при росте накладных расходов.
Защита памяти, назначение и варианты реализации.
Работа с памятью:
запись
чтение
запуск (в UNIX) - можно выполнять код только из разрешенных областей
памяти.
Методы защиты (в порядке возникновения)
1.
Защита отдельных ячеек памяти. Вводится специальный разряд =>
расходуется память и время на проверку этого разряда.
2.
Метод граничных регистров Защищаемая область непрерывна и связана с
двумя регистрами - начало и конец защищаемой области, и признак защиты (чтение,
запись). При обращении адрес сравнивается со значениями регистров. Так как требуется
по 2 регистра на каждую защищаемую область, такая область обычно была только одна.
3.
Метод ключей защиты (IBM 360/370)
4.
Метод защиты в системе VAX.
5.
Сейчас много различных методов: Intel IA-32/IA-64, IBM POWER4, HP
PARISC и т.д., но 100% эффективного нет.
Метод ключей защиты (IBM 360/370).
Память разбивается на блоки фиксированной длинны (страницы).
Составляется таблица страниц: адрес страницы, ключ защиты и признак защиты.
При загрузке любой задачи ОС выделяет ей (задаче) определенное число страниц.
Каждой задаче присваивается ключ защиты - в таблице страниц этот ключ
приписывается выделенным данной задаче страницам. При обращении сверяются ключи
программы и страницы. В этой системе метод распространялся и на другие носители
информации.
Недостаток - длина ключа определяет количество одновременно запущенных
задач (включая ОС). В IBM 360 было 4 разряда - 16 программ.
Особенности защиты памяти в МП 80386.
Возможны 2 режима адресации:
режим реальных адресов, совместимый с 8086
режим защищенных виртуальных адресов.
Для адресации 32-разрядный указатель: 16-разрядный селектор, 16-разрядное
смещение.
Селектор указывает на дескриптор (в таблице дескипторов) сегмента, который
находится в памяти.
Дескриптор – 64-разрядное слово, определяющее использование памяти
(дескриптор кодового сегмента, дескриптор сегмента данных, стека).
Структура дескрипторов сегментов кода и данных.
|
резерв
| 6
|P|DPL|S|TYPE|A|
| 4
|
база (0-15р)
| 2
| граница сегмента (0-15р)
| 0
P (1р) - положение сегманта (1 - в физической памяти)
DPL (2р) - уровень привилегий дескриптора
S (1р) - назначение сегмента (1-кодов и данных, 0 - системный или вентильный)
TYPE (3р) - для S=0
0 сегмент данных / 1 кода
0 расширение вверх / 1 вниз
0 закрыт для записи / 1 открыт
для S=1
0 данные / 1 код
уровень привилегий
0 закрыт для чтения / 1 открыт
A (1р) - обращения (1 было обращение)
Дескриптор системного сегмента
|
резерв
|6
|P|DPL|0|TYPE |база (23-16р) | 4
|
база (0-15р)
|2
| граница сегмента (0-15р)
| 0
Содержат таблицу дескрипторов и состояния задачи.
Структура селектора
15
3 210
| index |TI|RPL|
CPL - текущий уровень привилегий
RPL - запрашиваемый уровень привилегий
DPL - дескриптор уровня привилегий
TI - указатель к какой таблице страниц относится этот дескриптор (0 - GDT
глобальная, 1 - LDT локальная)
Каждая таблица имеет 24-х разрядный базовый регистр и 16р регистр границы
таблицы.
В GDT дескрипторы доступные всем задачам (кроме дескрипторов прерываний,
ловушек)
В LDT - дескрипторы для конкретной задачи.
Есть таблица IDT для дескрипторов прерываний. В ней находятся только
дескрипторы ловушек и прерываний. Она связывает каждое прерывание и исключение с
обработчиком этих событий.
Привилегии:
4-х уровневая система привилегий
PL = 0 ядро ОС
1 системные обслуживающие программы
2 расширения ОС
3 пользователь
Уровень привилегий определяет использование привилегированных команд и
доступ к дескрипторам, позволяет организовать защиту памяти.
Каждая задача имеет отдельный стек для каждого уровня привилегий.
Каждая задача, стек, дескриптор - имеет атрибут, определяющий уровень
привилегий.
Уровень привилегий дескриптора или селектора определяет возможность доступа.
Привилегии задачи
CPL - уровень привилегий данной задачи, определяется двумя младшими
разрядами регистра CS. В пределах одного кодового сегмента изменятся не может. CPL
можно изменить управляющей передачей через вентиль. Задача с PL=0 имеет доступ ко
всем сегментам.
DPL - уровень привилегий дескриптора - определяет наименьшее значение CPL,
при котором задача имеет доступ к дескриптору. Справедливо для всех дескрипторов,
кроме локальных.
RPL - запрашиваемый уровень привилегий, содержится в двух младших разрядах
селектора. Ограничение на CPL сверху.
EPL - max значение из CPL и RPL. RPL=0 не накладывает никаких ограничений,
RPL=3 селектор можно использовать для сегментов на уровне 3.
Доступ к сегментам данных
Команды для загрузки сегментных регистров, ссылаются на дескриптор сегмента
данных доступный для чтения. CPL и RPL должны быть одинаковыми и меньшими, чем
DPL дескриптора.
Особенности структуры МП 80386.
|исп блок |-->|БУ сегментами|--->|БУ страницами|
^ |__________________||_____________||__
__|_________ _______________ __________’____
|Б дек ком |<--|Б предвыборки|<==>|Б интерф.маг.|=====
Раздельные 32х разрядные шины адреса и данных.
Линейный адрес - адрес в пространстве 0 - 4 Гбайт
Логический - селектор + относительный адрес (смещение).
Физический = линейному, если не используется разбиение на страницы, или
получается с помощью страничного преобразования линейного при использовании.
Регистры AX, BX, ... расширены до 32 разрядов
Регистр системных флагов расширен до 32 разрядов:
16 разряд - RF флаг возобновления (временно преостонавливает обработку
исключений при отладке)
17 разряд - VM режим виртуального 86 процессора.
К регистрам сегментов добавлены FS и GS (16 разрядов).
GDTR - регистр таблицы глобальных дескрипторов (32-разрядный, линейный
адрес)
LDTR – 16-х селектор
IDTR – 16-х линейный адрес
EIP – 32-х указатель команд
Регистры управления (32-х)
CR0 31
PG 1 - используется разбиение на страницы
4
ET разряд расширения
3
TS разряд переключения задач
2
EM эмуляция сопроцессора
1
MP использование сопроцессора
PE режим адресации (1-защищеный, 0 реальный)
CR2 линейный адрес отказа страниц
CR3 при разбиении на страницы базовый адрес таблицы страниц текущей задачи
Регистры отладки DR0, DR1, DR2, DR3, DR6, DR7 - контрольные точки.
Аспекты защиты памяти в МП 80386.
2 режима адресации:
режим реальных адресов
защищенный режим (память разбита на страницы и сегменты переменной
длины 1 б - 4 Гб) всего 16383 сегмента.
1)
проверка типа дескриптора - может использоваться ОС для нахождения
программных ошибок (если команда явно или не явно обращается к сегментным
регистрам, некоторые сегментные регистры могут содержать дескрипторы только
определенного типа)
2)
проверка границы
неверные вычисления значения указателя
неправильные индексы массива
Для защиты используется:
бит дробности G (23 разряд дескриптора)
20 разряд - поле границы
бит направление расширения (10 разряд 1 слова)
бит большого сегмента (22 разряд 1 слова)
3)
Загружается селектор данных и сравниваются привилегии
Командам разрешается загружать регистры сегмента данных и получать доступ к
соответствующему сегменту, если DPL целевого сегмента численно => большему из CPL
и RPL.
4)
передача управления (вызов процедуры, вызов прерывания, переход, возврат
из прерывания, возврат из процедуры).
Переходы:
ближний - в пределах сегмента, содержимое регистра сегментов не меняется
(контроль границ)
дальний - за границу сегмента (проверка прав доступа на новый сегмент)
5)
ограничение использования команд: два класса команд ограниченного
использования: привилегированные - управляют параметрами вычислительного процесса
и чувствительные к уровню привилегий.
6)
проверка достоверности указателя - проверка границ, в которых могут
находиться данные, выполняется в 3 этапа:
1.
проверка соответствия типа сегмента и его использования
2.
проверка превышения границы сегмента
3.
проверка полномочий процесса обращаться к данному сегменту
7)
защита страниц и каталогов при использовании страничного разбиения
Каждая запись в таблице страниц имеет 2 специальных разряда:
1 - user | system
2 - возможный доступ r | w
Если процессор работает на системном уровне, то состояние этих разрядов
игнорируется.
5.2.
Динамическое распределение памяти. Назначение, особенности реализации
Программа создается в условных адресах, при загрузке (или при каждом
обращении) происходит преобразования адресов в физические адреса памяти динамическое распределение памяти.
Современный способ - аппаратно-программный. Большие накладные расходы на
преобразование.
Методы (в хронологическом порядке):
Базовый регистр - каждой программе выделяется непрерывная область памяти (до
выполнения), начало этой области заносится в регистр МП и его значение добавляется к
условным адресам при обращениях.
Минус - необходимо динамически делить память. Решение: память делилась на
разделы, в каждом из которых могла быть только одна задача (приоритеты и т.д).
MFT - многозадачный, с фиксированным числом задач (по числу разделов).
Организация страничной и сегментной памяти.
Страница - вся память разбивается на части фиксированной длины (от 256 байт до
4 Кбайт). Размер страницы аппаратная константа. Этим решается проблема
фрагментации памяти: для каждой задачи выделяется определенное количество страниц.
Начальный адрес страницы используется как базовый (в пределах этой страницы).
Минус - увеличение накладных расходов в 2 раза (при обращении сначала читаем
адрес страницы из таблицы страниц, считаем физический адрес и обращаемся по нему).
Страницы бывают физические, логические, виртуальные и т.д.
Другой подход: размер частей - переменный. Сегмент - упорядоченная
последовательность слов с общим сегментным номером, длина меняется динамически.
Минус - то, что приходится строить управление сегментами.
В первых МП Intel сегмент - просто большая область памяти (фиксированной
длинны), начиная с 386 - сегменты переменной длинны (от нескольких байт до 4 Гбайт)
Механизмы управления памятью:
автоматические - IBM 360 сегмент постоянной длинны
полуавтоматические - длина сегмента определяется программистом, а
загрузка его производится ОС
неавтоматические - всю работу с сегментами выполняет программист
Чаще использовалась смешанная организация: странично-сегментная (сегменты
есть всегда, а деление на страницы производится в случае необходимости).
Режим MVT- с переменным числом задач.
Минус - необходима дефрагментация памяти.
5.2.1. Виртуальная память. Особенности реализации
Способ организации памяти в многозадачной системе, при котором каждой задаче
выделяется не физическая многоуровневая память, а виртуальная одноуровневая
(объемом до прямоадресуемого пространства) - называется режимом виртуальной
памяти. В программе всегда условные адреса, преобразование происходит только при
обращении.
Виртуальный адрес в общем случае состоит из трех частей: номера сегмента,
номера страницы и смещения.
Алгоритм вычисления реального адреса:
1.
в таблице сегментов по номеру сегмента смотрим, где он находится,
2.
в таблице страниц этого сегмента находим адрес страницы,
складываем адрес страницы и смещение.
3.
В результате, требуется 3 обращения к памяти вместо одного (накладные расходы).
Так как на все процессы места в ОП не хватает, используем внешнюю память
(диск) - работает еще медленнее.
В современных системах разделены виртуальная память системы и виртуальная
память пользовательских процессов, при этом таблицы страниц обычно хранятся в
системной виртуальной памяти -> требуется еще 3 обращения.
Минус - очень большие накладные расходы.
5.2.2. Особенности реализации виртуальной памяти в МП 80386
1)
2)
логический адрес преобразуется в линейный
страничное преобразование. Линейный адрес в физический.
5.2.3. Алгоритмы управления многоуровневой памятью. Физически нереализуемые
алгоритмы
Эти алгоритмы невозможно реализовать, так как они требуют информации о
последующих обращения.
Алгоритм Михновского - Шора
Из памяти верхнего уровня отсылается страница, к которой обращение будет в
последнюю очередь.
Число замещений страниц в памяти верхнего уровня является минимальным для
заданного потока обращений и заданного начального обращения к памяти.
Оптимальный алгоритм
При каждом страничном сбое из памяти верхнего уровня отсылается страница
вероятность обращения к которой не больше, чем вероятность обращения к любой
другой странице верхнего уровня.
5.2.4. Алгоритмы управления многоуровневой памятью. Физически реализуемые
алгоритмы
Эвристические
Алгоритм случайного замещения
1)
LRU. Из памяти отсылается страница наиболее давно использовавшаяся.
Реализовать практически невозможно
2)
FIFO и LIFO
3)
LFU. Страница, у которой частота обращений минимальна выгружается.
Полностью реализовать невозможно, но его упрощенный вариант везде используется.
4)
Карабкающаяся страница. С каждым обращением страница поднимается
вверх, страница оказавшаяся на самом дне - замещается. В зависимости от числа страниц
есть проблема переходных процессов. Применялся на заре вычислительной техники.
5)
Метод
обнаружения
циклов
анализируется
программа,
и
последовательность выгрузки подбирается под нее.
6)
Рабочий комплект. Страница в памяти верхнего уровня, используемая в
течение интервала времени, образуют рабочий комплект. Страницы, которые не вошли в
него формируют две очереди на замещение.
Первая очередь: не вошедшие и не модифицировавшиеся в течение кванта времени
страницы.
Вторая очередь: не вошедшие, но модифицировавшиеся. Сначала удаляются
страницы из первой очереди, потом из второй.
Основная проблема - нахождение оптимального кванта времени.
5.3.
Система интерфейсов ЭВМ. Назначение и состав
ГОСТ 15.971-74
Стандартный интерфейс - совокупность унифицированных программных,
аппаратных, конструктивных средств, необходимых для реализации взаимодействия
различных функциональных элементов в автоматических системах сбора и обработки
информации при условиях предписанных стандартом и направленных на обеспечение
информационной, электрической и конструктивной совместимости указанных
элементов.
Интерфейс - унифицированная система линий связи, правил кодирования
информации, электронных схем и алгоритмов обмена информации и электрических
сигналов.
Все интерфейсы делятся на две группы:
внутренние
(интерфейсы
прямого
управления,
межпроцессорные
интерфейсы, интерфейсы памяти, интерфейсы ЦП - устройство в/в)(например: П - КЭШ,
КЭШ-КЭШ, П-память, КЭШ - память)
-
внешние интерфейсы (ЭВМ - переферийные устройства)
интерфейс в/в (для подключения различных устройств, например, SCSI)
интерфейс внешних устройств (контроллеры периферийных устройств)
интерфейсы предназначенные для организации удаленного доступа
5.3.1. Основные принципы построения интерфейсов. Характеристики интерфейсов
1.
Принцип группового проектирования. Одновременно создается ряд
функционально и конструктивно подобных устройств, соответствующих разнообразию
условий их применения => достигается универсальность и совместимость.
2.
Принцип агрегатирования (модульного построения). Рациональное разбиение
системы (устройства) на совокупность более простых функционально и конструктивно
законченных блоков.
3.
Принцип унификации. Минимизация номенклатуры составных устройств,
блоков и связей между ними при условии рациональной компоновки и эффективного
функционирования. (нужно производителю)
4.
Принцип взаимозаменяемости. Способность модулей выполнять в
устройстве различные функции без дополнительной конструктивной доработки. (от него
отказываются так как не выгодно).
5.
Информационная совместимость - согласованность взаимодействия
функциональных элементов в системе.
Совокупность логических условий определяющих функциональную и структурную
организацию интерфейса:
структура и состав набора шин
набор процедур по реализации взаимодействия
последовательность их выполнения для различных режимов работы
способы кодирования, форматы данных, адресов, состояний и др.
временные соотношения между управляющими сигналами, ограничения на
их форму и взаимодействие
Электрическая совместимость - согласованность статических и динамических
параметров электрических сигналов в системе шин, с учетом ограничений на
пространственное размещение и техническую реализацию приемо-передающих
элементов.
Конструктивная совместимость - согласованность конструктивных параметров
элементов интерфейса предназначенных для механического контакта электрических
соединений и механической замены схемных блоков и устройств.
Характеристики интерфейса:
1.
Время, затрачиваемое на передачу единицы информации ИЛИ пропускная
способность - количество информации, передаваемое за единицу времени.
2.
Достоверность передаваемых данных (% ошибок).
3.
4.
Помехоустойчивость.
Допуски на электрические сигналы интерфейса
5.3.2. Принципы организации интерфейса
Линии интерфейса - электрические линии.
Шина интерфейса - часть линий интерфейса, сгруппированных по
функциональному назначению.
Вся совокупность линий интерфейса - магистраль.
Интерфейсы могут быть односвязными и многосвязными.
Односвязные - имеется общая магистраль, которая используется в режиме
разделения времени.
Многосвязные - одновременно возможно организация многих связей.
Виды магистрали:
информационный канал
магистраль управления информационным каналом.
По информационной магистрали передаются коды данных, команд, адресов,
состояний устройств. в соответствии с этим присваиваются названия. В случае передачи
информации нескольких видов по одной шине - мультиплексируемая шина (применяется
для уменьшения числа линий связи, но уменьшается скорость).
Магистраль управления:
шина управления обменом,
прерывание,
передача управления,
специальные управляющие сигналы.
Шина управления обменом - линии синхронизации передачи данных. Число линий
1-3 в зависимости от типа передачи (синхронная или асинхронная). При
двунаправленности информационных линий, линии управления также двунаправленные.
Шина передачи управления служит для выполнения операций приоритетного
занятия магистрали. Несколько устройств хотят занять магистраль, а эта шина
предназначена для разрешения конфликта. Возникает проблема приоритетного
распределения ресурсов магистрали (арбитраж).
Состав и число линий передачи управления определяется структурой:
централизованное управление
распределенное (децентрализованное)
Если интерфейс используется для соединения двух устройств - эта шина не нужна.
Шина прерываний служит для идентификации устройства, запрашивающего сеанс
обмена информацией. Процесс идентификации заключается в определении адреса
источника прерывания и адреса вектора прерывания, соответствующего этому
источнику.
Шина специальных управляющих сигналов включает в себя линии надежности и
работоспособности (линии контроля, тактирующих импульсов, контроля источников
питания, линий питания и тд).
Структура связи интерфейсов:
магистральная
радиальная
цепочечная
смешанная (комбинированная)
Связность линий - возможность двунаправленной или однонаправленной передачи
сигналов.
Функциональные организации интерфейса.
Канал управления - селекция (арбитраж) информационного канала, синхронного
обмена координация взаимодействия.
Информационный канал - буферное хранение информации и преобразование
формы представления информации.
При организации связи различают:
идентификация - определение интерфейсного устройства, запрашивающего
обмен.
адресация - способ выбора устройства с которым будет происходить обмен.
Сам обмен по интерфейсу осуществляется в 3 этапа:
1.
начальная выборка (подготовка обмена)
2.
передача данных
3.
завершение передачи
Функции:
Функции координации - совокупность процессов по организации и контролю
процессов взаимодействия устройств в системе.
Основные операции:
1.
настройка взаимодействия
2.
контроль взаимодействия
3.
передача функций управления
При взаимодействии нескольких устройств могут возникать конфликты:
1.
доступ к информационному каналу
2.
доступ к конкретному устройству
Настройка заключается в определении состояний устройств, которые участвуют во
взаимодействии. В системных интерфейсах стандартизованы по несколько режимов
обмена.
Контроль:
1.
таймаут - контроль длительности выполнения операции
2.
разрешение тупиковых ситуаций
3.
контроль передачи данных (две группы кодов: с обнаружением ошибок, с
обнаружением и исправлением ошибок)
Передача управления. Появилась недавно, т.к. стало распространяться
децентрализованное управление. Функции координации могут мигрировать для
повышения надежности.
Функции обмена и преобразования.
5.3.3. Методы передачи информации между устройствами ЭВМ
Существует два основных принципа передачи сигналов: синхронная и
асинхронная.
Синхронная и асинхронная передача данных.
При синхронной передаче все определяет источник передачи. Данные передаются с
постоянной частотой, определяемой источником. Четко определены сигналы и паузы.
Это наиболее быстрый способ обмена. Все современные интерфейсы являются
синхронными, т.к. главный критерий обмена - скорость.
При асинхронной передаче существует обратная связь от приемника. Источник
выставляет данные на шину, а приемник считывает данные и фиксирует их, и отвечает
источнику что данные приняты (подтверждение). Источник снимает данные с
магистрали. Достоверность передачи гораздо выше, а скорость в 2 раза меньше.
Стробирование и квитирование при передаче данных.
Стробирование – моменты, когда можно считывать данные с магистрали,
используется при синхронной передаче.
Квантирование - передача ответного сигнала от приемника, при асинхронной
передаче.
Особенности арбитража информационного канала.
Селекция (арбитраж) - это приоритетное разрешение внутриорганизационных
конфликтов для однозначного взаимодействия устройств, подключенных к интерфейсу.
Конфликты возможны на двух уровнях взаимодействия:
доступ устройства к информационному каналу (часто встречный)
при доступе одного устройства к другому
В первом случае конфликт разрешается арбитражом, во втором - с помощью
контроллеров устройств и ОС.
Арбитраж:
централизованный
распределенный
Для централизованного характерно наличие разомкнутых линий связи для
передачи управления и прерывания и специальный узел для арбитража шины.
При децентрализованном - линии двунаправленные или замкнутые
однонаправленные. Нет специального устройства арбитража, а его функции
распределены между контроллерами всех устройств, подключенных к магистрали.
При селекции должны выполнятся несколько операций:
инициирование запроса - выдача, хранение и восприятие запроса на
организацию взаимодействия. В течении времени пока канал занят, все запросы от
устройств объединяются на линии запроса или воспринимаются по отдельным линиям.
Они остаются до факта обслуживания.
выделение приоритетного запроса - реализуется логическая функция (либо в
арбитре или в интерфейсном блоке)
идентификация устройства, выдавшего запрос - определение адреса
источника запроса с условием приоритета. Она может осуществляться либо параллельно,
либо последовательно. С выделением приоритетного запроса с ограничением на число
устройств, адреса могут кодироваться позиционно, иначе двоичное кодирование. Часто
адрес источника запроса и адрес вектора прерывания совпадают.
Способы централизованной селекции информационного канала:
временная
пространственная
последовательная (цепочечная)
селекция по выделенным или радиальным линиям
Временная
В арбитре есть генератор временных интервалов и магистраль предоставляется
каждому устройству, через равные промежутки времени, которые определяются
частотой генератора и количеством устройств, подключенных к интерфейсу. Приоритеты
жестко зашиты.
Пространственная
На основе последовательного адресного сканирования источников запроса.
При совпадении адреса на шине и в устройстве, устройство выставляет сигнал
«занято» и занимает магистраль. На шине адреса выдаются последовательно, пока шина
свободна. Весь цикл опроса идет непрерывно. Приоритет определяется адресом.
Последовательная или цепочечная селекция
Широко используется во внутренних интерфейсах.
При появлении запроса запускается сигнал «подтверждение». Если первое
устройство запросило, то идет обмен, а сигнал «подтверждение» блокируется, если нет,
то сигнал идет дальше. Ближайшее к арбитру устройство имеет наивысший приоритет.
(+)простота реализации
(+)высокое быстродействие
(-)низкая надежность
По выделенным линиям
Вместо общих проводов «запрос» и «занято», на каждое устройство своя линия.
Эта схема еще более быстродействующая, так как селекция и передача данных может
совмещаться.
(-) увеличение числа линий
Способы децентрализованной селекции информационного канала.
цепочечная
кольцевая
параллельного адресного сравнения
Цепочечная
Имеется цепочка «подтверждение». Запрос сам возбуждает «подтверждение».
Кольцевая
Одна линия, и она определяет состояние занятости информационного канала по
циркуляции в линии маркерного импульса или серии импульсов. То устройство, которое
получило маркер, может занять шину.
(-) низкая помехоустойчивость => часто используются два кольца передачи
маркера
Параллельного адресного сканирования
Имеется разомкнутая линия занято, куда выставляется сигнал, и имеется общая
шина адреса. Устройство запрашивает обмен и выставляет на шину свой адрес. Дальше
идет сравнение приоритетов по адресам. Шину занимает устройство с наибольшим
приоритетом.
Синхронизация работы интерфейсов.
Определяет согласованность взаимодействия между устройствами системы.
Два или более процесса являются синхронными, если смены состояния этих
процессов взаимно независимы, но происходят через одинаково фиксированный
интервал времени. При этом интервал времени между изменением состояния процесса
передачи не может быть меньше самого длительного интервала процесса приема.
1) передача идет с постоянной частотой
2) передача рассчитана на самый медленный приемник
Два или более процесса являются асинхронными, если смены состояния этих
процессов взаимосвязаны, а момент смены состояния одного процесса определяется
сменой состояния другого процесса.
При асинхронном взаимодействии между процессами передачи и приема
существует отношение предшествования и необходимо наличие обратной связи.
Используется однопроводная или двухпроводная обратная связь.
Сейчас основное время - это время распространения по линиям связи =>
синхронная быстрее, чем асинхронная (так как 2 линии связи) в 2 раза в одних и тех же
условиях. Скорость обмена - это критичный момент в ЭВМ => отказ от асинхронного
принципа и переход к синхронному.
Сейчас все интерфейсы синхронные. Резко ужесточили требования и допуска на
разъемы, печатные платы для снижения проблем наихудшей конфигурации.
Синхронизация возможно на трех иерархических уровнях:
1.
на уровне передачи отдельных разрядов
2.
на уровне слов
3.
на уровне массивов слов (блоков)
1)
На уровне передачи отдельных разрядов. Считается наихудший случай.
Спустя максимальное время задержки выдается сигнал стробирования (для принятия
информации).
2)
На уровне слов.
Определяет
основные характеристики интерфейса: максимальная скорость
передачи, длинна линий связи.
Два основных способы передачи:
с обратной связью;
без обратной связи.
Синхронизация без обратной связи на основе тактового генератора с жесткими
требованиями по стабильности тактовой частоты. Но есть линии микроимпульса.
Используется в последовательных интерфейсах.
(-) скорость передачи ограничена максимальным временем передачи, устранение:
буферизация приема.
Синхронизация с обратной связью - варианты:
импульсная (по фронту);
потенциальная (по уровню сигнала, более надежная)
Последние асинхронные интерфейсы потенциальные.
Однопроводные - обратная связь от приемника, двухпроводные - в обе стороны.
3)
Передача массивов слов
При фиксированной длине массива от 1 до нескольких Кслов идет
детерминированный процесс передачи с синхронизированным способом организации
передачи.
Переменная длинна массива, тогда стохастический процесс передачи с
асинхронной сигнализацией конца процесса.
Основные особенности интерфейса "Общая шина".
Все элементы ЭВМ (ЦП, память, ПУ) подключены к общей шине. Долгое время
был стандартом и использовался в мини и микро ЭВМ.
Через этот интерфейс обменивались все устройства. В верхней памяти выделили
зону 1Кб под регистры устройств. и под каждое устройство была закреплена область
памяти. Аппаратные средства пересылали данные на конкретное устройство. ЦП не
участвовал в обмене информацией. не было необходимости в специальных командах в/в.
8 или 16 разрядная.
В общей шине возможны три варианта обмена:
через ЦП в ОП, те ПУ-ЦП-ОП (максимальная скорость обмена, но ЦП
работает со скоростью ПУ)
в режиме прерывания фоновой программы (через ЦП, но по прерываниям и
скорость работы процессора выше)
прямой доступ к памяти DMA (ЦП не используется и занимается своими
задачами)
Все каналы использовали асинхронный режим.
Скорость 100Кб/с
Основные особенности VME-bus.
Стандартизированная международная разработка.
Семейство из трех магистралей
VME магистраль
1.
2.
последовательные линии передачи сообщений VMS
3.
VMX и VMB
Они могут присутствовать и работать независимо и параллельно. 4 группы
сигнальных линий:
линии передачи данных
арбитража
прерываний
служебные
Магистраль передачи данных - это асинхронная параллельная шина передачи
данных, содержащая функции ведущего, ведомого, следящего монитора и таймера
магистрали.
Модули могут быть 8, 16, 32-х разрядными, допускается использование различных
модулей на одной магистрали.
Прерывания - 7 линий запроса (7 уровней).
* выработка запроса прерывания
* подтверждение (считывается состояние источника и передается управление
обработчику)
* обслуживание прерывания
Есть линия подтверждения прерывания.
Функции модуля:
* источник
* модуль обработки
* драйвер последний в цепочке, запускает опрос
Служебная - запросы для нормальной работы магистрали.
Параметры шины:
8, 16, 32-х разрядная.
32 Мб/с, в блочном режиме 57 Мб/с
82 сигнальные линии
14 линий питания и земли
стандарт MAG 831
основной конструктив - двойная европлата
(+) высокие технологические параметры, хорошо проработанная идеология, гибкий
арбитраж, простой протокол обмена, простота реализации
(-) отсутствие контроля передач, использование последовательного арбитража,
отсутствие широковещательной передачи, нет сбора все-к-одному, достаточно большое
число линий
Передача данных в VME-bus.
Ведущий модуль запускает цикл обмена данными с ведомым. Ведомый
воспринимает и, при определенных условиях, отвечает принимая или передавая данные.
Таймер контролирует время ответа.
В магистрали передачи данных три группы линий:
1.
адресные линии (32-х разрядные адреса), линия длинна слова, минимальная
единица адреса - байт.
2.
линии модификации адреса - определяют режим передачи данных (32-х
разрядная шина передачи данных)
3.
управляющие: строб адреса, стробы данных, линия подтверждения данных,
ошибка, линия операции [w/r]
4.
Пять основных циклов передачи данных:
чтение/запись
5.
6.
блочная запись и чтение (блоками идет обмен от 1 до 256 байт, если
обращение к непрерывной области памяти)
7.
только адресация (проверяется конфигурация системы - есть ли устройство)
8.
подтверждение прерывания (считывание состояния устройства)
9.
чтение/модификация/запись
Арбитраж в VME-bus.
Решает две задачи:
1.
разрешение конфликтов (предупреждает использование магистрали двумя
ведущими)
2.
оптимальное распределение времени использования магистральных данных
ведущим
Линии требования (4) => четыре уровня приоритета запроса.
Линии входные и выходные данные.
Линия освободить магистраль (в случае появления запроса с более высоким
приоритетом).
Функции модулей:
арбитр
источник требований
Возможны три варианта арбитража:
приоритетный (жесткая система приоритетов)
циклический (циклически меняются приоритеты всех устройств
подключенных к шине, после каждого обращения приоритет уменьшается на 1)
одноуровневый (по положению на линии определяющей приоритет)
Системные шины IBM PC.
Первая шина ISA для 8086 - 8 разрядная. Тип разъема, размер печатной платы
были разработаны одновременно с шиной. С появлением процессора 80286, стала 16
разрядной.
Частоты 4-8-12 МГц, обычно 8.
Усовершенствованная ISA - EISA
8 разрядов - 4 Мб/с
16 р. - 8-16 Мб/с
EISA - 32 Мб/с
2) MCA (PS/2) несовместима с другими, оказалась неудачной.
3)VESA (МДИ) продолжение системной шины
(-) ограничение по длине, по параметрам; по количеству подключаемых устройств
(4)
(+) простота
132 Мб/с
PCI - промышленный стандарт, основная шина Intel
Основные особенности шины PCI.
PCI - промышленный стандарт, основная шина Intel.
32-х и 64-х разрядная
33 МГц - 132 Мб/с
Синхронная.
В ноутбуках внешний разъем PCMCIA
Мост между системной шиной (Pentium) и PCI
Четко стандартизирована, высокопроизводительная, надежная.
В обмене всегда участвует инициатор и приемник.
Конструктив оговорен.
В серверах возможно многошинная структура.
PIR2PIR позволяет соединять две шины PCI.
Совокупность мостов решает проблему маршрутизации. Шина PCI обеспечивает
обмен между ЦП и памятью, а также с другими устройствами. Но не все чипсеты
поддерживают такую возможность.
Арбитраж с помощью арбитра. Инициатор предоставляет два сигнала - какой
арбитраж определяется программированием чипсета. Любое устройство, которое может
быть инициатором, должно иметь собственный программируемый таймер (MLI)/ на нем
задается max число тактов, допустимое для одного обмена.
Целевое устройство имеет инкрементную схему слежения за длительностью
циклов, она не позволяет превышать интервал между соседними обменами (не больше 8
тактов шины).
Сигналы и команды шины PCI.
1.
мультиплексируемые линии адресов и данных
2.
AD [31:0][63:32]
3.
вначале идет адрес, а потом пакет данных
4.
C/BE [31:0][7:4] для 64 р.
5.
команды/разрешение обращения к байтам.
6.
FRAME - включение сигнала - начало обмена, действует почти на все время
обмена
DEVSEL - устройство выбрано, устройство принимает адрес от целевого
7.
устройства и вырабатывает такой сигнал
8.
IRDY - готовность инициатора к обмену
9.
TRDY - готовность приемника
10. STOP - запрос целевого устройства к инициации останов текущего обмена
11. LOCK - блокировка, для захвата ресурса
12. REQ - запрос на захват шины
13. GNT - предоставление инициации обмена (арбитр)
14. PAR - готовность по четности
15. PERR - ошибка по четности
16. PRSNT[1,2] - индикаторы присутствия платы
17. RST сброс всех регистров
18. IDESEL выбор устройства в цикле конфигурирования считывания и записи
19. SERR системная ошибка
20. REQ64 запрос на 64р обмен
21. ACK64 подтверждение 64р обмена
22. INTR A,B,C,D запросы прерывания
23. CLK - тактовая частота (33)
24. M66EN разрешение частоты 66 МГц
25. SDONE завершение цикла слежения (для КЭШ)
26. SBO попадание обращения в модифицированную строку КЭШ
27. TCK подтверждение jTAG
28. TD1, TDO входные и выходные данные jTAG
29. TMS выбор режима jTAG
30. TMRS сброс логики
Все данные пакетами, завершение пакета сигнал FRAME/ По сигналу C/BE
выставляет, что хочет инициатор обмена выполнить (тип обмена).
Завершение:
нормальное
по таймауту
обмен отвергнут
Команды шины:
подтверждение прерывания (контроллер прерываний передает по шине AD
вектор прерывания)
1
специальный цикл
2
чтение порта в/в
3
запись
4, 5 зарезервированы
6, 7 чтение и запись в память
8, 9 зарезервированы
10
конфигурационное считывание
11
запись
12
множественное чтение памяти (для КЭШ)
13
двунаправленный цикл
14
чтение строк памяти
15
запись с инвалидацией, прим. к целым строкам КЭШ и позволяет
оптимизировать грязные строки КЭШ
Основные особенности интерфейса САМАС.
Имеет
модульную
структуру,
позволяющую
компоновать
различные
конфигурации. 23 места для подключения модулей, 24 и 25 для подключения
контроллера крейта, что позволяет получать иерархическую структуру.
устройство->модуль (до 16 устройств)-> крейт (23 модуля) -> стойка (ветвь)(до 7
крейтов)
Модули подключаются к интерфейсу крейта (65 линий) и управляются
контроллером крейта, контроллеры подключены к интерфейсу ветви (51) и управляются
драйвером ветви, а драйвер ветви подключен к системному интерфейсу (интерфейсу
В/В).
Интерфейс крейта ШД - 48 линий (однонаправленных) (данные 24 разряда)
ША - 5 линий (4+1: 1 радиальная (адресация модуля), 4 -адрес устройства в
модуле)
ШК - 5 линий; 32 команды: 24 стандартные и 8 резервные для разработчиков
ШУ - 8 общих линий +1 радиальная: С - линия сброса Рг во всех модулях; I - шина
запрета; Z - подготовка; B - сигнал занятости; X - подтверждение принятия команды
модулем; Q - резервная; L1...L23 - запросы на связь.
Интерфейс синхронный со стробированием, но медленный.
Цикл занятости более 1 мксек.