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