Архитектуры процессоров. Ульянов М.В. - 38 стр.

UptoLike

Составители: 

- 38 -
в «0». Во время выполнения очередной команды УУ задерживало следующую
команду пересылки до появления результата в выходном регистре.
6.4 Пример программы в процессоре пересылок
Рассмотрим фрагмент программы процессора пересылок для вычисления
следующего арифметического выражения, в рамках стандартного понимания
символических имен:
Y = ( (a+b)*(c+d) )
Будем считать, что схемы АЛУ для операций с плавающей точкой фикси-
рованы
на следующие адреса сквозной памяти (операнд 1, операнд 2, резуль-
тат), а сами операнды имеют длину в 4 байта:
Сложение - 64, 68, 72;
Умножение - 76, 80, 84;
Фрагмент программы (операция пересылки справа на лево):
64, a; (пересылка первого операнда для сложения)
68, b; (пересылка второго операнда для сложения)
(выполнение команды сложения - результат по адресу 72)
64, 76; (пересылка результата, как операнда для умножения
)
64, c; (пересылка первого операнда для сложения)
68, d; (пересылка второго операнда для сложения)
(выполнение команды сложения - результат по адресу 72)
64, 80; (пересылка результата, как операнда для умножения)
(выполнение команды умножения - результат по адресу 84)
Y, 84; (пересылка результата в оперативную память)
6.5 Реализация перехода по адресу и сравнения
Реализация операции сравнения в процессоре пересылок
аналогично
обычным арифметическим операциям - схемы сравнения фиксированы на оп-
ределенные адреса сквозной памяти, но в поле результата схема помещает «0»
или «1», в зависимости от результата сравнения операндов. Эта реализацию
проиллюстрирована на рис 6.5 слева.
Более интересно реализован механизм выполнения команды перехода по
адресу. Регистр адреса команды УУ так же является словом в
едином адресном
пространстве (и следовательно доступен программисту !) и расположен по ад-
ресу «0». По адресу «4» расположено поле смещения, которое или вычисляется
                                      - 38 -

в «0». Во время выполнения очередной команды УУ задерживало следующую
команду пересылки до появления результата в выходном регистре.
6.4   Пример программы в процессоре пересылок
      Рассмотрим фрагмент программы процессора пересылок для вычисления
следующего арифметического выражения, в рамках стандартного понимания
символических имен:
                              Y = ( (a+b)*(c+d) )
      Будем считать, что схемы АЛУ для операций с плавающей точкой фикси-
рованы на следующие адреса сквозной памяти (операнд 1, операнд 2, резуль-
тат), а сами операнды имеют длину в 4 байта:
      Сложение          -    64, 68, 72;
      Умножение         -    76, 80, 84;
      Фрагмент программы (операция пересылки справа на лево):
      64, a;      (пересылка первого операнда для сложения)
      68, b;      (пересылка второго операнда для сложения)
                  (выполнение команды сложения - результат по адресу 72)
      64, 76;     (пересылка результата, как операнда для умножения)
      64, c;      (пересылка первого операнда для сложения)
      68, d;      (пересылка второго операнда для сложения)
                  (выполнение команды сложения - результат по адресу 72)
      64, 80;     (пересылка результата, как операнда для умножения)
                  (выполнение команды умножения - результат по адресу 84)
      Y, 84;      (пересылка результата в оперативную память)
6.5   Реализация перехода по адресу и сравнения
      Реализация операции сравнения в процессоре пересылок аналогично
обычным арифметическим операциям - схемы сравнения фиксированы на оп-
ределенные адреса сквозной памяти, но в поле результата схема помещает «0»
или «1», в зависимости от результата сравнения операндов. Эта реализацию
проиллюстрирована на рис 6.5 слева.
      Более интересно реализован механизм выполнения команды перехода по
адресу. Регистр адреса команды УУ так же является словом в едином адресном
пространстве (и следовательно доступен программисту !) и расположен по ад-
ресу «0». По адресу «4» расположено поле смещения, которое или вычисляется