Воскресенье, 19.05.2024, 13:32
Приветствую Вас Гость | RSS

Сайт Цыгановых

Блог

Главная » 2011 » Март » 25 » 7. Организация прерываний и прямого доступа к памяти в вычислительных системах, распределение ресурсов, Plug and Play 7.6 Лабораторн
20:41
7. Организация прерываний и прямого доступа к памяти в вычислительных системах, распределение ресурсов, Plug and Play 7.6 Лабораторн

Организация ЭВМ и систем

7. Организация прерываний и прямого доступа к памяти в вычислительных системах, распределение ресурсов, технология Plug and Play

Лабораторная работа

        Цель лабораторной работы: Исследование распределения ресурсов
             персонального компьютера

    Теоретическое введение

    Назначение прерываний 

Назначение прерываний устройствам (функциям) выполняет процедура POST, и этот процесс управляем лишь частично. 
    Параметрами CMOS Setup (PCI/PNP Configuration) пользователь определяет номера запросов прерываний, доступных шине PCI. В зависимости от версии BIOS это может выглядеть по-разному: либо каждой линии INTA#...INTD# явно назначается свой номер, либо ряд номеров отдается  устройствам PCI.  В итоге программа POST определяет соответствие линий INTA#...INTD# номерам запросов контроллера и  программирует коммутатор запросов. Если не  каждому устройству, требующему линию запроса прерывания шины PCI достается отдельный вход контроллера прерываний, коммутатор организует объединение нескольких линий запросов PCI на один вход контроллера, то есть линии запросов станут разделяемыми.  Современные операционные системы, учитывая аппаратную платформу, используют функции  BIOS для управления коммутатором запросов прерываний. Эту возможность можно запретить или разрешить, например, в ОС Windows снятием или установкой флажка "Использовать управление IRQ (PCI Interrupt Steering)"  в свойствах шины PCI (Панель управления/Системные устройства/Шина PCI).
    Программное обеспечение,  работающее с устройством подключенным к шине  PCI, читает слово конфигурационного регистра Interrupt Line  и определяет таким образом номер входа контроллера прерывания, назначенный устройству (или его отдельной функции). По этому номеру определяется вектор. Номер входа прерывания каждому устройству заносится в конфигурационный регистр при выполнении программы POST. Программа считывает регистр Interrupt Pin  для каждой обнаруженной функции и по номеру устройства определяет, какая из линий INTA#...INTD#  используется. Программа  POST  определяет таблицу соответствия этих линий номерам входов и; пользуясь этой таблицей записывает нужное значение в конфигурационный регистр Interrupt Line. Определить, есть ли еще претенденты на тот же номер прерывания, можно, лишь просмотрев конфигурационные регистры функций всех устройств, обнаруженных на шине (это не так уж сложно сделать, пользуясь функциями PCI BIOS).

В PCI BIOS  имеются функции определения возможностей и конфигурирования прерываний. Одна из функций возвращает структуру данных, в которой для каждого устройства (на каждой шине) сообщается, с какими входами контроллера прерываний (IRQx) могут быть связаны его линии INTx и с каким именно связаны в данный момент. Также указывается и физический номер слота, в который установлено данное устройство. Кроме того, возвращается и битовая карта, показывающая, какие входы IRQx отводятся исключительно шине PCI (и не используются абонентами других шин). Функция установки для заданного устройства устанавливает связь выбранного сигнала (INTx) с выбранным входом контроллера прерываний (IRQx), то есть программирует коммутатор. Эта функция предназначена для использования только конфигурационным ПО (BIOS, ОС), но никак не драйвером устройства. Тот, кто ею пользуется, сам отвечает за возможные конфликты, за правильное программирование контроллера прерываний (выбранный вход должен быть чувствительным к низкому уровню, а не положительному перепаду), за корректировку информации в конфигурационном пространстве всех затронутых устройств (у которых линии запроса связаны с выбранной линией INTx).

Сигнализация событий управления энергопотреблением — PME#

Линия PME#, введенная в PCI 2.0, служит для сигнализации в системе управления энергопотреблением PM (Power Management): смены состояния устройств, генерации пробуждения системы по событию. Эта линия электрически доступна всем устройствам PCI; как и линии INTx#, PME# никак не обрабатывается мостами, а лишь доводится до всех абонентов. Логика сигнализации аналогична INTx#: устройство сигнализирует о событии, замыкая линию PME# на «землю», таким образом, сигналы о событиях логически собираются по функции ИЛИ. Обработчик этого прерывания может выявить устройство, подавшее сигнал, путем программных обращений к конфигурационным регистрам всех устройств, способных к генерации этого сигнала. Устройства (функции), имеющие отношение к управлению энергопо­треблением, имеют в конфигурационном пространстве структуру с идентификатором Capability ID = 01 и набор регистров:

  • PMC (Power Management Capabilities) — регистр возможностей PM: версия спецификации, какие состояния поддерживаются, в состояниях возможна генерация PME#, нужен ли сигнал CLK для генерации PME#, каково потребление по линии 3,3VAux;
  • PMCSR (Power Management Control/Status Register) — регистр управления и состояния PM: признак введения PME#, его сброс и разрешение; состояние PM, управление данными, выводимыми через регистр Data;
  • Data — регистр (необязательный), через который может выводиться, например, информация о потребляемой мощности;
  • PMCSR_BSE (Bridge Support Extensions) — регистр расширенного управления мостом: признак поддержки мостом управления вторичной шиной в зависимости от состояния PM; состояние вторичной шины при переходе в состояние потребления D3 (останов синхронизации или еще и снятие питания).

    Прерывания сообщениями — MSI

    По аппаратному сбросу MSI запрещен; его можно разрешить программно установкой бита MSI Enable (после программирования адреса и шаблона сообщения), и тогда генерация прерываний по линиям INTx# запрещается. Самая «богатая» прерываниями функция (для которой Multiple Message Enable = 101) при записи сообщения идентифицирует конкретное условие прерывания (одно из 32 возможных) по линиям 

    Возможность использования MSI описывается в конфигурационном пространстве структурой MSI Capability (CAP_ID = 05h), которая должна присутствовать ­в пространстве каждой функции, поддерживающей MSI. В структуре имеется 3 или 4 регистра:

    • Message Address — 32-разрядный адрес памяти, по которому передается сообщение (биты [1:0] = 00). Если используется 64-битный адрес (установлен бит 7 в регистре Message Control), то его старшая часть располагается в регистре Message Upper Address. Значения в регистры адреса заносит системное ПО на этапе конфигурирования;
    • Message Data — 16-битный шаблон данных, передаваемых в сообщении по линиям AD[15:0]. Значение шаблона записывается системным ПО на этапе конфигурирования. В сообщении, передаваемом функцией, для различения разных условий прерывания могут модифицироваться только несколько младших бит, количество которых определяется значением поля Multiple Message Enable. Остальные биты сообщения должны соответствовать шаблону; биты [31:16] всегда нулевые;
    • Message Control — управление сообщениями (16 бит). Битом 7 функция сообщает о способности генерировать 64-битный адрес. В поле Multiple Message Capable функции задается ее способность генерировать различимые условия прерывания, в поле Multiple Message Enable система указывает функции допустимое число условий. Здесь значения 000–101 двоично кодируют число младших бит шаблона, которые устройство может модифицировать для идентификации источника прерывания: 000 — ни одного (устройству доступен лишь один идентификатор), 101 — пять, значения 110 и 111 зарезервированы. Бит MSI_Enable разрешает использование MSI.


      Задания к лабораторной работе: 

      1. Прочитайте теоретическое введение. 
      2. Ознакомьтесь с распределением ресурсов, как это описано втеоретической части.
      3.Войдите в BIOS/ Setup (PCI/PNP Configuration), выпишите распределение ресурсов для устройств шины PCI.
      4. Откройте папку "система", определите для каждого физического устройства компьютера все выделенные ему ресурсы, включая адресное пространво
      5. Оформите отчет по лабораторной работе с описанием всех выполняемых для решения задачи действий.
Просмотров: 598 | Добавил: МИХАлыч | Теги: Plug and Play 7.6 Лабораторная рабо, распределение ресурсов, 7. Организация прерываний и прямого | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Календарь
«  Март 2011  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Наш опрос
Оцените мой сайт
Всего ответов: 32