Основы работы

Введение

Подсистема кэш памяти

Введение в курс

В курсе будут рассмотрены те усовершенствования что внедрялись в архитектуру ЭВМ в течении последних 25 лет. Использование этих усовершенствований и отличает современные архитектуры от классической. Изменения направлены на повышение производительности, реактивности, степени защищённости.

Первые реализации систем кэш памяти появились на ЭВМ в начале семидесятых годов двадцатого века, а к девяностым годам использование кэш памяти стало обязательным атрибутом практически всех ЭВМ. Причинами того явились:

1. Размер используемых ЭВМ оперативных запоминающих устройств (ОЗУ) непрерывно возрастал, а чем больше размер ЗУ, тем сложнее выполнить его быстрым, тем больше времени уходит на выборку данных. Такой параметр как "латентность памяти" (число тактов, или время необходимое для осуществления операции чтения/записи) уменьшалась не так быстро, как того хотелось бы.

2. Процессоры в то время становились всё быстрее, и быстрее, и скорость работы процессоров росла значительно быстрее чем удавалось уменьшить латентность памяти. И уже к семидесятым годам двадцатого века скорость ОЗУ стала заметно отставать от скорости ЦП, большая часть времени уходила уже не на собственно обработку, а на выборку данных из ОЗУ.

Тогда родилась и была реализована идея кэширования данных: кроме ОЗУ большого размера, в котором содержится код и данные всех выполняемых (загруженных в ОЗУ) программ, оснастить ЭВМ ещё и дополнительно ЗУ меньшей ёмкости, так называемой "кэш памятью". И организовать работу ЭВМ так, что бы в эту память постоянно подгружались из ОЗУ именно те фрагменты кода (программного кода и кода данных) к которым, в данный момент, наиболее велика вероятность обращения, т.е. фрагменты кода с которыми процессор преимущественно работает в данный, в текущий момент времени.

Реализовать подсистемы кэш памяти стало возможным благодаря следующим свойствам, более или менее, но присущим - всем программам:

а) "локальность в пространстве" - если в программе произошло обращение к некому адресу ОЗУ, имеется повышенная вероятность того, что следующее обращение произойдёт к одному из адресов находящихся по соседству с данным адресом.

б) "локальность во времени" – если в программе произошло обращение к некоторому участку кода, то имеется повышенная вероятность того, что в последующий промежуток времени будут происходить и повторные обращения к тому же участку кода.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: