
- •Министерство образования российской федерации
- •Введение
- •Цель работы
- •Теоретические сведения
- •1. Архитектуры эвм
- •Sisd-компьютеры
- •Simd-компьютеры
- •Misd компьютеры
- •Mimd компьютеры
- •Многопроцессорные вычислительные системы(мпвс)
- •Многомашинные вычислительные системы (ммвс)
- •2. Оперативная память
- •3. Кэш-память
- •Типовая структура кэш-памяти
- •Стратегии обновления строк основной памяти
- •Mesi-протоколы
- •Порядок работы
- •Порядок работы с программой
- •Тестовые примеры моделирования
- •Варианты заданий для выполнения лабораторной работы
- •Контрольные вопросы
- •Библиографический список
Многомашинные вычислительные системы (ммвс)
Слабо-связанные вычислительные системы класса MIMD или многомашинные вычислительные системы реализуют асинхронный вычислительный процесс, при котором каждый процессор системы выполняет свою программу (или свой участок сложной программы) с собственными данными под управлением собственной ОС, обращаясь при этом к собственной оперативной памяти. В таких системах происходит постоянное распараллеливание вычислений. Примером такого типа архитектуры может служить сеть персональных компьютеров.
2. Оперативная память
ОП служит для хранения активных программ и данных, то есть тех программ и данных, с которыми работает ЭВМ. ОП служит для хранения информации, непосредственно участвующей в вычислительном процессе (происходящем в операционном устройстве - АЛУ). Из ОП в процессор поступают коды и операнды, над которыми производятся предусмотренные программой операции, из процессора в ОП направляются для хранения промежуточные и конечные результаты обработки информации.
3. Кэш-память
В данной лабораторной работе рассматривается многопроцессорная вычислительная система - МПВС. В такой системе наличествует несколько процессоров, которые работают с одной разделяемой ОП. Как и в любой другой вычислительной системе, здесь для повышения эффективности работы с ОП используется КЭШ-память.
В функциональном отношении кэш-память рассматривается как буферное запоминающее устройство, размещённое между основной (оперативной) памятью и процессором. Основное назначение кэш-памяти - кратковременное хранение и выдача активной информации процессору, что сокращает число обращений к основной памяти, скорость работы которой меньше, чем кэш-памяти.
За единицу информации при обмене между основной памятью и кэш-памятью принята строка(блок), причём под строкой понимается набор слов, выбираемый из оперативной памяти при одном к ней обращении. Хранимая в оперативной памяти информация представляется, таким образом, совокупностью строк с последовательными адресами. В любой момент времени строки в кэш-памяти представляют собой копии строк из некоторого их набора в ОП, однако расположены они необязательно в такой же последовательности, как в ОП.
Таким образом, повышение эффективности работы достигается двумя способами:
Процессор работает непосредственно только с быстродействующей КЭШ-памятью,
Копирование строк из ОП в КЭШ происходит большими блоками в промежутках между циклами процессора обращения к памяти
Типовая структура кэш-памяти
Рассмотрим типовую структуру кэш-памяти (рис. 3.1), включающую основные блоки, которые обеспечивают её взаимодействие с ОП и центральным процессором.
Рис. 3.1. Типовая структура кэш-памяти
Строки, составленные из информационных слов, и связанные с ними адресные теги хранятся в накопителе, который является основой кэш-памяти. Адрес требуемого слова, поступающий от центрального процессора (ЦП), вводится в блок обработки адресов, в котором реализуются принятые в данной кэш-памяти принципы использования адресов при организации их сравнения с адресными тегами. Само сравнение производится в блоке сравнения адресов (БСА), который конструктивно совмещается с накопителем, если кэш-память строится по схеме ассоциативной памяти. Назначение БСА состоит в выявлении попадания или промаха при обработке запросов от центрального процессора. Если имеет место кэш-попадание (т.е. искомое слово хранится в кэш-памяти, о чём свидетельствует совпадение кодов адреса, поступающего от центрального процессора, и одного из адресов некоторого адресного тега), то соответствующая строка из кэш-памяти переписывается в регистр строк. С помощью селектора-демультиплексора из неё выделяется искомое слово, которое и направляется в центральный процессор. В случае КЭШ-промаха с помощью блока формирования запросов осуществляется инициализация выборки из ОП необходимой строки. Адресация ОП при этом производится в соответствии с информацией, поступившей от центрального процессора. Выбираемая из памяти строка вместе со своим адресным тегом помещается в накопитель и регистр строк, а затем искомое слово передается в центральный процессор.
Для высвобождения места в кэш-памяти с целью записи выбираемой из ОП строки одна из строк удаляется. Определение удаляемой строки производится посредством блока замены строк, в котором хранится информация, необходимая для реализации принятой стратегии обновления (см. ниже) находящихся в накопителе строк.
В МПВС Кэш можно сделать общим для всех процессоров системы (см. рис.3.2.а), но это невыгодно по следующим причинам.
Кэш должен быть очень большим по объёму, а такой кэш очень дорог, поэтому обычно применяют кэш-память малую по объёму. Кроме того, работа с объёмной КЭШ-памятью будет проходить более медленно, что тоже невыгодно.
Следовательно, для МПВС правильным будет применять разделённый кэш (см. рис.3.2.б).
Проц.1 |
|
КЭШ-память
|
|
Оператив-ная память
(ОП) |
|
Проц.1 |
КЭШ-память |
|
Оператив-ная память
(ОП) |
|
|
|
|
| |||||||
Проц.2 |
Проц.2 |
К |
| |||||||
. . . |
. . . |
| ||||||||
Проц.4 |
Проц.4 |
КЭШ-память |
|
а) б)
Рис. 3.2. Организация КЭШ-памяти в МПВС (см. рис.2.2.а)
Одновременный доступ нескольких процессоров к одной ОП в ВС с разделённым кэшем можно организовать с помощью коммутационных сетей со сквозной записью данных. Тогда при модификации данных в локальном кэш процессора, нужно тут же записывать эти данные в ОП для того, чтобы другие процессоры могли иметь доступ к изменённым данным. Это резко снижает эффективность работы КЭШ [1,5].
При использовании разделённого КЭШ модифицированные данные не записываются из локального кэша в оперативную память до того момента пока строка кэш с этими данными не будет удалена из КЭШ, либо пока другой процессор не произведет чтение или модификацию этих данных (обратная запись). Из-за этого значительно меньше приходится записывать данные из локального кэш в ОП, чем для первого метода, следовательно, повышается эффективность работы КЭШ [5].