Читайте также:
|
|
Физическая память ВС состоит из нескольких модулей (банков), при этом существенным вопросом является то, как в этом случае распределено адресное пространство. Один из способов распределения виртуальных адресов по модулям памяти состоит в разбиении адресного пространства на последовательные блоки. Если память состоит из n банков, то ячейка с адресом I при поблочном разбиении будет находиться в банке с номером i/n. В системе памяти с чередованием адресов последовательные адреса располагаются в различных банках: ячейка с адресом I находится в банке с номером I mod(n). Пусть, например, память состоит их 4-х банков по 256 байт в каждом. В схеме с чередованием адресов последовательные ячейки в первом банке будут иметь виртуальные адреса 0, 4, 8…; во втором – 1, 5, 9 и.т.д. см. рис.
П М0 М1 М2 М3
Адреса
Рис.
Распределение адресного пространства по модулям дает возможность одновременной обработки запросов на доступ к памяти, если соответствующие адреса относятся к разным банкам. Процессор может в одном из циклов затребовать доступ к ячейке і, а в следующем – к ячейке j. Если эти ячейки находятся в разных банках, информация будет передана в последовательных циклах. Здесь под циклом понимается цикл процессора, в то время, как полный цикл памяти занимает несколько циклов процессора. Таким образом, в данном случае не должен ждать, пока будет завершен полный цикл обращения к ячейке. Рассмотренный прием позволяет повысить пропускную способность, если система памяти состоит из достаточного числа банков, имеется возможность обмена информацией между процессором и памятью со скоростью одно слово за цикл процессора, независимо от длительности цикла памяти.
Решение о том, какой вариант распределения адресов выбрать (поблочный или с расслоением)зависит от ожидаемого порядка доступа к информации. Программы компилируются так, что последовательные команды располагаются в ячейках с последовательными адресами, поэтому высока вероятность, что после команды, извлеченной из ячейки с адресом і будет выполняться команда из ячейки с адресом і +1. Элементы векторов компилятор также помещает в последовательные ячейки, поэтому в операциях с векторами можно использовать преимущества метода чередования. По этой причине в векторных процессорах обычно применяется какой – либо вариант чередования адресов. В мультипроцессорах с совместно используемой памятью тем не менее используется поблочная адресация, поскольку схемы обращения к памяти в МИМД –системах могут сильно различаться. В таких системах целью является соединить процессор с блоком памяти и задействовать максимум находящейся в нем информации, прежде чем переключиться на другой блок памяти.
Дата добавления: 2015-09-10; просмотров: 106 | Поможем написать вашу работу | Нарушение авторских прав |