Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСИ _ Курс лекций _ УМК.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.58 Mб
Скачать

2.1.3. Использование прерываний

При обмене ввода / вывода с внешними устройствами остается неясным вопрос, каким образом процессор «различает» сигналы от разных внешних устройств? Для решения этого вопроса используют т.н. прерывания.

Существует 256 различных видов прерываний. Прерывание – это специальная область битов, заложенная в архитектуре (структуре) машинного слова, предписывающая процессору прервать выполнение текущей команды и начать выполнение другой команды (программы). Причем, адрес новой программы процессор находит в специальной области памяти, которая носит название «вектор прерываний». Каждое внешнее устройство использует свое конкретное прерывание при обмене ввода / вывода.

Рассмотрим этапы использования прерываний на примере обмена ввода / вывода с клавиатурой.

Внутри клавиатуры имеется микросхема, своеобразный ее процессор, которая в момент нажатия клавиши выдает специальный сигнал, т.н. скан–код.

П усть мы вводили с клавиатуры какой-то текст, и при вводе совершили ошибку, сразу ее заметили и, чтобы исправить, решили удалить стоящий слева от курсора символ нажатием клавиши Backspace (у большинства клавиатур эта клавиша обозначается символом или BS). Какие же процессы и в каком порядке при этом происходят?

  1. Изначально, до нажатия клавиши процессор работал в режиме с текстовым редактором, находящимся в оперативной памяти (рис.17 – этап 1).

  2. При нажатии клавиши процессор клавиатуры вырабатывает скан-код, который поступает в микросхему порта клавиатуры (рис.17 – этап 2).

  3. Порт клавиатуры выдает процессору сигнал прерывания, например, № 9 (рис.17– этап 3, INT 9).

  4. Получив «прерывание», процессор временно прекращает работу с текстовым редактором и обращается в область «вектор прерываний», расположенную в оперативной памяти (рис.17 – этап 4). Здесь он находит адрес программы для обработки соответствующего прерывания и обращается к ней.

  5. Запускается программа обработки прерывания клавиатуры (рис.17 – этап 5), которая направляет процессор для обращения к порту клавиатуры.

  6. В порте клавиатуры процессор находит выработанный клавиатурой скан-код (рис.17 – этап 6) и загружает его в свои регистры (рис.17 – этап 7).

  7. По команде процессора скан-код загружается в небольшую область памяти – буфер клавиатуры (рис.17 – этап 8). На этом программа обработки прерываний заканчивает свою работу.

  8. В процессе обмена с буфером клавиатуры текстовый редактор определяет по скан-коду отсутствие символа слева от курсора и удаляет ошибочно введенный символ (рис. 17 – этап 9). Затем процессор переходит опять в режим обмена с текстовым редактором (рис.17 – этап 10).

2.1.4. Краткие сведения об интерфейсах

Интерфейс – правила, методы и способы, а также средства взаимодействия операционной системы с потребителями (англ. Interface – буквально: взаимодействие).

Основная функция всех операционных систем – посредническая. Она заключается в обеспечении нескольких видов интерфейса:

  • интерфейса между пользователем и программно-аппарат­ными средствами компьютера (интерфейс пользователя);

  • интерфейса между программным и аппаратным обеспечением (аппаратно-программный интерфейс);

  • интерфейса между разными видами программного обеспечения (программный интерфейс).

Согласование между отдельными узлами и блоками персонального компьютера осуществляют т.н. устройства аппаратного интерфейса, работающие в соответствии с определенными стандартами (протоколами).

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

Аппаратное обеспечение вычислительных систем условно можно разделить на две большие группы: на устройства, поддерживающие последовательные или параллельные интерфейсы.

Через последовательные интерфейсы данные передаются бит за битом. Количество битов, участвующих в одной предаваемой группе определяется разрядностью интерфейса. Устройство такого интерфейса проще, т.к. нет необходимости для такого интерфейса синхронизировать работу передающего и принимающего устройств. Поэтому последовательный интерфейс часто называют асинхронным. Однако пропускная способность его меньше, поскольку полезные данные в передаваемой группе предваряются и завершаются передачей служебной информации (на 1 байт полезных данных обычно приходится 1 – 3 служебных бита). Производительность последовательного интерфейса измеряют в битах в секунду (бит/с, Кбит/с, Мбит/с) или, с учетом наличия в предаваемой группе служебных битов, количеством знаков (символов) в секунду (с/с – для справочной потребительской необходимости).

Через параллельные интерфейсы данные передаются одновременно группами бит (байтами, словами и т.п.). Они имеют более сложную архитектуру, но и обеспечивают более высокую производительность. Чаще всего такие интерфейсы применяют там, где надо обеспечить высокую скорость передачи данных: для согласования печатающих устройств, устройств ввода и вывода графической информации, устройств записи на внешний носитель и т.д.

Рассмотрим кратко особенности некоторых интерфейсов.

Интерфейс ISA (Industry Standard Architectureархитектура промышленного стандарта или, другое название, – AT-Bus). Являлся основной шиной на системных платах устаревшей конструкции, на современных платах либо отсутствует, либо представлен всего 1–2 слотами расширения для совместимости с устаревшими компонентами.

Конструктивно представляет собой разъем на материнской плате, состоящий из 2-х частей: 62-контактного и примыкающего к нему 36-контактного сегментов.

Пиковая пропускная способность ~ 5,55 Мбайт/с. Устройство, установленное в слот, не может управлять обменом данных по шине. Раньше через слот подключали: видеокарту, контроллеры ввода / вывода, жестких и гибких дисков, звуковую карту, модем и пр.

Интерфейс EISA (Enhanced ISA – расширенная ISA). является функционально-конструктивным расширением интерфейса ISA. Пиковая пропускная способность 32 Мбайт/с. Поддерживает режим управления шиной со стороны любого установленного в разъем устройства (Bus Mastering). В настоящее время не используется.

Интерфейс PCI (Peripheral Component Interconnectсоединение внешних компонентов). Этот интерфейс не совместим ни с каким из предшествовавших, поддерживает тактовую частоту 33 МГц (варианты: PCI 2.1 – до 66 МГц, PCI-Х – до 133 МГц), имеет пиковую пропускную способность до 132 Мбайт/с ( 264 Мбайт/с для 32-разрядных и 528 Мбайт/с для 64-разрядных данных на частоте 66 МГц).

Конструктивно разъем состоит из 2-х следующих подряд секций по 64 контакта (внутри второй секции имеется поперечная пластмассовая перегородка – ключ для предотвращения неправильной установки карт), поддерживает уровни сигналов 5 В, либо 3,3 В, либо (универсальные) оба уровня.

Интерфейс обеспечивает поддержку режима Bus Mastering и автоматической конфигурации компонентов при установке (Plug–and–Play). Все слоты на материнской плате сгруппированы в сегменты по 4 разъема. Если сегментов несколько, они соединяются посредством т.н. мостов (bridge).

Интерфейс Hyper Transport (Ранее называлась LTDLightning Data Transport). Новая высокоскоростная шина для соединения внутренних устройств компьютерной системы.

Интерфейс построен на принципах: «точка – точка» и пакетная передача данных по динамически выделяемым каналам. Контроллер устройства получает в свое распоряжение шину шириной до 32 бит (2, 4, 6, 16, 32 бит) для организации двунаправленной линии обмена данными с другим устройством. Ассиметричная архитектура шины позволяет одновременно поддерживать неравные потоки данных между устройствами.

Тактовая частота шины ~ 800 МГц, но т.к. данные передаются по обоим фронтам разрешающего сигнала, то эквивалентная частота увеличивается до 1,6 ГГц. Пиковая пропускная способность при ширине шины 32 бит составляет до 6,4 Гбайт/с в каждую сторону (12,8 Гбайт в обе стороны). Для передачи команд и адресов используют те же шины, что и для данных.

Выделение линии происходит в соответствии с потребностями устройств. Низкоскоростные устройства могут занимать две линии по 2 бит, что обеспечивает связь на уровне 400 Мбайт/с в каждую сторону. Высокоскоростные устройства могут получить две линии шириной по 32 бит, что обеспечивает полосу пропускания 6,4 Гбайт/с в каждую сторону.

Интерфейс PCI Express (Intel). Мало отличается по архитектуре от рассмотренной Hyper Transport (AMD, Apple, Cisco, nVidia, Sun и др.). Система адресации полностью совместима со спецификацией PCI, что позволяет подключать устройства PCI к новой шине. Остался и механизм автоматического конфи­гу­ри­ро­вания Plug-and-Play. Данные пересылаются пакетами по 8 – 10 бит (в последнем случае 2 бита предназначены для подключения механизма контроля четности и исправления ошибок).

На аппаратном уровне шина управляется контроллером Host Bridge, предназначенным для взаимодействия с процессором, ОЗУ и графической подсистемой персонального компьютера, остальные устройства можно подключать через специальный коммутатор (Switch), который позволяет им взаимодействовать между собой без обращения к Host Bridge или процессору. При этом обращение к перечисленным выше основным устройствам осуществляется через связь Switch и Host Bridge.

Интерфейс USB (Universal Serial Busуниверсальная последовательная шина). Этот интерфейс служит для подключения до 127 внешних устройств к одному USB-каналу (по принципу общей шины).

На современных материнских платах имеется 2 – 4 канала на контроллер. Обмен данными по шине происходит в пакетном режиме при пиковой пропускной способности до 12 Мбит/с (до 480 Мбит/с в версии USB 2.0).

Интерфейс AGP (Accelerated Graphics Portускоренный графический порт). Этот интерфейс предназначен исключительно для подключения видеоадаптеров к отдельной магистрали AGP, имеющей выход непосредственно на системную память и не связанной с системной шиной. В системной памяти размещены преимущественно параметры трехмерных объектов: текстуры, альфа-канал, Z-буфер, – требующие быстрого доступа со стороны как процессора, так и видеоадаптера.

Конструктивно выглядит как отдельный разъем на системной плате. Пиковая пропускная способность 1066 Мбайт/с (в режиме 4-кратного умножения).

Интерфейс IEEE 1394 (Institute of Electrical and Electronic Engineers 1394 – стандарт института инженеров по электротехнике и электронике № 1394). Этот последовательный интерфейс предназначен для подключения до 127 внутренних компонентов на один контроллер для компьютеров фирмы Apple, не совместимых с IBM PC, и является развитием интерфейса FireWire – «огненная линия».

Пиковая пропускная способность ~ 50 Мбайт/с (разрабатываются варианты с 200 Мбайт/с и даже с 800 Мбайт/с).

Главным преимуществом интерфейса является простота подключения множества устройств по единому 6-жильному кабелю: 2 жилы – для обеспечения питания, 4 жилы – для обмена данными.

Интересен и способ адресации устройств. Воедино может быть связано 1024 сетей по 63 устройства в каждой, причем, в каждом устройстве адресуется до 281 Тбайт памяти. Весь этот массив воспринимается процессором как единая область памяти с постраничным доступом.

Этот интерфейс предназначен для подключения внешних дисковых накопителей, а также для соединения с высокоскоростными внешними устройствами : цифровыми видеокамерами, видеомагнитофонами, музыкальными центрами и пр.

Интерфейс IDE / ATA (Integrated Drive Electronicsвстроенная электроника накопителя / AT Attachmentподключение к АТ). Этот интерфейс предназначен исключительно для обеспечения работы дисковых накопителей. При этом для работы компонентов с интерфейсом требуется наличие соответствующего контроллера, который обычно выполняется встроенным на системной плате и поддерживает два разъема IDE (Primary – первичный и Secondary – вторичный), к каждому из которых можно подключить по два устройства (Master и Slave – ведущее и ведомое).

В настоящее время используется модификация АТА – 2, преимущества которой обусловлены поддержкой режима LBA (Logical Block Addressлогическая адресация блоков), что обеспечивает работу с дисками большой емкости (свыше 528 Мбайт), PIO (Programmed Input / Outputпрограммируемый ввод / вывод), DMA (Direct Memory Accessпрямой доступ к памяти).

Пиковая пропускная способность интерфейса IDE до 100 Мбайт/с.

Для обеспечения совместимости с накопителями, отличными от жестких дисков, существует протокол обмена данными ATAPI (ATA Packet Interfaceпакетный интерфейс АТА), поддерживаемый программным кодом в BIOS.

Интерфейс ACPI (Advanced Configuration Power Interfaceрасширенный интерфейс конфигурирования и питания). Этот интерфейс представляет собой единую систему управления электропитанием для всех компонентов компьютера. В частности, предусмотрено сохранение состояния компьютера перед отключением питания с последующим его восстановлением без полной перегрузки. Поддерживается новейшими версиями BIOS и блоками питания в корпусах типа АТХ.

Интерфейс RS–232C (COMCommunication). Это – интерфейс обмена данными по последовательному порту. Для поддержки портов (обычно до 4-х) с этим интерфейсом имеется микросхема UART16550A, встроенная в системную плату.

Физически разъем COM-порта может быть 25-ти или 9-ти контактным. Гарантированный обмен данными обеспечивается по кабелю длиной 30 м и более. Пиковая пропускная способность зависит от возможностей подключенных устройств.

В настоящее время этот интерфейс заменяется интерфейсом USB.

Интерфейс IEEE 1284 (Institute of Electrical and Electronic Engineers 1394 – стандарт института инженеров по электротехнике и электронике № 1284). Этот стандарт предназначен для параллельных скоростных интерфейсов SPP (Standard Parallel Port – стандартный параллельный порт), EPP (Enhanced Parallel Port – улучшенный параллельный порт) и ECP (Extended Capabilities Port – порт с расширенными возможностями). Они обычно используются для подключения через параллельные порты компьютера (LPT) принтеров, сканеров, цифровых фотокамер и внешних запоминающих устройств. На материнской плате имеется встроенный контроллер параллельного порта.

Интерфейс поддерживает одностороннюю (SPP) или двустороннюю (EPP, ECP) передачу данных при пиковой пропускной способности до 5 Мбайт/с.

В настоящее время рекомендуется замена на интерфейсы USB или IEEE1394.