Зарегистрируйтесь, чтобы продолжить обучение

Иерархия памяти Основы ЭВМ

Системному администратору приходит задача: проверить логи всех серверов за последние три месяца. Он открывает первую виртуальную машину, ждёт, пока загрузится лог — прошло несколько секунд. Дальше вторая машина, третья… через час он понимает, что устал просто ждать, а работа стоит на месте.

Почему так медленно? Потому что данные, к которым он обращается, хранятся далеко, на «диске» или даже в «архиве», а процессор ждёт, пока информация придёт. Если бы нужные данные были под рукой, процессор справился за считанные минуты.

Представьте, что память компьютера — это место, где вы храните свои контакты, информацию и воспоминания. Разные уровни памяти — это разные способы хранения: от самого быстрого и дорогого до самого медленного и дешёвого.

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

Следующий уровень — кэш процессора. Это как «избранное» в телефоне: десяток контактов, с которыми вы чаще всего общаетесь. Доступ почти мгновенный, чуть медленнее, чем регистры. Скорость ~3–10 нс. Кэш хранит данные, к которым процессор обращается чаще всего, чтобы не тратить время на медленную память.

Дальше идёт оперативная память (RAM) — вся телефонная книга. Сотни и тысячи номеров. Доступ медленнее, чем кэш, но объём больше, поэтому туда помещается всё, что активно используется. Скорость ~100 нс.

Если нужного контакта нет в RAM, обращаемся к диску — старой бумажной записной книжке. Там можно хранить терабайты информации, но поиск данных занимает заметное время. SSD быстрее, HDD медленнее. *SSD: 0,1–1 мс,. HDD: 10–20 мс, *

Внизу пирамиды — лента и архивные носители. Это старые чердачные коробки с тысячами контактов и документов. Доступ медленный, поиск долгий, зато стоимость хранения минимальна. Скорость 100–1000 мс.

Главное правило иерархии памяти: чем быстрее доступ, тем меньше объём и выше стоимость; чем медленнее доступ, тем больше объём и дешевле хранение.

Чтобы маленькое «избранное» эффективно помогало, работает принцип локальности.

  • Временная локальность: если вы несколько раз за день звоните маме, номер уже наготове в голове или в избранном.
  • Пространственная локальность: если вы открыли телефонную книгу и нашли один контакт, велика вероятность, что вам скоро понадобятся и рядом стоящие номера.

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

Правильная организация данных и использование принципа локальности — ключ к эффективной работе любой системы. Если игнорировать эти правила, даже самый мощный компьютер будет тормозить.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff