Краткий обзор семейства микропроцессоров фирмы Intel

Микропроцессоры (МП) Intel 8086, 8088, 80286, 80386 и 80486, явившиеся в разные годы основой новых моделей персональных компьютеров фирмы IBM (IBM PC, PC/XT , PC/AT, PS/2) при всех своих различиях и особенностях сохраняют единство архитектурных принципов, системы команд и языка программирования, что обеспечивает программную совместимость многочисленных разновидностей компьютеров «типа IBM PC».

Важнейшей характеристикой любого микропроцессора является разрядность его внутренних регистров, также внешних шин адресов и данных. МП 8086 имеет 16-разрядную внутреннюю архитектуру и такой же разрядности шину данных. Все регистры внутри процессора, в которых могут хранится данные, имеют длину 16 битов. Таким образом, максимальное целое число (данное или адрес), с которым может работать микропроцессор, составляет 216-1=65536 (64К-1). Однако адресная шина МП 8086 содержит 20 линий, что соответствует адресному пространству 220-1 Мбайт. Для того, чтобы с помощью 16-разрядных адресов можно было обращаться в любую точку 20-разрядного адресного пространства, в микропроцессоре предусмотрена сегментная адресация памяти, реализуемая с помощью четырех сегментных регистров.

Суть сегментной адресации заключается в следующем. Исполнительный 20-разрядный адрес любой ячейки памяти вычисляется путем сложения начального адреса сегмента памяти, в котором располагается эта ячейка, со смещением к ней (в байтах) от начала сегмента, которое обычно называют относительным адресом или смещением. Сегментный адрес без четырех младших битов, т. е. Деленный на 16, хранится в одном из сегментных регистров. При вычислении исполнительного адреса процессор умножает содержимое сегментного регистра на 16 (путем сдвига влево на 4 двоичных разряда) и прибавляет к полученному 20-разрядному адресу относительный адрес.

Умножение базового адреса на 16 увеличивает диапазон адре­суемых ячеек до величины 64 Кбайт * 16 = 1 Мбайт.

МП 8088 является, по существу, 8-разрядным вариантом МП 8086. В нем, как и в МП 8086, предусмотрена адре­сация физической памяти объемом до 1 Мбайт с помощью такого же набора сегментных регистров. Однако шина данных МП 8088 имеет ширину не 16, а 8 разрядов, т.е. доступ к памяти осу­ществляется байтами. Это обстоятель­ство никак не отражается на работе с процессором, так как, например, при считывании из памяти операнда-слова микропроцессор автоматически гене­рирует два цикла магистрали, реализующих чтение младшего и старшего бай­тов. С другой стороны, 8-разрядная шина данных облегчила согласование этого микропроцессора со схемами, раз­работанными ранее для 8-разрядных МП 8080 и 8085.

МП 80286, используемый как центральный процессор ком­пьютеров IBM PC/AT, является усовершенствованным вариан­том МП 8086, дополненным схемами управления памятью и ее защиты. МП 80286 работает с 16-разрядными операндами, но имеет 24-разрядную адресную шину, что соответствует адресно­му пространству 224=16 Мбайт. Од­нако описанный выше способ сегментной адресации памяти не позволяет выйти за пределы 1 Мбайт. Для преодо­ления этого ограничения в МП 80286 (так же, как и в МП 80386) используются два режима работы: ре­ального ад­реса и виртуального защищенного адреса, или просто защищенный режим. В реальном режиме МП 80286 функцио­нирует фактически так же, как МП 8086 с повышенным бы­стродействием и может обращаться лишь к 1 Мбайт ад­ресного пространства. Оставшиеся 15 Мбайт памяти, даже если они ус­тановлены в компьютере, использоваться не могут.

В защищенном режиме по-прежнему используются сегменты и смещения в них, однако начальные адреса сег­ментов не вы­числяются путем умножения на 16 содержимого сегментных ре­гистров, а извлекаются из таблиц сег­ментных дескрипторов, индексируемых теми же сегментными регистрами. Каждый сег­ментный дескриптор зани­мает 6 байтов, из которых 3 байта (24 двоичных разряда) отводятся под сегментный адрес. Тем самым обеспечива­ется полное использование 24-разрядного ад­ресного пространства.

В каждом сегментном регистре под индекс таблицы сегмент­ных дескрипторов отводится 14 двоичных разрядов. Полный ло­гический адрес адресуемой ячейки состоит из 14-разрядного ин­декса (номера) сегмента и 16-разрядного относительного адреса. Это позволяет каждой программе использовать до 230! байт логического, или виртуаль­ного пространства, которое, таким об­разом, в 64 раза превышает максимально возможный объем физической па­мяти. Операционная система виртуальной памяти хранит все сегменты выполняемых программ в большом диско­вом пространстве, автоматически загружая в оперативную па­мять те или иные сегменты по мере необходимости.

МП 80386 и 80486 являются высокопроизводительными про­цессорами с 32-разрядными шинами данных и адре­сов и 32-разрядной внутренней архитектурой. Последнее означает, что внутренние регистры этих процессоров, в отличие от процессо­ров ранних моделей, имеют длину 32 бита. Поэтому макси­мальное целое число, с который мо­жет работать микропроцес­сор, составляет 232-l=42949б729б (4Г-1). Во многих случаях ис­пользование 32-битовых операндов позволяет существенно упростить и ускорить вычисления. Помимо этого, в МП 80386 и 80486 расширен состав регистров, что также предоставляет программисту значительные удобства. Наконец, в новых моде­лях про­цессоров имеются встроенные средства поддержки мно­гозадачного режима, а также мультипроцессорных систем. Ес­тественно, что эти процессоры, как и МП 80286, могут рабо­тать в реальном и защищенном режимах. В последнем случае микропроцессор позволяет адресовать до 232=4 Гбайт физичес­кой памяти и 2=64 Тбайт виртуальной. При этом следует подчеркнуть, что разработчиками обеспечена полная совмести­мость новых моделей процессоров со старыми, в том смысле, что программы, написанные для процессоров 8086-80286, т.е. с использованием 16-битовых операндов, выполняются на новых процессорах без всяких исправлений. Фактически программист, создающий про­грамму, предназначенную для работы под управ­лением MS-DOS, может не задумываться над тем, какой про­цессор установлен на его компьютере.

Используемые в настоящее время версии MS-DOS работают в реальном режиме и не обеспечивают управление виртуальной памятью. В то же время обширные классы программ, в част­ности, программы управления технологи­ческими процессами или научно-исследовательскими установками, не требуют использо­вания защищенного ре­жима и успешно работают в среде опе­рационной системы MS-DOS. Вообще во многих случаях отно­сительно про­стая и надежная система MS-DOS, получившая, к тому же, широчайшее распространение, оказывается удобнее бо­лее совершенных, но и значительно более сложных систем, реализующих все возможности современным микро­процессоров.