Pengertian Pipeline
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.
1. Sejajarkan mantissa-mantissa yang ada
2. tambahkan mantissa-mantissa tersebut
3. Normalisasikan hasilnya
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. Secara sistematis sekumpulan angka floating-point akan bergerak melalui penambah (adder) pipeline yang sederhana pada saat pasangan pertama angka-angka itu dihasilkan oleh stage 3 maka pasangan kedua telah disejajarkan dan ditambahkan dan hanya perlu dinormalisir pada stage 3. 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.
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.
1. Sejajarkan mantissa-mantissa yang ada
2. tambahkan mantissa-mantissa tersebut
3. Normalisasikan hasilnya
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. Secara sistematis sekumpulan angka floating-point akan bergerak melalui penambah (adder) pipeline yang sederhana pada saat pasangan pertama angka-angka itu dihasilkan oleh stage 3 maka pasangan kedua telah disejajarkan dan ditambahkan dan hanya perlu dinormalisir pada stage 3. 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.
Sinkronisasi Pada
Pipeline
Meskipun kita dapat memisahkan suatu fungsi menjadi beberapa subfungsi dengan waktu proses yang relatif sama, perbedaan logika dari stiap stage akan menyukarkan kita untuk menghasilkan waktu proses yang sama pada setiap stage. Untuk menyamakan waktu yang diperlukan pada setiap stage maka stage-stage tersebut harus disinkronisasikan. Hal ini bisa dilakukan dengan menyisipkan kunci-kunci (latch) sederhana (register cepat), antara stage-stage tersebut.latch, masing-masing pada bagian pipe paling awal dan satu lagi pada bagian paling akhir untuk memaksa input yang sinkron dan memastikan output yang sinkron.
Waktu yang diperlukan untuk lewat dari suatu latch melalui stage ke latch berikutnya disebut sebagaipenangguhan clock (clock delay) dan diperlihatkan pada gambar dibawah ini. Karena hanya ada satu keseragaman penangguhan clock untuk seluruh pipeline maka latch disinkronkan sesuai dengan waktu proses maksimum pada masing-masing stage individual dalam pipeline tersebut. Klasifikasi Pipeline
Pipeline dapat dikelompokkan menrut fungsi dan konfigurasinya. Secara fungsional, mereka diklasifikasikan menjadi tiga kelompok pokok yaitu: pipelineing aritmatika, instruksi dan prosesor. Pipeline menurut konfigurasi dan strtegi kendalinya: unifungsi atau multifungsi; statis atau dinamis; skalar atau vektor.
Meskipun kita dapat memisahkan suatu fungsi menjadi beberapa subfungsi dengan waktu proses yang relatif sama, perbedaan logika dari stiap stage akan menyukarkan kita untuk menghasilkan waktu proses yang sama pada setiap stage. Untuk menyamakan waktu yang diperlukan pada setiap stage maka stage-stage tersebut harus disinkronisasikan. Hal ini bisa dilakukan dengan menyisipkan kunci-kunci (latch) sederhana (register cepat), antara stage-stage tersebut.latch, masing-masing pada bagian pipe paling awal dan satu lagi pada bagian paling akhir untuk memaksa input yang sinkron dan memastikan output yang sinkron.
Waktu yang diperlukan untuk lewat dari suatu latch melalui stage ke latch berikutnya disebut sebagaipenangguhan clock (clock delay) dan diperlihatkan pada gambar dibawah ini. Karena hanya ada satu keseragaman penangguhan clock untuk seluruh pipeline maka latch disinkronkan sesuai dengan waktu proses maksimum pada masing-masing stage individual dalam pipeline tersebut. Klasifikasi Pipeline
Pipeline dapat dikelompokkan menrut fungsi dan konfigurasinya. Secara fungsional, mereka diklasifikasikan menjadi tiga kelompok pokok yaitu: pipelineing aritmatika, instruksi dan prosesor. Pipeline menurut konfigurasi dan strtegi kendalinya: unifungsi atau multifungsi; statis atau dinamis; skalar atau vektor.
Klasifikasi Berdasarkan
Fungsi
Pipelining aritmatika. Proses segmentasi dari ALU dari sistem yang muncul dalam kategori ini. Suatu contoh daari fungsi pipeline aritmatika diberikan dalam bagian contoh pipeline multifungsi.
Pipelining instruksi.Dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi, disebut juga instruction lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan (branched-to instruction) tersebut di-fetch. Pipelining prosesor. Sewaktu stage dari suatu pipeline merupakan prosesor aktual dan latch-latch saling berbagi memori antara prosesor-prosesor tersebut maka pipeline itu disebut sebagai pipeline prosesor.
Pipelining aritmatika. Proses segmentasi dari ALU dari sistem yang muncul dalam kategori ini. Suatu contoh daari fungsi pipeline aritmatika diberikan dalam bagian contoh pipeline multifungsi.
Pipelining instruksi.Dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi, disebut juga instruction lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan (branched-to instruction) tersebut di-fetch. Pipelining prosesor. Sewaktu stage dari suatu pipeline merupakan prosesor aktual dan latch-latch saling berbagi memori antara prosesor-prosesor tersebut maka pipeline itu disebut sebagai pipeline prosesor.
Prosedur vektor Pipeline.
Mengambil intruksi dan
membufferkanya .
§ Ketika tahapn kedua bebas
tahapan pertama mengirimkan instruksi yang dibufferkan tersebut.
§ Pada saat tahapan kedua sedang
mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak
dipakai untuk mengambil dan membuffferkan instruksi berikutnya.
§ Tiga kesulitan yang sering
dihadapi ketika menggunakan teknik pipeline :
§ Terjadinya penggunaan
resource yang bersamaan
Ketergantungan terhadap data
pengaturan jump ke suatu lokasi memori.
Reduced Instruction Set Computers
(RISC)
RISC, yang jika diterjemahkan
berarti "Komputasi Kumpulan Instruksi yang Disederhanakan", merupakan
sebuah arsitektur komputer atau arsitektur komputasi modern dengan
instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini
digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain
digunakan dalam komputer vektor, desain ini juga diimplementasikan pada
prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium
(IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation,
PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu,
RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk
di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems,
serta PA-RISC dari Hewlett-Packard.
Selain RISC, desain Central
Processing Unit yang lain adalah CISC (Complex Instruction Set Computing), yang
jika diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi Kumpulan
Instruksi yang kompleks atau rumit.
Tidak ada komentar:
Posting Komentar