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

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

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


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