Системные прерывания можно разделить на внешние и внутренние.
Ø Внешние – это аппаратные прерывания. Инициируются при обращении к процессору внешних устройств. Например, прерывания таймера происходят 18 раз в секунду.
Аппаратные прерывания не согласуются с работой программы и могут быть весьма разнообразными. Управляет аппаратными прерываниями специальный контроллер прерываний. Одна из его функций – определение очередности выполнения, когда несколько прерываний выполняются одновременно.
Контроллер прерываний находится на материнской плате. В самых первых компьютерах у контроллера прерываний было 8 линий запроса на прерывание (IRQ), по которым в процессор приходили сигналы от различных устройств, после чего процессор посылал сигнал подтверждения прерывания контроллеру; получив этот сигнал, контроллер сообщал процессору, от какого из восьми источников получен запрос на прерывание.
В PC AT(286) число линий IRQ стало 16, поэтому, как показано на рисунке 9, к первому контроллеру прерываний каскадом подключили второй.
Рисунок 9 – Контроллер прерываний
Линий IRQ всего 16. 9 из них забирает шина ввода-вывода, остальные закреплены за различными устройствами на материнской плате. Аппаратные прерывания имеют два входа в процессор:
§ NMI – немаскируемые прерывания;
§ INTR – нормальные прерывания.
NMI - имеет абсолютный приоритет и сразу выполняется. Используется в ситуации, когда задержка невозможна.
IF - флаг прерываний.
Ø - Внутренние - планируемые программные прерывания и непланируемые.
Программные прерывания – это обычные процедуры, которые вызывает текущая программа для выполнения в ней стандартных процедур. Они делятся на прерывания BIOS и прерывания DOS. Прерывания DOS не встроены в ПЗУ и для разных операций не могут быть различными.
|
Всего предусмотрено 256 типов прерываний, из них только первые 5 закреплены за процессором, остальные являются прерываниями DOS и BIOS.
§ Тип 0 – прерывание «деление на 0»;
§ тип 1 – режим трассировки, пошаговый режим;
§ тип 2 – NMI;
§ тип 3 – прерывание по команде INT;
§ тип 4 – при переполнении разрядной сетки;
§ тип 8-15 – аппаратные прерывания;
§ тип 16-31 – планируемые прерывания BIOS;
§ тип 32-255 – программные прерывания DOS.
Непланируемые прерывания:
- технические – возникают при появлении отказов или сбоев;
- логические - возникают при появлении ошибок в программах.
в) Прямой доступ к памяти (ПДП). (Direct Memory Access).
Пересылка любого байта информации из одной области памяти в другую или из памяти в порт обычно происходит в два шага.
Шаг 1 - этот байт записывается в один из регистров ЦП.
Шаг 2 - запись байта в место назначения.
У этого способа имеются два недостатка:
· во время перемещения байта ЦП ничем другим заниматься не может;
· на перемещение байта требуется два шага.
Такой способ нерационален при перемещении больших блоков информации.
В РС есть несколько типов устройств, которые пересылают большие блоки информации, например, устройство чтения гибких дисков, звуковые карты, часто использующие несколько каналов DМА, сканеры.
Учитывая важность проблемы, уже для первого РС был разработан дополнительный микропроцессор-контроллер ПДП. Он занимается тем, что по команде ЦП перемещает заданное количество байт из одной последовательности адресов памяти в указанный порт, начиная с определенного адреса памяти.
|
Контроллер ПДП принимает из порта информацию и помещает её в память, начиная с указанного адреса. По какому из каналов DМА будет передаваться информация, решает не сам контроллер, а ЦП или УВВ (устройство ввода-вывода).
Пока спрос на каналы DMA не очень велик. Скорее может быть недостаточно IRQ, чем свободных каналов DMA.
Таким образом, передача данных в режиме ПДП требуется при обмене данными между ОП и высокоскоростными устройствами.
Для инициализации процесса прямого доступа на системной шине используются соответствующие сигналы. Устройство, требующее ПДП, по одному из свободных каналов DMA обращается к контроллеру, сообщая ему путь (адрес) откуда или куда переслать данные. Инициализация обмена происходит с участием процессора, но дальше процессор в процессе обмена не участвует.
Шины. В современных ПК в качестве системного интерфейса используется системная шина – это шина между процессором и подсистемой памяти. Шина – это совокупность линий связи, по которым информация передается одновременно, т. е. набор проводов (линий), соединяющий различные компоненты компьютера для подвода к ним питания и обмена данными. В «минимальной комплектации» шина имеет три типа линий:
· линии управления;
· линии адресации;
· линии данных.
Устройства, подключенные к шине, делятся на две основных категории - bus masters и bus slaves. Bus masters - это устройства, способные управлять работой шины, т.е инициировать запись/чтение и т.д. Bus slaves - соответственно, устройства, которые могут только отвечать на запросы.
|
Шины характеризуются разрядностью, частотой, количеством обслуживаемых устройств и пропускной способностью. Пропускная способность определяет максимально возможную скорость передачи информации и зависит от разрядности шины и ее тактовой частоты
Пропускная способность определяется по формуле: тактовая частота, умноженная на разрядность.
Например, для шины IBM - Multibus пропускная способность определяется так:
(8 бит * 4,77 МГц) / 8 =4,77 Мб/с
А для шины ISA:
(8 бит * 8,33 МГц) / 8 = 8,33 Мб/с
Разрядность или ширина шины – количество линий связи в шине, т. е. число бит, которое может быть передано по шине одновременно.
Тактовая частота шины – частота, с которой передаются последовательные биты по линиям связи
Шины расширений – шины особого назначения, позволяющие подключить большое число разнообразных устройств
Локальные шины – шина для связи процессора с быстрыми периферийными устройствами
Периферийные шины – шины для подключения периферийных устройств вне корпуса ПК
Системные шины. Основной обязанностью системной шины является передача информации между базовым микропроцессором и остальными электронными компонентами ПК. По этой шине осуществляется также адресация устройств и происходит обмен специальными служебными сигналами. Передачей информации по шине управляет одно из подключенных к ней устройств или специально выделенный для этого узел, называемый арбитром шины
Локальные шины. Разработчики ПК, системные платы которых основывались на микропроцессорах i80386/486, стали использовать раздельные шины для памяти и устройства ввода/вывода, что позволило максимально задействовать возможности оперативной памяти, т. к. именно в данном случае память может работать с наивысшей для нее скоростью. Тем не менее, при таком подходе вся система не может обеспечить достаточной производительности, т. к. все устройства, подключенные через разъемы расширения, не могут достичь скорости обмена, сравнимой с процессором. Для решения возникшей проблемы стали использовать, так называемые локальные шины, которые непосредственно связывают процессор с контроллерами периферийных устройств.
Студент должен
знать:
- способы обмена информацией между МП и ВУ;
- систему прерываний;
- систему прямого доступа к памяти;
- понятие интерфейса;
- параметры системной шины;
- характеристики современных шин внутреннего интерфейса;
- понятие порта;
- характеристики интерфейсов IDE и SCSI;
- характеристики внешних интерфейсов ПК.
уметь:
- определять архитектуру системной платы;
- определять внутренние интерфейсы системной платы.
Тема 2.6 Режимы работы процессора
Режимыработы процессора. Характеристика реального режима процессора 8086. Адресация памяти реального режима.
Основные понятия защищенного режима. Адресация в защищенном режиме. Дескрипторы и таблицы. Системы привилегий. Защита.
Переключение задач. Страничное управление памятью. Виртуализация прерываний. Переключение между реальным и защищенным режимами.
Взаимодействие элементов при работе МП. Работой МП управляет программа, записанная в ОП ЭВМ. Адрес очередной команды хранится в счетчике команд IP (Instruction Pointer) в реальном режиме имеет длину 16 бит, тогда физический адрес ОП должен иметь длину 20 бит. Несогласованность длины машинного слова (16 бит) и длины физического адреса ОП (20 бит) приводит к тому, что в командах невозможно указать физический адрес ОП – его приходится форматировать, собирать из разных регистров МП в процессе работы.
В реальном режиме вся ОП делится на сегменты (длина сегмента – 64 Кбайта). Адрес ОП состоит из двух частей: номер сегмента в ОП (база сегмента) и номера ячейки внутри данного сегмента (смещение относительно начала сегмента). Базовый адрес сегмента образуется добавлением к номеру сегмента справа четырёх нулей. Поскольку последние четыре разряда абсолютного (физического) адреса сегмента всегда нулевые, сегмент может начинаться не с любой ячейки ОП, а только с «параграфа» - начала 16-байтового блока в ОП. В структуре МП имеется несколько регистров сегментов, например в i8086 – четыре:
CS – программный сегмент;
DS – сегмент данных (информационный сегмент);
SS – стековой сегмент;
ES - расширенный сегмент (дополнительный сегмент данных).
Номер ячейки внутри сегмента (смещение) называется также исполнительным адресом. В большинстве случаев в адресной части команды указывается именно исполнительный адрес – номер сегмента чаще всего подразумевается по умолчанию. Однако допускается указание и полного адреса ОП в виде префиксной структуры: «сегмент: смещение». Если сегмент в команде не указывается, значит, работа ведётся внутри текущего сегмента. Характер выполняемой работы и сегментный регистр, определяющий текущую базу сегмента, зависят от вида выполняемой команды.
Номер сегмента так же, как и смещение, имеет длину 2 байта. При вычислении физического адреса ОП сегмент и смещение суммируются, но сегмент перед суммированием сдвигается влево на 4 байта. В результате суммирования образуется физический адрес ОП длиной 20 бит.
Основные недостатки схемы реализации памяти реального режима:
· ограниченное адресное пространство;
· свободный доступ любых программ к любым областям данных, что представляет потенциальную опасность для целостности операционной системы.
В защищенном режиме базовые адреса сегментов хранятся в дескрипторных таблицах и имеют длину 24 или 32 бита (в зависимости от типа МП). В сегментных же регистрах хранится селектор, содержащий номер дескрипторной таблицы и дескрипторное смещение, т.е. порядковый номер дескриптора, в котором и хранится базовый адрес сегмента в данной дескрипторной таблице (рисунок 10).
Основные преимущества защищённого режима:
· возможность непосредственной адресации памяти за пределами первого мегабайта;
· реализован механизм страничной виртуальной памяти;
· аппаратная поддержка многозадачности.
Рисунок 10 – Формирование адреса в защищённом режиме
Студент должен
знать:
- основные характеристики режимов работы процессора;
- адресацию памяти реального режима;
- адресацию памяти защищенного режима.
Тема 2.7 Основы программирования процессора
Основы программирования процессора. Выбор и дешифрация команд. Выбор данных из регистров общего назначения и микропроцессорной памяти. Обработка данных и их запись. Выработка управляющих сигналов.
Основные команды процессора: арифметические и логические команды, команды перемещения, сдвига, сравнения, команды условных и безусловных переходов, команды ввода-вывода. Подпрограммы. Виды и обработка прерываний. Этапы компиляции исходного кода в машинные коды и способы отладки. Использование отладчиков.
Студент должен
знать:
- основные команды процессора;
- виды прерываний;
- этапы компиляции;
- способы отладки.
уметь:
- использовать основные команды процессора;
- выполнять отладку программ.
Тема 2.8 Современные процессоры
Основные характеристики процессоров. Идентификация процессоров. Совместимость процессоров. Типы сокетов.
Обзор современных процессоров ведущих мировых производителей.
Процессоры нетрадиционной архитектуры. Клеточные и ДНК-процессоры. Нейронные процессоры.
Студент должен
знать:
- основные характеристики процессора;
- основные современные модели процессоров;
- типы процессоров нового поколения.