Как влияет увеличение оперативной памяти на быстродействие компьютера. Как сильно объем памяти влияет на производительность

Приветствую вас, дорогие читатели! Сегодня я расскажу про влияние оперативной памяти на производительность в играх. Вы узнаете, сильно ли влияет тип, частота и прочие параметры оперативки на ФПС и производительность в целом.

Из этой статьи вы узнаете:

Использование ОЗУ компьютером

Как я уже отмечал в одной из предыдущих публикаций, ОЗУ – своеобразный буфер между процессором и жестким диском, который хранит часть исполняемого кода программ и все промежуточные данные. Любая игра, по сути – точно такая же программа, исполняемый EXE‐файл, использующий дополнительные графические библиотеки.

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

Объем ОЗУ и файл подкачки

Не всегда в оперативку помещается вся требуемая информация, поэтому задействуется файл подкачки – часть места на жестком диске. Как мы уже знаем, скорость записи данных хардом существенно ниже, чем у оперативки. По этой причине использование для игры объема ОЗУ меньше рекомендуемого, почти всегда приводит ко всяким глюкам и лагам – например, приходится ждать, пока загрузится локация.

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

В сингл‐играх без кооперативного прохождения это не критично: например, сложный участок или босса игрок все‐таки пройдет – если не с первой попытки, то со сто первой.
В онлайн‐играх лаги на стороне одного игрока могут привести к фейлу всей группы – например, сливу рейда в РПГ, особенно если игра тормозит у танка или хила, проигранной катке в Доте или «Танках» и так далее. И даже если юзер играет соло, такие моменты могут стать причиной прогорания стула: например, когда во время фарма на него напал ПК, а отбиться не получилось из‐за проклятых лагов.

Кстати, небольшой лайфхак: если вы не в лучшей киберспортивной форме, лаги – отличная отмазка на случай, когда что‐то не получается (конечно, если вам не все равно, что по этому поводу думают остальные).

Я‐то в игрули почти не играю, но один мой знакомый, большой специалист по онлайн‐играм, утверждает, что лаги периодически возникают в ЛЮБОЙ игре независимо от того, насколько мощный у вас компьютер. Конечно же, это заговор разработчиков игр и производителей комплектующих, чтобы заставить пользователей постоянно апгрейдить компы. А вы как думали?

Частота и тайминги

Естественно, от частоты оперативки зависит производительность в игре – чем быстрее она обменяется данными с процессором, тем быстрее они будут обработаны. О том, как соотносятся частота процессора и частота оперативной памяти, вы можете почитать в этой публикации. Логично, что чем выше частота – тем лучше, не так ли?

По поводу таймингов есть отдельная статья в этом блоге. Здесь же скажу только, что чем они ниже, тем шустрее будет работать оперативка. Учитывайте также, что только полное совпадение позволяет задействовать двухканальный режим оперативной памяти. Что это такое и как работает, .

ФПС

Для многих геймеров количество кадров в секунду, то есть FPS – не просто важный критерий, но и тема для измерения размера пуза:) (у кого больше). Как по мне, это не столь уж важный показатель.
В спокойном состоянии реакция нервной системы на изображение – примерно 40 миллисекунд, то есть 25 кадров в секунду (да‐да, 24 кадра фильма плюс один кадр на зомбирование или рекламу).

В возбужденном состоянии (а многие геймеры так возбуждены) задержка снижается до 10–15 миллисекунд, позволяя мозгу обрабатывать до сотни кадров. Правда, длится такой кураж, как правило, недолго.

Зачем я это рассказываю? Оптимальный ФПС для комфортной игры от 60 до 80 (можно конечно и меньше, но не сильно). А вот почему‐то эти же 25 кадров в игре – картина не особо радужная и человеческому глазу заметная, эдакое невеселое слайд‐шоу. Поэтому ФПС надо поднимать.

Вот только в случае с оперативкой это не всегда срабатывает: тесты показывают, что в большинстве игр показатель возрастает на 1–2, в лучшем случае 5 пунктов. Исключение – двухканальный режим оперативки: здесь можно выдавить и до десятка ФПС.

На вопрос: увеличивает ли удвоение объема оперативки FPS, ответ прост: да, но не сильно. А стоит ли оно того?

Интегрированная видеопамять

Отдельная история, когда на компе используется не дискретная видеокарта, то есть отдельный модуль, подключенный к слоту PCI‐E, а графический ускоритель, интегрированный в материнскую плату или процессор. Такое часто можно наблюдать на офисных компьютерах, а также бюджетных и некоторых средних ноутбуках.

В этом случае видеокарта использует часть оперативки под собственные нужды. Естественно, на максималках современные игры такие компы не потянут, однако пасьянс или теплый ламповый Diablo II на них вполне можно запустить.
Однако учитывайте, что объема оперативки может оказаться мало и придется докупить еще одну планку, что, вероятно, повысит производительность в игре. А уж как повысится при этом продуктивность офисного работника – просто фантастика!

Дабы лишний раз не вдаваться в детальные пояснения, рекомендую ознакомиться с публикацией о типах оперативной памяти DDR3 и DDR4: чем они отличаются и что лучше.

В этой же статье я в очередной раз при сборке компа советую ориентироваться на стандарт DDR4 – ее рабочая частота и прочие характеристики выше, а в играх, как вы поняли, это важно. Что касается объема оперативки (а сейчас у нас 2018 год) необходимый минимум, чтобы комфортно поиграть в современную игру – 8 Гб. Если позволяет бюджет, выделенный на сборку компа, то в расчете на перспективу лучше, конечно, 16 Гб.

На этом у меня все. До встречи в следующих публикациях и отдельное спасибо тем, кто делится статьями в социальных сетях и на новостную рассылку.

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

Как правило, при тестировании производительности платформ акцент делается на процессорозависимые приложения. Но скорость системы зависит не только от центрального процессора. И сейчас мы даже не вспоминаем о графически насыщенных приложениях и использовании GPU для вычислений общего назначения, в которых значимую роль играет выбор видеокарты. Речь, как нетрудно догадаться, пойдет о влиянии производительности памяти, и нашей попытке количественно оценить это влияние.

Зависимость общей производительности системы от памяти имеет сложный характер, что затрудняет прямую оценку скорости памяти, то есть сравнения различных модулей. Например, память с частотой 1600 МГц имеет вдвое большую пропускную способность, чем 800-мегагерцовая. И синтетические тесты памяти прилежно выведут столбик в два раза выше. Но если вы протестируете целую систему с этими двумя видами памяти с помощью популярных тестовых приложений, на которых обычно тестируют процессоры, то и близко не получите двухкратной разницы в производительности. Интегральный индекс быстродействия может отличаться максимум на несколько десятков процентов.

Это делает синтетические тесты памяти малоинформативными с практической точки зрения. Нельзя, однако, поручиться и за то, что подход с применением реальных приложений дает нам стопроцентно достоверную картину, поскольку велика вероятность, что какие-то режимы, где производительность памяти действительно критична, остались без внимания и не были учтены.

Краткая теория

Чтобы понять специфику проблемы, рассмотрим принципиальную схему взаимодействия приложения, ЦП и подсистемы памяти. Уже давно для описания работы центрального процесса считается удачной аналогия с заводским конвейером. И движутся по этому конвейеру инструкции из программного кода, а функциональные модули процессора обрабатывают их словно станки. Тогда современные многоядерные ЦП будут подобны заводам с несколькими цехами. Например, работу технологии Hyper-Threading можно сравнить с конвейером, по которому едут вперемешку детали сразу нескольких автомобилей, и умные станки обрабатывают их одновременно, по метке на деталях определяя, к какой модели машины они относятся. Например, собирается красная и синяя машины, тогда красящий станок использует красную краску для деталей красной машины и синюю краску для синей. И поток деталей сразу для двух моделей позволяет лучше загрузить станки. А если аппарат для покраски будет иметь два распылителя, и сможет красить одновременно две детали в разные цвета, конвейер сможет работать на полную мощность вне зависимости от того, в каком порядке будут поступать детали. Наконец, последний писк моды, реализуемый в будущих процессорах AMD, в которых различные ядра ЦП будут иметь некоторые общие функциональные блоки, можно сравнить с идеей сделать часть особо громоздких и дорогих станков общей для двух цехов, чтобы сэкономить заводскую площадь и сократить капитальные затраты.

С точки зрения данной аналогии, системная память будет являться внешним миром, который поставляет на завод сырье и принимает готовый продукт, а кэш-память - это некий склад непосредственно на заводской территории. Чем больше у нас системной памяти, тем больший виртуальный мир мы можем обеспечивать выпускаемой продукцией, и чем больше частота ЦП и количество ядер, тем мощнее и производительнее наш завод. А чем больше размер кэш-памяти, то есть заводского склада, тем меньше будет обращений в системную память - запросов на поставку сырья и комплектующих.

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

Произведение объема кузова на скорость движения, то есть количество грузов, которые можно перевезти в единицу времени, будет соответствовать пропускной способности памяти (ПСП). Но очевидно, что системы с одинаковой ПСП не обязательно равноценны. Важно значение каждого компонента. Скоростной маневренный грузовичок может оказаться лучше, чем большой, но медленный транспорт, так как необходимые данные могут лежать в различных участках памяти, расположенных далеко друг от друга, а вместимость грузовика (или объем транзакции) много меньше общего объема (памяти), и тогда даже большому грузовику придется совершить два рейса, и его вместимость не будет востребована.

Другие же программы имеют так называемый локальный доступ к памяти, то есть они читают или пишут в близко расположенные ячейки памяти - им относительно безразлична скорость случайного доступа. Это свойство программ объясняет эффект от наращивания объемов кэш-памяти в процессорах, которая, благодаря близкому расположению к ядру, в десятки раз быстрее. Даже если программа требует, например, 512 МБ общей памяти, в каждый отдельный небольшой промежуток времени (например, миллион тактов, то есть одна миллисекунда), программа может работать только с несколькими мегабайтами данных, которые успешно помещаются в кэше. И потребуется только обновлять время от времени содержимое кэша, что, в общем, происходит быстро. Но может быть и обратная ситуация: программа занимает всего 50 МБ памяти, но постоянно работает со всем этим объемом. А 50 МБ значительно превышают типичный размер кэша существующих настольных процессоров, и, условно говоря, 90% обращений к памяти (при размере кэша в 5 МБ) не кэшируются, то есть 9 из 10 обращений идут непосредственно в память, так как необходимых данных нет в кэше. И общая производительность будет почти полностью лимитирована скоростью памяти, так как процессор практически всегда будет находиться в ожидании данных.

Время доступа к памяти в случае, когда данных нет в кэше, составляет сотни тактов. И одна инструкция обращения к памяти по времени равноценна десяткам арифметических.

«Памятенезависимые» приложения

Позволим себе один раз использовать такой корявый термин для приложений, производительность в которых на практике не зависит от смены модулей на более высокочастотные и низколатентные. Откуда вообще такие приложения берутся? Как мы уже отметили, все программы имеют различные требования к памяти, в зависимости от используемого объема и характера доступа. Каким-то программам важна только общая ПСП, другие, наоборот, критичны к скорости доступа к случайным участкам памяти, которая иначе называется латентностью памяти. Но очень важно также, что степень зависимости программы от параметров памяти во многом определяется характеристиками центрального процессора - прежде всего, размером его кэша, так как при увеличении объема кэш-памяти рабочая область программы (наиболее часто используемые данные) может поместиться целиком в кэш процессора, что качественно ускорит программу и сделает её малочувствительной к характеристикам памяти.

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

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

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

Еще одна причина, по которой пользователь может не обнаружить разницы при смене памяти, состоит в том, что она и так слишком быстрая для используемого процессора. Если бы сейчас все процессоры вдруг замедлились в 10 раз, то для производительности системы в большинстве программ стало бы абсолютно все равно, какой тип памяти в ней установлен - хоть DDR-400, хоть DDR3-1600. А если бы ЦП радикально ускорились, то производительность значительной части программ наоборот стала бы гораздо существеннее зависеть от характеристик памяти.

Таким образом, реальная производительность памяти есть величина относительная, и определяется в том числе и используемым процессором, а также особенностями ПО.

«Памятезависимые» приложения

А в каких пользовательских задачах производительность памяти имеет большее значение? По странной, но на самом деле имеющей глубокие основания причине - в случаях, которые сложно тестировать.

Тут сразу вспоминаются игрушки-стратегии со сложным и «медленным» искусственным интеллектом (ИИ). Ими никто не любит тестировать ЦП, так как инструменты для оценки либо отсутствуют, либо характеризуются большими погрешностями. На скорость выработки решения алгоритмом ИИ влияют множество факторов - например, иногда закладываемая в ИИ вариативность решений, чтобы сами решения выглядели более «человеческими». Соответственно, и реализация различных вариантов поведения занимает разное время.

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

Достаточно сильно от производительности памяти могут зависеть и игры других жанров, пусть не со столь умным искусственным интеллектом, зато с собственными алгоритмами имитации виртуального мира, включая физическую модель. Впрочем, они на практике чаще всего упираются в производительность видеокарты, поэтому тестировать на них память также бывает не очень удобно. Кроме того, важным параметром комфортного игрового процесса в трехмерных играх от «первого лица» является минимальное значение fps: его возможное проседание в пылу жестокой битвы может иметь самые плачевные для виртуального героя последствия. А минимальный fps тоже, можно сказать, невозможно измерить. Опять же - из-за вариативного поведения ИИ, особенностей расчета «физики» и случайных системных событий, которые тоже могут приводить к проседанию. Как прикажете в таком случае анализировать полученные данные?

Тестирование скорости игр в демо-роликах имеет ограниченное применение еще и потому, что не все части игрового движка бывают задействованы для воспроизведения демки, и в реальной игре на скорость могут влиять иные факторы. Причем даже в таких наполовину искусственных условиях минимальный fps непостоянен, и его редко приводят в отчетах о тестировании. Хотя, повторимся, это наиболее важный параметр, и в тех случаях, когда идет обращение к данным, проседание fps весьма вероятно. Ведь современные игры, в силу своей сложности, разнообразия кода, включающего помимо поддержки физического движка и искусственного интеллекта также подготовку графической модели, обработку звука, передачу данных через сеть и пр., очень зависят как от объема, так и от производительности памяти. Кстати, будет заблуждением считать, что графический процессор обрабатывает сам всю графику: он только рисует треугольники, текстуры и тени, а формированием команд все равно занимается ЦП, и для сложной сцены это вычислительно емкая задача. К примеру, когда вышел Athlon 64 с интегрированным контроллером памяти, наибольший прирост в скорости по сравнению со старым Athlon был именно в играх, хотя там не использовались 64-битность, SSE2 и другие новые «фишки» Athlon 64. Именно существенное повышение эффективности работы с памятью благодаря интегрированному контроллеру сделало тогдашний новый процессор AMD чемпионом и лидером по производительности в первую очередь в играх.

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

Ещё одним принципиальным случаем усиленной зависимости от памяти является режим многозадачности, то есть запуск нескольких ресурсоемких приложений одновременно. Вспомним снова все тот же AMD Athlon 64 с интегрированным контроллером памяти, который к моменту анонса Intel Core выпускался уже в двухъядерном варианте. Когда вышел Intel Core на новом ядре, процессоры AMD стали проигрывать везде, кроме SPEC rate - многопоточном варианте SPEC CPU, когда запускается столько копий тестовой задачи, сколько ядер в системе. Новое интеловское ядро, обладая большей вычислительной мощностью, тупо затыкалось в этом тесте в производительность памяти, и даже большой кэш и широкая шина памяти не помогали.

Но почему это не проявлялось в отдельных пользовательских задачах, в том числе многопоточных? Главной причиной было то, что большинство пользовательских приложений, которые в принципе хорошо поддерживают многоядерность, всячески оптимизированы. Вспомним в очередной раз пакеты для работы с видео и графикой, которые больше всех получают прирост от многопоточности - всё это оптимизированные приложения. К тому же объем используемой памяти меньше, когда код параллелится внутри программы - по сравнению с вариантом, когда запускаются несколько копий одной задачи, а тем более - разные приложения.

А вот если запустить на ПК сразу несколько различных приложений, нагрузка на память возрастет многократно. Это произойдет по двум причинам: во-первых, кэш-память будет поделена между несколькими задачами, то есть каждой достанется только часть. В современных ЦП кэш L2 или L3 - общий для всех ядер, и если одна программа использует много потоков, то они все могут выполняться на своем ядре и работать с общим массивом данных в L3-кэше, а если программа однопоточна, то ей достается весь объем L3 целиком. Но если потоки принадлежат различным задачам, объем кэша будет вынужденно делиться между ними.

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

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

Типичным примером такой ситуации на ПК будет одновременный запуск игры, «скайпа», антивируса и программы кодирования видеофайла. Пусть не типичная, но совсем не фантастическая ситуация, в которой очень сложно корректно измерить скорость работы, так как на результат влияют действия планировщика в составе ОС, который при каждом замере может по-иному распределять задачи и потоки по разным ядрам и давать им различные приоритеты, временны́е интервалы и делать это в разной последовательности. И опять-таки, наиболее важным параметром будет пресловутая плавность работы - характеристика, по аналогии с минимальным fps в играх, которую в данном случае измерить еще сложнее. Что толку от запуска игры или какой-то другой программы одновременно с кодированием видеофайла, если поиграть нормально не удастся из-за рывков изображения? Пусть даже видеофайл быстро сконвертируется, поскольку многоядерный процессор в данном случае может быть и недогружен. Здесь нагрузка на систему памяти будет гораздо больше, чем при исполнении каждой из перечисленных задач по отдельности.

В случае использования ПК как рабочей станции, ситуация одновременного исполнения нескольких приложений даже более типична, чем для домашнего ПК, и сама скорость работы ещё более важна.

Проблемы тестирования

Сразу целая группа факторов снижает чувствительность ЦП-ориентированных тестов к скорости памяти. Очень чувствительные к памяти программы представляют собой плохие тесты ЦП - в том смысле, что они слабо реагируют на модель ЦП. Такие программы могут различать процессоры с контроллером памяти, снижающим латентность доступа к памяти, и без оного, но при этом в пределах одного семейства почти не реагировать на частоту процессора, показывая сходные результаты при работе на частоте 2500 и 3000 МГц. Часто такие приложения отбраковываются как тесты ЦП, ибо тестеру просто непонятно, что лимитирует их производительность, и кажется, что дело в «чудачествах» самой программы. Будет удивительно, если все процессоры (и AMD, и Intel) покажут в тесте одинаковый результат, но такое вполне возможно для приложения, очень сильно зависимого от памяти.

Чтобы избежать упреков в необъективности и вопросов, почему выбрана та или иная программа, в тесты стараются включать только наиболее популярные приложения, которыми все пользуются. Но такая выборка не совсем репрезентативна: наиболее популярные приложения из-за своей массовости часто очень хорошо оптимизированы, а оптимизация программы начинается с оптимизации её работы с памятью - она важнее, например, чем оптимизация под SSE1-2-3-4. Но совсем не все на свете программы так хорошо оптимизируются; попросту на все программы не хватит программистов, которые умеют писать быстрый код. Опять возвращаясь к популярным программам кодирования, многие из них были написаны при непосредственном активном участии инженеров фирм-изготовителей ЦП. Как и некоторые другие популярные ресурсоемкие программы, в частности медленные фильтры двухмерных графических редакторов и движки рендеринга студий трехмерного моделирования.

В свое время было популярно сравнивать компьютерные программы с дорогами. Эта аналогия потребовалась, чтобы объяснить, почему на некоторых программах быстрее работает Pentium 4, а на некоторых Athlon. Интеловский процессор не любил ветвления и быстрее «ехал» по прямым дорогам. Это очень упрощенная аналогия, но она удивительно хорошо передает суть. Особенно интересно, когда две точки на карте соединяют две дороги - «оптимизированная» прямая качественная дорога и «неоптимизированная» кривая ухабистая. В зависимости от выбора одной из дорог, ведущих к цели, выигрывает тот или иной процессор, хотя в каждом случае они делают одно и тоже. То есть на неоптимизированном коде выигрывает Athlon, а при простой оптимизации приложения выигрывает Pentium 4 - и сейчас мы даже не говорим о специальной оптимизации под архитектуру Netburst: в таком случае Pentium 4 мог бы посоревноваться даже с Сore. Другое дело, что хорошие «оптимизированные» дороги строить дорого и долго, и это обстоятельство во многом предопределило печальную участь Netburst.

Но если мы отойдем от популярных наезженных трасс, то окажемся в лесу - там вообще нет никаких дорог. И немало приложений написаны безо всякой оптимизации, что почти неминуемо влечет сильную зависимость от скорости памяти в случае, если объем рабочих данных превышает размер кэша ЦП. К тому же множество программ пишутся на языках программирования, которые в принципе не поддерживают оптимизацию.

Специальный тест памяти

Для того чтобы корректно оценить влияние скорости памяти на производительность системы в случае, когда память имеет значение (для упомянутых «памятезависимых» приложений, мультизадачности и т. п.), исходя из всех вышеперечисленных обстоятельств и решено было создать специальный тест памяти, который по структуре кода представляет собой некое обобщенное сложное, зависимое от памяти приложение и имеет режим запуска нескольких программ.

Какие плюсы есть у такого подхода? Их очень много. В отличие от «натуральных» программ, возможен контроль над объемом используемой памяти, контроль над её распределением, контроль над количеством потоков. Специальное контролируемое выделение памяти позволяет нивелировать влияние особенностей менеджера памяти программы и операционной системы на производительность, чтобы результаты были не зашумлены, и можно было корректно и быстро тестировать. Точность измерения позволяет производить тест за относительно небольшое время и оценить большее количество конфигураций.

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

В качестве модельной задачи была взята модификация теста Astar из SPEC CPU 2006 Int (кстати, предложенный для включения в этот пакет автором статьи; для теста памяти использован адаптированный для графов алгоритм) и задача сортировки данных с помощью различных алгоритмов. Программа Astar имеет сложный алгоритм с комплексным доступом к памяти, а алгоритмы сортировки числового массива - базовая задача программирования, использующаяся во множестве приложений; она включена, в том числе, для дополнительного подтверждения результатов сложного теста данными производительности простой, но распространенной и классической задачи.

Интересно, что существует несколько алгоритмов сортировки, но они отличаются по типу шаблона доступа к памяти. В некоторых доступ к памяти в целом локален, а другие используют сложные структуры данных (например, бинарные деревья), и доступ к памяти хаотичен. Интересно сравнить, насколько параметры памяти влияют при различном типе доступа - при том, что обрабатывается одинаковый размер данных и количество операций не сильно отличается.

Согласно исследованиям набора тестов SPEC CPU 2006, тест Astar - один из нескольких, в наибольшей мере коррелирующих с общим результатом пакета на x86-совместимых процессорах. Но в нашем тесте памяти объем используемых программой данных был увеличен, так как со времени выпуска теста SPEC CPU 2006 типичный объем памяти возрос. Также программа приобрела внутреннюю многопоточность.

Программа Astar реализует алгоритм нахождения пути на карте с помощью одноименного алгоритма. Сама по себе задача типична для компьютерных игр, прежде всего стратегий. Но используемые программные конструкции, в частности множественное применение указателей, также типичны для сложных приложений - например, серверного кода, баз данных или просто кода компьютерной игры, не обязательно искусственного интеллекта.

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

Каждый из подтестов имеет два варианта реализации многопоточности. В каждом из вариантов запускается N потоков, но в одном каждая из нитей осуществляет поиск пути на собственной карте, а в другом все нити ищут пути одновременно на одной карте. Так получаются несколько различных шаблонов доступа, что делает тест более показательным. Объем используемой памяти по умолчанию в обоих вариантах одинаков.

Таким образом, в первой версии теста получается 6 подтестов:

  • Поиск пути на 2D-матрице, общая карта
  • Поиск пути на 2D-матрице, отдельная карта для каждого потока
  • Поиск пути на 3D-матрице, общая карта
  • Поиск пути на 3D-матрице, отдельная карта для каждого потока
  • Сортировка массива с использованием алгоритма quicksort (локальный доступ к памяти)
  • Сортировка массива с использованием алгоритма heapsort (сложный доступ к памяти)

Результаты теста

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

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

Тест сам по себе не предназначен для точного сравнения различных моделей ЦП, так как из-за того, что организация кэшей и алгоритмы предвыборки данных могут у них существенно отличаться, тест может отчасти благоволить определенным моделям. Но качественная оценка семейств ЦП между собой вполне возможна. А память производства различных компаний устроена одинаково, поэтому здесь субъективная составляющая исключена.

Также тест может быть использован для оценки масштабируемости процессоров по частоте при разгоне или внутри модельного ряда. Он позволяет понять, с какой частоты процессор начинает «затыкаться» в память. Часто процессор формально разгоняется сильно, и синтетические тесты, основанные на выполнении простых арифметических операций, показывают соответствующий изменению частоты прирост, но в памятезависимом приложении прироста может и не быть вообще из-за отсутствия соответствующего прироста в скорости памяти. Другая причина заключается в том, что ядро ЦП теоретически может потреблять больше энергии в случае сложного приложения и начнет либо сбоить, либо само снижать частоту, что не всегда возможно выявить в простых арифметических тестах.

Заключение

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

На самом деле, проблема ускорения доступа к данным - краеугольный камень современного процессоростроения. Узкое место здесь будет всегда, если только, конечно, сам процессор не будет состоять полностью из кэш-памяти, что, кстати, недалеко от истины - львиную долю площади кристаллов современных ЦП занимает как раз кэш-память разных уровней. (В частности, Intel заработал свои рекордные миллиарды, в том числе, благодаря тому, что в свое время разработал метод более плотного размещения кэшей на кристалле, то есть на единицу площади кристалла помещается больше ячеек кэша и больше байт кэш-памяти.) Однако всегда будут существовать приложения, которые либо невозможно оптимизировать таким образом, чтобы данные умещались в кэш-памяти, либо этим просто некому заниматься.

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

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

Принцип работы и основные характеристики ОЗУ

  1. Объем памяти

Оперативная память представляет собой микросхему, в которой отсутствует автономное питание. Иными словами, если компьютер выключается, то и вся информация, хранившаяся в ОЗУ стирается. Взаимодействие оперативки с процессором осуществляется посредством кэш или память нулевого уровня.

Быстродействие ОЗУ зависит от нескольких параметров, среди которых можно выделить тип, а также частоту. При этом, наиболее важным показателем является объем. Для современных компьютеров, минимальный порог должен составлять 2 гигабайта. Это связано с тем, что начиная с версии Windows Vista, операционная система забирает под свои нужды 1 Гб, а соответственно для полноценной работы приложений необходимо иметь хотя бы такой же размер. Меньший объем конечно же встречается (хотя в магазинах таких планок уже нет), но эти компьютеры уже безнадежно устаревшие и на них практически невозможно установить , а также ресурсоемкие программы.

Наиболее оптимальным вариантом на данный момент для бюджетного компьютера будет установка 4-х гигабайт ОЗУ. Это обеспечит нормальную и быструю работу в интернете, даст возможность смотреть видео различного качества и устанавливать современные игры с использованием средних настроек (хотя видео и игры еще зависят и от ).

Для более продвинутых пользователей, которые работают с графикой или редактируют аудио- видео- потоки, необходим объем оперативки, который должен составлять от 8-ми до 16-ти Гб, при этом не нужно забывать, что в этом случае необходима и хорошая графическая карта c чипсетом GDDR5 и в которой будет не менее 4-х Гб оперативки. При установке большего объема ОЗУ, например 32 Гб, об установке дополнительных планок, в свободные слоты для нее (если таковые будут), можно за быть на несколько лет.

Примечание: при установке большего количества оперативной памяти, не стоит думать, что компьютер будет после этого летать, ведь быстродействие зависит и от процессора, и от иных комплектующих. К тому же, не нужно забывать, что 32-х битные версии операционных систем могут использовать лишь 3,2 Гб ОЗУ, остальной объем будет простаивать.

  1. Тип оперативной памяти

От этого параметра также зависит скорость передачи данных. В современных компьютерах уже нигде не используется DDR тип, а только лишь с индексами 2,3 или 4. Это обязательно стоит учитывать, если пользователь решил докупить и установить в свободный слот дополнительную планку, потому как хоть по длине и ширите они одинаковы, на соединении с материнской размещена прорезь, которая располагается на различных расстояниях (см. скриншот), а соответственно не смогут быть установлены.

Стоит отметить, что DDR 2 уже редко можно встретить и на данный момент, практически везде устанавливается тип DDR 3. Наиболее современный тип оперативной памяти DDR 4 встречается крайне редко, в основном на тех компьютерах, которые были приобретены или модернизированы относительно недавно. А если учесть то, что на все материнские платы, поддерживающие DDR 4, можно установить лишь процессоры Intel, которые в значительной степени дороже AMD, это тоже влияет на популяризацию современного типа памяти. Хотя можно с уверенностью утверждать, что с DDR 4, эффективность возрастет в 1,5-2 раза.

  1. Частота

Этот параметр также напрямую связан с . Чем выше частота, тем быстрее производится скорость обмена данных. Среди вышеупомянутых типов ОЗУ уже нет таких планок, в которых частота была бы ниже 1600 МГц, однако эта величина на последних моделях может достигать отметки 3200 МГц.

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

  • частота новой планки должна быть идентична той, которая уже установлена, в противном случае они не смогут параллельно работать;
  • желательно устанавливать ОЗУ от одного производителя, ведь случаются ситуации, когда некоторые планки с одинаковой частотой, но разных брендов могут конфликтовать между собой и компьютер попросту не будет запускаться;
  • также может быть ограничена этим параметром: перед тем, как приобретать новую оперативку, просмотрите характеристики материнки, чтобы все нюансы были соблюдены и компьютер работал;
  1. Увеличение эффективности работы

Иногда у пользователя установлено достаточное количество оперативной памяти, при этом компьютер подтормаживает и человек принимает решение докупать ОЗУ. В некоторых случаях это может совершенно не понадобиться, можно лишь выполнить оптимизацию:

  • просмотрите в диспетчере задач, насколько загружена оперативная память, и если здесь имеется достаточный запас, тогда, скорее всего, дело не в ОЗУ и дополнительная планка проблему не решит;

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

Можно также попробовать разогнать оперативку. Это можно сделать из-под БИОС. Но при этом стоит помнить, что некоторые магазины в подобных случаях могут отказать в гарантийном обслуживании (обмене), да и срок службы будет меньше, чем без выполнения этого действия.

Как влияет увеличение оперативной памяти на быстродействие компьютера.

Центральный процессор компьютера , обрабатывая данные, поступающие в компьютер, использует оперативную память и кэш - память. Оперативная память компьютера применяется для увеличения скорости действий компьютера, посредством материнской платы. Мощность процессора компьютера, прямо пропорциональна количеству оперативной памяти, установленной на компьютер (ОЗУ). Оперативная память характеризуется следующими показателями: объемом и скоростью. Наилучший выбор оперативной памяти - это оперативная память с высокой скоростью. При установке оперативной памяти, следует приобретать оперативную память одинаковой скорости. Также, при апгрейде компьютера или смене оперативной платы, лучше выбирать одну «линейку» оперативной памяти на 1 Гб, нежели, чем две «линейки» по 512 Мб.

Объем оперативной памяти соотносится с тактовой частотой процессора. Так, например, для процессора в 1000 MHz объем оперативной памяти не должен быть ниже 512 оперативной памяти. Для процессора 2000 MHz объем оперативной памяти не должен быть ниже 1024 Мб. В том случае, если Вам необходимо работать с ресурсоемкими приложениями или Вы часто играете в компьютерные игры, то желательно приобрести большее количество оперативной памяти для Вашего компьютера. Кроме того, следует обязательно проверить совместимость оперативной памяти к соответствующей материнской плате компьютера.

Перед установкой новой оперативной памяти компьютера следует определить, какая разновидность оперативной памяти Вам необходима. Основными типами оперативной памяти являются «SIMM» и «DIMM» память. Также, необходимо определить какие параметры модулей компьютера и какая разновидность оперативной памяти Вашего компьютера. Для того чтобы произвести апгрейд компьютера следует определить, сколько слотов для установки оперативной памяти на Вашем компьютере имеется и какой максимальный размер оперативной памяти, который Вы можете установить на Вашем компьютере.

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

Для того чтобы заменить модули SIMM, следует найти на материнской плате белые, черные или желто - коричневые разъемы, которые должны иметь пластмассовые защелки. После того, как Вы выключите компьютер, необходимо подождать 10 секунд. Далее, следует отодвинуть защелки и вынуть SIMM модули. Следует очень осторожно извлекать эти модули. Взявшись за края (торцы) модуля под углом в 45 градусов, необходимо вставить модуль в разъем. После этого, следует зафиксировать модуль металлическими защелками.

При установке DIMM модулей, после выключения компьютера, следует также подождать 10 - 15 секунд. Далее, следует аккуратно отщелкнуть толкатели эжектора и вынуть DIMM модуль из разъема. Далее следует точно разместить DIMM модуль со слотом на материнской плате. После этого, необходимо взять DIMM модуль за торцы платы и вставить в разъем этот модуль до фиксации защелками. При установке DIMM модуля следует держать «линейку» модуля только за торцы, а не за центральную часть! После этого, можно включать компьютер и проверять его работоспособность с новой оперативной памятью!

Мое почтение, уважаемые читатели, други, недруги и прочие личности!

Сегодня хочется поговорить с Вами о такой важной и полезной штуке как оперативная память, в связи с чем опубликовано сразу две статьи, одна из которых рассказывает о памяти вообще (тобишь ниже по тексту), а другая (собственно, статья находится прямо под этой, просто опубликована отдельно).

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

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

Ну, а сейчас, приступаем.

Вводная

Перед каждым пользователем рано или поздно (или никогда) встает вопрос модернизации своего верного «железного коня». Некоторые сразу меняют «голову» - процессор, другие - колдуют над видеокартой, однако, самый простой и дешевый способ – это увеличение объема оперативной памяти.

Почему самый простой?

Да потому что не требует специальных знаний технической части, установка занимает мало времени и не создает практически никаких сложностей (и еще он наименее затратный из всех, которые я знаю).

Итак, чтобы узнать чуть больше о таком простом и одновременно эффективном инструменте апгрейда, как оперативная память (далее ОП), для этого обратимся к родимой теории.

Общее

ОЗУ (оперативное запоминающее устройство), оно же RAM ("Random Access Memory " - память с произвольным доступом), представляет собой область временного хранения данных, при помощи которой обеспечивается функционирование программного обеспечения. Физически, оперативная память в системе представляет собой набор микросхем или модулей (содержащих микросхемы), которые обычно подключаются к системной плате.

В процессе работы память выступает в качестве временного буфера (в ней хранятся данные и запущенные программы) между дисковыми накопителями и процессором, благодаря значительно большей скорости чтения и записи данных.

Примечание.
Совсем новички часто путают оперативную память с памятью жесткого диска (ПЗУ - постоянное запоминающее устройство), чего делать не нужно, т.к. это совершенно разные виды памяти. Оперативная память (по типу является динамической - Dynamic RAM ), в отличие от постоянной - энергозависима, т.е. для хранения данных ей необходима электроэнергия, и при ее отключении (выключение компьютера) данные удаляются. Пример энергонезависимой памяти ПЗУ - флэш-память, в которой электричество используется лишь для записи и чтения, в то время как для самого хранения данных источник питания не нужен.

По своей структуре память напоминает пчелиные соты, т.е. состоит из ячеек, каждая из которых предназначена для хранения мёда определенного объема данных, как правило, одного или четырех бит. Каждая ячейка оной имеет свой уникальный «домашний» адрес, который делится на два компонента – адрес горизонтальной строки (Row ) и вертикального столбца (Column ).

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

Для передачи на микросхему памяти адреса строки служит некий сигнал, который зовется RAS (Row Address Strobe ), а для адреса столбца - сигнал CAS (Column Address Strobe ).

Как же работает оперативная память?

Работа оперативной памяти непосредственно связана с работой процессора и внешних устройств компьютера, так как именно ей последние «доверяют» свою информацию. Таким образом, данные сперва попадают с жесткого диска (или другого носителя) в саму ОЗУ и уже затем обрабатываются центральным процессором (смотрите изображение).

Обмен данными между процессором и памятью может происходить напрямую, но чаще все же бывает с участием кэш-памяти.

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

Оперативной памятью управляет контроллер, который находится в чипсете материнской платы, а точнее в той его части, которая называется North Bridge (северный мост) - он обеспечивает подключение CPU (процессора) к узлам, использующим высокопроизводительные шины: ОЗУ , графический контроллер (смотрите изображение).

Примечание.
Важно понимать, что если в процессе работы оперативной памяти производится запись данных в какую-либо ячейку, то её содержимое, которое было до поступления новой информации, будет безвозвратно утеряно. Т.е. по команде процессора данные записываются в указанную ячейку, одновременно стирая при этом то, что там было записано ранее.

Рассмотрим еще один важный аспект работы оперативки – это ее деление на несколько разделов с помощью специального программного обеспечения (ПО), которое поддерживается операционными системами.

Сейчас Вы поймете, о чем это я.

Подробнее

Дело в том, что современные устройства оперативной памяти являются достаточно объемными (привет двухтысячным, когда хватало и 32 Mб), чтобы в ней можно было размещать данные от нескольких одновременно работающих задач. Процессор также может одновременно обрабатывать несколько задач. Это обстоятельство способствовало развитию так называемой системы динамического распределения памяти, когда под каждую обрабатываемую процессором задачу отводятся динамические (переменные по своей величине и местоположению) разделы оперативной памяти.

Динамический характер работы позволяет распоряжаться имеющейся памятью более экономно, своевременно «изымая» лишние участки памяти у одних задач и «добавляя» дополнительные участки – другим (в зависимости от их важности, объема обрабатываемой информации, срочности выполнения и т.п.). За «правильное» динамическое распределение памяти в ПК отвечает операционная система, тогда как за «правильное» использование памяти, отвечает прикладное программное обеспечение.

Совершенно очевидно, что прикладные программы должны иметь способность работать под управлением операционной системы, в противном случае последняя не сможет выделить такой программе оперативную память или она не сможет «правильно» работать в пределах отведенной памяти. Именно поэтому не всегда удается запустить под современной операционкой, ранее написанные программы, которые работали под управлением устаревших систем, например под ранними версиями Windows (98 например).

Ещё (для общего развития) следует знать, что поддержка памяти зависит от разрядности системы, например, операционная система Windows 7, разрядностью 64 бита, поддерживает объем памяти до 192 Гбайт (младший 32 -битный собрат "видит" не больше 4 Гбайт). Однако, если Вам и этого мало, пожалуйста, 128 -разрядная заявляет поддержку поистине колоссальных объемов – я даже не осмеливаюсь озвучить эту цифру. Чуть подробнее про разрядность .

Зачем нужна эта самая оперативная память?

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

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

Данные, записанные в оперативной памяти, передаются в CPU (он же не раз упомянутый процессор, он же Central Processing Unit ), там обрабатываются и записываются обратно. И так постоянно: дали команду процессору взять биты по таким-то адресам (как то: обработатьих и вернуть на место или записать на новое) – он так и сделал (смотрите изображение).

Все это хорошо до тех пор, пока ячеек памяти (1 ) хватает. А если нет?

Тогда в работу вступает файл подкачки (2 ). Этот файл расположен на жестком диске и туда записывается все, что не влезает в ячейки оперативной памяти. Поскольку быстродействие винта значительно ниже ОЗУ , то работа файла подкачки сильно замедляет работу системы. Кроме этого, это снижает долговечность самого жесткого диска. Но это уже совсем другая история.

Примечание.
Во всех современных процессорах имеется кэш (cache ) - массив сверхскоростной оперативной памяти, являющейся буфером между контроллером сравнительно медленной системной памяти и процессором. В этом буфере хранятся блоки данных, с которыми CPU работает в текущий момент, благодаря чему существенно уменьшается количество обращений процессора к чрезвычайно медленной (по сравнению со скоростью работы процессора) системной памяти.

Однако, кэш-память малоэффективна при работе с большими массивами данных (видео, звук, графика, архивы), ибо такие файлы просто туда не помещаются, поэтому все время приходится обращаться к оперативной памяти, или к HDD (у которого также имеется свой кэш).

Компоновка модулей

Кстати, давайте рассмотрим из чего же состоит (из каких элементов) сам модуль.

Так как практически все модули памяти, состоят из одних и тех же конструктивных элементов, мы для наглядности возьмем стандарт SD-RAM (для настольных компьютеров). На изображении специально приведено разное конструктивное исполнение оных (чтобы Вы знали не только «шаблонное» исполнение модуля, но и весьма «экзотическое»).

Итак, модули стандарта SD-RAM (1 ): DDR (1.1 ); DDR2 (1.2 ).

Описание:

  1. Чипы (микросхемы) памяти
  2. SPD (Serial Presence Detect ) – микросхема энергонезависимой памяти, в которую записаны базовые настройки любого модуля. Во время старта системы BIOS материнской платы считывает информацию, отображенную в SPD , и выставляет соответствующие тайминги и частоту работы ОЗУ ;
  3. «Ключ» - специальная прорезь платы, по которой можно определить тип модуля. Механически препятствует неверной установке плашек в слоты, предназначенные для оперативной памяти;
  4. SMD -компоненты модулей (резисторы, конденсаторы). Обеспечивают электрическую развязку сигнальных цепей и управление питанием чипов;
  5. Cтикеры производителя - указывают стандарт памяти, штатную частоту работы и базовые тайминги;
  6. РСВ – печатная плата. На ней распаиваются остальные компоненты модуля. От качества зачастую зависит результат разгона: на разных платах одинаковые чипы могут вести себя по-разному.

Послесловие

Собственно, это основы основ и базисный базис, а посему, надеюсь, что статья была интересна Вам как с точки зрения расширения кругозора, так и в качестве кирпичика в персональных знаниях о персональном компьютере:).

На сим всё. Как и всегда, если есть какие-то вопросы, комментарии, дополнения и тп, то можете смело бежать в комментарии, которые расположены ниже. И да, не забудьте прочитать материал .