МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ” Кафедра “Обчислювальна техніка та програмування”
РГЗ з курсу “Комп’ютерні системи”
Варіант № xxxx
Виконав:
Студент групи xxxx
xxxxxx.
Перевірив:
xxxxxxxxx.
Харків 2007
Задача №1
Составить алгоритм и программу вычисления функции на параллельной структуре, используя разложение функции в ряд Маклорена.
,
де – условие окончания расчетов.
Решение
Однопроцессорный алгоритм решения заданной задачи:
Многопроцессорный алгоритм решения задачи:
Программа на параллельном Паскале:
Program par_pascal;
Var
R, S, x, f, L, e : real;
K : longinteger;
BEGIN
FORK;
begin
read(e);
R := 0;
K = 1;
end;
begin
read(x) ;
S := x;
F := x*x;
end;
JOIN;
repeat
FORK;
begin
R := R + S;
L = S*(-1);
end;
begin
K = K + 2;
Z=1/(K*(K-1))
end;
JOIN;
S := L*z;
until (ABS(S) > e);
writeln(R);
END.
Задача №2
Спроектировать два универсальных программируемых конвейера с числом звеньев m1 и m2 для вычисления массивы С длинной n элементов. Определить и сравнить эффективности конвейеров и выполнить анализ полученных результатов. Определить размер буферной памяти между звеньями.
Длительность операций: Чтение, запись 4 +, - 3 *, / 5
,
6 инкремент, декремент 1
m1 = 5, m2 = 6.
Решение
1. Составим таблицу операций:
№ п/п Операция Количество тактов 1
чтение
4 2
чтение
4 3
вычисление
5 4
вычисление
5 5
вычисление
3 6
вычисление
3 7
вычисление
5 8
вычисление
5 8
вычисление
3 9
вычисление
3 10
вычисление
6 11
вычисление
5 12
вычисление
5 13
запись
4 14 n = n -1 1 15 if n >…, goto п. 1 1
2. Тпосл = 6т + 6×5т +3×4т + 4×3т + 2×1т = 62т
3. при m = 4 Тзв.треб.1 62т / 5 = 12,4 = 13;
при m = 6 Тзв.треб.2 62т / 6 = 10,33 = 11;
4. Распределение операций между звеньями конвейера при m = 5:
Входные данные поступают на первое ( и ) звено, обратной линией отмечено управление конвейером (когда на первом звене выполняется условие n>0, то на пятом звене оно соответствует условию n-4>0; это условие проверяется на пятом, и сигнал о чтении следующего значения или прекращение чтения поступает на первое звено).
Распределение операций между звеньями конвейера при m = 6:
5. Графики загрузки процессоров
6. Для m = 5 Тдейств = 13.
Для m = 6 Тдейств = 11.
7.
Для m = 5
при .
Для m = 6
при ,
– эффективность конвейера на 6-ть шагов выше.
8. Размер буферной памяти между звеньями:
при m = 5 – 5 элементов;
при m = 6 – 5 элементов.
9. Критическая длина массива
m=5 m=6
=1 =1
Вывод: Наиболее эффективна конвейерная обработка при наибольшем числе звеньев конвейера. ............