Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Организация систем памяти высокопроизводительных вычислителей





 

Скоростные параллельные вычислители на несколько порядков опережают по быстродействию системы динамического ОЗУ для хранения больших массивов данных. Для обеспечения непрерывной загрузки высокопроизводительных конвейеров применяются иерархичные системы ОЗУ (рис. 5.1). В таких системах памяти блок основной динамической памяти имеет самое медленное время доступа. Другая причина усложнения систем ОЗУ в высокопроизводительных вычислителях - повышенные требования к защите данных при многозадачном режиме работы вычислителя. Последняя причина обусловила наличие виртуальной адресации памяти и соответствующей аппаратуры преобразования виртуальных адресов программы в физические адреса ОЗУ, как показано на рис. 5.2. Виртуальный адрес программы всегда начинается с нулевого адреса.

Он суммируется с содержимым регистра базы, базовый адрес которого указывает, в какое место поместить программу в физической памяти. Аппаратура управления памятью включает в себя также регистр границы, с помощью которого проверяются обращения программы за пределы области разрешенных для данной задачи адресов ОЗУ, и регистр кода доступа к области ОЗУ, с помощью которого разрешается доступ на чтение/запись в ОЗУ, только чтение из ОЗУ, либо полный запрет обращения к данной области памяти. Аппаратура сравнения адресов проверяет разрешение на доступ данной задачи к данной области адресов ОЗУ. Если сформированный физический адрес - вне диапазона разрешенных адресов,

 

либо код доступа задачи не соответствует коду доступа к данной области ОЗУ, устройство управления памятью инициирует прерывание по ошибке доступа к ОЗУ. Аппаратура управления памятью обеспечивает с помощью кодов доступа сегментацию ОЗУ, т.е. деление памяти на различного размера сегменты для совместного использования несколькими задачами. Для организации более быстрого обмена с внешними устройствами виртуальная память делится на страницы. Страницы - это блоки последовательных адресов равного размера в ОЗУ. Страница является минимальной единицей обмена данными между ОЗУ и внешними устройствами. Типичный размер страницы - 4 кбайт или 2 Мбайт. Разрыв между быстродействием параллельного вычислителя и относительно медленным циклом обращения к ОЗУ устраняется введением блока дополнительной быстродействующей памяти – КЭШ - памяти между вычислителем и основным ОЗУ [3]. КЭШ - память может входить как непосредственно в состав кристалла МП, если он выполняет роль вычислителя, так и выполняться в виде отдельных БИС. Чтобы собственно вычислитель не загружать управлением данными в КЭШ - памяти, она имеет собственное устройство управления. Аппаратура такого устройства обеспечивает следующие функции:

‑ перезапись областей основного ОЗУ в КЭШ - память при отсутствии в ней данных, необходимых вычислителю;

‑ устранение неоднозначности данных КЭШ - памяти и основного ОЗУ при записи в КЭШ со стороны вычислителя и при записи в основное ОЗУ со стороны нескольких внешних устройств новых данных.

В большинстве случаев программа обращается к памяти вблизи текущей ячейки памяти (принцип локальности программы). В КЭШ - памяти находятся копии данных основного ОЗУ. В случае, если при обращении данные находятся в КЭШ - памяти, произошло КЭШ-попадание и данные быстро поступят в вычислитель. Если данные отсутствуют в КЭШ - памяти - произошел КЭШ - промах и требуемые данные загружаются в КЭШ аппаратурой управления КЭШ - памятью из основного ОЗУ.

Существуют три способа организации КЭШ - памяти:

- полностью ассоциативный;

‑ с прямым отображением;

‑ частично ассоциативный.

Полностью ассоциативная КЭШ - память содержит блоки данных, наиболее часто используемые процессором и их адреса в основной памяти.

 
 

При обращении вычислителя к КЭШ - памяти аппаратура КЭШа сравнивает параллельно адреса в КЭШ - памяти с требуемым и при совпадении выдает данные по этому адресу. Недостаток такой организации - громоздкая аппаратура параллельных компараторов сравнения адресов.

В КЭШ - памяти с прямым отображением каждый блок из основного ОЗУ занимает в КЭШе определенное единственное место, тогда не требуется хранить и сравнивать адреса основной памяти в КЭШ - памяти (рис. 5.3). При этом адрес вычислителя состоит из двух частей - поля индекса КЭШ - памяти (адрес блока данных в КЭШ - памяти) и поля признака - тега (это поле указывает, какие блоки ОЗУ можно записать на указываемое индексом место в КЭШе). Недостаток такого метода организации КЭШа - при обращении программы по двум адресам ОЗУ, загружаемым в одно и то же место КЭШа, происходит конфликт в КЭШе и непрерывная перезапись данных из ОЗУ в КЭШ - память.

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

При выборке блока данных из основного ОЗУ для записи в КЭШ - память при КЭШ - промахе существует три алгоритма записи, выбирающие, на место каких старых данных в КЭШе записать:

‑ метод случайного выбора;

‑ запись в последовательном порядке;

‑ запись на место блока, который не адресовался дольше других (при этом необходимо наличие счетчиков "возраста записи").

При записи новых данных в КЭШ со стороны вычислителя необходимо копию этих данных переписать в основное ОЗУ. Для этого используются следующие алгоритмы:

‑ сквозная запись - данные переписываются в ОЗУ сразу после записи в КЭШ;

‑ буферизованная сквозная запись - данные переписываются в буферный регистр, а при освобождении шины записываются из него в ОЗУ, при этом возможно параллельное чтение со стороны вычислителя из КЭШ, что уменьшает простои вычислителя при такой записи;

‑ обратная запись - в этом случае существует поле признака каждого блока в КЭШ, указывающее, был ли он модифицирован; и при записи новых данных на это место блок переписывается в ОЗУ, если такая модификация была либо теряется, если ее не было, причем этот алгоритм самый производительный, но и требует наибольших аппаратурных затрат.

Использование КЭШ - памяти с быстрым доступом в параллельных вычислителях высокой производительности не устраняет до конца разрыв в быстродействии собственно вычислителя и системы памяти. Для наиболее высокоскоростных параллельных или конвейерных вычислителей между КЭШем и вычислителем добавляется буферный блок высокоскоростной памяти. Существует три основных схемы построения таких буферов.

Первый вариант представляет собой два параллельно функционирующих блока буферного ОЗУ, причем пока из одного данные считываются вычислителем, в другой данные записываются со стороны КЭШ - памяти и наоборот (рис. 5.4,а). Такая буферная память выполняется на схемах регистровых скоростных файлов, у которых время доступа близко к быстродействию вычислителя (часто регистровые файлы выполняются на одном кристалле с вычислителем, если он выполнен в виде БИС). Второй вариант выполнения буфера - двухпортовый регистровый файл, аппаратура которого допускает параллельное чтение как со стороны КЭШ -памяти, так и со стороны вычислителя, и разрешает конфликт при записи с обеих сторон, придерживая запись со стороны КЭШа в пользу более быстрой записи со стороны вычислителя (рис. 5.4,б).

Третий вариант буферизации - организация очереди или нескольких очередей предварительной выборки при поступлении данных (команд) со стороны КЭШа в вычислитель и в другую сторону (рис. 5.4,в). Простейший

вариант очереди - набор сдвиговых регистров для перемещения данных по тактовым сигналам в сторону вычислителя и из него в КЭШ.

 

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


Date: 2015-11-13; view: 463; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию