Kamis, 09 Juli 2009

Kelebihan dan Kekurangan Pipelining

:: Kelebihan dan Kekurangan Pipelining ::

- Kelebihan
1.siklus waktu dalam prosesor berkurang, sehingga secara umum menilai instruksi-isu
2.kombinasi beberapa sirkuit seperti adders atau multipliers dapat dibuat lebih cepat dengan menambahkan lebih circuitry. Jika pipelining digunakan sebagai gantinya,ia dapat menyimpan circuity melawan yang lebih kompleks atas kombinasi sirkuit.

-Kekurangan
1. Mencegah penundaan cabang ini (berlaku, setiap cabang yang tertunda) dan masalah dengan serial instruksi yang dijalankan secara bersamaan,akibatnya desain yang lebih sederhana dan murah untuk produksi.
2.Instruksi yang tersembunyi pada prosesor non pipelining tersebut sedikit lebih rendah daripada di pipelining yang setara. Hal ini disebabkan oleh kenyataan bahwa tiba-tiba harus ditambahkan ke jalur data dari prosesor pipelined
3.prosesor non pipelining akan ada instruksi bandwith yang stabil. Kinerja prosesor pipelined sangat sulit untuk memprediksi dan dapat bervariasi secara lebih luas di antara berbagai program.
Contoh:
instruksi khas untuk menambahkan dua nomor mungkin ADD A, B, C yang menambahkan nilai memori ditemukan di lokasi A dan B, dan kemudian menyerahkan hasil di lokasi memori C. sebuah prosesor pipelining yang akan merusak ini menjadi serangkaian tugas yang mirip dengan:
LOAD R1, A Load R1, A
LOAD R2, B Load R2, B
ADD R3, R1, R2 ADD R3, R1, R2
STORE C, R3 MALING C, R3
LOAD next instruction

Nilai-nilai yang disimpan dalam lokasi memori berlabel 'A' dan 'B' yang dimuat (disalin) ke dalam register R1 dan R2, kemudian ditambahkan, dan hasilnya (yang mendaftar di R3) yang disimpan dalam lokasi memori berlabel 'C'.
Dalam contoh ini adalah pipa yang panjang memliki tiga tahapan, memuat ,menjalankan, dan menyimpan. Setiap langkah-langkah itu yang disebut pipa tahap.(tahap pipeline)
Pada prosesor non pipeline, hanya satu tahap dapat bekerja pada suatu waktu sehingga seluruh instruksi yang lengkap sebelum instruksi berikutnya dapat dimulai.Jadi, saat ini adalah instruksi di jalankan tahap kedua instruksi akan berada pada tahap membaca sandi dan instruksi 3. Akan mengambil pada tahap.
Pipelining tidak mengurangi waktu yang diperlukan untuk menyelesaikan sebuah instruksi itu bukan kenaikan jumlah instruksi yang dapat diproses dan sekaligus mengurangi penundaan antara selesai petunjuk disebut 'throughput'.Semakin banyak pipa tahapan yang memiliki prosesor, semakin banyak instruksi yang dapat bekerja pada sekaligus dan kurang dari keterlambatan ada antara petunjuk selesai.Setiap hari ini menggunakan microprocessor diproduksi sekurang-kurangnya 2 tahapan pipa. setiap tahap memiliki 2 pipa. Prosesor Intel Pentium 4 ada 20 tahap Pipelines.
pseudo-kode assembly listing yang akan dilaksanakan:
LOAD A, #40 ; load 40 in A
MOVE B, A ; copy A in B
ADD B, #20 ; add 20 to B
STORE 0x300, B ; store B into memory cell 0x300

Beban instruksi yang ada di tahap menyimpan, di mana hasil-nya (nomor 40) akan disimpan dalam register A. Sementara itu, MOVE instruksi yang sedang dijalankan. Karena harus memindahkan isi dari A ke B, harus menunggu sampai yang memuat instruksi.

instruksi menyimpan adalah yang diambil, sementara MOVE adalah instruksi finishing off dan ADD adalah menghitung
Perlu diketahui bahwa, kadang-kadang, suatu instruksi akan tergantung pada hasil yang lain (seperti contoh kami MOVE)
Bila lebih dari satu instruksi referensi lokasi tertentu untuk operand, baik membacanya (sebagai masukan) atau menulis itu (sebagai output), yang menjalankan instruksi di dalam urutan yang berbeda dari program yang asli agar dapat mengakibatkan bahaya (yang disebutkan di atas)
Ada beberapa teknik yang didirikan untuk mencegah bahaya baik dari terjadi, atau bekerja di sekitar mereka jika mereka melakukan.

Referensi: www.wikipedia.org

Tidak ada komentar:

Posting Komentar