Pada umumnya, efisiensi sebuah komputer dinilai beerdasarkan
kecepatan perangkat keras dan fasilitas-fasilitas perangkat lunak. Penilaian
ini disebut sebagai throughput, didefinisikan sebagai jumlah pemrosesan yang dapat dikerjakan
dalam suatu interval waktu tertentu. Salah satu teknik yang mendorong
peningkatan suatu sistem throughput yang cukup hebat disebut sebagai pemrosesan
pipeline. Konsep pemrosesan
pipeline dalam suatu komputer mirip dengan suatu baris perakitan dalam suatu
pabrik industri. Ambil contoh, sutu proses pembuatan mobil. Ketika sebuah mobil
dibuat, mobil tersebut berpindah sepanjang ban berjalan dengan berurutan,
melewati beberapa stasiun. Pada setiap stasiun, dikerjakan sebagian proses
konstruksi pada mobil itu, kemudian berpindah lagi ke stasiun berikutnya.
Perpindahan mobil itu dari satu stasiun ke stasiun lainnya, memungkinkan
beberapa mobil berada pada baris perakitan pada waktu yang bersamaan,
masing-masing pada stasiun yang terpisah. Dengan demikian, hal ini
mengakibatkan kita menghasilkan mobil dari baris perakitan satu persatu secara
berurutan. Tanpa teknik baris perakitan seperti ini, pengerjaan suatu mobil
tidak dapat dimulai sampai mobil yang sebelumnya benar-benar selesai.
Pemrosesan pipeline dalam suatu komputer diperoleh dengan
membagi suatu fungsi yang akan dijalankan menjadi beberapa subfungsi yang lebih
kecil dan merancang perangkat keras yang terpisah, disebut sebagai tingkatan (stage), untuk setiap subfungsi. Stage-stage itu kemudian dihubungkan
bersama-sama dan membentuk sebuah pipeline tunggal (atau pipe) untuk menjalankan fungsi asli tersebut.
Pada gambar diatas dapat dibagi menjadi tiga subfungsi terpisah
berikut ini:
- Sejajarkan
mantissa-mantissa yang ada
- tambahkan
mantissa-mantissa tersebut
- Normalisasikan
hasilnya
Jika kita merancang sebuah stage perangkat keras untuk setiap
subfungsi ini, kita dapat menyusun fungsi tersebut sebagai suatu pipeline
tiga-stage seperti diperlihatkan gambar berikut
Keuntungan proses penambahan secara pipeline ini adalah bahwa
dua input yang baru dapat dimulai melalui pipa tersebut segera sesudah dua
input sebelumnya melewati stage 2. Hal ini berarti bahwa jumlah penambahan akan
tersedia dengan kecepatan yang sama dengan kecapatan input. Gambar dibawah
memperlihatkan secara sistematis bagaimana sekumpulan angka floating-point akan
bergerak melalui penambah (adder) pipeline yang sederhana pada gambar 2 diatas
pada saat pasangan pertama angka-angka itu dihasilkan oleh stage 3 [bagian (d)
pada gambar 3 dibawah] maka pasangan kedua telah disejajarkan dan ditambahkan
dan hanya perlu dinormalisir pada stage 3 [bagian (e) pada gambar 3 dibawah].
Dengan menggunakan pipeline, jumlah selisih waktu antara hasil pertama dan
kedua merupakan jumlah waktu yang diperlukan untuk menormalisir sebuah angka.
Tanpa suatu pipeline, waktu antara hasil-hasil tersebut merupakan waktu
kumulatif yang diperlukan untuk semua ketiga subfungsi tersebut.
Kita mendefinisikan suatukomputer pipelinesebagai suatu komputer
dengan komponen perangkat keras pipeline. Definisi ini mencakup kebanyakan
komputer dewasa ini. Namun, mereka berbeda pada tingkatan pipelining mereka.



Tidak ada komentar:
Posting Komentar