Архитектура. Виды памяти

В компьютерах работа идет с данными. Одни данные используются прямо сейчас, какие-то потребуются через месяц. Чтобы отделять востребованные данные от ненужных, существует три основных типа памяти:

Кэш процессора — чуть-чуть памяти для активных вычислений недалеко от процессора.
Оперативная память — планки по 4, 8, 16 или 32 Гб для хранения всего, что сейчас используется.
Постоянная память — жёсткие диски, ССДшники, флешки. Там хранятся все фотки, игры и приложения. Когда они потребуются, их выгружают в оперативку.

КЭШ

Чтобы процессор быстро вычислял нужные данные, нужно быстро давать ему исходные. Для этого у ядер расставляют блоки памяти и обозначают их Level 1, L2, L3.

Самый первый — самый маленький и быстрый. L1 разделён на два блока: один для следующей команды конвейера, другой для данных под эту команду. Такое разделение команд и данных называют Гарвардской архитектурой.

Чтобы процессор понимал, что ему дальше делать, нужно давать ему следующую команду: делай это с вот этим. Команды и данные для обработки лежат в L1.

С большой кэш-памятью легче вычислять глубокую рекурсию

Распределением данных по памяти занимается контроллер, он тоже в процессоре. Он анализирует входной поток и отправляет в L1 самые востребованные данные.
Например, нам нужно посмотреть все степени двойки до десятого разряда. Контроллер отправляет число 2 в L1, потому что оно используется везде. В L2, он отправит следующее число для возведения, а в L3 будут лежать остальные числа до десятки.

Оперативка

Это тоже активная память, но в ней лежат фоновые процессы. Пока компьютер включен, в оперативке лежит ОСка, драйвера и пользовательские программы.

Вся программа не поместится в кэш, поэтому ненужный сейчас кусок программы откладывается в оперативку. Когда подойдёт очередь, этот кусок загружается в L3.
Если этот кусок больше объема оперативки, то компьютер начинает тупить, лагать или вообще отрубается.
Такое происходит из-за переполнения памяти: данные для вычислений выталкивают ОСку и нажатия с клавиатуры или мышки создают очередь, или вообще не доходят до ядер.

Оперативка хранит данные только пока компьютер активен. Это потому что оперативная память зависит от постоянной энергии — пока компьютер включен, у оперативки есть ток и она работает. Когда компьютер выключается и тока больше нет, ячейки не подпитываются и разряжаются.

Постоянная память

Это жёсткие диски, ССДшники и флешки. Тут хранится всё: ОСка, программы, драйвера и другие файлы.

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

И вот какой момент: на оперативку данные переносятся с жесткого диска, но оттуда не удаляются. Например, вы работаете в фотошопе. Делаете что-то и он крашится, но не удаляется с компьютера, потому что исходный и рабочий код лежит на ХДД. Кликаете по иконке и он снова загружается в оперативку.

Результаты от ядра возвращаются сразу в нужное место: оперативку, жёсткий диск или какой-то уровень кэша
Иконки с сайта flaticon
Поделиться
Отправить
Запинить
Популярное