Алгоритм командного цикла для эвм с архитектурой фон неймана. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритм командного цикла для эвм с архитектурой фон неймана.



 

В ЭВМ с предложенной фон Нейманом для выполнения программы используются следующие регистры:

 

Название

Разр. (бит) Назначение
CK Счетчик команд 12      Хранит адрес следующей команды
PK Регистр команд 20 (18) Хранит исполняемую команду; 12 р. служат адресом при чтении из ОЗУ
ДР Дополнительный регистр 20 (18) Хранит вторую команду пары
РП Регистр памяти 40 Обеспечивает обмен данными с ОЗУ

СК Важный в работе ЭВМ регистр, хранит адрес очередной исполняемой инструкции. Самое первое значение должен занести оператор, а в дальнейшем машина автоматически обновляет значение данного регистра.

В современных компьютерах при включении питания или сбросе в счетчик аппаратным образом заносится значение стандартного начального адреса ПЗУ.

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

РП Его назначение - принимать из ОЗУ содержимое считываемой ячейки; через него же производится и запись в память.

В статье Д. фон Неймана ОЗУ предполагалось состоящим из 4096 слов (ячеек) по 40 двоичных разрядов. Любое число является 40-разрядным. Адреса ячеек представляют собой целые числа от 0 до 4095 = 212- 1, и для их записи требуется не менее 12 бит.

В предлагаемой конструкции система команд является одноадресной, так что в одну стандартную 40-разрядную ячейку помещалось две 20-битные команды. Каждая из них содержит 12-битный адрес информации и 6-битный код операции (возможно до 26 = 64 различных операций). Оставшиеся 2 бита не используются.

При выполнении каждой команды ЭВМ осуществляет стандартный набор действий:

I. Выборка очередной команды из ОЗУ:

а) адрес очередной команды копируется из СК в РК, младшие 12 разрядов которого одновременно служат регистром считываемого из ОЗУ адреса;

6) стандартным образом производится считывание содержимого необходимой ячейки ОЗУ в РП. Считывание происходит точно так же, как если бы требовалось прочитать число, а не пару команд программы.

в) считанный код копируется из РП в РК и ДР так, чтобы в РК оказалась первая команда пары, а в ДР - вторая.

II. Добавление единицы к содержимому счетчика СК, чтобы он показывал адрес следующей ячейки ОЗУ с командами.

III. Дешифрация и выполнение первой команды из РК.

IV. Копирование второй команды пары из ДР в РК; ее дешифрация и выполнение.

V. Если вычисления не закончены, то перейти к пункту I.

Реализация этапа дешифрации и выполнения команды зависит от того, какая операция должна быть выполнена.

Суть процесса декодирования (дешифрации) состоит в преобразовании внешнего представления команды в некоторый внутренний стандартный для процессора формат. Команда в последнем гораздо длиннее (в 80386 код может занимать до 112 бит), но существенно удобнее для исполнения. Теоретически можно было сразу писать программы во внутреннем коде, но он был бы очень сложен для восприятия человека и занимал бы гораздо больше места в ОЗУ.

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

Считывание 40-разрядного числа и пары 20-разрядных команд происходит абсолютно одинаково, что является следствием принципа хранимой программы. Содержимое ОЗУ читается в регистр РП, и только затем машина делает различие между командами и данными: первые направляются в пару регистров РК и ДР, а последние - в специализированный регистр арифметического устройства аккумулятор. Такая схема считывания информации из ОЗУ дополнительно позволяет передавать содержимое РП в аккумулятор несколькими способами: просто копировать, копировать модуль числа, прибавлять к содержимому аккумулятора, вычитать из него.

Основной алгоритм выполнения программы обеспечивает реализацию последовательно расположенных в ОЗУ команд. На практике этого обычно недостаточно, поскольку требуется организовывать повторение вычислений: циклы или развилку. Для этого используют специальные инструкции - безусловный и условный переход.

 



Поделиться:


Последнее изменение этой страницы: 2021-05-11; просмотров: 104; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.198.49 (0.006 с.)