МП 80386 фирмы Intel
1. Введение в МП 80386 фирмы Intel
МП вышел на рынок с уникальным преимуществом. Он является первым 32 - разрядным
МП, для которого пригодно существующее прикладное программное обеспечение
стоимостью 6,5 млрд. долл., написанное для МП предыдущих моделей ОТ 8086/88 до
80286 (клон IBM PC). Говорят, что системы совместимы, если программы написанные
на одной системе, успешно выполняются на другой. Если совместимость
распространяется только в одном направлении, от старой системы к новой, то
говорят о совместимости снизу вверх. Совместимость снизу вверх на обьектном
уровне поддерживает капиталовложения конечного пользователя в программное
обеспечение, поскольку новая система просто заменяет более медленную старую.
Микропроцессор 80386 совместим снизу вверх с предыдущими поколениями МП фирмы
Intel. Это означает что программы написанные специально для МП 80386 и
использующие его специфические особенности, обычно не работают на более старых
моделях. Однако, так как набор команд МП 80386 и его модули обработки являются
расширениями набора команд предшествующих моделей, программное обеспечение
последних совместимо снизу вверх с МП 80386.
Специфическими особенностями МП 80386 являются многозадачность, встроенное
управление памятью, виртуальная память с разделением на страницы, защита
программ и большое адресное пространство. Аппаратная совместимость с предыдущими
моделями сохранена посредством динамического изменения разрядности магистрали.
МП 80386 выполнен на основе технологии CHMOS III фирмы Intel, которая вобрала с
себя быстродействие технологии HMOS (МДП высокой плотности) и малое потребление
мощности технологии CMOS (КМДП). МП 80386 предусматривает переключение программ,
выполняемых под управлением различных операционных систем, такие как MS-DOS и
UNIX. Это свойство позволяет разработчикам программ включать стандартное
прикладное программное обеспечение для 16 -разрядных МП непосредственно в 32
-разрядную систему. Процессоропределяет адресное пространство как один или
несколько сегментов памяти любого размера в диапазоне от 1 байт до 4 Гбайт
(4*2я530я0 байт). Эти сегменты могут быть индивидуально защищены уровнями
привилегий и таким образом избирательно разделяться различными задачами.
Механизм защиты основан на понятии иерархии привилегий или ранжированного ряда.
Это означает, что разным задачам или программам могут быть присвоены
определенные уровни, которые используются для данной задачи.
2. Режимы процессора
Для более полного понятия системы команд МП 80386 необходимо предварительно
описать общую схему его работы и архитектуру.
В данном реферате не раскрывается более подробно значения некоторых
специфических слов и понятий, считая, что читатель предварительно ознакомился с
МП 8086 и МП 80286 и имеет представление о их работе и архитектуре. Описываются
только те функции МП 80386, которые отсутствуют или изменены в предыдущих
моделях МП.
МП 80386 имеет два режима работы: режим реальных адресов, называемый реальным
режимом, и защищенный режим.
2.1. Реальный режим
При подаче сигнала сброса или при включении питания устанавливается реальный
режим, причем МП 80386 работает как очень быстрый МП 8086, но, по желанию
программиста, с 32-разрядным расширением. В реальном режиме МП 80386 имеет такую
же базовую архитектуру, что и МП 8086, но обеспечивает доступ к 32-разрядным
регистрам. Механизм адресации, размеры памяти и обработка прерываний МП 8086
полностью совпадают с аналогичными функциями МП 80386 в реальном режиме.
Единственным способом выхода из реального режима является явное переключение в
защищенный режим. В защищенный режим МП 80386 входит при установке бита
включения защиты (РЕ) в нулевом регистре управления (CR0) с помощью команды
пересылки (MOV to CR0). Для совместимости с МП 80286 с целью установки бита РЕ
может быть также использована команда загрузки слова состояния машины LMSW.
Процессор повторно входит в реальный режим в том случае, если программа командой
пересылки сбрасывает бит РЕ регистра CR0.
2.2. Защищенный режим
Полные возможности МП 80386 раскрываются в защищенном режиме. Программы могут
исполнять переключение между процессами с целью входа в задачи, предназначенные
для режима виртуального МП 8086. Каждая такая задача проявляет себя в семантике
МП 8086 (т.е. в отношениях между символами и приписываемыми им значениями
независимо от интерпретирующего их оборудования). Это позволяет выполнять на МП
80386 программное обеспечение для МП 8086 - прикладную программу или целую
операционную систему. В то же время задачи для виртуального МП 8086 изолированы
и защищены как друг от друга, так и от главной операционной системы МП 80386.
Далее перейдем непосредственно к рассмотрению шины данных МП 80386.
3. Шины
Прежде всего дадим определение шины. Шина - это канал пересылки данных,
используемый совместно различными блоками системы. Шина может представлять собой
набор проводящих линий, вытравленных в печатной плате, провода припаянные к
выводам разьемов, в которые вставляются печатные платы, либо плоский кабель.
Компоненты компьютерной системы физически расположены на одной или нескольких
печатных платах, причем их число и функции зависят от конфигурации системы, ее
изготовителя, а часто и от поколения микропроцессора.
Информация передается по шине в виде групп битов. В состав шины для каждого бита
слова может быть предусмотрена отдельная линия (параллельная шина), или все биты
слова могут последовательно во времени использовать одну линию (последовательная
шина).
3.1 Шина с тремя состояниями
Шина с тремя состояниями напоминает телефонную линию общего пользования, к
которой подключено много абонентов. Три состояние на шине - это состояния
высокого уровня, низкого уровня и высокого импеданса. Состояние высокого
импеданса позволяет устройству или процессору отключиться от шины и не влиять на
уровни, устанавливаемые на шине другими устройствами или процессорами. Таким
образом, только одно устройство является ведущим на шине. Управляющая логика
активизирует в каждый конкретный момент только одно устройство, которое
становиться ведущим. Когда устройство активизировано, оно помещает свои данные
на шину, все же остальные потенциальные ведущие переводятся в пассивное
состояние.
К шине может быть подключено много приемных устройств получателей. Обычно данные
на шине предназначаются только для одного из них. Сочетание управляющих и
адресных сигналов, определяет для кого именно. Управляющая логика возбуждает
специальные стробирующие сигналы, чтобы указать получателю когда ему следует
принимать данные. Получатели и отправители могут быть однонаправленными (т.е.
осуществлять только либо передачу, либо прием) и двунаправленными (осуществлять
и то и другое). Шинная (магистральная) организация получила широкое
распространение, поскольку в этом случае все устройства используют единый
протокол сопряжения модулей центральных процессоров и устройств ввода-вывода с
помощью трех шин.
3.2 Типы шин
Сопряжение с центральным процессором осуществляется посредством трех шин: шины
данных, шины адресов и шины управления. Шина данных служит для пересылки данных
между ЦП и памятью или ЦП и устройствами ввода-вывода. Эти данные могут
представлять собой как команды ЦП, так и информацию, которую ЦП посылает в порты
ввода-вывода или принимает оттуда. В МП 8088 шина данных имеет ширину 8
разрядов. В МП 8086, 80186, 80286 ширина шины данных 16 разрядов; в МП 80386 -
32 разряда.
Шина адресов используется ЦП для выбора требуемой ячейки памяти или устройства
ввода-вывода путем установки ан шине конкретного адреса, соответствующего одной
из ячеек памяти или одного из элементов ввода-вывода, входящих в систему.
Наконец по шине управления передаются управляющие сигналы, предназначенные
памяти и устройствам ввода-вывода. Эти сигналы указывают направление передачи
данных (в ЦП или из ЦП), а также моменты передачи.
Магистральная организация предпологает,как правило, наличие управляющего модуля,
который выступает в роли директора распорядителя при обмене данными. Основное
назначение этого модуля - организация передачи слова между двумя другими
модулями.
3.3 Операции на магистрали
Операция на системной магистрали начинается с того, что управляющий модуль
устанавливает на шине кодовое слово модуля отправителя и активизирует линию
строба отправителя. Это позволяет модулю, кодовое слово которого установлено на
шине, понять, что он является отправителем. Затем управляющий модуль
устанавливает на кодовое слово модуля - получателя и активизирует линию строба
получателя. Это позволяет модулю, кодовое слово которого установлено на шине,
понять, что он является получателем.
После этого управляющий модуль возбуждает линию строба данных, в результате чего
содержимое регистра отправителя пересылается в регистр получателя. Этот шаг
может быть повторен любое число раз, если требуется передать много слов.
Данные пересылаются от отправителя получателю в ответ на импульс, возбуждаемый
управляющим модулем на соответствующей линии строба. При этом предполагается,
что к моменту появления импульса строба в модуле - отправителе данные
подготовлены к передаче, а модуль - получатель готов принять данные. Такая
передача данных носит название синхронной (синхронизированной).
Что произойдет, если модули участвующие в обмене (один или оба), могут
передавать или принимать данные только при определенных условиях ? Процессы на
магистралях могут носить асинхронный (несинхронизированный) характер. Передачу