Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bilety_po_arkhitekture_OTVET.doc
Скачиваний:
6
Добавлен:
27.09.2019
Размер:
727.04 Кб
Скачать
  1. Внутренняя конфигурация процессора 8086

В июне 1978 года Intel совершила революцию, представив свой новый процессор 8086. Это был один из первых 16-разрядных микропроцессоров на рынке; в то время все другие процессоры были 8-разрядными. Процессор 8086 имел 16-разрядные внутренние регистры и мог выполнять программное обеспечение нового типа, использующее 16-разрядные команды. Он также имел 16-разрядную внешнюю шину данных и поэтому мог передавать одновременно 16 бит данных в память.

Разрядность шины адреса составляла 20 бит, и процессор 8086 мог адресовать память емкостью 1 Мбайт (2 в 20-й степени). В то время это казалось чудом, так как большинство других микросхем имели 8-разрядные внутренние регистры, 8-разрядную внешнюю шину данных и 16-разрядную шину адреса и могли адресовать не более 64 Кбайт оперативной памяти (2 в 16-й степени).

В большинстве персональных компьютеров того времени использовались 8-разрядные процессоры, которые работали под управлением 8-разрядной операционной системы СР/М (Control Program for Microprocessors - управляющая программа для микропроцессоров) и такого же программного обеспечения. Плата и интегральные микросхемы как правило были также 8-разрядными. Тогда производство полностью 16-разрядной системной платы с памятью было настолько дорогостоящим, что такой компьютер вряд ли кто-либо мог позволить себе купить.

Стоимость процессора 8086 была довольно высокой - для него требовалась 16-разрядная шина данных, а не более дешевая 8-разрядная. Доступные в то время системы были 8-разрядными, и потому процессоры 8086 продавались плохо. В Intel поняли, что пользователи не хотят (или не могут) так дорого платить за дополнительную эффективность 16-разрядного процессора, и через какое-то время была представлена своего рода "усеченная" версия процессора 8086, названная 8088. В ней, по существу, были удалены 8 из 16 разрядов на шине данных, и теперь процессор 8088 мог рассматриваться как 8-разрядная микросхема с точки зрения ввода и вывода данных. Однако, поскольку в нем были полностью сохранены 16-разрядные внутренние регистры и 20-разрядная шина адреса, процессор 8088 выполнял 16-разрядное программное обеспечение и мог адресовать оперативную память емкостью 1 Мбайт.

  1. Классы сигналов прерывания. Приоритеты прерывания. Обработка программного прерывания. Векторная система прерываний. Распределение прерываний в пк на базе процессора х86

Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.

В зависимости от источника возникновения сигнала прерывания делятся на:

асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание

синхронные или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;

программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения , драйверов и операционной системы.

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

Относительное обслуживание прерываний означает, что если во время обработки прерывания поступает более приоритетное прерывание, то это прерывание будет обработано только после завершения текущей процедуры обработки прерывания.

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

Вектор прерывания — закреплённый за устройством номер, который идентифицирует соответствующий обработчик прерываний. Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Местоположение таблицы зависит от типа и режима работы процессора.

Программное прерывание — синхронное прерывание, которое может осуществить программа с помощью специальной инструкции.

В процессорах архитектуры x86 для явного вызова синхронного прерывания имеется инструкция Int, аргументом которой является номер прерывания (от 0 до 255). В IBM PC-совместимых компьютерах обработку некоторых прерываний осуществляют подпрограммы BIOS, хранящиеся в ПЗУ, и это служит интерфейсом для доступа к сервису, предоставляемому BIOS. Также, обслуживание прерываний могут взять на себя BIOS карт расширений (например, сетевых или видеокарт), операционная система и даже обычные (прикладные) программы, которые постоянно находятся в памяти во время работы других программ (т. н. резидентные программы). В отличие от реального режима, в защищённом режиме x86-процессоров обычные программы не могут обслуживать прерывания, эта функция доступна только системному коду (операционной системе).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]