Реферат: Подсистема памяти современных компьютеров
Как и в случае страничной организации, необходимо обеспечить преобразование виртуального адреса в реальный физический адрес основной памяти. С этой целью для каждого пользователя операционная система должна сформировать таблицу сегментов. Каждый элемент таблицы сегментов содержит описатель (дескриптор) сегмента (поля базы, границы и индикаторов режима доступа). При отсутствии страничной организации поле базы определяет адрес начала сегмента в основной памяти, а граница - длину сегмента. При наличии страничной организации поле базы определяет адрес начала таблицы страниц данного сегмента, а граница - число страниц в сегменте. Поле индикаторов режима доступа представляет собой некоторую комбинацию признаков блокировки чтения, записи и выполнения.
Таблицы сегментов различных пользователей операционная система хранит в основной памяти. Для определения расположения таблицы сегментов выполняющейся программы используется специальный регистр защиты, который загружается операционной системой перед началом ее выполнения. Этот регистр содержит дескриптор таблицы сегментов (базу и границу), причем база содержит адрес начала таблицы сегментов выполняющейся программы, а граница - длину этой таблицы сегментов. Разряды номера сегмента виртуального адреса используются в качестве индекса для поиска в таблице сегментов. Таким образом, наличие базово-граничных пар в дескрипторе таблицы сегментов и элементах таблицы сегментов предотвращает возможность обращения программы пользователя к таблицам сегментов и страниц, с которыми она не связана. Наличие в элементах таблицы сегментов индикаторов режима доступа позволяет осуществить необходимый режим доступа к сегменту со стороны данной программы. Для повышения эффективности схемы используется ассоциативная кэш-память.
Терминология
access cycle - цикл обращения - последовательность (иногда ее длительность) операций устройства памяти между двумя последовательными актами чтения либо записи. Включает в себя, в частности, все операции, связанные с указанием адреса информации.
access time - время доступа (иногда ошибочно именуется скоростью) - время, необходимое на полный цикл обращения к информации, хранящейся по случайному адресу в чипе или модуле. Нужно иметь в виду, что в реальных условиях обращение чаще всего происходит не по случайному адресу, что позволяет использовать сокращенный цикл.
bank – банк. Группа модулей памяти одинаковой емкости, которые должны быть установлены одновременно, чтобы система могла работать. Количество модулей равняется отношению ширины системной шины к ширине шины модуля (умноженному на коэффициент interleave). Некоторые компьютеры способны работать с неполным банком памяти, но ценой значительного падения быстродействия.
bus - шина. Совокупность линий ввода-вывода, по которым информация передается одновременно. Ширина и частота шины естественным образом влияет на пропускную способность. Под главной, или системной шиной понимается шина между процессором и подсистемой памяти.
cache – кэш. Буфер обмена между медленным устройством хранения данных и более быстрым. Принцип его действия основан на том, что простой более быстрого устройства сильно влияет на суммарную производительность, а также - что с наибольшей вероятностью запрашиваются данные, сохраненные сравнительно недавно. Поэтому между устройствами помещают небольшой (по сравнению со всеми хранимыми данными) буфер быстрой памяти, что позволяет снизить потери быстрого устройства как на записи, так и на чтении
CAS (Column Access Strobe) - регистр обращения к столбцу. Сигнал, поданный на линию CAS чипа, означает, что через адресные линии вводится адрес столбца.
chipset - чипсет, набор микросхем материнской платы, реализующих архитектуру компьютера. Как правило, контроллер памяти входит в состав чипсета, поэтому зная, какой именно чипсет применен в компьютере, можно сделать выводы о применяемой памяти.
DDR (Double Data Rate) = SDRAM II
DIMM (Dual In-Line Memory Module) - наиболее современная разновидность форм-фактора модулей памяти. Отличается от SIMM тем, что контакты с двух сторон модуля независимы (dual), что позволяет увеличить соотношение ширины шины к геометрическим размерам модуля. Наиболее распространены 168-контактные DIMM (ширина шины 64 бит), устанавливаемые в разъем вертикально и фиксируемые защелками. В портативных устройствах широко применяются SO DIMM.
DIP (Dual In-line Package) - микросхемы с двумя рядами контактов, расположенными вдоль длинных сторон чипа и загнутых "вниз". Чрезвычайно распространенная упаковка во времена "до" модулей памяти.
DRAM (Dynamic RAM) - динамическая память - разновидность RAM, единичная ячейка которой представляет собой конденсатор с диодной конструкцией. Наличие или отсутствие заряда конденсатора соответствует единице или нулю. Основной вид, применяемый для оперативной памяти, видеопамяти, а также различных буферов и кэшей более медленных устройств. По сравнению со SRAM заметно более дешевая, хотя и более медленная по двум причинам - емкость заряжается не мгновенно, и, кроме того, имеет ток утечки, что делает необходимой периодическую подзарядку.
DRAM module - модуль памяти - устройство, представляющее собой печатную плату с контактами, на которой расположены чипы памяти (иногда заключенное в корпус), и представляющее собой единую логическую схему. Помимо чипов памяти может содержать и другие микросхемы, в том числе шунтирующие резисторы и конденсаторы, буферы, logic parity и т.п.
ECC (Error Checking and Correction) - выявление и исправление ошибок (возможны другие дешифровки того же смысла) - алгоритм, пришедший на смену "контролю четности". В отличие от последнего каждый бит входит более чем в одну контрольную сумму, что позволяет в случае возникновения ошибки в одном бите восстановить адрес ошибки и исправить ее. Как правило, ошибки в двух битах также детектируются, хотя и не исправляются. ECC поддерживают практически все современные серверы, а также некоторые чипсеты "общего назначения". Надо отметить, что ECC не является панацеей от дефективной памяти и применяется для исправления случайных ошибок.
EDO (Extended Data Out) - разновидность асинхронной DRAM, очень широко применявшаяся в последние 2 года. Представляет собой дальнейшее развитие метода fast page по "конвейерной" схеме - линии ввода-вывода остаются какое-то время открытыми для чтения данных в процессе обращения к следующему адресу, что позволяет организовать цикл доступа более оптимально.
fast page - дословно быстрый страничный (режим). Очень старая схема оптимизации работы памяти, которая основана на предположении, что доступ, как правило, осуществляется по последовательным адресам. Позволяет наряду с обычным циклом (RAS, затем CAS), использовать сокращенный, при котором RAS фиксирован, и соответственно его зарядка не требует времени. На сегодняшний день fast page - наиболее медленная из реально применяемых организаций памяти, однако еще сравнительно недавно это был единственный выбор для систем с контролем четности.
interleave - чередование - способ ускорения работы подсистемы памяти, основанный, как и многие другие, на предположении, что доступ происходит к последовательным адресам. Реализуется аппаратно на уровне контроллера и требует организации банка памяти таким образом, что суммарная ширина шины модулей превосходит ширину системной шины в k=2n раз (это число называется коэффициентом interleave и иногда записывается в виде k:1). Таким образом, каждый банк состоит из k "нормальных" банков. Контроллер распределяет "нормальное" адресное пространство подсистемы так, что каждый из k последовательных адресов физически находится в разном банке. Обращение к банкам организовано со сдвигом по фазе (напомним, что отдельный цикл обращения может требовать 5 тактов шины и более). В результате при последовательном обращении к данным за один обычный цикл обращения можно получить до k обращений в режиме interleave. Реальный выигрыш, разумеется, меньше, кроме того, interleave заметно увеличивает минимальный размер банка (как в числе модулей, так и в емкости). В SDRAM interleave реализован на уровне чипа.
MDRAM (Multibank DRAM) - многобанковая DRAM - разновидность DRAM с interleave, организованным на уровне чипа, применяется преимущественно в графических подсистемах.
Rambus DRAM - технология DRAM, разработанная компанией Rambus и позволяющая создавать память с высокой пропускной способностью (несколько сотен Mb/сек). Поскольку технология официально поддержана компанией Intel, высока вероятность того, что эта память будет основной в компьютерах будущего. Тем не менее, поскольку стандарт не является открытым, а защищен патентом и как следствие подлежит лицензированию, консорциум major-производителей ведет разработку конкурирующего стандарта SLDRAM. В настоящее время уже применяется в видеоподсистемах высокого уровня.
RAM (Random Access Memory) - память со случайным доступом. Любое устройство памяти, для которого время доступа по случайному адресу равняется времени доступа по последовательным адресам. В этом смысле термин практически утратил свое значение, так как современные технологии RAM используют методы оптимизации последовательного доступа, но в прошлом это действительно было критерием для отличения устройств, предназначенных для оперативного хранения небольших объемов данных (в русской традиции - оперативное запоминающее устройство, ОЗУ) от устройств для постоянного хранения больших массивов (постоянное или программное ЗУ, ПЗУ).
RAS (Row Access Strobe) - регистр обращения к строке. Сигнал, поданный на линию RAS чипа, означает, что через адресные линии вводится адрес строки.
RDRAM = Rambus DRAM
ROM (Read-Only Memory) - память без перезаписи - вообще говоря, любое запоминающее устройство, перезапись информации на котором невозможна в принципе. В настоящее время термин самостоятельной ценности не имеет, применяясь иногда в аббревиатурах (CD-ROM), в том числе и для описания устройств, допускающих перезапись, хотя в основном предназначенных для чтения (EEPROM).
refresh - подзарядка. Как известно, состоянием ячейки памяти DRAM является наличие/отсутствие заряда на конденсаторе. Этот заряд подвержен утечке, поэтому для сохранения данных конденсатор необходимо время от времени подзаряжать. Это достигается подачей на него время от времени напряжения (несложная диодная конструкция обеспечивает refresh только тех конденсаторов, на которых уже есть заряд).
SDRAM (Synchronous DRAM) - синхронная DRAM - название синхронной памяти "первого поколения", широко применяющейся в настоящее время и имеющей пропускную способность порядка 100Mb/сек.
SDRAM II - находящийся в стадии разработки SDRAM следующего поколения, который должен будет поддерживать вдвое большую (200Mb/сек) пропускную способность.
SGRAM (Synchronous Graphic RAM) - разновидность синхронной видеопамяти.
SIMM (Single In-line Memory Module) - наиболее распространенный в течение долгого времени форм-фактор для модулей памяти. Представляет собой прямоугольную плату с контактной полосой вдоль одной из сторон, фиксируется в разъеме поворотом с помощью защелок. Контакты с двух сторон платы на деле являются одним и тем же контактом (single). Наиболее распространены 30- и 72-контактные SIMM (ширина шины 8 и 32 бит соответственно).
SIP (Single In-Line Package) - разновидность форм-фактора модулей памяти, вытеснены SIMM и в настоящее время почти не встречаются. Проще всего описать их как SIMM, у которого контакты не "наклеены" на плату, а имеют форму иголок (pin в первоначальном значении этого слова) и торчат в виде гребенки.
SLDRAM (SyncLink DRAM) - условное название высокоскоростной памяти, разрабатываемой консорциумом производителей в качестве открытого стандарта в противовес Rambus DRAM.
SRAM (Static RAM) - статическая память - разновидность RAM, единицей хранения информации в которой является состояние "открыто-закрыто" в транзисторной сборке. Используется приемущественно в качестве кэш-памяти 2-го уровня. Ячейка SRAM более сложна по сравнению с ячейкой DRAM, поэтому более высокое быстродействие SRAM компенсируется высокой ценой. Несмотря на низкое энергопотребление, является энергозависимой.
timing diagram - временная диаграмма - количества тактов системной шины, необходимых для доступа к случайно выбранному адресу и следующим за ним адресам. Характерные диаграммы для разных типов памяти (в предположении, что они достаточно быстры, чтобы оптимально взаимодействовать с шиной) - 5-3-3-3 (fast page), 5-2-2-2 (EDO), 5-1-1-1 (SDRAM).
Литература
«Компьютер-ИНФО» № 17(159) 21 мая 1999 года
«Компьютер-ИНФО» № 18(160) 28 мая 1999 года
«Компьютер-ИНФО» № 20(162) 11 июня 1999 года
«Компьютер-ИНФО» № 21(163) 18 июня 1999 года
«Компьютер-ИНФО» № 23(165) 2 июля 1999 года
Справочные материалы с интернет-сайта
http://www.ixbt.ru
Статья «Серверы корпоративных баз данных» с интернет – сайта
http://hackers.webservis.ru/dse/corp_db/contents.htm
Статья «BIOS Setup: настраиваем подсистему памяти» с интернет-сайта
http://www.fcenter.ru/fc-articles/Technical/fc-articles-2000/20001012-biossetup.htm