Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Архитектура ВМ с выделенным доступом к памяти

В архитектуре с выделенным доступом к памяти обращение к основной памяти возможно только с помощью двух специальных команд - loadи store. В английской транскрипции данную архитектуру называют Load/Store architecture. Команда load(загрузка) обеспечивает считывание значения из основной памяти и занесение его в регистр процессора (в команде обычно указывается адрес ячейки памяти и номер регистра). Пересылка информации в противоположном направлении производится командой store(сохранение). Операнды во всех командах обработки информации могут находиться только в регистрах процессора (чаще всего в регистрах общего назначения). Результат операции также заносится в регистр. В архитектуре отсутствуют команды обработки, допускающие прямое обращение к основной памяти. Допускается наличие в АСК ограниченного числа команд, где операнд является частью кода команды.

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

Рис. 27. Архитектура вычислительной машины с выделенным доступом к памяти

 

АСК с выделенным доступом к памяти характерна для всех вычислительных машин с RISC-архитектурой. Команды в таких ВМ, как правило, имеют длину 32 бита и трехадресный формат. В качестве примеров вычислительных машин с выделенным доступом к памяти можно отметить HP PA-RISC, IBM RS/6000, Sun SPARC, MIPS R4000, DEC Alpha и т. д. К достоинствам АСК следует отнести простоту декодирования и исполнения команды.

 

 

Функциональная организация

Фон - Неймановской ВМ

Чтобы получить более детальное представление о структуре и функциях устройствВМ, обратимся к схеме гипотетической машины с аккумуляторной архитектурой (рис. 28). Для упрощения изложения приняты следующие харак­теристики машины:

· Одноадресные команды.Адресная часть команды содержит только один ад­рес. При выполнении операций с двумя операндами предполагается, что дру­гой операнд находится в специальном регистре АЛ У - аккумуляторе, а резуль­тат также остается в аккумуляторе.

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

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

Устройство управления

 

Назначение устройства управления (УУ) было определено ранее при рассмотре­нии структурной схемы ВМ, где отмечалось, что эта часть ВМ организует автома­тическое выполнение программ и функционирование ВМ как единой системы. Теперь остановимся на описании узлов, реализующих целевую функцию


Рис.28. Схема гипотетической машины с аккумуляторной архитектурой

Счетчик команд(СК) — неотъемлемый элемент устройства управления любой ВМ, построенной в соответствии с фон-неймановским принципом программного уп­равления. Согласно этому принципу соседние команды программы располагаются в ячейках памяти со следующими по порядку адресами и выполняются преиму­щественно в той же очередности, в какой они размещены в памяти ВМ. Таким образом, адрес очередной команды может быть получен путем увеличения адреса ячейки, из которой была считана текущая команда, на длину выполняемой команды, представленную числом занимаемых ею ячеек. Реализацию такого режима и призван обеспечивать счетчик команд — двоичный счетчик, вкотором хранится и мо­дифицируется адрес очередной команды программы. Перед началом вычислений в СК заносится адрес ячейки основной памяти, где хранится команда, которая дол­жна быть выполнена первой. В процессе выполнения каждой команды путем уве­личения содержимого СК на длину выполняемой команды в счетчике формирует­ся адрес следующей подлежащей выполнению команды. В рассматриваемой ВМ любая команда занимает одну ячейку, поэтому содержимое СК увеличивается па единицу, что обеспечивается подачей сигнала управления +1СК. По завершении текущей команды адрес следующейкоманды программы всегдаберется из счетчи­ка команд. Для изменения естественного порядка вычислений (перехода в иную точку программы) достаточно занести в СК адрес точки перехода.

Хотя термин «счетчик команд» считается общепринятым, его нельзя признать вполне удачным из-за того, что он создает неверное впечатление о задачах данного узла. По этой причине разработчики ВМ используют иные названия, в частности программный счетчик(PC, Program Counter) или указатель команды(IP, Instruction Pointer). Последнее определение представляется наиболее удачным, поскольку точнее отражает назначение рассматриваемого узла УУ.

В заключение добавим, что в ряде ВМ счетчик команд реализуется в виде обыч­ного регистра, а увеличение его содержимого производится внешней схемой (схе­мой инкремента/декремента).

Регистр команды (РК).Счетчик команд определяет лишь местоположение команды в памяти, но не содержит информации о том, что это за команда. Чтобы приступить к выполнению команды, ее необходимо извлечь из памяти и разместить в регистре команды. Этот этап носит название выборки команды. Только с момента загрузки команды вРК она становится «видимой» для процессора. В РК команда хранится в течение всего времени ее выполнения. Как уже отмечалось ранее, любая команда содержит два ноля: поле кода операции и поле адресной части. Учитывая это обстоя­тельство, регистр команды иногда рассматривают как совокупность двух регист­ров - регистра кода операции(РКОп) и регистра адреса(РА), в которых хранятся соответствующие составляющие команды.

Если команда занимает несколько последовательных ячеек, то код операции всегданаходится в том слове команды, которое извлекается из памяти первым. Это позволяет по коду операции определить, требуются ли считывание из памяти изагрузка в РК остальных слов команды. Собственно выполнение команды начинается только после занесения в РК ее полного кода.

Указатель стека(УС) — это регистр, где хранится адрес вершины стека. В реаль­ных вычислительных машинах стек реализуется в виде участка основной памяти, обычно расположенного в области наибольших адресов. Заполнение стека проис­ходит в сторону уменьшения адресов, при этом вершина стека — это ячейка, куда была произведена последняя по времени запись. Для храпения адреса такой ячей­ки и предназначен УС. При выполнении операции push(занесение в стек) содержимое УС с помощью сигнала -1УС сначала уменьшается на единицу, после чего используется в качестве адреса, по которому производится запись. Соответствую­щая ячейка становится новой вершиной стека. Считывание из стека (операция pop) происходит из ячейки, на которую указывает текущий адрес в УС, после чего со­держимое указателя стека сигналом +1УС увеличивается на единицу. Таким обра­зом, вершина стека опускается, а считанное слово считается удаленным из стека. Хотя физически считанное слово и осталось в ячейке памяти, при следующей за­писи в стек оно будет заменено новой информацией.

Регистр адреса памяти(РАП) предназначен для храпения адреса ячейки основ­ной памяти вплоть до завершения операции (считывание или запись) с этой ячей­кой. Наличие РАП позволяет компенсировать различия в быстродействии ОП и прочих устройств машины.

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

Дешифратор кода операции(ДКОп) преобразует код операции в форму, требуе­мую для работы микропрограммного автомата (МПА). Информация после деко­дирования определяет последующие действия МПА, а ее вид зависит от организа­ции МПА. В рассматриваемой ВМ — это унитарный код УнитК. Часто код операции преобразуется в адрес первой команды микропрограммы, реализующей указанную в команде операцию. С этих позиций ДКОп правильнее было бы назвать не де­шифратором, а преобразователем кодов.

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

Последнее изменение этой страницы: 2016-07-23

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...