- •Отчет по лабораторной работе № 1
- •2. Общие сведения
- •3. Статический конвеер
- •3.1. Вектор столкновений
- •3.2. Диаграмма состояний
- •3.3. Модифицированная диаграмма состояний
- •4. Динамический конвеер
- •4.1. Матрица столкновений
- •4.2. Модифицированная диаграмма состояний
- •5. Оптимизация конструкций конвейера. Внедрение задержек, повышающих производительность
4. Динамический конвеер
4.1. Матрица столкновений
Идея описания состояний статического конвейера с помощью вектора столкновений непосредственно обобщается на динамический случай. При каждом синхроимпульсе матрица столкновений указывает множество возможных инициации. Матрица столкновений С - это двоичная матрица r X d, где r - число таблиц занятости, а d - максимальное время вычисления для всех таблиц. Аналогично вектору столкновений элемент (j,k) матрицы столкновений полагается равным 0. только если новая инициация, произведенная через k единиц времени после данного момента и относящаяся к таблице занятости типа j, не вызывает столкновений ни с одной из текущих инициации. Теперь можно разработать правила для построения диаграмм состояний во многом так же, как это было сделано в статическом случае. Однако сложность подобных диаграмм растет еще быстрее, чем раньше, и делает почти обязательным использование модифицированных диаграмм.
Первое отличие таких диаграмм от диаграмм для статического случая состоит в том, что теперь нет единственного начального состояния. Напротив, для r таблиц занятости имеется r начальных состояний, из которых i-е означает, что первая инициация в момент времени 0 была типа i. Матрицы столкновений для этих состояний называются начальными матрицами столкновений. Как и в статическом случае, эти матрицы представляют столкновения, возникающие при одной инициации, следующей в точности одна за другой; j-я строка i-й матрицы СМi является вектором столкновении между инициацией типа i и более поздней инициацией типа j.
Процесс А1А2
Латентность = 0,1,2,3,4,5,6
Вектор = 1 0 1 0 1 0 0
Процесс В1В2
Латентность = 0,1,2,3,4,5,6
Вектор - = 1 1 1 0 1 0 0
Процесс АВ
Латентность 0 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
В |
В |
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
В |
|
АВ |
|
АВ |
|
А |
Ступень 4 |
|
В |
|
АВ |
|
|
|
Латентность 1 – столкновений нет
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
|
В |
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
|
В |
А |
В |
А |
В |
А |
Ступень 4 |
|
|
В |
А |
В |
|
|
Латентность 2 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
|
|
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
|
|
АВ |
|
АВ |
|
АВ |
Ступень 4 |
|
|
|
АВ |
|
В |
|
Латентность 3 – столкновений нет
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
|
|
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
|
|
А |
В |
А |
В |
А |
Ступень 4 |
|
|
|
А |
В |
|
В |
Латентность 4 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
|
|
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
|
|
А |
|
АВ |
|
АВ |
Ступень 4 |
|
|
|
А |
|
В |
|
Латентность 5 – столкновений нет
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
|
|
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
|
|
А |
|
А |
В |
А |
Ступень 4 |
|
|
|
А |
|
|
В |
Латентность 6 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
|
|
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
|
|
А |
|
А |
|
АВ |
Ступень 4 |
|
|
|
А |
|
|
|
Латентность = 0,1,2,3,4,5,6
Вектор = 1 0 1 0 1 0 1
Процесс ВА
Латентность 0 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
А |
|
|
|
|
В |
В |
Ступень 2 |
|
А |
|
|
|
А |
|
Ступень 3 |
В |
|
ВА |
|
ВА |
|
А |
Ступень 4 |
|
В |
|
ВА |
|
|
|
Латентность 1 – столкновений нет
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
|
А |
|
|
|
В |
В |
Ступень 2 |
|
|
А |
|
|
|
А |
Ступень 3 |
В |
|
В |
А |
В |
А |
|
Ступень 4 |
|
В |
|
В |
А |
|
|
Латентность 2 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
|
|
А |
|
|
В |
В |
Ступень 2 |
|
|
|
А |
|
|
|
Ступень 3 |
В |
|
В |
|
ВА |
|
А |
Ступень 4 |
|
В |
|
В |
|
А |
|
Латентность 3 – столкновений нет
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
|
|
|
А |
|
В |
В |
Ступень 2 |
|
|
|
|
А |
|
|
Ступень 3 |
В |
|
В |
|
В |
А |
|
Ступень 4 |
|
В |
|
В |
|
|
А |
Латентность 4 – столкновений нет
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
|
|
|
|
А |
В |
В |
Ступень 2 |
|
|
|
|
|
А |
|
Ступень 3 |
В |
|
В |
|
В |
|
А |
Ступень 4 |
|
В |
|
В |
|
|
|
Латентность 5 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
|
|
|
|
|
ВА |
В |
Ступень 2 |
|
|
|
|
|
|
А |
Ступень 3 |
В |
|
В |
|
В |
|
|
Ступень 4 |
|
В |
|
В |
|
|
|
Латентность 6 – столкновение
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Ступень 1 |
|
|
|
|
|
В |
ВА |
Ступень 2 |
|
|
|
|
|
|
|
Ступень 3 |
В |
|
В |
|
В |
|
|
Ступень 4 |
|
В |
|
В |
|
|
|
Латентность = 0,1,2,3,4,5,6
Вектор = 1 0 1 0 0 1 1
Таким образом, мы получили следующие матрицы столкновений: