Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 300

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

в памяти для хранения программы и количество обра­ щений к памяти. При использовании формата команд машины KDF-9 вся программа размещается в трех соро­ кавосьмиразрядных ячейках памяти.

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

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

Многоаккумуляторные процессоры

Основные преимущества магазинной структуры, обеспечивающие уменьшение числа обращений к памя­ ти для вызова операндов и хранения промежуточных ре­ зультатов вычислений, обусловлены главным образом наличием большого числа регистров с быстрым досту­ пом, а не способом их соединения между собой или спо­ собом указания их в командах. Более того, жестко орга­

низованная структура магазинной памяти

приводит

к определенным недостаткам, свойственным

процессо­

рам с магазинной памятью. Необходимость дублирова­ ния операндов в магазинной памяти увеличивает требу­ емое количество регистров, хотя, вообще говоря, одно число достаточно хранить только в одном регистре. При

практической реализации глубина магазинной

памяти

(т. е. число входящих в нее регистров)

является ограни­

ченной.

 

 

 

 

Следовательно, необходимо

иметь

дополнительную

аппаратуру, которая следит

за

переполнением

памяти,

и специальные программы,

организующие работу про­

цессора в случае переполнения

магазинной памяти.. Оп­

382


ределенные трудности возникают при использовании ма­ газинной памяти в машине с переменной длиной слова.

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

Однако, так как число аккумуляторов значительно меньше числа ячеек памяти, адреса аккумуляторов яв­ ляются укороченными (например, при 16 аккумулято­ рах адрес занимает четыре двоичных разряда).

Типичная команда, определяющая операцию с обра­ щением к памяти, имеет следующий формат:

Код операции

Я

А

Адрес

аккумуля-

Адрес ячейки

 

тора

памяти

Эта команда определяет

операцию:

(R )* (Л)-+R.

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

Команда, определяющая операцию с двумя аккуму­ ляторами, имеет формат:

Код операции

Я,

R,

 

Адреса аккумуляторов

383


и осуществляет операцию: (Ri) * (#2)-> R i. Очевидно, что длина команды второго типа может быть значитель­ но меньше первой.

Логические возможности многоаккумуляторной структуры процессора можно проиллюстрировать на примере вычисления по уже знакомой формуле:

Xа2 + ь*

Ь+ с

Программа для вычисления величины X может быть записана следующим образом:

Вызов

Вызов

Вызов

Умножение

Сложение

Умножение

Сложение

Деление

К і

R,

Rs

Ri

R3

R»

R,

Ri

а

b

C

Ri

R2

R.

R*

Rs

Получение а 2

Получение b + c

Получение b1

Получение а5+ й 2

X

а 2

- f -

Ь2

 

= -------------

 

 

Ь +

с

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

384


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

5-15. ПРИМЕР ОБЩЕЙ СТРУКТУРЫ ПРОЦЕССОРА

Пример общей структуры микропрограммного про­ цессора показан на рис. 5-27. В состав процессора вхо­ дит группа регистров, АЛУ, устройство управления, пульт управления и сигнализации и интерфейс процес-

Рис. 5-27. Пример общей структуры процессора.

сора, осуществляющий связь с ОЗУ и внешними уст­ ройствами. Иногда удобно считать, что регистр операнда, вспомогательный регистр и аккумулятор входят в АЛУ.

Информация в процессоре передается по двум маги­ стралям. Информация из любого регистра может быть передана через выходную магистраль на вход АЛУ и в интерфейс процессора. С выхода АЛУ и интерфейса про­

25—333

381

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

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

После выборки команды из памяти производится, ес­ ли это необходимо, индексация адресной части коман­ ды. Затем адрес операнда передается в адресный ре­ гистр ОЗУ и операнд считывается в регистр операнда.

Код операции из регистра команды передается в стар­ шие разряды адресного регистра ПЗУ, младшие его раз­ ряды гасятся и процессор переходит к микропрограмме выполнения данной команды.

Очередная микрокоманда считывается из ПЗУ в ре­ гистр микрокоманды. Дешифратор микроопераций де­ шифрует код операции выполняемой микрокоманды и возбуждает соответствующие формирователи функцио­ нальных сигналов, которые управляют работой АЛУ, регистров и интерфейса процессора, а также осуществля­ ют необходимые подключения к входной и выходной магистрали процессора.

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

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

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

386


5-16. СТРУКТУРА КОМАНД СОВРЕМЕННЫХ ВЫЧИСЛИТЕЛЬНЫК СИСТЕМ

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

Мы рассмотрим кратко структуру команд на приме­ ре машин IBM 360 и ЕС ЭВМ.

В этих машинах используются следующие основные форматы информации:

1) байт — единица информации, состоящая из вось­ ми информационных разрядов;

2)полуслово — группа из двух последовательно рас­ положенных байтов;

3)слово — группа из двух последовательно располо­ женных полуслов (или из четырех байтов);

4) двойное слово — группа из двух последователь­ ных слов (восьми байтов).

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

Двоичные коды, хранимые в машине в виде указан­ ных выше форматов, могут представлять собой: а) це­ лые двоичные числа с запятой, фиксированной после крайнего правого разряда; крайний левый разряд несет алгебраический знак; отрицательные числа представля­ ются в дополнительном коде; б) двоичные числа с пла­ вающей запятой; крайний левый разряд является носи­ телем алгебраического знака, следующие семь разрядов представляют шестнадцатиричный порядок, а остальные разряды — мантиссу числа; в) логические коды, интер­ претируемые как наборы двоичных разрядов или алфа­ витно-цифровые слова: г) целые десятичные числа.

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

25*

.387