игра брюс 2048
Главная / Аппаратное обеспечение / Архитектура параллельных вычислительных систем / Тест 8

Архитектура параллельных вычислительных систем - тест 8

Упражнение 1:
Номер 1
В длинном командном слове процессора EPIC-архитектуры присутствуют инструкции четырем логическим ИУ. Инструкция имеет вид КОП А1 А2 α, где А1 и А2 – адреса операндов, α - адрес предиката – логического значения. Среди исполняемых инструкций  есть команда сравнения (А1)≤(А2) с выработкой результата (α) и команда перестановки (А1) => А2, А2<= (А1), выполняемая в спекулятивном режиме в зависимости от значения (α). Результат логической операции можно использовать через один такт.
Разверните во времени цикл и составьте план выполнения программы модифицированной "пузырьковой" сортировки данного массива. Определите количество тактов вычислений.
Пример. M = {10, 2, 8, 5, 7, 1, 3, 5}.
План выполнения программы
α1=10≤2α2=8≤5α3=7≤1α4=3≤5
NOP
α1: 2, 10α2: 5, 8α3: 1, 7α4: 3, 5
NOP
α1=10≤5α2=8≤1α3=7≤3
NOP
α1: 5, 10α2: 1, 8α3: 3, 7
NOP
α1=2≤5α2=10≤1α3=8≤3α4=7≤5
NOP
α1: 2, 5α2: 1, 10α3: 3, 8α3: 5, 7
NOP
α1=5≤1α2=10≤3α3=8≤5
NOP
α1: 1, 5α2: 3, 10α3: 5, 8
NOP
α1=2≤1α2=5≤3α3=10≤5α4=8≤7
NOP
α1: 1, 2α2: 3, 5α3: 5, 10α4: 7, 8
NOP
α1=2≤3α2=5≤5α3=10≤7
NOP
α1: 2, 3α2: 5, 5α3: 7, 10
NOP
α1=1≤2α2=3≤5α3=5≤7α4=10≤8
NOP
α1: 1, 2α2: 3, 5α3: 5, 7α4: 8, 10
Переносы прекратились через 27 тактов M = {3, 5, 3, 6, 5, 8, 6, 4}

Ответ:

 (1) 26 тактов 

 (2) 27 тактов 

 (3) 30 тактов 


Номер 2
В длинном командном слове процессора EPIC-архитектуры присутствуют инструкции четырем логическим ИУ. Инструкция имеет вид КОП А1 А2 α, где А1 и А2 – адреса операндов, α - адрес предиката – логического значения. Среди исполняемых инструкций  есть команда сравнения (А1)≤(А2) с выработкой результата (α) и команда перестановки (А1) => А2, А2 <= (А1), выполняемая в спекулятивном режиме в зависимости от значения (a). Результат логической операции можно использовать через один такт.
Разверните во времени цикл и составьте план выполнения программы модифицированной "пузырьковой" сортировки данного массива. Определите количество тактов вычислений.
Пример.    M = {10, 2, 8, 5, 7, 1, 3, 5}.
План выполнения программы
α1=10≤2α2=8≤5α3=7≤1α4=3≤5
NOP
α1: 2, 10α2: 5, 8α3: 1, 7α4: 3, 5
NOP
α1=10≤5α2=8≤1α3=7≤3
NOP
α1: 5, 10α2: 1, 8α3: 3, 7
NOP
α1=2≤5α2=10≤1α3=8≤3α4=7≤5
NOP
α1: 2, 5α2: 1, 10α3: 3, 8α3: 5, 7
NOP
α1=5≤1α2=10≤3α3=8≤5
NOP
α1: 1, 5α2: 3, 10α3: 5, 8
NOP
α1=2≤1α2=5≤3α3=10≤5α4=8≤7
NOP
α1: 1, 2α2: 3, 5α3: 5, 10α4: 7, 8
NOP
α1=2≤3α2=5≤5α3=10≤7
NOP
α1: 2, 3α2: 5, 5α3: 7, 10
NOP
α1=1≤2α2=3≤5α3=5≤7α4=10≤8
NOP
α1: 1, 2α2: 3, 5α3: 5, 7α4: 8, 10
Переносы прекратились через 27 тактов. M = {3, 5, 3, 6, 5, 8, 6, 4}

Ответ:

 (1) 28 тактов 

 (2) 27 тактов 

 (3) 30 тактов 


Номер 3
В длинном командном слове процессора EPIC-архитектуры присутствуют инструкции четырем логическим ИУ. Инструкция имеет вид КОП А1 А2 α, где А1 и А2 – адреса операндов, α - адрес предиката – логического значения. Среди исполняемых инструкций  есть команда сравнения (А1)≤(А2) с выработкой результата (α) и команда перестановки (А1) => А2, А2 <= (А1), выполняемая в спекулятивном режиме в зависимости от значения (a). Результат логической операции можно использовать через один такт.
Разверните во времени цикл и составьте план выполнения программы модифицированной "пузырьковой" сортировки данного массива. Определите количество тактов вычислений.
Пример.    
M = {10, 2, 8, 5, 7, 1, 3, 5}.
План выполнения программы
α1=10≤2α2=8≤5α3=7≤1α4=3≤5
NOP
α1: 2, 10α2: 5, 8α3: 1, 7α4: 3, 5
NOP
α1=10≤5α2=8≤1α3=7≤3
NOP
α1: 5, 10α2: 1, 8α3: 3, 7
NOP
α1=2≤5α2=10≤1α3=8≤3α4=7≤5
NOP
α1: 2, 5α2: 1, 10α3: 3, 8α3: 5, 7
NOP
α1=5≤1α2=10≤3α3=8≤5
NOP
α1: 1, 5α2: 3, 10α3: 5, 8
NOP
α1=2≤1α2=5≤3α3=10≤5α4=8≤7
NOP
α1: 1, 2α2: 3, 5α3: 5, 10α4: 7, 8
NOP
α1=2≤3α2=5≤5α3=10≤7
NOP
α1: 2, 3α2: 5, 5α3: 7, 10
NOP
α1=1≤2α2=3≤5α3=5≤7α4=10≤8
NOP
α1: 1, 2α2: 3, 5α3: 5, 7α4: 8, 10
Переносы прекратились через 27 тактов. M = {10, 1, 2, 3, 4, 6, 5, 10}

Ответ:

 (1) 28 тактов 

 (2) 27 тактов 

 (3) 32 такта 

 (4) нет верного ответа 


Упражнение 2:
Номер 1
В длинном командном слове процессора EPIC-архитектуры присутствуют инструкции четырем логическим ИУ. Инструкция имеет вид КОП А1 А2 α, где А1 и А2 – адреса операндов, α - адрес предиката – логического значения. Среди исполняемых инструкций  есть команда сравнения (А1)≤(А2) с выработкой результата (α) и команда перестановки (А1) => А2, А2<= (А1), выполняемая в спекулятивном режиме в зависимости от значения (α). Результат логической операции можно использовать через один такт.
Разверните во времени циклы и составьте план выполнения по тактам программы сортировки данного массива с помощью прямого включения. Найдите количество тактов вычислений. M = {5, 4, 1, 2}.

Ответ:

 (1) 22 такта 

 (2) 23 такта 

 (3) 24 такта 


Номер 2
В длинном командном слове процессора EPIC-архитектуры присутствуют инструкции четырем логическим ИУ. Инструкция имеет вид КОП А1 А2 α, где А1 и А2 – адреса операндов, α - адрес предиката – логического значения. Среди исполняемых инструкций  есть команда сравнения (А1)≤(А2) с выработкой результата (α) и команда перестановки (А1) => А2, А2 <= (А1), выполняемая в спекулятивном режиме в зависимости от значения (a). Результат логической операции можно использовать через один такт. Разверните во времени циклы и составьте план выполнения по тактам программы сортировки данного массива с помощью прямого включения. Найдите количество тактов вычислений. M = {10, 1, 7, 4}.

Ответ:

 (1) 20 тактов 

 (2) 23 такта 

 (3) 21 такт 


Номер 3
В длинном командном слове процессора EPIC-архитектуры присутствуют инструкции четырем логическим ИУ. Инструкция имеет вид КОП А1 А2 α, где А1 и А2 – адреса операндов, α - адрес предиката – логического значения. Среди исполняемых инструкций  есть команда сравнения (А1)≤(А2) с выработкой результата (α) и команда перестановки (А1) => А2, А2 <= (А1), выполняемая в спекулятивном режиме в зависимости от значения (a). Результат логической операции можно использовать через один такт. Разверните во времени циклы и составьте план выполнения по тактам программы сортировки данного массива с помощью прямого включения. Найдите количество тактов вычислений. M = {1, 8, 2, 10}

Ответ:

 (1) 23 такта 

 (2) 18 тактов 

 (3) 22 такта 


Упражнение 5:
Номер 1
Рассмотрите возможности оптимизации программы сортировки. Возможна ли более компактная запись программы (с минимальным количеством NOP) при одновременной сортировке двух массивов?

Ответ:

 (1) возможна для фиксированной и одинаковой длины массивов 

 (2) должен быть исследован метод сортировки "слиянием", предполагающий независимую сортировку подмассивов с дальнейшим объединением результатов 

 (3) любой метод совместной сортировки массивов усложняет логику программы, выводя ее за рамки спекулятивного выполнения арифметических операторов 

 (4) применение модифицированной "пузырьковой" сортировки дает максимальный эффект и исключает любые поиски повышения эффективности программного кода 


Номер 2
Рассмотрите возможности оптимизации программы сортировки. Уменьшается ли суммарное время простоя оборудования (в частности, количество NOP) при увеличении длины сортируемого массива?

Ответ:

 (1) уменьшается, т.к. с увеличением длины массива возникает возможность вместо NOP продолжать проверки и переносы среди других, следующих, пар элементов 

 (2) не уменьшается, т.к. регулярность алгоритма инвариантна относительно длины массива 

 (3) уменьшается незначительно 


Номер 3
Рассмотрите возможности оптимизации программы сортировки. Назовите основные достоинства и недостатки спекулятивных вычислений при решении задачи сортировки массивов

Ответ:

 (1) они позволяют избавиться от условных переходов, значительно увеличивающих время сортировки 

 (2) они позволяют развить простейшие методы сортировки, - такие как "пузырьковая" и быстрая, - обеспечивая на практике ее теоретическую сложность 

 (3) поскольку не все команды, помеченные предикатами, выполняются при конкретных вычислениях, создается обманчивое впечатление плотного программного кода 

 (4) динамическое выделение выполняемой ветви программы не обеспечивает преимущества во времени по сравнению с явным применением команд условного перехода 




Главная / Аппаратное обеспечение / Архитектура параллельных вычислительных систем / Тест 8