Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

G - бит гранулярности (Granularity) определяет размер единиц, в которых интерпретируется поле предела. Если G=0, то граница интерпретируется в байтах, иначе в единицах по 4Кбайт.

D - размер по умолчанию (Default size). Задает разрядность данных по умолчанию для дескрипторов сегментов данных или разрядность команд по умолчанию для дескрипторов сегментов кода: D=бит, D=бит.

AVL (available) - может использоваться по усмотрению системного программиста.

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

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

S - бит системного дескриптора (System): определяет, является ли данный сегмент системным (S=0) или же сегментом кода/данных (S=1).

Тип дескриптора (Type). Интерпретация этого поля зависит от вида дескриптора. В дескрипторах сегментов кода или данных это поле содержит 3-разрядный тип и один бит флага обращения. Дескрипторы системных сегментов используют все 4 бита.

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

В качестве сегментов стека используют сегменты данных, доступные для чтения и записи. Попытка загрузить в SS селектор незаписываемого сегмента приведет к нарушению общей защиты. Для динамического изменения размера стека удобно использовать сегменты данных с расширением вниз (бит E=1). Для таких сегментов предел задает минимальный адрес, вызывающий нарушение предела сегмента, поэтому уменьшение предела в таком дескрипторе приведет к добавлению места у вершины стека.

НЕ нашли? Не то? Что вы ищете?

Сегменты кода могут быть либо обычными, либо подчиняемыми (бит C=1). Передача управления между обычными сегментами возможна только на одном уровне привилегий. Для подчиняемых сегментов это правило менее строгое: задача может передать управление на более привилегированный подчиняемый сегмент кода, но при этом он будет выполняться на том же уровне привилегий.

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

Память2Страничное преобразование действует только в защищенном режиме и включается установкой в 1 бита PG в регистре CR0.

В страничном преобразовании участвуют два типа структур: каталоги таблиц (Page Directory) и таблицы страниц (Page Table). Эти структуры состоят из 1битных элементов. Элементы содержат старшие 20 бит физического адреса адресуемых объектов. Элементы таблицы страниц (Page Table Entry - PTE) адресуют страницы, а элементы каталога таблиц (Page Directory Entry - PDE) адресуют таблицы страниц. Старшие 20 бит физического адреса каталога таблиц хранится в регистре CR3 (Page Directory Base Register - PDBR). (Это единственный регистр процессора, который содержит физический адрес памяти). Все структуры выравниваются по границе страницы.

В процессе страничной трансляции адресов полученный линейный адрес разбивается на три части. Старшие десять бит (Directory) линейного адреса являются индексом элемента из каталога таблиц. По этому элементу определяется физический адрес таблицы страниц. Биты 21-12 (Table) линейного адреса выбирают элемент из этой таблицы страниц. Выбранный элемент определяет физический адрес страницы. Младшие 12 бит (Offset) линейного адреса определяют смещение от начала страницы.

Страницы начинаются на границах 4Кбайт областей памяти, поэтому младшие 12 бит адреса страницы всегда равны нулю. В каталоге таблиц элементы хранят физические адреса таблиц страниц. В таблице страниц элементы хранят физические адреса самих страниц.

Элементы каталогов таблиц и таблиц страниц в битах 12-31 содержат старшие 20 бит физического адреса объекта (для PDE - таблицы страниц, для PTE - страницы). Биты 9-11 системный программист может использовать по своему усмотрению. Остальные биты имеют следующие значения:

P - бит присутствия (Present). Этот бит показывает, может ли элемент таблицы использоваться при трансляции адреса. Если может, то P=1. Если же P=0 в таблице страниц любого уровня, то этот элемент нельзя использовать для трансляции адреса и остальные поля элемента доступны для использования программой. Если P=0 в таблице страниц любого уровня и сделана попытка использовать этот элемент для трансляции адреса, то микропроцессор генерирует страничное нарушение (исключение #14).

R/W - бит чтения/записи (Read/Write). Этот бит определяет тип доступа к странице (для PTE) или группе страниц (для PDE). Если бит сброшен, страница доступна только для чтения. Если установлен - для чтения и записи.

U/S - бит уровня привилегий (User/Supervisor). Этот бит определяет уровень привилегий доступа к станице (для PTE) или группе страниц (для PDE). Если бит установлен, страница доступна с уровня пользователя. Если сброшен - только с уровня супервизора.

PWT - бит сквозной записи (Page Write-Through, 486+). Управляет кэшированием страниц.

PCD - бит запрещения кэширования (Page Cache Disable, 486+). Запрещает кэширование страницы или группы страниц.

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

D - бит изменения (Dirty). Процессор устанавливает этот бит в PTE всякий раз, когда изменяет содержимое соответствующей страницы. Процессор самостоятельно этот бит никогда не сбрасывает. В элементе каталога таблиц этот бит не используется и всегда 0.

Бит 7 PTE: PS - размер страницы (Page Size, Pentium+). В традиционном страничном преобразовании этот бит должен быть сброшен. При использовании расширения размера страниц (PSE), если PS=1, то этот элемент каталога таблиц указывает не на таблицу страниц, а на страницу размером 4Мбайт (или 2Мбайт, если разрешено PAE).

Бит 7 PDE: PAT - таблица атрибутов страниц (Page Attribute Table Index, Pentium III+). В процессорах, не поддерживающих таблицы атрибутов страниц, этот бит должен быть 0.

G - бит глобальности (Global Page, P6+). Влияет на процесс кэширования страниц. В элементах каталога таблиц не используется (игнорируется).

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

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

Формат дескриптора PDE

Стр

26)Защита информации в ЭВМ. Защита оперативной памяти.

Программные методы защиты основаны на использовании ключевых слов – паролей.

Классификация:

1.  По типу идентифицируемых объектов.

·  Пароли терминалов – обеспечивают доступ для входа в систему.

·  Программ (файлов, записей, элементов) – определяют право пользования ПО.

·  Пользователей – определяют статус учётной записи в рамках системы.

·  Данных – определяют право на получения доступа к данным.

2. По структуре.

·  Цифровые.

·  Буквенные

3. По способу ввода.

·  Аппаратные.

·  С помощью электронных карт

·  С помощью клавиатуры.

4.  По месторасположению.

·  Внутренние (часть текста запроса).

·  Внешние.

·  С фикс местоположением.

·  Плавающие.

5.  По времени использования

·  Неограниченное.

·  Разовое.

·  Периодически заменяемые.

Аппаратная защита информации на внешнем носители невозможна.

Организация защиты оперативной памяти.

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

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

Рассмотрим механизмы защиты памяти:

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

·  Кольцевая система защиты. Происходит разделения прав доступа на несколько уровней, каждый из уровней называется уровнем привилегий. Предусматривают как минимум два режима работы ЦП: пользовательский и системный (его часто называют режимом супервизора – «надзирателя»). Системный уровень самый привилегированный, ему доступны все ресурсы ВМ. Переход из пользовательского режима в системный и наоборот осуществляется специальной командой. Такую систему защиты часто изображают в виде концентрических окружностей (откуда и произошло название). В центре окружности располагают самую приоритетную системную зону, а все остальные располагают вокруг нею в порядке уменьшения приоритета.

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

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

Защита в IA-32.

Рассмотрим лишь основные тезисы, реализованные в системе защиты IA-32:

·  Защита по всем сегментам.

·  Защита по страницам. Реализована крайне примитивно, за счёт введения бита режима. Одно состояние отвечает за режим супервизора, а второе за пользовательский режим.

·  Операции разбиты по привилегиям.

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

27)Архитектура и виды ввода-вывода в ЭВМ. Способы организации адресного пространства ввода-вывода. Технология plug & play.

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

Две основные функции CВВ:

·  обеспечение интерфейса с ЦП и памятью;

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

а — раздельными шинами памяти и ввода/вывода; б — с совместно используемыми линиями данных и адреса; е — подключение на общих правах с процессором и памятью

CPU отличает устройства по адресам (не ОП!)=> два уровня адресации.

Адресное пространство системы ввода/вывода

За каждым периферийным устройством закрепляется 3 адреса: RGD, RGC, RGS (регистр данных команд, состояния). Адреса регистров могут настраиваться. Регистр состояния чаще всего 1 байт. Если их не хватает – то добавляют «байты уточненного состояния» - у них отдельные адреса.

Существует 2 способа организации адресного пространства:

1. С раздельными адресными пространствами для ОП и устройств в/в.

В шине управления добавляется линия Memory/IO. M/IO=1 соответствует адресу памяти на шине адреса. M/IO=0 соотв. адресу IO. M/IO фактически адресный бит.

Достоинства выделенного адресного пространства:

- адрес внешнего устройства в команде ввода/вывода может быть коротким. В большинстве СВВ количество внешних устройств намного меньше количества ячеек памяти. Короткий адрес ВУ подразумевает такие же короткие команды ввода/вывода и простые дешифраторы;

- программы становятся более наглядными, так как операции ввода/вывода выполняются с помощью специальных команд;

- разработка СВВ может проводиться отдельно от разработки памяти.

Недостатки выделенного адресного пространства:

- ввод/вывод производится только через аккумулятор центрального процессора. Для передачи информации от ВУ в РОН, если аккумулятор занят, требуется выполнение четырех команд (сохранение содержимого аккумулятора, ввод из ВУ, пересылка из аккумулятора в РОН, восстановление содержимого аккумулятора);

- перед обработкой содержимого ВУ это содержимое нужно переслать в ЦП.

2. I/O с отображением в память.

Достоинства совмещенного адресного пространства:

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

- значительное увеличение количества подключаемых внешних устройств;

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

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

Недостатки совмещенного адресного пространства:

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

- усложнение декодирующих схем адресов в СВВ;

- трудности распознавания операций передачи информации при вводе/выводе среди других операций. Сложности в чтении и отладке программы, в которой простые команды вызывают выполнение сложных операций ввода/вывода;

Виды I/O.

Существуют 3 типа:

1.  Программно – управляемый (условный).

2.  По прерываниям.

3.  С прямым доступом к памяти DMA.

1. Программно - управляемый обмен.

Самый простой не требует аппаратной поддержки в CPU, но затраты времени больше.

1) Чтение RGS. Анализируется бит готовности периферийного устройства.

2) В RGC команд записывается управляющее слово.

3) Происходит обмен.

Инициатива по ВВ принадлежит CPU. Инициатива по обмену между регистрами – устройствам ВВ.

Минус – сильная загрузка CPU.

Плюс – хорошо работает с быстрыми устройствами на быстрой шине.

2. В/в по прерыванию. CPU не ждет когда устройство готово – оно выдает прерывание. Обработчик прерывания реализует алгоритм обмена. Лучше подходит для медленных устройств.

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

Минус – затраты оборудования, ниже скорость обмена.

Плюс – меньше загрузка CPU.

3. Прямой доступ к памяти.

Чтение\запись происходит в два этапа по причине, что команд для обмена ОП-RG(ПУ) не существует, а существуют две команды (вариант для записи):

IN RG(IO), I\O

MOV MEM, RG(IO)

CPU участвует в управление ПДП, но это участие коротко.

Другие варианты:

Соотношение способов организации ввода/вывода

•  Средства, необходимые для организации условного ввода/вывода, требуются и для ввода/вывода по прерываниям.

•  Средства, необходимые для организации условного ввода/вывода, ввода/вывода по прерываниям, требуются и при прямом доступе к памяти.

CPU отличает устройства по адресам (не ОП!)=> два уровня адресации.

Адресное пространство системы ввода/вывода

За каждым периферийным устройством закрепляется 3 адреса: RGD, RGC, RGS (регистр данных команд, состояния). Адреса регистров могут настраиваться. Регистр состояния чаще всего 1 байт. Если их не хватает – то добавляют «байты уточненного состояния» - у них отдельные адреса.

Существует 2 способа организации адресного пространства:

1.  С раздельными адресными пространствами для ОП и устройств в/в.

В шине управления добавляется линия Memory/IO. M/IO=1 соответствует адресу памяти на шине адреса. M/IO=0 соотв. адресу IO. M/IO фактически адресный бит.

Достоинства выделенного адресного пространства:

- адрес внешнего устройства в команде ввода/вывода может быть коротким. В большинстве СВВ количество внешних устройств намного меньше количества ячеек памяти. Короткий адрес ВУ подразумевает такие же короткие команды ввода/вывода и простые дешифраторы;

- программы становятся более наглядными, так как операции ввода/вывода выполняются с помощью специальных команд;

- разработка СВВ может проводиться отдельно от разработки памяти.

Недостатки выделенного адресного пространства:

- ввод/вывод производится только через аккумулятор центрального процессора. Для передачи информации от ВУ в РОН, если аккумулятор занят, требуется выполнение четырех команд (сохранение содержимого аккумулятора, ввод из ВУ, пересылка из аккумулятора в РОН, восстановление содержимого аккумулятора);

- перед обработкой содержимого ВУ это содержимое нужно переслать в ЦП.

2.  I/O с отображением в память.

Достоинства совмещенного адресного пространства:

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

- значительное увеличение количества подключаемых внешних устройств;

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

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

Недостатки совмещенного адресного пространства:

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

- усложнение декодирующих схем адресов в СВВ;

- трудности распознавания операций передачи информации при вводе/выводе среди других операций. Сложности в чтении и отладке программы, в которой простые команды вызывают выполнение сложных операций ввода/вывода;

Plug-And-Play (PNP) - Букв. вставляй и играй. Технологий автоматического распределения ресурсов компьютера между его компонентами и периферийными устройствами. Аппаратные средства Plug and Play - это множество устройств компьютера, которые автоконфигурируемы операционной системой Plug and Play.

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

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

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

Устройство обязательно содержит три конфигурационных регистра ADRESS, READ_DATA, WRITE_DATA.

Во время фазы адреса конфигурационного цикла конфигурационная шина адресует один из регистров

Таким образом, при чтении/записи конфигурационной информации плата выбирается, когда активен сигнал IDSEL (Initialization Device Select).

Порты WRITE_DATA и READ_DATA используются для обмена данными с регистрми PnP. Адрес порта WRITE_DATA

После конфигурирования устройство не откликается ни на какие сигналы на конфигурационной шине.

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

28)Программно – управляемый ввод-вывод. Ввод-вывод по прерываниям.

(под МВВ (модуль ввода/вывода) понимать СПВВ, либо, в более простом случае, канал в/в)

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

Иллюстрация процедуры программно управляемого ввода блока данных с устройства ввода приведена на рис. 1. Данные читаются пословно. Для каждого читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово находится в регистре данных МВВ, то есть доступно для считывания.

Процедура начинается с выдачи процессором команды ввода, в которой указан адрес конкретного МВВ и конкретного ВУ. Существуют четыре типа команд В/ВЫВ, которые может получить МВВ: управление, проверка, чтение и запись.

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

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

Команда чтения побуждает модуль получить элемент данных из ВУ и занести его в регистр данных (РД). ЦП может получить этот элемент данных, запросив МВВ поместить его на шину данных.

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

ßРис. 1. Программно управляемый ввод данных

Если к МВВ подключено несколько ВУ, то в процедуре ввода/вывода нужно производить циклический опрос всех устройств, с которыми в данный момент производятся операции В/ВЫВ.

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

Главным аргументом в пользу программно управляемого ввода/вывода является простота МВВ, поскольку основные функции по управлению В/ВЫВ берет на себя процессор. При одновременной работе с несколькими ВУ приоритет устройств легко изменить программными средствами (последовательностью опроса). Наконец, подключение к СВВ новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.

Ввод/вывод по прерываниям

Основным недостатком программно управляемого B/BЫВ являются простои процессора в ожидании, пока модуль ввода/вывода выполнит очередную операцию. Альтернативой может быть вариант, когда ЦП выдает команду В/ВЫВ, а затем продолжает делать другую полезную работу. Когда ВУ готово к обмену данными, оно через МВВ извещает об этом процессор с помощью запроса на прерывание. ЦП осуществляет передачу очередного элемента данных, после чего возобновляет выполнение прерванной программы.

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

ßРис. 2. Ввод данных по прерыванию

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

Этот метод эффективнее программно управляемого В/ВЫВ, поскольку устраняет ненужные ожидания, однако обработка прерывания занимает достаточно много времени ЦП. Кроме того, каждое слово, пересылаемое из памяти в модуль В/ВЫВ или в противоположном направлении, как и при программно управляемом В/ВЫВ, проходит через ЦП.

Реализация ввода/вывода по прерываниям

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

Сначала рассмотрим вопрос идентификации устройства. Здесь возможны три основных метода:

■ множественные линии прерывания;

■ программная идентификация;

■ векторное прерывание.

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

При программной идентификации, обнаружив запрос прерывания, ЦП переходит к общей программе обработки прерывания, задачей которой является опрос всех МВВ с целью определения источника запроса. Для этого может быть выделена специальная командная линия опроса. ЦП помещает на адресную шину адрес опрашиваемого МВВ и формирует на этой линии сигнал опроса. Реакция модуля зависит от того, выставлял он запрос пли нет. Возможен и иной вариант, когда каждый МВВ включает в себя адресуемый регистр состояния. Тогда ЦП считывает содержимое PC каждого модуля, после чего выясняет источник прерываний. Когда источник прерывания установлен, ЦП переходит к программе обработки прерывания, соответствующей этому источнику. Недостаток метода программной идентификации заключается в больших временных потерях.

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

Наиболее распространены два варианта векторной идентификации источника запроса прерывания: цепочечный опрос и арбитраж шины.

Рис. 3. Идентификация запроса с помощью вектора прерывания

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

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

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

//===========дополнение на всякий случай==============

Модуль ввода/вывода в составе вычислительной машины отвечает за управление одним или несколькими ВУ и за обмен данными между этими устройствами с одной стороны, и основной памятью или регистрами ЦП — с другой. Основные функции МВВ можно сформулировать следующим образом:

- локализация данных;

- управление и синхронизация;

- обмен информацией;

- буферизация данных;

- обнаружение ошибок.

29)Ввод-вывод с прямым доступом к памяти.

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

Чтение\запись происходит в два этапа по причине, что команд для обмена ОП-RG(ПУ) не существует, а существуют две команды (вариант для записи):

IN RG(IO), I\O

MOV MEM, RG(IO)

CPU участвует в управление ПДП, но это участие коротко.

Контроллер ПДП может управлять системной шиной. Активными наз. устройства. способные управлять сис. шиной. Возможен конфликт в борьбе за системную шину => необходим орбитр. Существуют два типа:

-  централизованный – схема в CPU

-  распределенный – схема в ПУ(i) i=1…n

30)Структура и функции контроллера ПДП.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7