Архитектура ЭВМ и систем конспект лекций





НазваниеАрхитектура ЭВМ и систем конспект лекций
страница4/15
Дата публикации20.09.2013
Размер1.37 Mb.
ТипКонспект
100-bal.ru > Информатика > Конспект
1   2   3   4   5   6   7   8   9   ...   15

Структура машинной команды


Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операции или действия. Приведенный на рис. 1 формат машинной команды является самым общим. Максимальная длина машинной команды - 15 байт. Реальная команда может содержать гораздо меньшее количество полей, вплоть до одного - только КОП. 



Рис. 1. Формат машинной команды

Опишем назначения полей машинной команды.

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

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

      • 2eh - замена сегмента cs;

      • 36h - замена сегмента ss;

      • 3eh - замена сегмента ds;

      • 26h - замена сегмента es;

      • 64h - замена сегмента fs;

      • 65h - замена сегмента gs.

    • Префикс разрядности адреса уточняет разрядность адреса (32 или 16-разрядный).
      Каждой команде, в которой используется адресный операнд, ставится в соответствие разрядность адреса этого операнда. Этот адрес может иметь разрядность 16 или 32 бит. Если разрядность адреса для данной команды 16 бит, это означает, что команда содержит 16-разрядное смещение (см. рис. 1), оно соответствует 16-разрядному смещению адресного операнда относительно начала некоторого сегмента. В контексте рис. 2 это смещение называется эффективный адрес. Если разрядность адреса 32 бит, это означает, что команда содержит 32-разрядное смещение (см. рис. 1 ), оно соответствует 32-разрядному смещению адресного операнда относительно начала сегмента и по его значению формируется 32-битное смещение в сегменте. С помощью префикса разрядности адреса можно изменить действующее по умолчанию значение разрядности адреса. Это изменение будет касаться только той команды, которой предшествует префикс. 



Рис. 2. Механизм формирования физического адреса в реальном режиме

    • Префикс разрядности операнда аналогичен префиксу разрядности адреса, но указывает на разрядность операндов (32 или 16-разрядные), с которыми работает команда. В соответствии с какими правилами устанавливаются значения атрибутов разрядности адреса и операндов по умолчанию?
      В реальном режиме и режиме виртуального i8086 значения этих атрибутов - 16 бит.
      В защищенном режиме значения атрибутов зависят от состояния бита D в дескрипторах исполняемых сегментов (см. урок 16). Если D = 0, то значения атрибутов, действующие по умолчанию, равны 16 бит; если D = 1, то 32 бит.
      Значения префиксов разрядности операнда 66h и разрядности адреса 67h. Вы можете с помощью префикса разрядности адреса в реальном режиме использовать 32-разрядную адресацию, но при этом необходимо помнить об ограниченности размера сегмента величиной 64 Кбайт. Аналогично префиксу разрядности адреса вы можете использовать префикс разрядности операнда в реальном режиме для работы с 32-разрядными операндами (к примеру, в арифметических командах).

    • Префикс повторения используется с цепочечными командами (командами обработки строк). Этот префикс "зацикливает" команду для обработки всех элементов цепочки. Система команд поддерживает два типа префиксов:

      • безусловные (rep - 0f3h), заставляющие повторяться цепочечную команду некоторое количество раз;

      • условные (repe/repz - 0f3h, repne/repnz - 0f2h), которые при зацикливании проверяют некоторые флаги, и в результате проверки возможен досрочный выход из цикла.

  • Код операции. Обязательный элемент, описывающий операцию, выполняемую командой. Многим командам соответствует несколько кодов операций, каждый из которых определяет нюансы выполнения операции.

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

  • Байт режима адресации modr/m. Значения этого байта определяет используемую форму адреса операндов. Операнды могут находиться в памяти в одном или двух регистрах. Если операнд находится в памяти, то байт modr/m определяет компоненты (смещение, базовый и индексный регистры), используемые для вычисления его эффективного адреса (см. рис. 2). В защищенном режиме для определения местоположения операнда в памяти может дополнительно использоваться байт sib (Scale-Index-Base - масштаб-индекс-база). Байт modr/m состоит из трех полей (см. рис. 1):

    • поле mod определяет количество байт, занимаемых в команде адресом операнда (см. рис. 1, поле смещение в команде).
      Поле mod используется совместно с полем r/m, которое указывает способ модификации адреса операнда смещение в команде.
      К примеру, если mod = 00, это означает, что поле смещение в команде отсутствует, и адрес операнда определяется содержимым базового и (или) индексного регистра. Какие именно регистры будут использоваться для вычисления эффективного адреса, определяется значением этого байта.
      Если mod = 01, это означает, что поле смещение в команде присутствует, занимает один байт и модифицируется содержимым базового и (или) индексного регистра.
      Если mod = 10, это означает, что поле смещение в команде присутствует, занимает два или четыре байта (в зависимости от действующего по умолчанию или определяемого префиксом размера адреса) и модифицируется содержимым базового и (или) индексного регистра.
      Если mod = 11, это означает, что операндов в памяти нет: они находятся в регистрах. Это же значение байта mod используется в случае, когда в команде применяется непосредственный операнд;

    • поле reg/коп определяет либо регистр, находящийся в команде на месте первого операнда, либо возможное расширение кода операции;

    • поле r/m используется совместно с полем mod и определяет либо регистр, находящийся в команде на месте первого операнда (если mod = 11), либо используемые для вычисления эффективного адреса (совместно с полем смещение в команде) базовые и индексные регистры.

  • Байт масштаб-индекс-база (байт sib) используется для расширения возможностей адресации операндов.
    На наличие байта sib в машинной команде указывает сочетание одного из значений 01 или 10 поля mod и значения поля r/m= 100. Байт sib состоит из трех полей:

    • поля масштаба ss. В этом поле размещается масштабный множитель для индексного компонента index, занимающего следующие три бита байта sib.
      В поле ss может содержаться одно из следующих значений: 1, 2, 4, 8.
      При вычислении эффективного адреса на это значение будет умножаться содержимое индексного регистра. Более подробно с практической точки зрения эта расширенная возможность индексации рассматривается на уроке 12 при обсуждении вопросов работы с массивами;

    • поля index - используется для хранения номера индексного регистра, который применяется для вычисления эффективного адреса операнда;

    • поля base - используется для хранения номера базового регистра, который также применяется для вычисления эффективного адреса операнда. Напомню, что в качестве базового и индексного регистров могут использоваться практически все регистры общего назначения.

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

  • Поле непосредственного операнда. Необязательное поле, представляющее собой 8, 16 или 32-разрядный непосредственный операнд. Наличие этого поля, конечно, отражается на значении байта modr/m.
1   2   3   4   5   6   7   8   9   ...   15

Похожие:

Архитектура ЭВМ и систем конспект лекций iconУчебной дисциплины «Архитектура ЭВМ и вычислительных систем» предназначена...
Учебная дисциплина «Архитектура ЭВМ и вычислительных систем» является общепрофессиональной дисциплиной, формирующей базовый уровень...
Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по курсу "Микропроцессоры и микро-эвм в Персональной...
Целью настоящего курса является дать понятие о микропроцессорах и однокристальных микро-эвм, области их применения, дать основы функционирования...
Архитектура ЭВМ и систем конспект лекций icon«архитектура ЭВМ и систем» Новосибирск сгга содержание
Эвм различных классов; параллельные системы понятие о многомашинных и многопроцессорных вычислительных системах; матричные и ассоциативные...
Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по дисциплине Эксплуатация ЭВМ и систем
Широта охвата этого поля деятельности огромна. В неё включаются как проведение пуско-наладочных, ремонтных и профилактических работ,...
Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по курсу «Организация ЭВМ и систем» для студентов...

Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по курсу «Организация ЭВМ и систем» для студентов...

Архитектура ЭВМ и систем конспект лекций iconПрограмма учебной дисциплины «эвм и периферийные устройства»
Эвм, систем и их периферийных устройств, теоретических основ и практических навыков их анализа, проектирования и исследования, взаимодействия...
Архитектура ЭВМ и систем конспект лекций iconРабочая программа учебной дисциплины ЭВМ и периферийные устройства
Эвм, систем и их периферийных устройств, теоретических основ и практических навыков их анализа, проектирования и исследования, взаимодействия...
Архитектура ЭВМ и систем конспект лекций iconМетодические рекомендации по освоению учебной дисциплины «организация...
М является усвоение базовых знаний о принципах организации современных ЭВМ и систем, на основе которых студенты могли бы самостоятельно...
Архитектура ЭВМ и систем конспект лекций icon«Архитектура эвм»
Цель дисциплины: формирование систематизированных знаний в области архитектуры компьютера, организации компьютерных систем, программирования...
Архитектура ЭВМ и систем конспект лекций iconПеречень тем для реферата
Архитектура ЭВМ. Принцип Неймана. Основные устройства эвм, их назначение и характеристики
Архитектура ЭВМ и систем конспект лекций iconРеферата. Список элементов библиографической записи
Максимов, Н. В. Архитектура ЭВМ и вычислительных систем [Текст]: учеб для вузов / Н. В. Максимов, Т. Л. Партыка, И. И. Попов. — М.:...
Архитектура ЭВМ и систем конспект лекций iconРабочая программа дисциплины «архитектура ЭВМ и вычислительных систем» (наименование дисциплины)
Составлена в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по специальности...
Архитектура ЭВМ и систем конспект лекций iconОбразовательное учреждение высшего профессионального образования...
Цель курса «Архитектура вычислительных систем» состоит в изучении теоретических принципов, конструктивных и технологических основ...
Архитектура ЭВМ и систем конспект лекций iconПрограмма дисциплины «Архитектура ЭВМ и вычислительных систем»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 230100. 62 "Информатика...
Архитектура ЭВМ и систем конспект лекций iconУчебно-методический комплекс учебной дисциплины «архитектура ЭВМ и систем»
Программа соответствует требованиям гос впо от 23 декабря 2005 г по направлению подготовки 230200 – Информационные системы, специальности...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск