Иерархическая организация памяти

Логическая структура памяти, обусловленная особенностями системы адресации процессоров семейства х86. Архитектура унифицированной памяти — UMA. Временные диаграммы чтения и записи динамической памяти, сигналы микросхем. Способы циклов ее регенерации.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 27.01.2018
Размер файла 904,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Иерархическая организация памяти

ИЕРАРХИЧЕСКАЯ ОРГАНИЗАЦИЯ ПАМЯТИ

Память компьютера имеет иерархическую структуру, центральным слоем которой является оперативная память -- ОЗУ или RAM (Random Access Memory -- память с произвольным доступом). Оперативная память непосредственно доступна процессору: в ней хранится исполняемая в данный момент часть программного кода и данные, к которым процессор может обращаться с помощью одной из многих команд. Произвольность доступа подразумевает, что процессор в любой момент может считать или записать любой байт (слово, двойное слово...) из этой памяти. 32-разрядные процессоры x86 способны адресовать до 4 Гбайт физической памяти (кроме 386SX, урезанных до 16 Мбайт), а процессоры P6 (Pentium Pro, Pentium II и старше) в режиме расширения адреса -- до 64 Гбайт. Из этого потенциально доступного пространства именно для оперативной памяти используется только часть: большинство системных плат пока ограничивают объем устанавливаемого ОЗУ на уровне 256 Мбайт-1 Гбайт. В этом же пространстве располагается и постоянная память -- ПЗУ, или ROM (Read Only Memory), которая в обычной работе только читается. В ПЗУ располагается BIOS (базовая система ввода-вывода) компьютера и некоторые другие элементы.

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

Последняя ступень иерархии -- память на внешних носителях, или просто внешняя память. Она, так же, как и дисковая, является хранилищем файлов, и доступ к ней осуществляется поблочно.

Мы перечислили программно-видимую часть “айсберга” памяти -- доступную произвольно или поблочно, прямо или последовательно. Есть еще и “подводная” часть -- кэш-память. Оперативная память по меркам современных процессоров обладает слишком низким быстродействием, и, обратившись за данными, процессор вынужден простаивать несколько тактов до готовности данных. Начиная с процессоров 80386, оперативную память стали кэшировать (эта идея использовалась и в “древних” больших машинах, где было СОЗУ -- сверхоперативное ЗУ). Идея кэширования ОЗУ заключается в применении небольшого (по сравнению с ОЗУ) запоминающего устройства -- кэш-памяти с более высоким быстродействием. Небольшого -- потому, что по технико-экономическим причинам большой объем очень быстрой памяти обходится слишком дорого. В этой памяти хранится копия содержимого части ОЗУ, к которой в данный момент процессор наиболее интенсивно обращается. Определять, какую часть содержимого ОЗУ копировать в данный момент времени, должен контроллер кэша. Он это может делать, исходя из предположения о локальности обращений к данным и последовательности выборок команд. Кэш-память не дает дополнительного адресуемого пространства, ее присутствие для программы незаметно.

РАСПРЕДЕЛЕНИЕ ПАМЯТИ

Логическая структура памяти PC обусловлена особенностями системы адресации процессоров семейства х86. Процессоры 8086/88, применявшиеся в первых моделях PC, имели доступное адресное пространство 1 Мбайт (20 бит шины адреса). Эти процессоры использовали сегментную модель памяти, унаследованную и следующими моделями в реальном режиме. Согласно этой модели исполнительный (линейный) адрес вычисляется по формуле

Addr = Segx 16 + Offset,

где Seg и Offset -- содержимое сегментного и адресного регистров. Таким образом, обеспечивался доступ к адресному пространству Addr = 00000 - FFFFFh при помощи пары 16-битных регистров. Заметим, что при Seg = FFFFh и Offset = FFFFh данная формула дает адрес 10FFEFh, но ввиду 20-битного ограничения на шину адреса эта комбинация в физической памяти указывает на 0FFEFh. Таким образом, адресное пространство как бы сворачивается в кольцо с небольшим «нахлестом». Начиная с процессора 80286, шина адреса была расширена до 24 бит, а впоследствии (386DX, 486 и выше) до 32 и даже 36 (у процессоров Р6). В реальном режиме процессора, используемом в DOS, применяется та же сегментная модель памяти и формально доступен лишь 1 Мбайт памяти, что является недостаточным для большинства современных приложений. Однако выяснилось, что процессоры 80286 в реальном режиме эмулируют 8086 с ошибкой: та самая единица в бите А20, которая отбрасывалась в процессорах 8086/88, теперь попадает на шину адреса, и в результате максимально доступный линейный адрес в реальном режиме достиг 10FFEFh. За эту ошибку с радостью ухватились разработчики PC, поскольку дополнительные (64К - 16) байты оперативной памяти, адресуемой в реальном режиме, оказались подарком, позволяющим освободить дефицитное пространство оперативной памяти для прикладных программ. В эту область (100000h - 10FFEFh), названную «высокой памятью» --HighMemoryArea (HMA), стали помещать часть операционной системы и небольшие резидентные программы. Однако для обеспечения полной совместимости с процессором 8086/88 в схему PC ввели вентиль линии А20 шины адреса -- GateA20, который либо пропускает сигнал от процессора, либо принудительно обнуляет линию А20 системной шины адреса. Более старшие биты такой «заботы» не требуют, поскольку переполнение при суммировании 16-битных компонентов адреса по данной схеме до них не распространяется. Управление, этим вентилем подключили к свободному программно-управляемому выходному биту 1 контроллера клавиатуры 8042, ставшего стандартным элементом архитектуры PC, начиная с AT. Предполагалось, что этим вентилем часто пользоваться не придется. Однако жизнь внесла свои поправки, и оказалось, что переключение вентиля в многозадачных ОС, часто переключающих процессор между защищенным режимом, реальным режимом и режимом V86, контроллером клавиатуры выполняется слишком медленно. Так появились альтернативные методы быстрого переключения вентиля, специфичные для различных реализации системных плат (например, через порт 92h). Кроме того, иногда использовали и аппаратную логику быстрого декодирования команды на переключение бита, поступающую к контроллеру клавиатуры. Для определения способа переключения в утилиту CMOSSetup ввели соответствующие параметры, позволяющие выбрать между стандартным, но медленным способом и менее стандартизованным, но быстрым, в зависимости от используемого ПО.

Поскольку ошибка эмуляции 8086 была радостно принята и широко использована, ее повторили и в 386, и в следующих моделях процессоров. А для упрощения внешних схем в процессоры, начиная с 486, ввели и вентиль GateA20 с соответствующим внешним управляющим выводом.

32-разрядные процессоры позволяют организовать режим, иногда называемый «нереальным» или «большим реальным», в котором инструкции выполняются как в реальном, но доступны все 4 Гбайт памяти. Этот режим часто используется в игровых программах, целиком захватывающих все ресурсы компьютера, не заботясь о «правилах хорошего тона» по отношению к другим исполняемым программам.

Основную часть адресного пространства занимает оперативная память. Объем установленной памяти определяется тестом POST при начальном включении (перезагрузке) компьютера, начиная с младших адресов. Натолкнувшись на отсутствие памяти (ошибку), тест останавливается на достигнутом и сообщает системе объем реально работающей памяти.

Распределение памяти PC, непосредственно адресуемой процессором, приведено на рис. 49 и представляется следующим образом.

00000h-9FFFFh -- Conventional (Base) Memory, 640 Кбайт -- стандартная (базовая) память, доступная DOS и программам реального режима. В некоторых системах с видео-адаптером MDA верхняя граница сдвигается к AFFFFh (704 Кбайт). Иногда верхние 128 Кбайт стандартной памяти (область 80000h-9FFFFh) называют ExtendedConventionalMemory.

A0000h-FFFFFh -- UpperMemoryArea (UMA), 384 Кбайт -- верхняя память, зарезервированная для системных нужд. В ней размещаются области буферной памяти адаптеров (например, видеопамять) и постоянная память (BIOS с расширениями). Эта область, обычно используемая не в полном объеме, ставит непреодолимый архитектурный барьер на пути непрерывной (нефрагментированной) памяти, о которой мечтают программисты.

Память выше 100000h -- ExtendedMemory -- дополнительная (расширенная) память, непосредственно доступная только в защищенном (и в «большом реальном») режиме для компьютеров с процессорами 286 и выше. В ней выделяется область 100000h-10FFEFh -- высокая память, НМА, -- единственная область расширенной памяти, доступная 286+ в реальном режиме при открытом вентиле GateA20.

Область памяти выше первогомегабайта в различных источниках называется по-разному. Ее современное английское название -- ExtendedMemory -- пересекается с названием одной из спецификаций ее использования -- ExtendedMemorySpecification. Но название другой спецификации использования -- ExpandedMemorySpecification -- в прямом переводе на русский язык неотличимо от перевода предыдущего термина (и Extended и Expanded переводятся как «расширенный»). Область всей физической памяти, расположенной в адресном пространстве выше 1 Мбайта, будем называть дополнительной памятью. Ее объем у современных компьютеров указывается строкой ExtendedMemoryxxxxxKbyte в таблице, выводимой после прохождения теста POST, и в меню стандартной конфигурации CMOSSetup.

Вышеприведенное разделение памяти актуально только для приложений и операционных систем реального режима типа MS-DOS. Для ОС защищенного режима (в том числе Windows 9x/NT/2000) доступна вся оперативная память, причем без каких-либо ухищрений вроде EMS и XMS. Однако область UMA с ее традиционными «жителями», сохраняемая ради совместимости, остается барьером на пути к единой однородной памяти.

Стандартная память -- ConventionalMemory является самой дефицитной в PC, когда речь идет о работе в среде операционных систем типа MS-DOS. На ее небольшой объем (типовое значение 640 Кбайт) претендуют и BIOS, и ОС реального режима, а остатки отдаются прикладному ПО.

Верхняя память имеет области различного назначения, которые могут быть заполнены буферной памятью адаптеров, постоянной памятью или оставаться незаполненными. Раньше эти «дыры» не использовали из-за сложности «фигурного выпиливания» адресуемого пространства. С появлением механизма страничной переадресации (у процессоров 386 и выше) их стали по возможности заполнять «островками» оперативной памяти, названными блоками верхней памяти UMB (UpperMemoryBlock). Эти области доступны DOS для размещения резидентных программ и драйверов через драйвер EMM386, который отображает в них доступную дополнительную память.

Рисунок 49. Распределение памяти PC

АРХИТЕКТУРА УНИФИЦИРОВАННОЙ ПАМЯТИ -- UMA

Видеопамять графического адаптера является особой областью памяти, к которой во время непрерывного процесса регенерации экрана интенсивно обращается и центральный процессор, и графический акселератор (если таковой имеется). Видеопамять традиционно является физически выделенной памятью сравнительно (по сравнению с ОЗУ) небольшого объема, и для нее разными способами обеспечивают максимальную производительность -- увеличивают разрядность до 128 бит, повышают частоту, применяют специализированные, в том числе и двухпортовые, микросхемы памяти. Это, конечно же, приводит к удорожанию компьютера. Для современных графических акселераторов требуется доступ к большому объему памяти, причем с высокой производительностью. Вместо предоставления локальной памяти адаптера была предложена архитектура унифицированной памяти UMA (UnifiedMemoryArchitecture). Здесь для видеопамяти (и других нужд акселератора) выделяется область в общем пространстве единой физической оперативной памяти. За этот способ снижения стоимости приходится расплачиваться снижением производительности как видеосистемы, так и основной памяти. Архитектура UMA применяется в чипсетах системной платы с интегрированной графикой для недорогих компьютеров. При этом может предоставляться возможность установки и дополнительного специализированного модуля видеопамяти, позволяя за дополнительные деньги отказаться от UMA. Если с графического адаптера AGP убрать локальную память, этот высокопроизводительный адаптер вырождается в систему с UMA.

ВИРТУАЛЬНАЯ ПАМЯТЬ

Виртуальная память (VirtualMemory) представляет собой программно-аппаратное средство расширения пространства памяти, предоставляемой программе в качестве оперативной. Эта память физически реализуется в оперативной и дисковой памяти под управлением соответствующей операционной системы. Виртуальное пространство памяти разбито на страницы фиксированного размера, а в физической оперативной памяти в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может «подкачать» их в физическую память, предварительно выгрузив на диск часть не используемых в данный момент модифицированных страниц. Обращение процессора к ячейке виртуальной памяти, присутствующей в физической памяти, происходит обычным способом. Если же затребованная область в данный момент не отображена в физической памяти, процессор вырабатывает исключение (внутреннее прерывание), по которому операционная система программно организует замещение страниц, называемое свопингом (Swapping). Виртуальную память поддерживают процессоры, работающие в защищенном режиме, начиная с 80286, но реально се широко стали использовать только в операционных системах и оболочках для 32-разрядных процессоров (80386+). Виртуальная память используется лишь при наличии дополнительной памяти, а ее максимальный объем определяется размером файла подкачки (SwapFile), выделяемом на жестком диске на нужды виртуальной памяти. В принципе 4'айл подкачки может располагаться и на сетевом диске, но при этом трафик сети будет напряженным. Вопросы организации виртуальной памяти в основном относятся к области системного программного обеспечения (ядра операционной системы), здесь же мы ограничимся приведенным описанием.

ДИНАМИЧЕСКАЯ ПАМЯТЬ

Теперь посмотрим на оперативную память изнутри. На протяжении уже трех десятилетий в качестве основной памяти используют массивы ячеек динамической памяти. Каждая ячейка содержит всего лишь один КМОП-транзистор (комплементарные полевые транзисторы), благодаря чему достигается высокая плотность упаковки ячеек при низкой цене. Запоминающим элементом у них является конденсатор (емкость затвора), и ячейка может помнить свое состояние недолго -- всего десятки миллисекунд. Для длительного хранения требуется регенерация -- регулярное “освежение” (refresh) памяти, за что эта память и получила название “динамическая” -- DRAM (Dynamic RAM).

Динамическая память получила свое название от принципа действия ее запоминающих ячеек, которые выполнены в виде конденсаторов, образованных элементами полупроводниковых микросхем. Несколько упрощая описание физических процессов, можно сказать, что при записи логической единицы в ячейку конденсатор заряжается, при записи нуля -- разряжается. Схема считывания разряжает через себя этот конденсатор, и, если заряд был ненулевым, выставляет на своем выходе единичное значение и подзаряжает конденсатор до прежнего уровня. При отсутствии обращения к ячейке со временем за счет токов утечки конденсатор разряжается и информация теряется, поэтому такая память требует постоянной периодической подзарядки конденсаторов (обращения к каждой ячейке) -- память может работать только в динамическом режиме. Этим она принципиально отличается от статической памяти, реализуемой на триггерных ячейках и хранящей информацию без обращений к ней сколь угодно долго (при включенном питании). Благодаря относительной простоте ячейки динамической памяти на одном кристалле удается размещать миллионы ячеек и получать самую дешевую полупроводниковую память достаточно высокого быстродействия с умеренным энергопотреблением, используемую в качестве основной памяти компьютера. Запоминающие ячейки микросхем DRAM организованы в виде двумерной матрицы. Адрес строки и столбца передается по мультиплексированной шине адреса МА (MultiplexedAddress) и стробируется по спаду импульсов RAS# (RowAccessStrobe) и CAS# (ColumnAccessStrobe). Состав сигналов микросхем динамической памяти приведен в табл. 6.

Таблица 6. Сигналы микросхем динамической памяти

Сигнал

Назначение

RAS#

RowAccessStrobe -- строб выборки адреса строки. По спаду сигнала начинается любой цикл обращения, низкий уровень сохраняется на все время цикла. Перед началом следующего цикла сигнал должен находиться в неактивном состоянии (высокий уровень) не менее, чем время предварительного заряда RAS (ТRP -- RASprecliargetime)

CAS#

ColumnAccessStrobe -- строб выборки адреса столбца. По спаду сигнала начинается цикл записи или чтения, минимальная длительность (ТCAS) определяется спецификацией быстродействия памяти. Минимальная длительность неактивного состояния между циклами (высокий уровень) должна быть не менее чем время (TCP -CASprechargetime) предварительного заряда CAS

MAi

MultiplexedAddress -- мультиплексированные линии адреса. Во время спада сигнала RAS# на этих линиях присутствует адрес строки, во время спада CAS# -- адрес столбца. Адрес должен устанавливаться до спада соответствующего строба и удерживаться после него еще некоторое время. Микросхемы с объемом 4 М ячеек могут быть с симметричной организацией -- 11 бит адреса строк и 11 бит адреса колонок или асимметричными --12 х 10 бит соответственно

WE#

WriteEnable -- разрешение записи. Данные записываются в выбранную ячейку либо по спаду CAS# при низком уровне WE# (EarlyWrite -- ранняя запись, обычный вариант), либо по спаду WE# при низком уровне CAS# (DelayedWrite -- задержанная запись). Переход WE# в низкий уровень и обратно при высоком уровне CAS# записи не вызывает, а только переводит выходной буфер EDODRAM в высокоимпедансное состояние

ОЕ#

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

DB-In

DataBitInput -- входные данные (только для микросхем с однобитной организацией)

DB-Out

DataBitOutput -- выходные данные (только для микросхем с однобитной организацией). Выходные буферы стандартных микросхем открыты только при сочетании низкого уровня сигналов RAS#, CAS#, OE# и высокого уровня WE#; при невыполнении любого из этих условий буферы переходят в высокоимпедансное состояние. У микросхем EDO выходные буферы открыты и после подъема CAS#. Логика управления предусматривает возможность непосредственного объединения выходов нескольких микросхем

DQx

DataBit -- объединенные внутри микросхемы входные и выходные сигналы данных (объединение экономит количество выводов для микросхем с многобитной организацией)

N.C.

NoConnection -- свободный вывод

Выбранной микросхемой памяти является та, на которую во время активности (низкого уровня) сигнала RAS# приходит сигнал CAS# (тоже низким уровнем). Тип обращения определяется сигналами WE# и CAS#. Временная диаграмма «классических» циклов записи и чтения приведена на рис. 50. Как из нее видно, при чтении данные на выходе относительно начала цикла (сигнала RAS#) появятся не раньше, чем через интервал ТRAC, который и является временем доступа.

Рисунок 50. Временные диаграммы чтения и записи динамической памяти

Ячейки организуются в двумерные матрицы, и для обращения к ячейке требуется последовательно подать два выбирающих сигнала -- RAS# (Row Access Strobe, строб строки) и CAS# (Column Access Strobe, строб столбца). Временная диаграмма циклов чтения традиционной динамической памяти приведена на рисунке (циклы записи для простоты здесь рассматривать не будем). Микросхемы динамической памяти традиционно имеют мультиплексированную шину адреса (MA). Во время действия RAS# на ней должен быть адрес строки, во время действия CAS# -- адрес столбца. Информация на выходе шины данных относительно начала цикла (сигнала RAS#) появится не раньше, чем через интервал TRAC, который называется временем доступа. Есть также минимальная задержка данных относительно импульса CAS# (TCAC), и минимально необходимые интервалы пассивности сигналов RAS# и CAS# (времена предзаряда). Все эти параметры и определяют предел производительности памяти. Ключевой параметр микросхем -- время доступа -- за всю историю удалось улучшить всего на порядок -- с сотен до нескольких десятков наносекунд. За меньший исторический период только тактовая частота процессоров x86 выросла на 2 порядка, так что разрыв между потребностями процессоров и возможностями ячеек памяти увеличивается. Для преодоления этого разрыва, во-первых, увеличивают разрядность данных памяти, а во-вторых, строят вокруг массивов ячеек памяти разные хитрые оболочки, ускоряющие процесс доступа к данным. Все, даже “самые модные”, типы памяти -- SDRAM, DDR SDRAM и Rambus DRAM имеют запоминающее ядро, которое обслуживается описанным выше способом.

РЕГЕНЕРАЦИЯ

Поскольку обращения (запись или чтение) к различным ячейкам памяти обычно происходят в случайном порядке, то для поддержания сохранности данных применяется регенерация (MemoryRefresh -- «освежение» памяти) -- регулярный циклический перебор ее ячеек (обращение к ним) с холостыми циклами. Регенерация в микросхеме происходит одновременно по всей строке матрицы при обращении к любой из ее ячеек. Максимальный период обращения к каждой строке trf(refreshtime) для гарантированного сохранения информации у современной памяти лежит в пределах 8-64 мс. В зависимости от объема и организации матрицы для однократной регенерации всего объема требуется 512, 1024, 2048 или 4096 циклов обращений. При распределенной регенерации (distributedrefresh) одиночные циклы регенерации выполняются равномерно с периодом tpp (рис. 51, а), который для стандартной памяти принимается равным 15,6 мкс. Период этих циклов называют «refreshrate», хотя такое название больше подошло бы к обратной величине -- частоте циклов г=1Дкр. Для памяти с расширенной регенерацией (extendedrefresh) допустим период циклов до 125 мкс. Возможен также и вариант пакетной регенерации (burstrefresh), когда все циклы регенерации собираютсяв пакет (рис. 51, 6), во время которого обращение к памяти по чтению и записи блокируется. При количестве циклов 1024 эти пакеты будут периодически занимать шину памяти примерно на 130 мкс, что далеко не всегда допустимо. По этой причине, как правило, выполняется распределенная регенерация, хотя возможен и промежуточный вариант -- пакетами по несколько (например, 4) циклов.

Рисунок 51.Регенерация динамической памяти: a-- распределенная; б-- пакетная

память процессор унифицированный динамический

Циклы регенерации могут организовываться разными способами. Классическим является цикл без импульса CAS# (рис. 52, слева), сокращенно именуемый ROR (RASOnlyRefresh -- регенерация только импульсом RAS#). В этом случае адрес очередной регенерируемой строки выставляется контроллером памяти до спада RAS# очередного цикла регенерации, порядок перебора регенерируемых строк не важен.

Другой вариант -- цикл CBR (CASBeforeRAS), поддерживаемый практически всеми современными микросхемами памяти (рис. 52, справа). В этом цикле регенерации спад импульса RfaS# осуществляется при низком уровне сигнала CAS# (в обычном цикле обращения такой ситуации не возникает).

Рисунок 52 Страничный режим считывания BEDODRAM

Вышеперечисленные типы памяти являются асинхронными по отношению к тактированию системной шины компьютера. Это означает, что все процессы инициируются только импульсами RAS# и CAS#, а завершаются через какой-то определенный (для данных микросхем) интервал. На время этих процессоров шина памяти оказывается занятой, причем в основном ожиданием данных.

МОДУЛИ ДИНАМИЧЕСКОЙ ПАМЯТИ

Динамическая память чаще всего применяется в виде модулей с разрядностью 1,2, 4 пли 8 байт, которые могут устанавливаться пользователем без каких-либо приспособлений. Модули стандартизованы, поэтому обеспечивается взаимная совместимость.

SIPP и SIMM-30 (рис 53) -- самые первые модули с однобайтной организацией, применялись вплоть до 486-х процессоров. тSIMM-72-pin (рис.44)-- 4-байтные модули, применявшиеся на системных платах для 486 и Pentium.

DIMM-168 (рис.55) -- 8-байтные модули для Pentium и выше. Существует два поколения, существенно различных по интерсрейсу. Модули DIMM 168-pinBuffered (1-го поколения), как и слоты для них, встречаются редко и с широко распространенными модулями DIMM 2-го поколения несовмесТимы даже механически (по ключам). Наиболее популярно второе поколение с микросхемами SDRAM. Различают модификации в зависимости от наличия буферов или регистров на управляющих сигналах: Unbuffered, Buffered и Registered.

DIMM-184 -- 8-байтные модули DDRSDRAM для системных плат 6-7 поколений процессоров.

RIMM -- 2-байтные модули RDRAM для системных плат 6-7 поколений процессоров.

SODIMM (72 и 144-pin) и SORIMM -- малогабаритные варианты модулей (для блокнотных ПК).

AIMM (AGPInlineMemoryModule), они же GPACard (GraphicsPerformanceAccelerator) -- 66-контактные 32- или 16-битные модули SDRAM, предназначенные для расширения памяти графических адаптеров, встроенных в системную плату.

Не пересчитывая контакты, отличить «короткие» SIMM от «длинных» и DIMM-модулей легко по их размеру: длина модуля SIMM-30 pin примерно 89 мм, SIMM-72 -- 108 мм. Модули DIMM-168 и DIMM-184 имеют одинаковую длину около 134 мм (5,25"), но у 168-контактных модулей два ключа, а у 184-контактных -- один (за счет чего больше контактов); кроме того, у DIMM-184 по две прорези по бокам, а не по одной. Модули RIMM имеют ту же длину, по легко отличимы по меньшему числу контактов -- середина краевого разъема свободна от ламелей. У модулей RIMM (рис.56) микросхемы памяти закрыты пластиной радиатора. Кроме того, их левый ключ гораздо ближе к центру, чем у DIMM.

Рисунок 53. Модули SIMM-30

Существуют еще модули SIMM для Macintosh, они длиннее SIMM-30, но короче SIMM-72 и к IBMPC не подходят. В компьютерах, предназначенных для применения в качестве серверов или мощных станций, нередко применяются специальные платы памяти, позволяющие устанавливать большие объемы ОЗУ. На такие платы также устанавливаются модули SIMM, DIMM или SODIMM. Модули памяти применяются и в принтерах (лазерных) -- DIMM-168, 100-PinDIMM, AIMM, SODIMM-144, но иногда для них требуются и специальные модули (по конструктиву или параметрам).

Рисунок 54Модули SIMM-72

Рисунок 55.Модули DIMM; а-- вид модуля DIMM-168; б-- ключи для модулей первого поколения; в-- ключи для модулей второго поколения; г-- вид модуля DIMM-184

Рисунок 56. Модули RIMM

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

Модули без контрольных бит (поп Parity) имеют разрядность 8, 32 или 64 бита и допускают независимое побайтное обращение с помощью отдельных для каждого байта линий CAS#.

Модули с контролем паритета (Parity) имеют разрядность 9, 36 или 72 бита и также допускают независимое побайтное обращение, контрольные биты по обращению приписаны к соответствующим байтам.

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

Модули с контролем по схеме ЕСС имеют разрядность 36, 40, 72 или 80 бит. Обычно они допускают побайтное обращение к информационным битам, но контрольные биты у них привязаны к одному или нескольким сигналам CAS#, поскольку ЕСС подразумевает обращение сразу к целому слову.

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

ECC-on-Simm (EOS) -- модули со встроенной схемой исправления ошибок. Каждый байт модуля имеет встроенные средства контроля и исправления ошибок, работающие прозрачно. Для системы модули функционируют как обычные паритетные -- в случае обнаружения неисправимой ошибки они генерируют ошибочный бит паритета. Эти модули обеспечивают отказоустойчивость по памяти (KillProtectedMemory) для системных плат, поддерживающих только контроль паритета. По «благородству» поведения (делают больше, чем «говорят») они являются прямой противоположностью модулям с генератором паритета.

Набор сигналов модуля SIMM в основном совпадает с сигналами одиночных микросхем динамической памяти.

ОБЩИЙ ПРИНЦИП ДОСТУПА К ДАННЫМ

Массив данных представляет собой некое подобие координатной сетки, где есть положения по горизонтали (адрес строки) и по вертикали (адрес столбца). На пересечении каждого конкретного адреса строки и столбца находится единичный «строительный элемент» памяти - ячейка, которая представляет собой ключ (транзистор) и запоминающий элемент (конденсатор). Например, для чтения или записи одной ячейки памяти необходимо пять тактов. Сначала на шину выставляется адрес строки. Затем подается сигнал RAS#, который является своего рода контрольным сигналом, передающим полученный адрес для записи в специально отведенное место - регистр микросхемы памяти. После этого передается сигнал столбца, следующим тактом за которым идет сигнал подтверждения принимаемого адреса, но уже для столбца - CAS#. И, наконец следует операция чтения-записи в/из ячейки, контролируемая сигналом разрешения - WE#. Однако, если считываются соседние ячейки, то тогда нет необходимости передавать каждый раз адрес строки или столбца - процессор «надеется», что считываемые данные расположены по соседству. Поэтому, на считывание каждой последующей ячейки понадобится уже 3 такта системной шины. Отсюда и берут свое начало существование определенных схем функционирования (тайминги) отдельно взятой разновидности памяти: x-yyy-yyyy-, где "x" - количество тактов шины, необходимое для чтение первого бита, а у - для всех последующих. Так, цикл доступа процессора к памяти состоит из двух фаз: запроса (Request) и ответа (Response). Фаза запроса состоит из трех действий: подача адреса, подача запроса (чтения-записи) и подтверждение (необязательно). В фазу ответа входит выдача запрашиваемых данных и подтверждение приема. Довольно часто происходит чтение четырех смежных ячеек, поэтому многие типы памяти специально оптимизированы для данного режима работы, и в сравнительных характеристиках быстродействия обычно приводится только количество циклов, необходимое для чтения первых четырех ячеек. Здесь речь идет о пакетной передаче, которая подразумевает подачу одного начального адреса и дальнейшую выборку по ячейкам в установленном порядке. Такого рода передача улучшает скорость доступа к участкам памяти с заранее определенными последовательными адресами. Обычно процессор вырабатывает адресные пакеты на четыре передачи данных по шине, поскольку предполагается, что система автоматически возвратит данные из указанной ячейки и трех следующих за ней. Преимущество такой схемы очевидно - на передачу четырех порций данных требуется всего одна фаза запроса. Например, для памяти типа FPM DRAM применяется самая простая схема 5-333-3333-... Для памяти типа EDO DRAM после первого считывания блока данных, увеличивается время доступности данных того ряда, к которому происходит доступ в настоящий момент, при этом уменьшая время получения пакета данных, и память уже может работать по схеме 5-222-2222-... Синхронная память типа SDRAM, в отличие от асинхронной (FPM и EDO), «свободна» от передачи в процессор сигнала подтверждения, и выдает и принимает данные в строго определенные моменты времени (только совместно с сигналом синхронизации системной шины), что исключает несогласованность между отдельными компонентами, упрощает систему управления и дает возможность перейти на более «короткую» схему работы: 5-111-1111-... Поэтому в рассматриваемом пункте меню настройки можно встретить варианты допустимых значений для циклов обращения к памяти: x333 или x444 - оптимально подходит для FPM DRAM, x222 или x333 - для EDO DRAM, и x111 или x222 - для SDRAM.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Перечислите уровни иерархии памяти.

Как устроена динамическая память?

Основы работы динамической памяти.

Регенерация динамической памяти.

Перечислите модули динамической памяти.

Общий принцип доступа к данным.

Размещено на Allbest.ru

...

Подобные документы

  • Сравнительный анализ статической и динамической памяти. Быстродействие и потребление энергии статической памятью. Объем памяти микросхем. Временные диаграммы чтения и записи памяти. Микросхемы синхронной и асинхронной памяти. Режимы модулей памяти.

    презентация [114,2 K], добавлен 27.08.2013

  • Объем двухпортовой памяти, расположенной на кристалле, для хранения программ и данных в процессорах ADSP-2106x. Метод двойного доступа к памяти. Кэш-команды и конфликты при обращении к данным по шине памяти. Пространство памяти многопроцессорной системы.

    реферат [28,1 K], добавлен 13.11.2009

  • Внутренний кэш. Смешанная и разделенная кэш-память. Статическая и динамическая память. TLB как разновидность кэш-памяти. Организация кэш-памяти. Отображение секторов ОП в кэш-памяти. Иерархическая модель кэш-памяти. Ассоциативность кэш-памяти.

    курсовая работа [229,1 K], добавлен 04.11.2006

  • Классификация компьютерной памяти. Использование оперативной, статической и динамической оперативной памяти. Принцип работы DDR SDRAM. Форматирование магнитных дисков. Основная проблема синхронизации. Теория вычислительных процессов. Адресация памяти.

    курсовая работа [1,5 M], добавлен 28.05.2016

  • Компьютерная память, ее виды и классификации. Составляющие внутренней памяти процессорной системы (постоянное и оперативное запоминающие устройства). Построение пространства памяти заданного объема. Принцип записи и чтения информации, структура памяти.

    контрольная работа [609,8 K], добавлен 12.01.2015

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

    презентация [277,4 K], добавлен 27.08.2013

  • Стратегии размещения информации в памяти. Алгоритмы распределения адресного пространства оперативной памяти. Описание характеристик модели и ее поведения, классов и элементов. Выгрузка и загрузка блоков из вторичной памяти. Страничная организация памяти.

    курсовая работа [708,6 K], добавлен 31.05.2013

  • Твердотельный накопитель SSD, его виды: на основе микросхем памяти и флеш-памяти. Сравнение производительности HDD и SDD в рабочих условиях. Способы записи информации на винчестер. Технология структурированного носителя. Суперпарамагнитный предел.

    курсовая работа [53,3 K], добавлен 15.05.2012

  • Архитектура микроконтроллеров семейства Mega. Организация памяти. Способы адресации памяти данных. Энергонезависимая память данных. Таблица векторов прерываний. Счетчик команд и выполнение программы. Абсолютный вызов подпрограммы. Сторожевой таймер.

    дипломная работа [213,9 K], добавлен 02.04.2009

  • Простейшая схема взаимодействия оперативной памяти с ЦП. Устройство и принципы функционирования оперативной памяти. Эволюция динамической памяти. Модуль памяти EDO-DRAM BEDO (Burst EDO) - пакетная EDO RAM. Модуль памяти SDRAM, DDR SDRAM, SDRAM II.

    реферат [16,1 K], добавлен 13.12.2009

  • Анализ работы параллельных вычислений на видеокарте GeForce GT 540M с использованием текстурной памяти. Рассмотрение специфических особенностей по адресации текстурной памяти. Изучение основ чтения и записи данных. Описание примеров данных программ.

    лабораторная работа [3,1 M], добавлен 04.12.2014

  • Распределение виртуальной памяти. Страничная и сегментная организации виртуальной памяти. Сегментно-страничная организация виртуальной памяти. Преобразование виртуального адреса в физический. Упрощение адресации памяти клиентским программным обеспечением.

    курсовая работа [440,7 K], добавлен 04.03.2014

  • Физические типы запоминающих устройств, параметры их быстродействия и иерархия. Методы доступа к информации. Схемы ячеек основной памяти, механизм ее регенерации. Блочная организация и виды микросхем. Условия эффективности и характеристики кэш-памяти.

    презентация [2,6 M], добавлен 14.12.2013

  • История появления "флешек". Устройство и технические характеристики USB-флеш-памяти, принцип ее действия, дополнительные опции и программное обеспечение, типы разъемов. Карты памяти, их виды и форматы. Способы организации записи информации в ячейку.

    реферат [439,2 K], добавлен 21.12.2010

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

    лекция [1,5 M], добавлен 24.01.2014

  • Проектирование микропроцессорного устройства для записи и чтения данных из памяти flash-типа и осуществления взаимодействия с персональным компьютером посредством универсальной последовательной шины (USB). Программное обеспечение для устройства.

    курсовая работа [868,3 K], добавлен 23.12.2012

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

    презентация [2,7 M], добавлен 10.08.2013

  • Магистрально-модульный принцип построения архитектуры современных персональных компьютеров. Рассмотрение основных микросхем чипсета: контроллер-концентратор памяти и ввода-вывода. Рассмотрение пропускной способности и разрядности системной шины памяти.

    презентация [2,3 M], добавлен 13.10.2015

  • Архитектура многопроцессорных систем с общей шиной и с неоднородным доступом к памяти. Структура кэш памяти. Взаимодействие user space с kernel space. Средства синхронизации ядра Linux. Обход каталогов страниц. Инструментация кода средствами Clang.

    дипломная работа [513,7 K], добавлен 14.11.2017

  • Модель памяти как набор опций компилятора, ее виды в BC++2.0, размеры и взаимное расположение. Назначение сегментных регистров в различных моделях памяти, порядок просмотра переменных. Основные и дополнительные функции динамических переменных в памяти.

    лабораторная работа [28,4 K], добавлен 06.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.