Иерархия памяти
Память компьютера организована иерархически. Самые верхние уровни обеспечивают самый быстрый доступ. Однако существуют физические ограничения на объем непосредственно доступной памяти. Грубо говоря, вы просто не можете понатыкать столько пинов к процессору чтобы в регистры помещались мегабайты или гигабайты. Принято выделять следующие уровни в иерархии:
- Регистры процессора
- Кэш процессора (L1, L2, L3)
- Оперативная память
- Дисковая память
Прикладные программисты обычно не работают с регистрами, это дело компилятора. Кэшем мы тоже плохо управляем. Мы только можем помочь компилятору и процессору предсказать что класть в кэш, используя правильные алгоритмы. Эти алгоритмы работают с последовательными участками памяти.
Оперативная память уже под полным нашим контролем и в высоконагруженных приложениях все держится в памяти. Дисковая память настолько медленная, что обращения к ней могут происходить только в аналитике данных. Высокой нагрузки дисковая память не выдерживает и служит главным образом для архивирования информации.
Рекомендую прочитать:
- Интересный образ магазинов поблизости
- Статья на вики, как отправная точка для знакомства с иерархией памяти