Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Контроллеры устройств ввода-вывода.




Устройства ввода-вывода состоят из двух частей – механической и электронной. Электронная часть устройства называется контроллером устройства. Часто он представляет собой печатную плату, вставляемую в слот расширения. Механическая часть находится в самом устройстве. Интерфейс между устройством и его контроллером должен удовлетворять какому-либо официальному стандарту ANSI, ISO, IEEE и т.д., либо фактическому стандарту, например, IDE или SCSI. Работа контроллера состоит в конвертировании последовательного потока битов в блоки байтов, а также коррекции ошибок. Обычно контроллер содержит несколько регистров, с помощью которых операционная система управляет устройствами, записывая или считывая из них данные. Некоторые устройства имеют даже буфер данных, например, видеопамять.

Существуют два альтернативных способа реализации доступа к управляющим регистрам и буферам данных устройств ввода-вывода. Первый способ – каждому управляющему регистру назначается номер порта ввода-вывода, 8- или 16-разрядное целое число. Таким образом центральный процессор может считывать управляющие регистры устройства в свой регистр или записывать содержимое своего регистра в регистр устройства ввода-вывода. При такой схеме адресные пространства оперативной памяти и устройств ввода-вывода не пересекаются (Рис. 30а).

 

 

а) б) в)

Рис. 30. а) Раздельные адресные пространства, б) отображаемый на адресное пространство памяти ввод-вывод, в) гибрид.

 

Второй подход – в отображении всех управляющих регистров периферийных устройств на адресное пространство памяти (Рис. 30б). Каждому управляющему регистру назначается уникальный адрес в памяти. Такая система называется отображаемым на адресное пространство памяти вводом-выводом. Адреса отводятся обычно на вершине адресного пространства. Существуют также гибридные схемы с отображаемыми на адресное пространство памяти буферами данных и отдельными портами ввода-вывода. Эта схема широко применяется в IBM PC совместимых компьютерах на базе процессоров x86 и Pentium, где помимо портов ввода-вывода с номерами от 0 до 64 К адресное пространство оперативной памяти от 640 Кбайт до 1 Мбайт зарезервировано под буферы различных периферийных устройств.

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

Недостаток такой схемы в том, что при едином адресном пространстве все модули памяти и все устройства ввода-вывода должны изучать все обращения процессора к памяти, чтобы установить, на какие из них реагировать. Это несложно реализовать, если у компьютера есть одна общая шина (Рис. 30в). Однако, при увеличении скорости обмена данными между процессором и памятью медленные устройства ввода-вывода начинают мешать, сильно ограничивая производительность системы. Поэтому в современных компьютерах используется выделенная высокоскоростная шина для обмена данными между процессором и памятью. При этом на шину памяти выставляется специальное устройство, передающее все адреса устройствам ввода-вывода. Другой путь – в фильтрации адресов специальной микросхемой моста PCI. Эта микросхема содержит регистры диапазона, заполняемые при загрузке компьютера. Например, некоторый диапазон адресов может быть помечен как не относящийся к памяти и передается не памяти, а на шину PCI.

 


Поделиться:

Дата добавления: 2014-11-13; просмотров: 309; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты