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

Используемый в IBM PC/XT процессор i8086 через свои 20 адресных линий может иметь доступ к пространству памяти всего в 1 Мбайт. Но в то время, когда появились эти компьютеры, возможность увеличения доступной оперативной памяти в 10 раз (по сравнению с обычными 64 Кбайт) была просто фантастической. Отсюда наверно и появилась «волюн­таристская» цифра — 640 Кбайт. Эти первые 640 Кбайт адресуемого пространства в IBM-совместимых компьютерах называют обычно стандартной памятью (conventional memory). Оставшиеся 384 Кбайт были зарезервированы для систем использования и носят название памяти в верхних или высших адресах (UMB, Upper Memory Blocks). Эта область памяти резервируется под размещение системного ROM BIOS (Read Only Меш Basic Input Output System), видеопамяти и ROM-памяти, полнительных адаптеров.

Дополнительная, или ехрanded-памягь

Почти на всех персональных компьютерах область UMB редко оказывается заполненной полностью. Пустует, как правило, область расширения системного ROM BIOS часть видеопамяти и области под дополнительные модули ROM. На этом и базируется спецификация дополнительной памяти EMS (Expanded Memory Specification), разработка фирмами Lotus Development, Intel и Microsoft (поэтому называемая иногда LIM-спецификацией) еще в 1985 г. и позволяющая использовать оперативную память свыше стандартных 640 Кбайт для прикладных программ. Принцип использования дополнительной памяти основан на переключении блоков (страниц) памяти. В выделяется незанятое «окно» (page frame) в 64-Кбайт, которое разбито на 16-килобайтные страницы. Программные и аппаратные средства позволяют отображать любой 16-килобайтный сегмент этой дополнительной expanded-иамйти в любой из выделенных 16-килобайтных страниц окна. Хотя микропроцессор всегда обращается к данным, хранимым в окне (адрес 1 Мбайт), адреса этих данных могут быть смещены в дополнительной памяти относительно окна на несколько мегабайт. Спецификация LIM/EMS 4.0 позволяет использовать до 2048 логических страниц и расширить объем адресуемой памяти до 32 Мбайт. Кроме этого, как и в EMS, физические страницы могут быть расположены в любом месте памяти , отличный от 16 Кбайт. Таким образом могут задействоваться области видеопамяти и UMB. Возможности спецификации позволяют, в частности, организовать многозадачный режим работы.

Paсширенная, или ехрanded-памягь

Компьютеры, использующие процессор i80286 с 24-разрядными адресными шинами, физически могут адресовать 16 Мбайт, а в случае процессоров i80386/486 — 4 Гбайта памяти. Такая возможность появляется только при защищённом режиме работы процессора (protected mode), которого операционная система MS DOS не поддерживает. Расширенная память располагается выше области адресов 1 Мбайт. Для работы с extended-памятью микропроцессор должен переходить из реального в защищенный режим и обратно. Микропроцессоры i80386/486 выполняют эту операцию достаточно легко, чего не скажешь о i80286. При наличии соответствующего программного драйвера расширенную память можно эмулировать как дополнительную. Аппаратную поддержку в этом случае должен обеспечивать процессор не ниже i80386 или вспомогательный набор специальных микросхем.

Кэш-память

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

У микропроцессора, синхронизируемого, например, тактовой частотой 33 МГц, тактовый период составляет приблизительно 30 нс. Обычные современные микросхемы динамической памяти имеют время выборки от 60 до 80 нс. Отсюда, в частности, следует, что центральный процессор вынужден простаивать 2-3 периода тактовой частоты (т.е. имеет 2-3 цикла ожидания), пока информация из соответствующих микросхем памяти ус­тановится на системной шине данных компьютера. Понятно, что в это время процессор не может выполнять никакую дру­гую работу. Такая ситуация ведет обычно к тому, что общая производительность системы снижается, что, разумеется, крайне нежелательно.

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

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

На кристалле микросхемы оперативной памяти SRАМ на­ходится огромное количество транзисторов. Как уже говори­лось, принщп работы ячейки динамической памяти состоит в сохранении ; заряда на крошечном конденсаторе, выполненном в полупроводниковой структуре кристалла. Понятно, что для того чтобы зарядить конденсатор до определенного значения, необходимо некоторое время. Чтобы конденсатор разрядился, также необходимо определенное время. Таким образом, в ре­зультате процессов заряда и разряда конденсатора ячейка памяти устанавливает либо в состояние 1, либо в состояние 0. Поскольку для заряда и разряда конденсатора необходимо вполне определенное (и немалое) время, то в этом и кроется причина ограниченного быстродействия динамической памяти.

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

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

Метод Write Through, называемый также методом сквоз­ной записи, предполагает наличие двух копий данных — од­ной в основной памяти, а другой — в кэш-памяти. Каждый цикл записи процессора в память идет через кэш. Это обус­ловливает, конечно, высокую загрузку системной шины, так как на каждую операцию модификации данных приходится две операции записи. Поэтому каждое обновление содержимо­го кэш-памяти ощутимо сказывается на работе шины. С другой стороны, микропроцессор по-прежнему вынужден ожидать окончания записи в основную память.

Метод Buffered Write Through является разновидностью метода Write Through и называется также методом буферизованной сквозной записи. Для того чтобы как-то уменьшить загрузку шины, процесс записи выполняется в один или нес­колько буферов, которые работают по принципу FIFO (First Input-First Output). Та­ким образом, цикл записи для микропроцессора заканчивает­ся практически мгновенно (т.е. когда данные записаны в буфер), хотя информация в основной памяти еще не сохранена. Сам же микропроцессор может выполнять дальнейшую обра­ботку команд. Конечно, соответствующая логика управления должна заботиться о том, чтобы своевременно опустошать за­полненные буферы. При использовании данного метода про­цессор полностью освобожден от работы с основной памятью.

При использовании метода Write Back, называемого также методом обратной записи, цикл записи микропроцессора происходит сначала в кэш-память, если там есть адрес приемни­ка. Если адреса приемника в кэш-памяти не оказывается, то информация записывается непосредственно в память. Содержимое основной памяти обновляется только тогда, когда из кэш-памяти в нее записывается полный блок данных, назы­ваемый длиной строки-кэша (cache-line).

При работе с кэш-памятью применяется ассоциативный принцип, когда старшие разряды адреса используются в качестве признака, а младшие — для выбора слова. Архитекту­ра кэш-памяти определяется тем, каким образом память отоб­ражается на кэш. Существуют три разновидности отображе­ния: кэш-память с прямым отображением, частично ассоциа­тивная и полностью ассоциативная. При прямом отображении каждая ячейка основной памяти может отображаться только на одну ячейку кэша, в частично ассоциативной —на две и больше (т.е., если одна ячейка кэша занята, можно использовать другую). В случае наличия четырех входов кэш-память называют 4-канальной частично ассоциативной, как, напри­мер, у i486. При полностью ассоциативном подходе в качестве разрядов признаков используются все адресные разряды.

BIOS и CMOS RAM

Базовая система ввода-вывода BIOS (Basic Input Output System) называется так потому, что включает в себя обшир­ный набор программ ввода-вывода, благодаря которым опера­ционная система и прикладные программы могут взаимо­действовать с различными устройствами как Самого компьюте­ра, так и с устройствами, подключенными к нему. Вообще говоря, в архитектуре IBM-совместимого компьютера система BIOS занимает особое место. С одной стороны, ее можно рассматривать, как составную часть аппаратных средств, с другой стороны, она является как бы одним из программных модулей операционной системы.

Заметим, что система BIOS, помимо программ взаимодействия с аппаратными средствами на физическом уровне, содержит программу тестирования при включении питание компьютера POST (Power-On-Self-Test) и программу начального загрузчика. Последняя программа необходима для загрузки операционной системы с соответствующего накопителя.

Система BIOS в IBM-совместимых компьютерах реализо­вана в виде одной или двух микросхем, установленных на системной плате компьютера. Наиболее перспективным для хранения системы BIOS является сейчас флэш-память. BIOS на ее ос­нове имеют, например, системные платы фирм Intel, Mylex, Compaq и т.д. Это позволяет легко модифицировать старые или добавлять дополнительные функции для поддержки но­вых устройств, подключаемых к компьютеру.

Поскольку содержимое ROM BIOS фирмы IBM было защищено авторским правом (т.е. его нельзя подвергать копированию), то большинство других производителей компьютеров вынуждены были использовать микросхемы BIOS независимых фирм, системы BIOS которых, разумеется, были практически полностью совместимы с оригиналом. Наиболее известны из этих фирм три: American Megatrends Inc. (AMI), Award Software и Phoenix Technologies.

CMOS RAM

Система BIOS в компьютерах, основанных на микропро­цессорах i80286 и выше, неразрывно связана с неизменяемой памятью (CMOS RAM), в которой хранится информация о текущих показаниях часов, значение времени для будиль­ника, конфигурации компьютера: количестве памяти, типах накопителей и т.д. Именно в этой информации нуждаются программные модули системы BIOS. Название CMOS RAM обязано тому, что эта память выполнена на основе структур КМОП (CMOS - Complementary Metal-Oxide-Semicon­ductor) которые, как известно, отличаются малым энергопот­реблением.

В системе BIOS имеется программа, называемая Setup, ко­торая может изменять содержимое CMOS-памяти. Вызывается эта программа определенной комбинацией клавиш, которая обычно выводится в качестве подсказки на экран монитора после включения питания компьютера. Во время загрузки компьютера можно запустить программу Setup для системы BIOS.

Напомним, что под обычными установками (Standard CMOS Setup) мы понимаем информация дате (месяц, день, год), текущих показаниях часов (часы, минуты, секунды), количестве стандартной и расширенной мяти (в килобайтах), технических параметрах и типе накопителей, дисплея, а также о подключении клавиатуры. Заме например, что если в этой программе в строке Keyboard сказать «Not Installed», то даже при отсутствии клавиатуры компьютер не выдаст сообщения об ошибке.

Расширенные установки (Advanced CMOS Setup и Advanced ChipSet Setup) включают в себя дополнительные возможности конфигурирования системной платы. Наиболее общими являются, например, такие возможности, как допустимая скорость ввода символов с клавиатурв (по умолчанию 15 символов в секунду), тестирование, тестирование памяти выше границы 1 Мбайт, разрешение использования арифмети­ческого сопроцессора Weitek, приоритет или последовательность загрузки (т.е. попытка загрузки компьютера сначала с накопителя со сменным, а затем несменным носителем или наоборот), установка определенной тактовой частоты микропроцессора при включении, разрешение парольной защиты и т.д. Как правило, расширенные установки допускают определение областей «теневой» (shadow) памяти для системной ROM BIOS, а также ROM BIOS видеоадаптеров, контроллеров накопителей и дополнительных адаптеров. Кроме этого, возможна установка тактовой частоты системной шины, а также числа тактов ожидания (или временной задержки) для микропроцессора при обращении к устройствам ввода-вывода, оперативной и/или кэш-памяти.

Заметим, что в случае повреждения микросхемы CMOS RAM (а также при разряде батареи или аккумулятора) прог­рамма Setup имеет возможность воспользоваться некой ин­формацией по умолчанию (BIOS Setup Default Values), кото­рая хранится в таблице соответствующей микросхемы ROM BIOS.

НОВЫЕ ВИДЫ ПАМЯТИ

Резкое повышение быстродействия процес­соров и переход на 32-разрядные многоза­дачные операционные системы сущест­венно поднимают требования и к другим компонентам компьютера. Важнейшим из них является оперативная память. Возрастание внешних тактовых частот процессоров с 33-40 ÌÃö, характерных для семейства 486 (486DX2-66/80 и 486DX4-100/120), до 50-66 ÌÃö для Pentium (Pentium 75/90/100/120/133), требует прежде всего адекватного увеличения быст­родействия подсистемы памяти. Поскольку в ка­честве оперативной используется относительно медленная динамическая память DRAM (Dynamic Random Access Memory), главный способ увели­чения пропускной способности основан на при­менении кэш-памяти. Кроме встроенной в про­цессор кэш-памяти первого уровня применяется и кэш-память второго уровня (внешняя), построенная на более быстродействующих, чем DRAM, микросхемах статической памяти SRAM (Static RAM). Для высоких тактовых частот нужно увеличивать быстродействие SRAM. Кроме того, в многозадачном режиме эф­фективность работы кэш-памяти также может снижаться. Поэтому актуальной становится за­дача не только увеличения быстродействия кэш-памяти, но и ускорения непосредственного дос­тупа к динамической памяти. Для решения этих проблем начинают использоваться новые типы статической и динамической памяти.

Требования к объемам памяти диктуются программным обеспечением. При использовании Windows оценить необходимое количество памяти можно на основе тестов Winstone, использующих наиболее популярные приложения Windows. Соответствующие данные представлены на рисунке 1.

Рис.1. Зависимость производительности от объема памяти.
Логическая организация памяти - student2.ru

Статическая память

В качестве кэш-памяти второго уровня практиче­ски всегда применялась (и до сих пор продолжа­ет широко применяться) стандартная асинхрон­ная память SRAM. При внешних тактовых частотах порядка 33 ÌÃö хорошие результаты давала статическая память со временем выборки 15-20 ns. Для эффективной работы на частотах выше 50 ÌÃö такого быстродействия уже недос­таточно. Прямое уменьшение времени выборки до нужных величин (12-8 ns) обходится дорого, так как требует зачастую применения дорогой технологии Bi-CMOS вместо CMOS, что непри­емлемо для массового рынка. Поэтому предла­гаемое решение заключается в применении но­вых типов памяти с усовершенствованной архи­тектурой, которые первоначально были разрабо­таны для мощных рабочих станций. Наиболее перспективна синхронная SRAM. В отличие от обычной асинхронной, она может использовать те же тактовые сигналы, что и остальная систе­ма, поэтому и называется синхронной. Она снаб­жена дополнительными регистрами для хране­ния информации, что освобождает остальные элементы для подготовки к следующему циклу еще до того, как завершился предыдущий. Быст­родействие памяти при этом увеличивается при­мерно на 20%. Эффективную работу на самых высоких частотах может обеспечить особая раз­новидность синхронной SRAM — с конвейерной организацией (pipelined burst). При ее при­менении уменьшается число циклов, требую­щихся для обращения к памяти в групповом ре­жиме. Пример для тактовой частоты 66 ÌÃö (Pentium 100 и Pentium 133) приведен в таблице1. В случае группового режима чтения-записи для первого обращения нужно 3 цикла, для каждого следующего — только 1.

Тип цикла Асинхронная SRAM Конвейерная SRAM
Single Read
Single Write
Burst Read 3-2-2-2 3-1-1-1
Burst Write 4-3-3-3 3-1-1-1

Таблица 1. Сравнение асинхронной и конвейерной памяти SRAM.

Динамическая память

Так же, как и для статической памяти, прямое со­кращение времени выборки для динамической памяти достаточно трудно технически осущест­вимо и приводит к резкому росту стоимости. По­этому ориентация в новых системах идет на микро­схемы со временем выбор­ки 60-70 ns. Стандартные микросхемы DRAM имеют страничную организацию памяти — Fast Page Mode (FPM), которая позволяет значительно ускорить дос­туп к последовательно расположенным (в пределах страницы) данным по сравнению со случаем произвольной выборки. Поскольку обращения к последовательно распо­ложенным данным в реальных задачах встреча­ются очень часто, применение FPM DRAM замет­но повышает производительность. FPM DRAM со временем выборки 60-70 ns обеспечивает необ­ходимые характеристики для тактовых частот 33-40 ÌÃö. При повышении тактовой частоты обеспечить надежное и быстрое считывание данных в страничном режиме уже не удается. Эту проблему в значительной степени решает применение памяти нового типа - EDO DRAM (Extended Data Output DRAM). От обычной памяти со страничной организацией она отличается на­личием дополнительных регистров для хранения выходных данных. Увеличивается время, в тече­ние которого данные хранятся на выходе микро­схемы, что делает выходную информацию дос­тупной для надежного считывания процессором даже при высоких тактовых частотах (фактически время между обращениями в страничном режи­ме можно уменьшить до 30 ns по сравнению с 45 ns для FPM).

Радикальный, но не общепризнанный подход к повышению быстродействия динамической па­мяти заключается во встраивании в микросхемы DRAM собственной кэш-памяти. Это Cached DRAM (CDRAM) и Enhanced DRAM (EDRAM). Па­мять CDRAM выпускается фирмой Mitsubishi и имеет 16 KB кэш-памяти как на 4, так и на 16 Mbit кристалле, обмен между динамической и встро­енной кэш-памятью осуществляется словами шириной 128 разрядов.

Вообще говоря, применение новых типов дина­мической памяти позволяет получать высокую производительность даже и без применения кэш-памяти второго уровня (если кэш-память первого уровня — типа write back), особенно в случае CDRAM и Enhanced DRAM, которые имен­но так и используются. Однако подавляющее большинство систем для достижения максимальной производительности строится все-таки с использованием кэш-памяти второго уровня. Для них наиболее подходит память типа EDO DRAM. К тому же она стала уже промышленным стандартом, и ее доля будет преобладать в мик­росхемах памяти емкостью 16 Mbit и более. Фактически эта память приходит на смену стандартной FPM DRAM и ее можно применять в любых системах вместо стандартной.

КОНСТРУКТИВ

Несмотря на то, что наиболее популярным кон­структивом для динамической памяти по-прежнему остается SIMM (Single In-line Memory Module), начинают применяться и другие стан­дарты. Возникновение новых стандартов вызва­но необходимостью решения двух основных про­блем. Первая связана с увеличением плотности упаковки элементов памяти, особенно актуаль­ной для рабочих станций, использующих память очень большого объема, и мобильных систем. Вторая — с обеспечением устойчивой работы при высоких частотах, которая зависит от разме­ров, емкости и индуктивности соединителя. Большую по сравнению с SIMM плотность упа­ковки и, соответственно, объем памяти могут обеспечить модули типа DIMM (Dual In-line Memory Module), у которых, в отличие от SIMM, контакты на обеих сторонах модуля не объеди­нены, а могут использоваться независимо.

Микросхемы стандартной статической памяти в основном выпускаются в корпусах типа DIP и SOJ. Память типа pipelined burst либо запаивает­ся на системную плату сразу в процессе ее изго­товления, либо поставляется в виде модулей.

ЖЕСТКИЕ ДИСКИ

Большая часть жестких дисков, представленных на мировом рынке, выпускается спе­циализированными фирмами — Quantum, Seagate, Conner, Western Digital, Maxtor и некоторыми другими.

Наши рекомендации