Скачиваний:
34
Добавлен:
01.05.2014
Размер:
654.85 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

«Санкт-Петербургский государственный электротехнический университет

"ЛЭТИ" имени В.И. Ульянова (Ленина)»

Кафедра МО ЭВМ

Отчет по лабораторной работе № 1

по дисциплине «Архитектура вычислительных систем»

Моделирование работы скалярного конвейера

Вариант 4

Выполнили студенты группы 4351 Довбыш А.А.

Мусиенко Д.В.

Руководитель Улитовский В.А.

Санкт-Петербург

2007 г

1. Постановка задачи

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

Цель. Получить представление о структуре и принципах функционировании скалярного конвейера. Уметь рассчитывать количественные характеристики скалярного конвейера и оптимальные последовательности инициаций.

Таблица занятости А

1

2

3

4

5

6

7

Ступень 1

А

Ступень 2

А

А

Ступень 3

А

А

А

Ступень 4

А

Таблица занятости В

1

2

3

4

5

6

7

Ступень 1

В

В

Ступень 2

Ступень 3

В

В

В

Ступень 4

В

В

2. Общие сведения

Идея конвейерной обработки данных состоит в том, чтобы сложную операцию разбить на множество более простых операций, которые могут выполняться одновременно. При движении объектов по конвейеру на разных его участках выполняются разные операции, а при достижении каждым объектом конца конвейера он окажется полностью обработанным. Конвейеры применяются как при обработке команд, так и в арифметических операциях. Для эффективной реализации конвейера должны выполняться следующие условия:

1) система выполняет повторяющуюся операцию;

2) эта операция может быть разделена на независимые части;

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

Принципы разбиения вычислительного процесса на ступени:

1) вычисление базовой функции эквивалентно некоторой последовательности вычислений подфункций;

2) величины, являющиеся входными для данной подфункции, являются выходными величинами той подфункции, которая предшествует данной в цепочке вычисления;

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

4) каждая подфункция может быть выполнена аппаратными блоками;

5) времена, необходимые для реализации этими аппаратными блоками своих действий.

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

Цифровой конвейер воспринимает данные, как непрерывный поток. На его вход поступают дискретные данные, которые перемещаются от ступени к ступени по сигналам датчика синхроимпульсов.

Основные определения

Статический конвейер - это такой конвейер, в котором все инициации относятся к одной и той же таблице занятости.

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

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

Использование множества меток в одном столбце соответствует введению параллелизма в вычисление функции.

Таблица занятости– двумерное представление прохождения данных по конвейеру при одном вычислении функции.

Время вычисления- - полное число единиц времени, используемых при реализации инициации таблицы занятости

Инициация – запуск единичного вычисления функции.

Столкновение– попытка двух различных инициаций использовать одну и ту же ступень конвейера одновременно.

Статическая конфигурация конвейера– все инициации относятся к одной и той же таблице занятости.

Динамическая конфигурация конвейера– инициации относятся к смеси таблиц занятости.

Латентность– число единиц времени между двумя инициациями.

Последовательностьлатентностей – перечень латентностей (записываемый в угловых скобках) между последовательными инициациями.

Средняя латентность– среднее число периодов синхронизации, которое вычисляется на основании последовательности латентностей.

Использование (загрузка) ступени– процент времени, в течении которого каждая ступень используется в данной серии инициаций.

Стратегия управления– процедура, которая выбирает последовательность латентностей.

Жадная стратегия управления – стратегия управления, которая всегда выбирает минимально возможную латентность между данной и следующей инициациями без учета каких бы то не было следующих инициаций.

Минимально достижимая латентность - наименьшая средняя латентность, достижимая при любой стратегии управления.

Цикл латентностей- периодически повторяющаяся последовательность латентностей.

Вектор столкновений– вектор, показывающий допустимые латентности между двумя инициациями.

Матрица столкновений– матрица, показывающая допустимые латентности между двумя любыми двумя инициациями таблиц занятости из данного набора таблиц.

Множество запрещенных латентностей– совокупность латентностей вызывающих столкновения между двумя инициациями.