DEFINISI PIPELINING
PIPELINING
Pengertian :
Pipeline adalah kerja paralel, dimana komputer mengerjakan 2 atau lebih bagian dari instruksi secara bersamaan
Pipelining adalah
teknik yang digunakan untuk merealisasi Parallel
Processing, yaitu dengan membagi operasi ke dalam k-stage (beberapa
tingkatan) atau sub-operasi, sehingga pada satu saat ada k operasi
berjalan yang sekaligus.
Pipelining adalah salah satu cara yang paling sering digunakan dalam
pararel prosesing. Sebuah operasi dibagi menjadi sejumlah sub operasi
elementer, kita namakan k. kemudian kita membentuk sebuah sistem dengan
banyak stage sebesar k, dan mengeksekusi sub operasi tersebut pada
setiap stage satu demi satu.
Pipelining adalah suatu teknik instruksi yang digunakan dalam desain
komputer dan perangkat elektronik digital lainnya untuk meningkatkan
instruksi throughput (jumlah instruksi yang dapat dijalankan pada waktu
yang sama).
Contoh :
gambar dibawah adalah generik pipa dengan 4 tahapan
1. Fetch
2. Membaca sandi
3. Menjalankan
4. Write-back
Abu-abu atas kotak daftar tunggu instruksi yang akan dilaksanakan;
bagian bawah kotak abu-abu adalah daftar instruksi yang telah selesai,
dan tengah kotak putih adalah pipa.
Pelaksanaan adalah sebagai berikut:
Waktu Eksekusi
---------------------------
0 Empat menunggu instruksi yang akan dilaksanakan
1 hijau instruksi yang diambil dari memori
2 hijau adalah instruksi decoded
ungu adalah instruksi yang diambil dari memori
3 hijau instruksi dijalankan (sebenarnya dilakukan operasi) ungu adalah instruksi yang decoded biru instruksi yang diambil
4 hijau instruksi dari hasil ditulis kembali ke daftar file atau memori
ungu instruksi yang dijalankan biru adalah instruksi decoded merah
instruksi yang diambil
5 hijau instruksi selesai ungu instruksi yang ditulis kembali biru instruksi dijalankan merah adalah instruksi decoded
6 The purple instruksi selesai biru instruksi yang ditulis kembali merah instruksi dijalankan
7 biru instruksi selesai merah instruksi yang ditulis kembali
8 merah instruksi selesai
9 Semua instruksi dijalankan
---------------------------------------
Kekurangan pada Pipeline adalah dalam prakteknya, bagaimanapun, prosesor
RISC beroperasi lebih dari satu siklus per instruksi. Prosesor mungkin
mengumpulkan hasil dari data dependensi dan instruksi cabang.
Data dependensi terjadi bila instruksi tergantung pada hasil dari
instruksi sebelumnya. Instruksi tertentu mungkin perlu data dalam
register yang belum disimpan, sejak itulah pekerjaan yang sebelumnya
instruksi yang belum mencapai tahap yang akan di pipeline.
sebagai contoh:
add $r3, $r2, $r1
add $r5, $r4, $r3
Dalam contoh ini, instruksi pertama memberitahu prosesor untuk
menambahkan isi register r1 dan r2 dan menyimpan hasilnya dalam register
r3. Instruksi kedua untuk menambahkan r3 dan r4 dan simpan ke r5.
Tempat ini kita set instruksi dalam pipeline. Ketika terjadi instruksi
yang kedua itu adalah tahap kedua, prosesor akan mencoba untuk membaca
r3 dan r4 dari register. Ingat, meskipun, yang pertama adalah instruksi
hanya satu langkah di depan kedua, jadi isi r1 dan r2 sedang
ditambahkan, tetapi hasilnya belum ditulis ke dalam daftar r3. Instruksi
yang kedua itu tidak dapat dibaca dari register R3 karena belum ditulis
dan belum harus menunggu hingga data yang diperlukan disimpan.
Akibatnya, pipa yang stalled dan sejumlah kosong instruksi dikenal
sebagai gelembung pergi ke dalam pipa. Data dependensi mempengaruhi
Pipelines lebih panjang daripada yang singkat karena memerlukan waktu
yang lebih lama untuk instruksi untuk mencapai akhir pendaftaran
tahap-menulis pipa yang panjang.
MIPS solusi untuk masalah ini adalah kode reordering. Jika, seperti
dalam contoh di atas, berikut ini ada petunjuk tidak ada hubungannya
dengan dua pertama, kode dapat diatur ulang sehingga instruksi yang
dijalankan di antara dua tergantung petunjuk dan pipa dapat mengalir
efisien. Tugas kode reordering umumnya mengkompile ke kiri, yang
mengakui data dependensi dan upaya untuk meminimalkan kinerja.
Langganan:
Posting Komentar (Atom)
Postingan bermanfaat tapi pelit ga bisa di copas. Untungnya masih ada inspect elemen HAHAHAHAHA