PENDAHULUAN        Pipelining, yang digunakan dalam komputer modern untuk mencapai performa tinggi. Kita mulai dengan menj...
Kecepatan eksekusi program dipengaruhioleh    banyak     factor.  Suatu    cara   untukmeningkatkan       performa     ada...
- Ide pipelining dapat digunakan pada computer.  Prosesor mengeksekusi suatu program dengan  mengambil dan mengeksekusi in...
Tiap stage dalam pipeline diharapkanmenyelesaikan operasinya dalam suatu clockcycle. Karenanya, periode clock harus cukupl...
Suatu unit yang menyelesaikantugasnya lebih awal akan ide selamasisa periode clock. Karenanya, pipelinepaling efektif dala...
Prosesor pipeline menyesaikan pengolahansatu instruksi pada tiap clock cycccle,yangberate kecepatan pegolahan instruksi te...
Data hazard adalah situasi dimana pipelinedi-stall karena data yang akan dikenai opersi ditunda dengan beberapa alasan, se...
Data hazard yang baru saja dideskripsikanmuncul    karena   satu   instruksi.instruksi I2menunggu data dituliskan dalam re...
Penyerahan   tugas   seperti  penyisipaninstruksi NOP ke compiler menghasilkanhardwere     yang   lebih   sederhana.Dengan...
Adapun efek samping lain yang melibatkancondition code flag,adalah yang digunakan olehinstruksi seperti conditional branch...
Tujuan unit     pengambilan instruksi fetchadalah untuk menyediakan arus instruksi tetap bagiunit eksekusi.kapanpun arus i...
Waktu yang hilang karena instruksi branchsering disebut Branch penalty.Branch penaltyadalah satu clock cycle. Untuk pipeli...
Cache miss atau instruksi branch men-stall pipelineselama satu clock cycle atau lebih untuk mengurangi efekinterupsi terse...
Instruksi conditional branch menimbulkanhazard tambahan yabg disebabkan olehketergantungan kondisi branch pada hasilinstru...
Keefektifan pendekatan delayed branchtergantung pada seberapa sering pengaturan ulanginstruksi dimungkinkan. Data eksperim...
Jika keluaran branch random, maka setengahbranch akan dilakukan. Jadi pendekatan sederhanadengan mengasumsikan bahwa branc...
Tujuan algoritma prediksi branch adalah untukmengurangi kemungkinan membuat keputusan yang salah,untuk menghindari mengamb...
Kita telah melihat bahwa beberapa instruksilebih sesuai untuk eksekusi pipelined dari padayang lain. Misalnya, efek sampin...
Mode pengelamatan sebaiknya menyediakansarana untuk mengakses berbagai struktur datasecara mudah dan efisien. Mode pengala...
Condition code flag disimpan dalam processor    status register. Flag tersebut diset atau dikosongkan oleh    banyak intru...
Upcoming SlideShare
Loading in …5
×

Pert.11 pipelining

570 views
502 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
570
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pert.11 pipelining

  1. 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. 2. Kecepatan eksekusi program dipengaruhioleh banyak factor. Suatu cara untukmeningkatkan performa adalah denganmenggunakan teknologi sirkuit yang lebihcepatuntuk membangun prosesor dan memori utama.Kemungkinan lain adalah dengan mengaturhardware sehingga lebih dari satu operasi dapatdilakukan pada saat yang sama. Dengan cara ini,jumlah operasi yang dilakukan perdetikditingkatkan sekalipun elapsed time yangdiperlukan untuk melakukan tiap satu operasitidak di ubah. Group 4 PTIK 09 2
  3. 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. 4. Tiap stage dalam pipeline diharapkanmenyelesaikan operasinya dalam suatu clockcycle. Karenanya, periode clock harus cukuplama untuk menyelesaikannya tugas yangsedang dilakukaan pada tiap stage. Jika unityang berbeda memerlukan jumlah waktu yangberbeda, maka periode clock harusmemungkinkan tugas terlama dapatdiselesaikan. Suatu unit yang menyelesaikantugasnya lebih awal akan idle selama sisaperiode clock. Group 4 PTIK 09 4
  5. 5. Suatu unit yang menyelesaikantugasnya lebih awal akan ide selamasisa periode clock. Karenanya, pipelinepaling efektif dalam meningkatkanperforma jika tugas yang sedangdilakukan dalam stage yan berbedaamemerlukan jumlah waktu yang sama. Group 4 PTIK 09 5
  6. 6. Prosesor pipeline menyesaikan pengolahansatu instruksi pada tiap clock cycccle,yangberate kecepatan pegolahan instruksi tersabutempat kali lebih besar dari oparesi berurutan.Peningkatan potensi dalam performa yangdihasilkan dari pipelining proporsional denganjumlah pipeline stage. Akan tetapi, peningkatanini hanya akan dicapai jika operasi pipelineddapat di pertahankan tanpa interupsi melaluieksekusi program. Sayangnya, ini bukanlahmasalahnya. Group 4 PTIK 09 6
  7. 7. Data hazard adalah situasi dimana pipelinedi-stall karena data yang akan dikenai opersi ditunda dengan beberapa alasan, seperti yangdiilustrasikan. kita sekarang akan menganalisapersoalan ketersediaan data dalam beberapadetil. Group 4 PTIK 09 7
  8. 8. Data hazard yang baru saja dideskripsikanmuncul karena satu instruksi.instruksi I2menunggu data dituliskan dalam register file.Akan tetapi, data tersebut tersedia pada autputALU pada saat Execute stage menyelesaikanlangkah E1 di-forwading stage menyelesaikanlangkah E1 karenanya jeda dapat dikurangi,ataumungkin dihilangkan , jika kita mengatur agarhasil instruksi I1 di forward langsung untukdigunakan pada langkah E2. Group 4 PTIK 09 8
  9. 9. Penyerahan tugas seperti penyisipaninstruksi NOP ke compiler menghasilkanhardwere yang lebih sederhana.Denganmenyadari kebutuhan terhadap jeda,makacompiler dapat mencoba menyusun ulanginstruksi untuk melakukan tugas yang bergunadalam slot NOP menghasilkan ukuran kode yanglebih besar. Group 4 PTIK 09 9
  10. 10. Adapun efek samping lain yang melibatkancondition code flag,adalah yang digunakan olehinstruksi seperti conditional branch dan add-with – carry.Misalkan register R1 dan R2menyimpan bilangan integer double –precisionyang akan kita tambahkan ke bilangan double –precision yang lain dalam register R3 dan R4. Group 4 PTIK 09 10
  11. 11. Tujuan unit pengambilan instruksi fetchadalah untuk menyediakan arus instruksi tetap bagiunit eksekusi.kapanpun arus ini diinterupsi,makapipeline stall,seperti pada gambar 8.4 yangmengilustrasikan kasus cache miss.Instruksi branchdapat pula menyebapkan pipeline menjadi stall.Sekarang kita akan menganalisa efek instruksibranch dan teknik yang dapat digunakan untukmengurangi pengaruhnya. Group 4 PTIK 09 11
  12. 12. Waktu yang hilang karena instruksi branchsering disebut Branch penalty.Branch penaltyadalah satu clock cycle. Untuk pipeline yanglebih panjang,branch penalty bias lebih tinggi Group 4 PTIK 09 12
  13. 13. Cache miss atau instruksi branch men-stall pipelineselama satu clock cycle atau lebih untuk mengurangi efekinterupsi tersebut , bayak processor menggunakan unitpengambilan canggih yang dapat mengambil instruksisebelum diperlukan dan meletakkannya dalam Queue. Group 4 PTIK 09 13
  14. 14. Instruksi conditional branch menimbulkanhazard tambahan yabg disebabkan olehketergantungan kondisi branch pada hasilinstruksi sebelumnya. Keputusan untuk branchtidak dapat dibuat hingga eksekusi instruksitersebut telah selesai. Group 4 PTIK 09 14
  15. 15. Keefektifan pendekatan delayed branchtergantung pada seberapa sering pengaturan ulanginstruksi dimungkinkan. Data eksperiment yangdikumpulkan dari banyak programmengindikasikan bahwa teknik kompilasi yangrumit dapat menggunakan satu branch delay slotpada maksimal 85 persen kasus. Untuk prosessordengan dua branch delay slot, compiler mencobamenemukan dua instruksi sebelum instruksi branchyang dapat dipindahkannya ke delay slot tanpamenimbulkan eror logika. Group 4 PTIK 09 15
  16. 16. Jika keluaran branch random, maka setengahbranch akan dilakukan. Jadi pendekatan sederhanadengan mengasumsikan bahwa branch branch tidak akandilakukan akan menghemat 50 persen waktu yangdibuang untuk melakukan conditional branch. Akantetapi, performa lebih baik dapat dicapai jika kitamengatur beberapa instruksi branch yang akandiprediksikan untuk dilakukan dan yang lain untuk tidakdilakukan, tergantung pada kelakuan program yangdiharapkan. Group 4 PTIK 09 16
  17. 17. Tujuan algoritma prediksi branch adalah untukmengurangi kemungkinan membuat keputusan yang salah,untuk menghindari mengambil instruksi yang padaakhirnya harus dibuang. Dalam skema predisk branch,hardware prosessor memperkirakan kemiripan suatu branchyang dilakukan dengan mencatat keputusan branchsetiapkali instruksi tersebut dieksekusi. Group 4 PTIK 09 17
  18. 18. Kita telah melihat bahwa beberapa instruksilebih sesuai untuk eksekusi pipelined dari padayang lain. Misalnya, efek samping instruksi dapatmenyebabkan data dependency yang tidakdiinginkan. Dalam bagian ini, kita menganalisishubungan antara fitur eksekusi pipelined daninstruksi mesin. Kita membahas dua aspek utamainstruksi mesin-mode pengalaman dan conditioancode flag. Group 4 PTIK 09 18
  19. 19. Mode pengelamatan sebaiknya menyediakansarana untuk mengakses berbagai struktur datasecara mudah dan efisien. Mode pengalamatanyang baik antara indeks , indirect, autoincrement,dan autodecrement. Banyak prosessormenyediakan berbagai kombinasimode tersebutuntuk meningkatkan fleksibilitas set instruksinya.Mode pengelamatan complex, misalnya melibatkandouble indexing, sering sekali ditemui. Group 4 PTIK 09 19
  20. 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

×