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

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

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

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

Добавлен: 09.04.2024

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

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

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

2.Сложение содержимого аккумулятора с операндом b (получение Ь-\-с).

3.Запоминание содержимого аккумулятора в рабочую ячейку />,.

4.Вызов в аккумулятор из памяти операнда а.

5.Умножение содержимого аккумулятора на операнд

а(получение а2) .

6.Запоминание содержимого аккумулятора в рабо­ чую ячейку Р2.

7.Вызов в аккумулятор из памяти операнда Ь.

Рис. 5-26. Магазинная память.

8.Умножение содержимого аккумулятора на операнд b (получение Ь2) .

9.Сложение содержимого аккумулятора с числом, хранящимся в Р2 (получение а2-\-Ь2).

10.Деление содержимого аккумулятора на число, хранящееся в Р\

(

я ^ “I“ \

 

 

(^получение

— j .

 

Рассмотрение этой последовательности операций по­

казывает, что операнд а выбирался

из

памяти 2 раза

(в командах 4 и 5), операнд Ь — 3 раза

(в командах 2,

7 и 8); кроме того, потребовались дополнительные об­ ращения к памяти для запоминания и вызова из памяти, промежуточных результатов вычислений (в командах 3, 6,9,10).

378


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

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

Если отвлечься от вопросов физической реализации магазинной памяти, то принцип работы такого процессо­ ра может быть пояснен с помощью схемы, изображенной на рис. 5-26. Магазинная память представляет собой на­ бор из п отдельных регистров, каждый из которых спо­ собен хранить одно машинное слово. Одноименные раз­ ряды регистров R 1,..., Rn соединены между собой цепями сдвига. Поэтому весь набор регистров может рассматри­ ваться так же, как группа «-разрядных сдвигающих ре­ гистров, составленных из одноименных разрядов регист­ ров Ru..., Rn-

Информация может продвигаться между регистрами Ru .... Rn в двух направлениях: вниз и вверх. Продви­ жение вниз означает передачу информации из регистра

Ri

в регистр R2, передачу информации из

регистра R2

в

и т. д. Продвижение вверх означает

передачу ин­

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

Два верхних регистрз-->і?і и R2 связаны с арифметиче­ ским устройством. Они содержат два операнда для вы­ полнения арифметической (или логической) операции.

379



Результат операции посылается в регистр R u следова­ тельно, арифметическое устройство выполняет операцию:

(ЯіМЯЛ-Яі-

Одновременно с арифметической операцией осуще­ ствляется продвижение вверх, не затрагивающее ре­ гистр R 1, т. е. содержимое регистра R3 передается в R2, содержимое — в /?3 и т. д.

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

Команды обращения к памяти и передачи управле­ ния являются трехбайтовыми (24 разряда).

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

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

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

380


в регистре Ru в регистр R2. Первоначальное содержимое

R 1 остается неизменным,

а во всех регистрах, кроме Rі

и R2, производится продвижение вниз. Другая специаль­

ная команда, называемая

реверсированием, учитывает

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

ния и позволяет, следовательно, располагать

операнды

в требуемом для следующей операции порядке.

Рассмотрим возможности машины с магазинной па­

мятью на примере вычисления формулы

 

Y _ а2+ Ъ 2

 

Ь +

с

 

Программа вычислений на машине с магазинной па­

мятью, а также содержимое

используемых

регистров

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

 

Команда

R ,

R ,

R ,

R,

1. Вызов Ь

Ь

 

 

 

2.

Дублирование

Ь

Ь

b

 

3.

Вызов с

С

Ь

 

4.

Сложение

Ь~\-с

Ь

 

 

5.

Реверсирование

ь

Ь-\-с

 

 

6. Дублирование

ь

Ь

Ь + с

 

7.

Умножение

ь2

6 + с

 

 

8.

Вызов а

а

62

Ь + с

 

9.

Дублирование

а

а

Ь2

Ь + с

10.

Умножение

а 2

Ь2

Ь + с

 

11.

Сложение

а 2+ Ь 2

Ь + с

 

 

12.

Деление

а 2+ Ь 2

 

 

 

 

 

 

 

Ь-\-с

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

381