Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Прямой доступ к памяти (DMA)




Использование механизмов прерывания позволяет разумно загружать процессор в то время как устройство ввода/вывода занимается своей работой. Но запись или чтение большого количества информации из адресного пространства ввода/вывода, например, с диска, приводит к большому количеству операций, которые должен выполнить процессор. Для освобождения процессора от операций последовательного вывода данных из ОП или последовательного ввода в нее был предложен механизм прямого доступа внешних устройств в память.

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

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

Получив по одному из каналов DMA сигнал запроса на передачу данных от внешних устройств. Контроллер по шине управления сообщает процессору о желании взять на себя управление локальной магистралью. Процессор передает управление ею контроллеру DMA, известив его специальным сигналом. Контроллер DMA выставляет на адресную шину адреса памяти для передачи очередной информации и по второй линии канала прямого доступа к памяти сообщает устройству о готовности магистрали к передачи данных. После этого и шина данных и управления, контроллер DMA, устройство ввода/вывода и память осуществляют процесс обмена информацией, после чего контроллер прямого доступа к памяти извещает процессор о своем отказе от управления магистрали и процессор берет на себя руководящие функции. При передаче большого количества данных процесс повторяется циклически.

При прямом доступе к памяти процессор и контроллер DMA поочередно управляют локальной магистралью. Это несколько снижает производительность процессора, т.к. при выполнении команд или их чтении во внутренний КЭШ, он должен поджидать освобождающие магистрали, но в целом производительность вычислительной системы существенно возрастает.

 

Логические принципы операции ввода/вывода

Все устройства отличаются по выполняемым функциям и характеристикам направления, по которым различаются устройства:

1. Скорость обмена информацией в диапазоне от нескольких байтов в секунду (клава) до нескольких ГБ (сетевые карты)

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

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

4. Часть устройств может уметь передавать данные только по одному байты последовательно (клава, символьные). Часть устройств усеет передавать блок байтов как единое целое (блочные устройства, дисковод)

5. Часть устройств предназначены только для ввода информации. Другие для вывода. И устройства обладающие обеими этими функциями

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

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

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

Основная часть
Базовая система
Драйверы клавиатуры
IDI
IDE контроллер
IDE устройства
Контроллер
Клавиатура

 

 

 


Схема представляет собой принцип уровневого построения системы ввода/вывода для ОС.

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

2 уровень. Драйверы устройств ввода/вывода обеспечивают интерфейс между аппаратным обеспечением и уровнем базовой подсистемы ввода/вывода, кот обеспечивает интерфейс и обеспечением и уровнем базой системой ввода/вывода, который представляет механизм взаимодействия между драйверами и программной частью вычислительной системы.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...