Опубликован: 05.04.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 10:

Взаимодействие основных узлов и устройств персонального компьютера при автоматическом выполнении команды. Архитектура 32-разрядного микропроцессора

< Лекция 9 || Лекция 10: 12 || Лекция 11 >
Аннотация: Рассматриваются особенности функционирования персонального компьютера при автоматическом выполнении команды. Рассматриваются особенности 32-разрядного микропроцессора с архитектурой IA-32.

Взаимодействие основных узлов и устройств персонального компьютера при автоматическом выполнении команды

Основные этапы автоматического выполнения программы в компьютере с классической трехадресной архитектурой были рассмотрены в лекции 3. В этой лекции рассмотрим особенности этого процесса на примере функционирования персонального компьютера, использующего 16 разрядный микропроцессор типа I8086.

Структура такого компьютера приведена на рис. 10.1. В составе ЭВМ кроме традиционных устройств компьютера с классической архитектурой (оперативное запоминающее устройство, арифметико-логическое устройство и основные схемы устройства управления) выделим следующие блоки:

  • регистровая память ;
  • блок формирования адреса операнда (БФАО);
  • двадцатиразрядные сумматоры для получения физических адресов данных ( \Sigma ФАД) и физических адресов команд ( \Sigma ФАК).
Структурная схема базовой модели персональной ЭВМ

увеличить изображение
Рис. 10.1. Структурная схема базовой модели персональной ЭВМ

На входы регистровой памяти из БФАО поступают номера регистров, к которым проводится обращение. На входы выбираемых регистров поступают из АЛУ результаты выполнения операции и значения сегментных регистров, устанавливаемых операционной системой ЭВМ. В регистрах хранятся составляющие эффективных адресов данных, исходные и промежуточные данные, участвующие в выполнении операции, старшие 16 разрядов базовых адресов сегментов.

На блок формирования адреса операнда поступают:

  • сигналы от тактового генератора микропроцессора;
  • коды полей второго байта выполняемой команды, находящейся в РК; эти коды определяют режимы адресации первого (поля md и r/m ) и второго (поле reg ) операндов;
  • коды двух младших разрядов первого байта команды ( d и w ), которые определяют, соответственно, операнд, на место которого записывается результат операции, и разрядность операндов.

БФАО вырабатывает следующие выходные сигналы:

  • коды номера выбираемых регистров;
  • сигналы считывания кодов с выбранных регистров;
  • сигналы считывания смещений ( disp L и disp H );
  • сигналы считывания непосредственных операндов ( data L и data H ).

Сумматоры физических адресов используются для получения адреса обращения к оперативной памяти с учетом ее сегментной организации. Одним из слагаемых выступает начальный адрес сегмента, который формируется путем умножения на 16 значения соответствующего сегментного регистра. Второе слагаемое - это смещение относительно начала сегмента. Для сегмента кода таким смещением является значение указателя команд IP, а для сегмента данных - сформированный блоком формирования адреса операнда эффективный адрес.

Суть этапов выполнения команды остается без изменения по сравнению с классической ЭВМ:

  • первый - выбор кода команды;
  • второй и третий - выбор операндов;
  • четвертый - выполнение операции в АЛУ;
  • пятый - запись результата в оперативную или регистровую память ;
  • шестой - формирование адреса следующей выполняемой команды.

Но содержание этих этапов изменилось.

Рассмотрим выполнение вышеуказанных этапов на примере следующей команды:

ADD AL,[BX+disp8]

Допустим, что ее первый байт находится в ячейке ОЗУ с адресом i + 24*[CS], то есть [IP] = i.

Первый этап. Код IP, то есть [IP] = i, передаётся на сумматор \Sigma ФАК. На этот же сумматор поступает код сегментного регистра команд [CS] из РП, умноженный на 16. На выходе \Sigma ФАК сформируется код физического адреса ОЗУ, по которому находится первый байт команды. Код с выхода \Sigma ФАК поступает на регистр адреса ОЗУ. Из ОЗУ выбирается первый байт команды и посылается в регистр команд (для некоторого упрощения предполагаем, что обмен информацией между микропроцессором и ОЗУ происходит байтами). И в завершении этого этапа к IP добавляется 1.

Все указанные взаимодействия отметим на схеме знаком 11. Эта последовательность действий будет повторена еще два раза для выбора второго и третьего байтов выполняемой команды. Это отмечено на схеме знаками 12 и 13.

Второй этап. В начале второго этапа с помощью ДшКОп расшифровывается код операции выполняемой команды. Если выполняемая команда не нарушает естественного порядка выполняемой программы, то осуществляется формирование адреса первого операнда и выборка этого операнда из РП или ОЗУ ЭВМ.

В данной команде для первого операнда используется регистровый относительный режим адресации. Соответственно, эффективный адрес определяется так: EA = [BX] + disp8. В этом случае коды полей md и r/m второго байта из регистра команд поступают в БФАО и таким образом коммутируют оборудование БФАО, что на его выходе появляются сигналы, обеспечивающие считывание:

  • кода регистра BX ;
  • кода disp L ;
  • кода сегментного регистра DS.

Все указанные коды поступают на сумматор физического адреса данных \Sigma ФАД. При этом обеспечивается передача значения DS со сдвигом на 4 разряда влево (умножение на 16). Сформированный на \Sigma ФАД код поступает на РА ОЗУ. Происходит выборка байта данных, который направляется в АЛУ. Выполнение второго этапа завершено. Все указанные взаимодействия устройств отметим на схеме цифрой 2.

Третий этап. Выбор второго операнда. В данном случае БФАО под воздействием сигнала с разряда w и поля reg регистра команд выдает сигнал обращения к регистру AL, код которого подается в АЛУ. Все взаимодействия на этом этапе отметим цифрой 3.

Четвертый этап. Выполнение операции сложения в АЛУ. Здесь блок управления операциями выдает те сигналы в АЛУ, которые необходимы для выполнения операции. Линии взаимодействия отметим цифрой 4.

Пятый этап. Код выполненной операции из АЛУ направляется в регистр AL (d = 1) регистровой памяти. Взаимодействие отмечается цифрой 5.

Команда выполнена. В IP находится основная составляющая адреса следующей команды программы: (IP) = i + 3. Здесь шестой этап как отдельный (автономный) этап исключен. Формирование основной составляющей адреса следующей выполняемой команды (указателя команд) было реализовано на первом этапе. Значение сегментного регистра команд в арифметических командах не меняется.

ЭВМ готова к выполнению следующих команд программы.

< Лекция 9 || Лекция 10: 12 || Лекция 11 >
Илья Бекиров
Илья Бекиров
Кирилл Кондратьев
Кирилл Кондратьев
Юрий Коробков
Юрий Коробков
Россия, Москва, МЭИ, 1998