![]() |
![]() |
:Документация: :Заработок: :Афоризмы: :Гостевая книга: :Ссылки: :Форум: |
|
Кое что о памяти Еще в конце 40-х годов фон Нейман сказал: «Память определяет быстродействие». Кстати, фон Нейман — автор именно той архитектуры, по которой выполнен персональный компьютер, то есть совместное хранение данных и программ — в отличие от Гарвардской, предусматривающей отдельные области памяти для программ и данных. Его слова были пророческими и останутся такими до тех пор, пока коренным образом не изменится сама архитектура. Современная динамическая память (DRAM) устроена крайне просто: это массив конденсаторов, подсоединенных к входам/выходам через зарядно-разрядные шины. Это единственный известный в настоящее время способ реализации недорогой массовой памяти. Статическая память, в которой информация хранится в ячейках наподобие триггеров, требует шести транзисторов на ячейку, то есть микросхема емкостью 4 Мбит состояла бы из более чем 24 миллионов транзисторов, потребляя соответствующую мощность. Поэтому статическая память используется только для кэширования. Одной из причин того, что память — устройство довольно медленное, является способ подачи адреса на нее. Фактически адрес подается в два приема: одна половинка, сопровождаемая сигналом RAS (Row Address Select — выбор строки), и затем вторая, сопровождаемая сигналом CAS (Column Address Select — выбор колонки). Это сделано для того, чтобы снизить количество выводов микросхем (иначе микросхеме памяти 4 Мбит потребовалось бы 22 вывода только для адресации). Время, которое проходит от момента подачи сигнала RAS до момента, когда данные появляются на выходе (или записываются на кристалл), называется полным временем доступа. Время, которое проходит от момента подачи сигнала CAS до появления или записи данных, называется временем доступа в страничном режиме. Повысить быстродействие DRAM не представляется возможным потому, что они, в отличие от, скажем, процессора, фактически являются просто массивом конденсаторов, где информация хранится в виде наличия или отсутствия заряда на них. Повышение скорости требует либо снижения емкости, что приведет к быстрому разряду за счет токов утечки, либо повышения тока, что неприемлемо по соображениям энергопотребления. Дополнительную путаницу вносит необходимость регенерации памяти, то есть перебора всех возможных адресов RAS. Эту процедуру необходимо проводить из-за саморазряда конденсаторов, имеющих собственную емкость в десятые и сотые доли пикофарады. В IBM PC для этого был предназначен один из каналов прямого доступа. Позже появились микросхемы памяти с автоматической регенерацией, то есть проблема была попросту спрятана, загнана внутрь. Некоторого увеличения быстродействия удалось достигнуть путем введения буферных усилителей (precharge), которые при подаче сигнала RAS считывают все содержимое строки, при этом по сигналу CAS считывается и передается на выход сигнал с единственного усилителя, что при работе в страничном режиме, то есть в пределах одной строки, снижает время доступа до теоретического минимума. Во времена, когда была выпущена IBM PC, микросхемы памяти просто были распаяны на плате, а 256 Кбайт казались совершенно безумной (очень большой) цифрой. Благодаря «стараниям» программистов предельное значение 1 Мбайт, заложенное в архитектуру процессора Intel 8086, вскоре оказалось уже недостаточным. В IBM PC AT и многочисленных клонах предусматривалась установка различных типов памяти в панельки, распаянные на плате. Уже тогда эти панельки занимали 25-30% площади всей платы. Но инженеры придумали расположить микросхемы памяти вертикально, и после недолгой борьбы нескольких претендентов на стандарт победил SIMM (Single in Line Memory Module — модуль памяти с выводами, расположенными в один ряд). Первое поколение памяти SIMM, модули с 30-контактами, поддерживающие передачу 8 бит за раз, продержалось до появления процессоров, имеющих внутреннюю 32-битную архитектуру. После чего появилось второе поколение SIMM, которые имели уже 72 контакта и поддерживали 32-битную архитектуру. При наличии двух банков поддерживается 64-разрядная архитектура, примененная в процессорах Intel Pentium и IBM/Motorola Power PC. Борьба за ускорение привела к появлению памяти Fast Page Mode. Она несколько быстрее обычной за счет того, что в пределах одной страницы (Page) требует подачи сигнала RAS только единожды. Несмотря на гордое имя, FPM в настоящее время является наиболее медленной разновидностью памяти. С другой стороны, практически любой компьютер, разработанный за последние несколько лет, поддерживает FPM, так что она является выбором «безопасным». Этот тип памяти при тактовой частоте 66 МГц допускает время задержки 5-3-3-3 тактов и совершенно непригоден для использования на платах с более высокой частотой. Наиболее популярный до недавнего времени вид памяти, EDO (Extended Data Out — расширенный вывод данных), за счет несколько модифицированной архитектуры позволяет начать один цикл доступа, не закончив другого. Этот тип памяти превозносился как революционный, но он ненамного быстрее FPM (3-5%). Он также неприемлем для тактовой частоты более 66 МГц, обеспечивая на ней задержку 5-2-2-2 такта. Для правильного функционирования памяти EDO требуется поддержка со стороны материнской платы, но поскольку технология была объявлена в 1994 году, большинство материнских плат ее поддерживают. Некоторые типы материнских плат поддерживают возможность установки разных типов памяти в разные банки, некоторые — нет. Следующая ступень эволюционного развития — BEDO (Burst Extended Data Out, пакетный расширенный вывод данных). Комбинация EDO с потоковой технологией и специальными регистрами-защелками привела к снижению задержки до 5-1-1-1. Несмотря на превосходные характеристики, BEDO не прижилась, так как основной производитель чипсетов, Intel, выбрал другую технологию, сопоставимую с BEDO по временным характеристикам — SDRAM. SIMM изготавливаются с двумя видами контактов — позолоченными и лужеными. Изготовители памяти в один голос утверждают, что тип покрытия контактов SIMM должен соответствовать типу покрытия контактов разъемов. Пользователи, наоборот, приводят массу случаев из жизни, когда разнородные контакты прекрасно уживались друг с другом. Дальнейший рост объемов памяти привел к жизни следующий стандарт — DIMM (Dual in Line Memory Module — модуль памяти с выводами, расположенными в два ряда). Рис.1. Модуль DIMM Эти модули, в отличие от SIMM, имеют два ряда контактов, расположенных по обе стороны печатной платы, и устанавливаются путем вставки, а не наклоном. Каждый модуль обеспечивает 64-битный доступ, так что они могут быть установлены по одному. Этот стандарт является ныне повсеместно распространенным, хотя на многих материнских платах в дополнение к разъемам для DIMM имеются разъемы и для SIMM. Модули DIMM выпускаются в четырех вариантах: с напряжением питания 5 и 3,3 В, с буферизацией и без нее. Для того чтобы различать эти особенности, на модулях имеются специальные прорези, а в разъеме соответственно — выступы. Так что установить неподходящий модуль на плату скорее всего не удастся, но перед покупкой следует ознакомиться с инструкцией на материнскую плату. Растущая тактовая частота процессоров потребовала перехода к большим тактовым частотам материнских плат и к новым технологиям памяти. Одна из таких технологий — SDRAM (Synchronous Dynamic Random Access Memory — cинхронная динамическая память с произвольным доступом). Любая операция, запись или чтение, требует некоторого периода времени для завершения, в течение которого не может быть начата другая операция. Для большинства современных микросхем DRAM, включая SDRAM, это время находится в диапазоне 30-60 нс. За счет укороченных циклов чтения/записи, когда меняется только адрес внутри страницы, это время может быть сокращено приблизительно вдвое. Однако этого все равно недостаточно, поэтому при разработке SDRAM были предприняты следующие меры. Во-первых, работа памяти синхронизирована с тактовой частотой системы (чего не было в более ранних технологиях) за счет установки на модуле собственного генератора с фазовой автоподстройкой частоты. Во-вторых, в пакетном режиме последовательные данные могут выдаваться без задержки за счет того, что внутри модуль организован в виде двух банков, поэтому пока один выдает данные, другой находится в стадии подготовки. Все эти меры позволили получить время задержки 5-1-1-1 тактов. Максимальная рабочая частота часто указывается косвенно, через быстродействие (10 нс, 8 нс). Зачастую предполагается, что быстродействие — это величина, обратная тактовой частоте, и поэтому модуль, промаркированный как «10 нс», обязан работать при частоте 100 МГц. На самом же деле не остается никакого, даже минимального запаса, поэтому для тактовой частоты 100 МГц лучше выбирать модуль с маркировкой 8 нс. Также при покупке следует проверить наличие микросхемы SPD (Serial Presence Detect — обнаружение присутствия при помощи последовательного интерфейса). Рис.2.В правом нижнем углу — микросхема SPD Многие материнские платы используют информацию, записанную в этой микросхеме, для выяснения размеров и типа модуля. Поэтому наилучший способ избежать ошибки при покупке — внимательно изучить инструкцию и выяснить нечто вроде «10 ns, 4-clock, unbuffered, 3.3 volt SDRAM modules with serial presence detect». На базе SDRAM был разработан новый стандарт DDR SDRAM (Double Data Rate — удвоенная скорость данных), который предусматривает передачу данных по обоим фронтам сигнала тактовой частоты. На этом резервы исчерпываются, поэтому подход, впервые примененный при разработке SDRAM, то есть увеличение числа банков внутри модуля, был творчески развит в стандартах SLDRAM и DRDRAM. Стандарт SLDRAM (Synchronous Link DRAM — DRAM с синхронной связью) разработан консорциумом производителей памяти (http://www.sldram.com) и рекламируется как эволюционное развитие систем памяти. На самом деле интерфейс и размер модуля коренным образом отличаются от DIMM и SIMM, так что преемственность, если она и существует, то лишь в рекламных проспектах. В SLDRAM используется 8 и более банков памяти внутри модуля, что позволило поднять скорость чтения/записи до 1,6 Гбайт/с. { КомпьютерПресс 4'2000} |
|
|