SlideShare a Scribd company logo
1 of 36
Организация ЭВМ и систем
Тема: Способы обмена информацией
• Обмен с прерываниями
• Структура контроллера прерывания
• Каскадирование контроллеров
• Режимы работы контроллера прерываний
• Обмен в режиме прямого доступа к памяти
• Структура контроллера прямого доступа к
памяти
Система прерыванийСистема прерываний PC ATPC AT
Прерывания и исключения – это события,Прерывания и исключения – это события,
указывающие на возникновении в системе или вуказывающие на возникновении в системе или в
выполняемой в данный момент задаче определенныхвыполняемой в данный момент задаче определенных
условий, требующих вмешательства процессора.условий, требующих вмешательства процессора.
Возникновение таких событий вынуждает процессорВозникновение таких событий вынуждает процессор
прервать выполнение текущей задачи и передатьпрервать выполнение текущей задачи и передать
управление специальной процедуре или задаче,управление специальной процедуре или задаче,
называемой обработчиком прерывания илиназываемой обработчиком прерывания или
обработчиком исключения.обработчиком исключения. Различные синхронные иРазличные синхронные и
асинхронные события в системе на основе ЦПасинхронные события в системе на основе ЦП IAIA-32 можно-32 можно
классифицировать следующим образом:классифицировать следующим образом:
Система прерыванийСистема прерываний PC ATPC AT
Система прерываний PC AT
Аппаратные
прерывания
Программные
прерывания
Исключительные
ситуации
Маскируемые
Немаскируемые
Ошибки
Ловушки
Аварийные
завершения
DOSDOS
прерыванияпрерывания
Пользовательские
прерывания
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).
Исключения являются для процессораИсключения являются для процессора
внутренними событиями и сигнализируют овнутренними событиями и сигнализируют о
каких­либо ошибочных условиях прикаких­либо ошибочных условиях при
выполнении той или иной инструкции.выполнении той или иной инструкции.
Источниками исключений являются три типа событий:Источниками исключений являются три типа событий:
 генерируемые программой исключения, позволяющиегенерируемые программой исключения, позволяющие
программе контролировать определенные условия впрограмме контролировать определенные условия в
заданных точках программы (заданных точках программы (INTOINTO – проверка на– проверка на
переполнение,переполнение, INTINT3 – контрольная точка,3 – контрольная точка, BOUNDBOUND ––
проверка границ массива);проверка границ массива);
 исключения машинного контроля (#18), возникающиеисключения машинного контроля (#18), возникающие
в процессе контроля операций внутри чипа и транзакций нав процессе контроля операций внутри чипа и транзакций на
шине процессора (шине процессора (PentiumPentium,, PP6 и6 и PentiumPentium 4);4);
 обнаруженные процессором ошибки в программеобнаруженные процессором ошибки в программе
(деление на ноль, нарушение правил защиты,(деление на ноль, нарушение правил защиты,
неприсутствие страницы и т. п.)неприсутствие страницы и т. п.)
Исключения процессора в зависимости от способаИсключения процессора в зависимости от способа
генерации и возможности рестарта вызвавшей исключениегенерации и возможности рестарта вызвавшей исключение
команды подразделяются накоманды подразделяются на нарушения, ловушки инарушения, ловушки и
аварии.аварии.
Нарушение (отказ) ­ это исключение, котороеНарушение (отказ) ­ это исключение, которое
обнаруживается либо перед исполнением, либо вообнаруживается либо перед исполнением, либо во
время исполнения команды.время исполнения команды. При этом процессорПри этом процессор
переходит в состояние, позволяющее осуществить рестартпереходит в состояние, позволяющее осуществить рестарт
команды. В качестве адреса возврата в стек обработчикакоманды. В качестве адреса возврата в стек обработчика
заносится адрес вызвавшей исключение команды.заносится адрес вызвавшей исключение команды.
Ловушка возникает на границе команд сразу жеЛовушка возникает на границе команд сразу же
после команды, вызвавшей это исключение.после команды, вызвавшей это исключение. ЗначенияЗначения
регистроврегистров CSCS ии EIPEIP, заносимые в стек обработчика,, заносимые в стек обработчика,
указывают на очередную команду. Например, если ловушкауказывают на очередную команду. Например, если ловушка
сработала на командесработала на команде JMPJMP, то в стеке запоминаются, то в стеке запоминаются
значения регистровзначения регистров CSCS ии EIPEIP, указывающие на ссылку, указывающие на ссылку
командыкоманды JMPJMP..
Авария не позволяет осуществить рестарт программы,Авария не позволяет осуществить рестарт программы,
и зачастую нельзя точно локализовать команду,и зачастую нельзя точно локализовать команду,
вызвавшую это исключение.вызвавшую это исключение. Исключения типа "авария"Исключения типа "авария"
генерируются при обнаружении серьезных ошибок,генерируются при обнаружении серьезных ошибок,
таких как неразрешенные или несовместимые значениятаких как неразрешенные или несовместимые значения
в системных таблицах или аппаратные сбоив системных таблицах или аппаратные сбои..
Если на границе инструкции обнаруживается, чтоЕсли на границе инструкции обнаруживается, что
требуется обработка более одного прерывания илитребуется обработка более одного прерывания или
исключения, процессор обрабатывает прерывание илиисключения, процессор обрабатывает прерывание или
исключение с наивысшим приоритетом. Исключения сисключение с наивысшим приоритетом. Исключения с
низким приоритетом снимаются, а прерывания с низкимнизким приоритетом снимаются, а прерывания с низким
приоритетом откладываются. Снятые исключения могутприоритетом откладываются. Снятые исключения могут
быть потом снова сгенерированы при возврате избыть потом снова сгенерированы при возврате из
обработчика.обработчика.
Все прерывания и исключения имеют номер (иногдаВсе прерывания и исключения имеют номер (иногда
именуемый вектором) в диапазоне от 0 до 255. Номераименуемый вектором) в диапазоне от 0 до 255. Номера
0...31 зарезервированы фирмой Intel для исключений.0...31 зарезервированы фирмой Intel для исключений.
Структура контроллера прерыванияСтруктура контроллера прерывания
Контроллер прерыванийКонтроллер прерываний (ПКП) представляет собой(ПКП) представляет собой
устройство, реализующееустройство, реализующее до восьми уровнейдо восьми уровней
запросов на прерываниязапросов на прерывания, с возможностью, с возможностью
программного маскированияпрограммного маскирования ии изменения порядкаизменения порядка
обслуживания прерыванийобслуживания прерываний..
BD
RWCU
CMP
D7­0
RD
WR
A0
CS
CAS0
CAS1
CAS2
SP
CU
INTR INTA#
ISR PRB RGI
RGM
IRQ0
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7
RGIRGI - регистр запросов прерываний;- регистр запросов прерываний; хранит всехранит все
уровни, на которые поступаютуровни, на которые поступают запросызапросы IRQx;IRQx;
PRBPRB - схема принятия решений по приоритетам; схема- схема принятия решений по приоритетам; схема
идентифицирует приоритет запросов и выбираетидентифицирует приоритет запросов и выбирает
запрос с наивысшим приоритетомзапрос с наивысшим приоритетом;;
ISRISR - регистр обслуживаемых прерываний;- регистр обслуживаемых прерываний; сохраняетсохраняет
уровни запросов прерываний, находящиеся науровни запросов прерываний, находящиеся на
обслуживании ПКП;обслуживании ПКП;
RGMRGM - регистр маскирования прерываний;- регистр маскирования прерываний;
обеспечивает запрещение одной или нескольких линийобеспечивает запрещение одной или нескольких линий
запросов прерывания;запросов прерывания;
BDBD - буфер данных; предназначен- буфер данных; предназначен для сопряжениядля сопряжения
ПКП с системной шиной данных;ПКП с системной шиной данных;
RWCURWCU - блок управления записью/чтением;- блок управления записью/чтением; принимаетпринимает
управляющие сигналы от микропроцессора и задаетуправляющие сигналы от микропроцессора и задает
режим функционирования ПКП;режим функционирования ПКП;
CMPCMP - схема каскадного буфера-компаратора;- схема каскадного буфера-компаратора;
используется для включения в систему несколькихиспользуется для включения в систему нескольких
ПКП;ПКП;
CUCU - схема управления;- схема управления; вырабатывает сигналывырабатывает сигналы
прерывания и формирует трехбайтовую команду CALLпрерывания и формирует трехбайтовую команду CALL
для выдачи на шину данных.для выдачи на шину данных.
Каскадное включениеКаскадное включение
контроллеров прерываний (контроллеров прерываний (PC ATPC AT))
MASTERMASTER
00
11
22
33
44
5 SP/EN5 SP/EN
66
7 CAS2­CAS07 CAS2­CAS0
0 CAS2/00 CAS2/0
11
22
3 SLAVE3 SLAVE
44
5 SP/EN5 SP/EN
66
77
IRQ0IRQ0
IRQ1IRQ1
IRQ3IRQ3
IRQ4IRQ4
IRQ5IRQ5
IRQ6IRQ6
IRQ7IRQ7
IRQ13IRQ13
IRQ8IRQ8
IRQ9IRQ9
IRQ10IRQ10
IRQ11IRQ11
IRQ12IRQ12
IRQ14IRQ14
IRQ15IRQ15 НизкийНизкий
уровеньуровень
+5В+5В ВысокийВысокий
уровеньуровень
INTRINTR кк INTRINTR
ЦПЦП
INTRINTR
СИСТЕМНАЯСИСТЕМНАЯ
ШИНАШИНА
Àíèìàöèÿ.swf
Аппаратные прерыванияАппаратные прерывания PC ATPC AT
Master/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
Обслуживание маскируемыхОбслуживание маскируемых
прерыванийпрерываний
Режимы работы ПКПРежимы работы ПКП
Режим полного вложенияРежим полного вложения (приоритет от высшего(приоритет от высшего
IRQIRQ к низшему) – основной режимк низшему) – основной режим.. Пока установлен разрядПока установлен разряд
вв ISRISR все последующие запросы с таким же или болеевсе последующие запросы с таким же или более
низким приоритетом игнорируютсянизким приоритетом игнорируются, подтверждаются, подтверждаются
лишь запросы с более высоким приоритетом.лишь запросы с более высоким приоритетом.
Циклический режимЦиклический режим (используется(используется круговойкруговой
порядок использования приоритетовпорядок использования приоритетов).). ПоследнемуПоследнему
обслуживаемому запросу присваивается низшийобслуживаемому запросу присваивается низший
приоритет, следующему по кругу – наивысший. Идея –приоритет, следующему по кругу – наивысший. Идея –
если устройство обслуживается, то остальные устройстваесли устройство обслуживается, то остальные устройства
должны быть обслужены перед следующимдолжны быть обслужены перед следующим
обслуживанием данного устройства.обслуживанием данного устройства.
Маскирование прерыванийМаскирование прерываний.. ПозволяетПозволяет
устройствам с более низким приоритетом получитьустройствам с более низким приоритетом получить
возможность генерировать прерывания. Режимвозможность генерировать прерывания. Режим
специального маскированияспециального маскирования разрешает прерыванияразрешает прерывания
всех уровней кроме уровнейвсех уровней кроме уровней,, обслуживаемых вобслуживаемых в
данный момент.данный момент.
Специальный режим полного вложенияСпециальный режим полного вложения
программируется любым ведущим контроллером припрограммируется любым ведущим контроллером при
инициализации (игнорируются запросы с приоритетоминициализации (игнорируются запросы с приоритетом
ниже, чем приоритет обрабатываемого в данный моментниже, чем приоритет обрабатываемого в данный момент
запроса,запроса, обслуживаются все запросы с равным илиобслуживаются все запросы с равным или
более высоким приоритетомболее высоким приоритетом).).
Расширенный программируемыйРасширенный программируемый
контроллер прерыванийконтроллер прерываний ((APICAPIC))
МикропроцессорыМикропроцессоры IAIA-32, начиная с модели-32, начиная с модели PentiumPentium,,
содержат встроенный расширенный программируемыйсодержат встроенный расширенный программируемый
контроллер прерываний (контроллер прерываний (APICAPIC).). ВстроенныйВстроенный APICAPIC
предназначен для регистрирования прерываний отпредназначен для регистрирования прерываний от
источников внутри процессораисточников внутри процессора или от внешнегоили от внешнего
контроллера прерываний и передачи их ядруконтроллера прерываний и передачи их ядру
процессора на обработку.процессора на обработку. Особо важная рольОсобо важная роль
возлагается на встроенныйвозлагается на встроенный APICAPIC в многопроцессорныхв многопроцессорных
системах, гдесистемах, где APICAPIC принимает и генерирует сообщения опринимает и генерирует сообщения о
межпроцессорных прерываниях (межпроцессорных прерываниях (IPIIPI –– InterProcessorInterProcessor
InterruptInterrupt). Такие сообщения могут использоваться для). Такие сообщения могут использоваться для
распределения обработки прерываний междураспределения обработки прерываний между
процессорами или для выполнения системных функцийпроцессорами или для выполнения системных функций
(первоначальная загрузка, диспетчеризация задач и т. п.).(первоначальная загрузка, диспетчеризация задач и т. п.).
ВстроенныйВстроенный APICAPIC различает следующиеразличает следующие источникиисточники
прерыванийпрерываний::
1.1. От локальных устройствОт локальных устройств.. Прерывания,Прерывания,
генерируемые по фронту или уровню сигнала,генерируемые по фронту или уровню сигнала,
поступающего от устройства, непосредственнопоступающего от устройства, непосредственно
подключенного к сигналамподключенного к сигналам LINTLINT0 и0 и LINTLINT1 (например,1 (например,
контроллер прерываний типа 8259контроллер прерываний типа 8259AA).).
2.2. От внешних устройствОт внешних устройств.. Прерывание,Прерывание,
генерируемые по фронту или уровню сигнала,генерируемые по фронту или уровню сигнала,
поступающего от устройства, подключенного к внешнемупоступающего от устройства, подключенного к внешнему
контроллеру прерываний. Такое прерывание передается вконтроллеру прерываний. Такое прерывание передается в
виде сообщения по шиневиде сообщения по шине APICAPIC (или системной шине в(или системной шине в
PentiumPentium 4).4).
3.3. Межпроцессорные (Межпроцессорные (IPIIPI).). В многопроцессорныхВ многопроцессорных
системах один из процессоров может прервать другой присистемах один из процессоров может прервать другой при
помощи сообщенияпомощи сообщения IPIIPI на шинена шине APICAPIC (или системной шине(или системной шине
вв PentiumPentium 4).4).
4.4.От таймераОт таймера APICAPIC.. ВстроенныйВстроенный APICAPIC содержитсодержит
таймер, который можно запрограммировать на генерациютаймер, который можно запрограммировать на генерацию
прерывания по достижении определенного отсчета.прерывания по достижении определенного отсчета.
5.5. От таймера монитора производительности.От таймера монитора производительности.
ПроцессорыПроцессоры PP6 и6 и PentiumPentium 4 содержат блок мониторинга4 содержат блок мониторинга
производительности. Этот блок можно запрограммироватьпроизводительности. Этот блок можно запрограммировать
таким образом, чтобы связанный с ним таймер притаким образом, чтобы связанный с ним таймер при
достижении определенного отсчета генерировалдостижении определенного отсчета генерировал
прерывание.прерывание.
6.6. От термодатчика.От термодатчика. ПроцессорыПроцессоры PentiumPentium 44
содержат встроенный блок температурного контроля,содержат встроенный блок температурного контроля,
который можно запрограммировать на генерациюкоторый можно запрограммировать на генерацию
прерываний.прерываний.
7.7. Внутренние ошибкиВнутренние ошибки APICAPIC.. ВстроенныйВстроенный APICAPIC
может генерировать прерывания при возникновенииможет генерировать прерывания при возникновении
внутренних ошибочных ситуаций (например, при попыткевнутренних ошибочных ситуаций (например, при попытке
обратиться к несуществующему региструобратиться к несуществующему регистру APICAPIC).).
Источники 1, 4, 5, 6, 7 считаютсяИсточники 1, 4, 5, 6, 7 считаются локальнымилокальными
источниками прерыванийисточниками прерываний и обслуживаются специальными обслуживаются специальным
набором регистровнабором регистров APICAPIC, называемым, называемым таблицейтаблицей
локальных векторовлокальных векторов ((LVTLVT –– local vector tablelocal vector table). Два других). Два других
источника обрабатываютсяисточника обрабатываются APICAPIC через механизмчерез механизм
сообщений. Эти сообщения всообщений. Эти сообщения в PentiumPentium ии PP6 передаются по6 передаются по
выделенной трехпроводный шиневыделенной трехпроводный шине APICAPIC. В. В PentiumPentium 4 для4 для
передачипередачи APICAPIC-сообщений используется системная шина,-сообщений используется системная шина,
поэтому контроллер прерываний может быть подключенпоэтому контроллер прерываний может быть подключен
непосредственно к обычному системному интерфейсунепосредственно к обычному системному интерфейсу
(например,(например, PCIPCI).).
Структура встроенногоСтруктура встроенного APICAPIC является архитектурнымявляется архитектурным
подмножеством микросхемы контроллера прерыванийподмножеством микросхемы контроллера прерываний IntelIntel
8248982489DXDX. Регистры. Регистры APICAPIC отображаются на 4Кбайтный блокотображаются на 4Кбайтный блок
оперативной памяти по адресуоперативной памяти по адресу FEEFEE0000000000hh (может быть(может быть
изменен черезизменен через MSRMSR регистры процессора).регистры процессора).
Взаимодействие встроенногоВзаимодействие встроенного APICAPIC ии
внешнего контроллера прерыванийвнешнего контроллера прерываний
Подсистема контроллера прямогоПодсистема контроллера прямого
доступа к памяти (доступа к памяти (DMADMA))
Архитектура процессораАрхитектура процессора PC ATPC AT включает в себявключает в себя
подсистемуподсистему DMADMA, состоящую из, состоящую из двух контроллеровдвух контроллеров
DMA Intel 8237DMA Intel 8237, регистра старшего адреса, регистра старшего адреса DMADMA ии
регистров страницрегистров страниц DMADMA.. Эти контроллеры обеспечиваютЭти контроллеры обеспечивают
7 каналов7 каналов DMADMA..
Система обеспечивает передачу данных по каналамСистема обеспечивает передачу данных по каналам
DMADMA каккак по одному байту за циклпо одному байту за цикл DMADMA, так и, так и по двапо два
байта за циклбайта за цикл, исходя из возможностей архитектуры, исходя из возможностей архитектуры
процессора (двухбайтовой шины данных).процессора (двухбайтовой шины данных).
Блок-схема контроллераБлок-схема контроллера DMADMA
Блок
Синхро-
низации
и
Управле-
ниея
Блок
кодиро-
вания
приори-
тетов
-EOP
RESET
-CS
READY
CLK
AEN
AOSTB
-MEMR
-MEMW
-IOR
-IOW
DREQ0
DREQ1
DREQ2
DREQ3
HLDA
HRQ
DACK0
DACK1
DACK2
DACK3
Декрементор
Врем. Регистр
счетчика слов (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
ПодсистемаПодсистема DMADMA вв PC ATPC AT
DMA1
DRQ0 DACK0
DRQ1 DACK1
DRQ2 DACK2
DRQ3 DACK3
HLDA HRQ
DMA2
DRQ0 DACK0
DRQ1 DACK1
DRQ2 DACK2
DRQ3 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
В активном цикле обслуживание подсистемыВ активном цикле обслуживание подсистемы DMADMA
возможно в одном из четырех режимов:возможно в одном из четырех режимов:
1.1.Режим одиночной передачи (Режим одиночной передачи (Single Transfer ModeSingle Transfer Mode))
2.2.Режим передачи блокаРежим передачи блока (Block Transfer Mode)(Block Transfer Mode)
3.3.Режим передачи по требованию (Режим передачи по требованию (Demand TransferDemand Transfer
ModeMode))
4.4.Каскадный режимКаскадный режим (Cascade Mode)(Cascade Mode)
Формирование адреса памятиФормирование адреса памяти
КонтроллерКонтроллер DMADMA и регистр страниц определяю 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
Циклы контроллеров прямогоЦиклы контроллеров прямого
доступа к памятидоступа к памяти
ПодсистемаПодсистема DMADMA предназначена для работы впредназначена для работы в двухдвух
основных циклахосновных циклах:: холостомхолостом ии активномактивном.. Каждый циклКаждый цикл
– это совокупность некоторого количества ее– это совокупность некоторого количества ее
состоянийсостояний. Подсистема. Подсистема DMADMA может иметьможет иметь семьсемь
состоянийсостояний каждое из которых соответствует одномукаждое из которых соответствует одному
периоду синхронизации.периоду синхронизации.
SI –SI – неактивное состояние;неактивное состояние;
S0 –S0 – первое состояние обслуживания подсистемыпервое состояние обслуживания подсистемы
DMADMA, возникающее по действительному запросу (, возникающее по действительному запросу (DREQDREQ););
S1,S2,S3,S4 –S1,S2,S3,S4 – рабочие состояния;рабочие состояния;
SW –SW – состояние ожидания.состояние ожидания.

More Related Content

Viewers also liked

39
3939
39JIuc
 
материнская плата
материнская платаматеринская плата
материнская платаAnnKar16
 
арихектура копьютера
арихектура копьютераарихектура копьютера
арихектура копьютераIAMURBAN
 
презентация по информатике
презентация по информатикепрезентация по информатике
презентация по информатикеSEZY216
 
системный блок матплата
системный блок матплатасистемный блок матплата
системный блок матплатаHATALY-p
 
схема компьютера
схема компьютерасхема компьютера
схема компьютераv123a321
 
Лекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и системЛекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и системpianist2317
 
35
3535
35JIuc
 
архитектура компьютера
архитектура компьютераархитектура компьютера
архитектура компьютераManiaks_Doll
 
Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютераRonny_Rosenberg
 
033
033033
033JIuc
 
Материнская плата
Материнская платаМатеринская плата
Материнская платаMeshkov Anton
 
презентация
презентацияпрезентация
презентацияKate_Skripko
 

Viewers also liked (20)

39
3939
39
 
материнская плата
материнская платаматеринская плата
материнская плата
 
арихектура копьютера
арихектура копьютераарихектура копьютера
арихектура копьютера
 
презентация по информатике
презентация по информатикепрезентация по информатике
презентация по информатике
 
материнская плата
материнская платаматеринская плата
материнская плата
 
системный блок матплата
системный блок матплатасистемный блок матплата
системный блок матплата
 
схема компьютера
схема компьютерасхема компьютера
схема компьютера
 
Лекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и системЛекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и систем
 
35
3535
35
 
4
44
4
 
36арл
36арл36арл
36арл
 
архитектура компьютера
архитектура компьютераархитектура компьютера
архитектура компьютера
 
Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютера
 
033
033033
033
 
Prez osob mikroproc
Prez osob mikroprocPrez osob mikroproc
Prez osob mikroproc
 
пк
пкпк
пк
 
Материнская плата
Материнская платаМатеринская плата
Материнская плата
 
презентация
презентацияпрезентация
презентация
 
Информатика (архитектура)
Информатика (архитектура)Информатика (архитектура)
Информатика (архитектура)
 
Управление данными (транзакции)
Управление данными (транзакции)Управление данными (транзакции)
Управление данными (транзакции)
 

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

03. Прерывания STM32
03. Прерывания STM3203. Прерывания STM32
03. Прерывания STM32KamlachPV
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системpianist2317
 
Знакомство с понятием «Операционная система Windows»
 Знакомство с понятием «Операционная система Windows» Знакомство с понятием «Операционная система Windows»
Знакомство с понятием «Операционная система Windows»aizhanzhik
 
Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурIoT Community
 
41
4141
41JIuc
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейCisco Russia
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаSergey Platonov
 
028
028028
028JIuc
 
027
027027
027JIuc
 
Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...
Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...
Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...Mikhail Kurnosov
 
01 02 ос_введение
01 02 ос_введение01 02 ос_введение
01 02 ос_введение921519
 
Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...Mikhail Kurnosov
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиCisco Russia
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
обработка исключений в Java
обработка исключений в Javaобработка исключений в Java
обработка исключений в Javametaform
 

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

Theme 07
Theme 07Theme 07
Theme 07
 
03. Прерывания STM32
03. Прерывания STM3203. Прерывания STM32
03. Прерывания STM32
 
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
 
Презентация 5
Презентация 5Презентация 5
Презентация 5
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
Знакомство с понятием «Операционная система Windows»
 Знакомство с понятием «Операционная система Windows» Знакомство с понятием «Операционная система Windows»
Знакомство с понятием «Операционная система Windows»
 
1
11
1
 
Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектур
 
41
4141
41
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладка
 
028
028028
028
 
027
027027
027
 
Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...
Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...
Лекция 2: Оптимизация ветвлений и циклов (Branch prediction and loops optimiz...
 
01 02 ос_введение
01 02 ос_введение01 02 ос_введение
01 02 ос_введение
 
Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1. Архитектурно-ориентированная оптимизация программного обеспечения (...
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сети
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
обработка исключений в Java
обработка исключений в Javaобработка исключений в Java
обработка исключений в Java
 

More from pianist2317

Лекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системЛекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системpianist2317
 
Лекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и системЛекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и системpianist2317
 
Лекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и системЛекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и системpianist2317
 
Лекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и системЛекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и системpianist2317
 
Лекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и системЛекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и системpianist2317
 
Лекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и системЛекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и системpianist2317
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системpianist2317
 
Лекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системЛекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системpianist2317
 
Лекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системЛекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системpianist2317
 
Лекция №4(часть 1) Организация ЭВМ и систем
Лекция №4(часть 1) Организация ЭВМ и системЛекция №4(часть 1) Организация ЭВМ и систем
Лекция №4(часть 1) Организация ЭВМ и системpianist2317
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системpianist2317
 
Лекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и системЛекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и системpianist2317
 
Лекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и системЛекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и системpianist2317
 

More from pianist2317 (13)

Лекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системЛекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и систем
 
Лекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и системЛекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и систем
 
Лекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и системЛекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и систем
 
Лекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и системЛекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и систем
 
Лекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и системЛекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и систем
 
Лекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и системЛекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и систем
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и систем
 
Лекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системЛекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и систем
 
Лекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системЛекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и систем
 
Лекция №4(часть 1) Организация ЭВМ и систем
Лекция №4(часть 1) Организация ЭВМ и системЛекция №4(часть 1) Организация ЭВМ и систем
Лекция №4(часть 1) Организация ЭВМ и систем
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
 
Лекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и системЛекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и систем
 
Лекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и системЛекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и систем
 

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

  • 1. Организация ЭВМ и систем Тема: Способы обмена информацией • Обмен с прерываниями • Структура контроллера прерывания • Каскадирование контроллеров • Режимы работы контроллера прерываний • Обмен в режиме прямого доступа к памяти • Структура контроллера прямого доступа к памяти
  • 2. Система прерыванийСистема прерываний PC ATPC AT Прерывания и исключения – это события,Прерывания и исключения – это события, указывающие на возникновении в системе или вуказывающие на возникновении в системе или в выполняемой в данный момент задаче определенныхвыполняемой в данный момент задаче определенных условий, требующих вмешательства процессора.условий, требующих вмешательства процессора. Возникновение таких событий вынуждает процессорВозникновение таких событий вынуждает процессор прервать выполнение текущей задачи и передатьпрервать выполнение текущей задачи и передать управление специальной процедуре или задаче,управление специальной процедуре или задаче, называемой обработчиком прерывания илиназываемой обработчиком прерывания или обработчиком исключения.обработчиком исключения. Различные синхронные иРазличные синхронные и асинхронные события в системе на основе ЦПасинхронные события в системе на основе ЦП IAIA-32 можно-32 можно классифицировать следующим образом:классифицировать следующим образом:
  • 3. Система прерыванийСистема прерываний PC ATPC AT Система прерываний PC AT Аппаратные прерывания Программные прерывания Исключительные ситуации Маскируемые Немаскируемые Ошибки Ловушки Аварийные завершения DOSDOS прерыванияпрерывания Пользовательские прерывания BIOS – прерывания DSR ISR
  • 4. Внешние прерывания генерируются по аппаратномуВнешние прерывания генерируются по аппаратному сигналу, поступающему от периферийного оборудования,сигналу, поступающему от периферийного оборудования, когда оно требует обслуживания.когда оно требует обслуживания. Процессор определяетПроцессор определяет необходимость обработки внешнего прерывания понеобходимость обработки внешнего прерывания по наличию сигнала на одном из контактов INTR# или NMI#.наличию сигнала на одном из контактов INTR# или NMI#. При появлении сигнала на линии INTR# внешнийПри появлении сигнала на линии INTR# внешний контроллер прерываний (например, 8259A) долженконтроллер прерываний (например, 8259A) должен предоставить процессору вектор (номер) прерывания. Спредоставить процессору вектор (номер) прерывания. С линией NMI# всегда связано прерывание #2.линией NMI# всегда связано прерывание #2. Прерывания, которые генерируются приПрерывания, которые генерируются при поступлении сигнала на вход INTR#,поступлении сигнала на вход INTR#, называютназывают маскируемыми аппаратными прерываниями.маскируемыми аппаратными прерываниями. Бит IF вБит IF в регистре флагов позволяет заблокироватьрегистре флагов позволяет заблокировать (замаскировать) обработку таких прерываний(замаскировать) обработку таких прерываний.. Прерывания, генерируемые сигналом NMI#,Прерывания, генерируемые сигналом NMI#, называют немаскируемыми аппаратныминазывают немаскируемыми аппаратными прерываниями.прерываниями. Немаскируемые прерывания неНемаскируемые прерывания не блокируютсяблокируются флагом IF.флагом IF.
  • 6.
  • 7.
  • 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).
  • 9. Исключения являются для процессораИсключения являются для процессора внутренними событиями и сигнализируют овнутренними событиями и сигнализируют о каких­либо ошибочных условиях прикаких­либо ошибочных условиях при выполнении той или иной инструкции.выполнении той или иной инструкции. Источниками исключений являются три типа событий:Источниками исключений являются три типа событий:  генерируемые программой исключения, позволяющиегенерируемые программой исключения, позволяющие программе контролировать определенные условия впрограмме контролировать определенные условия в заданных точках программы (заданных точках программы (INTOINTO – проверка на– проверка на переполнение,переполнение, INTINT3 – контрольная точка,3 – контрольная точка, BOUNDBOUND –– проверка границ массива);проверка границ массива);  исключения машинного контроля (#18), возникающиеисключения машинного контроля (#18), возникающие в процессе контроля операций внутри чипа и транзакций нав процессе контроля операций внутри чипа и транзакций на шине процессора (шине процессора (PentiumPentium,, PP6 и6 и PentiumPentium 4);4);  обнаруженные процессором ошибки в программеобнаруженные процессором ошибки в программе (деление на ноль, нарушение правил защиты,(деление на ноль, нарушение правил защиты, неприсутствие страницы и т. п.)неприсутствие страницы и т. п.)
  • 10. Исключения процессора в зависимости от способаИсключения процессора в зависимости от способа генерации и возможности рестарта вызвавшей исключениегенерации и возможности рестарта вызвавшей исключение команды подразделяются накоманды подразделяются на нарушения, ловушки инарушения, ловушки и аварии.аварии. Нарушение (отказ) ­ это исключение, котороеНарушение (отказ) ­ это исключение, которое обнаруживается либо перед исполнением, либо вообнаруживается либо перед исполнением, либо во время исполнения команды.время исполнения команды. При этом процессорПри этом процессор переходит в состояние, позволяющее осуществить рестартпереходит в состояние, позволяющее осуществить рестарт команды. В качестве адреса возврата в стек обработчикакоманды. В качестве адреса возврата в стек обработчика заносится адрес вызвавшей исключение команды.заносится адрес вызвавшей исключение команды. Ловушка возникает на границе команд сразу жеЛовушка возникает на границе команд сразу же после команды, вызвавшей это исключение.после команды, вызвавшей это исключение. ЗначенияЗначения регистроврегистров CSCS ии EIPEIP, заносимые в стек обработчика,, заносимые в стек обработчика, указывают на очередную команду. Например, если ловушкауказывают на очередную команду. Например, если ловушка сработала на командесработала на команде JMPJMP, то в стеке запоминаются, то в стеке запоминаются значения регистровзначения регистров CSCS ии EIPEIP, указывающие на ссылку, указывающие на ссылку командыкоманды JMPJMP..
  • 11. Авария не позволяет осуществить рестарт программы,Авария не позволяет осуществить рестарт программы, и зачастую нельзя точно локализовать команду,и зачастую нельзя точно локализовать команду, вызвавшую это исключение.вызвавшую это исключение. Исключения типа "авария"Исключения типа "авария" генерируются при обнаружении серьезных ошибок,генерируются при обнаружении серьезных ошибок, таких как неразрешенные или несовместимые значениятаких как неразрешенные или несовместимые значения в системных таблицах или аппаратные сбоив системных таблицах или аппаратные сбои.. Если на границе инструкции обнаруживается, чтоЕсли на границе инструкции обнаруживается, что требуется обработка более одного прерывания илитребуется обработка более одного прерывания или исключения, процессор обрабатывает прерывание илиисключения, процессор обрабатывает прерывание или исключение с наивысшим приоритетом. Исключения сисключение с наивысшим приоритетом. Исключения с низким приоритетом снимаются, а прерывания с низкимнизким приоритетом снимаются, а прерывания с низким приоритетом откладываются. Снятые исключения могутприоритетом откладываются. Снятые исключения могут быть потом снова сгенерированы при возврате избыть потом снова сгенерированы при возврате из обработчика.обработчика. Все прерывания и исключения имеют номер (иногдаВсе прерывания и исключения имеют номер (иногда именуемый вектором) в диапазоне от 0 до 255. Номераименуемый вектором) в диапазоне от 0 до 255. Номера 0...31 зарезервированы фирмой Intel для исключений.0...31 зарезервированы фирмой Intel для исключений.
  • 12. Структура контроллера прерыванияСтруктура контроллера прерывания Контроллер прерыванийКонтроллер прерываний (ПКП) представляет собой(ПКП) представляет собой устройство, реализующееустройство, реализующее до восьми уровнейдо восьми уровней запросов на прерываниязапросов на прерывания, с возможностью, с возможностью программного маскированияпрограммного маскирования ии изменения порядкаизменения порядка обслуживания прерыванийобслуживания прерываний.. BD RWCU CMP D7­0 RD WR A0 CS CAS0 CAS1 CAS2 SP CU INTR INTA# ISR PRB RGI RGM IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
  • 13. RGIRGI - регистр запросов прерываний;- регистр запросов прерываний; хранит всехранит все уровни, на которые поступаютуровни, на которые поступают запросызапросы IRQx;IRQx; PRBPRB - схема принятия решений по приоритетам; схема- схема принятия решений по приоритетам; схема идентифицирует приоритет запросов и выбираетидентифицирует приоритет запросов и выбирает запрос с наивысшим приоритетомзапрос с наивысшим приоритетом;; ISRISR - регистр обслуживаемых прерываний;- регистр обслуживаемых прерываний; сохраняетсохраняет уровни запросов прерываний, находящиеся науровни запросов прерываний, находящиеся на обслуживании ПКП;обслуживании ПКП; RGMRGM - регистр маскирования прерываний;- регистр маскирования прерываний; обеспечивает запрещение одной или нескольких линийобеспечивает запрещение одной или нескольких линий запросов прерывания;запросов прерывания; BDBD - буфер данных; предназначен- буфер данных; предназначен для сопряжениядля сопряжения ПКП с системной шиной данных;ПКП с системной шиной данных; RWCURWCU - блок управления записью/чтением;- блок управления записью/чтением; принимаетпринимает управляющие сигналы от микропроцессора и задаетуправляющие сигналы от микропроцессора и задает режим функционирования ПКП;режим функционирования ПКП;
  • 14. CMPCMP - схема каскадного буфера-компаратора;- схема каскадного буфера-компаратора; используется для включения в систему несколькихиспользуется для включения в систему нескольких ПКП;ПКП; CUCU - схема управления;- схема управления; вырабатывает сигналывырабатывает сигналы прерывания и формирует трехбайтовую команду CALLпрерывания и формирует трехбайтовую команду CALL для выдачи на шину данных.для выдачи на шину данных.
  • 15. Каскадное включениеКаскадное включение контроллеров прерываний (контроллеров прерываний (PC ATPC AT)) MASTERMASTER 00 11 22 33 44 5 SP/EN5 SP/EN 66 7 CAS2­CAS07 CAS2­CAS0 0 CAS2/00 CAS2/0 11 22 3 SLAVE3 SLAVE 44 5 SP/EN5 SP/EN 66 77 IRQ0IRQ0 IRQ1IRQ1 IRQ3IRQ3 IRQ4IRQ4 IRQ5IRQ5 IRQ6IRQ6 IRQ7IRQ7 IRQ13IRQ13 IRQ8IRQ8 IRQ9IRQ9 IRQ10IRQ10 IRQ11IRQ11 IRQ12IRQ12 IRQ14IRQ14 IRQ15IRQ15 НизкийНизкий уровеньуровень +5В+5В ВысокийВысокий уровеньуровень INTRINTR кк INTRINTR ЦПЦП INTRINTR СИСТЕМНАЯСИСТЕМНАЯ ШИНАШИНА Àíèìàöèÿ.swf
  • 16. Аппаратные прерыванияАппаратные прерывания PC ATPC AT Master/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
  • 19.
  • 20.
  • 21. Режимы работы ПКПРежимы работы ПКП Режим полного вложенияРежим полного вложения (приоритет от высшего(приоритет от высшего IRQIRQ к низшему) – основной режимк низшему) – основной режим.. Пока установлен разрядПока установлен разряд вв ISRISR все последующие запросы с таким же или болеевсе последующие запросы с таким же или более низким приоритетом игнорируютсянизким приоритетом игнорируются, подтверждаются, подтверждаются лишь запросы с более высоким приоритетом.лишь запросы с более высоким приоритетом. Циклический режимЦиклический режим (используется(используется круговойкруговой порядок использования приоритетовпорядок использования приоритетов).). ПоследнемуПоследнему обслуживаемому запросу присваивается низшийобслуживаемому запросу присваивается низший приоритет, следующему по кругу – наивысший. Идея –приоритет, следующему по кругу – наивысший. Идея – если устройство обслуживается, то остальные устройстваесли устройство обслуживается, то остальные устройства должны быть обслужены перед следующимдолжны быть обслужены перед следующим обслуживанием данного устройства.обслуживанием данного устройства.
  • 22. Маскирование прерыванийМаскирование прерываний.. ПозволяетПозволяет устройствам с более низким приоритетом получитьустройствам с более низким приоритетом получить возможность генерировать прерывания. Режимвозможность генерировать прерывания. Режим специального маскированияспециального маскирования разрешает прерыванияразрешает прерывания всех уровней кроме уровнейвсех уровней кроме уровней,, обслуживаемых вобслуживаемых в данный момент.данный момент. Специальный режим полного вложенияСпециальный режим полного вложения программируется любым ведущим контроллером припрограммируется любым ведущим контроллером при инициализации (игнорируются запросы с приоритетоминициализации (игнорируются запросы с приоритетом ниже, чем приоритет обрабатываемого в данный моментниже, чем приоритет обрабатываемого в данный момент запроса,запроса, обслуживаются все запросы с равным илиобслуживаются все запросы с равным или более высоким приоритетомболее высоким приоритетом).).
  • 23. Расширенный программируемыйРасширенный программируемый контроллер прерыванийконтроллер прерываний ((APICAPIC)) МикропроцессорыМикропроцессоры IAIA-32, начиная с модели-32, начиная с модели PentiumPentium,, содержат встроенный расширенный программируемыйсодержат встроенный расширенный программируемый контроллер прерываний (контроллер прерываний (APICAPIC).). ВстроенныйВстроенный APICAPIC предназначен для регистрирования прерываний отпредназначен для регистрирования прерываний от источников внутри процессораисточников внутри процессора или от внешнегоили от внешнего контроллера прерываний и передачи их ядруконтроллера прерываний и передачи их ядру процессора на обработку.процессора на обработку. Особо важная рольОсобо важная роль возлагается на встроенныйвозлагается на встроенный APICAPIC в многопроцессорныхв многопроцессорных системах, гдесистемах, где APICAPIC принимает и генерирует сообщения опринимает и генерирует сообщения о межпроцессорных прерываниях (межпроцессорных прерываниях (IPIIPI –– InterProcessorInterProcessor InterruptInterrupt). Такие сообщения могут использоваться для). Такие сообщения могут использоваться для распределения обработки прерываний междураспределения обработки прерываний между процессорами или для выполнения системных функцийпроцессорами или для выполнения системных функций (первоначальная загрузка, диспетчеризация задач и т. п.).(первоначальная загрузка, диспетчеризация задач и т. п.).
  • 24. ВстроенныйВстроенный APICAPIC различает следующиеразличает следующие источникиисточники прерыванийпрерываний:: 1.1. От локальных устройствОт локальных устройств.. Прерывания,Прерывания, генерируемые по фронту или уровню сигнала,генерируемые по фронту или уровню сигнала, поступающего от устройства, непосредственнопоступающего от устройства, непосредственно подключенного к сигналамподключенного к сигналам LINTLINT0 и0 и LINTLINT1 (например,1 (например, контроллер прерываний типа 8259контроллер прерываний типа 8259AA).). 2.2. От внешних устройствОт внешних устройств.. Прерывание,Прерывание, генерируемые по фронту или уровню сигнала,генерируемые по фронту или уровню сигнала, поступающего от устройства, подключенного к внешнемупоступающего от устройства, подключенного к внешнему контроллеру прерываний. Такое прерывание передается вконтроллеру прерываний. Такое прерывание передается в виде сообщения по шиневиде сообщения по шине APICAPIC (или системной шине в(или системной шине в PentiumPentium 4).4). 3.3. Межпроцессорные (Межпроцессорные (IPIIPI).). В многопроцессорныхВ многопроцессорных системах один из процессоров может прервать другой присистемах один из процессоров может прервать другой при помощи сообщенияпомощи сообщения IPIIPI на шинена шине APICAPIC (или системной шине(или системной шине вв PentiumPentium 4).4).
  • 25. 4.4.От таймераОт таймера APICAPIC.. ВстроенныйВстроенный APICAPIC содержитсодержит таймер, который можно запрограммировать на генерациютаймер, который можно запрограммировать на генерацию прерывания по достижении определенного отсчета.прерывания по достижении определенного отсчета. 5.5. От таймера монитора производительности.От таймера монитора производительности. ПроцессорыПроцессоры PP6 и6 и PentiumPentium 4 содержат блок мониторинга4 содержат блок мониторинга производительности. Этот блок можно запрограммироватьпроизводительности. Этот блок можно запрограммировать таким образом, чтобы связанный с ним таймер притаким образом, чтобы связанный с ним таймер при достижении определенного отсчета генерировалдостижении определенного отсчета генерировал прерывание.прерывание. 6.6. От термодатчика.От термодатчика. ПроцессорыПроцессоры PentiumPentium 44 содержат встроенный блок температурного контроля,содержат встроенный блок температурного контроля, который можно запрограммировать на генерациюкоторый можно запрограммировать на генерацию прерываний.прерываний. 7.7. Внутренние ошибкиВнутренние ошибки APICAPIC.. ВстроенныйВстроенный APICAPIC может генерировать прерывания при возникновенииможет генерировать прерывания при возникновении внутренних ошибочных ситуаций (например, при попыткевнутренних ошибочных ситуаций (например, при попытке обратиться к несуществующему региструобратиться к несуществующему регистру APICAPIC).).
  • 26. Источники 1, 4, 5, 6, 7 считаютсяИсточники 1, 4, 5, 6, 7 считаются локальнымилокальными источниками прерыванийисточниками прерываний и обслуживаются специальными обслуживаются специальным набором регистровнабором регистров APICAPIC, называемым, называемым таблицейтаблицей локальных векторовлокальных векторов ((LVTLVT –– local vector tablelocal vector table). Два других). Два других источника обрабатываютсяисточника обрабатываются APICAPIC через механизмчерез механизм сообщений. Эти сообщения всообщений. Эти сообщения в PentiumPentium ии PP6 передаются по6 передаются по выделенной трехпроводный шиневыделенной трехпроводный шине APICAPIC. В. В PentiumPentium 4 для4 для передачипередачи APICAPIC-сообщений используется системная шина,-сообщений используется системная шина, поэтому контроллер прерываний может быть подключенпоэтому контроллер прерываний может быть подключен непосредственно к обычному системному интерфейсунепосредственно к обычному системному интерфейсу (например,(например, PCIPCI).). Структура встроенногоСтруктура встроенного APICAPIC является архитектурнымявляется архитектурным подмножеством микросхемы контроллера прерыванийподмножеством микросхемы контроллера прерываний IntelIntel 8248982489DXDX. Регистры. Регистры APICAPIC отображаются на 4Кбайтный блокотображаются на 4Кбайтный блок оперативной памяти по адресуоперативной памяти по адресу FEEFEE0000000000hh (может быть(может быть изменен черезизменен через MSRMSR регистры процессора).регистры процессора).
  • 27.
  • 28. Взаимодействие встроенногоВзаимодействие встроенного APICAPIC ии внешнего контроллера прерыванийвнешнего контроллера прерываний
  • 29.
  • 30. Подсистема контроллера прямогоПодсистема контроллера прямого доступа к памяти (доступа к памяти (DMADMA)) Архитектура процессораАрхитектура процессора PC ATPC AT включает в себявключает в себя подсистемуподсистему DMADMA, состоящую из, состоящую из двух контроллеровдвух контроллеров DMA Intel 8237DMA Intel 8237, регистра старшего адреса, регистра старшего адреса DMADMA ии регистров страницрегистров страниц DMADMA.. Эти контроллеры обеспечиваютЭти контроллеры обеспечивают 7 каналов7 каналов DMADMA.. Система обеспечивает передачу данных по каналамСистема обеспечивает передачу данных по каналам DMADMA каккак по одному байту за циклпо одному байту за цикл DMADMA, так и, так и по двапо два байта за циклбайта за цикл, исходя из возможностей архитектуры, исходя из возможностей архитектуры процессора (двухбайтовой шины данных).процессора (двухбайтовой шины данных).
  • 31. Блок-схема контроллераБлок-схема контроллера DMADMA Блок Синхро- низации и Управле- ниея Блок кодиро- вания приори- тетов -EOP RESET -CS READY CLK AEN AOSTB -MEMR -MEMW -IOR -IOW DREQ0 DREQ1 DREQ2 DREQ3 HLDA HRQ DACK0 DACK1 DACK2 DACK3 Декрементор Врем. Регистр счетчика слов (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
  • 32. ПодсистемаПодсистема DMADMA вв PC ATPC AT DMA1 DRQ0 DACK0 DRQ1 DACK1 DRQ2 DACK2 DRQ3 DACK3 HLDA HRQ DMA2 DRQ0 DACK0 DRQ1 DACK1 DRQ2 DACK2 DRQ3 DACK3 HLDA HRQ 8 – разрядные Каналы DMA В системную шину Запрос на захват цикла шины Подтверждение на захват цикла шины 16-разрядные каналы DMA «запрос ПДП» «Подтверждение ПДП»
  • 33. Распределение каналовРаспределение каналов контроллеровконтроллеров DMADMA КаналКанал ИспользованиеИспользование 0*0* 1*1* 2*2* 3*3* 44 5* *5* * 6* *6* * 7* *7* * РезервРезерв Адаптер интерфейсаАдаптер интерфейса SDLCSDLC Адаптер НГМДАдаптер НГМД РезервРезерв Используется для каскадированияИспользуется для каскадирования контроллеровконтроллеров РезервРезерв РезервРезерв РезервРезерв * - 8 – разрядные каналы, * * - 16 – разрядные каналы* - 8 – разрядные каналы, * * - 16 – разрядные каналы
  • 34. Режимы обслуживанияРежимы обслуживания подсистемыподсистемы DMADMA В активном цикле обслуживание подсистемыВ активном цикле обслуживание подсистемы DMADMA возможно в одном из четырех режимов:возможно в одном из четырех режимов: 1.1.Режим одиночной передачи (Режим одиночной передачи (Single Transfer ModeSingle Transfer Mode)) 2.2.Режим передачи блокаРежим передачи блока (Block Transfer Mode)(Block Transfer Mode) 3.3.Режим передачи по требованию (Режим передачи по требованию (Demand TransferDemand Transfer ModeMode)) 4.4.Каскадный режимКаскадный режим (Cascade Mode)(Cascade Mode)
  • 35. Формирование адреса памятиФормирование адреса памяти КонтроллерКонтроллер DMADMA и регистр страниц определяю 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
  • 36. Циклы контроллеров прямогоЦиклы контроллеров прямого доступа к памятидоступа к памяти ПодсистемаПодсистема DMADMA предназначена для работы впредназначена для работы в двухдвух основных циклахосновных циклах:: холостомхолостом ии активномактивном.. Каждый циклКаждый цикл – это совокупность некоторого количества ее– это совокупность некоторого количества ее состоянийсостояний. Подсистема. Подсистема DMADMA может иметьможет иметь семьсемь состоянийсостояний каждое из которых соответствует одномукаждое из которых соответствует одному периоду синхронизации.периоду синхронизации. SI –SI – неактивное состояние;неактивное состояние; S0 –S0 – первое состояние обслуживания подсистемыпервое состояние обслуживания подсистемы DMADMA, возникающее по действительному запросу (, возникающее по действительному запросу (DREQDREQ);); S1,S2,S3,S4 –S1,S2,S3,S4 – рабочие состояния;рабочие состояния; SW –SW – состояние ожидания.состояние ожидания.