Рис. 2. 19. Конструктивные особенности ОЗУ
ОЗУ ПЭВМ может состоять из одной или нескольких плат, которые подключены к системной шине (рис. 2.19, 2.20).
Микросхемы ЗУПВ имеют организацию M×N, где М – количество адресуемых слов; N – количество разрядов в слове.
Под длительностью цикла обращения понимается минимальный временной интервал от момента поступления стабильного адреса слова до получения стабильных данных. Эта характеристика отражает быстродействие ЗУПВ.
Рис. 2.20.Структура обращения к оперативной памяти
2.4.2 Регистровая кэш-память
В качестве элементной базы основной памяти в большинстве ВМ служат микросхемы динамических ОЗУ, на порядок уступающие по быстродействию центральному процессору. В результате процессор вынужден простаивать несколько тактовых периодов, пока информация из ИМС-памяти установится на шине данных ВМ. Если ОП выполнить на быстрых микросхемах статической памяти, стоимость ВМ возрастет весьма существенно. Экономически приемлемое решение этой проблемы было предложено М. Уилксом в 1965 г. в процессе разработки ВМ Atlas и заключается в использовании двухуровневой памяти, когда между ОП и процессором размещается небольшая, но быстродействующая буферная память. В процессе работы такой системы в буферную память копируются те участки ОП, к которым производится обращение со стороны процессора, т. е. производится отображение участков ОП на буферную память. Выигрыш достигается за счет ранее рассмотренного свойства локальности: если отобразить участок ОП в более быстродействующую буферную память и переадресовать на нее все обращения в пределах скопированного участка, можно добиться существенного повышения производительности ВМ.
Уилкс М. называл рассматриваемую буферную память подчиненной (slave memory). Позже распространение получил термин кэш-память (от англ. cache – убежище, тайник), поскольку такая память обычно скрыта от программиста в том смысле, что он не может ее адресовать и может даже вообще не знать о ее существовании. Впервые кэш-системы появились в машинах модели 85 семейства IBM 360.
В общем виде использование кэш-памяти можно пояснить следующим образом. Когда ЦП пытается прочитать слово из основной памяти, сначала осуществляется поиск копии этого слова в кэш-памяти. Если такая копия существует, обращение к ОП не производится, а в ЦП передается слово, извлеченное из кэш-памяти. Данную ситуацию принято называть успешным обращением, или попаданием (hit). При отсутствии слова в кэше, т. е. при неуспешном обращении – промахе (miss) требуемое слово передается в ЦП из основной памяти, но одновременно из ОП в кэш-память пересылается блок данных, содержащий это слово.
На рисунке 2.21 приведена структура системы с основной и кэш-памятью. ОП состоит из 2n адресуемых слов, где каждое слово имеет уникальный n-разрядный адрес. При взаимодействии с кэшем эта память рассматривается как М блоков фиксированной длины по К слов в каждом (М = 2n/К). Кэш-память состоит из С блоков аналогичного размера (блоки в кэш-памяти принято называть строками), причем их число значительно меньше числа блоков в основной памяти (С<< М). При считывании слова из какого-либо блока ОП этот блок копируется в одну из строк кэша. Поскольку число блоков ОП больше числа строк, отдельная строка не может быть выделена постоянно одному и тому же блоку ОП. По этой причине каждой строке кэш-памяти соответствует тег (признак), содержащий сведения о том, копия какого блока ОП в данный момент хранится в данной строке. В качестве тега обычно используется часть адреса ОП.
На эффективность применения кэш-памяти в иерархической системе памяти влияет целый ряд моментов. К наиболее существенным из них можно отнести:
– емкость кэш-памяти;
– размер строки;
– способ отображения основной памяти на кэш-память;
– алгоритм замещения информации в заполненной кэш-памяти;
– алгоритм согласования содержимого основной памяти и кэш-памяти;
– число уровней кэш-памяти.
Рис. 2.21. Структура системы с основной памятью и кэш-памятью
Современные технологии позволяют разместить кэш-память и ЦП на общем кристалле. Такая внутренняя кэш-память строится по технологии статического ОЗУ и является наиболее быстродействующей. Емкость ее обычно не превышает 64 кбайт. Попытки увеличения емкости приводят к снижению быстродействия, главным образом из-за усложнения схем управления и дешифрации адреса. Общую емкость кэш-памяти ВМ увеличивают за счет второй (внешней) кэш-памяти, расположенной между внутренней кэш-памятью и ОП. Такая система известна под названием двухуровневой, где внутренней кэш-памяти отводится роль первого уровня (L1), а внешней – второго уровня (L2). Емкость L2 обычно на порядок больше, чем у L1, а быстродействие и стоимость – несколько ниже. Память второго уровня также строится, как статическое ОЗУ. Типичная емкость кэш-памяти второго уровня – 256 и 512 кбайт, реже 1 Мбайт, а реализуется она, как правило, в виде отдельной микросхемы, хотя в последнее время L2 часто размещают на одном кристалле с процессором, за счет чего сокращается длина связей и повышается быстродействие.
При доступе к памяти ЦП сначала обращается к кэш-памяти первого уровня. В случае промаха производится обращение к кэш-памяти второго уровня. Если информация отсутствует и в L2, выполняется обращение к ОП и соответствующий блок заносится сначала в L2, а затем и в L1. Благодаря такой процедуре часто запрашиваемая информация может быть быстро восстановлена из кэш-памяти второго уровня.
Потенциальная экономия за счет применения L2 зависит от вероятности попаданий как в L1, так и в L2. Использование кэш-памяти второго уровня существенно улучшает производительность.
В большинстве семейств микропроцессоров предусмотрены специальные ИМС контроллеров внешней кэш-памяти, например микросхема 82491 – для IntelPentium. Для ускорения обмена информацией между ЦП и L2 между ними часто вводят специальную шину (шину заднего плана), в отличие от шины переднего плана, связывающую ЦП с основной памятью.
Количество уровней кэш-памяти не ограничивается двумя. В некоторых ВМ уже можно встретить кэш-память третьего уровня (L3) и ведутся активные дискуссии о введении также и кэш-памяти четвертого уровня (L4). Характер взаимодействия очередного уровня с предшествующим аналогичен описанному для L1 и L2. Таким образом, можно говорить об иерархии кэш-памяти. Каждый последующий уровень характеризуется большей емкостью, меньшей стоимостью, но и меньшим быстродействием, хотя оно все же выше, чем у ЗУ основной памяти.
2.4.3 Внешняя память
2.4.3.1 Классификация внешних запоминающих устройств
Носитель – материальный объект, способный хранить информацию.
Устройства внешней памяти, или внешние запоминающие устройства, весьма разнообразны. Их можно классифицировать по целому ряду признаков: виду носителя, типу конструкции, принципу записи и считывания информации, методу доступа и т. д.
Один из возможных вариантов классификации ВЗУ – по виду носителей и типу конструкции – приведен на рисунке 2.22.
Рис. 2.22. Классификация внешних запоминающих устройств
В зависимости от вида носителя все ВЗУ можно подразделить на накопители на магнитной ленте и дисковые накопители.
Накопители на магнитной ленте по типу конструкции, в свою очередь, бывают двух видов: накопители на бобинной магнитной ленте (НБЛМ) и накопители на кассетной магнитной ленте (НКМЛ – стримеры). В ПК используются только стримеры.
Диски по методу считывания относятся к машинным носителям информации с прямым доступом. Понятие "прямой" доступ означает, что ПК может "обратиться" к дорожке, на которой начинается участок с искомой информацией или куда нужно записать новую информацию, непосредственно, где бы ни находилась головка чтения накопителя.
Накопители на дисках более разнообразны (табл. 2.4):
Таблица 2.4 Сравнительные характеристики дисковых накопителей
Тип накопителя | Емкость,Мбайт | Время доступа, мс | Трансферт, кбайт/с | Вид доступа |
НГМД | 1,2; 1,44 | 65 ¸ 100 | 150 | чтение-запись |
Винчестер | 250 ¸320000 | 8 ¸ 20 | 500 ¸ 3000 | чтение-запись |
Бернулли | 20 ¸ 230 | 20 | 500 ¸ 2000 | чтение-запись |
Floptical | 20,8 | 65 | 100 ¸ 300 | чтение-запись |
120 ¸ 240 | 65 | 200 ¸ 600 | чтение-запись | |
250 ¸64000 | 15 ¸ 300 | 150 ¸ 1500 | только чтение | |
CC WORM | 120 ¸64000 | 15 ¸ 150 | 150 ¸ 1500 | чтение-одно-кратная запись |
НМОД | 128 ¸64000 | 15 ¸ 150 | 300 ¸ 2000 | чтение-запись |
Примечание. Время доступа – средний временной интервал, в течение которого накопитель находит требуемые данные, – представляет собой сумму времени для позиционирования головок чтения-записи на нужную дорожку и ожидания нужного сектора. Трансферт – скорость передачи данных при последовательном чтении.
– накопители на гибких магнитных дисках (НГМД), т. е. флоппи-дисках или на дискетах;
– накопители на жестких магнитных дисках (НЖМД) типа "винчестер";
– накопители на сменных, жестких магнитных дисках, использующие эффект Бернулли;
– накопители на флоптических дисках, т. е. floptical-накопители;
– накопители сверхвысокой плотности записи, т. е. VHD-накопители;
– накопители на оптических компакт-дисках CD-ROM (Compact Disk ROM);
– накопители на оптических дисках типа CC WORM (Continuous Composite Write Once Read Many – однократная запись – многократное чтение);