Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.458


Таненбаум Э.- Архитектура компьютера. стр.458

Семантику памяти можно рассматривать как контракт между программным и аппаратным обеспечением памяти [4]. Если программное обеспечение соглашается следовать определенным правилам, то память соглашается выдавать определенные результаты. Основная проблема здесь — сами правила, которые называются моделями состоятельности. Было предложено и разработано множество таких правил.

Чтобы представить себе суть проблемы, предположим, что процессор 0 записывает значение 1 в какое-то слово памяти, а немного позже процессор 1 записывает значение 2 в то же самое слово. Процессор 2 считывает это слово и получает значение 1. Должен ли владелец компьютера обратиться после этого в бюро ремонта? Это зависит от того, что обещано в контракте.

Строгая состоятельность

Самая простая модель — модель строгой состоятельности. В такой модели при любом считывании из адреса х всегда возвращается значение самой последней записи в х. Программистам очень нравится эта модель, но ее можно реализовать на практике только следующим образом: должен быть единственный модуль памяти, просто обслуживающий все запросы по мере их поступления (первым поступил — первым обработан), кэширование и дублирование данных не допускаются. К несчастью, этот подход значительно затормозил бы работу памяти, поэтому вряд ли может рассматриваться в качестве серьезного предложения.

Секвенциальная состоятельность

Следующей мы рассмотрим модель секвенциальной состоятельности [121]. В соответствии с этой моделью при наличии нескольких запросов на чтение и запись порядок обработки запросов определяется аппаратно, но при этом все процессоры воспринимают один и тот же порядок.

Рассмотрим пример. Предположим, процессор 1 записывает значение 100 в слово х, а через 1 не процессор 2 записывает туда же значение 200. А теперь предположим, что через 1 не после начала второй операции записи (процесс записи еще не закончен) два других процессора, 3 и 4, считывают слово х по два раза (рис. 8.19).

Возможные варианты очередности шести событий представлены в табл. 8.4.

Таненбаум Э.- Архитектура компьютера.

Рис. 8.19. Два процессора записывают, а другие два процессора считывают одно и то же слово из общей памяти

Таблица 8.4. Возможные варианты очередности событий согласно рис. 8.19

Вариант 1

Вариант 2

 

Вариант 3

 

Запись значения 100

Запись значения

Запись значения

Запись значения 200

Чтение значения

Чтение значения

 

процессором 3

 

процессором 4

 

Чтение значения 200

Запись значения

Запись значения

процессором 3

       

Чтение значения 200

Чтение значения

Чтение значения

процессором 3

процессором 4

 

процессором 3

 

Чтение значения 200

Чтение значения

Чтение значения

процессором 4

процессором 3

 

процессором 4

 

Чтение значения 200

Чтение значения

Чтение значения

процессором 4

процессором 4

 

процессором 3

 

В первом варианте оба процессора получают значение 200 в каждой из двух операций считывания. Во втором варианте процессор 3 получает значения 100 и 200, а процессор 4 — оба раза по 200. В третьем варианте процессор 3 получает два раза по 100, а процессор 4 — значения 200 и 100. Все эти варианты допустимы, как и некоторые другие, которые здесь не показаны.


⇐ Предыдущая страница| |Следующая страница ⇒

.