Возможно,что Intel 80386 более многосторонний существующий мик-
ропроцессор (МП), который уже разработан. Конечно, пользователи
компьютеров подобно разработчикам давно желали его исполнения.При-
влекательностью МП 80386 является не только длинное машинное слово,
но особая производительность важна не для всех пользователей. В
некоторой степени, многосторонность МП 80386 является "ключем",
позволяющим любому компьютеру 80386 работать как с новым 32-х
разрядным процессором, так и с совместимым 16-ти разрядным. С дру-
гой стороны, скорость вычислений МП 80386 очень важна, т.к. она
дает возможность применять компьютер почти везде. Для многих из
нас, многосторонность и исполнение МП 80386 интересны, т.к. су-
ществующее программное обеспечение (ПО) может работать значи-
тельно быстрее, чем ранее, все же новое ПО для 32-х разрядного МП
80386 обещает также повысить скоростные и вычислительные характе-
ристики компьютера. В этой учебной и справочной книге, как только
мы придем к пониманию МП 80386, мы узнаем о его многосторонней
архитектуре и о его больших возможностях.
32-х разрядная архитектура 80386 важна для пользователей ПЭВМ
фирмы IBM, построенных на 8086 или 80286, поскольку они имеют
только 16-ти разрядную архитектуру. 16-ти разрядная архитектура
этих больших чипов полностью содержится в 32-х разрядном 80386,
как поднабор его полных функций. По этой причине, 32-х разрядный
80386 может имитировать 16-ти разрядный МП 8086 или МП 80286, де-
лая 80386 полностью совместимым "сверху-вниз" с обширными накоп-
лениями ПО, написанного для его популярных предшественников. Т.е.
80386 выполняет тысячу программ, написанных для ПЭВМ фирмы IBM и
для всех других компьютеров, построенных на основе МП 8086 и
80286.
МП 80386 является очень значительным МП, влияющим на деловой
и технический мир, как из-за его совместимости с семейством 8086,
так и из-за фантастических возможностей его новых функций. Эти
два свойства, сильная наследственность и функциональные возмож-
ности, об`единенные в один чип, являются "связью" между настоящим
и будущим развитием программного обеспечения. Известные техничес-
кие, экономические журналы и даже газеты утверждают, что МП 80386
привлекают внимание разработчиков и пользователей компьютеров.
Для того, чтобы реализовать преимущества, предполагаемых но-
вых функций МП 80386, базовое ПО РС прикладных и операционных
систем уже совершенствуется. Это самый обещающий признак, что МП
80386 будет продолжать позитивное влияние на всех нас. Помимо его
в целом возрастающего влияния на всех пользователей ПЭВМ, и осо-
бенно на "точку зрения" программиста, 80386 интересный и значи-
тельный компьютер. Технически архитектура 80386 совершенна и эф-
фективна. ПЭВМ PC80386 уже случайно размещенные в офисах и на за-
водах дают поизводительность 4 MIPS (миллион команд в секунду) и
позволяют писать программы для выполнения задач прежде предназна-
ченных для специализированных рабочих станций и мини-ЭВМ.
МП 80386 целиком разрабатывался для выполнения 32-х разрядных
операций, но он может также функционировать как быстродействующий
16-ти разрядный МП 8086 или 80286. Для того, чтобы изучить 80386,
нам необходимы основные знания по трем режимам, или способам, в
которых МП 80386 может работать. Эти режимы работы, названные ре-
альными, защищенными и виртуальными "8086", дают 80386 большую
совместимость и гибкость. Главные отличительные черты МП 80386
это режимы адресации к памяти и емкость памяти, к которой можно
адресоваться.
80386 добавляет 32-х разрядные операции в защищенном режиме и
дает возможность адресоваться по крайней мере к 4 мбайтам памяти.
80386 также имеет вспомогательный виртуальный режим "8086", кото-
рый обеспечивает совместимость, существующего программного обес-
печения (ПО) 8086 с МП 80386.
Работа 32-х разрядного 80386 всегда начинается с реального
режима, совместимого с режимами работы 8086. Хотя это возможно
является неожиданностью, но вы можете видеть, что такая особен-
ность позволяет, существующее программное обеспечение, без изме-
нений, непосредственно использовать для 80386. Реальным режим на-
зывается потому, что ПО, совместимое с 8086 работает с реальными
(физическими) адресами.
В реальном режиме, 80386 работает также как самый быстро-
действующий МП 8086. После запуска 80386 можем перейти к работе в
защищенном режиме.
Защищенный режим 80386 обеспечивает 32-х разрядные данные и
адресацию, и виртуальную память с поддержкой разбиения на страни-
цы. Этот режим является "ориентиром" при развитии нового прог-
раммного обеспечения.
Полные 32-х разрядные операции аппаратно-реализованы в
защищенном режиме (16-ти разрядные операции могут также иметь
место в этом режиме, так как 16-ти разрядный МП 80286 может
работать в защищенном режиме). В защищенном режиме, благодаря
наличию 32-х и 16-ти разрядной операции, 80386 может дать возможность
его устройству разбиение на страницы полной поддержки виртуальной
памяти, освобождая программиста от ограниченности физической
адресации. Аппаратные средства защиты 80386 одновременно
активизируется, поэтому названы защищенный режим. Данные аппаратные
средства защиты, размещенные на одном кристалле гарантируют
высокую надежность системы.
Данные способы защиты дают уверенность, что "целостность"
операционной системы всегда может быть защищена от вмешательства
пользователя и, что пользователи могут быть защищены от других
пользователей. Общая надежность системы при защищенном режиме за-
висит исключительно от "живучести" операционной системы, но не от
надежности программ пользователя.
Защищенный режим 80386 предпочтителен, из-за наличия 32-х
разрядной операции, поддержки виртуальной памяти и ее защиты.
Простую систему защищенного режима удобно установить, как мы уви-
дим из примеров в главе 1.1, приложениях D и E. Хотя защищенный
режим допускает такие широкие уровни сложности, как требуется. Мы
изучим несколько способов для увеличения сложности системы защи-
щенного режима.
Виртуальный режим 8086 особенно интересен, т.к. он позволяет
нам работать с любым существующим программным обеспечением для
8086 под управлением 32-х разрядной операционной системы защищен-
ного режима. Включаемое программное обеспечение 8086 может быть и
стандартными прикладными программами, и операционой системой
8086, например ОС PC-DOS. Когда программное обеспечение 8086 вы-
полняется в виртуальном режиме 8086, то создается впечатление,
что программы выполняются на МП 8086 (8088). Хотя фактически,
главная операционная система 80386 в защищенном режиме сохраняет
управление всеми ресурсами системы. Виртуальный режим 8086 явля-
ется элегантной новой чертой, которая обеспечивает совместимость
поколений процессоров. Виртуальный режим 8086 заслуживает глубо-
кого изучения. Мы сделаем это, включая полные листинги программ в
приложении G, которые действительно работают в РС-DOS в вирту-
альном режиме 8086. Вы можете работать с программой монитор на
любом персональном компьютере 80386.
Двигаясь от режимов работы 80386 к следующему уровню детали-
зации, мы рассмотрим архитектуру 80386: 80386 включает новую 32-х
разрядную архитектуру для связи с микропроцессорами фирмы INTEL.
Архитектура процессора изображает характеристики 80386, видимые
программистом, использующим один из режимов работы, описанных вы-
ше.
Основы архитектуры касаются программированных регистров про-
цессора, типов данных, которые непосредственно распознаются и ме-
тодов адресации операндов к памяти. Кроме того к основным элемен-
там 80386 относятся специальные, интересные архитектурные черты,
такие как регистры прерываний для отладки и идентификации чипа и
уровней пересмотра, которые позволяют программному обеспечению
распознавать, какой чип работает. Мы начнем рассмотрение основ
80386 с его регистров.
Несколько пользовательских регистров 80386 используются обыч-
ными программами пользователя. Из 32-х разрядных регистров общего
назначения наиболее часто используемыми являются счетчик команд и
регистр флага. Каждый из 32-х разрядных РОН содержит обычные
данные и значения адресов текущего использования. Заметим, что
РОН, показанные на рис. 1.2, могут содержать не только 32-х раз-
рядные данные, но и 16-ти или 8-ми разрядные;32-х разрядный счет-
чик команд указывает на команду, которая будет выполняться. 32-х
разрядный регистр флага содержит несколько полей, шириной в 1 или
2 бита, которые содержат важную информацию о состоянии недавно
выполненных команд.
80386 имеет также регистры сегмента, которые могут быть ис-
пользованы, по желанию программиста для формирования сегментов
программ или данных (примерно около 16 000 возможных сегментов)
для использования программистом. Сегмент это непрерывный линейный
блок адресного пространства программиста; любой 32-х разрядный
сегмент может иметь очень большой размер, до 4 миллиардов байт.
Один большой сегмент, об`явленный первоначально, вероятно доста-
точен для большинства требований системы, поэтому часто использо-
вать регистры сегмента вы можете по своему усмотрению.
Если мы хотим создать несколько сегментов,то регистры сегмен-
тов позволяют значительно расширить адресное пространство програм-
миста,до 64 тысяч биллионов байт программно адресуемой памяти,что
значительно превышает 4 биллиона байт (предела для других 32-х раз-
рядных процессоров). Мы будем изучать способы использования ре-
гистров сегмента для простых (и не совсем простых) систем.
Кроме регистров пользователя только что введенных, существуют
несколько системных регистров, которые использует системная прог-
рамма. Системные регистры редко используются обычным программис-
том, т.к. они управляют широкосистемными параметрами, такими как
размещение таблиц разбиения на страницы и таблиц задач, режимы
работы и запуск сопроцессора. Системные регистры представляются в
главе 2.
Работа процессора обычно состоит из операции ввода разнооб-
разных данных и генерации выходных результатов. Многие типы дан-
ных 80386, такие как целые числа со знаком и без знака, битовые
данные и последовательности данных для эффективной работы аппа-
ратно поддерживаются. Например, битовый тип данных, это типы дан-
ных размером в бит или несколько бит. Байт - это восемь битов
Следовательно, 8-ми разрядные целые числа со знаком или без знака
являются байтовыми. Слова и двойные слова также распознаются.
Слова - это 16-ти разрядные числа со знаком или без знака.
Двойные слова - это 32-х разрядные числа со знаком или без знака.
Все эти величины, байты, слова (2 байта) и двойные слова (4
байта), легко передаются между процессором и памятью, т.к. память
побайтно адресуемая, имея в виду, что любой определенный байт или
байты могут быть найдены в будущем.
В каждом из этих типов данных, которые представлены на рис.
1.3, бит 0 младший значимый бит (LSB), и бит с самым большим но-
мером, следовательно старший, значимый бит (MSB).
Когда эти типы данных размещаются в регистре МП 80386, то ну-
левой бит регистра хранит LSB (младший значимый разряд) данного
типа данных. Когда тип данных хранится в памяти, он имеет свой
адрес памяти, адрес используется для обращения к "байтовым" дан-
ным в памяти.Когда многобайтный тип данных,такие как слово и двой-
ное слово, хранится в памяти, то адресом по соглашению, всегда яв-
ляется младший значимый байт. Когда "длинные" типы данных хранятся
в памяти, то адрес байта с наименьшим номером является младшим
значимым байтом данных, как иллюстрируется на рис. 1.4. Это сог-
лашение по хранению многобайтных типов данных, где адрес с на-
именьшим номером соответствует младшему значимому байту, называ-
ется "научным" порядком (Seientific ordering). Этот порядок имеет
последовательное распространение сигнала переноса, например, от
младшего байта к старшему байту.
В МП 80386 адресация данных или команд программы выполняется
при использовании любого из режимов адресации процессора для соз-
дания эффективного адреса, т.е. адреса памяти, где хранятся тре-
буемые данные или программа. Архитектура адресации 80386 высоко-
ортогональная, имеется в виду то, что любой режим адресации дос-
тупен любой команде обращения к памяти. Эффективность программи-
рования программ на 80386 улучшается по сравнению с 8086 и 80286
путем обеспечения нескольких новых режимов адресации. Эффективный
адрес может быть вычислен не более чем из четырех отдельных ком-
понентов адреса, относительный адрес, значение базы, значение ин-
декса масштабируемого 1,2,4 или 8 и база сегмента. Рис. 1.5 ил-
люстрирует эти компоненты. Выполняя вычисление эффективного адре-
са, 80386 суммирует все требуемые компоненты для формирования
суммы, которая является эффективным адресом операнда.
Режимом адресации 80386 даются имена, такие как непос-
редственная адресация (использует только компонент относительного
адреса), адресация с масштабируемым индексом (использует ин-
дексную компоненту и коэффициент масштабирования), относительная
плюс базовая (использует базовую и относительную компоненту), и
так далее включая адрес базового сегмента, который всегда при-
сутствует, любая комбинация из четырех компонентов адресации, с
или без масштабирования, может использоваться режимами адресации
80386.
80386,как 32-х разрядная машина, имеет возможность обрабаты-
вать и передавать одновременно 32-х разрядные данные. Его внут-
ренние регистры и информационный канал имеют ширину в 32 бита.
Эффективный адрес также является 32-х разрядным, обеспечивая раз-
мер линейного адресного пространства 4 биллиона байт (4 Гбайта).
Микропроцессор состоит из 275 000 транзисторов, вытравленных
на одном кристалле кремния и изготовленных по технологии CMOS
(комплементарная структура металл оксид полупроводник) для сниже-
ния мощности потребления. Кристал помещается в корпусе с 132
ножками. Главными устройствами кристалла являются устройства
предварительного выбора команды, декодер команды, исполнительное
устройство и устройство разбиения страницы. Преимуществом, име-
ющихся на кристалле составных устройств является параллелизм,
т.е. увеличение производительности достигается, когда различные
устройства работают параллельно.
Пока одна команда выполняется, другие команды выбираются и
декодируются, вычисление адреса и трансляция страниц также выпол-
няются в кристаллле. Эти устройства работают с постоянной часто-
той генератора входных сигналов, который заставляет процессор вы-
полнять его микрокоманды. Тактовая частота для 80386 сейчас не
выше 20 МГц (предполагают, что скоро частота возрастет). Таким
образом 80386 выполняет 20 миллионов микроциклов в секунду (4,4
MIPS). Благодаря высокой скорости его задающего генератора и эф-
фективной конструкции. Эта высокая скорость выполнения команды
является причиной, которая заставляет 80386 быстро решать большие
вычислительные задачи и обеспечивает мгновенный ответ во время
интерактивного сеанса.
Новое устройство разбиения на страницы, содержащее в себе КЭШ
для значений адресов трансляции, также размещается на кристале.
Устройство разбиения на страницы осуществляет управление памятью
и обеспечивает возможность виртуальной памяти, позволяя програм-
мам использовать во много раз больше памяти, чем имеется в
действительности, т.е. физически, реализованной в системе на чи-
пах памяти. Устройство разбиения на страницы включает КЭШ для
хранения 32-х недавно оттранслируемых значений; это значительно
ускоряет процесс общей трансляции. Это интегрированное устройство
разбиения на страницы исключает затраты на оборудование вне крис-
тала для обеспечения логики управления памятью.
Высокая степень тестируемости, создана на кристалле, включая
автотест, который может запустить пользователь при включении пита-
ния. Автотест применяет регистры так же, как в логике управления
применяют регулярные структуры. После завершения автотеста сигна-
туры теста могут считываться из регистров общего назначения (РОН)
для проверки результатов автотеста. Наконец, обеспечиваются спе-
циальные системные регистры. Так что память в КЭШ устройстве раз-
биения на страницы может полностью проверяться для подтверждения
ее функционирования.
Содержание
Вперед