Что значит потоки в оперативной памяти
При духканальном режиме скорость увеличивается засчет увеличения разрядонсти шины ОЗУ?
Приимущетва в отличие от обычного одноканального?
Чем и как устрен Синхронный и Асинхронный режим работы ОЗУ.
Андрей Кузмин ответил - Если у тебя есть, например, 2 планки оперативной памяти DDR2 667 Mhz PC5300 если ты их ставишь таким образом, чтобы они работали в 2-х канальном режиме, то каждая из них работет на частоте 333 Mhz, и процессор обменивается с ней на этой частоте и он разбивает её( память) на 2 потока, поэтому скорость бешено возрастает, а в одноканальном режиме(оно само за себя говорит) работа с памятью осуществляется в однопоточном режиме, но частота 667 Mhz (ширина шины памяти в 2 раза меньше)!
PS Если объяснять простым языком то в 2-х канальном режиме (Dual chanel) процессору в несколько раз легче и быстрее работать с памятью!
Мне этого мало более конкретно, хотелось бы.
Судя по ответу Андрея тактовая шины ОЗУ частота делится на \2 на а ширина (разрядность) шины увеличивается на *2 - судя по этому прироста скорости, чисто логически, быть не должно!
Взаимодействие памяти и процессора.
Ввиду несоответствия интерфейсов памяти и процессора, для совместного взаимодействия им необходим посредник - контроллер памяти. Контроллер памяти в значительной мере определяет скорость обмена с памятью а, значит, и быстродействие всей системы в целом.
В настоящее время, такие контролеры выпускаются не в виде отдельных микросхем, а входят в состав чипсета (см. рис), поэтому, очень важно выбрать "правильный" чипсет. Чем они отличаются друг от друга, или на какие характеристики следует обращать внимание в первую очередь?
Прежде всего - синхронный или асинхронный режим работы. Синхронные чипсеты требуют, чтобы частота памяти совпадала с частой шины. Имея такой чипсет, вы не сможете использовать преимущества процессора с 133 MHz шиной, если у вас установлена память SDRAM PC 100. Асинхронные чипсета выгодно отличаются тем, что позволяют тактировать память "своей" частотой, не обязательно совпадающей с тактовой частотой системной шины. Благодаря этому, они поддерживают практически любые комбинации процессоров и памяти. Согласитесь, - немаловажно для апгрейда. Однако если тактовые частоты системной шины и памяти не могут быть соотнесены как целые числа, возникают штрафные задержки (см. рисунок), негативно сказывающиеся на производительности.
Двухканальный режим памяти
Поддержка двухканального режима памяти. В двухканальном режиме вся оперативная память разбивается на два блока, с каждым блоком памяти работает отдельный независимый контроллер, благодаря чему эффективная пропускная способность удваивается.
Для работы в двухканальном режиме необходимо использовать модули памяти одинакового объема с одинаковыми характеристиками, установленные парами.
В двухканальном режиме памяти одновременно поддерживаются открытыми две страницы памяти (в первом и втором модулях), поэтому процессор может одновременно производить запись в оба модуля. Просто несколько изменяется архитектура памяти - в случае одноканального режима все блоки памяти идут последовательно, в двухканальном - четные в одном модуле, нечетные в другом, при этом удается одновременно обращаться к четному и нечетному блоку. Отсюда - увеличение пропускной способности памяти.
Теперь на счет частот: память DDR - double data rait - за один такт частоты памяти происходит два обращения к памяти. Фактическая частота шины памяти в 2 раза ниже, указанной на модуле. Так, для DDR-400 частота шины памяти - 200МГц.
Все устройства в компьютере синхронизируемые, синхронизация работы происходит по фронтам сигналов тактовой частоты. Если в системе используется одна частота (или кратные частоты), которой все синхронизируется - система работает в синхронном режиме. Если частоты разные - система работает в асинхронном режиме. В асихронном режиме контроллер вводит дополнительные задержки: к моменту, когда данные готовы на шине данных (Фронт тактовой частоты процессора) может еще не прийти фронт на шине памяти, поэтому будет задержка перемещения данных из процессора в память. С теоретической точки зрения синхронный режим предпочтительней, с практической - его очень трудно реализовать.
Просматривая новейшие продукты в вашем любимом магазине ПК, вы, возможно, сталкивались с терминами одноканальный, двухканальный или четырехканальный, применяемый к ОЗУ, и задавались вопросом, что означает это понятие? Простота ответа может вас удивить. Как и в случае значительного количества компонентов для ПК, производители взяли на себя оригинальную креативную лицензию на маркетинг, стремясь скрыть довольно фундаментальную концепцию в запутанных моментах.
Сегодня мы расскажем о том, к чему относится одиночный, двойной и четырехканальный режим, а также кратко рассмотрим различия между ними.
Что означают различные конфигурации каналов для производительности?
Теоретически, большее количество каналов обеспечивает преимущество в пропускной способности при передаче данных между процессором и оперативной памятью. Пропускная способность - это доступные пути связи между двумя компонентами. Идея состоит в том, что использование двух или четырех карт памяти с меньшей индивидуальной емкостью ГБ, чем у одной карты памяти, но равным общим объемом ГБ, дает такой же объем ОЗУ с преимуществом дополнительной пропускной способности памяти.
Хорошая аналогия, чтобы понять, как работают каналы, - представить оперативную память как шоссе. Конфигурация с одним каналом имеет одну полосу, две линии - две полосы и т.д. На одной полосе шоссе быстро перегружается транспортными средствами. При установке магистрали с двумя полосами движения трафик распределяется между двумя полосами, что по существу удваивает пропускную способность автомагистрали с возможностью параллельной передачи двух линий транспортных средств.
Логика подсказывает, что большее число полос движения неизменно лучше, и нам просто нужно взглянуть на гигантские шоссе с пятью полосами, проложенные через городские конгломераты США, в качестве доказательства. Городские планировщики исторически выбирали больше полос для облегчения движения, особенно в часы пик, или для обхода центра города по кольцевым дорогам или объездным дорогам со многими полосами движения.
Оперативная память работает очень похожим образом: любые дополнительные блоки оперативной памяти предоставляют дополнительный, одинаково мощный и одновременно доступный параллельный канал для передачи данных в центральный процессор и из него. Двухканальные конфигурации должны быть в два раза больше доступной пропускной способности памяти, а четырехканальные - в четыре раза больше пропускной способности. По крайней мере, так должно быть в теории.
Производительность многоканальных конфигураций сильно отличаются в зависимости от того, используется ли ОЗУ для видеоигр, ускорения рендеринга 3D-модели, редактирования видео, выполнения интенсивных задач копирования-вставки или запуска кластера процессов на рабочей станции цифрового аудио. Создает ли ощутимое повышение производительности двух- и четырехканальная память - вопрос спорный.
Как веб-сайт, посвященный играм, наш ответ имеет отношение только к теме: какое влияние оказывают несколько каналов на производительность в игре? Ответы отличаются от пользователя к пользователю, но если мы обращаемся к арбитру аппаратной производительности ПК, надежному эталону, то вопрос довольно единодушен.
Когда речь заходит об играх, преимущества двух- и четырехканальных конфигураций незначительны: в большинстве игр наблюдается минимальное заметное повышение производительности, включая недавно выпущенные игры с тройной загрузкой памяти. Число FPS, пропускная способность памяти и скорость завершения процесса практически одинаковы, за исключением нескольких изменений по всем направлениям.
В некоторых редких случаях бенчмарк-тесты с одиночной и двойной установками давали лучшие результаты, чем четырехканальная схема ОЗУ. В целом, CPU и GPU остаются реальными определяющими факторами игровой производительности, а многоканальные конфигурации очень мало улучшают работу.
Для загрузки не все материнские платы и процессоры совместимы с четырехканальными конфигурациями. Приобретая набор для четырех устройств и установкой с двухканальной совместимостью, четыре плашки будут считаться двумя итерациями двухканальной структуры, что сводит на нет предполагаемые преимущества.
Так зачем выбирать более чем одноканальную конфигурацию RAM?
Синхронное динамическое ОЗУ с двойной скоростью передачи данных (GDDR SDRAM)
- Время на рынке: с 2003 года по настоящее время
- Популярные продукты, использующие GDDR SDRAM: видеокарты, некоторые планшеты
GDDR SDRAM - это тип DDR SDRAM, специально разработанный для рендеринга видео графики, обычно в сочетании с выделенным графическим процессором (графическим процессором) на видеокарте. Современные компьютерные игры выходят за рамки невероятно реалистичной среды с высоким разрешением, часто требуя здоровенных системных характеристик и лучшего оборудования для видеокарт (особенно при использовании дисплеев с высоким разрешением 720p или 1080p).
- Подобно DDR SDRAM, GDDR SDRAM имеет собственную эволюционную линию (повышение производительности и снижение энергопотребления): GDDR2 SDRAM, GDDR3 SDRAM, GDDR4 SDRAM и GDDR5 SDRAM.
Несмотря на то, что у DDR SDRAM есть похожие характеристики, GDDR SDRAM - не совсем то же самое. Существуют заметные различия в том, как работает GDDR SDRAM, в том что касается пропускной способности по сравнению с задержкой. Ожидается, что GDDR SDRAM будет обрабатывать огромные объемы данных (пропускную способность), но не обязательно на самых высоких скоростях (задержка).
Представьте себе шоссе с 16 полосами, установленным на 55 миль в час. Для сравнения, ожидается, что DDR SDRAM будет иметь низкую задержку, чтобы немедленно реагировать на процессор - вспомним двухполосную магистраль, установленную на 85 миль в час.
Флэш-память
- Время на рынке: с 1984 года по настоящее время
- Популярные продукты, использующие флэш-память: цифровые камеры, смартфоны/планшеты, портативные игровые системы/игрушки
Флэш-память - это тип энергонезависимого носителя данных, который сохраняет все данные после отключения питания. Несмотря на название, флэш-память ближе по форме и действию (то есть к хранилищу и передаче данных) к твердотельным накопителям, чем ранее упомянутые типы ОЗУ.
На прошлой неделе я рассказал вам о том, какими могут быть будущие Intel процессоры, а также в общих чертах описал как работают их конвейеры.
К моему удивлению никто не задался вопросом — а где же тут Hyper-threading? Как говориться — покажи, ткни.
Ведь описанные схемы на деле работают в качестве двух логических ядер, а очевидно, что тут ядер — одно.
Однако на самом деле ядра в текущее время для современных процессоров — это уже некоторая условность.
По сути производительность и количество реально параллельно решаемых задач процессором intel зависит от количества портов, о которых я рассказывал в прошлом материале.
В AMD как таковых портов нет, но есть разделение конвейера на два пути для целочисленных и операций с плавающей запятой, где так же есть по несколько исполнительных устройств и именно суммарное количество исполнительных устройств определяет количество параллельно решаемых процессором задач.
А вот как для операционной системе будет показываться одно ядеро — это вопрос того как процессор может коммуницировать со внешним миром.
Но, не всё так просто.
Если бы было всё так просто — intel и AMD уже давно бы так ядра бы и считали, а то у видеокарт ядер тысячи, а у процессоров еле за десятку переваливает.
Есть очень важные различия между процессорами и видеокартами.
Видеокарты решают задачи, которые можно смело и спокойно разделить на миллионы, а то и миллиарды однотипных подзадач? во многом в силу большого количества полигонов и пикселей. Поэтому нет огромной сложности в том, чтобы каждый такт заполнять все блоки исполнительных устройств и производители видеокарт поэтому и называют их ядрами. С центральными процессорами всё куда сложнее. Они постоянно меняют решаемые задачи, именно поэтому широкий набор исполнительных устройств не считается как большое количество ядер. И одни исполнительные устройства не могут заменить другие. То есть одни задачи передаются через одни порты, где есть нужное устройство, а другие задачи — через другие порты.
И того получается, что центральные процессоры, в отличие от процессоров видеокарт — занимают не все свои исполнительные устройства каждый такт. Безусловно — производители процессоров организуют обвязку этих исполнительных устройств так, чтобы каждый такт занимать настолько много исполнительных устройств, насколько это возможно. Для этого организуются очереди выполнения, чтобы выбирать наборы микроопераций, которые могут быть выполнены параллельно в одном такте.
Но в реальности всё равно не всегда получается занять все исполнительные устройства. Если говорить про AMD, так и вовсе задача у процессора может быть сравнительно длительное время только для целочисленных устройств, в таком случае вообще половина процессора простаивает.
И с развитием мощностей процессоров проблема эта становиться более острой, так как про оптимизацию кода уже толком никто не задумывается, вернее на сверхвысокоуровневых языках программирования её сделать нельзя. То что используют программисты — работает через какие-то библиотеки, о функционировании которых программисты не знают.
И вся надежда на то, что компилятор сможет сотворить чудо (чего, естественно, не происходит) и в простых задачах появляются ненужные циклы на миллионы операций, выбираются какие-то не те типы данных под переменные, так сказать, с запасом. И появляются суммарно миллиарды лишних, и что ещё печальнее, полностью однотипных операций для процессора.
Что это будет значить для центрального процессора?
Для него это будет значить, что он раз за разом, такт за тактом будет использовать только один из всех исполнительных устройств, а все другие будут практически постоянно стоять в простое. В таком случае — теоретическая и практическая производительность будут отличаться в разы, естественно не в пользу практической.
Чтобы было нагляднее — представим эту ситуацию на схеме. Тут по вертикали у меня расположены порты к исполнительным устройствам, а по горизонтали — такты работы процессора.
Плохая для процессора задача каждый такт занимает только один порт, и ещё периодически требуется задействование портов, используемых для данных. Можно увидеть, что почти весь процессор находиться в простое. Не задействован его потенциал и на 20%. И не надо путать это с процентом загрузки процессора. Показанная ситуация в программах мониторинга процессора будет показывать 100% загрузку процессора
Проблема эта вполне реальная и, естественно, производители процессоров с ней борются.
И самый очевидный метод — разрешить операционной системе выполнять вместе несколько программ. Вакантных для работы портов, очевидно настолько много, что особых проблем с тем чтобы выполнять ещё что-то нет.
Допустим мы разрешили операционной системе распознавать ядро не как одно, а как два. В таком случае — операционная система на одно ядро подмешивает два выполняемых процесса. Естественно оба эти процесса декодируются в микрооперации и помещаются в общую очередь переупорядочивания и выполнения микроопераций. И из этой очереди с большим шансом процессор сможет выбрать задачи так, чтобы заполнять ещё какие-то порты в каждом такте, которые бы в противном случае пустовали бы.
Естественно работает это не 100% идеально. То есть если задача более менее нормальная, то она, благодаря построению очередей, может занимать по несколько портов каждый такт.
Другая задача тоже будет занимать по несколько портов каждый такт.
Если просто тупо совместить эти два потока — то часто выходило бы и то, что задачи по портам пересекались бы.
Естественно так как задачи расположены будут в одной очереди, то процессор не допустит конфликтов, но в тоже время — из-за этого выполнение двух задач на одном ядре будет всё равно немного медленнее, чем выполнения задач каждой на своём ядре.
Но и надо понимать, что процессоры проектируют тоже не дураки, и подбирают наборы исполнительных устройств за каждым из портов не случайным образом.
Допустим, зачастую для обычных задач нужен ALU, а не какие-то более редкие устройства. Поэтому если обоим программам нужен будет в основном ALU, то у текущих процессоров intel ALU есть во всех 4-х портах с вычислительными исполнительными устройствами, и в таком случае конфликтов не будет и процессор просто будет разводить задачи на разные ALU и при таких задачах, скорее всего отличия от удвоения производительности будет связано с ограничением при работе с данными.
Из рассказа может показаться, что это запихивание двух потоков в одно ядро штука чисто программная.
Во многом оно, конечно, так и есть. Но и для аппаратной начинки — место тоже нашлось.
В общем-то если бы это была чисто софтверная фишка, то скорее всего производители процессоров и операционных систем уже смогли бы реализовать динамическую мультипоточность. То есть отслеживать степень занятости исполнительных устройств процессора, и добавлять виртуальные потоки на каждое ядро пока ядро не будет забиваться задачами до отказа.
На деле всё сложнее и есть и недостатки такого подхода.
Первая проблема — изолированное выполнение разных потоков.
Несмотря на общие очереди процессор не должен разрешать использовать данные одного потока для работы другого. И это, кстати, одно из мест в которых возникают аппаратные уязвимости процессоров.
То есть стороннее приложение может попытаться в обход защиты получить данные предназначенные для другого приложения. Естественно если попытаться реализовать динамическую систему мультипоточности, то скорее всего, останутся в кешах и регистрах какие-то подвешенные данные до их замещения новыми после закрытия потока для ядра. И этим смогут пользоваться приложения вирусы.
Ещё одна проблема — это общие данные для потоков. Не обязательно, что на нескольких потоках раскиданы два разных приложения. Одно приложение тоже может быть распараллелено. Если создавать и завершать потоки, то образуется сумятица по внутренним адресам данных, то есть надо будет тратить много времени на завершение процессов, запись результатов под новыми внешними для процессора адресами, потом остальные потоки нужно будет заново обеспечить перекрёстными данными. В общем — суматоха та ещё. Собственно эта суматоха и приводит к появлению уязвимостей.
Ещё одна проблема — обработка прерываний от изначально неизвестного количества потоков. Если количество потоков на ядро будет меняться, то процессор должен быть всё равно адаптирован под максимально возможное количество потоков, чтобы обеспечить возможность штатно отрабатывать прерывания.
То есть на каждый из потоков в ядре может одновременно прийти какое-то действие вызывающее прерывание и приоритетное выполнение. Неопределённое количество потоков создаёт проблемы, опять же, в том числе, и с изменением перекрёстных данных для разных потоков в одном ядре.
В общем мультипоточность — это, к сожалению, не чисто софтверная штука, а имеет и аппаратные ограничения и просто так менять на лету число потоков на ядро тоже нельзя.
Но даже учитывая строгое задание числа потоков на ядро есть недостатки и у такого решения.
В intel есть разделение регистров на потоки на входе в процессор инструкций. Физически этого деления нет, но для каждого потока выделяется строго половина из доступного объёма регистровой памяти. Это, скорее всего, нужно как раз для дальнейшей защиты данных одного потока от другого, то есть возможно первоначальные адреса в регистрах сами по себе указывают на то, для какой операции надо разрешать доступ к тем или иным данным.
Естественно и удельного объёма кеш памяти тоже на один поток становиться меньше. То есть для эффективной работы нужно больше кеша на ядро.
Ну, и, конечно, есть проблемы и софтверные.
Буквы «H T» в логотипе появились не спроста
Я, как человек купивший себе в 2003 году 4-ый пентиум с одним ядром и двумя потоками, могу вас заверить, что оптимизация под многопоток и под гипертрединг однозначно нужна. Без этой оптимизации процессор становиться медленнее для каждой задачи, даже если второй поток ядра простаивает.
И тогда, в 2003 году отключение HT было довольно действенной мерой по повышению производительности.
Сейчас отчасти это тоже работает в некоторых задачах на процессорах с очень большим числом ядер по тем же причинам, то есть не оптимизированный софт под нужное количество потоков и сложности организации работы связки — процессор, операционная система и выполняемая программа при работе с настоящими ядрами и с разделенными на потоки.
Остаётся ещё вопрос — числа потоков на ядро более чем два. Возможно ли это? И тут ответ однозначный — возможно. У IBM есть процессоры с 8 потоками на ядро прямо сейчас.
Вопрос актуальности 4-х потоков на ядро в обычных процессорах — стоит под вопросом. Я думаю, что разработчики процессоров имеют статистику по реальной занятости исполнительных устройств. И, учитывая, что 3-х или 4-х поточные ядра они не делают — означает, что, скорее всего, плотность занятости исполнительных устройств достаточно высокая; так что увеличение потоков в большей части задач будет ухудшать производительность из-за уменьшения удельного объема кеша на поток, или будет сильно снижать эффективность использования транзисторного бюджета, или усложнять внутренние передвижения инструкций и данных внутри конвейера.
Но не исключено, что кто-то из производителей пойдет на такой путь, допустим — увеличит число исполнительных устройств на ядро и вместо увеличения числа ядер чтобы занять все эти исполнительные устройства производители увеличат количество потоков на одно ядро. Вполне возможно, что этот путь может быть более рациональным, чем увеличения числа настоящих ядер. В таком случае кто-то из производителей к нему прибегнет.
Статическая RAM (SRAM)
- Время на рынке: 1990-е годы по настоящее время
- Популярные продукты с использованием SRAM: цифровые камеры, маршрутизаторы, принтеры, ЖК-экраны
SRAM - один из двух основных типов памяти (другой - DRAM), требует постоянного потока энергии для функционирования. Из-за постоянной мощности SRAM не нужно «обновлять», чтобы помнить о сохраняемых данных. Вот почему SRAM называется «статическим» - никаких изменений или действий (например, обновление) не требуется, чтобы сохранить данные нетронутыми. SRAM это энергозависимая память. Это означает что все данные, которые были сохранены, теряются после отключения питания.
Преимуществами использования SRAM (по сравнению с DRAM) считается низкое энергопотребление и высокая скорость доступа. Недостатками использования SRAM (по сравнению с DRAM) это меньшая емкость памяти и высокие затраты на производство.
Из-за этих характеристик SRAM используется в таких компонентах:
- Кэш процессора (например, L1, L2, L3)
- Буфер/кэш жесткого диска
- Цифро-аналоговые преобразователи (ЦАП) на видеокартах
Синхронное динамическое ОЗУ с двойной скоростью передачи данных (DDR SDRAM)
- Время на рынке: с 2000 года по настоящее время
- Популярные продукты с использованием DDR SDRAM: память компьютера
DDR SDRAM работает как SDR SDRAM, только в два раза быстрее. DDR SDRAM способна обрабатывать две инструкции чтения и две записи за такт (следовательно, «двойной»). Функция DDR SDRAM аналогична, и имеет физические различия (184 контакта и один паз на разъеме) по сравнению с SDR SDRAM (168 контактов и две выемки на разъеме). DDR SDRAM также работает при низком стандартном напряжении (2,5 В от 3,3 В), предотвращая обратную совместимость с SDR SDRAM.
Что такое одноканальное, двухканальное и четырехканальное ОЗУ?
Откройте свой компьютер и внимательно изучите слоты RAM DIMM. Вы замечаете одну плашку оперативной памяти, может, две, а если вам повезет, то даже четыре? Тут появляется правда о непонятной загадке каналов памяти. Один канал относится к одной плашке ОЗУ, двухканальная указывает на использование двух плашек, в то время как, как вы уже догадались, четырехканальная конфигурация означает четыре.
Производители оперативной памяти поставляют качественное оборудование для удовлетворения потребностей геймеров и компьютерных энтузиастов, но что более важно, они на этом зарабатывают деньги. Украшение оперативной памяти с помощью специального корпуса с двумя или четырьмя каналами действительно придает изделию некоторую техническую привлекательность, ощущение роскоши, если хотите, и это работает. Большая часть менее опытных и, менее прощающих, ветеранов по сборке пк стекается к этим типам корпусов.
Причины двухканального и четырехканального режима оперативной памяти
Технология, связанная с упаковкой одной плашки ОЗУ с большим количеством ГБ, на уровне производства стоит дороже, чем продажа двух плашек оперативной памяти с половиной ГБ на единицу. Экономия передается потребителю, и, двухканальные комплекты, как их называют, с одинаковым объемом ОЗУ, часто стоят дешевле, чем эквивалентные одиночные комплекты.
Очарование одной плашки с большим количеством ГБ, очень мало (16 ГБ было неслыханно, но несколько лет назад), одна из лучших причин купить двойную или четырехканальную память заключается в том, чтобы заключить сэкономить немного денег на более дорогие компоненты, такие как видеокарту.
В том же духе, переход на двойной или четырехугольный режим также может быть идеальным способом высвободить часть бюджета для более высокой частоты ОЗУ или лучшего времени задержки с экономией от отказа от покупки одноканальной памяти. Частота и CAS, безусловно, считается самыми важными оценщиками производительности ОЗУ, и вам следует обратить на них внимание в качестве решающих факторов выбора ОЗУ. Если в процессе вы захватите комплект с двумя или четырьмя каналами, тем лучше.
Если вы работаете над созданием компьютеров, которые работают не только как хорошо смазанная машина, но и выглядят эстетично, то магнетизм четырех слотов DIMM, украшенных четырьмя чехлами оперативной памяти, с распределенным по высоте рассеивания тепла, не вызывает сомнений. Конфигурация четырехканального режима может не сильно улучшить производительность, но, безусловно, выделяет сборку и его стиль.
Будем откровенны: от графических процессоров RGB до водяного охлаждения со светодиодными лентами, до растущей одержимости безупречным распределением кабелей, сборка ПК - это не только дизайнерская тренировка, но и создание мощной установки.
Еще одна причина, по которой двух- и особенно четырехканальная ОЗУ не является глупой покупкой, заключается в том, что она обеспечивает определенную степень защиты в будущем. В частности, четырехканальный способ подключения является сравнительно недавним прогрессом в технологии ОЗУ, и, поскольку все больше разработчиков игр настраивают свои игры под этот способ оптимизации, чтобы использовать предлагаемые преимущества, которые постепенно увеличиваются со временем.
Видео на YouTube канале "Этот компьютер"
В продолжение рубрики "конспект админа" хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей BSOD.
Сегодня на рынке представлены, в основном, модули с памятью DDR SDRAM: DDR2, DDR3, DDR4. Разные поколения отличаются между собой рядом характеристик – в целом, каждое следующее поколение "быстрее, выше, сильнее", а для любознательных вот табличка:
Для подбора правильной памяти больший интерес представляют сами модули:
RDIMM — регистровая (буферизованная) память. Удобна для установки большого объема оперативной памяти по сравнению с небуферизованными модулями. Из минусов – более низкая производительность;
UDIMM (unregistered DRAM) — нерегистровая или небуферизованная память — это оперативная память, которая не содержит никаких буферов или регистров;
LRDIMM — эти модули обеспечивают более высокие скорости при большей емкости по сравнению с двухранговыми или четырехранговыми модулями RDIMM, за счёт использования дополнительных микросхем буфера памяти;
HDIMM (HyperCloud DIMM, HCDIMM) — модули с виртуальными рангами, которые имеют большую плотность и обеспечивают более высокую скорость работы. Например, 4 физических ранга в таких модулях могут быть представлены для контроллера как 2 виртуальных;
Попытка одновременно использовать эти типы может вызвать самые разные печальные последствия, вплоть до порчи материнской платы или самой памяти. Но возможно использование одного типа модулей с разными характеристиками, так как они обратно совместимы по тактовой частоте. Правда, итоговая частота работы подсистемы памяти будет ограничена возможностями самого медленного модуля или контроллера памяти.
Для всех типов памяти SDRAM есть общий набор базовых характеристик, влияющий на объем и производительность:
частота и режим работы;
Конечно, отличий на самом деле больше, но для сборки правильно работающей системы можно ограничиться этими.
Понятно, что чем выше частота — тем выше общая производительность памяти. Но память все равно не будет работать быстрее, чем ей позволяет контроллер на материнской плате. Кроме того, все современные модули умеют работать в в многоканальном режиме, который увеличивает общую производительность до четырех раз.
Режимы работы можно условно разделить на четыре группы:
Single Mode — одноканальный или ассиметричный. Включается, когда в системе установлен только один модуль памяти или все модули отличаются друг от друга. Фактически, означает отсутствие многоканального доступа;
Dual Mode — двухканальный или симметричный. Слоты памяти группируются по каналам, в каждом из которых устанавливается одинаковый объем памяти. Это позволяет увеличить скорость работы на 5-10 % в играх, и до 70 % в тяжелых графических приложениях. Модули памяти необходимо устанавливать парами на разные каналы. Производители материнских плат обычно выделяют парные слоты одним цветом;
Для максимального быстродействия лучше устанавливать одинаковые модули с максимально возможной для системы частотой. При этом используйте установку парами или группами — в зависимости от доступного многоканального режима работы.
Ранг (rank) — область памяти из нескольких чипов памяти в 64 бита (72 бита при наличии ECC, о чем поговорим позже). В зависимости от конструкции модуль может содержать один, два или четыре ранга.
Узнать этот параметр можно из маркировки на модуле памяти. Например уKingston число рангов легко вычислить по одной из трех букв в середине маркировки: S (Single — одногоранговая), D (Dual — двухранговая), Q (Quad — четырехранговая).
Пример полной расшифровки маркировки на модулях Kingston:
Серверные материнские платы ограничены суммарным числом рангов памяти, с которыми могут работать. Например, если максимально может быть установлено восемь рангов при уже установленных четырех двухранговых модулях, то в свободные слоты память добавить не получится.
Перед покупкой модулей есть смысл уточнить, какие типы памяти поддерживает процессор сервера. Например, Xeon E5/E5 v2 поддерживают одно-, двух- и четырехранговые регистровые модули DIMM (RDIMM), LRDIMM и не буферизированные ECC DIMM (ECC UDIMM) DDR3. А процессоры Xeon E5 v3 поддерживают одно- и двухранговые регистровые модули DIMM, а также LRDIMM DDR4.
Тайминги или латентность памяти (CAS Latency, CL) — величина задержки в тактах от поступления команды до ее исполнения. Числа таймингов указывают параметры следующих операций:
CL (CAS Latency) – время, которое проходит между запросом процессора некоторых данных из памяти и моментом выдачи этих данных памятью;
tRCD (задержка от RAS до CAS) – время, которое должно пройти с момента обращения к строке матрицы (RAS) до обращения к столбцу матрицы (CAS) с нужными данными;
tRP (RAS Precharge) – интервал от закрытия доступа к одной строке матрицы, и до начала доступа к другой;
tRAS – пауза для возврата памяти в состояние ожидания следующего запроса;
Разумеется, чем меньше тайминги – тем лучше для скорости. Но за низкую латентность придется заплатить тактовой частотой: чем ниже тайминги, тем меньше допустимая для памяти тактовая частота. Поэтому правильным выбором будет "золотая середина".
Существуют и специальные более дорогие модули с пометкой "Low Latency", которые могут работать на более высокой частоте при низких таймингах. При расширении памяти желательно подбирать модули с таймингами, аналогичными уже установленным.
Для коррекции нерегулярных ошибок применяется ECC-память, которая содержит дополнительную микросхему для обнаружения и исправления ошибок в отдельных битах.
Метод коррекции ошибок работает следующим образом:
При записи 64 бит данных в ячейку памяти происходит подсчет контрольной суммы, составляющей 8 бит.
Когда процессор считывает данные, то выполняется расчет контрольной суммы полученных данных и сравнение с исходным значением. Если суммы не совпадают – это ошибка.
Технология Advanced ECC способна исправлять многобитовые ошибки в одной микросхеме, и с ней возможно восстановление данных даже при отказе всего модуля DRAM.
Исправление ошибок нужно отдельно включить в BIOS
Большинство серверных модулей памяти являются регистровыми (буферизованными) – они содержат регистры контроля передачи данных.
Регистры также позволяют устанавливать большие объемы памяти, но из-за них образуются дополнительные задержки в работе. Дело в том, что каждое чтение и запись буферизуются в регистре на один такт, прежде чем попадут с шины памяти в чип DRAM, поэтому регистровая память оказывается медленнее не регистровой на один такт.
Все регистровые модули и память с полной буферизацией также поддерживают ECC, а вот обратное не всегда справедливо. Из соображений надежности для сервера лучше использовать регистровую память.
Для правильной и быстрой работы нескольких процессоров, нужно каждому из них выделить свой банк памяти для доступа "напрямую". Об организации этих банков в конкретном сервере лучше почитать в документации, но общее правило такое: память распределяем между банками поровну и в каждый ставим модули одного типа.
Если пришлось поставить в сервер модули с меньшей частотой, чем требуется материнской плате – нужно включить в BIOS дополнительные циклы ожидания при работе процессора с памятью.
Для автоматического учета всех правил и рекомендаций по установке модулей можно использовать специальные утилиты от вендора. Например, у HP есть Online DDR4 (DDR3) Memory Configuration Tool.
Вместо пространственного заключения приведу общие рекомендации по выбору памяти:
Для многопроцессорных серверов HP рекомендуется использовать только регистровую память c функцией коррекции ошибок (ECC RDIMM), а для однопроцессорных — небуферизированную с ECC (UDIMM). Планки UDIMM для серверов HP лучше выбирать от этого же производителя, чтобы избежать самопроизвольных перезагрузок.
В случае с RDIMM лучше выбирать одно- и двухранговые модули (1rx4, 2rx4). Для оптимальной производительности используйте двухранговые модули памяти в конфигурациях 1 или 2 DIMM на канал. Создание конфигурации из 3 DIMM с установкой модулей в третий банк памяти значительно снижает производительность.
Список короткий, но здесь все самое необходимое и наименее очевидное. Конечно же, старый как мир принцип RTFM никто не отменял.
Что такое оперативная память?
Плашки ОЗУ в материнской плате
Оперативная память расшифровывается как "оперативное запоминающее устройство" или аббривиатурой "ОЗУ". Предоставляет компьютерам виртуальное пространство, необходимое для управления информацией и решения проблем в настоящий момент. Можно подумать что это бумага для повторного использования, на которой пишут карандашом заметки, цифры или рисунки.
Если не хватает места на бумаге, вы стираете то, что вам больше не нужно. Оперативная память работает аналогично, когда ей требуется больше места для работы с временной информацией (то есть с запущенным программным обеспечением или программами). Большие листы бумаги позволяют вам набрасывать больше и больше идей за раз, прежде чем стирать. Больше оперативной памяти внутри компьютеров разделяют информацию прежде чем стереть аналогичным сопособом.
Оперативная память имеет различные формы (то есть физическое соединение с вычислительными системами или взаимодействие с ними), емкости (измеряемые в МБ или ГБ), скорости (измеряемые в МГц или ГГц) и архитектуры. Эти и другие аспекты важно учитывать при обновлении систем с ОЗУ, поскольку компьютерные системы (например, аппаратные средства, материнские платы) должны придерживаться строгих критериев.
- Компьютеры старого поколения вряд ли приспособят более современные типы технологий оперативной памяти
- Память ноутбука не помещается на десктопах (и наоборот)
- RAM не всегда обратно совместима
- Система не может смешивать и сочетать разные типы/поколения ОЗУ вместе
Синхронное динамическое ОЗУ с одной скоростью передачи данных (SDR SDRAM)
- Время на рынке: с 1993 года по настоящее время
- Популярные продукты с использованием SDR SDRAM: компьютерная память, игровые приставки
SDR SDRAM - это расширенный термин для SDRAM - два типа - это одно и то же, но чаще всего называют просто SDRAM. «Единая скорость передачи данных» указывает, как память обрабатывает одну инструкцию чтения и одну запись за такт.
Сравнение между SDR SDRAM и DDR SDRAM:
- DDR SDRAM считается разработкой второго поколения SDR SDRAM
Синхронное динамическое ОЗУ (SDRAM)
- Время на рынке: с 1993 года по настоящее время
- Популярные продукты с использованием SDRAM: компьютерная память, игровые приставки
SDRAM - это классификация DRAM, которая работает синхронно с тактовой частотой процессора. В начале ожидает тактового сигнала, прежде чем ответить на ввод данных (например, пользовательский интерфейс). DRAM считается асинхронным, так как немедленно реагирует на ввод данных. Но преимущество синхронной работы состоит в том, что ЦП может параллельно обрабатывать перекрывающиеся инструкции, также известные как «конвейерная обработка» - возможность получать (читать) новую инструкцию до того, как предыдущая инструкция полностью разрешена (запись).
Конвейерная обработка не влияет на время, необходимое для обработки инструкций, она позволяет одновременно выполнять больше инструкций. Обработка одной инструкции чтения и одной записи за такт приводит к более высокой общей скорости передачи/производительности ЦП. SDRAM поддерживает конвейеризацию благодаря делению памяти на отдельные участки, что и обусловило ее широкое предпочтение по сравнению с базовым DRAM.
Вывод
Подводя итог, можно сказать, что одноканальное, двухканальное и четырехканальное ОЗУ относится к количеству плашек, которое имеется на ПК. Более высокое число каналов не обязательно соответствует ощутимому приросту производительности в играх, но нет никакого вреда в выборе четырехканальных конфигураций, если бюджетные ограничения позволяют это, и, во всяком случае, в качестве меры предосторожности на будущее.
Большинство устройств оперативной памяти имеют различные интерфейсы и собственные рабочие частоты. Почти каждое вычислительное устройство нуждается в ОЗУ. Устройство (например, смартфоны, планшеты, настольные компьютеры, ноутбуки, графические калькуляторы, HD телевизоры, портативные игровые системы и т.д.). Объем ОЗУ разный для всех типов и моделей устройств. В основном вся оперативная память в служит одной и той же цели.
Почти каждое вычислительное устройство нуждается в оперативной памяти. Устройство (например, смартфоны, планшеты, настольные компьютеры, ноутбуки, графические калькуляторы, HD телевизоры, портативные игровые системы и т.д.). Объем оперативной памяти разный для всех типов и моделей устройств. В основном вся оперативная память в служит одной и той же цели.
Некоторые типы ОЗУ
Известные типы ОЗУ:
- Статическая RAM (SRAM)
- Динамическое ОЗУ (DRAM)
- Синхронное динамическое ОЗУ (SDRAM)
- Синхронное динамическое ОЗУ с одной скоростью передачи данных (SDR SDRAM)
- Синхронное динамическое ОЗУ с двойной скоростью передачи данных (DDR SDRAM, DDR2, DDR3, DDR4)
- Синхронное динамическое ОЗУ с двойной скоростью передачи данных (GDDR SDRAM, GDDR2, GDDR3, GDDR4, GDDR5)
- Флэш-память
Динамическое ОЗУ (DRAM)
- Время на рынке: с 1970-х до середины 1990-х
- Популярные продукты с использованием DRAM: игровые приставки, сетевое оборудование
DRAM, один из двух основных типов памяти (другой - SRAM), требует периодического «обновления» мощности для функционирования. Конденсаторы, которые хранят данные в DRAM, постепенно разряжают энергию. Отсутствие энергии означает, что данные теряются. Поэтому DRAM называется «динамическим» - постоянные изменения или действия (например, обновление) необходимы для сохранения данных нетронутыми. DRAM также считается энергозависимой памятью. Это означает, что все сохраненные данные теряются при отключении питания.
Преимущества использования DRAM (по сравнению с SRAM) заключаются в низких затратах на производство и большей емкости памяти. Недостатками использования DRAM (по сравнению с SRAM) являются более медленные скорости доступа и высокое энергопотребление.
Из-за этих характеристик DRAM используется в таких устройствах:
- Системная память
- Видео графическая память
В 1990-х годах разработана расширенная динамическая ОЗУ с данными (EDO DRAM), за которой последовала ее эволюция, ОЗУ Burst EDO (BEDO DRAM). Эти типы памяти были привлекательны благодаря повышенной производительности/эффективности при меньших затратах. Но технология устарела в результате разработки SDRAM.
Читайте также: