Статус
нашего
сайта:
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

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


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

Когда начинается следующая операция acquire, производится проверка, все ли предыдущие операции release завершены. Если нет, то операция acquire задерживается до тех пор, пока это не будет сделано (а перед тем, как завершатся все операции release, должны быть завершены все операции записи). Таким образом, если следующая операция acquire выполняется через достаточно длительный промежуток времени после последней операции release, ей не нужно ждать, и она может войти в критическую область без задержки. Если операция acqui ге выполняется через небольшой промежуток времени после операции release, она (и все команды, которые должны выполняться следом) ожидает завершения всех операций release. Это гарантирует, что все переменные в критической об ласти будут обновлены. Такая модель немного сложнее, чем модель слабой состоятельности, но она имеет существенное преимущество: здесь не нужно задерживать выполнение команд так часто, как в модели слабой состоятельности.

Вопрос о состоятельности памяти нельзя считать окончательно решенным. Исследователи до сих пор предлагают новые модели [35, 86].

иМА-мультипроцессоры в симметричных мультипроцессорных архитектурах

Самые простые мультипроцессоры имеют всего одну шину (рис. 8.21, а). Два или более процессора и один или несколько модулей памяти используют эту шину для взаимодействия. Если процессору нужно считать слово из памяти, он сначала проверяет, свободна ли шина. Если шина свободна, процессор помещает адрес нужного слова на шину, устанавливает несколько управляющих сигналов и ждет, когда память поместит на шину запрошенное слово.

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

Рис. 8.21. Три варианта мультипроцессора на одной шине: без кэш-памяти (а); с кэш-памятью (б); с кэш-памятью и отдельными модулями локальной памяти (б)

Если шина занята, процессор просто ждет, когда она освободится. С этой схемой связана одна проблема. При наличии двух или трех процессоров доступ к шине регулировать не сложно, трудности возникают, когда процессоров 32 или 64. Производительность системы в этом случае полностью определяется пропускной способностью шины, и многим процессорам большую часть времени приходится простаивать.

Чтобы разрешить проблему, нужно добавить к каждому процессору кэшпамять, как показано на рис. 8.21, б. Кэш-память может находиться внутри микросхемы процессора, рядом с микросхемой процессора, на плате процессора.

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

В следующей схеме каждый процессор имеет не только кэш, но и собственную локальную память, к которой он получает доступ через выделенную локальную шину (рис. 8.21, б). Чтобы оптимально задействовать эту конфигурацию, компилятор должен поместить в локальные модули памяти весь программный код, строки, константы и другие данные, предназначенные только для чтения, а также стеки и локальные переменные. Общая память потребуется только для хранения совместно используемых переменных. В большинстве случаев такое разумное распределение значительно снижает интенсивность трафика на шине и не требует активного содействия со стороны компилятора.


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

.