Существует два основных механизма обновления оперативной памяти

Обновлено: 07.07.2024

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

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

Прежде чем начать путешествие в прошлое, давайте разберемся в обозначенной выше классификации и поймем, для чего нужен каждый из типов памяти. Компьютер представляет информацию в виде последовательности бит — двоичных цифр со значениями 1 или 0. Общепринятой универсальной единицей информации считают байт, как правило, состоящий из 8 бит. Все используемые компьютером данные занимают некоторое количество байт. К примеру, типичный музыкальный файл занимает 40 миллионов бит — 5 миллионов байт (или 4,8 мегабайта). Центральный процессор не сможет функционировать без элементарного запоминающего устройства, ведь вся его работа сводится к получению, обработке и записи обратно в память. Именно поэтому легендарный Джон фон Нейман (мы не раз упоминали его имя в цикле статей про мейнфреймы) придумал размещать внутри компьютера независимую структуру, где хранились бы все необходимые данные.

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

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

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

Компьютер Bendix G15 с барабанной памятью. Оператор в костюме прилагается.

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

Первый компьютер, построенный на переключателях, появился в Германии в 1939 году. Инженер Конрад Зюс использовал их при создании системной логики устройства Z2. К сожалению, прожила машина недолго, а ее планы и фотографии были утеряны во время бомбардировок Второй мировой войны. Следующее вычислительное устройство Зюса (под именем Z3) увидело свет в 1941 году. Это был первый компьютер, управляемый программой. Основные функции машины реализовывались при помощи 2000 переключателей. Конрад собирался перевести систему на более современные компоненты, но правительство прикрыло финансирование, посчитав, что идеи Зюса не имеют будущего. Как и ее предшественница, Z3 была уничтожена во время бомбардировок союзников.

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

Линии задержки разработал американский инженер Джон Преспер Экерт. Компьютер EDVAC, представленный в 1946 году, содержал два блока памяти по 64 линии задержки на основе ртути (5,5 Кб по современным меркам). На тот момент этого было более чем достаточно для работы. Вторичная память также присутствовала в EDVAC — результаты вычислений записывались на магнитную пленку. Другая система, UNIVAC 1, увидевшая свет в 1951 году, использовала 100 блоков на основе линий задержки, а для сохранения данных у нее была сложная конструкция со множеством физических элементов.

Блок памяти на основе линий задержки больше похож на гиперпространственный двигатель космического корабля. Сложно представить, но подобная махина могла сохранить всего несколько бит данных!

За кадром нашего исследования осталось два довольно значимых изобретения в области носителей данных. Оба сделал талантливый сотрудник Bell Labs Эндрю Бобек. Первая разработка — так называемая твисторная память — могла стать прекрасной альтернативой памяти на основе магнитных сердечников. Она во многом повторяла последнюю, но вместо ферритовых колец для хранения данных использовала магнитную пленку. У технологии были два важных преимущества. Во-первых, твисторная память могла одновременно записывать и считывать информацию с целого ряда твисторов. Плюс к этому, было легко наладить ее автоматическое производство. Руководство Bell Labs надеялось, что это позволит существенно снизить цену твисторной памяти и занять перспективный рынок. Разработку финансировали ВВС США, а память должна была стать важной функциональной ячейкой ракет Nike Sentinel. К сожалению, работа над твисторами затянулась, а на первый план вышла память на основе транзисторов. Захват рынка не состоялся.

«Не повезло в первый раз, так повезет во второй»,— подумали в Bell Labs. В начале 70-х годов Эндрю Бобек представил энергонезависимую пузырьковую память. В ее основе лежала тонкая магнитная пленка, которая удерживала небольшие намагниченные области (пузырьки), хранящие двоичные значения. Спустя какое-то время появилась первая компактная ячейка емкостью 4096 бит — устройство размером один квадратный сантиметр обладало емкостью целой планки с магнитными сердечниками.

Изобретением заинтересовались многие компании, и в середине 70-х разработками в области пузырьковой памяти занялись все крупные игроки рынка. Энергонезависимая структура делала пузырьки идеальной заменой как первичной, так и вторичной памяти. Но и тут планам Bell Labs не удалось сбыться — дешевые винчестеры и транзисторная память перекрыли кислород пузырьковой технологии.

Вакуум — наше все

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

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

Под загадочным словосочетанием «вакуумная трубка» скрывается довольно простой по строению элемент. Он напоминает обычную лампу накаливания. Нить заключена в безвоздушное пространство, при нагреве она испускает электроны, которые попадают на положительно заряженную металлическую пластину. Внутри лампы под напряжением образуется поток электронов. Вакуумная трубка умеет или пропускать, или блокировать (фазы 1 и 0) проходящий через нее ток, выступая в роли электронного компонента компьютеров. Во время работы вакуумные трубки сильно нагреваются, их надо интенсивно охлаждать. Зато они намного быстрее, чем допотопные переключатели.

Первичная память на основе этой технологии появилась в 1946-1947 годы, когда изобретатели Фредди Вильямс и Том Килберн представили трубку Вильямса — Килберна. Метод сохранения данных был весьма остроумным. На трубке при определенных условиях появлялась световая точка, которая слегка заряжала занимаемую поверхность. Зона вокруг точки приобретала отрицательный заряд (ее называли «энергетическим колодцем»). В «колодец» можно было поместить новую точку или оставить его без внимания — тогда первоначальная точка быстро исчезала. Эти превращения истолковывались контроллером памяти как двоичные фазы 1 и 0. Технология была очень популярна. Память на трубках Вильямса — Килберна устанавливали в компьютеры Ferranti Mark 1, IAS, UNIVAC 1103, IBM 701, IBM 702 и Standards Western Automatic Computer (SWAC).

Параллельно свою трубку, именуемую селектрон, разрабатывали инженеры из компании Radio Corporation of America под управлением ученого Владимира Зворыкина. По задумке авторов селектрон должен был вмещать до 4096 бит информации, что в четыре раза больше, чем у трубки Вильямса — Килберна. Предполагалось, что к концу 1946 года будет произведено около 200 селектронов, но производство оказалось очень дорогим.

Наравне с вакуумными трубками в некоторых компьютерах того времени использовалась барабанная память, изобретенная Густавом Таусчеком в 1939 году. Простая конструкция включала большой металлический цилиндр, покрытый сплавом из ферромагнетика. Считывающие головки, в отличие от современных винчестеров, не перемещались по поверхности цилиндра. Контроллер памяти ждал, пока информация самостоятельно пройдет под головками. Барабанная память использовалась в компьютере Атанасова — Берри и некоторых других системах. К сожалению, ее производительность была очень низкой.

Селектрону не было суждено завоевать рынок вычислительных машин — опрятные на вид электронные компоненты так и остались пылиться на свалке истории. И это несмотря на выдающиеся технические характеристики.

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

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

Правда, здесь кроется один подвох. Производительности существующих чипов DDR2 достаточно для большинства компьютерных приложений (сложные научные программы не в счет). Установка модулей DDR3, работающих на частоте 1066 МГц и выше, не ведет к ощутимому приросту скорости.

Звездный путь в будущее

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

Главным недостатком памяти, да и всех остальных компонентов на основе вакуумных трубок было тепловыделение. Трубки приходилось охлаждать при помощи радиаторов, воздуха и даже воды. К тому же постоянный нагрев существенно уменьшал время работы — трубки самым натуральным образом деградировали. Под конец срока эксплуатации их приходилось постоянно настраивать и в конечном итоге менять. Можете представить, скольких усилий и средств стоило сервисное обслуживание вычислительных систем?!

Потом наступило время массивов с близко расположенными ферритовыми кольцами — изобретение американских физиков Эн Вэнг и Вэй-Донг Ву, доработанное студентами под управлением Джея Форрестера из Массачусетского технологического университета (MIT). Через центры колец под углом 45 градусов проходили соединительные провода (по четыре на каждое кольцо в ранних системах, по два в более совершенных). Под напряжением провода намагничивали ферритовые кольца, каждое из которых могло сохранить один бит данных (намагничено — 1, размагничено — 0).

Джей Форрестер разработал систему, при которой управляющие сигналы для многочисленных сердечников шли всего по нескольким проводам. В 1951 году вышла память на основе магнитных сердечников (прямой аналог современной оперативной памяти). В дальнейшем она заняла достойное место во многих компьютерах, включая первые поколения мейнфреймов компаний DEC и IBM. По сравнению с предшественниками у нового типа памяти практически отсутствовали недостатки. Ее надежности хватало для функционирования в военных и даже космических аппаратах. После крушения шаттла «Челленджер», которое привело к смерти семи членов его экипажа, данные бортового компьютера, записанные в памяти с магнитными сердечниками, остались в полной целости и сохранности.

Технологию постепенно совершенствовали. Ферритовые кольца уменьшались в размерах, скорость работы росла. Первые образцы функционировали на частоте порядка 1 МГц, время доступа составляло 60 000 нс — к середине 70-х годов оно сократилось до 600 нс.

Дорогая, я уменьшил нашу память

Производители памяти в наше время больше заботятся о внешнем виде своих продуктов — все равно стандарты и характеристики заранее определены в комиссиях вроде JEDEC.

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

Особый вклад в развитие первичной памяти внес доктор Роберт Деннард, сотрудник компании IBM. Он разработал первый чип на транзисторе и небольшом конденсаторе. В 1970 году рынок подстегнула компания Intel (которая появилась всего двумя годами раньше), представив чип памяти i1103 емкостью 1 Кбит. Спустя два года этот продукт стал самым продаваемым полупроводниковым чипом памяти в мире.

Во времена первых Apple Macintosh блок оперативной памяти занимал огромную планку (на фото сверху), тогда как объем не превышал 64 Кб.

Микросхемы высокой степени интеграции быстро вытеснили старые типы памяти. С переходом на следующий уровень развития громоздкие мейнфреймы уступили место настольным компьютерам. Основная память в то время окончательно отделилась от вторичной, оформилась в виде отдельных микрочипов емкостью 64, 128, 256, 512 Кбит и даже 1 Мбит.

Наконец, микросхемы первичной памяти переехали с материнских плат на отдельные планки, это сильно облегчило установку и замену неисправных компонентов. Частоты начали расти, время доступа уменьшаться. Первые синхронные динамические чипы SDRAM появились в 1993 году, их представила компания Samsung. Новые микросхемы работали на частоте 100 МГц, время доступа равнялось 10 нс.

С этого момента началось победоносное шествие SDRAM, а к 2000 году этот тип памяти вытеснил всех конкурентов. Определением стандартов на рынке оперативки занялась комиссия JEDEC (Joint Electron Device Engineering Council). Ее участники сформировали спецификации, единые для всех производителей, утвердили частотные и электрические характеристики.

Дальнейшая эволюция не так интересна. Единственное значимое событие произошло в 2000 году, когда на рынке появилась оперативная память стандарта DDR SDRAM. Она обеспечила удвоенную (по сравнению с обычной SDRAM) пропускную способность и создала задел для будущего роста. Вслед за DDR в 2004 году появился стандарт DDR2, который до сих пор пользуется наибольшей популярностью.

В современном IT-мире фразой Patent Troll (патентный тролль) называют фирмы, которые зарабатывают деньги на судебных исках. Они мотивируют это тем, что другие компании нарушили их авторские права. Целиком и полностью под это определение попадает разработчик памяти Rambus.

С момента основания в 1990 году Rambus занималась лицензированием своих технологий сторонним компаниям. К примеру, ее контроллеры и микросхемы памяти можно найти в приставках Nintendo 64 и PlayStation 2. Звездный час Rambus настал в 1996 году, когда Intel заключила с ней соглашение на использование в своих продуктах памяти RDRAM и разъемов RIMM.

Сначала все шло по плану. Intel получила в свое распоряжение продвинутую технологию, а Rambus довольствовалась партнерством с одним из крупнейших игроков IT-индустрии. К сожалению, высокая цена модулей RDRAM и чипсетов Intel поставили крест на популярности платформы. Ведущие производители материнских плат использовали чипсеты VIA и платы с разъемами под обычную SDRAM.

Rambus поняла, что на этом этапе она проиграла рынок памяти, и начала свои затяжные игры с патентами. Первым делом ей под руку попалась свежая разработка JEDEC — память стандарта DDR SDRAM. Rambus накинулась на нее, обвинив создателей в нарушении авторских прав. В течение некоторого времени компания получала денежные отчисления, однако уже следующее судебное разбирательство с участием Infineon, Micron и Hynix расставило все по своим местам. Суд признал, что технологические наработки в области DDR SDRAM и SDRAM не принадлежат Rambus.

С тех пор общее количество исков со стороны Rambus к ведущим производителям оперативки превысило все мыслимые пределы. И, похоже, такой образ жизни компанию вполне устраивает.

Добавление (обновление) оперативной памяти в систему - одно из самых полезных, а также, одно из наименее дорогих возможных обновлений. Особенно если учесть повышение производительности Windows, Linux и их приложений, при предоставлении им доступа к большему объёму памяти.

Обновление оперативной памяти

В некоторых случаях, удвоение оперативной памяти может практически удвоить скорость работы компьютера. Но это не всегда оправдано, так как добавление памяти, в которой вы в действительности не нуждаетесь, будет стоить денег и сил, а увеличение скорости получится маленьким или совсем никаким. Лучшая философия при добавлении ОЗУ на компьютер - «чем больше тем лучше, но, не больше, чем поддерживает компьютер».

Максимальный объем физической оперативной памяти системы определяется несколькими факторами. Во-первых, адресуемой самим процессором суммой, которая базируется на количестве физических адресов строк в чипе. Первоначальные процессоры ПК (8086/8088) имели 20 адресных строк, в результате чего эти чипы могли распознавать до 1 МБ (220 байт) оперативной памяти. 286/386SX увеличили пропускную способность памяти до 24 строк, что позволило им адресовать 16 МБ (224 байта). Более современные процессоры x86 имеют 32-36 адресных строк, в результате от 4 ГБ до 64 ГБ адресной ОЗУ. Современные процессоры x86-64 (64-разрядные) имеют 40 адресных строк, что обеспечивает максимум 1 ТБ (1 терабайт) поддерживаемой физической памяти.

Оперативный режим работы процессора может ограничивать адресность памяти. Например, когда процессор работает в оперативном режиме реального времени, поддерживается только 1 МБ памяти.

Обратите внимание, хотя современные 64-разрядные процессоры могут обрабатывать до 1 ТБ, современные материнские платы или чипсеты обычно ограничивают максимальный объем оперативной памяти до 8 ГБ, 16 ГБ, 32 ГБ, 64 ГБ или 128 ГБ. Также имеет эффект и тип программного обеспечения. 32-разрядные версии Windows поддерживают максимальный объём памяти до 4 ГБ (всего около 3,5 ГБ для программ), в то время как 64-разрядные версии, в зависимости от выпуска, поддерживают 8 ГБ, 16 ГБ или 192 ГБ.

Если вы запустите Windows XP, вы должны установить как минимум 256 МБ, а предпочтительно 512 МБ - 1 ГБ или более, в зависимости от используемых приложений. Если запускается 32-разрядная Windows 7/8.1/10, абсолютный минимум согласно Microsoft должен быть 512MB, но рекомендуется минимум 1 ГБ, предпочтительно 2 - 4 ГБ и больше. 64-разрядные версии Windows 7 и Windows 8/8.1/10 имеют минимум 2 ГБ, но лучше работают с 4 ГБ или более.

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

Например, если вы сильный пользователь, с одновременно подключёнными к вашей системе четырьмя или более дисплеями и каждая из них имеет несколько открытых приложений, или вы запускаете приложения с интенсивной затратой памяти, такие как программы для редактирования фото и видео, или если вы используйте для одновременного запуска нескольких ОС (каждая из них с открытыми приложениями) виртуальный компьютер (VMM) Virtual PC или VMware, вам может понадобиться обновление оперативной памяти на столько, сколько вы сможете установить.

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

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

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

Опции обновления и стратегии

Добавление, обновление оперативной памяти может стать недорогим решением. Стоимость основной памяти, по сравнению с другими компонентами системы, крайне низка и добавление большей памяти может дать большой импульс производительности вашего компьютера.

Как добавить, обновить оперативную память для вашего ПК. У вас есть два варианта. Они перечислены в порядке удобства и стоимости:

  • Добавление памяти в свободные слоты на вашей материнской плате
  • Замена текущей системной памяти на память большей ёмкости

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

Обязательно, тщательно взвесьте свои будущие потребности в скорости вычислений и многозадачности ОС с суммой денег, которую вы тратите на обновление текущего оборудования. Как понять достаточно у вас памяти, или нет? Лучший способ - запустить самые требовательные приложения (все это будет открыто одновременно и с самыми большими вашими опциями данных), а затем проверьте использование памяти с помощью диспетчера задач Windows (taskmgr.exe). В запущенном диспетчере задач откройте вкладку «Производительность» и посмотрите количество используемой физической памяти в сравнении с доступной суммой. В Windows 7/8.1/10 использование памяти отображается как в процентах от общего количества, так и суммой.

диспетчер_задач_Windows7

Диспетчер задач Windows 7, отображающий использование физической памяти 18% или 2.85 ГБ, в системе с установленным 16 ГБ.

диспетчер_задач_WindowsXP

Диспетчер задач Windows XP, показывающий использование физической памяти 47% или 1.63 ГБ, в системе с объёмом около 3,5 ГБ (из 4 ГБ).

Если вы видите, что используется больше чем 80% от общего количество физической памяти, то можно добавить больше памяти. В обоих этих примерах количество установленной памяти более чем достаточно для запуска открытых одновременно приложений. На самом деле, система с установленными 16 ГБ нормально работала бы и с 8 ГБ или меньше, и обновление оперативной памяти здесь не требуется.

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

Если вам необходимо заменить дефектный модуль памяти или добавить в систему больше памяти, для определения правильного модуля к вашей системе, у вас есть несколько способов:

  1. Проверить установленные в вашей системе модули. Каждый модуль имеет маркировку, где указана его ёмкость и скорость. Вы можете записать маркировку на модуле памяти и использовать её для определения типа требуемой памяти. Обратитесь за помощью в местный магазин или к онлайн поставщику памяти.
  2. Проверить свою систему, используя предоставленную вашим предпочтительным поставщиком онлайн утилиту конфигурации памяти. Первоначально, эти утилиты конфигурирования были в основном для пользователей систем с именем брендом . Однако большинство поставщиков теперь добавили в свои базы данных основные модели материнских плат. Поэтому если вы знаете бренд и модель своей системы или системной платы, можете найти рекомендуемую память.
  3. Загрузите и запустите программу анализа, которую предоставляет производитель модулей памяти или сторонняя организация. CPU-Z и аналогичные программы для определения этой информации используют чипы SPD на каждый модуль.
  4. Обратитесь к документации по вашей системе. Приводим этот вариант последним. Если вы установили обновления BIOS, вы можете использовать большую и более быструю память, чем описаны в документации как поддерживаемые вашей системой. Для определения связанных с памятью функций, вы должны просмотреть доступную в Интернете новейшую техническую информацию и документацию для вашей системы, и проверить установленную в вашей системе версию BIOS. Обновление BIOS может позволить вашей системе использовать более быструю память.

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

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

Бит PCD запрещает ( PCD = 1 ) или разрешает ( PCD = 0 ) кэширование страницы. Запрещение кэширования необходимо для страниц, которые содержат порты ввода/вывода с отображением на память . Оно также полезно для страниц, кэширование которых не дает выигрыша в быстродействии, например, страниц, содержащих программу инициализации.

Бит PWT определяет метод обновления ОЗУ и внешней кэш -памяти ( кэш 2-го уровня). Если PWT = 1 , то для данных в соответствующей странице определяется кэширование со сквозной записью, при PWT = 0 применяется способ обратной записи. Используется в микропроцессорах начиная с Pentium. Так как внутренняя кэш - память в МП i486 работает со сквозной записью, состояние бита PWT на нее не влияет. Бит PWT в этом случае действует только на внешнюю КП.

Обеспечение согласованности кэш-памяти микропроцессоров в мультипроцессорных системах

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

Структура мультимикропроцессорной системы с общей оперативной памятью


Рис. 4.4. Структура мультимикропроцессорной системы с общей оперативной памятью

Предположим, что МП А считал некоторую строку данных из ОЗУ в свою внутреннюю КП и изменил данные в этой строке в процессе работы.

Мы отмечали, что существует два основных механизма обновления оперативной памяти:

  1. сквозная запись, которая подразумевает, что как только изменилась информация во внутренней кэш-памяти, эта же информация копируется в то же место оперативной памяти, и
  2. обратная запись, при которой микропроцессор после изменения информации во внутреннем кэше отражает это изменение в оперативной памяти не сразу, а лишь в тот момент, когда происходит вытеснение данной строки из кэш-памяти в оперативную. То есть существуют определенные моменты времени, когда информация, предположим, по адресу 2000 имеет разные значения: микропроцессор ее обновил, а в оперативной памяти осталось старое значение. Если в этот момент другой микропроцессор (МП В), использующий ту же оперативную память, обратится по адресу 2000 в ОЗУ , то он прочитает оттуда старую информацию, которая к этому времени уже не актуальна.

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

Существует два класса протоколов когерентности :

  • протоколы на основе справочника ( directory based ): информация о состоянии блока физической памяти содержится только в одном месте, называемом справочником (физически справочник может быть распределен по узлам системы);
  • протоколы наблюдения ( snooping ): каждый кэш, который содержит копию данных некоторого блока физической памяти, имеет также соответствующую копию служебной информации о его состоянии; централизованная система записей отсутствует; обычно кэши расположены на общей шине , и контроллеры всех кэшей наблюдают за шиной (просматривают ее), чтобы определять, какие обращения по адресам в пределах этого блока происходят со стороны других микропроцессоров.

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

Для поддержания когерентности применяется два основных метода.

Один из методов заключается в том, чтобы гарантировать, что процессор должен получить исключительные права доступа к элементу данных перед выполнением записи в этот элемент данных . Этот тип протоколов называется протоколом записи с аннулированием ( write invalidate protocol ), поскольку при выполнении записи он аннулирует другие копии. Это наиболее часто используемый протокол как в схемах на основе справочников, так и в схемах наблюдения. Исключительное право доступа гарантирует, что во время выполнения записи не существует никаких других копий элемента данных, в которые можно писать или из которых можно читать: все другие кэшированные копии элемента данных аннулированы.

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

Этот тип протокола называется протоколом записи с обновлением ( write update protocol ), или протоколом записи с трансляцией ( write broadcast protocol ).

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

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

Рассмотрим один из наиболее распространенных протоколов, обеспечивающих согласованную работу кэш -памяти нескольких микропроцессоров и основной памяти в мультимикропроцессорных системах, протокол MESI, который относится к группе протоколов наблюдения с аннулированием. Будем знакомиться с ним на примере двухпроцессорной системы, состоящей из микропроцессоров A и B.

Этот протокол использует 4 признака состояния строки кэш -памяти микропроцессора, по первым буквам которых и называется протокол:

  • измененное состояние ( Modified ): информация, хранимая в кэш-памяти микропроцессора А, достоверна только в этом кэше; она отсутствует в оперативной памяти и в кэш-памяти других микропроцессоров;
  • исключительная копия ( Exclusive ): информация, содержащаяся в кэше А, содержится еще только в оперативной памяти;
  • разделяемая информация ( Shared ): информация, содержащаяся в кэше А, содержится в кэш-памяти по крайней мере еще одного МП, а также в оперативной памяти;
  • недостоверная информация ( Invalid ): в строке кэш-памяти находится недостоверная информация.

Таким образом, состояние признаков потокола MESI отражает следующие состояния (по отношению к МПА) строки кэш -памяти (табл. 4.2):

При работе микропроцессора А с точки зрения обеспечения когерентности памяти возможны следующие ситуации:

  • RH ( Read Hit ) - кэш-попадание при чтении;
  • WH ( Write Hit ) - кэш-попадание при записи;
  • RME ( Read Miss Exclusive ) - кэш-промах при чтении;
  • RMS ( Read Miss Shared ) - кэш-промах при чтении, но соответствующий блок есть в кэш-памяти другого микропроцессора;
  • WM ( Write Miss ) - кэш-промах при записи;
  • SHR ( Snoop Hit Read ) - обнаружение копии блока при прослушивании операции чтения другого кэша;
  • SHW ( Snoop Hit Write ) - обнаружение копии блока при прослушивании операции записи другого кэша.

Наибольший интерес здесь представляют две последние позиции.

Современные микропроцессоры имеют двунаправленную шину адреса.

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

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

MESI-диаграмма обеспечения когерентности кэш-памяти


Рис. 4.5. MESI-диаграмма обеспечения когерентности кэш-памяти

Проиллюстрируем некоторые из представленных переходов.

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

При этом состояние строки в кэш -памяти рассматриваемого микропроцессора изменится с модифицированного на разделяемое ( Shared ).

Если строка кэш -памяти находилась в состоянии Invalid , то есть информация в ней была недостоверной, то по отношению к этой строке следует рассматривать только ситуации, связанные с кэш-промахами. Так, если произошел кэш-промах при выполнении операции записи, то необходимая строка будет занесена в кэш - память данного МП, в эту строку будут записаны измененные данные, и она приобретет статус исключительного владельца новой информации ( Modified ).

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

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

Как работает оперативная память и зачем она нужна - иконка статьи

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

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

  • Вводная
  • Общее
  • Как же работает оперативная память?
  • Подробнее
  • Зачем нужна эта самая оперативная память?
  • Компоновка модулей
  • Температура, лаг, энергозависимость и вообще "на пальцах"
  • Послесловие

Вводная

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

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

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

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

Общее

ОЗУ (оперативное запоминающее устройство), оно же 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 -разрядная Windows 8 заявляет поддержку поистине колоссальных объемов – я даже не осмеливаюсь озвучить эту цифру. Чуть подробнее про разрядность мы писали тут.

Что это такое разобрались.

Дальше, на очереди, как и гласил заголовок, у нас не менее интересный вопрос:

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

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

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

Данные, записанные в оперативной памяти, передаются в 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. РСВ – печатная плата. На ней распаиваются остальные компоненты модуля. От качества зачастую зависит результат разгона: на разных платах одинаковые чипы могут вести себя по-разному.

Теперь обощая, упрощая.

Температура, лаг, энергозависимость и вообще "на пальцах"

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

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

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

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

Чтобы избежать потери сохранённых данных, они должны регулярно обновляться, чтобы восстановить заряд (если он есть) до первоначального уровня. Этот процесс обновления включает чтение каждого бита, а потом запись его обратно. Это происходит не целиком, а блоками. В процессе такого «обновления» память занята и не может выполнять обычные операции, такие как запись или хранение битов. В общем случае из-за этого обновления память тормозит каждые 7,8 мкс.

Послесловие

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

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

Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

Читайте также: