Upload
pianist2317
View
170
Download
1
Embed Size (px)
Citation preview
Организация ЭВМ и систем
Тема: Способы обмена информацией
• Обмен с прерываниями• Структура контроллера прерывания• Каскадирование контроллеров• Режимы работы контроллера прерываний• Обмен в режиме прямого доступа к памяти• Структура контроллера прямого доступа к памяти
Система прерываний Система прерываний PC ATPC AT
Прерывания и исключения – это события, Прерывания и исключения – это события, указывающие на возникновении в системе или в указывающие на возникновении в системе или в выполняемой в данный момент задаче определенных выполняемой в данный момент задаче определенных условий, требующих вмешательства процессора. условий, требующих вмешательства процессора.
Возникновение таких событий вынуждает процессор Возникновение таких событий вынуждает процессор прервать выполнение текущей задачи и передать прервать выполнение текущей задачи и передать управление специальной процедуре или задаче, управление специальной процедуре или задаче, называемой обработчиком прерывания или называемой обработчиком прерывания или обработчиком исключения.обработчиком исключения. Различные синхронные и Различные синхронные и асинхронные события в системе на основе ЦП асинхронные события в системе на основе ЦП IAIA-32 можно -32 можно классифицировать следующим образом:классифицировать следующим образом:
Система прерываний Система прерываний PC ATPC AT
Система прерываний PC AT
Аппаратныепрерывания
Программные прерывания
Исключительные ситуации
Маскируемые
Немаскируемые
Ошибки
Ловушки
Аварийные завершения
DOS DOS прерыванияпрерывания
Пользовательские прерывания
BIOS – прерывания
DSR ISR
Внешние прерывания генерируются по аппаратному Внешние прерывания генерируются по аппаратному сигналу, поступающему от периферийного оборудования, сигналу, поступающему от периферийного оборудования, когда оно требует обслуживания.когда оно требует обслуживания. Процессор определяет Процессор определяет необходимость обработки внешнего прерывания по необходимость обработки внешнего прерывания по наличию сигнала на одном из контактов INTR# или NMI#. наличию сигнала на одном из контактов INTR# или NMI#. При появлении сигнала на линии INTR# внешний При появлении сигнала на линии INTR# внешний контроллер прерываний (например, 8259A) должен контроллер прерываний (например, 8259A) должен предоставить процессору вектор (номер) прерывания. С предоставить процессору вектор (номер) прерывания. С линией NMI# всегда связано прерывание #2.линией NMI# всегда связано прерывание #2.
Прерывания, которые генерируются при Прерывания, которые генерируются при поступлении сигнала на вход INTR#, поступлении сигнала на вход INTR#, называют называют маскируемыми аппаратными прерываниями.маскируемыми аппаратными прерываниями. Бит IF в Бит IF в регистре флагов позволяет заблокировать регистре флагов позволяет заблокировать (замаскировать) обработку таких прерываний(замаскировать) обработку таких прерываний..
Прерывания, генерируемые сигналом NMI#, Прерывания, генерируемые сигналом NMI#, называют немаскируемыми аппаратными называют немаскируемыми аппаратными прерываниями.прерываниями. Немаскируемые прерывания не Немаскируемые прерывания не блокируютсяблокируются флагом IF. флагом IF.
Аппаратные прерыванияАппаратные прерывания
С помощью инструкции 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).
Исключения являются для процессора Исключения являются для процессора внутренними событиями и сигнализируют о внутренними событиями и сигнализируют о какихлибо ошибочных условиях при какихлибо ошибочных условиях при выполнении той или иной инструкции.выполнении той или иной инструкции.
Источниками исключений являются три типа событий:Источниками исключений являются три типа событий: генерируемые программой исключения, позволяющие генерируемые программой исключения, позволяющие
программе контролировать определенные условия в программе контролировать определенные условия в заданных точках программы (заданных точках программы (INTO INTO – проверка на – проверка на переполнение, переполнение, INTINT3 – контрольная точка, 3 – контрольная точка, BOUND BOUND – – проверка границ массива);проверка границ массива);
исключения машинного контроля (#18), возникающие исключения машинного контроля (#18), возникающие в процессе контроля операций внутри чипа и транзакций на в процессе контроля операций внутри чипа и транзакций на шине процессора (шине процессора (PentiumPentium, , PP6 и 6 и Pentium Pentium 4);4);
обнаруженные процессором ошибки в программе обнаруженные процессором ошибки в программе (деление на ноль, нарушение правил защиты, (деление на ноль, нарушение правил защиты, неприсутствие страницы и т. п.)неприсутствие страницы и т. п.)
Исключения процессора в зависимости от способа Исключения процессора в зависимости от способа генерации и возможности рестарта вызвавшей исключение генерации и возможности рестарта вызвавшей исключение команды подразделяются на команды подразделяются на нарушения, ловушки и нарушения, ловушки и аварии.аварии.
Нарушение (отказ) это исключение, которое Нарушение (отказ) это исключение, которое обнаруживается либо перед исполнением, либо во обнаруживается либо перед исполнением, либо во время исполнения команды. время исполнения команды. При этом процессор При этом процессор переходит в состояние, позволяющее осуществить рестарт переходит в состояние, позволяющее осуществить рестарт команды. В качестве адреса возврата в стек обработчика команды. В качестве адреса возврата в стек обработчика заносится адрес вызвавшей исключение команды.заносится адрес вызвавшей исключение команды.
Ловушка возникает на границе команд сразу же Ловушка возникает на границе команд сразу же после команды, вызвавшей это исключение.после команды, вызвавшей это исключение. Значения Значения регистров регистров CSCS и и EIPEIP, заносимые в стек обработчика, , заносимые в стек обработчика, указывают на очередную команду. Например, если ловушка указывают на очередную команду. Например, если ловушка сработала на команде сработала на команде JMPJMP, то в стеке запоминаются , то в стеке запоминаются значения регистров значения регистров CSCS и и EIPEIP, указывающие на ссылку , указывающие на ссылку команды команды JMPJMP. .
Авария не позволяет осуществить рестарт программы, Авария не позволяет осуществить рестарт программы, и зачастую нельзя точно локализовать команду, и зачастую нельзя точно локализовать команду, вызвавшую это исключение. вызвавшую это исключение. Исключения типа "авария" Исключения типа "авария" генерируются при обнаружении серьезных ошибок, генерируются при обнаружении серьезных ошибок, таких как неразрешенные или несовместимые значения таких как неразрешенные или несовместимые значения в системных таблицах или аппаратные сбоив системных таблицах или аппаратные сбои..
Если на границе инструкции обнаруживается, что Если на границе инструкции обнаруживается, что требуется обработка более одного прерывания или требуется обработка более одного прерывания или исключения, процессор обрабатывает прерывание или исключения, процессор обрабатывает прерывание или исключение с наивысшим приоритетом. Исключения с исключение с наивысшим приоритетом. Исключения с низким приоритетом снимаются, а прерывания с низким низким приоритетом снимаются, а прерывания с низким приоритетом откладываются. Снятые исключения могут приоритетом откладываются. Снятые исключения могут быть потом снова сгенерированы при возврате из быть потом снова сгенерированы при возврате из обработчика.обработчика.
Все прерывания и исключения имеют номер (иногда Все прерывания и исключения имеют номер (иногда именуемый вектором) в диапазоне от 0 до 255. Номера именуемый вектором) в диапазоне от 0 до 255. Номера 0...31 зарезервированы фирмой Intel для исключений.0...31 зарезервированы фирмой Intel для исключений.
Структура контроллера прерыванияСтруктура контроллера прерыванияКонтроллер прерыванийКонтроллер прерываний (ПКП) представляет собой (ПКП) представляет собой
устройство, реализующее устройство, реализующее до восьми уровней до восьми уровней запросов на прерываниязапросов на прерывания, с возможностью , с возможностью программного маскированияпрограммного маскирования и и изменения порядка изменения порядка обслуживания прерыванийобслуживания прерываний. .
BD
RWCU
CMP
D70
RD
WR
A0
CS
CAS0CAS1CAS2
SP
CU
INTR INTA#
ISR PRB RGI
RGM
IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7
RGIRGI - регистр запросов прерываний; - регистр запросов прерываний; хранит все хранит все уровни, на которые поступаютуровни, на которые поступают запросызапросы IRQx; IRQx;
PRBPRB - схема принятия решений по приоритетам; схема - схема принятия решений по приоритетам; схема идентифицирует приоритет запросов и выбирает идентифицирует приоритет запросов и выбирает запрос с наивысшим приоритетомзапрос с наивысшим приоритетом;;
ISRISR - регистр обслуживаемых прерываний; - регистр обслуживаемых прерываний; сохраняет сохраняет уровни запросов прерываний, находящиеся на уровни запросов прерываний, находящиеся на обслуживании ПКП;обслуживании ПКП;
RGMRGM - регистр маскирования прерываний; - регистр маскирования прерываний; обеспечивает запрещение одной или нескольких линий обеспечивает запрещение одной или нескольких линий запросов прерывания;запросов прерывания;
BDBD - буфер данных; предназначен - буфер данных; предназначен для сопряжения для сопряжения ПКП с системной шиной данных;ПКП с системной шиной данных;
RWCURWCU - блок управления записью/чтением; - блок управления записью/чтением; принимает принимает управляющие сигналы от микропроцессора и задает управляющие сигналы от микропроцессора и задает режим функционирования ПКП;режим функционирования ПКП;
CMPCMP - схема каскадного буфера-компаратора; - схема каскадного буфера-компаратора; используется для включения в систему нескольких используется для включения в систему нескольких ПКП; ПКП; CUCU - схема управления; - схема управления; вырабатывает сигналы вырабатывает сигналы прерывания и формирует трехбайтовую команду CALL прерывания и формирует трехбайтовую команду CALL для выдачи на шину данных.для выдачи на шину данных.
Каскадное включение Каскадное включение контроллеров прерываний (контроллеров прерываний (PC ATPC AT))
MASTERMASTER00112233445 SP/EN5 SP/EN667 CAS2CAS07 CAS2CAS0
0 CAS2/00 CAS2/011223 SLAVE3 SLAVE445 SP/EN5 SP/EN6677
IRQ0IRQ0IRQ1IRQ1
IRQ3IRQ3IRQ4IRQ4IRQ5IRQ5IRQ6IRQ6IRQ7IRQ7
IRQ13IRQ13
IRQ8IRQ8IRQ9IRQ9
IRQ10IRQ10IRQ11IRQ11IRQ12IRQ12
IRQ14IRQ14IRQ15IRQ15 Низкий Низкий
уровеньуровень
+5В+5В Высокий Высокий уровеньуровень
INTRINTR к к INTRINTR ЦПЦП
INTRINTR
СИСТЕМНАЯ СИСТЕМНАЯ ШИНАШИНА
Àíèìàöèÿ.swf
Аппаратные прерывания Аппаратные прерывания 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
Аппаратные прерывания Аппаратные прерывания PC ATPC AT
Обслуживание маскируемых Обслуживание маскируемых прерыванийпрерываний
Режимы работы ПКПРежимы работы ПКП
Режим полного вложенияРежим полного вложения (приоритет от высшего (приоритет от высшего IRQ IRQ к низшему) – основной режимк низшему) – основной режим.. Пока установлен разряд Пока установлен разряд в в ISR ISR все последующие запросы с таким же или более все последующие запросы с таким же или более низким приоритетом игнорируютсянизким приоритетом игнорируются, подтверждаются , подтверждаются лишь запросы с более высоким приоритетом.лишь запросы с более высоким приоритетом.
Циклический режим Циклический режим (используется (используется круговой круговой порядок использования приоритетовпорядок использования приоритетов).). Последнему Последнему обслуживаемому запросу присваивается низший обслуживаемому запросу присваивается низший приоритет, следующему по кругу – наивысший. Идея – приоритет, следующему по кругу – наивысший. Идея – если устройство обслуживается, то остальные устройства если устройство обслуживается, то остальные устройства должны быть обслужены перед следующим должны быть обслужены перед следующим обслуживанием данного устройства.обслуживанием данного устройства.
Маскирование прерыванийМаскирование прерываний.. Позволяет Позволяет устройствам с более низким приоритетом получить устройствам с более низким приоритетом получить возможность генерировать прерывания. Режим возможность генерировать прерывания. Режим специального маскирования специального маскирования разрешает прерывания разрешает прерывания всех уровней кроме уровнейвсех уровней кроме уровней, , обслуживаемых в обслуживаемых в данный момент.данный момент.
Специальный режим полного вложения Специальный режим полного вложения программируется любым ведущим контроллером при программируется любым ведущим контроллером при инициализации (игнорируются запросы с приоритетом инициализации (игнорируются запросы с приоритетом ниже, чем приоритет обрабатываемого в данный момент ниже, чем приоритет обрабатываемого в данный момент запроса, запроса, обслуживаются все запросы с равным или обслуживаются все запросы с равным или более высоким приоритетомболее высоким приоритетом).).
Расширенный программируемый Расширенный программируемый контроллер прерыванийконтроллер прерываний ((APICAPIC))
Микропроцессоры Микропроцессоры IAIA-32, начиная с модели -32, начиная с модели PentiumPentium, , содержат встроенный расширенный программируемый содержат встроенный расширенный программируемый контроллер прерываний (контроллер прерываний (APICAPIC). ). Встроенный Встроенный APICAPIC предназначен для регистрирования прерываний от предназначен для регистрирования прерываний от источников внутри процессораисточников внутри процессора или от внешнего или от внешнего контроллера прерываний и передачи их ядру контроллера прерываний и передачи их ядру процессора на обработку. процессора на обработку. Особо важная роль Особо важная роль возлагается на встроенный возлагается на встроенный APIC APIC в многопроцессорных в многопроцессорных системах, где системах, где APIC APIC принимает и генерирует сообщения о принимает и генерирует сообщения о межпроцессорных прерываниях (межпроцессорных прерываниях (IPI IPI – – InterProcessor InterProcessor InterruptInterrupt). Такие сообщения могут использоваться для ). Такие сообщения могут использоваться для распределения обработки прерываний между распределения обработки прерываний между процессорами или для выполнения системных функций процессорами или для выполнения системных функций (первоначальная загрузка, диспетчеризация задач и т. п.).(первоначальная загрузка, диспетчеризация задач и т. п.).
Встроенный Встроенный 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).
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).).
Источники 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 регистры процессора).регистры процессора).
Взаимодействие встроенного Взаимодействие встроенного APIC APIC и и внешнего контроллера прерыванийвнешнего контроллера прерываний
Подсистема контроллера прямого Подсистема контроллера прямого доступа к памяти (доступа к памяти (DMADMA))
Архитектура процессора Архитектура процессора PC AT PC AT включает в себя включает в себя подсистему подсистему DMADMA, состоящую из , состоящую из двух контроллеров двух контроллеров DMA Intel 8237DMA Intel 8237, регистра старшего адреса , регистра старшего адреса DMADMA и и регистров страниц регистров страниц DMADMA.. Эти контроллеры обеспечивают Эти контроллеры обеспечивают 7 каналов 7 каналов DMADMA. .
Система обеспечивает передачу данных по каналам Система обеспечивает передачу данных по каналам DMA DMA как как по одному байту за цикл по одному байту за цикл DMADMA, так и , так и по два по два байта за циклбайта за цикл, исходя из возможностей архитектуры , исходя из возможностей архитектуры процессора (двухбайтовой шины данных). процессора (двухбайтовой шины данных).
Блок-схема контроллера Блок-схема контроллера 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
Подсистема Подсистема DMA DMA вв PC AT PC AT
DMA1DRQ0 DACK0DRQ1 DACK1DRQ2 DACK2DRQ3 DACK3
HLDA HRQ
DMA2DRQ0 DACK0DRQ1 DACK1DRQ2 DACK2DRQ3 DACK3
HLDA HRQ
8 – разрядныеКаналы DMA
В системнуюшину
Запрос на захват цикла шины
Подтверждение на захват
цикла шины
16-разрядные каналы DMA
«запрос ПДП»
«Подтверждение ПДП»
Распределение каналов Распределение каналов контроллеров контроллеров DMADMA
КаналКанал Использование Использование 0*0*
1*1*
2*2*
3*3*
44
5* *5* *
6* *6* *
7* *7* *
РезервРезерв
Адаптер интерфейса Адаптер интерфейса SDLCSDLC
Адаптер НГМДАдаптер НГМД
РезервРезерв
Используется для каскадирования Используется для каскадирования контроллеровконтроллеров
РезервРезерв
РезервРезерв
РезервРезерв
* - 8 – разрядные каналы, * * - 16 – разрядные каналы* - 8 – разрядные каналы, * * - 16 – разрядные каналы
Режимы обслуживанияРежимы обслуживания подсистемы подсистемы 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)
Формирование адреса памятиФормирование адреса памяти
Контроллер Контроллер 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
Циклы контроллеров прямого Циклы контроллеров прямого доступа к памятидоступа к памяти
Подсистема Подсистема DMA DMA предназначена для работы в предназначена для работы в двух двух основных циклахосновных циклах: : холостом холостом и и активномактивном. . Каждый цикл Каждый цикл – это совокупность некоторого количества ее – это совокупность некоторого количества ее состоянийсостояний. Подсистема . Подсистема DMA DMA может иметь может иметь семь семь состоянийсостояний каждое из которых соответствует одному каждое из которых соответствует одному периоду синхронизации. периоду синхронизации.
SI – SI – неактивное состояние;неактивное состояние;S0 – S0 – первое состояние обслуживания подсистемы первое состояние обслуживания подсистемы
DMADMA, возникающее по действительному запросу (, возникающее по действительному запросу (DREQDREQ););S1,S2,S3,S4 – S1,S2,S3,S4 – рабочие состояния;рабочие состояния;SW – SW – состояние ожидания.состояние ожидания.