Процессор с интегрированным контроллером памяти. Интегрированный контроллер памяти и северный мост

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

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

Компьютеры, использующие микропроцессоры Intel традиционно имели контроллер памяти, встроенный в чипсет (северный мост), но многие современные процессоры, такие как DEC /Compaq Alpha 21364, AMD Athlon 64 и Opteron , IBM POWER5 , Sun Microsystems UltraSPARC T1 и процессоры Intel Core i7 имеют интегрированный контроллер памяти, расположенный на том же кристалле, для уменьшения задержки доступа в память. Хотя интеграция увеличивает производительность системы, происходит привязка микропроцессора к какому-то одному типу памяти, не позволяющая сочетать процессоры и память разных поколений. Для использования новых типов памяти требуется выпуск новых процессоров и изменение их разъема (например, после появления DDR2 SDRAM , AMD выпустила процессоры Athlon 64, использовавшие новый сокет Socket AM2).

Интеграция контроллера памяти с процессором не является новой технологией, так, еще в 1990х DEC Alpha 21066 и HP PA-7300LC использовали встроенные контроллеры для снижения стоимости системы.

Задачи

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

Многоканальная память

Полностью буферизованная память FB-DIMM

Примечания


Wikimedia Foundation . 2010 .

  • Контрнаступление Восточного фронта
  • Контроль (значения)

Смотреть что такое "Контроллер памяти" в других словарях:

    Контроллер прерываний - (англ. Programmable Interrupt Controller, PIC) микросхема или встроенный блок процессора, отвечающий за возможность последовательной обработки запросов на прерывание от разных устройств. Содержание 1 PIC 2 APIC … Википедия

    контроллер доступа к памяти - — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN memory access controllerMAC …

    Ячейка памяти ЭВМ - Запрос «ОЗУ» перенаправляется сюда. Cм. также другие значения. Простейшая схема взаимодействия оперативной памяти с ЦП Оперативная память (также оперативное запоминающее устройство, ОЗУ) в информатике память, часть системы памяти ЭВМ, в которую … Википедия

    Программируемый контроллер прерываний - Контроллер прерываний микросхема или встроенный блок процессора, отвечающий за возможность последовательной обработки запросов на прерывание от разных устройств. Английское название Programmable Interrupt Controller (PIC). Как правило… … Википедия

    Прямой доступ к памяти - (англ. Direct Memory Access, DMA) режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия Центрального Процессора (ЦП). В результате скорость передачи увеличивается, так как данные не… … Википедия

    программируемый логический контроллер - ПЛК [Интент] контроллер Управляющее устройство, осуществляющее автоматическое управление посредством программной реализации алгоритмов управления. [Сборник рекомендуемых терминов. Выпуск 107. Теория управления. Академия наук СССР. Комитет научно… … Справочник технического переводчика

    Функциональный контроллер - Схематическое расположение южного моста на системной плате Южный мост (от англ. Southbridge) (функциональный контроллер), также известен как контроллер концентратор ввода вывода от англ. I/O Controller Hub (ICH). Это микросхема, которая реализует … Википедия

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

    Программируемый логический контроллер - Массово применяемый программируемый логический контроллер семейства SIMATIC S7 300 Программируемый логический контроллер (ПЛК) (англ. Programmable Logic Controller, PLC) или программируемый контроллер эле … Википедия

    профессиональный графический контроллер - Контроллер имеет 320 Кбайт памяти. Разрешение — 640х480 элементов изображения. Возможность отображать 256 цветов из палитры, содержащей более 16 млн. оттенков. Тематики информационные технологии в целом EN… … Справочник технического переводчика

Итак, ранее выше мы уже говорили о том, что как команды, так и данные, попадают в процессор из оперативной памяти. На самом деле всё немного сложнее. В большинстве современных 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 тоже не собирается отказываться от внешнего

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

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

  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 при выключении питания (если не пропадает, то куда и какая информация сохраняется)?
  • Как называется информация о состоянии клемм входа/ выхода в оперативной памяти?
  • С каким блоком памяти, в основном, работает процессор?

  • Большая пропускная способность системной памяти, и маленькое значение задержки памяти всегда были актуальны. С момента возникновения AnandTech - с 1997 года – происходит развитие памяти: переход с EDO на SDRAM, с PC66 на PC133, с SDR на DDR, и даже с VC на DRDRAM. Одно лишь использование DDR SDRAM увеличивает производительность Athlon на 20-30 процентов. Кроме того, известно, насколько важно значение задержек при большой пропускной способности памяти. Встает вопрос: если производители процессоров могут выпускать настолько мощные процессоры, почему никто не может для них придумать эффективный способ получения данных из памяти?

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

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

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

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

    Рис. 6. Схема процессора Hammer

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

    Архитектура Hammer обращается к встроенному контроллеру памяти (MCT) и встроенному контроллеру DRAM (DCT). Контроллер памяти представляет собой обобщенный интерфейс между ядром Hammer и контроллером DCT. Этот контроллер понимает, что такое память вообще, но он никоим образом не привязан к конкретному типу используемой памяти. Контроллер памяти подключен к DCT, который представляет собой более специфическое устройство, работающее лишь с определенными типами памяти. Теоретически AMD могла создать Hammer с поддержкой DDR SDRAM, и Hammer с поддержкой RDRAM просто изменив контроллер DTC, но заметим, что пользы от использования RDRAM для Hammer крайне мало. Один из недостатков RDRAM - слишком большие задержки, проявляющиеся довольно часто. Один из способов решения этой проблемы - использование RDRAM совместно с процессорами с длинными конвейерами, как в Pentium 4. Ясно, что конвейер Hammer не такой длинный, и тактовая частота у него не сможет компенсировать задержки RDRAM, как сделано в Pentium 4. Поэтому решение AMD остаться с DDR SDRAM вполне разумно.

    Первые процессоры на архитектуре Hammer обладали либо 64-битным, либо 128-битным контроллером DDR SDRAM. Контроллер DCT может поддерживать тактовые частоты 100, 133, или 166МГц под DDR200, DDR266 или DDR333 SDRAM. AMD ясно дала понять, что в более поздних версиях Hammer DCT контроллер DDR поменяют на контроллер DDR-II.

    Сравнение пропускной способности памяти

    Тип памяти 64-бит DCT 128-бит DCT
    DDR200 1.6Гбайт/с 3,2Гбайт/с
    DDR266 2,1Гбайт/с 4,2Гбайт/с
    DDR333 2,7Гбайти/с 5,4Гбайт/с

    Расположение контроллера памяти непосредственно на кристалле означает ещё и то, что скорость доступа к памяти напрямую зависит от тактовой частоты, так как данные уже попадают в процессор, минуя системную шину. В качестве примера на Microprocessor Forum AMD привела теоретический 2ГГц Hammer с задержкой памяти всего 12 нс (справа вы видите конвейер Hammer). Очевидно, сюда не входит время считывания данных из памяти, но в любом случае, это оказывается намного быстрее работы через внешний северный мост. Итак, AMD собирается увеличить количество инструкций, выполняемых за такт за счет увеличения скорости считывания данных из памяти. В результате этого, исполнительные устройства Hammer будут лучше обеспечены данными, нежели исполнительные устройства Athlon.

    Рис. 8 Время считывания

    данных из памяти

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

    Ниже представлен пример однопроцессорной системы Hammer.

    Рис. 9. Типовая «архитектура» AMD Hammer

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

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

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

    реклама

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

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

    реклама

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

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