Главная страница

С. Н. Ан


Скачать 217.92 Kb.
НазваниеС. Н. Ан
Дата28.08.2021
Размер217.92 Kb.
Формат файлаdocx
Имя файлаquestion39.docx
ТипДокументы
#228178
страница8 из 13
1   ...   5   6   7   8   9   10   11   12   13
2.4 Процессоры для параллельных компьютеров
Идея параллелизма, как средства увеличения быстродействия ЭВМ, возникла очень давно - еще в 19-м веке. Принято выделять четыре уровня параллелизма:
1. Параллелизм заданий - каждый процессор загружается своей собственной независимой от других вычислительной задачей. Параллелизм такого типа представляет интерес скорее для системных администраторов, чем рядовых пользователей;

2. Параллелизм на уровне программы - вычислительная программа разбивается на части,

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

3. Параллелизм команд - обычно реализован на низком уровне, это, например, конвейеры и т.д.;

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

сложением всех их двоичных разрядов.
Как видим, в первом и втором случаях нет необходимости в какой-то особой архитектуре процессора и лишь в третьем и четвертом случаях требуется введение новых элементов, речь о которых уже шла выше. Но все они не являются специфическими для параллельной многопроцессорной архитектуры.
2.5 Оперативная память
Характеристики оперативной памяти и особенности ее устройства являются важнейшим фактором, от которого зависит быстродействие компьютера. Ведь даже при наличии быстрого процессора скорость выборки данных из памяти может оказаться невысокой, и именно эта невысокая скорость работы с оперативной памятью будет определять быстродействие компьютера. Время цикла работы с памятью tm обычно заметно больше, чем время цикла центрального процессора tc. Если процессор инициализирует обращение к памяти, она будет занята в течение времени tc+tm и в течение этого промежутка времени ни одно другое устройство, в том числе и сам процессор не смогут работать с оперативной памятью. Таким образом, возникает проблема доступа к памяти.

Эта проблема решается специальной организацией оперативной памяти. Принята следующая классификация параллельных компьютеров по архитектуре подсистем оперативной памяти:

системысразделяемойпамятью, у которых имеется одна большая виртуальная память и

все процессоры имеют одинаковый доступ к данным и командам, хранящимся в этой

памяти;

системысраспределеннойпамятью, у которых каждый процессор имеет свою локальную

оперативную память и к этой памяти у других процессоров нет доступа.

Различие этих двух типов памяти проявляется в структуре виртуальной памяти, то есть

памяти, как она "видна" процессору. Физически память обычно делится на части, доступ к которым может быть организован независимо. Различие между разделяемой и распределенной памятью заключается в способе интерпретации адреса. Это различие проще пояснить на следующем примере. Пусть один из процессоров выполняет команду вида load r1, i - "загрузить в регистр r1 данные из ячейки памяти i". Если команда выполняется на компьютере с разделяемой памятью, номер ячейки i имеет одинаковый смысл для всех процессоров, i является глобальным адресом. В случае системы с распределенной памятью, ячейка i разная для разных процессоров и в регистры r1 по этой команде будут загружены разные значения.

Для программиста часто бывает важно знать тип оперативной памяти компьютера, на

котором он работает. Ведь архитектура памяти определяет способ взаимодействия между

различными частями параллельной программы. При выполнении на компьютере с

распределенной памятью программа перемножения матриц, например, должна создать копии перемножаемых матриц на каждом процессоре, что технически осуществляется передачей на эти процессоры сообщения, содержащего необходимые данные. В случае системы с разделяемой памятью достаточно лишь один раз задать соответствующую структуру данных и разместить ее в оперативной памяти. Остановимся подробнее на различных архитектурах подсистемы памяти.
1   ...   5   6   7   8   9   10   11   12   13


написать администратору сайта