Оперативная память современных компьютеров содержит триггеров сколько
Триггер (от англ. trigger — защёлка, спусковой крючок) — логический элемент, способный хранить один разряд двоичного числа.
Самый простой триггер — RS. Он состоит из двух логических элементов ИЛИ-HE, входы и выходы которых соединены кольцом: выход первого соединён со входом второго и выход второго — со входом первого. Схема RS-триггера представлена на рисунке 4.11.
Рис. 4.11. Логическая схема RS-триггера
Триггер имеет два входа: S (от англ. set — установка) и R (от англ. reset — сброс) и два выхода: Q (прямой) и (инверсный). Принцип его работы иллюстрирует следующая таблица истинности:
Если на входы поступают сигналы R = 0 и S = O, то триггер находится в режиме хранения — на выходах Q и сохраняются установленные ранее значения.
Если на установочный вход S на короткое время поступает сигнал 1, то триггер переходит в состояние 1 и после того, как сигнал на входе S станет равен 0, триггер будет сохранять это состояние, т. е. будет хранить 1.
При подаче 1 на вход R триггер перейдёт в состояние 0.
Подача на оба входа S и R логической единицы может привести к неоднозначному результату, поэтому такая комбинация входных сигналов запрещена.
Триггер используется для хранения информации в оперативной памяти компьютера, а также во внутренних регистрах процессора. Для хранения одного байта информации необходимо 8 триггеров, для килобайта — 8 • 1024 триггеров. Оперативная память современных компьютеров содержит миллионы триггеров.
В целом же компьютер состоит из огромного числа логических устройств, образующих все его узлы и память.
Cкачать материалы урока
В продолжение рубрики "конспект админа" хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей 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), самая известная из всех рассмотренных ранее форм компьютерной памяти. Эту память называют памятью «произвольного доступа» («random access»), поскольку вы можете получить доступ к любой ее ячейке непосредственно. Для этого достаточно знать строку и столбец, на пересечении которых находится нужная ячейка. Известны два основных вида оперативной памяти: динамическая и статическая. Сегодня мы подробно рассмотрим принцип «дырявого ведра», на котором основана динамическая память. Некоторое внимание будет уделено и статической памяти, быстрой, но дорогой.
Из чего состоит оперативная память?
Теперь вернемся к нашей памяти, она представляет собой большую группу регистров, которые хранят данные. Существует SRAM (статическая память) и DRAM (динамическая память). В статической памяти регистры представлены в виде триггеров, а в динамический в виде конденсаторов, которые со временем могут терять заряд. Сегодня в ОЗУ используется именно DRAM, где каждая ячейка — это транзистор и конденсатор, который при отсутствии питания теряет все данные. Именно поэтому, когда мы отключаем компьютер, оперативная память очищается. Все драйвера и другие важные программы компьютер в выключенном состоянии хранит на SSD, а уже при включении он заносит необходимые данные в оперативную память.
Вам наверняка будет интересно узнать виды оперативной памяти. На эту тему у нас есть отличный материал
Ячейка динамической оперативной памяти, как уже было сказано выше, состоит из конденсатора и транзистора, хранит она 1 бит информации. Точнее, саму информацию хранит конденсатор, а за переключения состояния отвечает транзистор. Конденсатор мы можем представить в виде небольшого ведерка, который наполняется электронами при подаче тока. Подробнее работу динамической оперативной памяти мы рассмотрели еще 7 лет назад. С тех пор мало что изменилось в принципах её работы. Если конденсатор заполнен электронами, его состояние равно единице, то есть на выходе имеем 1 бит информации. Если же нет, то нулю.
Статическая оперативная память
Хотя статическая оперативная память (подобно динамической) является памятью произвольного доступа, она основана на принципиально иной технологии. Триггерная схема этой памяти позволяет удерживать каждый бит сохраненной в ней информации. Триггер каждой ячейки памяти состоит из четырех или шести транзисторов и содержит тончайшие проводки. Эта память никогда не нуждается в обновлении заряда. По этой причине, статическая оперативная память работает существенно быстрее динамической. Но поскольку она содержит больше компонентов, ее ячейка намного крупнее ячейки динамической памяти. В итоге чип статической памяти будет менее емким, чем динамической.
Статическая оперативная память быстрее, но и стоит дороже. По этой причине статическая память используется в кэше центрального процессора, а динамическая в качестве системной оперативной памяти компьютера. Более подробно о статической памяти написано в разделе «Кэш-память и регистр процессора» материала, посвященного преодолению ограничений компьютерной памяти.
В современном мире чипы памяти комплектуются в компонент, именуемый модулем. Порой компьютерные специалисты называют его «планкой памяти». Один модуль или «планка» содержит несколько чипов памяти. Не исключено, что вам приходилось слышать такие определения, как «память 8×32» или «память 4×16». Разумеется, цифры могли быть иными. В этой простой формуле первым множителем является количество чипов в модуле, а вторым емкость каждого модуля. Только не в мегабайтах, а в мегабитах. Это значит, что результат действия умножения следует разделить на восемь, чтобы получить объем модуля в привычных нам мегабайтах.
К примеру: 4×32 означает, что модуль содержит четыре 32-мегабитных чипа. Умножив 4 на 32, получаем 128 мегабит. Поскольку нам известно, что в одном байте восемь бит, нам нужно разделить 128 на 8. В итоге узнаем, что «модуль 4×32» является 16-мегабайтным и устарел еще в конце минувшего века, что не мешает ему быть превосходным простым примером для тех вычислений, которые нам потребовались.
Тема оперативной памяти настолько обширна, что мы вернемся к ней еще. Нам предстоит узнать о том, какие бывают типы оперативной памяти и как устроен ее модуль. Продолжение следует…
Оперативная память (ОЗУ) является одним из важнейших компонентов компьютера, который напрямую влияет на эффективность его работы. В данной публикации мы рассмотрим, какая бывает оперативная память и на какие основные характеристики ОЗУ стоит обратить внимание при выборе. А также рассмотрим, какие бывают типы оперативной памяти, что такое частота, и на что влияют тайминги, но обо всем по порядку ниже.
Основные параметры ОЗУ
Форм-фактор
На сегодняшний день существует два основных форм-фактора ОЗУ. Первый имеет маркировку DIMM – это более габаритная память в основном применяется в стационарных ПК. Второй стандарт называется SO-DIMM – это более компактная память, обычно она применяется в ноутбуках, в редких случаях в моделях ПК в компактном корпусе.
Стандарты оперативной памяти
На сегодняшний день в данном разделе следует упомянуть о двух последних стандартах. Это более старая память стандарта DDR 3 и, соответственно, более новый стандарт DDR 4. Конечно, если вы выбираете память на уже существующую платформу, то нужно исходить из поддерживаемых стандартов материнской платы. Но если вы находитесь на этапе выбора ПК, то конечно следует отдать предпочтение памяти DDR4, она обладает более высокими скоростными характеристиками, а также является более энергоэффективной, к примеру, по сравнению с DDR 3 она эффективнее на 20-30 процентов. Кстати, благодаря новым технологиям на одной планке DDR 4 могут разместиться чипы с общим объемом памяти до 128 ГБ (конечно в бытовом использовании таких планок не встретить). Что касается стандарта DDR 3, он в основном сейчас используется для увеличения производительного потенциала устаревающих ПК. DDR3 и DDR4 отличаются между собой размещением контактов.
Объем памяти и ОС
Ранее на компьютерах устанавливалась 32-разрядные операционные системы, которые неспособны распознать и использовать более 4 Гб оперативной памяти в независимости, сколько физически мы установим памяти в ПК. В современных 64-разрядных операционных системах есть возможность установить в разы больше памяти, к примеру, Windows 10 имеет поддержку до 512 Гб ОЗУ, что на практике в бытовых задачах еще не используется, и дает нам огромный своего рода потенциальный запас.
Объем памяти и материнская плата
Также не маловажным моментом при желании приобрести максимальный объем памяти для вашего ПК, является возможность совместимости с вашей материнской платой. Эти данные можно найти на самой материнской плате или в ее спецификации. Если спецификация утеряна ее электронный вариант можно найти в интернете. Еще одним способом узнать все характеристики вашего ПК и материнской платы в частности являются использование специальных утилитов, к примеру программы AIDA64.
Частота
Частота ОЗУ условно отображает, сколько происходит операций по пересылке данных за одну секунду. Соответственно чем выше частота, тем лучше. К примеру, максимальная частота на ОЗУ DDR 3 составляла 1866 MHz (в крайне редких отдельных случаях достигала 2133 MHz). А вот рабочая частота памяти DDR 4 составляет 2133–3200 MHz. Также при выборе следует помнить и учитывать какую частоту поддерживает ваш процессор и материнская плата. Если приобрести более скоростную память и установить на материнскую плату с поддержкой более низкой частоты, память не сможет реализовать свой потенциал, и автоматически будет работать с более низкой частотой. Поэтому при выборе обязательно обращайте внимание на этот момент, чтобы не переплатить деньги в пустую.
Пропускная способность
Пропускания способность ОЗУ, по сути, является комплексной характеристикой, которая рассчитывается как произведение объема данных, передаваемых за один такт, на частоту системной шины. Для наглядности ниже я добавил небольшую таблицу. К примеру, возьмем чип из таблицы DDR4-3200, он соответствует модулю PC4-25600. Таким образом, получается, что пропускная способность данной ОЗУ равна 25600. Чем выше пропускная способность, тем лучше.
Тайминги
В процессе работы ОЗУ, системе приходится выполнять своего рода подготовку к последующему обмену данными, как раз количество циклов для завершения этого процесса и характеризует показатель таймингов. Процесс подготовки данных делится на четыре этапа, задержка на каждом из которых и отображается в характеристиках таймингов. Углубляться в этих этапах я не буду, да и особого смысла в этом нет. Главное здесь нужно понимать, чем меньше тайминги, тем быстрее будет работать память. Стоит также добавить, что если вы приобретаете дополнительную планку памяти в ваш ПК, желательно подобрать аналогичные тайминги и частоту. Для примера, ниже на фото изображена планка ОЗУ с таймингами 9-9-9-24. Однако при выборе помните, что это далеко не самая главная характеристика и, на мой взгляд, не стоит сильно заострять на ней внимание.
Режимы подключения ОЗУ
Подключить ОЗУ к материнской плате можно одноканальным и многоканальным способами. Соответственно, чем больше каналов подключения, тем выше скорость работы ОЗУ, память как бы реализует весь свой потенциал. На данный момент в основном все используют двухканальный тип подключения. Для реализации этого режима нужно заведомо приобрести две одинаковые по характеристикам планки памяти, желательно от одного производителя, и подключить их в разные по цвету слоты. Если посмотреть на фото ниже, то первый слот будет осуществлять двухканальный режим с третьим, а второй слот соответственно с четвертым.
Охлаждение
Здесь мнения немного разделяются, некоторые считают, что чипы памяти рассчитаны на высокие температуры и если планки памяти изначально не комплектуются системами охлаждения, то они не требуются. Я считаю, что лишним охлаждение никогда не будет, и желательно сразу приобрести память со специальными алюминиевыми радиаторами для отвода лишнего тепла. При желании такие радиаторы можно приобрести отдельно. Также следует добавить, что радиаторы охлаждения могут быть оснащены декоративным освещением.
Какой объем памяти обычно используется в ПК
Сейчас еще можно встретить компьютеры с объемом оперативной памяти от 2 ГБ, но современные модели уже оснащены планками с общим объемом на 16 или 32 Гб.
- К примеру, если вам нужен современный игровой ПК, следует остановиться на объеме памяти от 16 ГБ, по возможности желательно взять память с запасом.
- Для выполнения профессиональных задач в современных графических редакторах или других требовательных программах следует выбрать ПК с объемом ОЗУ от 8 до 16 ГБ.
- Если вам нужен компьютер для решения повседневных задач, просмотра видео и серфинга по интернету, следует остановиться на объеме ОЗУ от 4 до 8 Гб.
Вывод
Подводя итог, скажу, что главное при выборе ОЗУ определится с задачами, которые вы будете выполнять на вашем компьютере. Исходя из этого, подбираем объем памяти, обращая внимание на частоту, пропускную способность и тайминги. Также нужно не забывать о совместимости вашей материнской палаты и ОЗУ. Ну, а на этом все, спасибо, что дочитали публикацию до конца. Больше интересных публикаций вы сможете найти в моем блоге на сайте.
Любые данные в компьютере — это нули и единички. Текст, который вы читаете прямо сейчас, передался с нашего сервера прямо на ваш компьютер и записался в памяти — он представляет собой последовательность нулей и единичек. Прямо сейчас вы смотрите на ваш монитор, который состоит из пикселей и отображает наш сайт. Изображение — это тоже нули и единицы. Видео — это нули и единицы. Музыка — нули и единицы. Любой контент, доступный на вашем компьютере можно представить в виде нулей и единиц. Но как?
Оперативная память — это сложное устройство, и знать его работу будет полезно каждому
Стоит начать с того, что компьютер понимает только двоичную систему счисления. В жизни мы используем десятичную, так как у нас 10 пальцев и нам она попросту удобнее, но у компьютера нет 10 пальцев — он может работать только с логическими устройствами, которые работают только в двух состояниях — включен или выключен, есть подача тока или нет подачи тока. Если логическое устройство активно, значит подача тока есть и бит равен единице, если подачи тока нет, значит бит равен нулю. Бит — это самая маленькая единица измерения. 1 бит может иметь всего два состояния 1 и 0. 1 байт — это 8 бит. Таким образом, если перебрать все возможные комбинации нулей и единиц, получим, что в 1 байте может храниться 256 комбинаций битов или 2 в степени 8. Например, «0000001», «0000010» или «10110010» — любую букву английского алфавита можно представить в виде 8 битов (1 байта).
Двоичный код выглядит именно так!
Благодаря различным кодировкам мы можем представить любую информацию в двоичном виде. То же касается и наших программ, написанных на различных языках программирования. Чтобы запустить какую-либо программу, её необходимо скомпилировать в двоичный код. Таким образом, в двоичном виде можно представлять как данные, так и инструкции (код) для работы с этими данными. Существуют еще и интерпретируемые языки (JavaScript, Python), в этом случае интерпретатор по ходу выполнения программы анализирует код и компилирует его в язык, понятный нашему компьютеру, то есть в последовательность нулей и единиц, и в этом случае нет необходимости компилировать программу каждый раз при желании запустить её.
Как работает процессор?
Нельзя говорить о памяти, не сказав пару слов о процессоре. Процессор и оперативной память довольно похожи, так как в обоих случаях используются логические устройства, которые могут принимать лишь два состояния. Однако процессор выполняет задачи, связанные с вычислениями. Для этого у него имеется устройство управления — именно на него поступают наши инструкции, арифметико-логическое устройство — оно отвечает за все арифметические операции (сложение, вычитание и так далее) и регистры.
Помимо оперативной памяти, в компьютере имеется кэш-память. Если вам интересна эта тема, можете изучить наш недавний материал.
Так как инструкции, поступающие на процессор, работают с данными из памяти, эти данные нужно где-то хранить. Брать их постоянно из оперативной памяти — слишком долго, поэтому в процессоре имеется своя память, представленная в виде нескольких регистров — она является самой быстрой памятью в компьютере.
Что такое регистр? Регистр в процессоре представлен в виде триггера, который может хранить 1 бит информации. Триггер — это один из множества логических элементов в микрочипах. Благодаря своей логике он способен хранить информацию. Вот так выглядит D-триггер:
Это D-триггер и он способен хранить информацию. Каждое простейшее логическое устройство, включая D-триггер, состоит из логических операций. На фото выше можно заметить знак «&» — это логическое И
Таблица истинности для логического «И»
Верхний переключатель «D» в D-триггере меняет значение бита, а нижний «C» включает или отключает его хранение. Вам наверняка интересно, как устроен этот «D-триггер». Подробнее работу триггеров вы можете изучить по видеоролику ниже:
Помимо D-триггера, существуют также RS-триггер, JK-триггер и другие. Этой теме посвящена не одна книга, можете изучить логические устройства микрочипов самостоятельно. Было бы неплохо углубиться еще и в тему квантовых процессоров, потому что очевидно, что будущее именно за ними.
Как компьютер запоминает данные в ОЗУ?
Последовательность битов или 1 байт «01000001», записанный в ОЗУ, может означать что угодно — это может быть число «65», буква «А» или цвет картинки. Чтобы операционная система могла понимать, что означают эти биты, были придуманы различные кодировки для разных типов данных: MP3, WAV, MPEG4, ASCII, Unicode, BMP, Jpeg. Например, давайте попытаемся записать кириллическую букву «р» в нашу память. Для этого сначала необходимо перевести её в формат Unicode-символа (шестнадцатеричное число). «р» в Unicode-таблице это «0440». Далее мы должны выбрать, в какой кодировке будем сохранять число, пусть это будет UTF-16. Тогда в двоичной системе Unicode-символ примет вид «00000100 01000000». И уже это значение мы можем записывать в ОЗУ. Оно состоит из двух байт. А вот если бы мы взяли английскую «s», в двоичном виде она бы выглядела вот так «01110011».
Дело в том, что английский алфавит занимает лишь 1 байт, так как в UTF-кодировке он умещается в диапазон чисел от 0 до 255. В 256 комбинаций спокойно вмещаются числа от 0 до 9 и английский алфавит, а вот остальные символы уже нет, поэтому, например, для русских символов нужно 2 байта, а для японских или китайских символов нам понадобится уже 3 и даже 4 байта.
Вот мы и разобрались с тем, как работает оперативная память и как можно записать в неё данные. Понравился материал? Делитесь им с друзьями и давайте обсудим его в нашем чате.
Устройство ячейки динамической оперативной памяти (DRAM)
Структуру памяти можно представить себе в виде трехмерной сетки. Еще проще: в виде листка из школьной тетради в клеточку. Каждая клеточка содержит один бит данных. Сначала определяется столбец, затем данные записываются в определенные строки посредством передачи сигнала по данному столбцу.
Итак, представим себе тетрадный лист. Некоторые клеточки закрашены красным фломастером, а некоторые остались белыми. Красные клеточки это ячейки, состояние которых «1», а белые — «0».
Только вместо листа из тетради в оперативной памяти используется кремниевая пластина, в которую «впечатаны» столбцы (разрядные линии, bitlines) и строки (словарные шины, wordlines). Пересечение столбца и строки является адресом ячейки оперативной памяти.
Динамическая оперативная память передает заряд по определенному столбцу. Этот заряд называют стробом адреса столбца (CAS, Column Adress Strobe) или просто сигналом CAS. Этот сигнал может активировать транзистор любого бита столбца. Управляющий сигнал строки именуется стробом адреса строки (RAS, Row Adress Strobe). Для указания адреса ячейки следует задать оба управляющих сигнала. В процессе записи конденсатор готов принять в себя заряд. В процессе чтения усилитель считывания (sense-amplifier) определяет уровень заряда конденсатора. Если он выше 50 %, бит читается, как «1»; в остальных случаях, как «0».
Осуществляется также обновление заряда ячеек. За порядком обновления следит счетчик. Время, которое требуется на все эти операции, измеряется в наносекундах (миллиардных долях секунды). Если чип памяти 70-наносекундный, это значит, полное чтение и перезарядка всех его ячеек займет 70 наносекунд.
Сами по себе ячейки были бы бесполезны, если бы не существовало способа записать в них информацию и считать ее оттуда. Соответственно, помимо самих ячеек, чип памяти содержит целый набор дополнительных микросхем. Эти микросхемы выполняют следующие функции:
- Идентификации строк и столбцов (выбор адреса строки и адреса ячейки)
- Отслеживание порядка обновления (счетчик)
- Чтение и возобновление сигнала ячейки (усилитель)
- Донесение до ячейки сведений о том, следует ли ей удерживать заряд или нет (активация записи)
У контроллера памяти есть и другие функции. Он выполняет набор обслуживающих задач, среди которых следует отметить идентификацию типа, скорости и объема памяти, а также проверку ее на ошибки.
Ячейка памяти подобна дырявому ведру
Совсем иначе работает память с последовательным доступом (SAM). Как и следует из ее названия, доступ к ячейкам этой памяти осуществляется последовательно. Этим она напоминает пленку в магнитофонной кассете. Когда данные ищутся в такой памяти, проверяется каждая ячейка до тех пор, пока не будет найдена нужная информация. Память этого типа используется для реализации буферов, в частности буфера текстур видеокарт. То есть SAM имеет смысл применять в тех случаях, когда данные будут расположены в том порядке, в котором их предполагается использовать.
Подобно подробно рассмотренному ранее микропроцессору, чип памяти является интегральной микросхемой (ИС, IC), собранной из миллионов транзисторов и конденсаторов. Одним из наиболее распространенных видов памяти произвольного доступа является DRAM (динамическая память произвольного доступа, dynamic random access memory). В ней транзистор и конденсатор спарены и именно они образуют ячейку, содержащую один бит информации. Конденсатор содержит один бит информации, то есть «0» или «1». Транзистор же играет в этой паре роль переключателя (свитча), позволяющего управляющей схеме чипа памяти считывать или менять состояние конденсатора.
Конденсатор можно представить себе в виде небольшого дырявого «ведерка», которое при необходимости заполняется электронами. Если оно заполнено электронами, его состояние равно единице. Если опустошено, то нулю. Проблемой конденсатора является утечка. За считанные миллисекунды (тысячные доли секунды) полный конденсатор становится пустым. А это значит, что или центральный процессор, или контроллер памяти вынужден постоянно подзаряжать каждый из конденсаторов, поддерживая его в наполненном состоянии. Подзарядку следует осуществлять до того, как конденсатор разрядится. С этой целью контроллер памяти осуществляет чтение памяти, а затем вновь записывает в нее данные. Это действие обновления состояния памяти осуществляется автоматически тысячи раз за одну только секунду.
Конденсатор динамической оперативной памяти можно сравнить с протекающим ведром. Если его не заполнять электронами снова и снова, его состояние станет нулевым. Именно эта операция обновления и внесла в название данного вида памяти слово «динамическая». Такая память или обновляется динамически, или «забывает» все, что она «помнила». Есть у этой памяти существенный недостаток: необходимость постоянно обновлять ее требует времени и замедляет работу памяти.
Читайте также: