160 likes | 533 Views
12. Teknologi Pipeline. By Serdiwansyah N. A. Pipeline. Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan .
E N D
12. Teknologi Pipeline By Serdiwansyah N. A.
Pipeline • Pipeline adalahsuatucara yang digunakanuntukmelakukansejumlahkerjasecarabersamaantetapidalamtahap yang berbeda yang dialirkansecarakontinupada unit pemrosesan. • Dengancaraini, maka unit pemrosesselalubekerja. • Teknikpipeline inidapatditerapkanpadaberbagaitingkatandalamsistemkomputer. • Bisapada level yang tinggi, misalnya program aplikasi, sampaipadatingkat yang rendah, sepertipadainstruksi yang dijalankanoleh microprocessor. Teknologi Pipeline
Perbedaan Microprocessor yang menggunakan Pipeline • Padamicroprocessor yang tidakmenggunakan pipeline, satuinstruksidilakukansampaiselesai, baruinstruksiberikutnyadapatdilaksanakan. • Sedangkandalam microprocessor yang menggunakanteknik pipeline, ketikasatuinstruksisedangkandiproses, makainstruksi yang berikutnyajugadapatdiprosesdalamwaktu yang bersamaan. Tetapi, instruksi yang diprosessecarabersamaanini, adadalamtahap proses yang berbeda. • Jadi, adasejumlahtahapan yang akandilewatiolehsebuahinstruksi. Teknologi Pipeline
Perbedaan Microprocessor yang menggunakan Pipeline • Denganpenerapan pipeline inipada microprocessor akandidapatkanpeningkatandalamunjukkerja microprocessor. • Hal initerjadikarenabeberapainstruksidapatdilakukansecara parallel dalamwaktu yang bersamaan. • Secarakasarnyadiharapkanakandidapatkanpeningkatansebesar K kali dibandingkandengan microprocessor yang tidakmenggunakan pipeline, apabilatahapan yang adadalamsatu kali pemrosesaninstruksiadalah K tahap. Teknologi Pipeline
Instruksi Pipeline • Gambar 1. Teknologi Pipeline
Tahapan Pipeline • Mengambilinstruksidanmembuffferkannya. • Ketikatahapnkeduabebastahapanpertamamengirimkaninstruksi yang dibufferkantersebut. • Padasaattahapankeduasedangmengeksekusiinstruksi, tahapanpertamamemanfaatkansiklusmemori yang tidakdipakaiuntukmengambildanmembuffferkaninstruksiberikutnya. • Tigakesulitan yang seringdihadapiketikamenggunakanteknikpipeline : • Terjadinyapenggunaan resource yang bersamaan • Ketergantunganterhadap data • Pengaturan Jump kesuatulokasimemori Teknologi Pipeline
Kategori Pipeline • Pipeline Unit Arithmetic • Bergunauntukoperasi vector. Pengembanganpipelinearitmetikdapatdilihatdariperkalianbinerunsigned.Operasishiftdanpenambahanmenjaditahapanpemrosesandalampengalipipelined. Pengalianbilanganbinerdengan 2n adalahsamadenganmenggesernyakekirisebesarn bit danmenyisipkannolpadasebelahkanannya. • Pipeline Unit Instruction • Bergunauntukkomputer yang mempunyai set instruksi yang sederhana. Tujuan pipeline instruksiadalahuntukmemaksimalkankecepatanmengalirnyainstruksi. Teknologi Pipeline
Pipeline di Processor • Untukmenerapkanprinsipmulti-stageataumulaisaatinikitanamakan pipelining di prosesor, diperlukanorganisasiprosesorkhusus. Padadasarnya, prosesordipartisimenjadisejumlah unit-unit kecildenganfungsispesifik. • Setiapunit berperanmenyelesaikansebagiandarieksekusiinstruksi : Instruction fetch, decode, operand address calculation, operand fetch, execute and store result. • Prosesordengan pipelining diaturkedalamtahap yang dapat semi-independenbekerjapadapekerjaan yang terpisah. Setiaptahapdisusundandihubungkankedalam 'rantai' sehingga output setiaptahapadalahmakanuntuktahap lain sampaipekerjaanselesai. • Organisasiprosesorinimemungkinkanwaktukeseluruhan proses untukdikurangisecarasignifikan. Teknologi Pipeline
Kelebihan Pipeline • Waktusiklusprosesorberkurang, sehinggameningkatkantingkatinstruksi-isudalambanyakkasus. • Beberapasirkuitkombinasionalseperti adders ataupengalidapatdibuatlebihcepatdenganmenambahkanlebihbanyaksirkuit. • Jikapipelining digunakansebagaipengganti, dapatmenyimpansirkuitvssirkuitkombinasionallebihkompleks. Teknologi Pipeline
Kekurangan Pipeline • Sebuahprosesor non-pipelined hanyamelaksanakaninstruksitunggalpadasuatuwaktu. Hal iniuntukmencegahpenundaancabang (yang berlaku, setiapcabangtertunda) danmasalahdengan serial instruksidieksekusisecarabersamaan. • Akibatnyadesainlebihsederhanadanlebihmurahuntukmemproduksi. • Latency instruksi di prosesor non-pipelined sedikitlebihrendahdaripada yang setara pipelined. • Hal inidisebabkanolehfaktabahwaekstraFlip Flopsharusditambahkankejalur data prosesor pipelined. Teknologi Pipeline
Komplikasi Pipeline • Dalamkasusekstrim, kinerjaprosesor pipelined pendekatan yang secarateoritisdapatdari un-pipelined prosesor, ataubahkansedikitlebihburukjikasemuakecualisatutahappipa yang menganggurdan overhead kecilhadirantaratahap. • Prediksicabangupayauntukmengatasimasalahinidenganmenebakapakahcabangakandiambilatautidakdanspekulasimengeksekusikodejalan yang memprediksiakandiambil. • Ketikaprediksi yang benar, prediksicabangmenghindarihukuman yang terkaitdenganpercabangan. • Namun, prediksicabangsendiridapatberakhirmemperburukmasalahjikacabang yang diperkirakanburuk, sebagaijalan yang salahkode yang telahmulaimemeraheksekusiharusdaripipasebelummelanjutkaneksekusi di lokasi yang benar. Teknologi Pipeline
Sinkronisasi Pipeline • Padasemuabarisperakitanindustri, efesiensialsuatu pipeline dapatberkurangjauhakibatsuatu bottleneck. • Bottleneck terjadisewaktupemrosesanpadasuatu stage, menghabiskanwaktulebih lama dari stage yang lain. Karenaituidealnyamenginginkanpadasemua stage menghabiskanwaktu yang sama. • Untukmenyamakanwaktu yang diperlukanpadasetiap stage maka stage-stage tersebutharusdisinkronisasi. Dapatdilakukandenganmenyisipkankunci-kuncisederhanaantara stage-stage tersebut. Teknologi Pipeline
Efisiensi Pipeline • Suatufungsi pipeline hampirselalulebihbaikdaripadafungsi non-pipeline. • Namumpadakenyataannya, harga pipeline tersebutsangatmempengaruhikapandanapakahfungsi-fungsi yang dipipeline-kanlebihbaikatautidak. • Beberapapenyebabharga pipeline: • Tambahankunci (latch) perangkatkeras yang dibutuhkan. • Kendali yang diperlukanuntukpenjadwalan input tersebut. • Waktu yang dihabiskanoleh data dalam latch untukmenyesuaikandiridengansuatupenangguhan clock yang seragam. • Jumlah rata-rata input yang tersedia. Teknologi Pipeline