P. 1
Askom Pipeline

Askom Pipeline

|Views: 174|Likes:
Published by Freddy Christiawan

More info:

Published by: Freddy Christiawan on May 07, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

04/02/2015

pdf

text

original

- PIPELINE Pengertian pipeline Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama

tetapi dalam tahap yang berbeda yang dialirkan secara kontinou pada unit pemrosesor. Dengan ccara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh mikroprosesor. Pada mikroprosesor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam mikroprosesor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi. Dengan penerapan pipeline ini pada mikroprosesor akan didapatkan peningkatan dalam sistem kerja mikroprosesor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan mikroprosesor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap. Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar. Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya. Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter. Teknik pipeline yang diterapkan pada mikroprosesor, dapat dikatakan sebuah arsitektur khusus. Terdapat perbedaan khusus antara model mikroprosesor yang tidak menggunakan arsitektur pipeline dengan mikroprosesor yang menerapkan teknik pipeline ini. Pada mikroprosesor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam mikroprosesor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda.

5. Sinyal clock dikoneksikan ke masingmasing input latch. Write-back (WB) – Tulis kembali Mengirim kembali hasil eksekusi ke tempat tujuan. 2. 4. Setiap stadium melakukan fungsi khusus dan menghasilkan suatu output yang dikehendaki dengan segera.STRUKTUR PIPELINE Teknik perancangan pipeline mendekomposisikan sebarisan proses ke dalam sub-sub proses atau segmen. Operand Fetch (OF) – Mengambil operand Menerjemahkan dan mengambil operand-operand yang dibutuhkan. atau disebut juga register atau buffer. . Instruction Decoding (ID) – Menerjemahkan instruksi Mengidentifikasi operand yang akan ditampilkan. - INSTRUKSI PIPELINE 1. yang diikuti oleh satu sirkuit pemrosesan. Setiap stadium akan memuat suatu input latch. Instruction Fetch (IF) – Mengambil instruksi Mengambil instruksi dari cache (atau memori utama). 3. Execution (EX) – Eksekusi Melakukan operasi.

perkalian floating-point mensyaratkan pipeline agar juga menjalankan operasi yang sama pada setiap kelompok input. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. setiap prosesor mempunyai suatu tugas tertentu yang akan dijalankan pada aliran data. Proses pipelining instruksi instruction look ahead. mem-fetch instruksi secara berurutan.KLASIFIKASI PIPELINE Pipeline dapat kita klasifikasikan menurut fungsi dan konfigurasinya. Pipelining Prosesor Sewaktu stage dari suatu pipeline. dan skalar atau vektor. KLASIFIKASI BERDASARKAN FUNGSI  Pipelining Aritmatika Proses segmentasi fungsi dari ALU dari sistem yang muncul dalam kategori ini. Pipeline disusun seperlunya sesuai dengan nilai input kendali tambahan. Jika pipeline dapat menjalankan fungsi-fungsi yang berbeda maka disebut sebagai pipeline multifungsi. instruksi-instruksi yang berdampingan di-fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Misalnya. instruksi. Fungsi-fungsi yang berbeda itu bisa dijalankan baik pada waktu yang bersamaan ataupun berbeda. prosesor aktual dan latch-latch saling berbagi memori di antara prosesor-prosesor tersebut. Secara fungsional. sehingga pipeline tersebut disebut sebagai pipeline prosesor. dan prosesor. Pipelining banyak prosesor (multiple prosesor) merupakan konsep yang relatif baru dan belum umum   KLASIFIKASI BERDASARKAN KONFIGURASI  Unifungsi atau multifungsi Kemampuan suatu pipeline menjalankan hanya satu jenis pokok operasi disebut sebagai pipeline unifungsi. Untuk mem-pipeline fungsi ini. pipeline dapat diklasifikasikan menjadi tiga kelompok pokok : pipelining aritmatika. dengan menghubungkan subkelompoksubkelompok stage yang berbeda dalam pipeline. Statis atau dinamis  . Dengan demikian. Pipelining Instruksi Dalam suatu komputer non-pipeline. Dalam pipeline ini. Proses pipelining instruksi dikerjakan pada hampir semua komputer berkemampuan tinggi. Ramamoorthy dan Li (1977) mengajukan tiga skema untuk mengklasifikasikan pipeline menurut konfigurasi dan strategi kendalinya : unifungsi atau multifungsi . jika suatu instruksi menyebabkan percabangan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan tersebut di-fetch.

Kita harus memastikan bahwa instruksi selanjutnya tidak berusaha mengakses data lebih cepat dari seharusnya. pipeline terlihat sebagai pipeline unifungsi dan mengulangi operasi yang sama berulang-ulang. pipelining aktual tidak berada di bawah kendali programmer melainkan dibangun ke dalam arsitektur mesin tersebut. Komputer yang mempunyai instruksi-instruksi vektor disebut sebagai prosesor vektor. ketika satu instruksi telah selesai dan instruksi berikutnya belum dimulai. maka digunakan pipeline statis. Pipeline vektor dirancang untuk memproses instruksi vektor dengan menggunakan operand vektor. Ketika instruksi-instruksi yang berjenis sama akan dijalankan secara bersamaan waktunya. Pipeline ini dapat berupa pipeline fungsional maupun multifungsional tetapi mungkin mengasumsikan hanya satu konfigurasi fungsional pada suatu waktu. Hal ini berarti harus digunakan sebuah pipeline multifungsional. konfigurasi pipe berubah-ubah secara konstan. kecepatan instruksi pipelining ditentukan oleh tahap yang paling lambat. beberapa konfigurasi fungsional dapat muncul sekaligus. Dengan pipelining. Suatu pipeline multifungsi statis dapat bekerja paling baik jika fungsi yang akan dijalankan tidak sering berubah. Yaitu. • • • SOLUSI PERMASALAHAN PIPELINE . Skalar atau vektor Suatu pipeline skalar memproses serangkaian operasi skalar pada operand skalar. tergantung pada data mana untuk fungsi yang mana pada stage yang mana untuk setiap penangguhan clock. Salah satu contoh berupa operasi ADD dalam loop FOR. Sebelum mengganti fungsi tersebut. kelompok input terakhir dari fungsi sebelumnya harus benar-benar telah melewati pipeline. masalah akan timbul jika instruksi tersebut memiliki referensi data yang sama. Data Berbahaya ( Data Hazards) Ketika beberapa instruksi dieksekusi secara parsial. Dalam kasus ini. Kemudian pipeline dikonfigurasikan untuk fungsi yang baru dan input yang baru boleh masuk ke dalam pipe. Dengan pipeline dinamis. Artinya. Untuk alasan ini. Jeda (Interupsi) Interupsi harus berperan antar instruksi. Percabangan (Branch) Masalah dalam percabangan adalah pipelining diperlambat oleh instruksi karena kita tidak tahu cabang mana yang harus kita ikuti. PERMASALAHAN DI DALAM INSTRUKSI PIPELINING • Variasi waktu Tidak semua tahapan memakan waktu yang sama. Antara perubahan. instruksi berikutnya biasanya dimulai sebelum instruksi yang sekarang telah selesai. Pipeline dinamis memerlukan kendali yang sangat kompleks dan mekanisme perangkai untuk mengkonfigurasikan pipe bagi input-input tertentu.

Metode asinkron = lebih efisien. Ketika data telah diterima. Ketika selesai. Percabangan (Branching) • Menunda Percabangan • Menyusun kembali program sehingga percabangan menjadi lebih sedikit. Kekurangan Pipelining • • • • Menjalankan beberapa instruksi pada satu waktu. Ketergantungan pada data bisa muncul. Karena beberapa instruksi diproses secara bersamaan. Jika ada beberapa cabang yang mengalami delay proses akan menjadi lama. sinyal juga harus melewati tahapan berikunya. Data Berbahaya (Data Hazards) Pipeline biasanya dilengkapi dengan small associative check memory yang dapat menyimpan alamat dan jenis operasi. alamat ini akan dihapus. misalnya instruksi yang berurutan memerlukan data dari instruksi sebelumnya . dapat dibuat lebih cepat dengan menambahkan lebih banyak circuit. Instruksi latency sedikit lebih rendah daripada dalam pipelined setara. Beberapa combinational circuit seperti penambah atau pengganda. ada kemungkinan instruksi tersebut memerlukan resource yang sama. sehingga dapat meningkatkan tingkat kecepatan instruksi. Ketika ada konflik. • Memprediksi jenis cabang Keuntungan dari Pipelining • • Waktu siklus pada prosesor berkurang. Hal ini disebabkan instruksi ekstra harus ditambahkan ke jalur data dari prosesor pipeline. karena bit atau garis sinyal harus dilewatkan maju ke tahap berikutnya yang artinya data sudah valid. instruksi memasuki pipa dan alamat operand disimpan dalam memory check.• • • Variasi Pemilihan Waktu (Timing Variations) Metode sinkron = jika tahapan telah dianggap lengkap dari sejumlah siklus waktu tertentu.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->