ORGANISASI KOMPUTER                          PIPELINING                      JUMIATI   092901035UNIVERSITAS NEGERI MAKASSA...
PIPELININGA.   Konsep Dasar      Peranan memori cache      Performa pipelineB.   Data Hazard      Operand Forwarding   ...
D. Pengaruh Pada Set Instruksi    Mode Pengelamatan    Condition Code                                 3
A. Konsep Dasar Pipelined adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam taha...
   Ide pipelining dapat digunakan pada computer.    Prosesor    mengeksekusi   suatu   program    dengan    mengambil dan...
a. Peranan Memori Cache     Yaitu   tiap   stage   dalam   pipeline   diharapkan menyelesaikan operasinya dalam suatu cloc...
Suatu unit yang menyelesaikan tugasnya lebih awal akanidle selama sisa periode clock. Karenanya, pipeline palingefektif da...
b. Performa Pipeline    Prosesor   pipeline   menyesaikan   pengolahan   satuinstruksi pada tiap clock cycle,yang berarti ...
Sangat penting untuk memahami bahwapipelining tidak memyebabkan instruksiindividu        dieksekusi        lebihcepat, seb...
B. Data HazardData hazard adalah situasi dimana pipeline di-stall karenadata yang akan dikenai opersi di tunda dengan bebe...
   Contoh ini mengilustrasikan batasan dasar yang    harus dilakukan untuk menjamin hasil yang tepat.    Pada saat dua op...
a. Operand Forwarding Data hazard yang baru saja di deskripsikan muncul karena satu instruksi. instruksi I2 menunggu data ...
NOP (No – operation ), sebagai berikut :    I1 :     Mul    R2,R3,R4    NOP    NOP    I2:     Add     R5,R4,R6        ...
b. Menangani Data Hazard dalam Software  Jika tanggung jawab untuk mendeteksi dependency tersebut  sepenuhnya diserahkan p...
Penyerahan tugas seperti penyisipan instruksi NOP kecompiler   menghasilkan    hardwere    yang    lebihsederhana.Dengan m...
b. Efek Samping Data depedenci yang ada pada contoh sebelumnya eksplisitan  dan mudah dideteksi karena register yang terl...
   Adapun efek samping lain yang melibatkan condition    code flag, adalah yang digunakan oleh instruksi seperti    condi...
C. INSTRUCTION HAZARD   Tujuan unit       pengambilan instruksi fetch adalah untuk    menyediakan arus instruksi tetap ba...
A. Unconditional Branch Pengurangan        Bench        penalty     dilakukan dengan, menghitung alamat branch lebih awal ...
b. Queue dan Prefetching Instruksi    Cache miss atau instruksi branch men-stall pipeline selama     satu clock cycle ata...
c. Conditional Branch dan Branch Prediction   Instruksi   conditional   branch   menimbulkan   hazard    tambahan yabg di...
d. Delayed Branch   Keefektifan pendekatan delayed branch tergantung pada    seberapa sering pengaturan ulang instruksi d...
e. Prediksi Branch   Jika keluaran branch random, maka setengah branch    akan dilakukan. Jadi pendekatan sederhana denga...
f. Prediksi Branch Dinamik   Tujuan     algoritma     prediksi    branch    adalah    untuk    mengurangi kemungkinan mem...
D. PENGARUH PADA SET INSTRUKSI   Kita telah melihat bahwa beberapa instruksi lebih sesuai    untuk eksekusi pipelined dar...
a. Mode Pengelamatan   Dalam      memilih      mode      pengelamatan      untuk    diimplementasikan dalam prosessor pip...
b. Condition Code   condition code flag disimpan dalam processor status    register. Flag tersebut diset atau dikosongkan...
D. KESIMPULAN Pipelined adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap ...
29
Upcoming SlideShare
Loading in …5
×

Pertemuan 9 pipelining

2,375 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,375
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
107
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pertemuan 9 pipelining

  1. 1. ORGANISASI KOMPUTER PIPELINING JUMIATI 092901035UNIVERSITAS NEGERI MAKASSAR 1
  2. 2. PIPELININGA. Konsep Dasar  Peranan memori cache  Performa pipelineB. Data Hazard  Operand Forwarding  Menangani data hazard dalam software  Efek sampingC. Instruction Hazard  Unconditional Branch  Queue dan Prefetching Instruksi  Conditional Branch dan Branch Prediction  Delayed Branch  Prediksi Branch  Prediksi Branch Dinamik 2
  3. 3. D. Pengaruh Pada Set Instruksi  Mode Pengelamatan  Condition Code 3
  4. 4. A. Konsep Dasar Pipelined adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinou pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. 4
  5. 5.  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. 5
  6. 6. a. Peranan Memori Cache Yaitu 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. 6
  7. 7. Suatu unit yang menyelesaikan tugasnya lebih awal akanidle selama sisa periode clock. Karenanya, pipeline palingefektif dalam meningkatkan performa jika tugas yangsedang dilakukan dalam stage yan ber bedaa memerlukanjumlah waktu yang sama. 7
  8. 8. b. Performa Pipeline Prosesor pipeline menyesaikan pengolahan satuinstruksi pada tiap clock cycle,yang berarti kecepatanpegolahan instruksi tersabut empat kali lebih besar darioparesi berurutan. Peningkatan potensi dalam performayang dihasilkan dari pipelining proporsional dengan jumlahpipeline stage. Akan tetapi, peningkatan ini hanya akandicapai jika operasi pipelined dapat di pertahankan tanpainterupsi melalui eksekusi program. 8
  9. 9. Sangat penting untuk memahami bahwapipelining tidak memyebabkan instruksiindividu dieksekusi lebihcepat, sebaliknya pipeling meningkatkanthroughput, dimana throughput diukurdari kecepatan penyelesaian eksekusiinstruksi. 9
  10. 10. B. Data HazardData hazard adalah situasi dimana pipeline di-stall karenadata yang akan dikenai opersi di tunda dengan beberapaalasan, seperti yang diilustrasikan. kita sekarang akanmenganalisa persoalan ketersediaan data dalam beberapadetil.Clock cycle 1 2 3 4 5 6 7 8 9 10
  11. 11.  Contoh ini mengilustrasikan batasan dasar yang harus dilakukan untuk menjamin hasil yang tepat. Pada saat dua operasi saling tergantung satu sama lain, maka keduanya harus dilakukan secara berurutan dalam urutan yang benar. Kondisi ini jelas memiliki konsekuensi yang mendalam. Memahami implikasinya adalah kunci untuk memahami berbagai alternative desaian dan pertukaran yang dihadapi dalam computer pipelined. 11
  12. 12. a. Operand Forwarding Data hazard yang baru saja di deskripsikan muncul karena satu instruksi. instruksi I2 menunggu data dituliskan dalam register file. Akan tetapi, data tersebut tersedia pada output 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. 12
  13. 13. NOP (No – operation ), sebagai berikut : I1 : Mul R2,R3,R4 NOP NOP I2: Add R5,R4,R6 13
  14. 14. b. Menangani Data Hazard dalam Software Jika tanggung jawab untuk mendeteksi dependency tersebut sepenuhnya diserahkan pada software,maka compiler harus menyisipkan instruksi NOP untuk mendapatkan hasil yang tepat,kemungkinan ini mengilustrasikan link tertutup antara compiler dan hardwere. 14
  15. 15. Penyerahan tugas seperti penyisipan instruksi NOP kecompiler menghasilkan hardwere yang lebihsederhana.Dengan menyadari kebutuhan terhadapjeda,maka compiler dapat mencoba menyusun ulanginstruksi untuk melakukan tugas yang berguna dalamslot NOP menghasilkan ukuran kode yang lebih besar. 15
  16. 16. b. Efek Samping Data depedenci yang ada pada contoh sebelumnya eksplisitan dan mudah dideteksi karena register yang terlibat dinamai sebagai destinasi dalam instruksi I1 dan source dalam I2 kadang kadang suatu instruksi mengubah isi register selain yang disebut sebagai destinasi. Contohnya adalah instruksi yang menggunakan mode pengalamatan autoincrement autodecrement. 16
  17. 17.  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 17
  18. 18. C. INSTRUCTION HAZARD Tujuan unit pengambilan instruksi fetch adalah untuk menyediakan arus instruksi tetap bagi unit eksekusi.kapanpun arus ini diinterupsi,maka pipeline stall, Sekarang kita akan menganalisa efek instruksi branch dan teknik yang dapat digunakan untuk mengurangi pengaruhnya. Kita mulai dengan unconditional branch. 18
  19. 19. A. Unconditional Branch Pengurangan Bench penalty dilakukan dengan, menghitung alamat branch lebih awal dalam pipeline. Biasanya unit pengambilan instruksi memiliki dedicated hardwere untuk mengidentifikasi instruksi brench dan menghitung alamt branch target secepat mungkin setelah suatu instruksi diambil. 19
  20. 20. b. Queue dan Prefetching Instruksi  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. 20
  21. 21. c. Conditional Branch dan Branch Prediction 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. 21
  22. 22. d. Delayed Branch 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. 22
  23. 23. e. Prediksi Branch 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. 23
  24. 24. f. Prediksi Branch Dinamik 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. 24
  25. 25. D. PENGARUH PADA SET INSTRUKSI 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. 25
  26. 26. a. Mode Pengelamatan Dalam memilih mode pengelamatan untuk diimplementasikan dalam prosessor pipelined, kita harus memperhatikan efek tiap mode pengelamatan pada aliran instruksi dalam pipelined. Dua pertimbangan penting yang berkaitan dengan hal ini adalah efek samping mode seperti autoincrement dan autodecrement dan tingkat dimana mode pengelamatan complex menyebabkan pipeline menjadi stall. Factor penting lain adalah apakah suatu mode akan lebih dipilih oleh suatu compiler . 26
  27. 27. b. Condition Code 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. Optimizing compiler untuk prosesor pipelined mencoba menyusun ulang instruksi untuk menghindari stalling pipeline pada saat terjadi branch atau data dependency antara instruksi yang berurutan. 27
  28. 28. D. KESIMPULAN Pipelined adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinou pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. 28
  29. 29. 29

×