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

2016-07-30СтудИзба

Описание файла

Документ из архива "Организация прерываний и прямого доступа к памяти в вычислительных системах, распределение ресурсов, технология Plug and Play", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47902"

Текст 4 страницы из документа "47902"

идентификатор и номер входа APIC, к которому подключен данный запрос.

Для симметричных многопроцессорных систем допустимы векторы в диапазоне 10h–FEh. Уровень приоритета прерывания определяется номером его вектора, деленным на 16. Самый приоритетный уровень — нулевой.

Контроллер I/O APIC позволяет вырабатывать значительное число запросов прерываний; каждому запросу соответствует свой элемент в таблице перенаправлений, находящейся в APIC. С запросами связаны индивидуальные входы INTINn; определенный уровень или перепад сигнала на этих входах вызывает соответствующие запросы. Вектор (следовательно, и приоритет) для каждого запроса программируется индивидуально. Более совершенные модели I/O APIC позволяют вызывать прерывание с записью номера входа в регистр контроллера, что, например, используются для поддержки прерываний MSI на шине PCI. При этом возможна и экономия сигнальных входов: APIC может иметь входы INTINn не для всех номеров запросов, посылаемых через запись в этот регистр. Однако число запросов всегда ограничивается размером таблицы перенаправлений. Регистры контроллеров APIC отображаются на пространство памяти. Все локальные контроллеры APIC используют один и тот же диапазон адресов (по умолчанию базовый адрес FEE0 0000h) — к их регистрам обращаются только программы, исполняемые на их же процессорах, и эти обращения не выводятся на системную шину. Контроллеры I/O APIC доступны всем процессорам, по умолчанию базовый адрес первого I/O APIC — FEC0 0000h, базовые адреса остальных контроллеров (если таковые имеются) назначаются последовательно с шагом 1000h. Часть регистров адресуется непосредственно, большая часть регистров, включая и таблицу перенаправлений, адресуется косвенно.

Шина PCI имеет прогрессивный механизм оповещения об асинхронных событиях, основанный на передаче сообщений MSI (Message Signaled Interrupts). Здесь для сигнализации запроса прерывания устройство запрашивает управление шиной и, получив его, посылает сообщение. Сообщение выглядит как обычная запись двойного слова в ячейку памяти, адрес (32-битный или 64-битный) ишаблон сообщения на этапе конфигурирования устройств записываются в конфигурационные регистры устройства (точнее, функции). В сообщении старшие 16 бит всегда нулевые, а младшие 16 бит несут информацию об источнике прерывания. Устройство (функция) могут нуждаться в сигнализации нескольких типов запросов; в соответствии с его потребностями и своими возможностями система указывает устройству (функции), сколько различных типов запросов оно может вырабатывать. Прерывания через MSI позволяют избежать разделяемости, обусловленной дефицитом линий запросов прерывания в PC. Кроме того, они решают проблему целостности данных: все данные, записываемые устройством до посылки MSI, дойдут до получателя гарантированно раньше начала обработки MSI. Прерывания через MSI от одних устройств в одной системе могут использоваться наряду с обычными INTx# от других устройств. Но устройство (функция), использующее MSI, не должно использовать прерывания через линии INTx#. Механизм MSI может использоваться на системных платах, имеющих контроллер прерываний APIC. Правда, конкретная реализация поддержки MSI может потенциальные возможности облегчения идентификации большого числа запросов прерывания свести лишь к увеличению числа доступных запросов прерываний (и используемых ими векторов). Всем устройствам PCI назначается один и тот же адрес сообщений (Message Address = FEC00020h), по которому в APIC находится регистр IRQ Pin assertion. В сообщении используются лишь младшие 5 бит, в которых указывается номер взводимого запроса прерывания в диапазоне 1–23 (исключая 2, 8 и 13). Прерывания с номерами, используемыми в MSI, не могут использоваться совместно (разделяемо) с прерываниями, полученными другими способами (по линиям запросов от устройств PCI и от других устройств системной платы).

6. Режим прямого доступа к памяти

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

Первый способ - программируемый ввод-вывод (PIO). В этом режиме ввод и вывод данных осуществляет процессор, используя для пересылки свои внутренние регистры. Процессор читает данные из порта (регистра) внешнего устройства и записывает его в нужную область памяти, или наоборот, читает данные из памяти и передает их внешнему устройству (дисковый накопитель, например). Режим PIO определяет, с какой скоростью данные передаются от диска к памяти и от памяти к диску. В самом медленном режиме - PIO mode 0 - время цикла передачи данных не превышает 600 наносекунд. За один цикл к диску и от диска передаются 16 бит (2 байта). Отсюда следует, что теоретическая скорость передачи данных в режиме PIO Mode 0 - 3.3 мегабайта в секунду.

Обмен между двумя устройствами может производиться по разным протоколам и с разными задержками на выдачу тех или иных сигналов. Существует 5 режимов PIO, управляемых процессором. Старший режим PIO4 позволяет работать со скоростью 16.6 Мбайт/c. Второй способ обмена - прямой доступ памяти (DMA -Direct Memory Access). Прямой доступ к памяти в современных вычислительных системах претерпел значительные изменения. Познакомимся с основными принципами организации прямого доступа к памяти. Для реализации режима прямого доступа к памяти, внешнее устройство должно отправить процессору запрос (поэтому такому устройству должна быть выделена специальная линия запроса прерывания).

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

Рис.4. Взаимодействие памяти и внешнего устройства в режиме DMA

Пересылкой данных управляет контроллер DMA. Процессор, в это время, может продолжить выполнение прерванной программы, но доступа к памяти он не имеет и не может вмешаться в процесс обмена, пока контроллер не закончит передачу данных и не выдаст соответствующего сообщения. Режимы контроллера DMA позволяют передавать данные как по одному слову (Single Word), так и по несколько сразу (Multi Word). Передача данных со скоростью до 16.6 Мбайт/c - обычный протокол, со скоростью 66 Мбайт/c (или 100) - протокол UltraDMA. Упрощенная схема обмена внешнего устройства с памятью в режиме прямого доступа к памяти показана на рис.4.

Контроллер DMA имеет несколько каналов. Каждому периферийному устройству, работающему в режиме прямого доступа к памяти выделяется канал с определенным номером. Устройство может послать контроллеру запрос обмена — DRQx и получить разрешение обмена — DACKx#. На шине управления устанавливается сигнал записи или чтения данных при работе внешнего устройства с памятью. Для передачи данных используется шина данных (рис.5.). При операциях с прямым доступом к памяти по каналу DMA адрес порта указывать не требуется, посылаемые сигналы идентифицируются по номеру канала. Временная диаграмма цикла передачи данных из внешнего устройства в память будет выглядеть следующим образом:

Рис.5. Схема обмена сигналами управления для передачи данных в режиме DMA

Получив запрос DRQx ( х - номер канала DMA, выделенного устройству), контроллер DMA запрашивает управление шиной и ждет разрешения от процессора. Процессор прерывает выполнение текущей программы, программирует контроллер прямого доступа на определенный режим передачи данных и посылает сигнал разрешения прямого доступа к памяти. Контроллер выставляет адрес ячейки памяти и формирует сигналы DACKx# и WR#. Сигнал DACKx# указывает на то, что операция выполняется для канала х, WR# определяет режим записи данных, при чтении устанавливается сигнал чтения RD). Контроллер передавая данные модифицирует счетчик адреса и осуществляет передачу одного слова за другим. Контроллер повторяет эти шаги для каждого следующего сигнала DRQx, пока не будет исчерпан счетчик циклов. В последнем цикле обмена контроллер формирует общий сигнал окончания ТС (TerminateCount), который может быть использован для формирования сигнала аппаратного прерывания. При работе в режиме прямого доступа к памяти контроллер DMA выполняет следующие функции:

принимает запрос на прямой доступ к памяти от внешнего устройства;

формирует запрос процессору на захват системной шины;

принимает сигнал, подтверждающий переход процессора в состояние захвата шины внешним устройством (перехода в состояние, при котором процессор отключается от системной шины);

формирует сигнал, сообщающий внешнему устройству о начале выполнения циклов прямого доступа к памяти;

выдает на шину адреса системной шины адрес ячейки оперативной памяти, предназначенной для обмена;

вырабатывает сигналы, обеспечивающие управление обменом данными;

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

Каждый канал контроллера прямого доступа к памяти состоит из 5-ти регистров, четырех 16-разрядных регистров (рис.6) и одного 6-ти разрядного:

регистра текущего адреса (CAR);

регистра циклов прямого доступа к памяти (CWR);

регистра хранения базового адреса блока памяти (BAR);

регистра хранения базового числа циклов прямого доступа к памяти (WCR);

6-разрядного регистра режима (MR).

Рис.6. Каскадное включение контроллеров DMA

Регистр текущего адреса хранит текущий адрес ячейки памяти при выполнении цикла прямого доступа к памяти. После выполнения каждого цикла передачи данных содержимое этого регистра уменьшается на единицу. То есть при выполнении циклов регистр работает в режиме вычитающего счетчика. В режиме инициализации содержимое регистра текущего адреса принимает базовый адрес из регистра хранения базового адреса, а в счетчик циклов загружается базовое число циклов передачи данных. Для организации прямого доступа в память в компьютерах IBM PC/XT использовалась одна 4-канальная микросхема DMA 18237, канал 0 которой был предназначен для регенерации динамической памяти (сейчас регенерацию осуществляет внутреннее устройство управления микросхемы памяти). Каналы 2 и 3 служат для управления передачей данных между дисководами гибких дисков, а также винчестером и оперативной памятью соответственно. Свободным оставался только канал DMA 1. Канал DMA 1 обычно используется звуковыми картами. Один канал DMA может использоваться различными устройствами, но не одновременно. IBM PC/AT -совместимые компьютеры имеют уже 7 каналов прямого доступа к памяти. Как и для контроллеров прерываний, увеличение числа каналов было достигнуто путем каскадного включения двух микросхем i8237, интегрированных в микросхему контроллера периферии (южный мост); канал 0 DMA2 используется для подключения каналов контроллера DMA1 (рис. 6) .

Каналы первого контроллера по-прежнему используются как 8-ми разрядные, каналы второго контроллера используются для передачи 16-ти разрядных данных в одном цикле обмена данными. Рассмотрим устройство контроллера DMA (рис. 7)

Рис.7. Структурная схема контроллера DMA

Структура одного канала показана на примере канала 0. В каждом канале регистры BAR и WCR предназначены для хранения констант - базового адреса и базового числа циклов. Они загружаются в режиме программирования контроллера одновременно с регистрами CAR (базовый адрес памяти) и CWR ( текущий адрес памяти). Регистр режима MR определяет режим работы канала. Он содержит информацию о типе цикла прямого доступа (чтение (ОП ВУ), проверка), режиме изменения регистра текущего адреса (CAR) - увеличение или уменьшение и режиме работы канала - передача по запросу, одиночная передача, блочная передача, каскадирование (работа каскадной схемы контроллера DMA). Блок управления режимом содержит регистр команд и регистр условий. Регистр команд блока управления режимом определяет основные параметры работы канала. Загружается при программировании контроллера микропроцессором. Регистр условий хранит разрешение на прямой доступ каждому каналу (устанавливается программно) и запоминает факт перехода через 0 в регистре хранения базового числа циклов каждого канала. Контроллер DMA может работать в двух основных режимах: в режиме программирования и режиме выполнения циклов прямого доступа к памяти. В режиме программирования процессор работает с контроллером прямого доступа к памяти, как с внешним устройством. После загрузки в контроллер DMA управляющих слов контроллер переходит в пассивное состояние. В этом состоянии контроллер находится до тех пор, пока не поступит запрос на прямой доступ к памяти от внешнего устройства или от процессора. Обнаружив запрос на прямой доступ к памяти, контроллер выставляет процессору запрос на захват системной магистрали и ожидает от него подтверждения захвата шины, т.е. отключения процессора от системной шины и перехода его выходов в состояние высокого сопротивления ( Z-состояние). При получении сигнала подтверждения захвата (HLDA) контроллер начинает выполнять циклы передачи данных в режиме прямого доступа к памяти. Необходимые для управления шиной сигналы вырабатываются самим контроллером DMA. Контроллер DMA можно рассматривать как устройство, являющееся главным абонентом системной шины. С введением шины PCI изменился принцип организации работы внешних устройств с памятью в режиме DMA. На шине PCI отсутствуют сигналы DREQx и DACKx, здесь применяется технология захвата управления шиной внешним устройством (Bus Mastering - BM). Технология захвата управления шиной (busmastering) совместима с протоколом режима UDMA и реализует работу в режиме DMA ( передачу данных из памяти в устройство напрямую или наоборот, минуя процессор) для каждого устройства, которое может быть главным абонентом системной шины. Концепция главного абонента шины делает прямой доступ к памяти излишним. Дополнительно установленная схема главного абонента шины на адаптере внешнего устройства позволяет осуществлять прямой доступ к памяти каждому такому устройству. Адаптер главного абонента шины может вырабатывать все сигналы управления шиной сам и, следовательно, имеет возможность обращаться к области адресов памяти и ввода-вывода любым необходимым способом. Использование внешнего главного абонента шины обеспечивает большую гибкость и эффективность, чем работа с контроллером DMA, но требует более сложных арбитражных операций. Это ведет к существенному увеличению сложности и стоимости устройства, работающего в режиме управления шиной. Можно, конечно, рассматривать устройство управления шиной, расположенное на адаптере внешнего устройства, как форму контроллера DMA, который организует быстрый обмен данными между основной памятью и адаптером. Однако прямой доступ к памяти - это только часть концепции главного абонента шины.

7. Распределение ресурсов, технология Plug and Play

Технология Plug and Play (включай и работай) была разработана известнейшими компаниями Intel, Compag Computer, Microsoft и Phoenix Technologies в 1993 году для решения проблем изменения конфигурации IBM PC-совместимых компьютеров. Наращивание возможностей персонального компьютера осуществляется при помощи плат расширения. Платы расширения используют такие ресурсы ЭВМ как порты ввода-вывода, линии запросов прерывания IRQ, каналы прямого доступа к памяти DMA. Примерное распределение аппаратных ресурсов для некоторых устройств приведено в таблице 1.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее