Автор работы: Пользователь скрыл имя, 10 Декабря 2012 в 21:45, курсовая работа
Конвейерная обработка основана на разделении исполняемой команды на сегменты, и выделении для каждой из них отдельного блока аппаратуры[1]. Сегментами конвейера могут быть оперативная память, арифметическое устройство, логическое устройство и др. Так же важную роль в конвейере играет организация передачи данных от одного сегмента к следующему. Конвейерную обработку можно использовать для совмещения этапов выполнения разных команд. Производительность при этом возрастает в разы, так как на различных тактах конвейера может выполняться несколько команд.
Теоретический материал 4
Конвейерная организация 4
Информационные и ресурсные конфликты 7
Организация памяти 10
Признаковый обмен и сквозная запись 13
Блоки GENERATE и TERMINATE 14
Блок ADVANCE 15
Блоки SEIZE и RELEASE 16
Блок TRANSFER 16
Блок LOGIC 17
Блок GATE 18
Задание для лабораторной работы 18
Пример выполнения задания 22
Описание используемых в модели обозначений 22
Описание модели 23
Блок-схема модели конвейерной ВС 25
Текст программы-модели конвейерной ВС 28
Выбор времени моделирования 30
Отладка модели 31
Тест 1 31
Тест 2 35
Тест 3 45
Тест 4 54
Анализ результатов моделирования 68
Анализ влияния длины I-очереди на производительность модели 68
Анализ влияния количества РАО и РДО на производительность модели 69
Анализ влияния ширины выборки из кэш-памяти на производительность модели 70
Анализ влияния формата команд на производительность модели 72
Анализ простоя логики декодирования при загруженной I-очереди 73
Варианты заданий для студентов 75
Вариант 1 75
Вариант 2 75
Вариант 3 75
Вариант 4 75
Вариант 5 76
Вариант 6 76
Вариант 7 76
Вариант 8 76
Вариант 9 77
Вариант 10 77
Список используемой литературы 77
Mark-Time: 0. Move-Time: 18.0000 Priority: 15
------------------------------
Xact 5 Placed on FEC at Block 14 (WFCP). Relative Clock: 16.0000
: STEP 1
Xact 5 Poised at Block 16 (OUTL). Relative Clock: 17.0000
: STEP 1
Xact 5 Placed on FEC at Block 16 (OUTL). Relative Clock: 17.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
18 1 6 SPLIT 1,TES3
19 3 BUF2 PRIORITY 20
20 2 LINK BUF2,FIFO
21 1 GENERATE ,,,1,10
22 1 3 TES7 ADVANCE 8
------------------------------
S/C: ON Abs Clock: 18.0000 Rel Clock: 18.0000 TTG: 1
------------------------------
Xact: 5 Curblk: BUF2 Nextblk: 20 Chains: CEC PC:
Mark-Time: 0. Move-Time: 18.0000 Priority: 20
------------------------------
Xact 5 Poised at Block 18 (OUTL+2). Relative Clock: 18.0000
: STEP 1
Xact 5 Poised at Block 19 (BUF2). Relative Clock: 18.0000
: STEP 1
Xact 5 Poised at Block 20 (BUF2+1). Relative Clock: 18.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
2 4 TES3 SAVEVALUE NUMB+,1
3 4 ASSIGN 1,NUMB
4 3 TEST L CH$BUF2,X$SBF2
5 3 PRIORITY 15
6 3 SEIZE LOGC
------------------------------
S/C: OFF Abs Clock: 18.0000 Rel Clock: 18.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 3 Nextblk: 4 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 15
------------------------------
Xact 5 Placed on user chain at Block 20 (BUF2+1). Relative Clock: 18.0000
: STEP 1
Xact 2 Poised at Block 24 (TES7+2). Relative Clock: 24.0000
: STEP 1
Xact 2 Poised at Block 22 (TES7). Relative Clock: 24.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
25 3 TES8 LOGIC R P2
26 3 LOGIC R P3
27 2 TERMINATE
28 0 GENERATE 100
29 0 TERMINATE 1
------------------------------
S/C: ON Abs Clock: 24.0000 Rel Clock: 24.0000 TTG: 1
------------------------------
Xact: 5 Curblk: 26 Nextblk: 27 Chains: CEC PC:
Mark-Time: 0. Move-Time: 18.0000 Priority: 20
------------------------------
Xact 2 Placed on FEC at Block 22 (TES7). Relative Clock: 24.0000
: STEP 1
Xact 5 Poised at Block 26 (TES8+1). Relative Clock: 24.0000
: STEP 1
Xact 5 Poised at Block 27 (TES8+2). Relative Clock: 24.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
8 4 ASSIGN 3,FN$OPR2
9 4 GATE LR P2
10 3 LOGIC S P2
11 3 TEST NE P2,P3,WFCP
12 0 GATE LR P3
------------------------------
S/C: OFF Abs Clock: 24.0000 Rel Clock: 24.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 9 Nextblk: 10 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 15
------------------------------
Xact 5 Poised at Block 27 (TES8+2). Relative Clock: 24.0000
: STEP 1
Xact 5 Destroyed at Block 27 (TES8+2). Relative Clock: 24.0000
:
Была проимитирована работа логики декодирования при поступлении команд формата регистр-регистр. Были рассмотрены два типа конфликтов: две команды хотят обратиться к одному РОН (транзакт 1 и 4) и одна команда требует обращения к одному и тому же РОН (транзакт 3).
Логика декодирования работала в соответствии с алгоритмом. При обращении к РОН 7 второй командой произошла блокировка логики декодирования. У третьей команды, первый операнд которой равен второму, произошла перезапись второго операнда в копию РОН.
Рассмотрим работу логики декодирования при поступлении команд работы с памятью. Удалим из программы все блоки, не относящиеся к логике декодирования. Параметр 1 будет указывать на номер текущей команды. Для этого заменим строчку ASSIGN 1,FN$WCOP на:
TES3 SAVEVALUE NUMB+,1
ASSIGN 1,NUMB.
Функции, определяющие первый и второй операнды:
OPR1 FUNCTION P1,E2
2,FN$REG1/4,FN$REG1
OPR2 FUNCTION P1,E2
2,FN$REG2/4,100
REG1 FUNCTION RN2,D15
.066,1/.132,2/.198,3/.264,4/.
REG2 FUNCTION RN3,D15
.066,1/.132,2/.198,3/.264,4/.
заменим на:
OPR1 FUNCTION P1,D3
1,7/2,7/3,5
Уберем все блоки работы логики декодирования для команд формата регистр-регистр:
TEST E P1,2,TES4
GATE LR P2
LOGIC S P2
TEST NE P2,P3,WFCP
GATE LR P3
LOGIC S P3
WFCP ADVANCE 1
TRANSFER ,OUTL
В тесте 2 была рассмотрена работа Е-устройства. Поэтому для упрощения заменим блок Е-устройства на:
GENERATE ,,,1,10
TES7 ADVANCE 8
UNLINK BUF2,TES8,1.
Промоделируем полученную систему.
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
2 1 TES3 SAVEVALUE NUMB+,1
3 1 ASSIGN 1,NUMB
4 0 TEST L CH$BUF2,X$SBF2
5 0 PRIORITY 15
6 0 SEIZE LOGC
------------------------------
S/C: OFF Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: 3 Nextblk: 4 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 10
------------------------------
Xact 1 Poised at Block 2 (TES3). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 3 (TES3+1). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 4 (TES3+2). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
5 1 PRIORITY 15
6 1 SEIZE LOGC
7 0 ASSIGN 2,FN$OPR1
8 0 ASSIGN 3,100
9 0 TES4 GATE LR P2
------------------------------
S/C: ON Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: 6 Nextblk: 7 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 15
------------------------------
Xact 1 Poised at Block 5 (TES3+3). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 6 (TES3+4). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 7 (TES3+5). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
8 1 ASSIGN 3,100
9 1 TES4 GATE LR P2
10 0 LOGIC S P2
11 0 CTES TEST E P1,1,OUTL
12 0 GATE LR 100
------------------------------
S/C: ON Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: TES4 Nextblk: 10 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 15
------------------------------
Xact 1 Poised at Block 8 (TES3+6). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 9 (TES4). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 10 (TES4+1). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
12 0 GATE LR 100
13 0 LOGIC S 100
14 1 1 OUTL ADVANCE 1
15 0 RELEASE LOGC
16 0 SPLIT 1,TES3
------------------------------
S/C: ON Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: OUTL Nextblk: 15 Chains: FEC PC:
Mark-Time: 0. Move-Time: 1.0000 Priority: 15
------------------------------
Xact 1 Poised at Block 11 (CTES). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 14 (OUTL). Relative Clock: 0.
: STEP 1
Xact 1 Placed on FEC at Block 14 (OUTL). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
33 0 TRANSFER ,TES6
34 1 GENERATE ,,,1,10
35 0 TES7 ADVANCE 8
36 0 UNLINK BUF2,TES8,1
37 0 SAVEVALUE LOADN-,1
------------------------------
S/C: OFF Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 4 Curblk: 34 Nextblk: TES7 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 10
------------------------------
Xact 2 Poised at Block 22 (TES5). Relative Clock: 0.
: STEP 1
Xact 3 Poised at Block 27 (TES6). Relative Clock: 0.
: STEP 1
Xact 4 Poised at Block 35 (TES7). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
16 1 2 SPLIT 1,TES3
17 1 TEST L X$OAR,X$SOAR
18 0 SAVEVALUE OAR+,1
19 0 BUF2 PRIORITY 20
20 0 LINK BUF2,FIFO
------------------------------
S/C: ON Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 17 Nextblk: 18 Chains: CEC PC:
Mark-Time: 0. Move-Time: 1.0000 Priority: 15
------------------------------
Xact 1 Poised at Block 16 (OUTL+2). Relative Clock: 1.0000
: STEP 1
Xact 1 Poised at Block 17 (OUTL+3). Relative Clock: 1.0000
: STEP 1
Xact 1 Poised at Block 18 (OUTL+4). Relative Clock: 1.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
18 1 SAVEVALUE OAR+,1
19 1 BUF2 PRIORITY 20
20 1 1 LINK BUF2,FIFO
21 1 1 GENERATE ,,,1,10
22 0 TES5 TEST G X$OAR,0
------------------------------
S/C: ON Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 20 Nextblk: --??-- Chains: UCH PC:
Mark-Time: 0. Move-Time: 1.0000 Priority: 20
------------------------------
Xact 1 Poised at Block 19 (BUF2). Relative Clock: 1.0000
: STEP 1
Xact 1 Poised at Block 20 (BUF2+1). Relative Clock: 1.0000
: STEP 1
Xact 1 Placed on user chain at Block 20 (BUF2+1). Relative Clock: 1.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
3 2 ASSIGN 1,NUMB
4 2 TEST L CH$BUF2,X$SBF2
5 1 PRIORITY 15
6 1 SEIZE LOGC
7 1 ASSIGN 2,FN$OPR1
------------------------------
S/C: OFF Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 4 Nextblk: 5 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 15
------------------------------
Xact 6 Poised at Block 3 (TES3+1). Relative Clock: 1.0000
: STEP 1
Xact 6 Poised at Block 4 (TES3+2). Relative Clock: 1.0000
: STEP 1
Xact 6 Poised at Block 5 (TES3+3). Relative Clock: 1.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
6 2 SEIZE LOGC
7 2 ASSIGN 2,FN$OPR1
8 1 ASSIGN 3,100
9 1 TES4 GATE LR P2
10 1 LOGIC S P2
------------------------------
S/C: ON Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 7 Nextblk: 8 Chains: CEC PC:
Mark-Time: 0. Move-Time: 0. Priority: 15
------------------------------
Xact 6 Poised at Block 6 (TES3+4). Relative Clock: 1.0000
: STEP 1
Xact 6 Poised at Block 7 (TES3+5). Relative Clock: 1.0000
: STEP 1
Xact 6 Poised at Block 8 (TES3+6). Relative Clock: 1.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST4.GPS Source Code...
22 1 TES5 TEST G X$OAR,0
23 1 TEST L X$ODR,X$OAR
24 0 WOS2 SAVEVALUE ODR+,1
25 0 TRANSFER ,TES5
26 1 1 GENERATE ,,,1,10
------------------------------
S/C: OFF Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 2 Curblk: 23 Nextblk: WOS2 Chains: CEC PC:
Mark-Time: 1.0000 Move-Time: 0. Priority: 10
Информация о работе Ресурсные и информационные конфликты в конвейерных системах