Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Регистр адреса памяти (РАП)



Функциональная организация фон-неймановской ВМ

Функциональная схема фон-неймановской ВМ

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

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

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

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

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

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

Теперь остановимся на описании узлов, реализующих целевую функцию УУ

Счетчик команд (СК)

СК - неотъемлемый элемент устройства управления любой ВМ, в соответствии с фон-неймановским принципом программного управления.

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

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

Для изменения естественного порядка вычислений (перехода в иную точку программы) достаточно занести в СК адрес точки перехода.

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

Регистр команды

Счетчик команд определяет лишь местоположение команды в памяти, но не содержит информации о том, что это за команда. Чтобы приступить к выполнению команды необходимо выполнить этап выборки команды - извлечь ее из памяти и разместить врегистре команды (РК).

Только с момента загрузки команды в РК она становится «видимой» для процессора. В РК команда хранится в течение всего времени ее выполнения.

Как уже отмечалось ранее, любая команда содержит два поля: поле кода операции и поле адресной части. Учитывая это обстоятельство, регистр команды иногда рассматривают как совокупность двух регистров — регистра кода операции (РКОп) и регистра адреса (РА), в которых хранятся соответствующие составляющие команды.

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

 

 

Указатель стека

Указатель стека (УС) — это регистр, где хранится адрес вершины стека.

В реальных вычислительных машинах стек реализуется в виде участка основной памяти, обычно расположенного в области наибольших адресов. Заполнение стека происходит в сторону уменьшения адресов, при этом вершина стека — это ячейка, куда была произведена последняя по времени запись. Для хранения адреса такой ячейки и предназначен УС.

При выполнении операции push (занесение в стек) содержимое с помощью сигнала -1УС сначала уменьшается на единицу, после чего используется в качестве адреса, по которому производится запись. Соответствующая ячейка становится новой вершиной стека.

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

Регистр адреса памяти (РАП)

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

Регистр данных памяти

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.