1. Ассемблер. Программная модель микропроцессора IA-32. Режимы работы микропроцессора IA-32.

Как известно, процессор «понимает» только язык машинных команд, который по сути является последовательностью нулей и единичек. При большом желании человек, наверное, сможет написать команды даже в таком виде, но это совсем уж неудобно.

К счастью, еще в 50-е гг. программисты стали использовать для программирования символический аналог машинного языка ассемблер. Этот язык точно отражает все особенности машинного языка. Именно поэтому, в отличие от языков высокого уровня, язык ассемблера для каждого типа компьютеров свой. Так как ассемблер наиболее близок к «железу», программы, написанные на нем, являются минимальными по объему и максимальными по скорости, то есть самыми эффективными. Он широко используется для различных целей, в частности в программировании контролеров и написании драйверов.

Любая выполняющаяся программа получает в свое распоряжение набор ресурсов процессора, необходимых для обработки и хранения в памяти команд и данных программы, а также информацию о текущем состоянии программы. Этот набор ресурсов называют программной моделью процессора.

Ресурсы программной модели IA-32:

  • Пространство адресуемой памяти;
  • Набор регистров общего назначения сегментных регистров, регистров состояния и управления;
  • Набор регистров устройства вычисления с плавающей точкой (сопроцессор);
  • Набор регистров mmx-расширения, отображаемых на набор регистров сопроцессоров;
  • Набор регистров mmx-расширения с плавающей точкой;
  • Программный стек (специальная информационная структура, работа с которой предусматривается на уровне работы машинных команд);
  • Порты ввода-вывода;
  • Счетчики мониторинга производительности.

Режимы работы процессора в IA-32 (определяют поведение, номенклатуру, свойства доступных ресурсов процессора):

  • Режим реальных адресов (реальный);
  • Режим защищенный (protected mode), появился в первых процессорах i180286;
    Особенностью данного режима является то, что каждой программе выделяется свой сегмент оперативной памяти, таким образом исключается влияние программ друг на друга и обеспечивается многозадачность. К сожалению, программы написанные под режим реальных адресов в защищенном режиме выполняются с большими проблемами. Большинство современных операционных систем запускаются именно в этом режиме.
  • Режим виртуального процессора (virtual 8086 mode);
    Этот режим обеспечивает возможность многозадачности при выполнении программ реального режима.
  • Режим системного управления (system management mode, SMM), обеспечивает выполнение машинно-зафиксированных функций, понижает энергопотребление.
17.07.2015