UMA-мультипроцессоры с шинной архитектурой

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

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


Решение этой проблемы показано на рис. 8.2, б и заключается в добавлении к каждому центральному процессору кэш-памяти. Эта память может располагаться внутри микросхемы центрального процессора, соседствовать с этой микросхемой, находиться на общей плате или быть представлена комбинацией из трех перечисленных вариантов. Поскольку многие операции чтения теперь могут быть удовлетворены за счет локальной кэш-памяти, существенно сократится объем данных, передаваемых по шине, и система сможет поддерживать большее количество центральных процессоров.

Как правило, кэширование реализуется не пословно, а блоками по 32 или 64 байта. При обращении к слову в кэш обратившегося центрального процессора извлекается целый блок, называемый строкой кэша (cache line), или кэш-строкой.

Каждый блок кэш-памяти маркируется как предназначенный только для чтения (в этом случае он может в одно и то же время присутствовать в нескольких кэшах) или как предназначенный для чтения и записи (в этом случае он, возможно, не присутствует ни в каких других кэшах). Если центральный процессор пытается записать слово, находящееся в одном или нескольких удаленных кэшах, аппаратура шины обнаруживает запись и выставляет на шину сигнал, информирующий все остальные кэши о записи. Если другие кэши имеют неизмененные копии, в точности соответствующие содержимому блока в памяти, они могут просто забраковать эти копии и позволить процессору, осуществляющему запись, извлечь имевшийся в кэше блок из памяти перед его изменением. Если какие-нибудь другие кэши имели измененную копию, они должны были либо записать его обратно в память перед осуществлением новой записи, либо передать его по шине непосредственно тому процессору, который осуществлял запись. Этот свод правил называется протоколом поддержки когерентности кэшей (cache-coherence protocol), и это всего лишь один из многих протоколов.

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

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме UMA-мультипроцессоры с шинной архитектурой:

  1. Таненбаум Э.. Архитектура компьютера. 5-е изд, 2007
  2. Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
  3. Архитектура
  4. Молитва о возрождении на Земле Священной Архитектуры
  5. Откровение Мастеров. Архитектура – наука о Времени
  6. 5.2.17. Укрепления благосостояния своих лучших сотрудников для увеличения функциональности всех элементов, составляющих структуру и архитектуру цели
  7. Аверьянов Г.П., Дмитриева В.В.. СОВРЕМЕННАЯ ИНФОРМАТИКА, 2011
  8. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  9. Конъюнкция Сатурна
  10. Меридиан в деканатах знака Тельца
  11. Конъюнкция или благоприятная конфигурация Парс Фортуны
  12. Статья 433. Объекты авторского права
  13. Профессии
  14. Свободное использование произведения, постоянно находящегося в месте, открытом для свободного посещения
  15. Профессии