Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по архитектуре ЭВМ.doc
Скачиваний:
32
Добавлен:
02.05.2014
Размер:
440.83 Кб
Скачать

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

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

Устройства, не встроенные в материнскую плату, отправляет ЦПУ сигналы по специальным линиям запроса на прерываниеIRQ(interrupt-request) – уведомляя процессор, что требуется его внимание. НазваниеIRQсвязано с тем, что при появлении на одной из линий сигнала, ЦПУ “прерывает” текущие операции, для обслуживания устройства, которое генерирует прерывание. Каждое устройство взаимосвязано с ЦПУ посредством прерываний, обладает собственной линиейIRQ.

Мышь

ПК поддерживает 16 линий IRQ. В табл.1 перечислены устройства, которые традиционно используют определенные линии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

-//-

13

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

14

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

15

Свободно

Табл.1

Как ЦПУ реагирует на прерывание

Как ЦПУ реагирует на прерывания

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

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

Обработчик прерываний

0200

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

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

Мышь CDA:BМодем Винчестер

Выбор линии IRQдля устройства, которые взаимодействуют с ЦПУ.

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

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

Программа «Сведения о системе»

0-

1-

2-

.

.

.

15-

Каскадные IRQ.

Первые ПК поддерживали 8 линий прерываний . С появлением ЦП 80286 был добавлен 2-ой контроллер прерываний , что обеспечивает поддержку 16 линий прерываний . В таблице прерываний указано , что когда ЦПУ принимает прерывание по линии 2 ЦП распознаёт , что IRQсоответствует 2-му котроллеру , а следовательно прерываниям от 8-15.

После приёма сигнала прерывания по линии 2 процессор анализирует порты ввода\вывода OxAOиOxA1 , чтобы определить какое прерывание на 2м контроллере в действительности.

Передача информации вслед за IRQ.

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

Например , когда перемещаем мышь , её электроника генерирует прерывание по линии 12. Тоже происходит при щелчках на кнопки мыши. Обработчик прерываний должен определить какое действие с мышью вызвало прерывание. Для передачи этой информации обработчик прерываний использует специальные. область памяти, называемые портами ввода\вывода I\O. Адрес порта используемого для взаимодействия с ЦПУ зависит от типа устройства. Каждое устройство используещее прерывание обладает уникальным адресом портов . Например клавиатура: 0060-сброс контроллера клавиатуры, 0064-составляет коды контроллера. Уникальные адреса также необходимы устройствам как и уникальные линииIRQ. Если два устройства используют один адрес порта , возникает ошибка, которая исключает их правильное функционирование. При установке платы расширения, которая не поддерживает автоматически конфигурируемые устройства нужно обеспечить, чтобы устанавливаемые параметры порта устройства не конфликтовали с существующими устройствами. Предпринимаемые для установки адресов порта действия зависят от типа устройства. В одних устройствах используется переключатели , в других джамперы, в третьих программные средства.

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

Чтобы определить , какие устройства ввода/вывода используется в системе в данный момент времени можно воспользоваться «Утилитой о системе».

Ресурсы аппарата

X000-000Fпрямой доступ к памятиDMA

………………….

…………………..

I/O

IRQ

Обмен большими объемами данных с устройством.

Если устройства требуют обмена небольшими объемами информации, оно может взаимодействовать с обработчиком прерываний посредством портов ввода/вывода. Порт идеально подходит для мыши, которая движется предавая небольшой объем информации. ( величина перемещения или щелчок, двойной щелчок – распознается по интервалу времени между двумя обычными щелчками). Устройства, которые обрабатываются большие массивы данных, такие как CDили винчестер обычно использует стандартные области памяти для хранения информации, которую привод читает или записывает. Начальный адрес такой области называетсябазовым адресом устройства. При установке нового устройства может возникнуть необходимость указать уникальный базовый адрес ОЗУ, которое не используются другими устройствами. Отобразить области памяти можно с помощью утилиты «Сведения о системе».

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

Как уже говорилось выше, устройства с помощью прерываний уведомляют ЦПУ о необходимости выполнения для них некоторых действий. Количество выполняемых операций зависит от типа устройства. Для процессора важно быстро завершить обработку прерывания, чтобы продолжать выполнение предыдущей задачи. Если прерывание сгенерировала мышь, ЦПУ обычно быстро завершает его обработку. Однако операции чтения/записи (R/W) дисковым накопителем требует передачи большого объема данных между ОЗУ и устройствам, что может потребовать значительных затрат времени процессора. Чтобы повысить эффективность использования ЦПУ разработали специальную микросхемуDMA(directmemoryacсses– прямой доступ к памяти)– называемую контроллерDMA. ЦПУ может контролирующую ее функционирование, чтобы обеспечить обмен данными между ОЗУ и устройством. Используя микросхемуDMAдля перемещения данных, ЦПУ упрощает себе задачу передачи каждого бита данных. Это позволяет ЦПУ выполнять другие задачи, пока микросхемаDMAконтролирует перемещение данных. Например, для чтения информации с диска в память ЦПУ может конфигурировать микросхемуDMA, указав ей начальный адрес сектора, количество секторов и область памяти, которую данные должны занять. В свою очередь контроллерDMAбудет выполнять операции с диском, пока ЦПУ занят другими задачами. Когда контроллерDMAзавершит свою задачу, он посредством прерывания сообщит об этом ЦП. ЦП может проанализировать портыDMA, чтобы определить состояние выполняемой операции. Большинство современных ПК имеет 2 микросхемыDMA, которые подобно контроллеру прерываний функционируют каскадно. Устройства, которые используютDMAможно увидеть в “Сведения о системе”

  • Ресурсы аппаратуры

|

|

-КаналDMA

Соседние файлы в предмете Архитектура вычислительных систем