Программирование на JAVA

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

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

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


<< назад вперед >>