1 / 29

ORGANISASI KOMPUTER

MATA KULIAH:. PERTEMUAN 12. PIPELINING. ORGANISASI KOMPUTER. PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011. AYU ANGGRIANI H 092904010 PTIK A 2009 . CREATED BY: . Konsep Dasar Peranan memori cache

knox
Download Presentation

ORGANISASI KOMPUTER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATA KULIAH: PERTEMUAN 12 PIPELINING ORGANISASI KOMPUTER PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 BY AYU ANGGRIANI H

  2. AYU ANGGRIANI H 092904010 PTIK A 2009 CREATED BY: BY AYU ANGGRIANI H

  3. KonsepDasar • Perananmemori cache • Performa pipeline • Data Hazard • Operand Forwarding • Menangani data hazard dalam software • Efeksamping • Instruction Hazard • Unconditional Branch • Queue danPrefetchingInstruksi • Conditional Branch dan Branch Prediction • Delayed Branch • Prediksi Branch • Prediksi Branch Dinamik PIPELINING

  4. D. PengaruhPada Set Instruksi • Mode Pengelamatan • Condition Code

  5. Kecepataneksekusi program dipengaruhiolehbanyak factor. Suatucarauntukmeningkatkanperformaadalahdenganmenggunakanteknologisirkuit yang lebihcepatuntukmembangunprosesordanmemoriutama. Kemingkinan lain adalahdenganmengatur hardware sehinggalebihdarisatuoperasidapatdilakukanpadasaat yang sama. Dengancaraini, jumlahoperasi yang dilakukanperdetikditingkatkansekalipun elapsed time yang diperlukanuntukmelakukantiapsatuoperasitidak di ubah. A. KonsepDasar

  6. Pipelining merupakancaraefektifuntukmengaturaktifitaskonkurendalam system computer. Ide dasarnyasangatsederhana. Hal iniseringditemui di dalampabrik, dimana pipelining umumnyadikenalsebagaioperasi assembly-line. Tidakdiragukanlagibahwapembacatelahmengenal assembly line yang digunakandalampembuatanmobil

  7. Yaitutiap stage dalam pipeline diharapkanmenyelesaikanoperasinyadalamsuatu clock cycle. Karenanya, periode clock haruscukup lama untukmenyelesaikannyatugas yang sedangdilakukaanpadatiap stage. Jika unit yang berbedamemerlukanjumlahwaktu yang berbeda, makaperiode clock harusmemungkinkantugasterlamadapatdiselesaikan. a. Peranan Memori Cache

  8. Suatu unit yang menyelesaikantugasnyalebihawalakan idle selamasisaperiode clock. Karenanya, pipeline paling efektifdalammeningkatkanperformajikatugas yang sedangdilakukandalam stage yanberbedaamemerlukanjumlahwaktu yang sama.

  9. Prosesor pipeline menyesaikanpengolahansatuinstruksipadatiap clock cycle,yangberartikecepatanpegolahaninstruksitersabutempat kali lebihbesardarioparesiberurutan. Peningkatanpotensidalamperforma yang dihasilkandari pipelining proporsionaldenganjumlah pipeline stage. Akantetapi, peningkataninihanyaakandicapaijikaoperasi pipelined dapatdipertahankantanpainterupsimelaluieksekusi program. b. Performa Pipeline

  10. Sangatpentinguntukmemahamibahwa pipelining tidakmemyebabkaninstruksiindividudieksekusilebihcepat, sebaliknyapipelingmeningkatkan throughput, dimana throughput diukurdarikecepatanpenyelesaianeksekusiinstruksi.

  11. Data hazard adalahsituasidimana pipeline di-stall karena data yang akandikenaiopersiditundadenganbeberapaalasan, seperti yang diilustrasikan. kitasekarangakanmenganalisapersoalanketersediaan data dalambeberapadetil. Clock cycle 1 2 3 4 5 6 7 8 9 B. Data Hazard

  12. Contohinimengilustrasikanbatasandasar yang harusdilakukanuntukmenjaminhasil yang tepat. Padasaatduaoperasisalingtergantungsatusama lain, makakeduanyaharusdilakukansecaraberurutandalamurutan yang benar. Kondisiinijelasmemilikikonsekuensi yang mendalam. Memahamiimplikasinyaadalahkunciuntukmemahamiberbagai alternative desaiandanpertukaran yang dihadapidalam computer pipelined.

  13. Data hazard yang barusajadideskripsikanmunculkarenasatuinstruksi. instruksi I2 menunggu data dituliskandalam register file. Akantetapi, data tersebuttersediapada output ALU padasaat Execute stage menyelesaikanlangkah E1 di-forwading stage menyelesaikanlangkah E1 karenanyajedadapatdikurangi,ataumungkindihilangkan, jikakitamengatur agar hasilinstruksi I1 di forward langsunguntukdigunakanpadalangkah E2. a. Operand Forwarding

  14. NOP (No – operation ), sebagaiberikut : I1 : Mul R2,R3,R4 NOP NOP I2: Add R5,R4,R6

  15. Jikatanggungjawabuntukmendeteksi dependency tersebutsepenuhnyadiserahkanpadasoftware,maka compiler harusmenyisipkaninstruksi NOP untukmendapatkanhasil yang tepat,kemungkinaninimengilustrasikan link tertutupantara compiler danhardwere. b. Menangani Data Hazard dalam Software

  16. Penyerahantugassepertipenyisipaninstruksi NOP ke compiler menghasilkanhardwere yang lebihsederhana.Denganmenyadarikebutuhanterhadapjeda,maka compiler dapatmencobamenyusunulanginstruksiuntukmelakukantugas yang bergunadalam slot NOP menghasilkanukurankode yang lebihbesar.

  17. Data depedenci yang adapadacontohsebelumnyaeksplisitandanmudahdideteksikarena register yang terlibatdinamaisebagaidestinasidalaminstruksi I1 dan source dalam I2 kadangkadangsuatuinstruksimengubahisi register selain yang disebutsebagaidestinasi. • Contohnyaadalahinstruksi yang menggunakan mode pengalamatanautoincrementautodecrement. b. EfekSamping

  18. Adapunefeksamping lain yang melibatkan condition code flag, adalah yang digunakanolehinstruksiseperti conditional branch dan add-with – carry. Misalkan register R1 dan R2 menyimpanbilangan integer double –precision yang akankitatambahkankebilangan double – precision yang lain dalam register R3 dan R4

  19. Tujuan unit pengambilaninstruksi fetch adalahuntukmenyediakanarusinstruksitetapbagi unit eksekusi.kapanpunarusinidiinterupsi,maka pipeline stall, • Sekarangkitaakanmenganalisaefekinstruksi branch danteknik yang dapatdigunakanuntukmengurangipengaruhnya. Kita mulaidenganunconditional branch. C. INSTRUCTION HAZARD

  20. Pengurangan Bench penalty dilakukandengan, menghitungalamat branch lebihawaldalam pipeline. Biasanya unit pengambilaninstruksimemiliki dedicated hardwereuntukmengidentifikasiinstruksibrenchdanmenghitungalamt branch target secepatmungkinsetelahsuatuinstruksidiambil. A. Unconditional Branch

  21. Cache miss atauinstruksi branch men-stall pipeline selamasatu clock cycle ataulebihuntukmengurangiefekinterupsitersebut , bayak processor menggunakan unit pengambilancanggih yang dapatmengambilinstruksisebelumdiperlukandanmeletakkannyadalam Queue. b. Queue danPrefetchingInstruksi

  22. Instruksi conditional branch menimbulkan hazard tambahanyabgdisebabkanolehketergantungankondisi branch padahasilinstruksisebelumnya. Keputusanuntuk branch tidakdapatdibuathinggaeksekusiinstruksitersebuttelahselesai. c. Conditional Branch dan Branch Prediction

  23. Keefektifanpendekatan delayed branch tergantungpadaseberapaseringpengaturanulanginstruksidimungkinkan. Data eksperiment yang dikumpulkandaribanyak program mengindikasikanbahwateknikkompilasi yang rumitdapatmenggunakansatu branch delay slot padamaksimal 85 persenkasus. Untukprosessordengandua branch delay slot, compiler mencobamenemukanduainstruksisebeluminstruksi branch yang dapatdipindahkannyake delay slot tanpamenimbulkanerorlogika. d. Delayed Branch

  24. Jikakeluaran branch random, makasetengah branch akandilakukan. Jadipendekatansederhanadenganmengasumsikanbahwa branch branchtidakakandilakukanakanmenghemat 50 persenwaktu yang dibuanguntukmelakukan conditional branch. Akantetapi, performalebihbaikdapatdicapaijikakitamengaturbeberapainstruksi branch yang akandiprediksikanuntukdilakukandan yang lain untuktidakdilakukan, tergantungpadakelakuan program yang diharapkan. e. Prediksi Branch

  25. Tujuanalgoritmaprediksi branch adalahuntukmengurangikemungkinanmembuatkeputusan yang salah, untukmenghindarimengambilinstruksi yang padaakhirnyaharusdibuang. Dalamskemapredisk branch, hardware prosessormemperkirakankemiripansuatu branch yang dilakukandenganmencatatkeputusanbranchsetiap kali instruksitersebutdieksekusi. f. Prediksi Branch Dinamik

  26. Kita telahmelihatbahwabeberapainstruksilebihsesuaiuntukeksekusi pipelined daripada yang lain. Misalnya, efeksampinginstruksidapatmenyebabkan data dependency yang tidakdiinginkan. Dalambagianini, kitamenganalisishubunganantarafitureksekusi pipelined daninstruksimesin. Kita membahasduaaspekutamainstruksimesin-mode pengalamandanconditioan code flag. D. PENGARUH PADA SET INSTRUKSI

  27. Dalammemilih mode pengelamatanuntukdiimplementasikandalamprosessor pipelined, kitaharusmemperhatikanefektiap mode pengelamatanpadaaliraninstruksidalam pipelined. Duapertimbanganpenting yang berkaitandenganhaliniadalahefeksamping mode sepertiautoincrementdanautodecrementdantingkatdimana mode pengelamatan complex menyebabkan pipeline menjadi stall. Factor penting lain adalahapakahsuatu mode akanlebihdipiliholehsuatu compiler . a. Mode Pengelamatan

  28. condition code flag disimpandalam processor status register. Flag tersebutdisetataudikosongkanolehbanyakintruksi,sehinggadapatdiujiolehinstruksi conditional branch yang berurutanuntukmengubahaliraneksekusi program. Optimizing compiler untukprosesor pipelined mencobamenyusunulanginstruksiuntukmenghindari stalling pipeline padasaatterjadi branch atau data dependency antarainstruksi yang berurutan. b. Condition Code

  29. SEMOGA BERMANFAAT 

More Related