- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
6.2.Теоретические основы операций ввода/вывода
Организация ввода/вывода – это передача данных между оперативной памятью (ОП) и периферийными устройствами (ПУ).
В некоторых случаях в понятие операции ввода/вывода включают обмен информацией между ПУ и процессором (ПР), а также между ПУ и ПУ. Но из-за проблем унификации процедур ввода/вывода, необходимости буферизации передаваемой информации, малого объема внутренней памяти процессора (8 - 16 РОН) обмен информацией между ПУ и ПР, а также между ПУ и ПУ как самостоятельные операции ввода/вывода используются крайне редко. Многие вычислительные системы допускают обмен информацией только с использованием ОП.
Управление вводом/выводом относится к нижнему физическому уровню управления средствами вычислительных систем. На базе операций этого уровня реализуются процедуры верхнего уровня управления, например, процедуры команд операционных систем и программных оболочек: сохранить файл, загрузить файл, копировать файл и т.д.
Для каждого типа ПУ используется устройство управления (контроллер, адаптер), алгоритмы работы которого учитывают индивидуальные особенности данного типа ПУ.
Организация управления вводом/выводом связана с решением ряда задач. Решения части из этих задач зависят от физики работы конкретных ПУ и реализуются на уровне обмена физическими сигналами (в определенные моменты времени формируются импульсы тока или напряжения определенной амплитуды и длительности). На этом уровне решаются следующие проблемы:
запись информации во внутреннюю память ПУ и чтение из нее,
управление адресацией внутренней памяти ПУ,
передача информации между ПУ и контроллером и, частично, контроль процесса ввода/вывода.
Решения другой части задач не зависят от физики работы отдельных ПУ и реализуются на уровне обмена логическими сигналами. На этом уровне решаются проблемы:
задания кода операции и адреса блока данных в ПУ,
передачи данных между ПУ и ОП,
синхронизации передачи данных,
контроля процесса ввода/вывода,
активизации и окончания работы ПУ.
Для организации ввода/вывода в контроллерах устройств ввода/вывода предусмотрены специальные регистры (основными являются регистр данных RDи регистр управленияRU), а в системе команд – команды ввода/вывода.
Управление вводом/выводом на этом уровне может быть реализовано двумя способами:
с использованием средств процессора. Такой ввод-вывод называется программным,
с использованием специальных устройств управления (процессоров ввода/вывода, устройств прямого доступа к памяти ПДП). Такой ввод-вывод называется аппаратным (внепроцессорным, с занятием цикла, с прямым доступом к памяти).
Программный ввод/вывод
При программном вводе/выводе контроллерами управляет ПР при помощи программы (драйвера) ввода/вывода. Программы этого типа учитывают конструкцию контроллера и используемого в вычислительной системе ПР и обычно входят в базовую систему программ управления вводом/выводом на физическом уровне (в РС – BIOS). Программы BIOS выполняют роль интерфейса между программами операционных систем и используемой аппаратурой вычислительной системы и обеспечивают переносимость операционных систем между ЭВМ с одинаковыми процессорами.
При программировании процедур ввода/вывода учитывается адресация регистров контроллера устройств ввода/вывода. Порты могут быть отображены на общее адресное пространство оперативной памяти (адресация портов большинства архитектур процессоров) или на отдельное номерное пространство портов ввода-вывода.
Адресация регистров контроллеров ввода/вывода, отображенных на общее адресное пространство оперативной памяти
В варианте ввода/вывода с отображением адресов портов в пространство оперативной памяти для процессора регистрыRDнеотличимы от ячеек памяти, и для доступа к ним можно использовать любую команду с обращением к ОП. В этом варианте для отдельных операций ввода/вывода достаточно использования команды пересылки MOV.
Команда MOV для PDP-11 имеет вид:
MOV A1, A2, где:
А1 – адрес источника,
А2 – адрес приемника.
Если в качестве А1 использовать адрес RD, а в качестве А2 – адрес ячейки ОП, то команда реализует передачу информации из ПУ в ОП (операция ввода). При этом производится передача из ПУ в ПР, а затем из ПР в ОП. Нетрудно заметить, что, используя в качестве А1 и А2 адреса РД, ОП и РОН, можно организовать все возможные варианты передачи информации, включая операции загрузки РОН как из ОП, так и из портов.
Адресация регистров контроллеров ввода/вывода, отображенных на номерное пространство портов
Если в программной модели процессора регистры контроллеров отображены на номерное пространство портов (например, в МП IA), то в состав команд процессора вводят команды ввода IN и вывода OUT. Для IBM PC эти команды имеют вид:
IN al, dx
OUT dx, al
где: al – РOН (младший байт аккумулятора), используется в качестве буфера для передаваемых данных,
dx – РОН, используется для задания номера порта.
Если номер порта не превышает 255, то возможно использование команд ввода/вывода в формате:
IN al, RD
OUT RD, al
где:
al – аккумулятор, используется в качестве буфера для передаваемых данных,
RD – номер порта.
Используя эти команды, можно запрограммировать различные варианты передачи информации при вводе/выводе. Например, передачу информации из ПУ в ОП (ввод) можно реализовать при помощи программы:
A_IN1: MOV dx, RD ; задание номера порта RD
IN al, dx ; пересылка содержимого RD в аккумулятор
MOV TABLE,al;пересылка данных из аккумулятора в
;ячейку TABLE оперативной памяти
или для RD < 256
A_IN2: IN al, RD; пересылка данных из порта в аккумулятор
MOV TABLE, al; пересылка данных в ОП
Приведенные блоки программы организуют передачу байта данных из ПУ в ОП и реализуют способ безусловной программной организации ввода. Безусловный программный вывод организуется аналогичным образом, но c использованием команды вывода.
Самостоятельное применение этих способов ввода/вывода ограничено тем, что они не учитывают независимость работы ПР и ПУ. Из-за отсутствия синхронизации передачи данных между ПУ и ПР возможна потеря информации или передача необновленных данных. Программы безусловного ввода/вывода обычно используются как часть условных способов ввода/вывода, учитывающих независимость работы ПУ и ПР.
Вопросы для самопроверки:
1. Определение операции ввода/вывода.
2. Определение программного ввода/вывода.
3. Определение прямого доступа к памяти.
4. Команды ввода/вывода в моделях семейства PDP-11.
5. Команды ввода/вывода в МП IA.
6. Недостатки безусловного программного ввода/вывода.