Микропроцессор Intel 486

2.Краткие сведения об устройстве микропроцессора

2.1.Архитектура микропроцессора

Микропроцессор Intel 486 (обозначаемый также i486) представляет собой высокопроизводительное устройство, имеющее полную 32-разрядную архитектуру, включая 32-разрядные регистры и шины. Наиболее часто выполняемые команды выполняются этим микропроцессором за один цикл, что обеспечивает быстродействие, сравнимое с процессорами архитектуры RISC. Микропроцессор i486 использует один источник питания с напряжением 5 В. Типовые значения потребляемой мощности составляют 3…4 Вт в зависимости от тактовой частоты (25…50 МГц). В микропроцессорах, обозначение которых содержит символы DX2 или DX4, используется внутреннее удвоение или учетверение тактовой частоты.

Исполняемый код микропроцессора i486 совместим с кодом микропроцессоров 8086, 8088, 80186, 80188, 80286, 80386, поэтому для него может использоваться весь объем ранее разработанного программного обеспечения.

Микропроцессор i486 стал основой для создания новых, еще более мощных и быстродействующих микропроцессоров — Pentium и Pentium Pro.

Микропроцессор i486 содержит на одном кристалле, кроме собственно центрального процессора, также блок обработки данных с плавающей запятой (FPU — Floating Point Unit), устройство управления, диспетчер памяти (MMU — Memory Manager Unit), блок предварительной выборки команд и данных, интерфейс магистрали, кэш-память.

Центральный процессор, в свою очередь, включает в себя арифметико-логическое устройство (АЛУ, или ALU — Arithmetical-Logical Unit), восемь 32-разрядных регистров общего назначения (РОН), многоразрядный сдвигатель (Shifter), используемый не только при отработке команд сдвига, но и при выполнении операций умножения и деления. Блок FPU имеет собственные регистры данных и управления; он работает параллельно с центральным процессором.

Устройство управления включает дешифратор команд, поступающих из блока предварительной выборки (очереди команд), и блок микропрограммного управления, содержащий ПЗУ микрокоманд. В процессе выполнения каждой команды микропроцессора его устройство управления формирует соответствующие последовательности микрокоманд, поступающие на все блоки микропроцессора.

Диспетчер памяти, состоящий из блока сегментации и блока страничной адресации, осуществляет формирование физического адреса ячейки памяти. Диспетчер обеспечивает два режима работы микропроцессора: режим реальных адресов (реальный режим) и режим защищенных виртуальных адресов (виртуальный режим). В реальном режиме i486 работает как очень быстрый процессор 8086. При этом реализуется расширенный набор команд и допускается увеличение разрядности операндов и адресов до 32. В защищенном режиме могут одновременно выполняться несколько задач (программ). Задачи при этом изолированы и защищены одна от другой.

Интерфейс магистрали реализует протоколы обмена микропроцессора с памятью, контроллерами ввода-вывода, другими активными устройствами. Обмен осуществляется с помощью 32-разрядной двунаправленной шины данных, 34-разрядной шины адреса и 32-разрядной шины управления, причем разрядность шины данных может переключаться непосредственно в ходе работы; могут использоваться один, два или все четыре байта.

Регистры микропроцессора i486 делятся на четыре группы:

  1. Основные функциональные регистры:
  2. Регистры FPU:
  3. Системные регистры:
  4. Регистры отладки и тестирования.

Основные функциональные регистры, важные для программирования микропроцессора, приведены на следующем рисунке.

Основные функциональные регистры

Регистры общего назначения (РОН) EAX, EBX, ECX, EDX 32-разрядные (буква Е означает Extended – расширенный), причем каждый из них может использоваться либо как единое целое, либо только своей младшей 16-разрядной частью (AX, BX, CX, DX). В свою очередь, эти 16-разрядные части допускают независимое использование своих младших (LOW) и старших (HIGH) половин, то есть фактически 8-разрядных регистров (AH и AL, BH и BL и т.д.). Как правило, в РОН размещаются промежуточные результаты вычислений, кроме того, ряд команд микропроцессора принудительно использует те или иные РОН.

Следующие далее регистры ESP (Stack Pointer – указатель стека), EBP (Base Pointer – указатель базы), ESI (Source Index – индекс источника), EDI (Destination Index – индекс получателя) используются в различных методах адресации. Наконец, EIP (Instruction Pointer) – это указатель команд, программно-недоступный регистр, содержащий адрес текущей выполняемой команды; EFLAGS – это регистр признаков (флагов), указывающих текущее состояние микропроцессора. Его младшая половина – FLAGS – аналогична регистру флагов предшествующих моделей микропроцессоров, в частности, 8086:

регистр флагов

Отметим, что младший байт этого регистра, в свою очередь, полностью совпадает с регистром флагов для 8-разрядного микропроцессора Intel 8080 (К580ВМ80).

Для нас представляют интерес лишь часть флагов этого регистра:
CF – флаг переноса. Равен 1 при наличии переноса за пределы слова (байта).
ZF – флаг нулевого результата. Равен 1 при получении нулевого результата в арифметических и логических операциях.
SF – флаг знака. Дублирует значение старшего бита результата при использовании дополнительного кода.
IF – флаг управления прерываниями (см. п. 2.4.2).
DF – флаг направления в командах обработки строк (см. п. 2.4.2).
OF – флаг переполнения при работе со знаковыми числами.

Другие флаги, а также флаги старшей половины EFLAGS, применяемые в защищенном режиме, в данном практикуме не рассматриваются.


Назад Содержание Вперёд