Gambar cara kerja masing-masing unit pada
pipeline
Pada gambar di atas
mengilustrasikan sebuah
pipeline dengan lima unit, atau lima stage (5 tahap). Tahap 1 mengambil
instruksi dari memori dan menempatkan instruksi tersebut dalam sebuah penyangga
sampai instruksi itu dibutuhkan. Tahap 2 mendekodekan instruksi tersebut,
menentukan jenisnya dan operand apa yang dibutuhkan instruksi tersebut. Tahap 3
melokasi dan mengambil operand-operand, baik itu dari register-register ataupun
dari memori. Tahap 4 sebenarnya melaksanakan pekerjaan menjalankan instruksi
tersebut, terutama dengan menjalankan operand-operand melalui jalur data.
Terakhir, tahap 5 menulis hasilnya kembali ke register yang sesuai.
Kita dapat melihat bagaimana pipeline tersebut beroperasi
sebagai suatu fungsi waktu. Selama siklus jam (waktu) 1, Sl sedang menangani
instruksi 1, dengan mengambilnya dari memori. Selama siklus 2, tahap S2
mendekodekan instruksi 1, sedangkan tahap Sl mengambil instruksi 2.
Selamasiklus 3, tahap S3 mengambil operand-operand dari instruksi 1, tahap S2
mendekodekan instruksi 2, dan tahap Sl mengambil instruksi ketiga. Selama
siklus 4, tahap S4 menjalankan instruksi 1, S3 mengambil operand-operand untuk
instruksi 2, S2 mendekodekan instruksi 3, dan Sl mengambil instruksi 4.
Terakhir, selama siklus 5, S5 menulis kembali hasil instruksi 1, sementara
tahap-tahap lainnya menangani instruksi-instruksi berikutnya.
Mari kita lihat sebuah contoh untuk lebih memperjelas konsep
pipeline. Bayangkan sebuah pabrik kue di mana proses pembakaran dan pengemasan
kue-kue untuk pengiriman dilakukan secara terpisah. Misalkan bahwa departemen
pengiriman memiliki sebuah ban berjalan pembawa panjang dengan lima pekerja
(satuansatuan pemrosesan) yang berdiri berjejer sepanjang ban berjalan
tersebut. Setiap 10 detik (siklus jam), pekerja 1 menempatkan sebuah kotak kue
kosong pada ban tersebut. Kotak tersebut dibawa ke pekerja 2, yang memasukkan
sebuah kue ke dalam kotak itu. Sesaat kemudian, kotak tersebut sampai di pos
kerja pekerja 3, yang kemudian menutup dan menyegel kotak tersebut. Selanjutnya
kotak tersebut diteruskan ke pekerja 4, yang memasang sebuah label pada kotak
kue itu. Terakhir, pekerja 5 memindahkan kotak tersebut dari ban dan
memasukkannya dalam sebuah kontainer besar untuk kemudian dikirim ke beberapa
supermarket. Pada dasarnya, cara kerja seperti ini juga berlaku pada pipelining
komputer: Setiap instruksi (kue) melalui beberapa langkah pemrosesansebelum
mencapai hasil sempurna pada akhir proses.
Tidak ada komentar:
Posting Komentar