Смекни!
smekni.com

Аппаратные средства (стр. 5 из 8)

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

Используемый в 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. При полностью ассоциативном подходе в качестве разрядов признаков используются все адресные разряды.