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

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

Производительность конвейерной обработки команд

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

В силу различных причин одной из ступеней конвейерной обработки может не хватить выделенного ей диапазона времени. Например, в 4-ступенчатом кон­вейере, изображенном на рис. 9.2, б, на ступени E, которой выделен один такт, вы­полняется арифметическая или логическая операция


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