Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Архитектура микропроцессоров 80186/80188



Микропроцессоры 80186 и 80188 подобны микропроцессорам 8086 и 8088, и почти одинаковы с ними, за тем исключением, что они содержат ряд встроенных контроллеров. Единственным отличием между самими микропроцессорами 80186 и 80188 является разрядность их информационных шин. Микропроцессор 80186, как и 8086, имеет 16-разрядную шину данных, тогда как микропроцессор 80188 и его предшественник 8088 имеют 8-разрядную информационную шину. Структура внутренних регистров микропроцессоров 80186/80188 практически идентична микропроцессорам 8086/8088. Единственная разница состоит в том, что микропроцессоры 80186/80188 содержат дополнительные резервные векторы прерывания и некоторые очень мощные встроенные возможности ввода-вывода. Микропроцессоры 80186/80188 часто называют встроенными контроллерами (embedded controllers).

Имеется четыре разные версии микропроцессоров 80186/80188, которые все выполнены по КМОП технологии. Микропроцессоры 80C186XL и 80C188XL наиболее сходны с базовыми версиями процессоров 80186/80188, тогда как микропроцессоры 80С186ЕС и 80С188ЕС являются наиболее усовершенствованными.

 

Базовая блок-схема микропроцессора 80186

На рис. 6.1 приводится блок-схема микропроцессора 80188, которая, в общем, представляет все версии.

Обратите внимание, что эта блок-схема подходит и для микропроцессора 80188, за исключением отсутствия вывода BHE/S7 и того, что выводы AD15-AD8 обозначены как A15-A8.

Следует отметить, что внутренняя структура этого микропроцессора немного сложнее, чем у микропроцессора 8088. Блок-схемы микропроцессоров 80186 и 80188 идентичны, за исключением очереди предварительной выборки, которая составляет 4 байта в микропроцессоре 80186 и 6 байт в микропроцессоре 80188. Микропроцессор 80188 (подобно 8088) имеет блок шинного интерфейса, или иначе BIU (Bus Interface Unit), и операционный блок, или EU(Execution Unit).

 

Рис. 6.1. Блок-схема микропроцессора 80186.

Кроме блока шинного интерфейса и операционного блока семейство микропроцессоров 80186/80188 имеет тактовый генератор, программируемый контроллер прерывания, программируемые таймеры, программируемый контроллер DMA и программируемый блок выбора кристалла. Данные усовершенствования существенно повышают эффективность микропроцессоров 80186/80188 и сокращают количество периферийных компонентов, требуемых для реализации вычислительной системы. Во многих популярных подсистемах персональных компьютеров использовались микропроцессоры 80186 и 80188 в качестве дискового контроллера с кэшем, контроллеров локальной сети (LAN — Local Area Network) и т. д. Микропроцессоры 80186/80188 также находят применение в сотовой телефонной сети в качестве коммутатора (switcher). Программное обеспечение микропроцессоров 80186/80188 идентично с микропроцессором 80286.

Микропроцессор 80286

Микропроцессор 80286 является усовершенствованной версией микропроцессора 8086, которая была разработана для многопользовательской и мультизадачной операционной среды. Микропроцессор 80286 способен адресовать 16 Мбайт физической памяти и 1 Гбайт виртуальной памяти за счет использования системы управления памятью. В настоящее время процессор 80286 больше не используется в персональных компьютерных системах, но иногда находит применение в системах управления как встроенный контроллер.

 

Аппаратные особенности

На рис. 6.2 приведена блок-схема микропроцессора 80286. Она, в отличие от микропроцессоров 80186/80188, не содержит в себе встроенных контроллеров. Вместо них он содержит блок управления памятью, иначе MMU (Memory-Management Unit), который на блок-схеме назван блоком адресации (address unit). Ознакомление с блок-схемой показывает, что адресные выводы А23—А0, а также выводы BUSY, CAP, ERROR, PEREQ и РЕАСК являются новыми, или добавленными, выводами, которых нет в микропроцессоре 8086.

Сигналы BUSY, ERROR, PEREQ и РЕАСК используются при работе с сопроцессором, примером которого является 80287. Аналогичный вывод TEST процессора 8088/8086 в процессоре 80286 называется BUSY. Шина адреса разрядностью 24 бита позволяет адресовать 16 Мбайт физической памяти. Вывод САР соединяется с конденсатором емкостью 0, 047 мкФ +20% с рабочим напряжением 12 В, который в свою очередь подключают к нулевому потенциалу. Конденсатор необходим для работы внутреннего делителя частоты. Для сравнения на рис. 6.3 приведены условные схемы обозначения микропроцессоров 8086 и 80286. Следует заметить, что микропроцессор 80286 не имеет мультиплексированной шины адреса/данных.

Микропроцессор 80286 работает в реальном и защищенном режимах. В реальном режиме работы микропроцессор 80286, используя только 16-разрядную шину адреса, адресует лишь 1 Мбайт памяти и, в сущности, является идентичным с микропроцессором 8086. В защищенном режиме работы микропроцессор 80286, используя все 24 разряда, адресует уже 16 Мбайт физической памяти.

В состав микропроцессора 80286, кроме регистра EFLAGS, добавлены еще регистр слова состояния машины (MSW), регистр задачи (TR), регистры таблиц дескрипторов (GDTR, IDTR, LDTR) и 6 регистров расширения сегментных регистров.

 

Рис. 6.2 Блок-схема микропроцессора 80286

 

Рис. 6.3. Схемы обозначения микропроцессоров 8086 и 80286

Система команд

Система команд микропроцессора 80286 включает все команды процессоров 8086/8088 и имеет ряд дополнительных команд. Дополнительные команды управляют системой виртуальной памяти с помощью блока управления памятью микропроцессора 80286. В табл. 6.1 перечислены все эти команды с комментариями относительно назначения каждой из них. Здесь приведены только дополнительно добавленные в микропроцессоре 80286 команды. Кроме них система команд микропроцессора 80286 содержит новые, добавленные еще и для микропроцессоров 80186/80188 команды, такие как: INS, OUTS, BOUND, ENTER, LEAVE, PUSHA, POPA, а также команды целочисленного умножения на константу и команды сдвигов, включая циклические, с указанием счетчика в константе.

 

Таблица 6.1.

Дополнительные команды микропроцессора 80286

Команда Назначение
CLTS Сбрасывает бит флага переключения задач
LGDT Загружает из памяти регистр глобальной таблицы дескрипторов
SGDT Сохраняет в памяти содержимое регистра глобальной таблицы дескрипторов
LIDT Загружает из памяти регистр таблицы дескрипторов прерываний
SIDT Сохраняет в памяти содержимое регистра таблицы дескрипторов прерываний
LLDT Загружает из регистра или памяти регистр локальной таблицы дескрипторов
SLOT Сохраняет в регистре или в памяти содержимое регистра локальной таблицы дескрипторов
LMSW Загружает регистр состояния машины (MSW)
SMSW Сохраняет содержимое регистра состояния машины
LAR Загружает права доступа дескриптора
LSL Загружает граничное значение сегмента
STR Сохранение содержимого регистра задачи
LTR Загружает регистр задачи
ARPL Приводит уровень привилегии к наибольшему значению
VERR Проверяет сегмент на возможность считывания
VERW Проверяет сегмент на возможность записи

 

Ниже следует описание некоторых специальных команд, которые используются для управления защитой.

CLTS

Команда CLTS (clear task-switched flag) сбрасывает бит флага переключения задач TS (task-switched) в регистре состояния машины MSW (machine state word). Если флаг TS установлен и следующая команда, относящаяся к сопроцессору 80287, вызовет прерывание (тип вектора 7). Это позволяет программно определить, относится ли контекст сопроцессора к текущей задаче. Команда clts используется в системе и считается привилегированной командой, поскольку она может вы­полняться только в защищенном режиме с нулевым уровнем привилегий. Команды для установки флага TS не существует. Однако установить флаг можно при помощи записи логической единицы в бит 3 (TS) регистра состояния маши­ны MSW с использованием команды lmsw.

LAR

Команда LAR (load access rights) считывает дескриптор сегмента и размещает копию байта прав доступа в 16-разрядный регистр. Примером является команда LAR ах, вх, которая загружает регистр АХ байтом прав доступа из выбранного дескриптора по значению селектора, указанного в регистре ВХ. Команда используется для получения прав доступа, чтобы она могла быть проверена перед программным использованием сегмента памяти, описанного дескриптором.

LSL

Команда LSL (load segment limit) загружает в выделенный для пользователя регистр граничное значение сегмента. Например, команда LSL ах, вх загружает в регистр АХ граничное значение сегмента, описываемое дескриптором, который выбирается селектором, указанным в регистре ВХ. Эта команда используется для проверки граничного значения сегмента.

ARPL

Команда ARPL (adjust requested privilege level) используется для проверки селектора, чтобы уровень привилегий запрашиваемого селектора не нарушался. Примером является команда ARPL ах, CX. Регистр АХ содержит запрашиваемый уровень привилегий, а СХ содержит значения селектора вызывающего процесса для доступа к дескриптору. Если запрашиваемый уровень привилегий имеет приоритет ниже, чем у проверяемого дескриптора, то устанавливается флаг нуля ZF. Ис­пользование команды гарантирует, что параметр-селектор в подпрограмме не запросит большего уровня привилегированности, чем ему позволит вызывающий процесс.

 

VERR

Команда VERR (verify for read access) проверяет сегмент на возможность считывания. Это означает, что сегмент кода может иметь защиту от несанкционированного чтения. Если считывание из сегмента кода разрешено, то устанавливается флаг нуля ZF, если же не разрешено, то флаг будет сброшен. Команда VERR ах проверяет дескриптор, выбираемый с помощью регистра АХ.

VERW

Команда VERW (verify for write access) проверяет сегмент на возможность записи. Сегмент кода может иметь защиту от не­санкционированной записи. Если запись в сегмент кода разрешена, то устанавливается флаг нуля ZF, если же не разрешена, то флаг будет сброшен.

 

Виртуальная память

Механизм виртуальной памяти (virtual memory machine) позволяет системам, имеющим относительно небольшую физическую память (16 Мбайт для микропроцессора 80286), отображать достаточно большую область памяти (1 Гбайт для процессора 80286). Сам же механизм виртуальной памяти заключается в том, что на жестком диске создается файл обмена (swap-файл) размером в несколько десятков мегабайт, который, по сути, является как бы расширением оперативной памяти системы. При работе системы по мере необходимости осуществляется перекачка данных и программ между файлом обмена на жестком диске и физической памятью. Адресация виртуальной памяти в системе осуществляется с помощью дескрипторов. Каждый дескриптор (рис. 6.7) процессора 80286 описывает сегмент памяти размером в 64 Кбайта, а сам процессор имеет возможность использовать 16К дескрипторов. Таким образом, это позволяет системе иметь виртуальную память емкостью до 1 Гбайт (64 Кбайт х 16К).

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 1796; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь