Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Раздел 5. Уровень архитектуры команд





Уровень архитектуры команд расположен между микроархитектурным уровнем и уровнем операционной системы (Рис. 2.1).

Исторически этот уровень развился прежде всех остальных уров­ней и изначально был единственным.

Этот уровень имеет особое значение: он является связующим звеном между программным и аппаратным обеспечением. Конечно, можно было бы сделать так, чтобы аппаратное обеспечение сразу непосредственно выполняло программы, написанные на С, C++, FORTRAN или других языках высокого уровня, но это не очень хорошая идея – из чисто практических соображе­ний компьютеры должны уметь выполнять программы, написанные на разных язы­ках, а не только на одном.

Тема 5.1. Уровень команд процессора Pentium II

В результате изучения данной темы Вы будете:

  • знать эволюцию развития процессоров Intel;
  • знать режимы работы процессора Pentium II.

Процессор Pentium II развивался на протяжении многих лет. Его история начинается от самых первых микропроцессоров. Основная архитектура команд обеспечивает выполнение программ, написанных для процессоров 8086 и 8088 (которые имеют одну и ту же архитектуру команд).

С точки зрения программного обеспечения, компьютеры 8086 и 8088 были 16-разрядными машинами (хотя компьютер 8088 содержал 8-битную шину данных). Их последователь 80286 также был 16-разрядным. Его главным преимуществом был больший объем адресного пространства, хотя небольшое число программ использовали его, поскольку оно состояло из 16384 64 Кб сегментов, а не представляло собой линейную 224-бaйтнyю память. Это сильно осложняло процесс создания программ, манипулирующих большим количеством данных (более 64 Кб).

Процессор 80386 был первой 32-разрядной машиной, выпущенной компанией Intel. Все последующие процессоры (80486, Pentium, Pentium Pro, Pentium II, Celeron, Xeon и т.д.) имеют точно такую же 32-разрядную архитектуру, которая назы­ваетсяIA-32, поэтому мы сосредоточим наше внимание именно на этой архитек­туре. Единственным существенным изменением архитектуры со времен процес­сора 80386 было введение команд ММХ в более поздние версии системы Pentium и их включение в Pentium II и последующие процессоры.

Pentium II имеет 3 операционных режима, в двух из которых он работает как 8086. Вреальном режиме все особенности, которые были добавлены к процессору со времен системы 8088, отключаются, и Pentium II работает как простой компью­тер 8088.

На следующей ступени находитсявиртуальный режим 8086, который делает возможным выполнение старых программ, написанных для 8088 с защитой от сбоев. Так, что­бы запустить старую программу 8088, операционная система создает специальную изолированную среду, которая работает как процессор 8088. Если программа дает сбой, операционной системе передается соответствую­щая информация и полного отказа системы не происходит.

Последний режим – это защищенный режим, в котором Pentium II работает как Pentium II, а не как 8088. В этом режиме доступны 4 уровня привилегий, кото­рые управляются битами во флаговом регистре. Уровень 0 соответствует привилегированному режиму на других компьютерах и имеет полный доступ к машине. Этот уровень используется операционной системой. Уровень 3 предназначен для пользовательских программ, он блокирует доступ к определенным командам и ре­гистрам управления, чтобы ошибки какой-нибудь пользовательской программы не привели к поломке всей машины. Уровни 1 и 2 используются редко. Pentium II имеет огромное адресное пространство. Память разделена на 16384 сегмента, каж­дый из которых идет от адреса 0 до адреса 232-1. Однако большинство операцион­ных систем (включая UNIX и все версии WINDOWS) поддерживают только один сегмент, поэтому большинство прикладных программ видят линейное адресное пространство в 232 байтов, а иногда часть этого пространства занимает сама опера­ционная система. Каждый байт в адресном пространстве имеет свой адрес. Слова состоят из 32 битов. Байты нумеруются справа налево (то есть самый первый адрес соответствует самому младшему байту).

Подведем итоги

  • процессоры компании Intel развиваются на протяжении многих лет, из-за необходимости поддержки старого программного обеспечения последние модели процессоров отличаются повышенной сложностью;
  • процессор Pentium II имеет 3 режима работы: реальный, виртуальный и защищенный.

Вопросы для самоконтроля

Вспомните и назовите режимы работы процессора Pentium II. В чем заключаются особенности работы каждого режима?

Тема 5.2. Регистры

В результате изучения данной темы Вы будете:

  • знать регистры процессора Pentium II;
  • понимать назначение каждого регистра.

Во всех компьютерах имеется несколько регистров, которые видны на уровне ко­манд. Они нужны для того, чтобы контролировать выполнение программы, хранить временные результаты, а также для некоторых других целей. Обычно регистры, которые видны на микроархитектурном уровне, например, TOS и MAR (Рис. 4.10), не видны на уровне команд. Тем не менее, некоторые из них, напри­мер, счетчик команд и указатель стека, присутствуют на обоих уровнях. Регистры, которые видны на уровне команд, всегда видны на микроархитектурном уровне, поскольку именно там они реализуются.

Регистры уровня команд можно разделить на две категории: специальные ре­гистры и регистры общего назначения. Специальные регистры включают счетчик команд и указатель стека, а также другие регистры с особой функцией. Регистры общего назначения содержат ключевые локальные переменные и промежуточные результаты вычислений. Их основная функция состоит в том, чтобы обеспечить быстрый доступ к часто используемым данным (обычно избегая обращений к памяти).

Регистры процессора Pentium II показаны на Рис. 5.1.

Рис. 5.1. Основные регистры процессора Pentium II

Первые четыре регистра ЕАХ, ЕВХ, ЕСХ и EDX 32-битные. Это регистры общего назначения, хотя у каж­дого из них есть определенные особенности:

  • ЕАХ – основной арифметический регистр;
  • ЕВХ – предназначен для хранения указателей (адресов памяти);
  • ЕСХ – свя­зан с организацией циклов;
  • EDX – нужен для умножения и деления, этот регистр вместе с ЕАХ содержит 64-битные результаты произведений и делений.

Каждый из этих регистров имеет 16-разрядный регистр в младших 16 битах и 8-разрядный регистр в младших 8 битах. Данные регистры позволяют легко манипулировать 16-битны­ми и 8-битными значениями соответственно. В компьютерах 8088 и 80286 есть только 8-битные и 16-битные регистры, 32-битные регистры появились в системе 80386 вместе с приставкой Е (Extended – расширенный).

Следующие четыре регистра также являются регистрами общего назначения, но с большей степенью специализации. Регистры ESI и EDI предназначены для хране­ния указателей, особенно для команд манипулирования цепочками, где ESI указывает на входную цепочку, а EDI – на выходную цепочку. Регистр ЕВР тоже пред­назначен для хранения указателей. Обычно он используется для указания на основу текущего фрейма локальных переменных, такой регистр обычно называютуказателем фрейма. Наконец, регистр ESP – это указа­тель стека.

Следующая группа регистров от CS до GS – сегментные регистры. Это регистры, оставшиеся от процессора 8088, который обращался к 220 байтам памяти, используя 16-битные адреса. Достаточно сказать, что когда Pentium II установлен на использование единого линейного 32-битного адресного пространства, эти регистры можно смело проигнорировать. Регистр EIP – это счетчик про­грамм (Extended Instruction Pointer – расширенный указатель команд). Регистр ЕFLAGS – это флаговый регистр, содержащий различные биты, необходимые центральному процессору. Самые важные биты – этостатусные флаги, они устанавливаются в каждом цикле АЛУ и отражают состояние результата предыдущей операции. Из наиболее важных флагов можно выделить:

  • SF – устанавливается, если результат был отрицательным (Sign – знак);
  • ZF – устанавливается, если результат был равен 0 (Zero);
  • OF – устанавливается, если результат вызвал переполнение (Overflow);
  • СF – устанавливается, если результат вызвал выход переноса самого левого бита (Carry out);
  • АF – устанавливается, если произошел выход переноса бита 3 (Auxiliary carry – служебный перенос);
  • РF – устанавливается, если результат четный (Parity).

Коды условия очень важны, поскольку они используются при сравнениях и условных переходах. Например, команда СМР обычно вычитает один операнд из другого и устанавливает коды условия на основе полученной разности. Если операнды равны, то разность будет равна 0 и во флаговом регистре будет установ­лен бит Z. Последующая команда BEQ (Branch Equal – переход в случае равенства) проверяет бит Z и совершает переход, если он установлен.

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

Подведем итоги

  • регистры уровня команд делят на две категории: специальные ре­гистры и регистры общего назначения;
  • процессор Pentium II имеет 8 регистров общего и 8 регистров специального назначения.

Вопросы для самоконтроля

1. Назовите регистры общего назначения процессора Pentium II.

2. Назовите регистры специального назначения.

3. Объясните использование каждого регистра.

4. Назовите статусные флаги, когда они устанавливаются.

Индивидуальные задания

Как Вы думаете, на какие флаги будут влиять следующие операции:

· прибавить к содержимому регистра EAX число 24Fh;

· циклически сдвинуть содержимое регистра EBX на 1 бит влево;

· выполнить переход по адресу 10000000h?

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.