15 сравните скорости оперативной памяти и кэш памяти
Данная статья является продолжением прошлого теста в котором было произведено сравнение производительности при величине кэш памяти L3 2 и 4 МБ на ядро. Также в ней была приведена необходимая теоретическая часть, которая отвечает на вопрос — из-за чего увеличение кэша в принципе приводит к росту производительности процессора. Но если коротко — то на самом деле роста производительности — нет, есть только уменьшение потерь производительности, вызванных простоями процессора из-за того, что ему сложно организовать свою работу, когда нужных данных нет в кэш памяти. Соответственно, чем больше кэша, тем реже случаются вынужденные простои процессора.
К слову, для любителей теорий заговора отмечу, что увидеть глазами когда именно происходят простои — нельзя. Программы мониторинга загрузки процессора фиксируют наличие у процессора задач как таковых, возможно ли процессору сейчас или невозможно решить задачу — программы мониторинга не знают. Но в моменты вынужденного простоя из-за подсистемы памяти — задачи перед процессором стоят, так что процессор по мониторингу «выглядит» занятым. Есть, конечно, способы запечатлеть простои (в случае когда мы не можем напрямую сравнить производительность), но они довольно условные. Я знаю таких способа два. Один подходит всегда, второй только в играх. Всегда можно оценить энергопотребление. Если задача одна и та же то с вынужденными простоями процессор будет потреблять меньше энергии. То есть если вы не знаете — приносит прирост производительности в вашей задачи разгон памяти или кэша, то можно одну и ту же задачу запустить с разгоном и без и сравнить показания датчиков отвечающих за измерение потребляемой энергии или величины потребляемого тока процессорных ядер. Второй метод, для игр, сложнее. И потребует запись логов процента загрузки процессора и в игре нужно выбрать, для теста с разгоном и без, аналогичную локацию или использовать встроенный в игру бенчмарк. Если производительность в игре была ограничена процессором, то особого ума не надо, вы по FPS увидите разницу, но если производительность ограничена видеокартой, то FPS (в случае если видеокарте хватает своей видеопамяти) от разгона памяти не увеличится. Но тут увидеть прирост производительности можно именно по проценту загрузки процессора. При равном FPS (равном объёме работы для процессора) процент загрузки процессора с разгоном памяти и кэша будет ниже. То есть ту же самую работу процессор будет выполнять быстрее, и чаще находится в простое, ожидая пока видеокарта отрисовывает кадр.
Вернёмся к основной теме
В прошлом тесте было выяснено, что увеличение объём кэша (сюрприз) приводит к росту производительности.
И рост этот зависит от самого софта. Если алгоритм требует минимума данных и вылизан до предела, то производительность и с малым объёмом кэш памяти стремится к теоретической производительности процессора. И чем задача менее оптимизирована (в силу принципов работы и задачи программы или кривости программиста), тем больше она зависит и от объёма кэш памяти и от его производительности.
С этим всё понятно. Результаты предсказуемые, увидеть их, конечно же было интересно, но тест тот был подготовительным и должен был быть частью этого теста.
Многоходовочка
Дело в том, что есть менее очевидное сравнение. А именно — как ведёт себя прирост от объёма кэш памяти в случае разной оперативной памяти.
Тут не всё настолько просто, как может показаться и есть два предположения.
Дело в том, что данные в кэш памяти «появляются» с двух сторон. Данные (блоками) поступают из оперативной памяти после того как процессор, после промаха в кэш, инициализировал необходимость передачи данных ближе к себе из оперативной памяти. И второй источник откуда данные поступают в кэш L3 — это передача данных от выполненных операций процессором. То есть процессор выполнил операцию, и данные автоматически записываются в кэш, они, если говорить про L3 становятся доступны и другим ядрам и т.д.
И исходя из двух источников поступления данных встаёт закономерный вопрос:
Как оперативная память влияет на эффективность роста объёма кэш памяти?
И развитей событий может быть два:
- Процессору постоянно нужны данные, находящиеся в оперативной памяти, и если память достаточно медленная, то в кэш записи будут происходить медленно и слишком редко (на фоне скорости работы процессора), то есть постоянно терять актуальность, и будут ограничиваться как пропускной способностью оперативной памяти, так и задержками оперативной памяти. Что приведёт к тому, что не имеет значение насколько большой кэш, так как там будет лежать старый «мусор» в не зависимости от размера этого кэша. То есть для этого предположения верно, что при разгоне оперативной памяти разница в производительности от увеличения объёма кэша станет больше. Для понимания рассмотрим простой гипотетический пример. Допустим есть компьютер с оперативной памятью 2133 МГц и с оперативной памятью 3600 МГц. И на том и на другом мы увеличиваем объём кэш памяти в два раза. Если это предположение верно, то мы должны получить результаты, допустим — прирост от роста кэша на памяти 2133 МГц — 5%, а прирост от роста кэша на оперативной памяти 3600 МГц — 10%.
- Большая часть выполняемых операций используют только что созданные процессором данные, которые и так уже находятся в кэше. То есть промахи в кэш — это редкое явление. С медленной памятью каждый из промахов будет сильнее влиять на производительность, с быстрой памятью — слабее влиять на производительность. То есть для этого предположения верно, что при разгоне оперативной памятиразница в производительности от увеличения объёма кэша станет меньше. Допустим есть компьютер с оперативной памятью 2133 МГц и с оперативной памятью 3600 МГц. И на том и на другом мы увеличиваем объём кэш памяти в два раза. Если это предположение верно, то мы должны получить результаты, допустим — прирост от роста кэша на памяти 2133 МГц — 10%, а прирост от роста кэша на оперативной памяти 3600 МГц — 5%.
В этом тесте мы и будем разбираться в том, какое из предположений верное.
Забегая вперёд — скажу, что представить результаты теста визуально довольно сложно, так что высказанным ранее предположениям дадим цветовые обозначения. Первое предположение — зелёное, второе предположение — красное (к сожалению некоторым дальтоникам этот тест будет сложен для визуального восприятия, но результаты и выводы будут описаны и текстом).
Перейдём к тестам
Начнём с бенчмарков которые плохо реагируют на память и кэш.
Однопоточный CPU-z тест
Немного остановлюсь на том что за таблица такая и как её читать.
У нас в тесте есть 4 конфигурации системы:
- ОЗУ 2133 МГц L3 8 МБ
- ОЗУ 2133 МГц L3 16 МБ
- ОЗУ 3600 МГц L3 8 МБ
- ОЗУ 3600 МГц L3 16 МБ
Задача сравнить разницу между разницей (всё сложно)…
Задача — определить разницу между 8 и 16 МБ кэша на ОЗУ 2133 МГц (разница между конфигурациями 1 и 2), далее — определить разницу между 8 и 16 МБ кэша на ОЗУ 3600 МГц (разница между конфигурациями 3 и 4). А потом сравнить две разницы, то есть понять что больше — разница между 1 и 2 или разница между 3 и 4. Именно это сравнение и позволит понять какое предположение верно: зелёное (1) или красное (2).
Для понимания того как читать результаты рассмотрим первый пример подробнее:
- ОЗУ 2133 МГц L3 8 МБ — 468,9
- ОЗУ 2133 МГц L3 16 МБ — 470,9
- ОЗУ 3600 МГц L3 8 МБ — 466,2
- ОЗУ 3600 МГц L3 16 МБ — 466,7
Разница между 1 и 2 — «+0,4%»
Разница между 3 и 4 — «+0,1%».
Теперь мы сравниваем «+0,4%» и «+0,1%» и получаем, что с 2133 МГц прирост выше, то есть верно «красное» предположение. Формально именно красным цветом должен был быть покрашен центральный прямоугольник на слайде результата, но так как 0,4 и 0,1 — это погрешности, то прямоугольник не окрашен вообще никак.
В многопоточном CPU-z результаты следующие:
Многопоточный CPU-z
Разница между 3,3 и 3% — слишком мала, чтобы сделать выводы. Даже несмотря на то, что все результаты — это усреднение трёх измерений 0,3% разницы — это результат не превышающий погрешности.
CINEBENCH R20 тоже плохо реагирует и на кэш и на память.
CINEBENCH R20
Опять разница не превышающая погрешности теста.
На этом бенчмарки которые мало отражают разгон памяти и кэша, и изменения кэша заканчиваются.
Как и следовало ожидать — им без разницы что там с памятью.
Переходим к тестам, которые любят и память и кэш.
И первым будет Win-rar
Результаты в Win-rar
С медленной памятью — прирост от увеличения объёма кэша L3 составил «+46,6%», с разогнанной памятью рост составил — «+35%». То есть верно второе предположение. Больший объём L3 позволил реже совершать промахи в кэш, от чего влияние от разгона памяти становится менее значимым.
Другой архиватор — 7-zip показывает схожие результаты.
Результаты в 7-Zip
Опять прирост с медленной памятью — выше, чем с быстрой.
Остались только игры
Первая игра: Far Cry5
Результаты в Far Cry 5
Можно увидеть, что без разгона памяти прирост от увеличения размера кэш памяти оказался существенно ниже, чем прирост от увеличения кэш памяти с разогнанной памятью. А это значит, что эффективность работы кэш памяти оказалась без разгона памяти низкой, что согласуется не со второй теорией, как в синтетических тестах, а с первой теорией.
Можно сравнить прирост не только цифрами, но и на графиках. Вот так выглядят графики распределения плотности вероятности мгновенного FPS от увеличения размера кэш памяти с разогнанной памятью.
Прирост виден невооружённым взглядом
А вот какой прирост без разгона памяти:
Прироста почти нет
Вторая игра: Watch Dogs 2
Результаты в Watch Dogs 2
Тут, к сожалению, ничего не видно. А значит и интересного сказать по этому поводу ничего не получится =(
Для того чтобы лучше оценить реальность работы в играх нужно больше игры в тесты, возможно, когда-нибудь будет расширенное тестирование. Пока же можно сделать выводы, что, несмотря на то, что вторая (красная) гипотеза на практике должна быть преобладающей — первая (зелёная) тоже может случатся, в том числе, и в реальных задачах.
У этой статьи существует и видеоверсия.
Что такое кеш
Кэш хранит часто используемые данные ЦП. Процессор сначала проверяет кеш на наличие необходимых данных. Хотя оперативная память быстрая, она не такая быстрая, как кеш. Следовательно, хранение обычно требуемых данных в кеше выгодно для увеличения скорости вычислений.
Рисунок 1: Кэш и ОЗУ
Есть три типа кеша. Кэш 1 уровня самый маленький. Он расположен внутри процессора или процессора. Таким образом, он работает с той же скоростью, что и процессор. Кэши уровня 2 и уровня 3 являются внешними. Уровень 2 кеша больше, чем уровень 1 кеша. Если требуемые данные недоступны в кэше уровня 1, ЦП проверяет кэш уровня 2. Если требуемые данные недоступны как в кэшах уровня 1, так и уровня 2, ЦП проверяет кэш уровня 3. Если требуемые данные недоступны ни в одном из этих кэшей, ЦП получит доступ к ОЗУ. Кэш 1-го уровня - самый быстрый кеш из всех. Процессор может иметь несколько ядер. Ядро - это исполнительная единица ЦП. Каждое ядро может иметь отдельные кэши уровня 1 и уровня 2. Кеш уровня 3 распределяется между всеми ядрами.
скорость
ОЗУ быстрее, чем вторичные носители, но не так быстро, как кеш.
использование
Кэш содержит часто используемые данные ЦП. ОЗУ содержит программы и данные, которые в данный момент выполняются ЦП.
Разница между кешем и оперативной памятью
Заключение
И кеш, и оперативная память являются энергозависимой памятью. Разница между кешем и оперативной памятью заключается в том, что кеш - это быстрый компонент памяти, который хранит часто используемые данные ЦПУ, а оперативная память - это вычислительное устройство, которое хранит данные и программы, используемые в настоящее время ЦПУ. Вкратце, кеш быстрее и дороже оперативной памяти.
Ссылка:
1. Объяснение кэш-памяти процессора - что такое кэш-память ?, анимированные видеоролики PowerCert, 27 ноября 2016 г.
Ну, чувак! Тут все просто. Оператива неизменно обращается к процу через контроллер памяти, который помимо ограничений по шине вынужден еще проводить кучу алгоритмов как то установка бита четности на каждом из тактов и синхронизировать это все с частотой CPU. Другое дело кэш. Эта ерунда служит буфером и стоком (для каждого из ядер проца, например) . Проц напрямую обращается в кэш со считыванем - записью типичных тактовых циклов (это в общем. На деле кэш подразделяется на уровни использующие отдельно команды, данные, инструкции)
1.Кеш память (любого уровня) работает на больших частотах в разы чем оперативная
2.Находится на одном кристале с процессором.
Потому что динамическиая память (то что оперативкой называете) конденсаторная. Ей нужны циклы регенерации и считывания строки и потом подача даных пользователю проге. КЭШ память хранит часть образа кусочками нужными из денамической. Самая быстрая полно ассоциативнная. Кэж может быт полуассоциативным и быть медленее. Но основной КЭШ всегда полно ассоциативен. Затраты в транзисторах более чем 6 раз. Да мощности они жрут мног коль транзюков много и скорость обращения больше. А первые процы обходились без КЭШа. максимум была очередь команд. Даже своп это тоже память только на диске. Вот и считайте цепочку КЭШ 1 уровня самый быстрый, КЭШ второго уровня чуть помедленее, КЭШ 3 уровня ущё медленее , оперативная память и далее диск. В итоге получается куча памяти по обьёму с разно скоростью. Но КЭШ всегда синхронизирован с оперативкой. Нет изменений нет изменений в оперативке. Чем короче код чтоб сдаными лёг в КЭШ тем быстрее прога. А теперь ещё смешнее. У многоядерных были КЭШи одним размером на ядро, а потом появился динамический размер. Если одному ядру много не надо , то другое забирает свободное. Ускорение существеное. Если физических процов многоядерных много, то это происходит внутри аждого проца между ядрами. Жаль не помните пенёк первый с отдельной статическими микрухами и микросхемой тегов памяти.
«Нестыковка» №1. Или - куда подевался «ноль»
Этот график взят нами из первой части статьи. Мы видим, что линии, отражающие производительность видеокарты в разных режимах, при уменьшении частоты центрального процессора сходятся к одной и той же наклонной линии. «Нестыковка» состоит в том, что если мы попытаемся продлить эту аппроксимирующую линию до пересечения с осью “FPS”, то увидим, что прямая приходит не в начало координат, а несколько выше. Получается, что при нулевой частоте центрального процессора мы можем играть, причем со скоростью целых 15 кадров в секунду?! Как такое может быть? Если отвлечься от условий тестирования, в которых мы получали результаты, то теоретически такая ситуация все-таки возможна. Допустим, мы загрузим в память видеокарты некоторые данные вместе с шейдерными программами, которые должен выполнять видеочип, и пусть себе все автономно крутится, центральный процессор тут не нужен. Примеры использования видеопроцессоров для математических расчетов известны. Но в наших условия тестирования такой результат получить физически невозможно. Кто-то же должен рассчитывать положение объектов в игровой сцене вместо CPU! Как же на самом деле должен вести себя график процессорозависимости, при стремлении частоты центрального процессора к нулю? Попытка провести эксперимент на реальном оборудовании осложняется тем, что более низкие значения множителя CPU уже недоступны, а если просто взять какой-то "совсем слабый процессор» – мы изменим платформу, то есть условия тестирования, как следствие, корректно сопоставить результаты тестирования уже не получится. Что же делать? Давайте попробуем предсказать «поведение» кривой процессорозависимости с помощью логики и реального «поведения» типичного персонального компьютера. Для этого нам придется несколько углубиться в принципы работы операционных систем с вытесняющей многозадачностью. Не пугайтесь этого длинного термина. Скорее всего, для работы и игр вы используете именно такую операционную систему. Ведь речь идет о хорошо всем известной операционной системе - Windows XP. Помимо Windows XP к операционным системам с вытесняющей многозадачностью относятся и Windows2000, и все клоны Linux. Особенность этих операционок, существенная для нашего рассмотрения, состоит в том, как они распоряжаются ресурсами «железа», а именно – распределение процессорного времени для одновременного выполнения нескольких задач. Нам, сидя за персональным компьютером, кажется, что все выполняется одновременно – и закачка файлов из Интернет, и воспроизведение музыки, и запись CD-диска, однако в реальности все выглядит несколько по-другому. Все приложения, которые вы запустили на своем компьютере, выполняются в строгой последовательности! Никакого противоречия здесь нет. Поскольку процессор один, то все приложения выполняются по очереди, по «кусочкам». Но эти кусочки настолько малы, а операционная система настолько быстро между ними переключается, что человек не в состоянии это заметить, и возникает иллюзия, что все выполняется одновременно. Если говорить кратко и упрощенно, то все время работы центрального процессора разбивается на некоторые промежутки, или «кванты» времени. А затем эти «кванты» времени «выдаются» приложениям, типа – нате поработайте, вот вам процессор на пару миллисекунд. При этом ядро многозадачной операционной системы и само потребляет некоторую часть этих «квантов» времени процессора, для того чтобы работали системные службы, да и просто – надо же операционке «подумать», какому приложению отдать следующий «квант». То есть, появляются некоторые «непроизводительные» (с точки зрения пользовательского приложения) потери времени процессора, которые идут на обслуживание собственно операционной системы. Все вышеизложенное имеет самое непосредственное отношение к нашей «нестыковке». И вот почему. Если операционная система для обеспечения своей работоспособности требует некоторого фиксированного количества «квантов» времени центрального процессора, то очевидно, что при уменьшении частоты CPU количество свободных «квантов», которые могут быть выделены для работы приложения (в нашем случае 3D-игры), будет уменьшаться быстрее, чем частота процессора. Можно это выразить и другими словами. Предположим, что при частоте процессора в 100 МГц его производительности хватит для обслуживания только операционной системы. Тогда для получения эквивалентной частоты CPU, то есть количества «мегагерц», которые доступны приложению, мы должны из реальной частоты процессора вычесть эти самые 100 МГц, отводимые для операционной системы. В этом случае получается, что при частоте CPU 1000 МГц величина «поправки на операционку» составляет 10%, при частоте CPU в 200 МГц – уже 50%, а при частоте CPU 100 МГц – мы получим 0 FPS. На следующем графике мы проиллюстрировали все сказанное выше.
Красной прерывистой линией обозначено предполагаемое поведение кривой процессорозависимости при стремлении частоты CPU к нулю. Внимание - эта линия проведена произвольно и не является отображением каких-либо экспериментальных данных! Вам может показаться странным, зачем мы уделяем этому вопросу столько внимания и времени. Ведь процессоры со столь низкими частотами уже практически не используются в персональных компьютерах, да и практической пользы от эксперимента, даже если его удалось бы выполнить – на первый взгляд нет. Все так, но и не совсем так. Давайте зададимся вопросом – «а как можно исключить или минимизировать влияние операционной системы на скорость работы приложения?». То есть – возможно ли вообще получить график процессорозависимости, проходящий через начало координат? Забегая вперед, скажем – возможно, если операционная система будет выполняться… на другом процессоре. Но к этому вопросу мы вернемся чуть позже.
Нестыковка №2. Нелинейность «линии максимально возможных результатов»
Только что мы рассмотрели поведение «линии максимально возможных результатов» при уменьшении частоты CPU. Теперь давайте посмотрим, что происходит, если мы пойдем в другую сторону и будем увеличивать частоту CPU.
Собственно, суть «нестыковки» хорошо заметна на все том же графике, который мы рассматривали выше. А именно – в какой бы точке «линии максимально возможных результатов» мы не строили касательную, при увеличении частоты CPU дальнейшие результаты отклоняются от касательной вниз. Почему график не следует линейному закону, а начинает «пригибаться» к оси Х? Приведем несколько причин, объясняющих данное явление. Первая причина – расход мощности центрального процессора на нужды операционной системы. Вопрос, который выше уже рассматривался. Вторая причина - влияние множителя CPU. Спрашивается, при чем тут коэффициент умножения CPU? А притом, что если увеличивать скорость процессора только за счет множителя, мы вроде бы увеличиваем мощность CPU по обработке данных, но ведь их еще надо ядру CPU доставить, а скорость процессорной шины остается неизменной. Для задач с большим количеством данных, которые надо обрабатывать и которые не помещаются в кэш-память процессора, может возникнуть момент, когда ядро CPU уже обсчитало имеющиеся данные, и ждет подкачки следующей порции. То есть, процессор начинает простаивать, что можно рассматривать как снижение «эффективной» частоты работы CPU. Третья возможная причина – характер распределения процессорного времени между графическим драйвером (который выполняется на CPU) и собственно расчетами игры (также выполняемыми на CPU). Ситуация выглядит несколько запутанно, поскольку обе задачи используют центральный процессор, да и графический драйвер можно отнести как к компоненту операционной системы (по архитектуре), так и к важному звену с точки зрения выполнения 3D-приложения. Другие возможные причины – латентность и пропускная способность оперативной памяти, шины процессора и т.д. Список приведенных причин не является окончательным и исчерпывающим, и при желании можно найти еще несколько факторов, из-за которых поведение «линии максимальных результатов» будет отличаться от прямолинейного. Определение степени влияния каждой из указанных причин и поиск «бутылочного горлышка» – довольно обширная тема для исследования. Прежде, чем перейти к рассмотрению частных вопросов, сформулируем общий постулат: В многофакторной среде линейная зависимость какой-либо величины от определенного параметра может быть достигнута только при условии отсутствия ограничений со стороны всех остальных параметров. Или же, другими словами, именно тот параметр, в зависимости от которого строится график, и должен быть наиболее ограничивающим фактором. Применительно к нашему рассмотрению процессорозависимости видеосистемы это означает, что кроме CPU, производительность всех остальных компонентов должна быть достаточной и не создавать каких-либо ограничений. То есть – видеокарта должна быть мощная и работать в наилегчайшем из режимов (например, 640x480 вместо 1600х1200 при прочих одинаковых настройках), оперативная память должна работать с максимальной скоростью, влияние операционной системы сведено к минимуму и т.д. Как бы там ни было, на практике, при увеличении частоты центрального процессора, мы все равно наблюдаем рост «линии максимально возможных результатов». И хотя этот рост не является строго линейным, для оценки «потолка» возможной производительности платформы в 3D-приложениях он вполне применим. Далее мы рассмотрим несколько факторов, которые влияют на производительность компьютера в 3D-приложениях. Но речь пойдет уже о вещах, которыми мы можем в той или иной степени управлять, выбирая центральный процессор и тип оперативной памяти, то есть – выбирая «платформу» для запуска 3D-приложений.
Влияние скорости работы оперативной памяти
В первой части статьи, несмотря на всю общность поставленной задачи, мы использовали одну единственную платформу - процессор Athlon 64 4000+, материнскую плату на базе чипсета nForce 4 SLI и оперативную память DDR400, работающую в двухканальном режиме. Причем из перечисленных здесь компонентов изменялась лишь частота процессора с помощью понижения множителя, а такие параметры как частота системной шины (FSB), скорость работы памяти и все остальное оставалось неизменным. Вполне резонно прозвучит вопрос – а как же будут выглядеть графики процессозависимости при изменении других параметров? Ведь и скорость работы оперативной памяти, и объем кэш-памяти процессора влияют на производительность. Степень влияния этих параметров мы сейчас и изучим. Условия тестирования, использованные в первой части статьи, вам известны.
Отношения между кешем и оперативной памятью
- Тип оперативной памяти, называемый SRAM, используется для кэширования.
Вместимость
Емкость кеша меньше, чем у ОЗУ, которое имеет большую емкость.
Видео: Разница между ОЗУ и кэш-памятью | Сравните разницу между похожими терминами
Ключевые области покрыты
1. Что такое кеш
- определение, функциональность
2. Что такое оперативная память
- определение, функциональность
3. Разница между кешем и оперативной памятью
- Сравнение основных различий
Основные условия
Кэш, основная память, первичная память, оперативная память
Определение
Кэш-память - это компонент компьютера, который хранит данные, чтобы в будущем запросы на эти данные могли обслуживаться быстрее. ОЗУ - это форма хранения компьютерных данных, в которой хранятся данные и машинный код, используемые в данный момент.
Что такое оперативная память
RAM также известен как основная память или первичная память, Обычно программы хранятся на жестком диске. Процессору требуется больше времени для доступа к жесткому диску. Поэтому программы, которые должны выполняться, заносятся в оперативную память, чтобы они могли выполняться быстрее. Для доступа к данным из ОЗУ требуется всего короткое время по сравнению с доступом к данным со вторичного носителя данных, такого как жесткий диск и твердотельный накопитель.
Рисунок 1: RAM
RAM означает Оперативная память, Это энергозависимая память, которая требует постоянного потока энергии для поддержания данных. Прерывания или сбои питания могут удалить данные, хранящиеся в оперативной памяти. Он может иметь 32-битные или 64-битные пути данных. Это относится к числу битов, которые передаются за 1 тактовый цикл. Компьютер с большим объемом оперативной памяти будет иметь более высокую производительность.
Существует в основном два типа оперативной памяти: SRAM (статическая RAM) и DRAM (динамическая RAM). DRAM состоит из конденсатора и транзистора. Конденсатор может меняться, разряжаться и представлять логический и логический ноль. Из-за конденсатора возникает ток утечки, который приводит к потере заряда конденсатора. Это может удалить контент в DRAM. Следовательно, DRAM требует постоянных циклов обновления для сохранения данных. Кроме того, SRAM содержит триггеры для хранения данных. Для сохранения данных не требуется циклов обновления, как в DRAM. SRAM быстрее и дороже, чем DRAM.
Стоимость
Хотя ОЗУ стоит дорого, оно не дорого в качестве кеша.
Содержание:
ОЗУ против кэш-памяти
Память компьютера организована в виде иерархии, и они организованы с учетом времени, необходимого для доступа к ним, стоимости и емкости. ОЗУ и кэш-память - два элемента в этой иерархии памяти. RAM (оперативная память) - это основная память, используемая в компьютере. Доступ к ее отдельным ячейкам памяти можно получить в любой последовательности, поэтому она называется оперативной памятью. ОЗУ делятся на две категории: статическое ОЗУ (SRAM) и динамическое ОЗУ (DRAM). Кэш-память - это специальная память, используемая ЦП (центральным процессором) компьютера с целью уменьшения среднего времени, необходимого для доступа к памяти.
Что такое оперативная память?
Что такое кэш-память?
Кэш-память - это специальная память, используемая ЦП с целью уменьшения среднего времени, затрачиваемого на доступ к памяти. Кэш-память относительно меньше по размеру, а также является более быстрой памятью, в которой хранятся наиболее часто используемые данные основной памяти. Когда есть запрос на чтение памяти, кеш-память проверяется, чтобы увидеть, существуют ли эти данные в кэш-памяти. Если эти данные находятся в кэш-памяти, тогда нет необходимости обращаться к основной памяти (для доступа к которой требуется больше времени), что снижает среднее время доступа к памяти. Как правило, для данных и инструкций используются отдельные кеши. Кэш данных обычно создается в виде иерархии уровней кеширования (иногда называемых многоуровневыми кэшами). L1 (уровень 1) и L2 (уровень 2) являются самыми верхними кэшами в этой иерархии кешей. L1 - это ближайший к основной памяти кэш, который проверяется первым. Кэш второго уровня является следующим в очереди и вторым по величине с основной памятью. L1 и L2 различаются по скорости доступа, местоположению, размеру и стоимости.
В чем разница между ОЗУ и кэш-памятью?
В иерархии памяти кеш-память ближе к ЦП по сравнению с ОЗУ. Кэш-память намного быстрее и дороже по сравнению с ОЗУ. Но емкость оперативной памяти больше, чем емкость кэш-памяти. Кроме того, кэш-память также организована в виде иерархии кешей L1, L2 и L3, которые различаются по скорости, стоимости и емкости.
главное отличие между кешем и оперативной памятью в том, что кеш - это быстрый компонент памяти, который хранит часто используемые данные ЦП, в то время как ОЗУ является вычислительным устройством, которое хранит данные и программы, используемые в настоящее время ЦП.
Кэш-память - это меньший и быстрый компонент памяти в компьютере. Он содержит копии данных, которые обычно используются процессором. С другой стороны, ОЗУ является основной памятью, в которой хранятся программы и данные, используемые в текущий момент. Это помогает процессору получить доступ к данным за минимальное время. Кеш быстрее, чем ОЗУ. Если данные недоступны в кеше, ЦП получит доступ к ОЗУ.
Читайте также: