Современные высокопроизводительные компьютеры


Структурные конфликты и способы их минимизации - часть 2


Возникает вопрос: почему разработчики допускают наличие структурных конфликтов? Для этого имеются две причины: снижение стоимости и уменьшение задержки устройства. Конвейеризация всех функциональных устройств может оказаться слишком дорогой. Машины, допускающие два обращения к памяти в одном такте, должны иметь удвоенную пропускную способность памяти, например, путем организации раздельных кэшей для команд и данных. Аналогично, полностью конвейерное устройство деления с плавающей точкой требует огромного количества вентилей. Если структурные конфликты не будут возникать слишком часто, то может быть и не стоит платить за то, чтобы их обойти. Как правило, можно разработать неконвейерное, или не полностью конвейерное устройство, имеющее меньшую общую задержку, чем полностью конвейерное. Например, разработчики устройств с плавающей точкой компьютеров CDC7600 и MIPS R2010 предпочли иметь меньшую задержку выполнения операций вместо полной их конвейеризации.

Рис. 5.6, а. Пример структурного конфликта при реализации памяти с одним портом

КомандаНомер такта

12345678910

Команда загрузкиIFIDEX MEMWB

Команда 1 IFIDEXMEMWB

Команда 2 IFIDEXMEMWB

Команда 3 stallIFIDEXMEMWB

Команда 4 IFIDEXMEMWB

Команда 5 IFIDEXMEM

Команда 6 IFIDEX

Рис. 5.6, б. Диаграмма работы конвейера при структурном конфликте




Начало  Назад  Вперед



Книжный магазин