Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Железо и сети то разговор я буду вести только об аппаратных прерываниях

Работа добавлена на сайт samzan.net:


Давайте рассмотрим такую вот ситуацию: процессор обрабатывает какие-то данные, не важно какие. В этот момент у какого-нить устройства тоже появились данные для обработки. Че делать? Надо просить процессор, что бы тот соизволил обратить на просьбу внимание и решил бы, сейчас обрабатывать эти данные или потом. Так вот эта просьба и есть IRQ или прерывания (вообще-то существуют два типа прерываний: аппаратные (внешние) и программные (внутренние), но поскольку мой раздел называется «Железо и сети», то разговор я буду вести только об аппаратных прерываниях). Строго говоря IRQ – это каналы запросов прерывания, которые используются всевозможными девайсами для того, что бы сообщить процессору о том, что необходимо обработать определенный запрос. Физически, IRQ представляют собой отдельно проложенные линии (проводники) и соответствующие этим линиям контакты в интерфейсах. Все это находится, ессесно на материнской плате. Линии IRQ предназначены только для передачи запросов прерывания.

А ну-ка разберемся, как вся эта фигня с IRQ происходит. Итак, после получения запроса прерывания, камень сохраняет в стеке содержимое регистров. Затем он обращается к таблице векторов прерываний, где есть список адресов памяти программ, соответствующих определенным номерам прерываний. От номера прерывания зависит, какая программа будет запущена. В основном этими программами являются драйвера, относящиеся к устройствам, пославшим запрос (а уж драйвера туго знают свое дело и разберутся, что дальше делать). После всего этого, процедура обработки возвращает из стека то, с чем работал камень, а проще говоря, отдается управление системой той программе, что работала до запроса прерывания. И так постоянно. Сама таблица находится в оперативной памяти и состоит из 256 элементов по 4 байта и начинается с адреса 0000:0000. Занимает она 1024 Кбайт. Надеюсь, что Вы усвоили простую истину: если необходимо обработать хотя бы один новый байт от какого-либо устройства, необходимо сначала обработать IRQ этого устройства.

Что бы не было путаницы у IRQ есть иерархия или говоря другим языком – приоритеты. Чем меньше номер прерывания, тем выше приоритет и наоборот, чем больше номер прерывания, тем ниже приоритет. IRQ всего 16. Самый высокий приоритет у IRQ 0, а самый низкий у IRQ 15. Приведу таблицу иерархии:

IRQ

Стандартная функция

0

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

1

Контроллер клавиатуры

2

Программируемый контроллер прерываний

3

Последовательный порт COM 2

4

Последовательный порт COM 1

5

Звуковая или сетевая карты или свободен

6

Стандартный контроллер гибких дисков

7

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

8

CMOS и часы

9

Звуковая или сетевая карты или свободен

10

Свободен

11

USB или SCSI или свободен

12

PS/2 совместимый порт мыши

13

Сопроцессор

14

Основной контроллер IDE

15

Дополнительный контроллер IDE

А хотите посмотреть свои прерывания? Выберите «Пуск – Выполнить», наберите «msinfo32». В появившимся окне «Сведения о системе», слева, выберите вкладку «Ресурсы аппаратуры – Прерывания IRQ».

Если произойдет генерация большого количества IRQ, то стек может переполниться и тогда…. тогда Вы потянитесь к кнопочке [Reset]. Ежели такая ситуация будет происходить часто, то необходимо в файле Config.sys увеличить параметр Stacks. Кроме, этого двум различным устройствам PCI может быть назначено одно и то же прерывание. Теоретически такое не должно происходить, но вот на практике случается. В этом случае Вам придется самому назначить прерывание одному из устройств. Как это сделать? Жмем [Win][Pause/Break]. Выскакивает окно «Свойства: Система». Выбираем вкладку «Устройства», ищем в списке то устройство, IRQ которого будем подправлять и жмем на него пару раз мышью. Выскочит окно его свойств, где выберем вкладку «Ресурсы» и снимем галку «Автоматическая настройка». Затем чуть ниже выбираем «Запрос на прерывания» и кликаем опять два раза мышью. Появится окно, где можно изменить номер IRQ. Назначать прерывания надо с умом. Сверьтесь с таблицей: какие IRQ для чего предназначены. Посмотрите у себя, какие свободны. Может так случится, что свободных прерываний у Вас и не будет.  Новых IRQ Вы конечно не добавите, но подумайте, все ли устройства Вам необходимы. Например, как часто Вы используете порты COM. Я ими последние года три не пользуюсь вообще. Удалить. Это можно сделать из BIOS. И вот Вам свободные IRQ. Короче, в решении подобной проблемы надо приложить голову и все у Вас получится. Дорогу осилит идущий!

Двигаемся дальше. Вообще, следует отметить, что каналы запросов прерывания относятся к системным ресурсам. Дам короткое но очень меткое определение: системными ресурсами называются коммуникационные каналы, адреса и сигналы, используемые узлами компьютера для обмена данными с помощью шин. Вот так вот просто и понятно. К системным ресурсам кроме IRQ относятся: адреса памяти, каналы прямого доступа к памяти и адреса портов ввода/вывода.




1. Лабораторная работа 3 Тема Дискретное цифровое представление текстовой графической звуковой информац
2. Антивеществ
3. Что понимается под организацией производства г координация и оптимизация во времени и пространстве всех
4. Агрокосм зерновые элеваторы 1
5. Час не наступит для нас
6. центров сна которое вызывает общее снижение функций организма активные теории сна
7. Тема- анатомия органа слуха; физиология слухового и вестибулярного анализаторов
8. Юлианна не кончается Продолжение следует Книга будет интересна не только детям среднего школьного возра
9. Правовая защита интеллектуальной собственности- проблемы теории и практики
10. Поступай по отношению к другим так как бы ты хотел чтобы они поступали по отношению к тебе этоЗолотое
11. Служебноделовой этикет
12.  Становление конституционного права СССР 1
13. Становление и развитие института судебной власти в России
14. темала Боливия Колумбия
15. Тема- Общие условия производства по делам о нарушении таможенных правил и их рассмотрения
16. варианта основной методологической работы Поппера Логика научного открытия а также в 1963 книги Куна Стру
17. На тему- ВЛИЯНИЕ ЭЛЕКТРИЧЕСКИХ И МАГНИТНЫХ ПОЛЕЙ НА ОРГАНИЗМЫ Выполнила- Дюсюпова С
18. Асимметрия информации ~ положение при котором одна часть участников рыночной сделки располагает важной и.html
19. м 17 века Французский материализм 18 века
20. на тему- Прибыль и рентабельность и направления их повышения.html