- •Министерство образования и науки российской федерации
- •«Самарский государственный технический университет»
- •Ю. В. Калмыков, а. В. Тараканов
- •Введение
- •1. Содержание и объем курсовой работы
- •2. Оформление курсовой работы
- •3. Распараллеливание обработки
- •4. Потоковая обработка информации
- •4.1. Организация потоковой обработки информации
- •4 14 .2. Построение программ коммутации
- •Программа коммутации
- •5. Организация параллельных
- •6. Пример создания мультипоточного
- •В качестве альтернативного способа достижения высокой скорости вычислений является написание программного кода на языке ассемблера.
- •7. Определение временных
- •Первоначально необходимо установить настройки среды программирования, как показано на рис. 7.1 – 7.3.
- •8. Порядок выполнения работы
- •9. Содержание расчетно-пояснительной
- •Сызрань 2010 Приложение п2
- •1) Функция изменения состояния синхронизирующего объекта события, устанавливающая его в состояние “Включено”.
- •Продолжение прил. П2
- •Продолжение прил. П2
- •Продолжение прил. П2
- •Окончание прил. П2
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Окончание прил. П3
- •Приложение п5
- •Продолжение прил. П5
- •Продолжение прил. П5
- •Окончание прил. П5
- •Приложение п6
- •Библиографический список
- •Оглавление
- •Системное программное обеспечение
- •443100, Г. Самара, ул. Молодогвардейская, 244. Главный корпус
- •446001, Г. Сызрань, ул. Советская, 45
Программа коммутации
Nk |
|
A1 |
A2 |
A3 |
1 |
+ |
a |
b |
(1, 1) |
2 |
+ |
c |
d |
(2, 1) |
3 |
+ |
e |
f |
(3, 1) |
4 |
|
h |
i |
(4, 1) |
5 |
|
m |
|
(1, 2) |
6 |
|
(1, 1) |
(2, 1) |
(2, 2) |
7 |
+ |
(3, 1) |
g |
(3, 2) |
8 |
|
(4, 1) |
j |
(4, 2) |
9 |
– |
i |
(1, 2) |
(1, 3) |
10 |
|
(2, 2) |
(3, 2) |
(2, 3) |
11 |
|
k |
(1, 3) |
(3, 3) |
12 |
– |
(2, 3) |
(4, 2) |
(4, 3) |
13 |
: |
(4, 3) |
(3, 3) |
A |
Учтем это, преобразовав выражение с использованием адресов вычислителей, на которых получены результаты счета:
А (1,1) (2,1) (3,1) g + (4,1) j - k l (1,2) - : : = (4.3)
Это бесскобочная запись выражения (4.1) при условии выполнения множества операций назначенными для этого вычислителями на первом шаге.
Применим на втором шаге для нее тот же прием планирования использования вычислителей, что и на первом шаге. Отразим его, преобразовав запись (4.3):
Эта запись иллюстрирует формирование команд 6 – 9 программы коммутации вычислителей на втором шаге.
С учетом дальнейшего условного выполнения операций вновь сформируем промежуточную бесскобочную запись счета значения исходного выражения, соответствующую выполнению второго яруса (третий ярус вершин) в графе G:
А (2,2) (3,2) (4,2) – k (1,3) : : = (4.4)
Как и выше, планируем использование вычислителей для выполнения первой операции в каждой цепочке
Таким образом, на третьем шаге формируются команды 10 и 11, а запись преобразуется:
А (2,3) (4,2) – (3,3) : : = (4.5)
На основе принятого порядка использования вычислителей на четвертом шаге формируется команда 12, предполагающая выполнение операции вычитания на вычислителе (4,3), и на пятом шаге формируется команда 13 получения окончательного результата А на вычислителе (1,4). На рис. 4.4 показана схема коммутации вычислителей для счета значения выражения (4.1).
Таким образом, программа коммутации вычислителей составляется на основе анализа графа G по ярусам. Это способствует более раннему началу работы вычислителей при выполнении работ в порядке предшествования операций.
При планировании выполнения операций мы считаем, что вычислитель, вырабатывающий результат, сам организует пересылку его для дальнейшего использования в качестве операнда или в память, т. е. вычислитель не производит опроса других вычислителей в ожидании готовности операндов для себя (в этом отличие от так называемых редукционных ВС). Необходимость такой пересылки и ее направление полностью определяются в процессе выполнения программы коммутации, как только встречается команда, в которой адрес данного вычислителя указан как источник операнда. В зависимости от позиции в выбранной нами трехадресной команде, в которой указан адрес этого вычислителя, формируется информация о том месте, на которое должен быть помещен результат на регистре буфера вычислителя-преемника. Это важно для правильного выполнения некоммутативных операций.
Рассмотрев теоретические принципы организации параллельных вычислений, перейдем к практической составляющей. Одним из практических способов организации управления совместной работой исполнительных устройств при выполнении одной программы в ВС является управление потоком данных или организация потоковой обработки информации. Далее рассмотрим организацию параллельных вычислений средствами операционной системы.
