Встроенный контроллер памяти. Контроллеры памяти могут защитить память пк

27.06.2020

Памятью называется устройство, предназначенное для записи (хранения) и считывания информации.

В памяти контроллера хранятся:

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

Свойства памяти. Память характеризуется:

  1. Объем памяти (KВ, MВ или GВ).
  2. Скорость или время обращения к памяти.
  3. Энергозависимость. Поведение после отключения питания .

Рис. 3.4 Виды памяти (рисунок автора) .

Оперативная память (RAM - random access memory ).

Преимущество.

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

Недостаток.

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

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

Элементом оперативной памяти является электронный триггер (статическая память) или электрический конденсатор (динамическая память).

Рис. 3.5 Триггер - основной элемент RAM памяти (рисунок автора) .

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

Матрица памяти представляет собой совокупность отдельных ячеек памяти – триггеров.

1 ряд матрицы содержит 8 ячеек памяти (8 Bit соответствует 1 Byte).

Каждая ячейка памяти имеет свой уникальный адрес (№ ряда «точка» № бита).

Ряды (биты) нумеруются справа налево от «0» до «7».

Строки (байты) нумеруются сверху вниз, начиная с «0».

Рис. 3.6 Матрица памяти (рисунок автора) .

Постоянная память (ROM - read only memory ) предназначена для продолжительного хранения информации. Основным отличием от оперативной памяти является то, что она способна сохранять информацию без источника питания , т.е. является энергонезависимой.

Эта память, в свою очередь, подразделяется на два типа: однократно (ROM) – и многократно перепрограммируемую (PROM) .

Перепрограммируемую память записывает пользователь с помощью программаторов. Для этого необходимо предварительно стереть содержимое памяти.

К старому типу перепрограммируемой памятиотноситься ЕPROM - память, стираемая ультрафиолетовыми лучами (EPROM - erasable programmable read only memory ).

Рис. 3.7 Память ЕPROM стирается ультрафиолетовыми лучами (источник http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Eprom.jpg) .

EEPROM (Electrically Erasable Programmable Read-Only Memory ) - электрически стираемое перепрограммируемое постоянное запоминающее устройство (ЭСППЗУ), один из видов энергонезависимой памяти (таких как PROM и EPROM ). Память такого типа может стираться и заполняться данными до миллиона раз.

На сегодняшний день классическая двух - транзисторная технология EEPROM практически полностью вытеснена NOR флэш-памятью. Однако название EEPROM прочно закрепилось за этим сегментом памяти независимо от технологии.

Рис. 3.8 Программирование флеш-памяти.

(источник http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Flash_programming_ru.svg ).

Флеш-память (flash memory ) - разновидность твердотельной полупроводниковой энергонезависимой перезаписываемой памяти.

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

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

Условное деление областей памяти контроллера

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

Загрузочная память – это энергонезависимая память для программы пользователя,

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

Рабочая память – это энергозависимая память. Контроллер копирует некоторые элементы проекта из загрузочной памяти в рабочую память. Эта область памяти теряется при отключении питания, а при возвращении питания контроллер ее восстанавливает.

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


Восстановление информации

Рис. 3.9 Фазы восстановления информации (рисунок автора).

1. Информация о состоянии процесса управления, сохраненная в оперативную память, называется образом процесса управления POU . Т.е. все физические клеммы блока входа- выхода имеют виртуальных двойников (триггеры) в памяти контроллера. Обычно, для увеличения скорости обмена информацией, процессор обращается за информацией в оперативную память (а не к физическим клеммам входа/ выхода). Запись результатов обработки программы из образа процесса в клеммы выхода производится циклично.

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

  • Что называется матрицей памяти?
  • Сколько ячеек памяти в одном ряду матрицы памяти?
  • Как нумеруются столбцы матрицы памяти (направление и диапазон)?
  • На какие основные типы подразделяется память контроллера (назовите только два типа)?
  • Какими преимуществами обладает один тип памяти перед другим (два ответа)?
  • На какие типы подразделяется оперативная память контроллера (2)?
  • На какие типы подразделяется постоянная память по кратности программирования (2)?
  • На какие типы подразделяется перепрограммируемая постоянная память по способу стирания (2)?
  • Откуда появляется информация в RAM при включение питания контроллера?
  • Пропадает ли вся информация из RAM при выключении питания (если не пропадает, то куда и какая информация сохраняется)?
  • Как называется информация о состоянии клемм входа/ выхода в оперативной памяти?
  • С каким блоком памяти, в основном, работает процессор?

  • В этом сезоне мы уже могли убедиться в том, что Intel больше не брезгует перенимать у AMD некоторые прогрессивные идеи. В частности, совместимость наборов команд AMD64 и IA-32e многими трактуется именно так. AMD же никогда не брезговала использовать продвигаемые Intel технологии - даже в современный период относительной независимости она ратует за скорейшее внедрение поддержки SSE3 в своих процессорах.

    реклама

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

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

    реклама

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

    Остается лишь подождать пару лет, чтобы убедиться в достоверности этой информации или ее ложности:).

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

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

    Типы памяти

    Начнём с типов памяти. Сегодня на рынке представлены три поколения памяти: SDRAM DDR, SDRAM DDR II, SDRAM DDR III, отличающимися друг от друга, по большему счёту только быстродействием. Так же существуют разные типы памяти, ориентированные в первую очередь на два типа платформ: домашние и серверные. Для домашних ПК используется обычная DIMM SDRAM DDR (II, III) память, для серверных же память типа registered, buffered и пришедшей им на смену full buffered (FBDIMM). Отличаются последние три от обычных модулей повышенной надёжностью целостности данных, а именно, наличием специальных буферов для хранения избыточной информации, системой коррекции ошибок, и контролем контрольных сумм, обеспечивается это использованием дополнительных чипов на планках памяти. Все эти меры призваны гарантировать повышенную надежность данных, но к сожалению дополнительная точка на пути данных отрицательно сказывается на быстродействии памяти.

    Объём памяти

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

    Тактовая частота RAM

    Как и во многих других устройствах ПК, в быстродействии ОЗУ играет роль ее тактовая частота. В случае с оперативной памятью, тактовая частота - основной показатель быстродействия модуля памяти. Предшествующая памяти DDR - SDR, работала на одинаковой частоте с системной шиной, и за один такт шины FSB выполнялся, один такт памяти, в памяти DDR (Double Data Rate), за один такт системной шины выполняется два такта памяти, что позволяет ей работать на удвоенной частоте.

    Тайминги

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

    В памяти SDRAM для работы с памятью необходимо сначала выбрать чип, с которым будут производиться действия. Делается это командой CS # (Chip Select). Затем выбирается банк и строка. Перед началом работы с любой строкой необходимо её активация. Делается это командой выбора строки RAS # (при выборе строки она активируется). Затем (при операции линейного чтения) выбирается строка командой CAS # (эта же команда инициирует чтение). Затем считываются данные и закрывается строка, совершив предварительный заряд (precharge) банка.

    Обычно в спецификации к памяти есть надписи вида 3-4-4-8 или 5-5-5-15, это сокращённая запись (так называемая схема таймингов) основных таймингов памяти. Эта схема включает в себя задержки CL - Trcd - Trp - Tras соответственно. А теперь подробнее о каждой задержке.

    CL, Cas Latency - минимальное время между подачей команды на чтение (CAS) и началом передачи данных (задержка чтения).

    Trcd, RAS to CAS delay - время, необходимое для активизации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS #) и сигнала на выбор столбца (CAS #).

    Trp, Row Precharge - время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.

    Контроллеры памяти

    Теперь о контроллере памяти. Контроллер памяти установлен не на чипах памяти и даже не на самой планке, тогда почему она рассматривается здесь? Потому что контроллеры памяти располагаются в разных устройствах ПК, их можно найти как на материнской плате, где они изначально и “обитали", так и на процессоре, куда они “переехали” сравнительно недавно. Встроенные в процессор контроллеры памяти используются в ЦПУ компании AMD достаточно давно, а в процессорах от Intel, совсем недавно, с появлением архитектуры Nehalem (процессоры Core i7) и сокета Socket 1366, до этого для процессоров в исполнении socket 775 использовался встроенный в северный мост контроллер памяти. Контроллер памяти не только определяют максимальную частоту и тип памяти, но так же и количество одновременно используемых планок. Ранее использовался один контроллер памяти, позволяющий одновременно работать только с одним модулем памяти, затем компанией nVidia была внедрена идея использования двухканального контроллера памяти, который был способен работать с двумя модулями одновременно, сегодня же в новых процессорах Core i7 используются трёхканальные контроллеры памяти. Хотя работа в таком режиме и требует некоторых особенностей; в слотах разных контроллеров должны быть вставлены если не идентичные, то очень похожие по характеристикам модули, в противном случае контроллер перейдет в одноканальный режим. Поэтому производители ОЗУ стали продавать память комплектами, по два или три модуля, с одинаковыми таймингами, частотами, и выпущенные в одной партии, что тоже кстати немаловажно для нормальной работы.

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

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

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

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

    Контроллеры памяти бывают разных типов. Они различаются на:
    - контроллеры памяти с двойной скоростью передачи данных (DDR);
    - полностью буферизованные контроллеры памяти (FB);
    - двуканальные контроллеры (DC).

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

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

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

    Итак, ранее выше мы уже говорили о том, что как команды, так и данные, попадают в процессор из оперативной памяти. На самом деле всё немного сложнее. В большинстве современных x86-систем (то есть компьютеров на базе x86-процессоров), процессор как устройство к памяти обращаться вообще не может, так как не имеет в своем составе соответствующих узлов. Поэтому он обращается к «промежуточному» специализированному устройству, называемому контроллером памяти, а уже тот, в свою очередь - к микросхемам ОЗУ, размещенным на модулях памяти. Модули вы наверняка видели - это такие длинные узкие текстолитовые «планочки» (фактически - небольшие платы) с некоторым количеством микросхем на них, вставляемые в специальные разъемы на системной плате. Роль контроллера ОЗУ, таким образом, проста: он служит своего рода «мостом»* между памятью и использующими ее устройствами (кстати, к ним относится не только процессор, но об этом - чуть позже). Как правило, контроллер памяти входит в состав чипсета - набора микросхем, являющегося основой системной платы. От быстродействия контроллера во многом зависит скорость обмена данными между процессором и памятью, это один из важнейших компонентов, влияющих на общую производительность компьютера.

    * - кстати, контроллер памяти физически находится в микросхеме чипсета, традиционно называемой «северным мостом».

    Процессорная шина

    Любой процессор обязательно оснащён процессорной шиной, которую в среде x86 CPU принято называть FSB (Front Side Bus). Эта шина служит каналом связи между процессором и всеми остальными устройствами в компьютере: памятью, видеокартой, жёстким диском, и так далее. Впрочем, как мы уже знаем из предыдущего раздела, между собственно памятью и процессором находится контроллер памяти. Соответственно: процессор посредством FSB связывается с контроллером памяти, а уже тот, в свою очередь, по специальной шине (назовём её, не мудрствуя лукаво, «шиной памяти») - с модулями ОЗУ на плате. Однако, повторимся: поскольку «внешняя» шина у классического x86 CPU всего одна, она используется не только для работы с памятью, но и для общения процессора со всеми остальными устройствами.

    Различия между традиционной для x86 CPU архитектурой и K8/AMD64

    Революционность подхода компании AMD состоит в том, что её процессоры с архитектурой AMD64 (и микроархитектурой, которую условно принято называть «K8») оснащены множеством «внешних» шин. При этом одна или несколько шин HyperTransport служат для связи со всеми устройствами кроме памяти, а отдельная группа из одной или двух (в случае двухканального контроллера) шин - исключительно для работы процессора с памятью. Преимущество интеграции контроллера памяти прямо в процессор, очевидно: «путь от ядра до памяти» становится заметно «короче», что позволяет работать с ОЗУ быстрее. Правда, имеются у данного подхода и недостатки. Так, например, если ранее устройства типа жёсткого диска или видеокарты могли работать с памятью через выделенный, независимый контроллер - то в случае с архитектурой AMD64 они вынуждены работать с ОЗУ через контроллер, размещённый на процессоре. Так как CPU в данной архитектуре является единственным устройством, имеющим прямой доступ к памяти. Де-факто, в противостоянии «внешний контроллер vs. интегрированный», сложился паритет: с одной стороны, на данный момент AMD является единственным производителем десктопных x86-процессоров с интегрированным контроллером памяти, с другой - компания вроде бы вполне довольна этим решением, и не собирается от него отказываться. С третьей - Intel тоже не собирается отказываться от внешнего