Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
default.docx
Скачиваний:
10
Добавлен:
13.09.2019
Размер:
2.43 Mб
Скачать
  1. Сisc-архитектура.

Современная технология программирования ориентирована на языки высокого уровня (ЯВУ), главная цель которых — облегчить процесс программирования. Переход к ЯВУ, однако, породил серьезную проблему: сложные операторы, характерные для ЯВУ, существенно отличаются от простых машинных операций, реализуемых в большинстве вычислительных машин. Проблема получила название семантического разрыва, а ее следствием становится недостаточно эффективное выполнение программ на ВМ. Пытаясь преодолеть семантический разрыв, разработчики вычислительных машин в настоящее время выбирают один из трех подходов и, соответственно, один из трех типов АС К:

• архитектуру с полным набором команд: CISC (Complex Instruction Set Com- puter);

• архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set . Computer);

• архитектуру с командными словами сверхбольшой длины: (Very Long Instruction Word).

. В вычислительных машинах типа CISC проблема семантического разрыва решается счет расширения системы команд, дополнения ее сложными командами, семантически аналогичными операторам ЯВУ. Основоположником CISC-архитектуры считается компания IBM, которая начала применять данный подход с семейства машин IBM 360 и продолжает его в своих мощных современных универсальных ВМ, таких как IBM ES/9000. Аналогичный подход характерен и для компании Intel в ее микропроцессорах серии 8086 и Pentium. Для CISC-архитектуры типичны:

• наличие в процессоре сравнительно небольшого числа регистров общего назначения;

• большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы ЯВУ;

• разнообразие способов адресации операндов;

• множество форматов команд различной разрядности;

• наличие команд, где обработка совмещается С обращением к памяти.

Количество РОН в архитектурах типа CISC обычно невелико (от 8 до 32), и для представления номера конкретного регистра необходимо не более пяти разрядов, благодаря чему в адресной части команд обработки допустимо одновременно указать номера двух, а зачастую и трех регистров (двух регистров операндов и регистра результата).

Недостатки:

- высокая стоимость аппаратной части;

- сложности с распараллеливанием вычислений.

13 Обработка сложных команд

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

Поскольку целочисленное АЛУ и АЛУ ПЗ работают независимо, то прием команд на вход общей части конвейера приостанавливается только в следующих случаях:

1) оба конвейера выполняют многотактные операции;

2) один из конвейеров выполняет многотактную операцию, но на ступенях D1 или

D2 находятся команды для этого же конвейера.

Для уменьшения влияния сложных команд на производительность конвейера применяются следующие меры.

1. Наиболее прямой путь к увеличению скорости выполнения сложных команд заключается в совершенствование конструктивно-технологической базы аппаратных средств, а именно:

• уменьшении времени переключения логических элементов и времени

обращения к элементам памяти;

• увеличении степени интеграции элементов.

  1. Уменьшение числа логических уровней при реализации комбинационных схем.

  2. Использование быстрых алгоритмов реализации основных операций.

  3. Использование механизма обходов.

  4. Конвейеризация обработки внутри операционного устройства.

  5. Распараллеливание операций в операционном устройстве.

  6. Переход к RISC-архитектуре.

14 Использование механизма обходов в конвейерном процессоре.

Использование механизма обходов. Рассмотрим пример выполнения в конвейере плавающей запятой скалярного конвейерного процессора следующего фрагмента программы:

1 FLD [M1]

2 FMUL [M2]

3 FADD [M3]

4 FST [M4],

в котором каждая команда размещает свой результат на вершине стека, а последующая команда использует его как один из операндов (рис. 14). Это означает, что между смежными командами существует строгая зависимость по данным.

Из рис. 14 следует, что ступень EX простаивает 7 тактов из 12:

1) в такте 2 ступень EX не работает, так как результат команды 1 является операндом команды 2. Поэтому в такте 2 он записывается в стек и только в такте 3 может быть считан командой 2;

2) аналогично команда 3 ожидает такты 4, 5, 6, пока результат команды 2 на ступени WF не окажется в стеке, и только в такте 7 может считать этот результат из стека;

3) зависимость между командами 3 и 4 также дает такты простоя 8, 9 и 10 ступени EX.

Н а рис. 15 представлена диаграмма той же программы, но в такте 2 результат команды 1 одновременно с записью в стек передается на ступень EX, благодаря чему может быть начата команда 2. То же происходит и в такте 5. команда 4 не может быть начата в такте 8, так как команда FST начинает работать только после записи результата в регистр предыдущей командой.

Т аким образом, обходы позволили исключить 2 такта из 12. Однако полностью устранить простои механизм обходов не позволяет.

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

Программа без независимых команд состоит из 4 команд и согласно рис. 15 выполняется за 10 тактов. Следовательно, архитектурная скорость будет равна 4/10 = 0,4.

Программа с независимыми командами также выполняется за 10 тактов (см. рис. 16), но при этом она включает 9 команд. Поэтому в этом случае архитектурная скорость равна 9/10 = 0,9.

Программа с независимыми командами реализует скалярную форму параллелизма в конвейерных процессорах. К сожалению, размещение независимых команд в программах с плавающей запятой в CISC-процессорах вызывает определенные трудности из-за стековой организации блока РОН конвейера ПЗ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]