В основном взято из Википедии - Иерархия памяти и мой собственный опыт:
Это неизбежно, что чем ниже иерархия памяти, которую вы идете, тем медленнее будет скорость передачи данных. Поэтому "согласование" скорости передачи данных будет невозможно. Однако для достижения оптимальной производительности необходимо убедиться, что данные, которые должны изменяться или к которым более часто обращаться, хранятся в "верхних слоях" пирамиды. Например, если вы обращаетесь к фрагменту данных 12 раз в секунду, вы определенно не хотите, чтобы эти данные находились в нижней части пирамиды, на уровне резервного копирования на ленту! Вы по крайней мере хотели бы, чтобы это было на уровне жесткого диска, хотя лично я думаю, что это будет принадлежать в ОЗУ.
Проект оптимальной производительности (программного обеспечения, сервисов, систем и т.д.) Разработан с учетом ограничений и реалий иерархии памяти. Другими словами, если программное обеспечение, которое вы запускаете, и требования к передаваемым данным, спроектированы таким образом, чтобы самые большие и наименее интенсивно используемые данные сохранялись на более низких ступенях иерархии памяти, а самые маленькие и Наиболее часто используемые данные хранятся на самых высоких ступенях иерархии памяти, вы будете испытывать "хорошую производительность".
Это имеет много возможных способов реализации:
Программы, которые очень часто обращаются к большому количеству данных, например драйверы графических устройств, должны постоянно считывать и записывать данные пикселей. Эти данные пикселей отображаются на экране не менее 60 раз в секунду. При таком частом использовании эти данные почти всегда находятся либо на уровне ОЗУ, либо на уровне кэша процессора, что очень быстро, но объем хранилища очень ограничен.
Программы, которые позволяют вам играть с большими объемами данных, которые приходят и уходят, такие как текстовые процессоры, должны несколько часто хранить умеренные объемы данных. Например, когда вы набираете документ Word или сообщение в веб-браузере, немедленное сохранение каждого символа на жестком диске или ленте будет очень медленным, поэтому вместо этого они сохраняются в ОЗУ до тех пор, пока вы не сохраните файл. Существует множество программ и подсистем операционной системы, которые "кэшируют" данные в ОЗУ, что означает, что они временно сохраняют их в ОЗУ или в кэш-памяти процессора на короткое время, пока вы не решите либо выбросить данные, либо сохранить их навсегда на диск.
Пользователи, которые хранят большие файлы, такие как музыкальные и видео коллекции, должны управлять этими данными с умом. Когда вы архивируете свои данные для долгосрочного хранения, вы можете создавать резервные копии на DVD, BluRay-дисках или даже на магнитную ленту - но эти носители не идеальны для быстрого извлечения из-за необходимости физической настройки лент и дисков, и из-за относительно медленной скорости чтения и записи (запись диска занимает несколько минут). Таким образом, идеальная ситуация заключается в том, что на вашем жестком диске вы будете хранить большинство носителей, к которым вы хотите / хотите обращаться чаще всего. Затем он временно копируется в память, когда он декодируется и воспроизводится в режиме реального времени. Таким образом, когда вы переходите от того, что носитель "вокруг" (заархивирован на DVD), к "немедленному доступу" (на жестком диске), к "воспроизведению в данный момент" (в ОЗУ), он перемещается вверх по пирамиде.