Rabu, 25 April 2012

Cara kerja pipeline pada prosessor



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