![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Int 13h
то процессор выполняет ту же процедуру прерывания, используя в качестве номера вектора операнд команды int. Программные прерывания применяются в первую очередь для вызова системных обслуживающих программ - функций DOS и BIOS. С командой int 2In вызова DOS мы уже сталкивались в примере 1-1 и будем встречаться еще многократно. В дальнейшем будут также приведены примеры использования команды int для вызова прикладных обработчиков программных прерываний. Важно подчеркнуть, что описанные действия процессора выполняются совершенно одинаково для всех видов прерываний - внутренних, аппаратных и программных, хотя причины, возбуждающие процедуру прерывания, имеют принципиально разную природу. Большая часть векторов прерываний зарезервирована для выполнения определенных действий; часть из них автоматически заполняется адресами системных программ при загрузке системы. Приведем краткую выдержку из таблицы векторов, позволяющую продемонстрировать разнообразие ее состава: 00h -внутреннее прерывание, деление на 0; 0lh -внутреннее прерывание, пошаговое выполнение (при TF=1); 02h -немаскируемое прерывание (вывод NMI процессора); 08h -аппаратное прерывание от системного таймера; 09h -аппаратное прерывание от клавиатуры; 0Eh -аппаратное прерывание от гибкого диска; 10h - программное прерывание, программы BIOS управления видеосистемой; 13h - программное прерывание, программы BIOS управления дисками; 16h - программное прерывание, программы BIOS управления клавиатурой; IDh -не вектор, адрес таблицы видеопараметров, используемой BIOS; lEh -не вектор, адрес таблицы параметров дискеты, используемой BIOS; 21h - программное прерывание, диспетчер функций DOS; 22h - программное прерывание, адрес перехода при завершении процесса, используемый DOS; 23h -программное прерывание, обработчик прерываний по < Ctrl> /C, используемый DOS; 25h - программное прерывание, абсолютное чтение диска (функция DOS); 26h - программное прерывание, абсолютная запись на диск (функция DOS); 60h...66h - зарезервировано для программных прерываний пользователя; 68h...6Fh - программные прерывания, свободные векторы; 70h -аппаратное прерывание от часов реального времени (с питанием от аккумулятора); 76h -аппаратное прерывание от жесткого диска; Как видно из таблицы, векторы прерываний можно условно разбить на следующие группы: − векторы внутренних прерываний процессора (0lh, 02h и др.); − векторы аппаратных прерываний (08h...0Fh и 70h...77h); − программы BIOS обслуживания аппаратуры компьютера (10h, 13h, 16h и др.); − программы DOS (21h, 22h, 23h и др.); − адреса системных таблиц BIOS (IDh, lEh и др.). Системные программы, адреса которых хранятся в векторах прерываний, в большинстве своем являются всего лишь диспетчерами, открывающими доступ к большим группам программ, реализующих системные функции. Так, видеодрайвер BIOS (вектор 10h) включает программы смены видеорежима, управления курсором, задания цветовой палитры, загрузки шрифтов и многие другие. Особенно характерен в этом отношении вектор 21h, через который осуществляется вызов практически всех функций DOS: ввода с клавиатуры и вывода на экран, обслуживания файлов, каталогов и дисков, управления памятью и процессами, службы времени и т.д. Для вызова требуемой функции надо не только выполнить команду int с соответствующим номером, но и указать системе в одном из регистров (для этой цели всегда используется регистр АН) номер вызываемой функции. Иногда для " многофункциональных" функций приходится указывать еще и номер подфункции (в регистре AL). Прямымдоступомкпамяти (ПДП) называют способ обмена данными, обеспечивающий установление связи и передачу данных между оперативной памятью и периферийным устройством автономно от центрального процессора. При наличии кэш-памяти (внутренней или внешней) режим ПДП позволяет осуществлять обмен данными между ОП и периферийным устройством параллельно с выполнением процессором основной программы. Использование режима ПДП разгружает процессор от обслуживания операций ввода-вывода и способствует повышению общей производительности ВМ. Прямой доступ к памяти требует более сложного интерфейса, по сравнению с программноуправляемой передачей. Для управления обменом данными в режиме ПДП применяют специальные управляющие контроллеры, которые в зависимости от вариантов аппаратной реализации подразделяются на специализированные процессоры ввода-вывода и контроллеры ПДП. В отличие от других способов обмена данными в режиме ПДП управляющий контроллер после получения запроса на организацию передачи от периферийного устройства принимает на себя функции управления системной шиной, при этом сам процессор отключается от системной шины.
Принципыпостроениясистемыввода - вывода. Существует два принципа построения и соответственно структуры систем вводавывода: 1. С общим интерфейсом (рис. 6.1.) 2. С множеством интерфейсов и каналами ввода-вывода (рис. 6.2.). Рис. 6.1. Структурасистемыввода - выводасобщиминтерфейсом. Особенности системы ввода-вывода с общим интерфейсом: − в каждый момент времени обмен осуществляется только между одной парой модулей; − модули делят один общий ресурс – общий интерфейс; − Пр – один из модулей; − передача осуществляется в едином формате ОШ (соответствует машинному слову Пр или ширине выборки ОП); − ПУ, работающие с отдельными байтами, используют программноуправляемую передачу (ПУП); − ПУ, работающие с блоками данных, используют передачу ПДП. Сложные контроллеры; − аппаратура ввода-вывода рассредоточена по отдельным модулям; − Пр задействован частично для ПДП и полностью для ПУП; − имеется несколько модификаций: ОШ и мультишина. Система обмена малых ЭВМ через общую шину эффективна лишь при сравнительно небольшом наборе периферийных устройств.
Свойства системы с множеством интерфейсов: − централизация аппаратуры управления вв/выв в канале (процессоре) вв/выв; − обмен между ОП и ПУ осуществляется через канал (процессор) вв/вывода; − отсутствует однородность в структуре потоков и форматов передаваемых данных; − наличие 4-х уровней интерфейсов. Рис. 6.2. Структурасистемыввода - выводасмножествоминтерфейсовиканаламиввода - вывода Основные параметры интерфейсов: 1) пропускная способность; 2) максимальная частота передачи информационных сигналов через интерфейс; 3) максимальное допустимое расстояние между устройствами; 4) динамические параметры интерфейса: время передачи слова и блока данных с учётом продолжительности процедур подготовки и завершения передачи; 5) общее число линий в интерфейсе; 6) информационная ширина интерфейса (число параллельно передаваемых бит); 7) связность интерфейса (одно- и многосвязные характеризуются соответственно единственным или множеством путей передачи информации между устройствами).
Архитектура современной ЭВМ общего назначения приведена на рис.1.2. ЦП – центральный процессор; ПУУ – устройство группового управления периферийными устройствами; АКК - адаптер канал-канал; СП – специализированный процессор; Д – дисплей; АПД – аппаратура передачи данных; ПМ – пишущая машинка. Селекторныйканал осуществляет обмен между ОЗУ и ВЗУ. При этом скорость обмена составляет десятки Мб/с. Т.к. скорость передачи высокая, а, следовательно, время, за которое происходит весь обмен данными, короткое, канал поддерживает связь ОЗУ с выбранным ВЗУ все время пока не закончится обмен. Мультиплексныйканал осуществляет обмен между ОЗУ и низкоскоростными внешними устройствами. При этом ОЗУ может выдавать и принимать данные со скоростью сотни тысяч байт в секунду, а УВВ принимают и передают данные со скоростью порядка тысячи байт в секунду и медленнее. Чтобы полностью использовать пропускную способность канала, его снабжают своим быстродействующим ЗУ и системой переключения с одного УВВ на другое (со стороны УВВ) и с одного блока ОЗУ на другой (со стороны ОЗУ). Такой канал работает в 2 такта: во-первых, он накапливает данные из УВВ в ячейках своей памяти, закрепленных за этим УВВ, переключаясь, по мере готовности передать или принять данные, с одного УВВ на другое, а во-вторых, обменивается более крупными партиями данных между своими ЗУ и ОЗУ. За эту способность к быстрому переключению получил название мультиплексного. Одновременно с введением блок-мультиплексных каналов " обычные" мультиплексные каналы стали именоваться байт - мультиплексными - их мультиплексирование происходило на уровне отдельных байтов. Некоторые байтмультиплексные каналы имели селекторные подканалы (часть аппаратуры канала, ответственная за выполнение одной операции ввода-вывода), которые в монопольном режиме могли работать с более быстрой периферией (например, с дисплейными терминалами). У таких подканалов производительность могла достигать 500 Кбайт/с. Для стандартизации подключения всех ВЗУ и УВВ к магистралям, идущим от каналов к устройствам, все электрические параметры этих магистралей стандартизованы. Шина PCI. Создатели PCI отказались от традиционной концепции, введя еще одну шину между процессором и обычной шиной ввода-вывода. Вместо того чтобы подключить ее непосредственно к шине процессора, весьма чувствительной к подобным вмешательствам, они разработали новый комплект микросхем контроллеров для расширения шины (рис. 4.39). PCI добавляет к традиционной конфигурации шин еще один уровень. При этом обычная шина ввода-вывода не используется, а создается фактически еще одна высокоскоростная системная шина с разрядностью, равной разрядности данных процессора. Компьютеры с шиной PCI появились в середине 1993 года, и вскоре она стала неотъемлемой частью компьютеров высокого класса.
Рис. Принциппостроенияшины PCI
|