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

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

Кэш, в котором обработка промахов и команд упреждающей выборки может от­кладываться, с тем чтобы процессор мог обратиться к имеющимся в нем данным, называется кэшем без блокировок (lockup-free). Поскольку кэш способен обрабо­тать за раз лишь один промах, в него должна быть включена схема для отслежива­ния остальных промахов, ожидающих очереди на обработку. Для этого нужны специальные регистры, в которых хранилась бы информация об отложенных про­махах. Кэши без блокировок впервые появились в 1980-х годах, в компьютерах серии Cyber, производившихся компанией Control Data.

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


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