Пример программы в процессоре пересылок

Опубликовано в Архитектуры процессоров (истоки)

Рассмотрим фрагмент программы процессора пересылок для вычисления следующего арифметического выражения, в рамках стандартного понимания символических имен:

Y = ((a+b)*(c+d))

Будем считать, что схемы АЛУ для операций с плавающей точкой фиксированы на следующие адреса сквозной памяти (операнд 1, операнд 2, результат), а сами операнды имеют длину в 4 байта:

  • Сложение — 64,68,72;
  • Умножение — 76,80,84;

Пример программы в процессоре пересылок

Фрагмент программы (операция пересылки справа на лево):

  • 64, а; (пересылка    первого операнда для сложения)
  • 68, b; (пересылка    второго операнда для сложения) (выполнение команды сложения — результат по адресу 72)
  • 64,76; (пересылка результата, как операнда для умножения)
  • 64, с;  (пересылка    первого операнда для сложения)
  • 68, d; (пересылка    второго операнда для сложения) (выполнение команды сложения — результат по адресу 72)
  • 64, 80; (пересылка результата, как операнда для умножения) (выполнение команды умножения — результат по адресу 84)
  • Y, 84; (пересылка результата в оперативную память)