pipeline

Published on December 2016 | Categories: Documents | Downloads: 47 | Comments: 0 | Views: 337
of 12
Download PDF   Embed   Report

pipeline pengukuran kinerja

Comments

Content

KLASIFIKASI ARSITEKTUR PARALEL
 Arsitektur data-paralel
 Arsitektur Fungsi-paralel

TEKNIK PARALEL DASAR
 Pipelining
 Replication
Table Pipelining and replication in parallel computer architecture
Pipelining
Replication
Vwctor processors
Systolic Arrays
SIMD (array) processors
Associative Processors
Pipelined Processors
VLIW Processors
Superscalar Processors
Multi-threaded Machines
Multicomputers
1

Multiprocessors
PIPELINING
Pipelining adalah suatu teknik implementasi dengan mana berbagai
instruksi dapat dilaksanakan secara tumpang tindih (overlapped; hal ini
mengambil keuntungan paralelisme yang ada di antara tindakan yang
diperlukan untuk mengeksekusi suatu instruksi. Di dalam pipeline suatu
komputer, masing-masing langkah di dalam pipeline melengkapi bagianbagian dari suatu instruksi. Masing-masing langkah disebut stage atau
segment.

Stage

membentuk yang

dihubungkan

satu

terhadap

lainnya

sehingga

pipe-instruction pada bagian akhir stage.

Mirip

dengan proses pada suatu industri manufaktur.
Pipelining menghasilkan reduksi untuk rata-rata waktu eksekusi per
instruksi.
Pipeline adalah suatu teknik implementasi yang memanfaatkan
paralelisme di antara instruksiinstruksi dalam laju instruksi sekuensial.
Hambatan utama terhadap Pipelining
Ada situasi yang menyebabkan hambatan dalam implementasi Pipeline
yang disebut hazard (resiko), yang akan mencegah instruksi yang
berikutnya dalam laju instruksi untuk diekseskusi selama siklus yang
ditunjuk. Hazard mereduksi laju kinerja ideal yang dihasilkan suatu
pipelining. Ada tiga kelas hazard:
1. Structural Hazard muncul akibat benturan sumberdaya manakala
perangkat keras tidak dapat mendukung semua kombinasi instruksi
secara serempak dalam eksekusi secara tumpang tindih.
2. Data hazard muncul manakala suatu instruksi tergantung pada hasil
dari suatu instruksi sebelumnya pada eksekusi instruksi tumpang
tindih.

2

3. Control hazard muncul pada pipelining dengan instruksi
pencabangan dan instruksi lain yang mengubah nilai program
counter.
Hazard dalam pipeline dapat mengakibatkan diperlukannya stall
terhadap pipeline. Pencegahan hazard seringkali memerlukan beberapa
instruksi ditunda, sementara lainnya diproses.
REPLICATION
Secara natural, paralelisme pada komputer adalah replikasi terhdap unit
fungsional (mis:prosesor). Replicated Functional Units dapat melakukan
eksekusi operasi yang sama secara simultan terhadap sejumlah data
elemen sesuai jumlah unit fungsional yang ada. Contoh klasikal dari
replikasi prosesor hádala array processors yang terdiri dari sejumlah
besar prosesor yang identik yang mengeksekusi operasi yang sama
pada sejumlah data.
Wafefront array dan 2-dimensional systolic arrays juga menggunakan
replikasi disamping pipelining.
Seluruh arsitektur MIMD menerapkan replikasi sebagai teknik
paralelismenya, demikian pula pada prosesor VLIW dan superscalar.

PENGUKURAN KINERJA PIPELINE
unpipeline processors :
- cycle time
- execution time
pipeline processors :
- cycle time
- latency
- repetition rate
cycle time:
3

-

waktu yang digunakan untuk setiap segmen/tahapan untuk
memenuhi operasi yang diperlukan. Cycle time dari prosesor
ditentukan oleh waktu terburuk pada segmen/tahapan terpanjang. (220 nsec)

latency:
digunakan dalam konsteks pemrosesan instruksi ketergantungan
RAW berikutnya. Latency menetapkan jumlah waktu hasil dari suatu
instruksi tertentu yang tersedia dalam pipeline untuk instruksi
dependent berikutnya
-

-

-

-

pada kasus define-use latency, merupakan waktu tunda
yang terjadi setelah decode hingga diperoleh hasil operasi
instruksi ketergantungan RAW
kasus define-use latency
mul r1, r2, r3;
add r5, r1, r4;
pada kasus define-use delay merupakan waktu instruksi
ketergantungan RAW berikutnya yang stall dalam pipeline.
Besar define-use delay 1 cyle lebih keci dari define-use
latency.
kasus define-use delay
load r1, x;
add r5, r1, r2;
Fetch

Decode

Issue

Mult

F,D,I phase

Add

Round

Execute phase

Writeback
Completion
phase

LATENCY

repetition rate (throughput):
interval waktu terpendek yang mungkin terjadi atar dua instruksi
depedent dalam pipeline
pada basic pipeline besarnya 1 cycle
instr-3

tc

instr-2

instr-1

Repetition rate

hasil instr-1

4

Performance Potential of Pipeline (P):
1

R = repetition rate (cycle)
tc = cycle time of pipeline
P = MFLOPS

P=
R*tc

Skenario Aplikasi pipeline

Vector processors

General instruction
processing

Processing of
dedicated instruction
classes

Pemrosesan
instruksi FX

Pemrosesan
instruksi L/S

Pemrosesan
instruksi FP

Bab 13

Sub Bab 5.3

Sub Bab 5.4

Sub Bab 5.5

5

RAW -dependencies

Define-use
dependencies
Muncul bila sebuah instruksi
menggunakan hasil dari operasi
sebelumnya sebagai operan
sumber
Define-use
dependencies
Waktu yang berlalu setelah
segeman decode, issue dan
sebelum hasil sebuah operasi
instruksi diperoleh dalam pipeline
untuk instruksi RAW-dependent
yang berikutnya
Bila nilainya 1 cycle, maka
instruksi dependen immediate
yang mengikutinya dapat diproses
dalam pipeline tanpa delay.

Define-use delay
of an instruction
Waktu bahwa sebuah instruksi
ketergantungan RAW-dependent
harus mengalami stall dalam
pipeline setelah operasi sebuah
instruksi.
Define-use delay nilainya 1 cycle
lebih kecil dari define-use latency.

Load-use
dependencies
Muncul bila sebuah instruksi
menggunakan hasil dari instruksi
load sebelumnya sebagai
operan sumber
Load-use
dependencies
Waktu yang sebelum hasil sebuah
instruksi load diperoleh dalam
pipeline untuk instruksi RAWdependent yang berikutnya
Bila nilainya 1 cycle, maka
instruksi dependen immediate
yang mengikutinya dapat diproses
dalam pipeline tanpa delay.

Load-use delay of
an instruction
Waktu bahwa sebuah instruksi
ketergantungan RAW-dependent
harus mengalami stall dalam
pipeline setelah sebuah instruksi
load.
Load-use delay nilainya 1 cycle
lebih kecil dari load-use latency.

6

LAYOUT DASAR PIPELINE
1.
2.
3.
4.
5.

Jumlah segmen/stages/tahapan
Spesifikasi sub tugas yang harus ditampilkan pada tiap tahapan
Layout urutan tahapan
Penggunaan bypass
Waktu operasi pipeline

1. Jumlah segmen/stages/tahapan
2-stage pipeline
tc1

tc2

i1
i2
4-stage pipeline
tc1

tc2

tc3

tc3

tc4

tc5

tc6

tc7

tc8

i1
i2
i3
i4
8-stage pipeline
tc :
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

i1
i2
i3
i4
I5
I6
I7
I8
Beberapa masalah yang muncul bila pipeline dibuat lebih dalam :
 Ketergantungan data & kontrol terjadi lebih sering, sehingga menurunkan
kinerja. Lebih jauh bila tahapan pipeline ditingkatkan, partisi seluruh tugas
menjadi kurang seimbang dan menumbuhkan clock yang tidak simetris. Akibat
peningkatan kedalaman pipeline memerlukan peningkatan kinerja, namun
suatu saat justru kinerja akan menurun.
P
E
R
F
O
R
M
A
N
C
E

PIPELINE DEPTH

7

2. Spesifikasi sub tugas yang harus ditampilkan pada tiap tahapan
Setiap tahapan dapat mencakup detil yang berbeda, misalnya Fetch Instruction,
Decode, Fetch Register, Execute Operation, Write back the result, dll.

3. Layout urutan tahapan
Pada kaus perkalian dan pembagian yang melakukan perulangan, recycling akan
mengefektifkan penggunaan h/w, namun akan menghalangi laju paipeline.
4. Penggunaan bypass
Pengguanan
bypass
(data
forwarding)
dapat
mereduksi
atau
meniadakan/mencegah stall. Akibat RAW-dependencies (define-use& load-use)
akan menyebabkan stall 2 cycle.
5. Waktu operasi pipeline
Dapat dilakukan dengan pendekatan clocked(synchronous) dan self-timed (a
synchronous). Prosesor komersial menggunakan pendekatan clokc baik 1 atau 2
fasa.

PEMROSESAN INSTRUKSI SECARA PIPELINE
Mencakup:
 Deklarasi pipeline
 Rincian spesifikasi subtask yang harus ditampilkan pada urutan eksekusi
Jenis pipeline :
 Pemrosesan data lojikal (FX Pipeline)
 Pemrosesan data floating point (FP Pipeline)
 Pemrosesan Load/Store (L/S Pipeline)
 Pemrosesan pencabangan (B Pipeline)
Branch
FX
L/S
FP
FX

Fetch
Fetch
Fetch
Fetch
Fetch

Issue
Issue
Issue
Issue

Execute
Address Generate
Decode

Issue
Read
referrenced
registers

Writeback
Cache
Execute1

Execute
Perform specified
operation register
contents

Writeback
Execute2

Writeback

Writeback

Pipeline pada PowerPC 601(1993)
Physical Pipeline:
 Multifuctional pipeline (MF pipelines):
8

- MF for FX, FP,L/S, B
- MF for FX, L/S, B
- MF for FX, L/S
 Dedicated pipeline: FX, FP,L/S, B

VERY LONG INSTRUCTION WORD (VLIW)
Kesamaan dengan prosesor superskalar :
 meningkatakan laju komputasi dengan mengeksploitasi paralel pada level
instruksi,
 menggunakan EU (execution unit) secara paralel
 menggunakan unified register file atau split register file untuk data FX & FP
Perbedaan dengan prosesor superskalar :
 formulasi /format instruksi
 penjadwalan instruksi
 arsitektur superskalar dirancang untuk menerima instruksi konvensional untuk
prosesor sekuensial, arsitektur VLIW dikontrol oleh long instructions words (gbr
6.2)
 lebih memungkinkan untuk meningkatkan clock rate
 VLIW tidak dapat diprogram dalam assembly
 penjadwalan pada prosesor skalar umumnya dilakukan secara dinamis,
sedangkan pada VLIW secara statis

-

penjadwalan stastis: menyerahkan beban penjadwalan kepada compiler
sehingga dapat menekan kompleksitas
penjadwalan dinamis: karena jumlah instruksi yang banyak, maka
penjadwalan dpat menimbulkan masalah dependensi data,
penerbitan
instruksi, penumpukan, penamaan ulang, dll.
Panjang insruksi VLIW tergantung:
 jumlah EU yang ada (5-30 buah)
 panjang kode yang diperlukan untuk mengendalikan tiap EU (16-32 bit)
 format intruksi 100-1024 bit (misalnya Trace7/200 memiliki panjang instruksi
256 bitdan mampu mengeksekusi 7 instruksi/cycle; Trace 28 memiliki panjang
instruksi 1024 bit; ELI 512 memiliki panjang instruksi 512 bit)
Prosesor VLIW
Komersial:
1. Floating Point Systems, FPS-120B, yang memiliki 2 FP unit paralel -1976
2. FPS-164 – 1980
3. CDC AFP - 1980
4. TRACE (Multiflow) - 1987
5. CYDRA-5 TM-1 (Cydrome) 1989
9

6. TM-1 (Philips) - 1996
Prototype:
1. Polycyclic (ESL) – 1981  CYDRA-5
2. ELI-512 (Yale) – 1983  TRACE
3. iWARP (CMU) - 1988
4. LIFE (Philips) - 1989
5. StaCs 2.2 (ESPRIT IDPS) - 1993

TRACE 200 FAMILY
 Dikembangkan di Yale menggunakan Trace compiler, sedang ELI-512
menggunakan Bulldog compiler (dibangun tahun 80-an dan perusahaannya
bangkrut pada tahun 90-an.
 Terdapat 3 model: Trace 7/200 (paralel 7 instruksi), Trace 14/200 (paralel 14
instruksi), Trace 28/200 (paralel 28 instruksi)
 Harganya 6x lebih mahal dari VAX 8700
 Memiliki split register 32-bit RICK kernel, 64 buag register integer, 2 buah EU
 65 ns/cycle
 bagian FP: 32*64-bit FP register file, 2 buah FP-EU (FADD, FMUL)
 6 cycles FP Add; 7 cycles FP multiply; 25 cycles  FP divide
 Trace 7/200 dikendalikan oleh VLIW 256-bit, di mana sebuah kendali
mengontrol eksekusi 7 buah instruksi
Kinerja Prosesor Tace vs prosesor DEC 8700 vs prosesor Cray XMP
Processor
Trace 7/200
Trace 14/200
DEC 8700
Cray XMP

Instruction Issue rate (ns) Compiled Linpack (Full
(MFLOPS)
130
6
130
10
45
0.97
8
24

Precision)

10

PROSESOR SUPERSCALAR
Perkembangan
IBM

Cheetah project

America Project

DEC

Multititan Project

Stanford Univ

MATCH TORCH

Kyushu Univ

SIMP DSNS
1982

1983

1984

1985

1986

1987

1988

1989

1990

IBM:

-

1982 –83 dengan cheetah project, dilanjutkan 1985 dengan americ project,
menghasilkan studi tentang eksekusi superskalar
1990 menghasilkan RS/6000, selanjutnya diberi nama Power1
DEC:

-

1985-87 dengan multitian project menghasilkan very high speed RISC
processoryang menjadi konstributar prosesor  (RISCy VAX)

Stanford University:
1990 menghasilkan R200-based superscalar processor yang diberi nama
TORCH
KYUSHU University:
1989 menghasilkan SIMP dan DSNS
Prosesor RISC supersakalar :
Intel 960
MC88000
HP PA (Precision Architecture)
Sun Sparc
MIPS R

Prosesor CISC superskalar :
- Pentium
- MC 68060
- M1
- K5

11

- AMD Am29000

12

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close