Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Работа микропроцессора при выполнении программного прерыванияСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Программы-обработчики прерываний могут находиться в различных частях основной памяти (место их расположения в разных версиях операционной системы может быть различным). Для обеспечения совместимости программ под разными версиями DOS обращение к обработчикам прерываний осуществляется по их номерам. Связь между номером прерывания и адресом основной памяти, соответствующим точке входа в обработчик прерывания, осуществляется через таблицу векторов прерываний, занимающую 1 Кбайт сегмента 0 основной памяти. Поскольку адрес любого байта основной памяти определяется базовым адресом сегмента (2 байта) и смещением в сегменте (2 байта), вектор прерываний разделен на четверки байтов, имеющие структуру, показанную на рис.12.3. Рис. 12.3. Структура записи в векторе прерываний Для получения адреса обработчика прерывания № nh необходимо: • по номеру прерывания определить адрес первого байта «четверки» в векторе прерываний (он равен п*4); • выбрать 4 байта из 0 сегмента основной памяти, начиная с байта 4nh; • два последних байта поместить в регистр CS; • два первых байта поместить в счетчик команд IP. После этого начнет выполняться первая команда обработчика прерывания № nh. Таблица векторов прерываний используется не только для хранения адресов обработчиков прерываний, но и для указания на места хранения в ОП служебной информации. Для этой цели служат векторы прерываний 1Dh, 1Eh, 1Fh, 41h, 43h, 46h, 4Ah. Так, вектор IDh содержит адрес таблицы пара- метров видеосистемы (а не обработчика прерывания); вектор 1Eh - таблицы параметров дискет; 1Fh - адрес знакогенератора адаптера CGA и т.д. Команда INT, кроме определения адреса обработчика прерывания, выполняет следующие действия: • сохраняет в стеке часть слова состояния процессора: (SP) <— (SP) – 2 (вершина стека) <— (регистр флагов) (SP) <— (SP) – 2 (вершина стека) <— (CS) (SP) <— (SP) – 2 (вершина стека) <— (IP) • сбрасывает флаги разрешения прерывания и трассировки: (IF) <— О (TF) <— О • заносит адрес точки входа обработчика прерываний в регистры CS и IP: (CS) <— (номер_прерывания * 4+ 2) (IP) <— (номер_прерывания * 4) Команда INT относится к парным командам - каждый обработчик прерывания заканчивается командой IRET (возврат из прерывания). По команде IRET (без параметров) выполняются следующие действия: (IP) <— (вершина стека) (SP) <— (SP)+2 (CS) <— (вершина стека) (SP) <—- (SP)+2 (регистр флагов) <— (вершина стека) (SP) <— (SP) + 2 Каждый обработчик прерываний BIOS и DOS может выполнять несколько различных функций. В команде INT никак не определяется, какую именно функцию должен выполнить обработчик прерываний. Поэтому перед обращением к команде INT в регистры микропроцессора должна быть занесена информация, определяющая, какую функцию необходимо выполнить. Например, по команде INT 13h могут быть выполнены следующие функции: 00h - сброс дисковой системы; 0lh- определение состояния дисковой системы (успешное завершение, некорректная команда, не найдена адресная метка и т.д.); 02h - чтение секторов в основную память; 03h - запись секторов из основной памяти; 04h - контроль секторов (есть ошибка - нет ошибки); 05h- форматирование дорожки; 06h - для жесткого диска - форматирование дорожки с установкой флагов плохих секторов; 07h - для жесткого диска - форматирование диска, начиная с указанной дорожки; 08h - определение типа и текущих параметров диска... и т.д. Нужно иметь в виду, что одни и те же номера функций могут обозначать разные операции для различных устройств; некоторые функции отсутствуют в ранних версиях операционной системы, а некоторые - претерпели изменения в последующих версиях. При выполнении команды INT номер функции должен содержаться в регистре АН микропроцессора. Остальные регистры должны включать необходимые для этой функции параметры. Например, для функции 02h остальные регистры микропроцессора должны содержать: AL - число читаемых секторов; СН - номер дорожки, на которой расположены читаемые сектора; CL - номер сектора; DH - номер головки; DL - номер дисковода; ES:BX - адрес буфера для чтения. В результате выполнения этой функции при возникновении ошибки флаг CF устанавливается в 1; в регистр AL заносится число считанных секторов, в регистр АН записывается код состояния, сформированный после окончания операции: 00 - успешное завершение; 01 - некорректная команда; 02 - адресная метка не найдена; FF - сбой операции опроса (для жесткого диска). Кроме команд INT и IRET в IBM PC, с прерываниями работают команды CLI (запрещение маскируемых прерываний) и STI (отмена запрета прерывания). 1. Для чего необходима стековая память? 2. Как организована стековая память IBM PC? 3. Чем различаются стандарты XMS и EMS использования дополнительной памяти IBM PC? 4. Каким образом определяется физический адрес ОП в реальном и в защищенном режимах? 5. Для чего необходим регистр флагов в исполнительном блоке МП? 6. Каким образом взаимодействуют узлы МП при выполнении арифметической команды? 7. Чем объясняется использование матричной организации ОП? 8. Каким образом заносится информация в постоянное ЗУ? 9. В каких случаях приходится сталкиваться с "вращением байтов" и чем оно объясняется? 10. Чем отличается память с выборкой по содержанию от памяти с произвольным доступом? 11. С какой целью в ЭВМ реализован режим прерываний? 12. Какая информация включается в состав слова состояния процессора? 13. Какие действия выполняют команды, вызывающие программные прерывания? 14. В чем заключается подготовка ЦП к выполнению программного прерывания?
ЛЕКЦИЯ №13. УПРАВЛЕНИЕ ВНЕШНИМИ УСТРОЙСТВАМИ Принципы управления Вычислительные машины, помимо процессоров и основной памяти (образующих ее ядро), содержат многочисленные периферийные устройства (ПУ): ВЗУ и УВВ. Передача информации с периферийного устройства в ЭВМ называется операцией ввода, а передача из ЭВМ в ПУ - операцией вывода. Производительность и эффективность ЭВМ определяются не только возможностями ее процессора и характеристиками ОП, но и составом ПУ, их техническими данными и способами организации их совместной работы с ЭВМ. При разработке систем ввода-вывода ЭВМ особое внимание обращается на решение следующих проблем: • должна быть обеспечена возможность реализации машин с переменным составом оборудования (машин с переменной конфигурацией), в первую очередь с различным набором периферийных устройств, с тем чтобы пользователь мог выбирать состав оборудования (конфигурацию) машины в соответствии с ее назначением, легко дополнять машину новыми устройствами; • для эффективного и высокопроизводительного использования оборудования в ЭВМ должны реализоваться одновременная работа процессора над программой и выполнение периферийными устройствами. процедур ввода-вывода; • необходимо упростить для пользователя и стандартизовать программирование операций ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того или иного периферийного устройства; • необходимо обеспечить автоматическое распознавание и реакцию ядра. ЭВМ на многообразие ситуаций, возникающих в ПУ (готовность устройства, отсутствие носителя, различные нарушения нормальной работы и др.). Первый шаг в совершенствовании структуры ЭВМ с целью повышения производительности был сделан при разработке второго поколения, когда впервые была обеспечена автономность внешних устройств. Сначала она была необходима для согласования скорости работы устройств ЭВМ. Но автономность потребовала проведения проверок исправности устройств при каждом обращении к ним. Появилась определенная технология обращения к автономным внешним устройствам - интерфейс. Когда эту технологию унифицировали, появилось понятие стандартного интерфейса. Стандартизация интерфейсов ввода-вывода привела к возможности гибко изменять конфигурацию вычислительных машин (количество и состав внешних устройств, расширять комплект ЭВМ за счет подключения новых устройств). Затем появилась концепция виртуальных устройств, позволяющая совмещать различные типы ЭВМ, операционные системы. Совместимость распространилась и на работу машин разной конфигурации (можно использовать соответствующее программное обеспечение и при физическом отсутствии необходимых устройств). Изменилась и технология работы - при отсутствии печатающих устройств файлы направлялись в виртуальное устройство, где и накапливались, а реально распечатывались на другой машине. Во внешние устройства стали встраивать свою основную память, объем которой должен обеспечивать вывод целой страницы (например, текста) при плотности 600 точек/дюйм - этот объем превышает иногда объем основной памяти ЭВМ. Необходимость пересчета при преобразовании векторных шрифтов в матричные привела к необходимости включить в состав устройств отображения информации специальные графические процессоры матричной архитектуры, в качестве которых часто используются транспьютеры. При разработке пятого поколения ЭВМ была заложена интеллектуализация общения: речевой ввод и вывод; графический ввод; ввод текстовой информации без клавиатуры; естественно-языковое общение; общение на разных естественных языках. Все это и явилось основой для совершенствования систем, обеспечивающих связь ЭВМ с периферийными устройствами. В общем случае для организации и проведения обмена данными между двумя устройствами требуются специальные средства: • специальные управляющие сигналы и их последовательности; • устройства сопряжения; • линии связи; • программы, реализующие обмен. Весь этот комплекс линий и шин, сигналов, электронных схем, алгоритмов и программ, предназначенный для осуществления обмена информацией, называется интерфейсом. В зависимости от типа соединяемых устройств различаются: • внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД), предназначенный для сопряжения элементов внутри системного блока ПЭВМ; • интерфейс ввода-вывода - для сопряжения различных устройств с системным блоком (клавиатурой, принтером, сканером, мышью, дисплеем и др.); • интерфейсы межмашинного обмена (для обмена между разными машинами) предназначены для сопряжения различных ЭВМ (например, при образовании вычислительных сетей); • интерфейсы "человек - машина" - для обмена информацией между человеком и ЭВМ. Для каждого интерфейса характерно наличие специального аппаратурного комплекса (рис.13. 1). Рис. 13.1. Место интерфейса в аппаратурном комплексе Характер использования этого аппаратурного комплекса определяется технологией обмена, определенным церемониалом, идеологией данного интерфейса, протоколом общения. Особое место занимает человеко-машинный интерфейс, реализующий специфические методы организации общения. Например, церемониал человеко-машинного общения предусматривает "дружественность пользователю", которая может обеспечиваться техническими средствами, программами и технологией общения. Если интерфейс обеспечивает обмен одновременно всеми разрядами передаваемой информационной единицы (чаще всего байта или машинного слова), он называется параллельным интерфейсом. Внутренний интерфейс ЭВМ всегда делается параллельным или последовательно-параллельным (если одновременно передается не вся информационная единица, а ее часть, содержащая несколько двоичных разрядов, например, i8088 обеспечивает побайтовый, a 80386SX - двухбайтовый обмен через системную магистраль, тогда как основная информационная единица - машинное слово - имеет длину у 8086 - 2 байта, а у 80386 - 4). Интерфейсы межмашинного обмена обычно последовательные, в которых обмен информацией производится по одному биту последовательно. Для параллельного и последовательно-параллельного интерфейса необходимо, чтобы участники общения были связаны многожильным интерфейсным кабелем (количество жил не меньше числа одновременно передаваемых разрядов - битов). В последовательных интерфейсах участники общения связываются друг с другом одно-двухпроводной линией связи, световодом, коаксиальным кабелем, радиоканалом. В зависимости от используемых при обмене программно-технических средств интерфейсы ввода-вывода делятся на два уровня: физический и логический (рис-13.2). В зависимости от степени участия центрального процессора в обмене данными в интерфейсах могут использоваться три способа управления обменом: • режим сканирования (так называемый "асинхронный" обмен); • синхронный обмен; • прямой доступ к памяти. Для внутреннего интерфейса ЭВМ режим сканирования предусматривает опрос центральным процессором периферийного устройства (ПФУ): готово ли оно к обмену, и если нет - продолжение опроса периферийного устройства (рис.13.3).
Операция пересылки данных логически слишком проста, чтобы эффективно загружать сложную быстродействующую аппаратуру процессора, в результате чего в режиме сканирования снижается производительность вычислительной машины. Вместе с тем при пересылке блока данных процессору приходится для каждой единицы передаваемых данных (байт, слово) выполнять довольно много команд, чтобы обеспечить буферизацию данных, преобразование форматов, подсчет количества переданных данных, формирование адресов в памяти и т.п. В результате скорость передачи данных при пересылке блока данных даже через высокопроизводительный процессор может оказаться неприемлемой для систем управления, работающих в реальном масштабе времени. Режим сканирования упрощает подготовку к обмену, но имеет ряд недостатков: • процессор постоянно задействован и не может выполнять другую работу; • при большом быстродействии периферийного устройства процессор не успевает организовать обмен данными.
В синхронном режиме центральный процессор выполняет основную роль по организации обмена, но в отличие от режима сканирования не ждет готовности устройства, а осуществляет другую работу. Когда в нем возникает нужда, внешнее устройство с помощью соответствующего прерывания обращает на себя внимание центрального процессора. Для быстрого ввода-вывода блоков данных и разгрузки процессора от управления операциями ввода-вывода используют прямой доступ к памяти (DMA - Direct Memory Access). Прямым доступом к памяти называется способ обмена данными, обеспечивающий автономно от процессора установление связи и передачу данных между основной памятью и внешним устройством. В режиме прямого доступа к памяти используется специализированное устройство - контроллер прямого доступа к памяти, который перед началом обмена программируется с помощью центрального процессора: в него передаются адреса основной памяти и количество передаваемых данных. Затем центральный процессор от контроллера прямого доступа к памяти отключается, разрешив ему работать, и до окончания обмена может выполнять другую работу. Об окончании обмена контроллер прямого доступа к памяти сообщает процессору. В этом случае участие центрального процессора косвенное. Обмен ведет контроллер прямого доступа к памяти. Прямой доступ к памяти (ПДП): • освобождает процессор от управления операциями ввода-вывода; • позволяет осуществлять параллельно во времени выполнение процессором программы с обменом данными между внешним устройством и основной памятью; • производит обмен данными со скоростью, ограничиваемой только пропускной способностью основной памяти и внешним устройством. ПДП разгружает процессор от обслуживания операций ввода-вывода, способствует увеличению общей производительности ЭВМ, дает возможность машине более приспособлено работать в системах реального времени. Прямой доступ к памяти При работе в режиме прямого доступа к памяти контроллер ПДП выполняет следующие функции: • принимает запрос на ПДП от внешнего устройства; • формирует запрос микропроцессору на захват шин системной магистрали; • принимает сигнал, подтверждающий вход микропроцессора в состояние захвата (перехода в z-состояние, при котором процессор отключается от системной магистрали); • формирует сигнал, сообщающий внешнему устройству о начале выполнения циклов ПДП; • выдает на шину адреса системной магистрали адрес ячейки ОП, предназначенной для обмена; • вырабатывает сигналы, обеспечивающие управление обменом данными; • по окончании ПДП контроллер либо организует повторение цикла ПДП, либо прекращает режим ПДП, снимая запросы на него. Циклы ПДП выполняются с последовательно расположенными ячейками памяти, поэтому контроллер ПДП имеет счетчик числа переданных байтов. На рис. 13.4 приведена схема взаимодействия устройств микропроцессорной системы в режиме ПДП. Контроллеры ПДП (КПДП) в IBM PC совместимы снизу-вверх, т.е. программы, написанные с использованием КПДП ранних моделей ЭВМ, нормально работают и на более поздних моделях ЭВМ.
|
||||||||
Последнее изменение этой страницы: 2016-04-07; просмотров: 832; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.44.207 (0.008 с.) |