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

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


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

СС-ЫиМА-мультипроцессоры

Мультипроцессоры, подобные тому, который изображен на рис. 8.26, плохо поддаются масштабированию, поскольку в них нет кэш-памяти. Каждый раз обращаться к удаленной памяти, чтобы получить доступ к слову, которого нет в локальной памяти, очень расточительно — это весьма негативно сказывается на производительности. Однако с добавлением кэш-памяти возникает проблема согласованности кэшей. Один из способов поддержания согласованности кэшей — обеспечить слежение за системной шиной. Технически это сделать несложно, но когда количество процессоров переваливает за некоторый предел, подобное ре шение становится нереализуемым. Для создания действительно больших мультипроцессоров нужен совершенно другой подход.

Самый популярный на сегодня подход к построению больших мультипроцессоров, относящихся к системам СС-МТЛМА, реализован в мультипроцессоре на основе каталога. Основная идея состоит в хранении базы данных с информацией о том, где именно находится каждая строка кэша и каково ее состояние. При обращении к строке кэша в базу данных направляется запрос о том, где эта строка находится и является она «чистой» или «грязной» (модифицированной). Поскольку запрашивать базу данных приходится при выполнении любой команды обращения к памяти, база данных должна поддерживаться высокоскоростным специализированным аппаратным обеспечением, способным обработать запрос за доли шинного цикла.

Чтобы лучше понять, что собой представляет мультипроцессор на основе каталога, рассмотрим в качестве примера систему из 256 узлов, в которой каждый узел состоит из одного процессора и 16-мегабайтного ОЗУ, связанного с процессором локальной шиной. Общий объем памяти составляет 232 байт. Она разделена на 226 строк кэша по 64 байт каждая. Память статически распределена по узлам: адреса 0-16 М располагаются в узле 0, адреса 16-32 М — в узле 1 и т. д. Узлы связаны коммуникационной сетью (рис. 8.27, а). Сеть может быть реализована в виде решетки, гиперкуба или иметь другую топологию. Каждый узел содержит элементы каталога для 218 64-байтных строк кэша, образующих 224 байт памяти. На данный момент мы предполагаем, что строка может содержаться не более чем в одном кэше.

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

Рис. 8.27. Мультипроцессор на основе каталога, содержащий 256 узлов (а); разбиение 32-разрядного адреса памяти на поля (б); каталог в узле 36 (в)

Чтобы понять, как работает каталог, проследим путь команды LOAD из процессора 20, который обращается к кэшированной строке. Сначала процессор, выдавший команду, передает ее диспетчеру памяти, который транслирует ее, чтобы получить физический адрес, например, 0x24000108. Диспетчер памяти разделяет этот адрес на три части, как показано на рис. 8.27, б. В десятичной системе счисления эти три части представляют собой узел 36, строку 4 и смещение 8. Диспетчер памяти видит, что слово памяти, к которому производится обращение, находится в узле 36, а не в узле 20, поэтому посылает запрос через сеть в узел 36, где находится нужная строка, узнает, есть ли строка 4 в кэше, и если да, то где именно.


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

.