Статус нашего сайта: |
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Семантику памяти можно рассматривать как контракт между программным и аппаратным обеспечением памяти [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
В первом варианте оба процессора получают значение 200 в каждой из двух операций считывания. Во втором варианте процессор 3 получает значения 100 и 200, а процессор 4 — оба раза по 200. В третьем варианте процессор 3 получает два раза по 100, а процессор 4 — значения 200 и 100. Все эти варианты допустимы, как и некоторые другие, которые здесь не показаны. |