Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
30.04.2013
Размер:
328.19 Кб
Скачать

19) Обеспечение эффективности обработки данных. Иерархия зу. Кэширование. Буферизация данных.

Память вычислительной машины представляет собой иерархию запоминающих устройств, кот имеет 2 уровня: основную(главную, оперативную) и вторичную (внешнюю). Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из кот имеет свой адрес. Вторичная – можно рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. Многоуровневую схему используют: инфа кот находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.

Рис. Иерархия ЗУ

1)Внешняя память – имеет большой объем, но небольшую скорость данных(мс). 2)Оперативная память - более быстродействующая. Время доступа к данным приблизительно 10-20 нсек, менее объемная от 10 мб до 10 гб. 3)Сверх – оперативное ЗУ – для хранения данных, к кот необходим постоянный доступ, время доступа не превышает 8 нсек. 4)Внутренние регистры процессора – используются для промежуточного хранения данных, объем регистров несколько десятков байтов, время доступа определяется быстродействием процессора и равно 2-3 нсек.

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

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

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

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

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

Любой запрос на ввод-вывод к блок-ориентированному устройству преобразуется в запрос к подсистеме буферизации, которая представляет собой буферный пул и комплекс программ управления этим пулом. Буферный пул состоит из буферов, находящихся в области ядра. Размер отдельного буфера равен размеру блока данных на диске. С каждым буфером связана специальная структура - заголовок буфера, в котором содержится следующая информация: 1)Данные о состоянии буфера: занят/свободен, чтение/запись, признак отложенной записи, ошибка ввода-вывода. 2)Данные об устройстве - источнике информации, находящейся в этом буфере: тип устройства, номер устройства, номер блока на устройстве. 3)Адрес буфера. 4)Ссылка на следующий буфер в очереди свободных буферов, назначенных для ввода-вывода какому-либо устройству.

Соседние файлы в папке Материал