Автор работы: Пользователь скрыл имя, 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
S/C: ON Abs Clock: 3.0000 Rel Clock: 3.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 3 Nextblk: 4 Chains: FEC PC:
Mark-Time: 0. Move-Time: 4.0000 Priority: 10
------------------------------
Xact 1 Poised at Block 2 (TES6). Relative Clock: 3.0000
: STEP 1
Xact 1 Poised at Block 3 (TES6+1). Relative Clock: 3.0000
: STEP 1
Xact 1 Placed on FEC at Block 3 (TES6+1). Relative Clock: 3.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
9 3 SAVEVALUE NNEW+,1
10 3 ASSIGN 1,X$NNEW
11 2 ASSIGN 2,FN$OPR1
12 2 ASSIGN 3,FN$OPR2
13 2 SAVEVALUE LOADN-,1
------------------------------
S/C: OFF Abs Clock: 3.0000 Rel Clock: 3.0000 TTG: 1
------------------------------
Xact: 2 Curblk: 10 Nextblk: 11 Chains: CEC PC:
Mark-Time: 1.0000 Move-Time: 0. Priority: 10
------------------------------
Xact 2 Poised at Block 9 (TES7+1). Relative Clock: 3.0000
: STEP 1
Xact 2 Poised at Block 10 (TES7+2). Relative Clock: 3.0000
: STEP 1
Xact 2 Poised at Block 11 (TES7+3). Relative Clock: 3.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
12 3 ASSIGN 3,FN$OPR2
13 3 SAVEVALUE LOADN-,1
14 4 SPLIT 1,STP2
15 2 TRANSFER ,TES7
16 2 STP2 PRIORITY 20
------------------------------
S/C: OFF Abs Clock: 3.0000 Rel Clock: 3.0000 TTG: 1
------------------------------
Xact: 2 Curblk: 13 Nextblk: 14 Chains: CEC PC:
Mark-Time: 1.0000 Move-Time: 0. Priority: 10
------------------------------
Xact 2 Poised at Block 12 (TES7+4). Relative Clock: 3.0000
: STEP 1
Xact 2 Poised at Block 13 (TES7+5). Relative Clock: 3.0000
: STEP 1
Xact 2 Poised at Block 14 (TES7+6). Relative Clock: 3.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
15 1 3 TRANSFER ,TES7
16 3 STP2 PRIORITY 20
17 2 SEIZE CPU
18 2 ADVANCE X$WCPU
19 2 RELEASE CPU
------------------------------
S/C: ON Abs Clock: 3.0000 Rel Clock: 3.0000 TTG: 1
------------------------------
Xact: 6 Curblk: STP2 Nextblk: 17 Chains: CEC PC:
Mark-Time: 1.0000 Move-Time: 0. Priority: 20
------------------------------
Xact 2 Poised at Block 15 (TES7+7). Relative Clock: 3.0000
: STEP 1
Xact 2 Poised at Block 8 (TES7). Relative Clock: 3.0000
: STEP 1
Xact 6 Poised at Block 17 (STP2+1). Relative Clock: 3.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
16 3 STP2 PRIORITY 20
17 3 SEIZE CPU
18 1 3 ADVANCE X$WCPU
19 2 RELEASE CPU
20 2 TEST NE P1,1,RONW
------------------------------
S/C: ON Abs Clock: 3.0000 Rel Clock: 3.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 18 Nextblk: 19 Chains: FEC PC:
Mark-Time: 1.0000 Move-Time: 4.0000 Priority: 20
------------------------------
Xact 6 Poised at Block 17 (STP2+1). Relative Clock: 3.0000
: STEP 1
Xact 6 Poised at Block 18 (STP2+2). Relative Clock: 3.0000
: STEP 1
Xact 6 Placed on FEC at Block 18 (STP2+2). Relative Clock: 3.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
23 1 ADVANCE 1
24 1 RELEASE STOR
25 2 DEL2 TERMINATE
26 1 RONW ADVANCE 1
27 1 TRANSFER ,DEL2
------------------------------
S/C: ON Abs Clock: 4.0000 Rel Clock: 4.0000 TTG: 1
------------------------------
Xact: 5 Curblk: 24 Nextblk: DEL2 Chains: PC:
Mark-Time: 1.0000 Move-Time: 4.0000 Priority: 20
------------------------------
Xact 6 Placed on FEC at Block 18 (STP2+2). Relative Clock: 3.0000
: STEP 1
Xact 5 Poised at Block 25 (DEL2). Relative Clock: 4.0000
: STEP 1
Xact 5 Destroyed at Block 25 (DEL2). Relative Clock: 4.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
24 1 RELEASE STOR
25 2 DEL2 TERMINATE
26 1 RONW ADVANCE 1
27 1 TRANSFER ,DEL2
28 0 GENERATE 10000
------------------------------
S/C: ON Abs Clock: 4.0000 Rel Clock: 4.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 21 Nextblk: RONW Chains: CEC PC:
Mark-Time: 1.0000 Move-Time: 4.0000 Priority: 20
------------------------------
Xact 6 Poised at Block 20 (STP2+4). Relative Clock: 4.0000
: STEP 1
Xact 6 Poised at Block 21 (STP2+5). Relative Clock: 4.0000
: STEP 1
Xact 6 Poised at Block 26 (RONW). Relative Clock: 4.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
3 4 ADVANCE 1
4 4 SAVEVALUE LOADN+,1
5 3 RELEASE LOAD
6 3 TRANSFER ,TES6
7 1 GENERATE ,,,1,10
------------------------------
S/C: OFF Abs Clock: 4.0000 Rel Clock: 4.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 4 Nextblk: 5 Chains: CEC PC:
Mark-Time: 0. Move-Time: 4.0000 Priority: 10
------------------------------
Xact 6 Poised at Block 26 (RONW). Relative Clock: 4.0000
: STEP 1
Xact 6 Placed on FEC at Block 26 (RONW). Relative Clock: 4.0000
: STEP 1
Xact 1 Poised at Block 5 (TES6+3). Relative Clock: 4.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
23 1 ADVANCE 1
24 1 RELEASE STOR
25 3 DEL2 TERMINATE
26 2 RONW ADVANCE 1
27 2 TRANSFER ,DEL2
------------------------------
S/C: OFF Abs Clock: 5.0000 Rel Clock: 5.0000 TTG: 1
------------------------------
Xact: 6 Curblk: 27 Nextblk: DEL2 Chains: PC:
Mark-Time: 1.0000 Move-Time: 5.0000 Priority: 20
------------------------------
Xact 7 Placed on FEC at Block 18 (STP2+2). Relative Clock: 4.0000
: STEP 1
Xact 6 Poised at Block 25 (DEL2). Relative Clock: 5.0000
: STEP 1
Xact 6 Destroyed at Block 25 (DEL2). Relative Clock: 5.0000
:
Была проимитирована работа Е-устройства. Были рассмотрены три типа команд форматов: регистр-регистр (транзакт 4), память-регистр (транзакт 5) и регистр-память (транзакт 6). Е-устройство работало в соответствии с алгоритмом.
Рассмотрим работу логики декодирования при поступлении команд формата регистр-регистр. Удалим из программы все блоки, не относящиеся к логике декодирования. Параметр 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,6/3,5
OPR2 FUNCTION P1,D3
1,8/2,7/3,5.
Уберем все блоки работы с памятью:
TEST E P1,2,TES4
TES4 GATE LR P2
LOGIC S P2
CTES TRANSFER .95,CONF,OUTL
CONF ADVANCE 8
TRANSFER ,CTES
TEST E P1,4,BUF2
TEST L X$OAR,X$SOAR
SAVEVALUE OAR+,1.
В тесте 2 была рассмотрена работа Е-устройства. Поэтому для упрощения заменим блок Е-устройства на:
GENERATE ,,,1,10
TES7 ADVANCE 8
UNLINK BUF2,TES8,1.
Промоделируем полученную систему.
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.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 TEST3.GPS Source Code...
5 1 PRIORITY 15
6 1 SEIZE LOGC
7 0 ASSIGN 2,FN$OPR1
8 0 ASSIGN 3,FN$OPR2
9 0 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 TEST3.GPS Source Code...
8 1 ASSIGN 3,FN$OPR2
9 1 GATE LR P2
10 0 LOGIC S P2
11 0 TEST NE P2,P3,WFCP
12 0 GATE LR P3
------------------------------
S/C: ON Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: 9 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 (TES3+7). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 10 (TES3+8). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
12 0 GATE LR P3
13 0 LOGIC S P3
14 1 1 WFCP ADVANCE 1
15 0 TRANSFER ,OUTL
16 0 OUTL ADVANCE 1
------------------------------
S/C: ON Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: WFCP Nextblk: 15 Chains: FEC PC:
Mark-Time: 0. Move-Time: 1.0000 Priority: 15
------------------------------
Xact 1 Poised at Block 11 (TES3+9). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 14 (WFCP). Relative Clock: 0.
: STEP 1
Xact 1 Placed on FEC at Block 14 (WFCP). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
20 0 LINK BUF2,FIFO
21 1 GENERATE ,,,1,10
22 1 1 TES7 ADVANCE 8
23 0 UNLINK BUF2,TES8,1
24 0 TRANSFER ,TES7
------------------------------
S/C: OFF Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 2 Curblk: TES7 Nextblk: 23 Chains: FEC PC:
Mark-Time: 0. Move-Time: 8.0000 Priority: 10
------------------------------
Xact 1 Placed on FEC at Block 14 (WFCP). Relative Clock: 0.
: STEP 1
Xact 2 Poised at Block 22 (TES7). Relative Clock: 0.
: STEP 1
Xact 2 Placed on FEC at Block 22 (TES7). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total TEST3.GPS Source Code...
14 1 WFCP ADVANCE 1
15 1 TRANSFER ,OUTL
16 1 1 OUTL ADVANCE 1
17 0 RELEASE LOGC
18 0 SPLIT 1,TES3
------------------------------
S/C: OFF Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 1 Curblk: OUTL Nextblk: 17 Chains: FEC PC:
Mark-Time: 0. Move-Time: 2.0000 Priority: 15
------------------------------
Информация о работе Ресурсные и информационные конфликты в конвейерных системах