Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зимняя сессия 2014 / Вычислительные системы / Курс лекций по ар-реКомп.doc
Скачиваний:
145
Добавлен:
13.03.2015
Размер:
1.77 Mб
Скачать

Взаимодействие устройств

Внутри системного блока устройства взаимодействуют посредством обмена электрическими сигналами. Например, при перемещении мыши ее электроника передает сигналы CPU(APU). Когда сетевой контролер принимает данные, он также передает сигналыCPU(APU) и т.д.

Устройства отправляют CPU(APU) сигналы по специальным линиям запроса на прерываниеIRQ(interrupt-request) – уведомляя процессор, что требуется его внимание.

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

пПолотно 1730риостанавливается и управление передаётся обработчику прерывания, который

реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код. Название IRQсвязано с тем, что при появлении на одной из линий сигнала,CPU(APU) “прерывает” текущие операции, для обслуживания устройства, которое генерирует прерывание. Каждое устройство взаимосвязаное сCPU(APU) посредством прерываний, обладает собственной линиейIRQ.

Мышь

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

Современный компьютер поддерживает 24 линии IRQ. В табл.1 перечислены первые 16 устройств, которые традиционно используют определенные линииIRQ.

Линии

Устройства

0

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

1

Клавиатура

2

Контроллер прерываний/каскадирование обеспечивает 8-15 прерывание

3

Порт COM 2

4

Порт COM 1

5

Порт LPT 2

6

Контроллер гибких дисков

7

Порт LPT 1

8

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

9

Переадресация как IRQ 2

10

11

12

PS/2 Mouse

13

Математический сопроцессор

14

ATA Channel 0

15

ATA Channel 1

Табл.1

Как cpu(apu) реагирует на прерывания

Программа – это реализация алгоритма посредством команд, выполняемых CPU(APU) для решения некоторой задачи. Предположим, вы используете браузер для навигации вWEB,CPU(APU) в свою очередь затрачивает большую часть времени на выполнение команд браузера для отображения текста и графики. Процессор занят обработкой команд, но компьютер реагирует на движение мыши, перемещая курсор на экране. Для этогоCPU(APU) реагирует на прерывания, генерируемые мышью. КогдаCPU(APU) обнаруживает прерывания, он останавливает выполнение текущей задачи для выполнения команд относящихся к определенному устройству. Последовательность команд, выполняемыхCPU(APU) для обнаружения и обслуживания устройства называется обработчиком прерываний устройства. После обработки прерыванийCPU(APU) продолжает выполнение предыдущей задачи. Когда процессор принимает прерывания на линии 12, не предполагается, что оно вызвано мышью. Более того,CPU(APU) не имеет значения какое устройство генерирует событие. Вместо этого процессор содержит таблицу адресов памяти, в которой каждому прерыванию соответствует запись.

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

Блок-схема: процесс 1431Прямая соединительная линия 1430Обработчик прерываний

Прямая соединительная линия 1428Прямая соединительная линия 1427Блок-схема: процесс 14290200

Прямая соединительная линия 1426

Область памяти

Не все устройства подключаемые к компьютеру требуют наличия IRQ. При установке устройств в системный блок его подключают к шине определенного типа. Шина – это просто набор проводников. Устройство включаемое в слот расширения обычно требует собственной линии прерываний. Возможен и другой вариант, когда устройство подключается к универсальной последовательной шинеUSB(universalserialbus) илиSCSI-шине. В этом случае шина используется для взаимодействия с контроллером (электронной схемой (МС), которая управляет шиной). Контроллер в свою очередь исполняет прерывание для взаимодействия сCPU(APU)

Блок-схема: процесс 1425

Прямая соединительная линия 1421Прямая соединительная линия 1422Прямая соединительная линия 1423Прямая соединительная линия 1424

Блок-схема: процесс 1420

Прямая соединительная линия 1418Прямая соединительная линия 1419

Блок-схема: процесс 1416Блок-схема: процесс 1417

Прямая соединительная линия 1413Прямая соединительная линия 1412Прямая соединительная линия 1411Прямая соединительная линия 1415Прямая соединительная линия 1414

Блок-схема: узел 1854Блок-схема: узел 1855Блок-схема: узел 1408Блок-схема: узел 1409Блок-схема: узел 1410

Мышь DVDA:BМодем НDD,SSD

Выбор линии IRQдля устройства, которые взаимодействуют сCPU(APU) .

Устройства, которые взаимодействуют с CPU(APU) , исключая прерывания для обладающих собственной линиейIRQ. При попытке использования одной и той же линииIRQдвумя устройствами возникает конфликт, который не позволяет функционировать обоим устройствам. Их называютIRQ-конфликтами. Методика выбораIRQдля устройства зависит от его типа. В некоторых случаях использует переключатель, которые находятся на плате устройства. Иногда это перемычки - их паяют или используют специальные программы. Чтобы избежать конфликтов при установке нового устройства нужно знать как оно функционирует сCPU(APU) . Если устройство подключено кUSBилиSCSI,SATAшине для него не нужно указывать линиюIRQ. Такие устройства самоконфигурируются, чтобы использовать ресурсы незанятые системой. При подключении устройства неPlugandPlayв слот материальной платы, необходимо определить какие прерывания достигаются в данный момент, а затем сконфигурировать устройство таким образом, чтобы оно использовало доступную линиюIRQ.

Определение используемых в системе прерываний.

Сведения о закрепленных прерываниях можно получить с помощью утилиты MSWindows«Сведения о системе». Так же существует множество других утилит позволяющих решить данную проблему(Evererest, AIDA, Sisandra и др.) .

Полотно 1853

0-

1-

2-

.

.

.

15-