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

Среднее время доступа, каким оно представляется процессору, таково (параметры системы те же, что в примере 8.1):

tave =  hC + (1 - h)M

Если у компьютера вообще нет кэша, то при наличии быстрого процессора и ти­пичной DRAM на каждое обращение к памяти для чтения данных уходит 10 так­тов. Предположим, что в компьютере имеется кэш с блоками по 8 слов и основная память с чередованием адресов. Тогда, как следует из раздела 8.3.4., на загрузку блока в кэш необходимо 17 тактов. Предположим, что 30 % команд в типичной программе выполняют чтение или запись данных. Это означает, что на каждые 100 выполненных команд приходится 130 обращений к памяти. Предположим, что частота попаданий в кэш составляет 0,95 для команд и 0,9 для данных, а также что накладные расходы при промахах операций чтения и записи одинаковы. Тогда приблизительная оценка повышения производительности в результате использо­вания кэша будет такой:

               Время без кэша     ________________________130х10_________  

Время с кэшем   =  100(0,95 х 1 + 0,05 х 17) + 30(0,9 х 1 + 0,1 х 17)  = 5,04

Получается, что при наличии кэша компьютер работает впятеро быстрее


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