SlideShare a Scribd company logo
1 of 20
PENDAHULUAN
        Pipelining, yang digunakan dalam komputer modern
 untuk mencapai performa tinggi. Kita mulai dengan
 menjelaskan       dasar    pipelining   dan    bagaimana
 pengaruhnya terhadap peningkatan performa. Kemudian
 kami akan menganalisis fitur instruksi mesin yang
 memfasilitasi eksekusi pipelined, dan kita menunjukkan
 bahwa pilihan instruksi akan memberikan pengaruh yang
 signifikan     pada    performa.    Organisasi  pipelined
 memerlukan teknik kompilasi yang canggih, dan compiler
 optimizing telah di kembangkan untuk tujuan ini. Fungsi
 utama compiler tersebut adalah menagtur ulang urutan
 operasi untuk memaksimalkan keuntungan eksekusi
 pipelined.



                         Group 4 PTIK 09
                                                             1
Kecepatan eksekusi program dipengaruhi
oleh    banyak     factor.  Suatu    cara   untuk
meningkatkan       performa     adalah     dengan
menggunakan teknologi sirkuit yang lebihcepat
untuk membangun prosesor dan memori utama.
Kemungkinan lain adalah dengan mengatur
hardware sehingga lebih dari satu operasi dapat
dilakukan pada saat yang sama. Dengan cara ini,
jumlah     operasi    yang   dilakukan    perdetik
ditingkatkan sekalipun elapsed time yang
diperlukan untuk melakukan tiap satu operasi
tidak di ubah.
                     Group 4 PTIK 09
                                                     2
- Ide pipelining dapat digunakan pada computer.
  Prosesor mengeksekusi suatu program dengan
  mengambil dan mengeksekusi instruksi, satu
  demi satu.
- Misalkan Fi dan Ei mengacu ke langkah
  pengambilan dan eksekusi untuk instruksi Ii.
  Eksekusi program terdiri dari rangkaian
  langkah pengambilan dan eksekusi.



                    Group 4 PTIK 09
                                                  3
Tiap stage dalam pipeline diharapkan
menyelesaikan operasinya dalam suatu clock
cycle. Karenanya, periode clock harus cukup
lama untuk menyelesaikannya tugas yang
sedang dilakukaan pada tiap stage. Jika unit
yang berbeda memerlukan jumlah waktu yang
berbeda,     maka    periode     clock harus
memungkinkan       tugas     terlama   dapat
diselesaikan. Suatu unit yang menyelesaikan
tugasnya lebih awal akan idle selama sisa
periode clock.
                  Group 4 PTIK 09
                                               4
Suatu unit yang menyelesaikan
tugasnya lebih awal akan ide selama
sisa periode clock. Karenanya, pipeline
paling efektif dalam meningkatkan
performa jika tugas yang sedang
dilakukan dalam stage yan berbedaa
memerlukan jumlah waktu yang sama.




                Group 4 PTIK 09
                                          5
Prosesor pipeline menyesaikan pengolahan
satu instruksi pada tiap clock cycccle,yang
berate kecepatan pegolahan instruksi tersabut
empat kali lebih besar dari oparesi berurutan.
Peningkatan potensi dalam performa yang
dihasilkan dari pipelining proporsional dengan
jumlah pipeline stage. Akan tetapi, peningkatan
ini hanya akan dicapai jika operasi pipelined
dapat di pertahankan tanpa interupsi melalui
eksekusi program. Sayangnya, ini bukanlah
masalahnya.
                    Group 4 PTIK 09
                                                  6
Data hazard adalah situasi dimana pipeline
di-stall karena data yang akan dikenai opersi di
tunda dengan beberapa alasan, seperti yang
diilustrasikan. kita sekarang akan menganalisa
persoalan ketersediaan data dalam beberapa
detil.




                    Group 4 PTIK 09
                                                   7
Data hazard yang baru saja dideskripsikan
muncul    karena   satu   instruksi.instruksi I2
menunggu data dituliskan dalam register file.
Akan tetapi, data tersebut tersedia pada autput
ALU pada saat Execute stage menyelesaikan
langkah E1 di-forwading stage menyelesaikan
langkah E1 karenanya jeda dapat dikurangi,atau
mungkin dihilangkan , jika kita mengatur agar
hasil instruksi I1 di forward langsung untuk
digunakan pada langkah E2.


                    Group 4 PTIK 09
                                                   8
Penyerahan   tugas   seperti  penyisipan
instruksi NOP ke compiler menghasilkan
hardwere     yang   lebih   sederhana.Dengan
menyadari kebutuhan terhadap jeda,maka
compiler dapat mencoba menyusun ulang
instruksi untuk melakukan tugas yang berguna
dalam slot NOP menghasilkan ukuran kode yang
lebih besar.




                   Group 4 PTIK 09
                                                9
Adapun efek samping lain yang melibatkan
condition code flag,adalah yang digunakan oleh
instruksi seperti conditional branch dan add-
with – carry.Misalkan register R1 dan R2
menyimpan bilangan integer double –precision
yang akan kita tambahkan ke bilangan double –
precision yang lain dalam register R3 dan R4.




                   Group 4 PTIK 09
                                                 10
Tujuan unit     pengambilan instruksi fetch
adalah untuk menyediakan arus instruksi tetap bagi
unit eksekusi.kapanpun arus ini diinterupsi,maka
pipeline stall,seperti pada gambar 8.4 yang
mengilustrasikan kasus cache miss.Instruksi branch
dapat pula menyebapkan pipeline menjadi stall.
Sekarang kita akan menganalisa efek instruksi
branch dan teknik yang dapat digunakan untuk
mengurangi pengaruhnya.



                     Group 4 PTIK 09
                                                     11
Waktu yang hilang karena instruksi branch
sering disebut Branch penalty.Branch penalty
adalah satu clock cycle. Untuk pipeline yang
lebih panjang,branch penalty bias lebih tinggi




                   Group 4 PTIK 09
                                                 12
Cache miss atau instruksi branch men-stall pipeline
selama satu clock cycle atau lebih untuk mengurangi efek
interupsi tersebut , bayak processor menggunakan unit
pengambilan canggih yang dapat mengambil instruksi
sebelum diperlukan dan meletakkannya dalam Queue.




                        Group 4 PTIK 09
                                                            13
Instruksi conditional branch menimbulkan
hazard tambahan yabg disebabkan oleh
ketergantungan kondisi branch pada hasil
instruksi sebelumnya. Keputusan untuk branch
tidak dapat dibuat hingga eksekusi instruksi
tersebut telah selesai.




                   Group 4 PTIK 09
                                                14
Keefektifan pendekatan delayed branch
tergantung pada seberapa sering pengaturan ulang
instruksi dimungkinkan. Data eksperiment yang
dikumpulkan       dari      banyak      program
mengindikasikan bahwa teknik kompilasi yang
rumit dapat menggunakan satu branch delay slot
pada maksimal 85 persen kasus. Untuk prosessor
dengan dua branch delay slot, compiler mencoba
menemukan dua instruksi sebelum instruksi branch
yang dapat dipindahkannya ke delay slot tanpa
menimbulkan eror logika.

                    Group 4 PTIK 09
                                                   15
Jika keluaran branch random, maka setengah
branch akan dilakukan. Jadi pendekatan sederhana
dengan mengasumsikan bahwa branch branch tidak akan
dilakukan akan menghemat 50 persen waktu yang
dibuang untuk melakukan conditional branch. Akan
tetapi, performa lebih baik dapat dicapai jika kita
mengatur beberapa instruksi branch yang akan
diprediksikan untuk dilakukan dan yang lain untuk tidak
dilakukan, tergantung pada kelakuan program yang
diharapkan.

                       Group 4 PTIK 09
                                                          16
Tujuan algoritma prediksi branch adalah untuk
mengurangi kemungkinan membuat keputusan yang salah,
untuk menghindari mengambil instruksi yang pada
akhirnya harus dibuang. Dalam skema predisk branch,
hardware prosessor memperkirakan kemiripan suatu branch
yang dilakukan dengan mencatat keputusan branchsetiap
kali instruksi tersebut dieksekusi.




                       Group 4 PTIK 09
                                                          17
Kita telah melihat bahwa beberapa instruksi
lebih sesuai untuk eksekusi pipelined dari pada
yang lain. Misalnya, efek samping instruksi dapat
menyebabkan data dependency yang tidak
diinginkan. Dalam bagian ini, kita menganalisis
hubungan antara fitur eksekusi pipelined dan
instruksi mesin. Kita membahas dua aspek utama
instruksi mesin-mode pengalaman dan conditioan
code flag.



                    Group 4 PTIK 09
                                                    18
Mode pengelamatan sebaiknya menyediakan
sarana untuk mengakses berbagai struktur data
secara mudah dan efisien. Mode pengalamatan
yang baik antara indeks , indirect, autoincrement,
dan      autodecrement.      Banyak      prosessor
menyediakan berbagai kombinasimode tersebut
untuk meningkatkan fleksibilitas set instruksinya.
Mode pengelamatan complex, misalnya melibatkan
double indexing, sering sekali ditemui.



                     Group 4 PTIK 09
                                                     19
Condition code flag disimpan dalam processor
    status register. Flag tersebut diset atau dikosongkan oleh
    banyak intruksi,sehingga dapat diuji oleh instruksi
    conditional branch yang berurutan untuk mengubah
    aliran eksekusi program.
          Cara pengamanan condition code. Pertama, untuk
    menyediakan fleksibilitas dalam penyusunan ulang
    intruksi, condition-code flag sebaiknya dipengaruhi oleh
    sesedikit mungkin intruksi. Kedua, compiler harus
    mampu menentukan bagian mana dari intruksi program
    yang dipengaruhi oleh condition code dan bagian mana
    yang tidak. Set intruksi yang didesain dengan pepeling
    biasanya menyediakan fleksibilitas yang diinginkan.





                            Group 4 PTIK 09
                                                                 20

More Related Content

What's hot

Mikrokontroler pertemuan 6
Mikrokontroler pertemuan 6Mikrokontroler pertemuan 6
Mikrokontroler pertemuan 6Rumah Belajar
 
Mikrokontroler pertemuan 3
Mikrokontroler pertemuan 3Mikrokontroler pertemuan 3
Mikrokontroler pertemuan 3Rumah Belajar
 
42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU 42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU AbdulRahman1543
 
Tipe dan format instruksi 1
Tipe dan format instruksi 1Tipe dan format instruksi 1
Tipe dan format instruksi 1Rosyid Ridlo
 
Mikrokontroler pertemuan 5
Mikrokontroler pertemuan 5Mikrokontroler pertemuan 5
Mikrokontroler pertemuan 5Rumah Belajar
 
Kelompok 5 cpu schedule
Kelompok 5 cpu scheduleKelompok 5 cpu schedule
Kelompok 5 cpu schedulenovita dewi
 
FPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMR
FPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMRFPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMR
FPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMRYogoParantoAji
 
Tcpip Suite
Tcpip SuiteTcpip Suite
Tcpip SuiteEri Alam
 
Pertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasarPertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasarjumiathyasiz
 
Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...
Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...
Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...Rivaldy Fachrul Armando
 
Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Lusiana Diyan
 

What's hot (15)

Mikrokontroler pertemuan 6
Mikrokontroler pertemuan 6Mikrokontroler pertemuan 6
Mikrokontroler pertemuan 6
 
Mikrokontroler pertemuan 3
Mikrokontroler pertemuan 3Mikrokontroler pertemuan 3
Mikrokontroler pertemuan 3
 
42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU 42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU
 
Tipe dan format instruksi 1
Tipe dan format instruksi 1Tipe dan format instruksi 1
Tipe dan format instruksi 1
 
Mikrokontroler pertemuan 5
Mikrokontroler pertemuan 5Mikrokontroler pertemuan 5
Mikrokontroler pertemuan 5
 
Papeline
PapelinePapeline
Papeline
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Kelompok 5 cpu schedule
Kelompok 5 cpu scheduleKelompok 5 cpu schedule
Kelompok 5 cpu schedule
 
FPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMR
FPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMRFPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMR
FPGA Berdasarkan RF Pulse Generator Untuk Spektrometer NQR / NMR
 
Dcn tester
Dcn testerDcn tester
Dcn tester
 
Arkom6
Arkom6Arkom6
Arkom6
 
Tcpip Suite
Tcpip SuiteTcpip Suite
Tcpip Suite
 
Pertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasarPertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasar
 
Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...
Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...
Ringkasan artikel 2 FPGA Berdasarkan Pembangkit Pulsa RF untuk Spektrometer N...
 
Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)
 

Viewers also liked

Viewers also liked (20)

Pipelining
PipeliningPipelining
Pipelining
 
Research 025
Research 025Research 025
Research 025
 
E bisnis slideshare
E bisnis slideshareE bisnis slideshare
E bisnis slideshare
 
E scm
E scmE scm
E scm
 
Linked List
Linked ListLinked List
Linked List
 
06 vb looping
06 vb looping06 vb looping
06 vb looping
 
Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12
 
Research 023
Research 023Research 023
Research 023
 
Tugas
TugasTugas
Tugas
 
4 Karakter Pengelola Uang
4 Karakter Pengelola Uang4 Karakter Pengelola Uang
4 Karakter Pengelola Uang
 
Queue
QueueQueue
Queue
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
Pert.1 pengenalan analisis desain
Pert.1 pengenalan analisis desainPert.1 pengenalan analisis desain
Pert.1 pengenalan analisis desain
 
4 karakter
4 karakter4 karakter
4 karakter
 
Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11
 
04 vb intro
04 vb intro04 vb intro
04 vb intro
 
INTERNET MASUK DESA
INTERNET MASUK DESAINTERNET MASUK DESA
INTERNET MASUK DESA
 
Pert.11 linux
Pert.11 linuxPert.11 linux
Pert.11 linux
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Pointer dan Linked List
Pointer dan Linked ListPointer dan Linked List
Pointer dan Linked List
 

Similar to Peningkatan Performa Melalui Pipelining

Muhamad Sipan - Tugas Basis Data Chapter 9 dan 10
Muhamad Sipan - Tugas Basis Data Chapter 9 dan  10Muhamad Sipan - Tugas Basis Data Chapter 9 dan  10
Muhamad Sipan - Tugas Basis Data Chapter 9 dan 10belajarkomputer
 
Rbj 3.15 description tingkat perusahaan
Rbj 3.15 description tingkat perusahaanRbj 3.15 description tingkat perusahaan
Rbj 3.15 description tingkat perusahaanAli Must Can
 
7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntp7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntpwayan abyong
 
7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntp7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntpwayan abyong
 
Pemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi dataPemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi dataEmus Kelen
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedFrance Rhezhek
 
Pertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.pptPertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.pptDoniOktaviana2
 
Struktur dan Fungsi CPU
Struktur dan Fungsi CPUStruktur dan Fungsi CPU
Struktur dan Fungsi CPURiky L Hamzah
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Helmi Mahfudhatul
 
Arsitektur komputer pertemuan 9
Arsitektur komputer pertemuan 9Arsitektur komputer pertemuan 9
Arsitektur komputer pertemuan 9Afrina Ramadhani
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiRahmawan06
 
Ringkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisien
Ringkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisienRingkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisien
Ringkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisienAbdul Lathifudin Ghafur
 
Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anyta Pelophella
 
Tugas jurnal kelompok 5
Tugas jurnal kelompok 5Tugas jurnal kelompok 5
Tugas jurnal kelompok 55223127199
 
Tugas jurnal 094 riyad maulana
Tugas jurnal 094 riyad maulanaTugas jurnal 094 riyad maulana
Tugas jurnal 094 riyad maulana5223127199
 
arsitektur sistem operasi modern
arsitektur sistem operasi modernarsitektur sistem operasi modern
arsitektur sistem operasi modernfitrahsyahran
 

Similar to Peningkatan Performa Melalui Pipelining (20)

Muhamad Sipan - Tugas Basis Data Chapter 9 dan 10
Muhamad Sipan - Tugas Basis Data Chapter 9 dan  10Muhamad Sipan - Tugas Basis Data Chapter 9 dan  10
Muhamad Sipan - Tugas Basis Data Chapter 9 dan 10
 
Rbj 3.15 description tingkat perusahaan
Rbj 3.15 description tingkat perusahaanRbj 3.15 description tingkat perusahaan
Rbj 3.15 description tingkat perusahaan
 
7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntp7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntp
 
7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntp7.1 lab-instalasi dan konfigurasi ntp
7.1 lab-instalasi dan konfigurasi ntp
 
Pert.1 struktur dasar komputer
Pert.1 struktur dasar komputerPert.1 struktur dasar komputer
Pert.1 struktur dasar komputer
 
Pemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi dataPemrosesan paralel untuk kompresi data
Pemrosesan paralel untuk kompresi data
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embedded
 
Pertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.pptPertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.ppt
 
Struktur dan Fungsi CPU
Struktur dan Fungsi CPUStruktur dan Fungsi CPU
Struktur dan Fungsi CPU
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_
 
Arsitektur komputer pertemuan 9
Arsitektur komputer pertemuan 9Arsitektur komputer pertemuan 9
Arsitektur komputer pertemuan 9
 
Minggu ketiga
Minggu ketigaMinggu ketiga
Minggu ketiga
 
ZAMZAM SAPUTRA.pdf
ZAMZAM SAPUTRA.pdfZAMZAM SAPUTRA.pdf
ZAMZAM SAPUTRA.pdf
 
Presentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan TerdistribusiPresentasi komputasi Pararel dan Terdistribusi
Presentasi komputasi Pararel dan Terdistribusi
 
Ringkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisien
Ringkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisienRingkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisien
Ringkasan artikel - implementasi fpga pembatas kompleks ieee 754 yang efisien
 
Jurnal 094
Jurnal 094Jurnal 094
Jurnal 094
 
Anita dadi (sistem operasi)
Anita dadi (sistem operasi)Anita dadi (sistem operasi)
Anita dadi (sistem operasi)
 
Tugas jurnal kelompok 5
Tugas jurnal kelompok 5Tugas jurnal kelompok 5
Tugas jurnal kelompok 5
 
Tugas jurnal 094 riyad maulana
Tugas jurnal 094 riyad maulanaTugas jurnal 094 riyad maulana
Tugas jurnal 094 riyad maulana
 
arsitektur sistem operasi modern
arsitektur sistem operasi modernarsitektur sistem operasi modern
arsitektur sistem operasi modern
 

More from Ical Militanmannojack (20)

Pert.10 manajemen disk
Pert.10 manajemen diskPert.10 manajemen disk
Pert.10 manajemen disk
 
Pert.9 input output
Pert.9 input outputPert.9 input output
Pert.9 input output
 
Pert.8 memori virtual
Pert.8 memori virtualPert.8 memori virtual
Pert.8 memori virtual
 
Pert.7 memori
Pert.7 memoriPert.7 memori
Pert.7 memori
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Pert.12 modul kernel linux
Pert.12 modul kernel linuxPert.12 modul kernel linux
Pert.12 modul kernel linux
 
Pert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutanPert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutan
 
Pert.2 proteksi perangkat keras
Pert.2 proteksi perangkat kerasPert.2 proteksi perangkat keras
Pert.2 proteksi perangkat keras
 
Pert.1 pengantar sistem operasi
Pert.1 pengantar sistem operasiPert.1 pengantar sistem operasi
Pert.1 pengantar sistem operasi
 
Pert.3 proses dan thread
Pert.3 proses dan threadPert.3 proses dan thread
Pert.3 proses dan thread
 
12
1212
12
 
11
1111
11
 
10
1010
10
 
8
88
8
 
7
77
7
 
9
99
9
 
Pert.5 linked list
Pert.5 linked listPert.5 linked list
Pert.5 linked list
 
Pert.4 record
Pert.4 recordPert.4 record
Pert.4 record
 
Pert.3 array
Pert.3  arrayPert.3  array
Pert.3 array
 

Peningkatan Performa Melalui Pipelining

  • 1. PENDAHULUAN Pipelining, yang digunakan dalam komputer modern untuk mencapai performa tinggi. Kita mulai dengan menjelaskan dasar pipelining dan bagaimana pengaruhnya terhadap peningkatan performa. Kemudian kami akan menganalisis fitur instruksi mesin yang memfasilitasi eksekusi pipelined, dan kita menunjukkan bahwa pilihan instruksi akan memberikan pengaruh yang signifikan pada performa. Organisasi pipelined memerlukan teknik kompilasi yang canggih, dan compiler optimizing telah di kembangkan untuk tujuan ini. Fungsi utama compiler tersebut adalah menagtur ulang urutan operasi untuk memaksimalkan keuntungan eksekusi pipelined. Group 4 PTIK 09 1
  • 2. Kecepatan eksekusi program dipengaruhi oleh banyak factor. Suatu cara untuk meningkatkan performa adalah dengan menggunakan teknologi sirkuit yang lebihcepat untuk membangun prosesor dan memori utama. Kemungkinan lain adalah dengan mengatur hardware sehingga lebih dari satu operasi dapat dilakukan pada saat yang sama. Dengan cara ini, jumlah operasi yang dilakukan perdetik ditingkatkan sekalipun elapsed time yang diperlukan untuk melakukan tiap satu operasi tidak di ubah. Group 4 PTIK 09 2
  • 3. - Ide pipelining dapat digunakan pada computer. Prosesor mengeksekusi suatu program dengan mengambil dan mengeksekusi instruksi, satu demi satu. - Misalkan Fi dan Ei mengacu ke langkah pengambilan dan eksekusi untuk instruksi Ii. Eksekusi program terdiri dari rangkaian langkah pengambilan dan eksekusi. Group 4 PTIK 09 3
  • 4. Tiap stage dalam pipeline diharapkan menyelesaikan operasinya dalam suatu clock cycle. Karenanya, periode clock harus cukup lama untuk menyelesaikannya tugas yang sedang dilakukaan pada tiap stage. Jika unit yang berbeda memerlukan jumlah waktu yang berbeda, maka periode clock harus memungkinkan tugas terlama dapat diselesaikan. Suatu unit yang menyelesaikan tugasnya lebih awal akan idle selama sisa periode clock. Group 4 PTIK 09 4
  • 5. Suatu unit yang menyelesaikan tugasnya lebih awal akan ide selama sisa periode clock. Karenanya, pipeline paling efektif dalam meningkatkan performa jika tugas yang sedang dilakukan dalam stage yan berbedaa memerlukan jumlah waktu yang sama. Group 4 PTIK 09 5
  • 6. Prosesor pipeline menyesaikan pengolahan satu instruksi pada tiap clock cycccle,yang berate kecepatan pegolahan instruksi tersabut empat kali lebih besar dari oparesi berurutan. Peningkatan potensi dalam performa yang dihasilkan dari pipelining proporsional dengan jumlah pipeline stage. Akan tetapi, peningkatan ini hanya akan dicapai jika operasi pipelined dapat di pertahankan tanpa interupsi melalui eksekusi program. Sayangnya, ini bukanlah masalahnya. Group 4 PTIK 09 6
  • 7. Data hazard adalah situasi dimana pipeline di-stall karena data yang akan dikenai opersi di tunda dengan beberapa alasan, seperti yang diilustrasikan. kita sekarang akan menganalisa persoalan ketersediaan data dalam beberapa detil. Group 4 PTIK 09 7
  • 8. Data hazard yang baru saja dideskripsikan muncul karena satu instruksi.instruksi I2 menunggu data dituliskan dalam register file. Akan tetapi, data tersebut tersedia pada autput ALU pada saat Execute stage menyelesaikan langkah E1 di-forwading stage menyelesaikan langkah E1 karenanya jeda dapat dikurangi,atau mungkin dihilangkan , jika kita mengatur agar hasil instruksi I1 di forward langsung untuk digunakan pada langkah E2. Group 4 PTIK 09 8
  • 9. Penyerahan tugas seperti penyisipan instruksi NOP ke compiler menghasilkan hardwere yang lebih sederhana.Dengan menyadari kebutuhan terhadap jeda,maka compiler dapat mencoba menyusun ulang instruksi untuk melakukan tugas yang berguna dalam slot NOP menghasilkan ukuran kode yang lebih besar. Group 4 PTIK 09 9
  • 10. Adapun efek samping lain yang melibatkan condition code flag,adalah yang digunakan oleh instruksi seperti conditional branch dan add- with – carry.Misalkan register R1 dan R2 menyimpan bilangan integer double –precision yang akan kita tambahkan ke bilangan double – precision yang lain dalam register R3 dan R4. Group 4 PTIK 09 10
  • 11. Tujuan unit pengambilan instruksi fetch adalah untuk menyediakan arus instruksi tetap bagi unit eksekusi.kapanpun arus ini diinterupsi,maka pipeline stall,seperti pada gambar 8.4 yang mengilustrasikan kasus cache miss.Instruksi branch dapat pula menyebapkan pipeline menjadi stall. Sekarang kita akan menganalisa efek instruksi branch dan teknik yang dapat digunakan untuk mengurangi pengaruhnya. Group 4 PTIK 09 11
  • 12. Waktu yang hilang karena instruksi branch sering disebut Branch penalty.Branch penalty adalah satu clock cycle. Untuk pipeline yang lebih panjang,branch penalty bias lebih tinggi Group 4 PTIK 09 12
  • 13. Cache miss atau instruksi branch men-stall pipeline selama satu clock cycle atau lebih untuk mengurangi efek interupsi tersebut , bayak processor menggunakan unit pengambilan canggih yang dapat mengambil instruksi sebelum diperlukan dan meletakkannya dalam Queue. Group 4 PTIK 09 13
  • 14. Instruksi conditional branch menimbulkan hazard tambahan yabg disebabkan oleh ketergantungan kondisi branch pada hasil instruksi sebelumnya. Keputusan untuk branch tidak dapat dibuat hingga eksekusi instruksi tersebut telah selesai. Group 4 PTIK 09 14
  • 15. Keefektifan pendekatan delayed branch tergantung pada seberapa sering pengaturan ulang instruksi dimungkinkan. Data eksperiment yang dikumpulkan dari banyak program mengindikasikan bahwa teknik kompilasi yang rumit dapat menggunakan satu branch delay slot pada maksimal 85 persen kasus. Untuk prosessor dengan dua branch delay slot, compiler mencoba menemukan dua instruksi sebelum instruksi branch yang dapat dipindahkannya ke delay slot tanpa menimbulkan eror logika. Group 4 PTIK 09 15
  • 16. Jika keluaran branch random, maka setengah branch akan dilakukan. Jadi pendekatan sederhana dengan mengasumsikan bahwa branch branch tidak akan dilakukan akan menghemat 50 persen waktu yang dibuang untuk melakukan conditional branch. Akan tetapi, performa lebih baik dapat dicapai jika kita mengatur beberapa instruksi branch yang akan diprediksikan untuk dilakukan dan yang lain untuk tidak dilakukan, tergantung pada kelakuan program yang diharapkan. Group 4 PTIK 09 16
  • 17. Tujuan algoritma prediksi branch adalah untuk mengurangi kemungkinan membuat keputusan yang salah, untuk menghindari mengambil instruksi yang pada akhirnya harus dibuang. Dalam skema predisk branch, hardware prosessor memperkirakan kemiripan suatu branch yang dilakukan dengan mencatat keputusan branchsetiap kali instruksi tersebut dieksekusi. Group 4 PTIK 09 17
  • 18. Kita telah melihat bahwa beberapa instruksi lebih sesuai untuk eksekusi pipelined dari pada yang lain. Misalnya, efek samping instruksi dapat menyebabkan data dependency yang tidak diinginkan. Dalam bagian ini, kita menganalisis hubungan antara fitur eksekusi pipelined dan instruksi mesin. Kita membahas dua aspek utama instruksi mesin-mode pengalaman dan conditioan code flag. Group 4 PTIK 09 18
  • 19. Mode pengelamatan sebaiknya menyediakan sarana untuk mengakses berbagai struktur data secara mudah dan efisien. Mode pengalamatan yang baik antara indeks , indirect, autoincrement, dan autodecrement. Banyak prosessor menyediakan berbagai kombinasimode tersebut untuk meningkatkan fleksibilitas set instruksinya. Mode pengelamatan complex, misalnya melibatkan double indexing, sering sekali ditemui. Group 4 PTIK 09 19
  • 20. Condition code flag disimpan dalam processor status register. Flag tersebut diset atau dikosongkan oleh banyak intruksi,sehingga dapat diuji oleh instruksi conditional branch yang berurutan untuk mengubah aliran eksekusi program. Cara pengamanan condition code. Pertama, untuk menyediakan fleksibilitas dalam penyusunan ulang intruksi, condition-code flag sebaiknya dipengaruhi oleh sesedikit mungkin intruksi. Kedua, compiler harus mampu menentukan bagian mana dari intruksi program yang dipengaruhi oleh condition code dan bagian mana yang tidak. Set intruksi yang didesain dengan pepeling biasanya menyediakan fleksibilitas yang diinginkan.  Group 4 PTIK 09 20