Программирование на JAVA

На рис. 9.10 вы видите временную диаграмму конвейера суперскалярного про­цессора. Тонкими линиями выделены операции, выполняемые в арифметическом устройстве с плавающей запятой. Для завершения операции, заданной в коман­де I1, арифметическому устройству с плавающей запятой требуются три такта. Целочисленное устройство заканчивает выполнение команды I2 за два такта. Предполагается, что арифметическое устройство с плавающей запятой организо­вано как трехступенчатый конвейер. Поэтому на каждом такте оно может прини­мать новую команду. Команды I3 и I4 поступают в блок диспетчеризации на так­те 3 и диспетчеризируются на такте 4. Целочисленный блок в этот момент ожида­ет новую команду, так как команда I2 уже находится на ступени записи. Команда I1 хотя все еще остается на ступени выполнения, уже перемещена на вторую сту­пень внутреннего конвейера устройства с плавающей запятой. Поэтому на его первую ступень может поступить команда I3. Если предположить, что в ходе про­цесса не произойдет никаких конфликтов, выполнение команд завершится так, как показано на рис. 9.10.


Рис. 9.10. Поток выполнения команд в процессоре с рис. 9.9 при отсутствии конфликтов


<< назад вперед >>