36
Организация ЭВМ и систем Тема: Способы обмена информацией Обмен с прерываниями Структура контроллера прерывания Каскадирование контроллеров Режимы работы контроллера прерываний Обмен в режиме прямого доступа к памяти Структура контроллера прямого доступа к памяти

Лекция №8 Организация ЭВМ и систем

Embed Size (px)

Citation preview

Page 1: Лекция №8 Организация ЭВМ и систем

Организация ЭВМ и систем

Тема: Способы обмена информацией

• Обмен с прерываниями• Структура контроллера прерывания• Каскадирование контроллеров• Режимы работы контроллера прерываний• Обмен в режиме прямого доступа к памяти• Структура контроллера прямого доступа к памяти

Page 2: Лекция №8 Организация ЭВМ и систем

Система прерываний Система прерываний PC ATPC AT

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

Возникновение таких событий вынуждает процессор Возникновение таких событий вынуждает процессор прервать выполнение текущей задачи и передать прервать выполнение текущей задачи и передать управление специальной процедуре или задаче, управление специальной процедуре или задаче, называемой обработчиком прерывания или называемой обработчиком прерывания или обработчиком исключения.обработчиком исключения. Различные синхронные и Различные синхронные и асинхронные события в системе на основе ЦП асинхронные события в системе на основе ЦП IAIA-32 можно -32 можно классифицировать следующим образом:классифицировать следующим образом:

Page 3: Лекция №8 Организация ЭВМ и систем

Система прерываний Система прерываний PC ATPC AT

Система прерываний PC AT

Аппаратныепрерывания

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

Исключительные ситуации

Маскируемые

Немаскируемые

Ошибки

Ловушки

Аварийные завершения

DOS DOS прерыванияпрерывания

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

BIOS – прерывания

DSR ISR

Page 4: Лекция №8 Организация ЭВМ и систем

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

Прерывания, которые генерируются при Прерывания, которые генерируются при поступлении сигнала на вход INTR#, поступлении сигнала на вход INTR#, называют называют маскируемыми аппаратными прерываниями.маскируемыми аппаратными прерываниями. Бит IF в Бит IF в регистре флагов позволяет заблокировать регистре флагов позволяет заблокировать (замаскировать) обработку таких прерываний(замаскировать) обработку таких прерываний..

Прерывания, генерируемые сигналом NMI#, Прерывания, генерируемые сигналом NMI#, называют немаскируемыми аппаратными называют немаскируемыми аппаратными прерываниями.прерываниями. Немаскируемые прерывания не Немаскируемые прерывания не блокируютсяблокируются флагом IF. флагом IF.

Page 5: Лекция №8 Организация ЭВМ и систем

Аппаратные прерыванияАппаратные прерывания

Page 6: Лекция №8 Организация ЭВМ и систем
Page 7: Лекция №8 Организация ЭВМ и систем
Page 8: Лекция №8 Организация ЭВМ и систем

С помощью инструкции INT n (n ­ номер С помощью инструкции INT n (n ­ номер прерывания) можно сгенерировать прерывание с прерывания) можно сгенерировать прерывание с любым номером 0...255любым номером 0...255. Такие прерывания называют . Такие прерывания называют программными. Состояние бита IF в регистре флагов не программными. Состояние бита IF в регистре флагов не влияет на возможность генерации программных влияет на возможность генерации программных прерываний. прерываний.

Роль DOS­прерываний Роль DOS­прерываний заключается взаключается в обеспечении обеспечении доступа пользовательских программ к системным доступа пользовательских программ к системным ресурсамресурсам (например, INT $21 – сервисы DOS). (например, INT $21 – сервисы DOS).

Пользовательские прерывания нужны пользователю Пользовательские прерывания нужны пользователю для создания собственных обработчиков прерываний и не для создания собственных обработчиков прерываний и не используют вектора прерываний DOS.используют вектора прерываний DOS.

Главное назначение BIOS­прерываний – Главное назначение BIOS­прерываний – обеспечение корректногообеспечение корректного (с точки зрения совместимости) (с точки зрения совместимости) доступа к аппаратуре со стороны ОС и доступа к аппаратуре со стороны ОС и пользовательских программ пользовательских программ (например, функциям (например, функциям драйверов устройств: INT $33 – драйвер мыши или драйверов устройств: INT $33 – драйвер мыши или специальным сервисам: INT $10 – видео-сервис BIOS, специальным сервисам: INT $10 – видео-сервис BIOS, INT $31 – DPMI-сервис, INT $67 – сервис EMS).INT $31 – DPMI-сервис, INT $67 – сервис EMS).

Page 9: Лекция №8 Организация ЭВМ и систем

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

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

программе контролировать определенные условия в программе контролировать определенные условия в заданных точках программы (заданных точках программы (INTO INTO – проверка на – проверка на переполнение, переполнение, INTINT3 – контрольная точка, 3 – контрольная точка, BOUND BOUND – – проверка границ массива);проверка границ массива);

исключения машинного контроля (#18), возникающие исключения машинного контроля (#18), возникающие в процессе контроля операций внутри чипа и транзакций на в процессе контроля операций внутри чипа и транзакций на шине процессора (шине процессора (PentiumPentium, , PP6 и 6 и Pentium Pentium 4);4);

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

Page 10: Лекция №8 Организация ЭВМ и систем

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

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

Ловушка возникает на границе команд сразу же Ловушка возникает на границе команд сразу же после команды, вызвавшей это исключение.после команды, вызвавшей это исключение. Значения Значения регистров регистров CSCS и и EIPEIP, заносимые в стек обработчика, , заносимые в стек обработчика, указывают на очередную команду. Например, если ловушка указывают на очередную команду. Например, если ловушка сработала на команде сработала на команде JMPJMP, то в стеке запоминаются , то в стеке запоминаются значения регистров значения регистров CSCS и и EIPEIP, указывающие на ссылку , указывающие на ссылку команды команды JMPJMP. .

Page 11: Лекция №8 Организация ЭВМ и систем

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

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

Все прерывания и исключения имеют номер (иногда Все прерывания и исключения имеют номер (иногда именуемый вектором) в диапазоне от 0 до 255. Номера именуемый вектором) в диапазоне от 0 до 255. Номера 0...31 зарезервированы фирмой Intel для исключений.0...31 зарезервированы фирмой Intel для исключений.

Page 12: Лекция №8 Организация ЭВМ и систем

Структура контроллера прерыванияСтруктура контроллера прерыванияКонтроллер прерыванийКонтроллер прерываний (ПКП) представляет собой (ПКП) представляет собой

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

BD

RWCU

CMP

D7­0

RD

WR

A0

CS

CAS0CAS1CAS2

SP

CU

INTR INTA#

ISR PRB RGI

RGM

IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7

Page 13: Лекция №8 Организация ЭВМ и систем

RGIRGI - регистр запросов прерываний; - регистр запросов прерываний; хранит все хранит все уровни, на которые поступаютуровни, на которые поступают запросызапросы IRQx; IRQx;

PRBPRB - схема принятия решений по приоритетам; схема - схема принятия решений по приоритетам; схема идентифицирует приоритет запросов и выбирает идентифицирует приоритет запросов и выбирает запрос с наивысшим приоритетомзапрос с наивысшим приоритетом;;

ISRISR - регистр обслуживаемых прерываний; - регистр обслуживаемых прерываний; сохраняет сохраняет уровни запросов прерываний, находящиеся на уровни запросов прерываний, находящиеся на обслуживании ПКП;обслуживании ПКП;

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

BDBD - буфер данных; предназначен - буфер данных; предназначен для сопряжения для сопряжения ПКП с системной шиной данных;ПКП с системной шиной данных;

RWCURWCU - блок управления записью/чтением; - блок управления записью/чтением; принимает принимает управляющие сигналы от микропроцессора и задает управляющие сигналы от микропроцессора и задает режим функционирования ПКП;режим функционирования ПКП;

Page 14: Лекция №8 Организация ЭВМ и систем

CMPCMP - схема каскадного буфера-компаратора; - схема каскадного буфера-компаратора; используется для включения в систему нескольких используется для включения в систему нескольких ПКП; ПКП; CUCU - схема управления; - схема управления; вырабатывает сигналы вырабатывает сигналы прерывания и формирует трехбайтовую команду CALL прерывания и формирует трехбайтовую команду CALL для выдачи на шину данных.для выдачи на шину данных.

Page 15: Лекция №8 Организация ЭВМ и систем

Каскадное включение Каскадное включение контроллеров прерываний (контроллеров прерываний (PC ATPC AT))

MASTERMASTER00112233445 SP/EN5 SP/EN667 CAS2­CAS07 CAS2­CAS0

0 CAS2/00 CAS2/011223 SLAVE3 SLAVE445 SP/EN5 SP/EN6677

IRQ0IRQ0IRQ1IRQ1

IRQ3IRQ3IRQ4IRQ4IRQ5IRQ5IRQ6IRQ6IRQ7IRQ7

IRQ13IRQ13

IRQ8IRQ8IRQ9IRQ9

IRQ10IRQ10IRQ11IRQ11IRQ12IRQ12

IRQ14IRQ14IRQ15IRQ15 Низкий Низкий

уровеньуровень

+5В+5В Высокий Высокий уровеньуровень

INTRINTR к к INTRINTR ЦПЦП

INTRINTR

СИСТЕМНАЯ СИСТЕМНАЯ ШИНАШИНА

Àíèìàöèÿ.swf

Page 16: Лекция №8 Организация ЭВМ и систем

Аппаратные прерывания Аппаратные прерывания PC ATPC ATMaster/Master/

SlaveSlaveЗапрос на Запрос на

прерываниепрерываниеИсточник прерыванияИсточник прерывания ПриоритетПриоритет Код Код

векторавектора

______

MASTERMASTER

MASTERMASTER

SLAVESLAVE

SLAVESLAVE

SLAVESLAVE

SLAVESLAVE

SLAVESLAVE

SLAVESLAVE

SLAVESLAVE

SLAVESLAVE

NMI*NMI*

IRQ0IRQ0

IRQ1IRQ1

IRQ8IRQ8

IRQ9IRQ9

IRQ10IRQ10

IRQ11IRQ11

IRQ12IRQ12

IRQ13IRQ13

IRQ14IRQ14

IRQ15IRQ15

Ошибка паритетОшибка паритетaa памяти или памяти или другая неисправимая ошибка в другая неисправимая ошибка в

системесистеме

Системный таймерСистемный таймер

КлавиатураКлавиатура

Часы реального времениЧасы реального времени

РезервРезерв

РезервРезерв

РезервРезерв

РезервРезерв

Ошибка сопроцессораОшибка сопроцессора

НМДНМД

РезервРезерв

11

22

33

44

55

66

77

88

99

1010

1111

0202hh

0808hh

09h09h

70h70h

71h71h

72h72h

73h73h

74h74h

75h75h

76h76h

77h77h

MASTERMASTER

MASTERMASTER

MASTERMASTER

MASTERMASTER

MASTERMASTER

IRQ3IRQ3

IRQ4IRQ4

IRQ5IRQ5

IRQ6IRQ6

IRQ7IRQ7

Стык С2 вторичныйСтык С2 вторичный

Стык С2 первичныйСтык С2 первичный

Параллельный порт 2Параллельный порт 2

НГМДНГМД

Параллельный порт 1Параллельный порт 1

1212

1313

1414

1515

1616

00BhBh

0Ch0Ch

0Dh0Dh

0Eh0Eh

0Fh0Fh

Page 17: Лекция №8 Организация ЭВМ и систем

Аппаратные прерывания Аппаратные прерывания PC ATPC AT

Page 18: Лекция №8 Организация ЭВМ и систем

Обслуживание маскируемых Обслуживание маскируемых прерыванийпрерываний

Page 19: Лекция №8 Организация ЭВМ и систем
Page 20: Лекция №8 Организация ЭВМ и систем
Page 21: Лекция №8 Организация ЭВМ и систем

Режимы работы ПКПРежимы работы ПКП

Режим полного вложенияРежим полного вложения (приоритет от высшего (приоритет от высшего IRQ IRQ к низшему) – основной режимк низшему) – основной режим.. Пока установлен разряд Пока установлен разряд в в ISR ISR все последующие запросы с таким же или более все последующие запросы с таким же или более низким приоритетом игнорируютсянизким приоритетом игнорируются, подтверждаются , подтверждаются лишь запросы с более высоким приоритетом.лишь запросы с более высоким приоритетом.

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

Page 22: Лекция №8 Организация ЭВМ и систем

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

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

Page 23: Лекция №8 Организация ЭВМ и систем

Расширенный программируемый Расширенный программируемый контроллер прерыванийконтроллер прерываний ((APICAPIC))

Микропроцессоры Микропроцессоры IAIA-32, начиная с модели -32, начиная с модели PentiumPentium, , содержат встроенный расширенный программируемый содержат встроенный расширенный программируемый контроллер прерываний (контроллер прерываний (APICAPIC). ). Встроенный Встроенный APICAPIC предназначен для регистрирования прерываний от предназначен для регистрирования прерываний от источников внутри процессораисточников внутри процессора или от внешнего или от внешнего контроллера прерываний и передачи их ядру контроллера прерываний и передачи их ядру процессора на обработку. процессора на обработку. Особо важная роль Особо важная роль возлагается на встроенный возлагается на встроенный APIC APIC в многопроцессорных в многопроцессорных системах, где системах, где APIC APIC принимает и генерирует сообщения о принимает и генерирует сообщения о межпроцессорных прерываниях (межпроцессорных прерываниях (IPI IPI – – InterProcessor InterProcessor InterruptInterrupt). Такие сообщения могут использоваться для ). Такие сообщения могут использоваться для распределения обработки прерываний между распределения обработки прерываний между процессорами или для выполнения системных функций процессорами или для выполнения системных функций (первоначальная загрузка, диспетчеризация задач и т. п.).(первоначальная загрузка, диспетчеризация задач и т. п.).

Page 24: Лекция №8 Организация ЭВМ и систем

Встроенный Встроенный APIC APIC различает следующие различает следующие источники источники прерыванийпрерываний::

1.1. От локальных устройствОт локальных устройств.. Прерывания, Прерывания, генерируемые по фронту или уровню сигнала, генерируемые по фронту или уровню сигнала, поступающего от устройства, непосредственно поступающего от устройства, непосредственно подключенного к сигналам подключенного к сигналам LINTLINT0 и 0 и LINTLINT1 (например, 1 (например, контроллер прерываний типа 8259контроллер прерываний типа 8259AA).).

2.2. От внешних устройствОт внешних устройств.. Прерывание, Прерывание, генерируемые по фронту или уровню сигнала, генерируемые по фронту или уровню сигнала, поступающего от устройства, подключенного к внешнему поступающего от устройства, подключенного к внешнему контроллеру прерываний. Такое прерывание передается в контроллеру прерываний. Такое прерывание передается в виде сообщения по шине виде сообщения по шине APIC APIC (или системной шине в (или системной шине в Pentium Pentium 4).4).

3.3. Межпроцессорные (Межпроцессорные (IPIIPI).). В многопроцессорных В многопроцессорных системах один из процессоров может прервать другой при системах один из процессоров может прервать другой при помощи сообщения помощи сообщения IPI IPI на шине на шине APICAPIC (или системной шине (или системной шине в в Pentium Pentium 4).4).

Page 25: Лекция №8 Организация ЭВМ и систем

4.4.От таймера От таймера APICAPIC.. Встроенный Встроенный APIC APIC содержит содержит таймер, который можно запрограммировать на генерацию таймер, который можно запрограммировать на генерацию прерывания по достижении определенного отсчета.прерывания по достижении определенного отсчета.

5.5. От таймера монитора производительности.От таймера монитора производительности. Процессоры Процессоры PP6 и 6 и Pentium Pentium 4 содержат блок мониторинга 4 содержат блок мониторинга производительности. Этот блок можно запрограммировать производительности. Этот блок можно запрограммировать таким образом, чтобы связанный с ним таймер при таким образом, чтобы связанный с ним таймер при достижении определенного отсчета генерировал достижении определенного отсчета генерировал прерывание.прерывание.

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

7.7. Внутренние ошибки Внутренние ошибки APICAPIC.. Встроенный Встроенный APIC APIC может генерировать прерывания при возникновении может генерировать прерывания при возникновении внутренних ошибочных ситуаций (например, при попытке внутренних ошибочных ситуаций (например, при попытке обратиться к несуществующему регистру обратиться к несуществующему регистру APICAPIC).).

Page 26: Лекция №8 Организация ЭВМ и систем

Источники 1, 4, 5, 6, 7 считаются Источники 1, 4, 5, 6, 7 считаются локальными локальными источниками прерыванийисточниками прерываний и обслуживаются специальным и обслуживаются специальным набором регистров набором регистров APICAPIC, называемым , называемым таблицей таблицей локальных векторовлокальных векторов ( (LVTLVT – – local vector tablelocal vector table). Два других ). Два других источника обрабатываются источника обрабатываются APIC APIC через механизм через механизм сообщений. Эти сообщения в сообщений. Эти сообщения в Pentium Pentium и и PP6 передаются по 6 передаются по выделенной трехпроводный шине выделенной трехпроводный шине APICAPIC. В . В Pentium Pentium 4 для 4 для передачи передачи APICAPIC-сообщений используется системная шина, -сообщений используется системная шина, поэтому контроллер прерываний может быть подключен поэтому контроллер прерываний может быть подключен непосредственно к обычному системному интерфейсу непосредственно к обычному системному интерфейсу (например, (например, PCIPCI).).

Структура встроенного Структура встроенного APIC APIC является архитектурным является архитектурным подмножеством микросхемы контроллера прерываний подмножеством микросхемы контроллера прерываний IntelIntel 8248982489DXDX. Регистры . Регистры APIC APIC отображаются на 4Кбайтный блок отображаются на 4Кбайтный блок оперативной памяти по адресу оперативной памяти по адресу FEEFEE0000000000hh (может быть (может быть изменен через изменен через MSR MSR регистры процессора).регистры процессора).

Page 27: Лекция №8 Организация ЭВМ и систем
Page 28: Лекция №8 Организация ЭВМ и систем

Взаимодействие встроенного Взаимодействие встроенного APIC APIC и и внешнего контроллера прерыванийвнешнего контроллера прерываний

Page 29: Лекция №8 Организация ЭВМ и систем
Page 30: Лекция №8 Организация ЭВМ и систем

Подсистема контроллера прямого Подсистема контроллера прямого доступа к памяти (доступа к памяти (DMADMA))

Архитектура процессора Архитектура процессора PC AT PC AT включает в себя включает в себя подсистему подсистему DMADMA, состоящую из , состоящую из двух контроллеров двух контроллеров DMA Intel 8237DMA Intel 8237, регистра старшего адреса , регистра старшего адреса DMADMA и и регистров страниц регистров страниц DMADMA.. Эти контроллеры обеспечивают Эти контроллеры обеспечивают 7 каналов 7 каналов DMADMA. .

Система обеспечивает передачу данных по каналам Система обеспечивает передачу данных по каналам DMA DMA как как по одному байту за цикл по одному байту за цикл DMADMA, так и , так и по два по два байта за циклбайта за цикл, исходя из возможностей архитектуры , исходя из возможностей архитектуры процессора (двухбайтовой шины данных). процессора (двухбайтовой шины данных).

Page 31: Лекция №8 Организация ЭВМ и систем

Блок-схема контроллера Блок-схема контроллера DMADMA

БлокСинхро-низации

и Управле-

ниея

Блок кодиро-вания

приори-тетов

-EOPRESET

-CSREADY

CLK

AENAOSTB-MEMR-MEMW

-IOR-IOW

DREQ0DREQ1DREQ2DREQ3HLDA

HRQDACK0DACK1DACK2DACK3

Декрементор

Врем. Регистр счетчика слов (16)

Инкрем./ Декрем.

Врем. Адресный регистр (16)

БуферВвода/

Вывода

Буфер чтения

Регистры РегистрыБазового БазовогоАдреса Счетчика

(4х16) (4х16)

Буфер чтения/записи

Регистры РегистрыТекущего ТекущегоАдреса Счетчика

(4х16) (4х16)

БуферВывода

БлокУправле-

ниякомандами

Буфер записи Буфер чтения

БуферВвода/

Вывода

Регистры режима (4х6)

Регистрсостояния (8)

Временный регистр (8)

Регистр команд (8)

Регистр масок (8)

Регистр запросов (4)

А0 – А7

А8 – А15

А4 – А7

А0 – А3

D0 – D1

DB0 – DB7

Page 32: Лекция №8 Организация ЭВМ и систем

Подсистема Подсистема DMA DMA вв PC AT PC AT

DMA1DRQ0 DACK0DRQ1 DACK1DRQ2 DACK2DRQ3 DACK3

HLDA HRQ

DMA2DRQ0 DACK0DRQ1 DACK1DRQ2 DACK2DRQ3 DACK3

HLDA HRQ

8 – разрядныеКаналы DMA

В системнуюшину

Запрос на захват цикла шины

Подтверждение на захват

цикла шины

16-разрядные каналы DMA

«запрос ПДП»

«Подтверждение ПДП»

Page 33: Лекция №8 Организация ЭВМ и систем

Распределение каналов Распределение каналов контроллеров контроллеров DMADMA

КаналКанал Использование Использование 0*0*

1*1*

2*2*

3*3*

44

5* *5* *

6* *6* *

7* *7* *

РезервРезерв

Адаптер интерфейса Адаптер интерфейса SDLCSDLC

Адаптер НГМДАдаптер НГМД

РезервРезерв

Используется для каскадирования Используется для каскадирования контроллеровконтроллеров

РезервРезерв

РезервРезерв

РезервРезерв

* - 8 – разрядные каналы, * * - 16 – разрядные каналы* - 8 – разрядные каналы, * * - 16 – разрядные каналы

Page 34: Лекция №8 Организация ЭВМ и систем

Режимы обслуживанияРежимы обслуживания подсистемы подсистемы DMADMA

В активном цикле обслуживание подсистемы В активном цикле обслуживание подсистемы DMA DMA возможно в одном из четырех режимов:возможно в одном из четырех режимов:

1.1.Режим одиночной передачи (Режим одиночной передачи (Single Transfer ModeSingle Transfer Mode))

2.2.Режим передачи блокаРежим передачи блока (Block Transfer Mode) (Block Transfer Mode)

3.3.Режим передачи по требованию (Режим передачи по требованию (Demand Transfer Demand Transfer ModeMode))

4.4.Каскадный режимКаскадный режим (Cascade Mode) (Cascade Mode)

Page 35: Лекция №8 Организация ЭВМ и систем

Формирование адреса памятиФормирование адреса памяти

Контроллер Контроллер DMA DMA и регистр страниц определяю 24-и регистр страниц определяю 24-разрядный адрес, что обеспечивает передачу данных в разрядный адрес, что обеспечивает передачу данных в пределах адресного пространства 16 М байт.пределах адресного пространства 16 М байт.

24-разрядный адрес – DMA1 – передача байта

Регистр страниц (8 бит)

А23< ----- > A16

DMA1 (16) бит

А15< ----- >A8 A7< ----- >A0

24-разрядный адрес – DMA2 – передача слова

Регистр страниц

А23< ----- > A17

DMA2 (16 бит)

A16< ----- >A9 A8< ----->A1

Всегда 0

А0

Page 36: Лекция №8 Организация ЭВМ и систем

Циклы контроллеров прямого Циклы контроллеров прямого доступа к памятидоступа к памяти

Подсистема Подсистема DMA DMA предназначена для работы в предназначена для работы в двух двух основных циклахосновных циклах: : холостом холостом и и активномактивном. . Каждый цикл Каждый цикл – это совокупность некоторого количества ее – это совокупность некоторого количества ее состоянийсостояний. Подсистема . Подсистема DMA DMA может иметь может иметь семь семь состоянийсостояний каждое из которых соответствует одному каждое из которых соответствует одному периоду синхронизации. периоду синхронизации.

SI – SI – неактивное состояние;неактивное состояние;S0 – S0 – первое состояние обслуживания подсистемы первое состояние обслуживания подсистемы

DMADMA, возникающее по действительному запросу (, возникающее по действительному запросу (DREQDREQ););S1,S2,S3,S4 – S1,S2,S3,S4 – рабочие состояния;рабочие состояния;SW – SW – состояние ожидания.состояние ожидания.