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

аппаратная организация (б)

Роль кэш-памяти

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

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

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


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