Автор работы: Пользователь скрыл имя, 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
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
1 1 GENERATE ,,,1,10
2 0 TES1 TEST LE X$BUF1,V$VAR1
3 0 SEIZE TEG
4 0 ADVANCE 1
------------------------------
S/C: OFF Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: 1 Nextblk: TES1 Chains: CEC PC:
Mark-Time: ----- Move-Time: 0. Priority: 10
------------------------------
*** Warning: The following entities have been defined but not explicitly referen
Blocks: FAL1 TES3
Simulation begins.
Ready!
: STEP 1
Xact 1 Poised at Block 2 (TES1). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
2 1 TES1 TEST LE X$BUF1,V$VAR1
3 1 SEIZE TEG
4 0 ADVANCE 1
5 0 ASSIGN 1+,1
6 0 TEST E P1,1,GOD1
------------------------------
S/C: ON 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 (TES1). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 3 (TES1+1). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 4 (TES1+2). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
14 0 TRANSFER ,TES1
15 1 GENERATE ,,,1,10
16 0 TES2 TEST G X$TEGN,0
17 0 SEIZE STOR
18 0 SAVEVALUE BUF1+,X$WTCH
------------------------------
S/C: OFF Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 2 Curblk: 15 Nextblk: TES2 Chains: CEC PC:
Mark-Time: ----- Move-Time: 0. Priority: 10
------------------------------
Xact 1 Poised at Block 4 (TES1+2). Relative Clock: 0.
: STEP 1
Xact 1 Placed on FEC at Block 4 (TES1+2). Relative Clock: 0.
: STEP 1
Xact 2 Poised at Block 16 (TES2). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
5 1 ASSIGN 1+,1
6 1 TEST E P1,1,GOD1
7 1 1 FAL1 ADVANCE 5
8 0 ADVANCE 7
9 0 RELEASE TEG
------------------------------
S/C: OFF Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 1 Curblk: FAL1 Nextblk: 8 Chains: FEC PC:
Mark-Time: 0. Move-Time: 6.0000 Priority: 10
------------------------------
Xact 1 Poised at Block 6 (TES1+4). Relative Clock: 1.0000
: STEP 1
Xact 1 Poised at Block 7 (FAL1). Relative Clock: 1.0000
: STEP 1
Xact 1 Placed on FEC at Block 7 (FAL1). Relative Clock: 1.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
8 1 ADVANCE 7
9 1 RELEASE TEG
10 0 SAVEVALUE BUF1+,X$WTCH
11 0 TRANSFER ,TES1
12 0 GOD1 RELEASE TEG
------------------------------
S/C: ON Abs Clock: 13.0000 Rel Clock: 13.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 9 Nextblk: 10 Chains: CEC PC:
Mark-Time: 0. Move-Time: 13.0000 Priority: 10
------------------------------
Xact 1 Placed on FEC at Block 7 (FAL1). Relative Clock: 1.0000
: STEP 1
Xact 1 Placed on FEC at Block 8 (FAL1+1). Relative Clock: 6.0000
: STEP 1
Xact 1 Poised at Block 10 (FAL1+3). Relative Clock: 13.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
9 1 RELEASE TEG
10 1 SAVEVALUE BUF1+,X$WTCH
11 0 TRANSFER ,TES1
12 0 GOD1 RELEASE TEG
13 0 SAVEVALUE TEGN+,1
------------------------------
S/C: ON Abs Clock: 13.0000 Rel Clock: 13.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 10 Nextblk: 11 Chains: CEC PC:
Mark-Time: 0. Move-Time: 13.0000 Priority: 10
------------------------------
Xact 1 Placed on FEC at Block 8 (FAL1+1). Relative Clock: 6.0000
: STEP 1
Xact 1 Poised at Block 10 (FAL1+3). Relative Clock: 13.0000
: STEP 1
Xact 1 Poised at Block 11 (FAL1+4). Relative Clock: 13.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
2 2 TES1 TEST LE X$BUF1,V$VAR1
3 2 SEIZE TEG
4 1 ADVANCE 1
5 1 ASSIGN 1+,1
6 1 TEST E P1,1,GOD1
------------------------------
S/C: ON Abs Clock: 13.0000 Rel Clock: 13.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 3 Nextblk: 4 Chains: CEC PC:
Mark-Time: 0. Move-Time: 13.0000 Priority: 10
------------------------------
Xact 1 Poised at Block 2 (TES1). Relative Clock: 13.0000
: STEP 1
Xact 1 Poised at Block 3 (TES1+1). Relative Clock: 13.0000
: STEP 1
Xact 1 Poised at Block 4 (TES1+2). Relative Clock: 13.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
10 1 SAVEVALUE BUF1+,X$WTCH
11 1 TRANSFER ,TES1
12 0 GOD1 RELEASE TEG
13 0 SAVEVALUE TEGN+,1
14 0 TRANSFER ,TES1
------------------------------
S/C: OFF Abs Clock: 14.0000 Rel Clock: 14.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 6 Nextblk: GOD1 Chains: CEC PC:
Mark-Time: 0. Move-Time: 14.0000 Priority: 10
------------------------------
Xact 1 Placed on FEC at Block 4 (TES1+2). Relative Clock: 13.0000
: STEP 1
Xact 1 Poised at Block 6 (TES1+4). Relative Clock: 14.0000
: STEP 1
Xact 1 Poised at Block 12 (GOD1). Relative Clock: 14.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
12 1 GOD1 RELEASE TEG
13 1 SAVEVALUE TEGN+,1
14 0 TRANSFER ,TES1
15 1 1 GENERATE ,,,1,10
16 0 TES2 TEST G X$TEGN,0
------------------------------
S/C: ON Abs Clock: 14.0000 Rel Clock: 14.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 13 Nextblk: 14 Chains: CEC PC:
Mark-Time: 0. Move-Time: 14.0000 Priority: 10
------------------------------
Xact 1 Poised at Block 12 (GOD1). Relative Clock: 14.0000
: STEP 1
Xact 1 Poised at Block 13 (GOD1+1). Relative Clock: 14.0000
: STEP 1
Xact 1 Poised at Block 14 (GOD1+2). Relative Clock: 14.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
17 1 SEIZE STOR
18 1 SAVEVALUE BUF1+,X$WTCH
19 0 ADVANCE 1
20 0 RELEASE STOR
21 0 SAVEVALUE TEGN-,1
------------------------------
S/C: ON Abs Clock: 14.0000 Rel Clock: 14.0000 TTG: 1
------------------------------
Xact: 2 Curblk: 18 Nextblk: 19 Chains: CEC PC:
Mark-Time: 14.0000 Move-Time: 0. Priority: 10
------------------------------
Xact 2 Poised at Block 17 (TES2+1). Relative Clock: 14.0000
: STEP 1
Xact 2 Poised at Block 18 (TES2+2). Relative Clock: 14.0000
: STEP 1
Xact 2 Poised at Block 19 (TES2+3). Relative Clock: 14.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
10 1 SAVEVALUE BUF1+,X$WTCH
11 1 TRANSFER ,TES1
12 1 GOD1 RELEASE TEG
13 1 SAVEVALUE TEGN+,1
14 1 TRANSFER ,TES1
------------------------------
S/C: OFF Abs Clock: 15.0000 Rel Clock: 15.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 6 Nextblk: GOD1 Chains: CEC PC:
Mark-Time: 0. Move-Time: 15.0000 Priority: 10
------------------------------
Xact 2 Placed on FEC at Block 19 (TES2+3). Relative Clock: 14.0000
: STEP 1
GPSS/H Source-Mode Interactive Debugger
Block Current Total pam.gps Source Code...
14 2 TRANSFER ,TES1
15 1 GENERATE ,,,1,10
16 1 TES2 TEST G X$TEGN,0
17 1 SEIZE STOR
18 1 SAVEVALUE BUF1+,X$WTCH
------------------------------
S/C: ON Abs Clock: 15.0000 Rel Clock: 15.0000 TTG: 1
------------------------------
Xact: 2 Curblk: 22 Nextblk: TES2 Chains: CEC PC:
Mark-Time: 14.0000 Move-Time: 15.0000 Priority: 10
------------------------------
Xact 2 Poised at Block 21 (TES2+5). Relative Clock: 15.0000
: STEP 1
Xact 2 Poised at Block 22 (TES2+6). Relative Clock: 15.0000
: STEP 1
Xact 2 Poised at Block 16 (TES2). Relative Clock: 15.0000
:
При обращении к кэш-памяти первой команды был промах. Команда загрузилась в кэш-память и параллельно в БК. При обращении к кэш-памяти второй команды – попадание. Команда поступила на вторую ступень конвейера кэш-памяти. Всё произошло, как и предполагалось.
Рассмотрим работу E-устройства с бесконечным потоком команд. При этом допускается, что данные из ОП для команд типа регистр-память и память регистр уже подгружены. Сохраняемая величина X$N будет имитировать формат команды.
SAVEVALUE N+,1
ASSIGN 1,X$N
Если значение X$N равно 2, то команда имеет формат регистр-регистр, 3 – формат память-регистр, 4 – формат регистр память/
TEST NE P1,2,RONW
TRANSFER .8,WSTR,RONW
на:
TEST NE P1,2,RONW
TEST E P1,3,RONW
Так как в прошлом тесте была рассмотрена работа памяти, заменяем блоки:
WSTR SEIZE TEG
ADVANCE 1
TRANSFER .92,FAL3,GOD3
FAL3 ADVANCE 5
ADVANCE 7
GOD3 RELEASE TEG
SEIZE STOR
ADVANCE 1
RELEASE STOR
на:
WSTR SEIZE STOR
ADVANCE 1
RELEASE STOR
Для упрощения проверки примем время работы АЛУ за 1 такт.
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
1 1 GENERATE ,,,1,10
2 1 TES6 SEIZE LOAD
3 1 1 ADVANCE 1
4 0 SAVEVALUE LOADN+,1
5 0 RELEASE LOAD
------------------------------
S/C: ON Abs Clock: 0. Rel Clock: 0. TTG: 1
------------------------------
Xact: 1 Curblk: 3 Nextblk: 4 Chains: FEC PC:
Mark-Time: 0. Move-Time: 1.0000 Priority: 10
------------------------------
Xact 1 Poised at Block 2 (TES6). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 3 (TES6+1). Relative Clock: 0.
: STEP 1
Xact 1 Placed on FEC at Block 3 (TES6+1). Relative Clock: 0.
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
4 1 SAVEVALUE LOADN+,1
5 1 RELEASE LOAD
6 0 TRANSFER ,TES6
7 1 1 GENERATE ,,,1,10
8 0 TES7 TEST G X$LOADN,0
------------------------------
S/C: ON Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 5 Nextblk: 6 Chains: CEC PC:
Mark-Time: 0. Move-Time: 1.0000 Priority: 10
------------------------------
Xact 2 Poised at Block 8 (TES7). Relative Clock: 0.
: STEP 1
Xact 1 Poised at Block 5 (TES6+3). Relative Clock: 1.0000
: STEP 1
Xact 1 Poised at Block 6 (TES6+4). Relative Clock: 1.0000
:
GPSS/H Source-Mode Interactive Debugger
Block Current Total test2.gps Source Code...
1 1 GENERATE ,,,1,10
2 2 TES6 SEIZE LOAD
3 1 2 ADVANCE 1
4 1 SAVEVALUE LOADN+,1
5 1 RELEASE LOAD
------------------------------
S/C: ON Abs Clock: 1.0000 Rel Clock: 1.0000 TTG: 1
------------------------------
Xact: 1 Curblk: 3 Nextblk: 4 Chains: FEC PC:
Mark-Time: 0. Move-Time: 2.0000 Priority: 10
Информация о работе Ресурсные и информационные конфликты в конвейерных системах