310 likes | 470 Views
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
E N D
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
AYU ANGGRIANI H 092904010 PTIK A 2009 CREATED BY: BY AYU ANGGRIANI H
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
D. PengaruhPada Set Instruksi • Mode Pengelamatan • Condition Code
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
Pipelining merupakancaraefektifuntukmengaturaktifitaskonkurendalam system computer. Ide dasarnyasangatsederhana. Hal iniseringditemui di dalampabrik, dimana pipelining umumnyadikenalsebagaioperasi assembly-line. Tidakdiragukanlagibahwapembacatelahmengenal assembly line yang digunakandalampembuatanmobil
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
Suatu unit yang menyelesaikantugasnyalebihawalakan idle selamasisaperiode clock. Karenanya, pipeline paling efektifdalammeningkatkanperformajikatugas yang sedangdilakukandalam stage yanberbedaamemerlukanjumlahwaktu yang sama.
Prosesor pipeline menyesaikanpengolahansatuinstruksipadatiap clock cycle,yangberartikecepatanpegolahaninstruksitersabutempat kali lebihbesardarioparesiberurutan. Peningkatanpotensidalamperforma yang dihasilkandari pipelining proporsionaldenganjumlah pipeline stage. Akantetapi, peningkataninihanyaakandicapaijikaoperasi pipelined dapatdipertahankantanpainterupsimelaluieksekusi program. b. Performa Pipeline
Sangatpentinguntukmemahamibahwa pipelining tidakmemyebabkaninstruksiindividudieksekusilebihcepat, sebaliknyapipelingmeningkatkan throughput, dimana throughput diukurdarikecepatanpenyelesaianeksekusiinstruksi.
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
Contohinimengilustrasikanbatasandasar yang harusdilakukanuntukmenjaminhasil yang tepat. Padasaatduaoperasisalingtergantungsatusama lain, makakeduanyaharusdilakukansecaraberurutandalamurutan yang benar. Kondisiinijelasmemilikikonsekuensi yang mendalam. Memahamiimplikasinyaadalahkunciuntukmemahamiberbagai alternative desaiandanpertukaran yang dihadapidalam computer pipelined.
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
NOP (No – operation ), sebagaiberikut : I1 : Mul R2,R3,R4 NOP NOP I2: Add R5,R4,R6
Jikatanggungjawabuntukmendeteksi dependency tersebutsepenuhnyadiserahkanpadasoftware,maka compiler harusmenyisipkaninstruksi NOP untukmendapatkanhasil yang tepat,kemungkinaninimengilustrasikan link tertutupantara compiler danhardwere. b. Menangani Data Hazard dalam Software
Penyerahantugassepertipenyisipaninstruksi NOP ke compiler menghasilkanhardwere yang lebihsederhana.Denganmenyadarikebutuhanterhadapjeda,maka compiler dapatmencobamenyusunulanginstruksiuntukmelakukantugas yang bergunadalam slot NOP menghasilkanukurankode yang lebihbesar.
Data depedenci yang adapadacontohsebelumnyaeksplisitandanmudahdideteksikarena register yang terlibatdinamaisebagaidestinasidalaminstruksi I1 dan source dalam I2 kadangkadangsuatuinstruksimengubahisi register selain yang disebutsebagaidestinasi. • Contohnyaadalahinstruksi yang menggunakan mode pengalamatanautoincrementautodecrement. b. EfekSamping
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
Tujuan unit pengambilaninstruksi fetch adalahuntukmenyediakanarusinstruksitetapbagi unit eksekusi.kapanpunarusinidiinterupsi,maka pipeline stall, • Sekarangkitaakanmenganalisaefekinstruksi branch danteknik yang dapatdigunakanuntukmengurangipengaruhnya. Kita mulaidenganunconditional branch. C. INSTRUCTION HAZARD
Pengurangan Bench penalty dilakukandengan, menghitungalamat branch lebihawaldalam pipeline. Biasanya unit pengambilaninstruksimemiliki dedicated hardwereuntukmengidentifikasiinstruksibrenchdanmenghitungalamt branch target secepatmungkinsetelahsuatuinstruksidiambil. A. Unconditional Branch
Cache miss atauinstruksi branch men-stall pipeline selamasatu clock cycle ataulebihuntukmengurangiefekinterupsitersebut , bayak processor menggunakan unit pengambilancanggih yang dapatmengambilinstruksisebelumdiperlukandanmeletakkannyadalam Queue. b. Queue danPrefetchingInstruksi
Instruksi conditional branch menimbulkan hazard tambahanyabgdisebabkanolehketergantungankondisi branch padahasilinstruksisebelumnya. Keputusanuntuk branch tidakdapatdibuathinggaeksekusiinstruksitersebuttelahselesai. c. Conditional Branch dan Branch Prediction
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
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
Tujuanalgoritmaprediksi branch adalahuntukmengurangikemungkinanmembuatkeputusan yang salah, untukmenghindarimengambilinstruksi yang padaakhirnyaharusdibuang. Dalamskemapredisk branch, hardware prosessormemperkirakankemiripansuatu branch yang dilakukandenganmencatatkeputusanbranchsetiap kali instruksitersebutdieksekusi. f. Prediksi Branch Dinamik
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
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
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