Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Помогите разобраться с прерываниями

Ответить
Настройки темы
Помогите разобраться с прерываниями

Аватара для sdima85

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Какие прерывания куда распределены?
Куда указывают те прерывания которые BIOS не распределил?

Отправлено: 17:03, 06-08-2009

 
ref ref вне форума

Ветеран


Сообщения: 864
Благодарности: 183

Профиль | Отправить PM | Цитировать


Вот очень много букв про прерывания.
Осваивайте!
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:06, 06-08-2009 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для sdima85

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хорошая статья.
Но все же куда указывают те прерывания которые BIOS не распределил (при условии что есть не занятые)?

Отправлено: 21:28, 06-08-2009 | #3


Аватара для sdima85

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата ref:
Вот очень много букв про прерывания. »
В статье написано:"APIC (Advanced Programmable Interrupt Controller) - усовершенствованный программируемый контроллер прерываний. Для многопроцессорных систем это необходимая система, так как позволяет распределить меж процессорами нагрузку по работе с устройствами. То есть, этот контроллер можно запрограммировать на обработку некоторых линий прерываний первым процессором, а некоторых - вторым. Для однопроцессорных систем эта опция всего лишь включает возможность использования в операционных системах WindowsXP и Windows2000 виртуальных прерываний."

На Wikipedia :"С ростом числа устройств пришлось решать проблемы прерываний. Устройств стало очень много. На одном прерывании висело до 4 устройств. Помимо прочего старый механизм прерываний давал большие задержки на шине PCI. Что привело к появлению IOAPIC, позволяющего использовать 24 и более аппаратных прерывания вместо 16 PIC. Ограничение в 16 аппаратных прерываний не менялось с 1982 года. На данный момент IOAPIC имеет только 24 прерывания"

Кому верить? Сколько аппаратных прерываний 16 или 24?
И все же куда указывают те прерывания которые BIOS не распределил (при условии что есть не занятые)?

Отправлено: 17:26, 07-08-2009 | #4


Аватара для sdima85

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Еще в одной статье:

Преимущества расширенного контроллера прерываний:
возможность реализации межпроцессорных прерываний - сигналов от одного процессора другому
поддержка до 256 входов IRQ, в отличие от 16 на классической IBM PC

Сколько аппаратных прерываний в APIC?

Отправлено: 14:47, 14-08-2009 | #5


Аватара для DVDshnik

Не дед


Moderator


Сообщения: 15390
Благодарности: 2196

Профиль | Отправить PM | Цитировать


Аппаратных прерываний 16, поскольку поначалу использовались две восьмивходовых микросхемы, и имеют прерывания эти номера с нулевого до 15. Все остальные прерывания виртуальные.

-------
Ненавижу, когда все шагают строем - одинаково стриженые, одинаково одетые, с одинаковыми мыслями в одинаково пустых головах. (С) Кий


Отправлено: 14:53, 14-08-2009 | #6


Аватара для sdima85

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


А сколько виртуальных 24 или 256?

Если можно ссылку на источник.
Потому как выше цитаты из 3х статей, и в каждой по разному!

Отправлено: 15:34, 14-08-2009 | #7


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


sdima85, Питер Абель. Ассемблер и программирование для IBM PC
(текст не форматировал)
ГЛАВА 23. Прерывания BIOS и DOS
------------------------------------------------------------
Прерывания BIOS и DOS
читать дальше »
Цель: Описать функции, доступные через прерывания BIOS и
DOS.

ВВЕДЕНИЕ
------------------------------------------------------------

Прерывание представляет собой операцию, которая приоста
навливает выполнение программ для специальных системных
действий. Необходимость прерываний обусловлено двумя
основными причинами: преднамеренный запрос таких действий,
как операции ввода-вывода на различные устройства и
непредвиденные программные ошибки (например, переполнение
при делении).
Система BIOS (Basic Input/Output System) находится в ROM
и управляет всеми прерываниями в системе. В предыдущих
главах уже использовались некоторые прерывания для вывода на
экран дисковых операций ввода-вывода и печати. В этой главе
описаны различные BIOS- и DOS-прерывания, резидентные
программы и команды IN и OUT.

ОБСЛУЖИВАНИЕ ПРЕРЫВАНИЙ
------------------------------------------------------------

В компьютерах IBM PC ROM находится по адресу FFFF0H. При
включении компьютера процессор устанавливает состояние
сброса, выполняет контроль четности, устанавливает в
регистре CS значение FFFFH, а в регистре IP - нуль. Первая
выполняемая команда поэтому находится по адресу FFFF:0 или
FFFF0, что является точкой входа в BIOS. BIOS проверяет
различные порты компьютера для определения и инициализации
подключенных устрой ств. Затем BIOS создает в начале памяти
(по адресу 0) таблицу прерываний, которая содержит адреса
обработчиков прерываний, и выполняет две операции INT 11H
(запрос списка присоединенного оборудования) и INT 12H
(запрос размера физической памяти).
Следующим шагом BIOS определяет имеется ли на диске или
дискете операционная система DOS. Если обнаружена системная
дискета, то BIOS выполняет прерывание INT 19H для доступа к
первому сектору диска, содержащему блок начальной загрузки.
Этот блок представляет собой программу, которая считывает
системные файлы IBMBIO.COM, IBMDOS.COM и COMMAND.COM с диска
в память. После этого память имеет следующее распределение:

Таблица векторов прерываний
Данные BIOS
IBMBIO.COM и IBMDOS.COM
Резидентная часть COMMAND.COM
Доступная память для прикладных программ
Транзитная часть COMMAND.COM
Конец RAM (ОЗУ)
ROM BASIC
ROM BIOS

Внешние устройства передают сигнал внимания через контакт
INTR в процессор. Процессор реагирует на этот запрос, если
флаг прерывания IF установлен в 1 (прерывание разрешено), и
(в большинстве случаев) игнорирует запрос, если флаг IF
установлен в 0 (прерывание запрещено).
Операнд в команде прерывания, например, INT 12H, содержит
тип прерывания, который идентифицирует запрос. Для каждого
типа система содержит адрес в таблице векторов прерываний,
начинающейся по адресу 0000. Так как в таблице имеется 256
четырехбайтовых элементов, то она занимает первые 1024
байта памяти от шест.0 до шест.3FF. Каждый элемент таблицы
указывает на подпрограмму обработки указанного типа
прерывания и содержит адрес кодового сегмента и смещение,
которые при прерывании устанавливаются в регистры CS и IP
соответственно. Список элементов таблицы векторов прерываний
приведен на рис. 23.1.
Прерывание заносит в стек содержимое флагового регистра,
регистра CS и регистра IP. Например, для прерывания 12H
(которое возвращает в регистре AX размер памяти) адрес
элемента таблицы равен шест.0048 (шест.12 х 4 = шест.48).
Операция выделяет четырехбайтовый элемент по адресу шест.
0048 и заносит два байта в регистр IP и два байта в регистр
SS. Адрес, который получается в регистровой паре CS:IP,
представляет собой адрес начала подпрограммы в области BIOS,
которая получает управление. Возврат из этой подпрограммы
осуществляется командой IRET (Interrupt Return), которая
восстанавливает флаги и регистры CS и IP из стека и
передает управление на команду, следующую за выполненной
командой прерывания.


ПРЕРЫВАНИЯ BIOS
читать дальше »
------------------------------------------------------------

В данном разделе представлены основные прерывания BIOS.

INT 05H (Печать экрана). Приводит к передаче содержимого
экрана на печатающее устройство. INT 05H применяется для
внутренних целей, т.е. из программ, клавиши Ctrl/PrtSc
активизируют печать с клавиатуры. Данная операция маскирует
прерывания и сохраняет позицию курсора.

------------------------------------------------------------

Адрес Функция прерыаний
(шест) (шест)
0-3 0 Деление на нуль
4-7 1 Пошаговый режим (трассировка DEBUG)
8-B 2 Немаскированное прерывание (NMI)
C-F 3 Точка останова (используется в DEBUG)
10-13 4 Переполнение регистра
14-17 5 Печать экрана
18-1F 6,7 Зарезервировано
20-23 8 Сигнал от траймера
24-27 9 Сигнал от клавиатуры
28-37 A,B,C,D Используются в компьютерах AT
38-3B E Сигнал от дискетного дисковода
3C-3F F Используется для принтера
40-43 10 Управление дисплеем (см.гл. 8, 9, 10)
44-47 11 Запрос оборудования (см.гл.9)
48-4B 12 Запрос размера памяти (см.гл.2)
4C-4F 13 Дисковые операции ввода-вывода (см.гл.18)
50-53 14 Управление коммуникационным адаптером
54-57 15 Кассетные операции и спец. функции AT
58-5B 16 Ввод с клавиатуры (см.гл.9)
5C-5F 17 Вывод на принтер (см.гл.19)
60-63 18 Обращение к BASIC, встроенному в ROM
64-67 19 Перезапуск системы
68-6B 1A Запрос и установка времени и даты
6C-6F 1B Прерывание от клавиатуры
70-73 1C Прерывание от таймера
74-77 1D Адрес таблицы параметров дисплея
78-7B 1E Адрес таблицы параметров дисковода
7C-7F 1F Адрес таблицы графических символов
80-83 20 Нормальное завершение программы (DOS)
84-87 21 Обращение к функциям DOS
88-8B 22 Адрес обработки завершения задачи (DOS)
8C-8F 23 Адрес реакции по Ctrl/Break (DOS)
90-93 24 Адрес реакции на фатальную ошибку (DOS)
94-97 25 Абсолютное чтение с диска (DOS)
98-9B 26 Абсолютная запись на диск (DOS)
97-9F 27 Создание резидентной программы (DOS)
AO-FF 28-3F Другие функции DOS
100-1FF 40-7F Зарезервировано
200-217 80-85 Зарезервировано для BASIC
218-3C3 86-F0 Используются BASIC-интерпретатором
3C4-3FF F1-FF Зарезервировано

Примечание: Прерывания 00-1F относятся к BIOS, прерывания
20-FF относятся к DOS и BASIC.

------------------------------------------------------------
Рис.23.1. Таблица адресов прерываний.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:47, 14-08-2009 | #8


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


По datasht_у
Intel® 82093AA I/O Advanced Programmable Interrupt Controller (I/O APIC) Specification
Аппаратных прерываний 24.

Отправлено: 15:53, 14-08-2009 | #9



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Помогите разобраться с прерываниями

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помогите разобраться pogo Microsoft Windows NT/2000/2003 2 06-07-2009 13:00
MySQL - Помогите разобраться Red Virus Программирование и базы данных 1 04-03-2008 21:39
FreeBSD - Помогите разобраться. Myrzilka Общий по FreeBSD 0 15-01-2008 23:51
Помогите разобраться Larich Хочу все знать 1 08-06-2007 08:25
Помогите разобраться..... Dimskiy Microsoft Windows 2000/XP 4 26-06-2006 18:50




 
Переход