![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Сказка 5. Организация внешних устройств
Компьютерные сказки Закон физики: «Скорость стука выше скорости звука». Если Коба стучит, слышит вся тюрьма, но воспринимает только Камо. Сказка 5. Организация внешних устройств Представим картинку: директор московской школы №1 средней проводит мониторинг уборки коридора (собирает процент выполнения). Директор стоит перед входом в коридор, куда ему вход запрещён приказом министра образования. В коридор выходят двери нескольких комнат, в каждой комнате по уборщице: Маша, Даша, Глаша, Саша, Паша, Тася, Тося. Директор кричит в коридор: «Тася!» Его слышат все, но только Тася высовывает голову в дверь и отвечает: «Чего табе?». Директор кричит: «Дай процент!». Тася отвечает: «Пятнадцать». Директор: «Мало!». Тася в ответ: «Тады восемьдесят». Директор уходит писать отчёт в министерство образования. Это довольно точная модель связи процессора с внешними устройствами. Прежде, чем разбирать процесс обмена, мы должны решить ряд вопросов: o Коммуникации o Опознание внешнего устройства o Средства внешнего устройства, принимающие и передающие.
Уважаемый читатель! Вы можете отметить преимущества и недостатки описанных схем? Теперь начинается старая история. Описана всего лишь упрощенная схема. Надо понять зачем нужны порты, что в них может храниться, как в порт попадает число, как извлекается. Начнём с функционального назначения. Порт может содержать: · Значение, полученное на внешнем устройстве · Значение, переданное на внешнее устройство процессором · Значение, определяющее состояние внешнего устройства · Значение, определяющее поведение внешнего устройства. Например, ввод с клавиатуры. Все клавиши перенумерованы, номер клавиши называется «скен-код». Вы нажали клавишу на клавиатуре, её скен-код появляется в порту клавитуры. Как только в порту клавитуры появляется значение, контроллер клавитуры устанавливает прерывание на линии прерывания. Прерывание добирается до процессора. Возможно, процессор выполнит прерывание и управление перейдёт к обработчику прерываний от клавитуры. Обработчик содержит команду IN N, где N – адрес порта клавиатуры. Когда будет выполнена эта команда, скен-код попадёт в процессор.
Что-то ощутимо запахло мистикой. Давайте конкретнее. В команде IN, расположенной в обработчике прерываний, не содержится адрес результата. Придётся вернуться к схеме процессора (рис.3). Процессор выполняет команду IN. Команда выбирается в регистры АЛУ (Арифметико-логическое устройство). АЛУ формирует пакет, состоящий из признака команды чтения R и адреса порта. Этот пакет выбрасывается в общую шину. Как было описано ранее, пакет попадает в контроллеры всех внешних устройств, но реагирует только устройство, имеющее порт N. Контроллер соответствующего устройства выводит значение порта (I) в шину данных. Это значение доползает до процессора и заносится в регистр общего назначения, обычно R1. Одной из следующих команд обработчика это число переносится в оперативную память. Было бы интересно проследить дальнейший путь прочитанного числа, но это в большей степени относится к функциям операционной системы.
На рис. 4 показана схема вывода в порт. Процессор выбирает команду W N. Будущее значение порта должно быть заранее занесено в общий регистр R1. АЛУ формирует пакет, состоящий из признака команды записи W, адреса порта N, значения I. Как показано в схеме, пакет выводится в общую шину. По общей шине пакет попадает на все подключённые устройства, но только устройство с нужным адресом выбирает данное I и заносит в соответствующий порт. Остальные устройства не регируют. По этой схеме происходит запись, например, в таймер, устанавливается режим принтера и т.д. Внешнее устройство может находится в различных состояниях. Оно может быть готово, либо нет. На принтере может отсутсвовать бумага, может произойти замятие бумаги и т.д. Каждому состоянию можно однозначно сопоставить двоичное целое без знака. Тогда каждому состоянию может соответствовать значение порта устройства. Процессор может считывать это значение. После чего операционная система оценивает состояние устройства и принимает решение. Здесь дейсвует партийный принцип принятия решений: ситуация возникает в низовой ячейке, но решение может принимать только генеральный секретарь. Если у рядового партийца понос, фенолфталеин (пурген) ему выдал секретарь. И, наконец, порты, определяющие рабочее состояние внешнего устройства. Можно назвать это параметрическим состоянием. Принтер может находится в графическом, либо текстовом режиме. Зависит это от значения соответствующего порта. Это значение по разобранной схеме устанавливает процессор. Как отдельное внешнее устройство организованы три регистра: Таймер, компаратор, системные часы. Системные часы ─ регистр, в который с потоянной частотой прибавляется единица. Эти регистры работают на независимом питании, поэтому служба времени функционирует при отключённом компютере. Компаратор ─ регистр, к которому с постоянной частотой прибавляется единица. Первоначальную установку выполняет процессор, передавая в порт значение. Как только значение компаратора станет равным системным часам, возникает прерывание. Этот механизм можно использовать для генерации события в заданный момент времени. Таймер ─ регистр (порт), из которого с постоянной частотой вычитается единица. Если значение регистра равно нулю, возникает прерывание от таймера. В процессоре Intel значение таймера восстанавливаеися и события повторяются периодически. Начальное значения порта устанавливает прцессор, передавая в порт значение. Таким образом, задаётся частота регулярного события. Процессор IBM 360/370 такое восстановление не проводил. При необходимости это делала операционная система. Показанные в серии сказок принципы функцинирования компьютера должны привести читателя к важному выводу. Нельзя отдельно понять аппаратные и программные средства. Компьютер следует понимать как программно-аппаратную совокупность. О компьютере можно писать долго. И по-разному. Я попытался написать для читателей, которым интересно знать «как оно устроено». Устроено оно непросто. Но физики, в первую очередь, народ любопытный. Хочется спросить. Могут ли несколько устройств одновременно занять шину? В одной умной книге я встретил фразу: «Порт есть абстрактное, физически не существующее устройство». С чьей точки зрения это абсолютно точно и м чьей совершенно неверно? Ну а мне пора честь знать. Конец. Список литературы 2. Крылов Е.В., Типикин Н.Г. Принципы функционирования ЭВМ. Учебное пособие по курсам «Технология программирования» и «Операционные системы» для заочного отделения. - Обнинск: ИАТЭ, 2002.- 134 с.
|