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

UptoLike

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

- 21 -
3.4 Программирование на стековом процессоре
Рассмотрим несколько простых примеров вычисления арифметических
выражений с учетом особенностей архитектуры стекового процессора. В до-
полнение к командам работы с памятью введем обозначение команд арифмети-
ческих операций в виде знаков операций и унарную операцию 1/α для обозна-
чения операции вычисления обратной величины.
1. Выражение C=A+B
Фрагмент программы A
, B ,+ ,C
2. Выражение D=A+B+C
Фрагмент программы A, B, +, C, +, D
Или A, B, D, +, +, C
3. Выражение Y=((A+B)*E)/X
Фрагмент программы A, B, +, E, *, X, 1/α, *, Y
Или X, E, B, A, +, *, /, Y
3.5 Замечания по реализации
Первые реализации стековых процессоров относятся ко второму поколе-
нию ЭВМ, т.е. к началу 1960-х годов. Стековую
идею впервые широко исполь-
зовала фирма Burroughs, начиная с машины В 5000 и далее в машинах серии В
6000 и В 6600, из отечественных разработок следует упомянуть машину БЭСМ
- 6 с одними из лучших показателей производительности в своем классе.
В настоящее время идеи стековой архитектуры используются для по-
строения сопроцессоров с плавающей точкой (математических
сопроцессоров)
в процессорах Intel и AMD.
Отметим еще одну идею, связанную с использованием стека - стековую
выборку команд. Идея предполагает реализацию быстрого буфера команд в
устройстве управления в виде стека, в этом случае в УУ явно отсутствует ре-
гистр адреса команды, так как очередная команда выбирается из верхнего эле-
мента стека. Возникающая очевидно при
этом проблема выполнения команды
перехода по адресу может быть решена с использованием циклического стека с
адресацией.
                                    - 21 -

3.4   Программирование на стековом процессоре
      Рассмотрим несколько простых примеров вычисления арифметических
выражений с учетом особенностей архитектуры стекового процессора. В до-
полнение к командам работы с памятью введем обозначение команд арифмети-
ческих операций в виде знаков операций и унарную операцию 1/α для обозна-
чения операции вычисления обратной величины.


      1. Выражение C=A+B
      Фрагмент программы         A↓, B↓ ,+ ,C↑
      2. Выражение D=A+B+C
      Фрагмент программы         A↓, B↓, +, C↓, +, D↑
      Или                        A↓, B↓, D↓, +, +, C↑
      3. Выражение Y=((A+B)*E)/X
      Фрагмент программы         A↓, B↓, +, E↓, *, X↓, 1/α, *, Y↑
      Или                        X↓, E↓, B↓, A↓, +, *, /, Y↑
3.5   Замечания по реализации
      Первые реализации стековых процессоров относятся ко второму поколе-
нию ЭВМ, т.е. к началу 1960-х годов. Стековую идею впервые широко исполь-
зовала фирма Burroughs, начиная с машины В 5000 и далее в машинах серии В
6000 и В 6600, из отечественных разработок следует упомянуть машину БЭСМ
- 6 с одними из лучших показателей производительности в своем классе.
      В настоящее время идеи стековой архитектуры используются для по-
строения сопроцессоров с плавающей точкой (математических сопроцессоров)
в процессорах Intel и AMD.
      Отметим еще одну идею, связанную с использованием стека - стековую
выборку команд. Идея предполагает реализацию быстрого буфера команд в
устройстве управления в виде стека, в этом случае в УУ явно отсутствует ре-
гистр адреса команды, так как очередная команда выбирается из верхнего эле-
мента стека. Возникающая очевидно при этом проблема выполнения команды
перехода по адресу может быть решена с использованием циклического стека с
адресацией.