Современные высокопроизводительные компьютеры
Разработчики CDC 6600 оценивают улучшение производительности для программ на Фортране в 1.7 раза, а для вручную запрограммированных на языке ассемблера программ в 2.5 раза. Однако эти оценки делались в то время, когда отсутствовали программные средства планирования загрузки конвейера, полупроводниковая основная память и кэш-память (с малым временем доступа). Централизованная схема управления CDC 6600 имела примерно столько же логических схем, что и одно из функциональных устройств, что на удивление мало. Основная стоимость определялась большим количеством шин (магистралей) - примерно в четыре раза больше по сравнению с машиной, которая выполняла бы команды в строгом порядке, заданном программой. Централизованная схема управления не обрабатывает несколько ситуаций. Например, когда команда записывает свой результат, зависимая команда в конвейере должна дожидаться разрешения обращения к регистровому файлу, поскольку все результаты всегда записываются в регистровый файл и никогда не используется методика \"ускоренной пересылки\". Это увеличивает задержку и ограничивает возможность инициирования нескольких команд, ожидающих результата. Что касается CDC 6600, то конфликты типа WAW являются очень редкими, так что приостановки, которые они вызывают, возможно не являются существенными. Однако в следующем разделе мы увидим, что динамическое планирование дает возможность совмещенного выполнения нескольких итераций цикла. Чтобы это делать эффективно, требуется схема обработки конфликтов типа WAW, которые вероятно увеличиваются по частоте при совмещении выполнения нескольких итераций. Состояние команд
Команда Выдача Чтение
операндов Завершение выполнения Запись
результата
LD F6,34(R2) ( ( ( (
LD F2,45(R3) ( ( (
MULTD F0,F2,F4 (
SUBD F8,F6,F2 (
DIVD F10,F0,F6 (
ADD F6,F8,F2
Состояние функциональных устройств
Имя Занятость Op Fi Fj Fk Qj Qk Rj Rk
Integer Да Load F2 R3
Mult1 Да Mult F0 F2 F4 Нет Да
Mult2 Нет
Add Да Sub F8 F6 F2 Integer Да Нет
Divide Да Div F10 F0 F6 Mult1 Нет Да
Состояние регистра результата
F0 F2 F4 F6 F8 F10 F12 .
|