Komputer Pipeline dan Macam Gangguan Pada Sistem Distribusi (tugas 4)
Pengertian Pipeline
Pipeline adalah
suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi
dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor.
Dengan cara ini, maka unit pemrosesan selalu bekerja.
Teknik pipeline ini dapat diterapkan pada berbagai
tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program
aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang
dijaankan oleh microprocessor.
Pada microprocessor
yang tidak menggunakan pipeline , satu
instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat
dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik
pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang
berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi
yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi,
ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.
Dengan penerapan pipeline ini
pada microprocessor akan didapatkan peningkatan kinerja microprocessor.
Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam
waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan
sebesar K kali dibandingkan dengan microprocessor yang tidak
menggunakan pipeline ,
apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K
tahap.
Karena beberapa instruksi
diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama
memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat
agar proses tetap berjalan dengan benar dan lancar. Sedangkan ketergantungan
terhadap data bisa muncul, misalnya instruksi yang berurutan memerlukan data
dari instruksi yang sebelumnya. Kasus Jump, juga perlu perhatian, karena ketika
sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan
terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam
salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya
perubahan program counter.
Teknik pipeline yang
diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur
khusus. Ada perbedaan khusus antara model microprocessor yang tidak
menggunakan arsitektur pipeline dengan
microprocessor yang menerapkan teknik ini.
Pada microprocessor
yang tidak menggunakan pipeline , satu
instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat
dilaksanakan. Sedangkan dalam microprocessor yang menggunakan
teknik pipeline
ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga
dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses
secara bersamaan ini, ada dalam tahap proses yang berbeda.
Jadi, ada sejumlah tahapan
yang akan dilewati oleh sebuah instruksi. Misalnya sebuah microprocessor menyelesaikan
sebuah instruksi dalam 4 langkah. Ketika instruksi pertama masuk ke langkah 2,
maka instruksi berikutnya diambil untuk diproses pada langkah 1 instruksi
tersebut. Begitu pun seterusnya, ketika instruksi pertama masuk ke langkah 3,
instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.
Teknik pipeline ini
menyebabkan ada sejumlah hal yang harus diperhatikan sehingga ketika diterapkan
dapat berjalan dengan baik.
- Terjadinya penggunaan resource yang bersamaan
- Ketergantungan terhadap data, dan
- Pengaturan Jump ke suatu lokasi memori.
Instruksi pada pipeline
- Mengambil instruksi dan membuffferkannya
- Ketika tahapan 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
Berikut ini adalah gambaran tentang Instuksi
pipeline :
Karena untuk setiap tahap pengerjaan instruksi,
komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja
di komponen tersebut. Sebagai contoh :
Instruksi 1 : ADD AX, AX Instruksi 2: ADD
EX, CX
Setelah CU menjemput instruksi 1 dari memori (IF), CU
akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi 1
tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF
akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian
seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan
(ID).
Contoh pengerjaan instruksi tanpa pipeline :
Contoh pengerjaan instruksi dengan pipeline :
Dengan adanya pipeline dua
instruksi selesai dilaksanakan padadetik keenam (sedangkan pada kasus tanpa
pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi
percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk pengerjaan
3 buah instruksi terjadi percepatan sebanyak 2, 14x dari 15T menjadi hanya 7T.
Untuk kasus pipeline sendiri,
2 instruksi dapat dikerjakan dalam 6T (CPI = 3) dan instruksi dapat dikerjakan
dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam 8T (CPI
=2). Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI =
1,04). Pada kondisi ideal CPI akan harga 1.
Konsep Pipeline
Konsep pemrosesan pipeline dalam
suatu komputer mirip dengan suatu baris perakitan dalam suatu pabrik industri.
Ambil contoh, suatu proses pembuatan sebuah mobil: anggaplah bahwa
langkah-langkah tertentu di jalur perakitan adalah untuk memasang mesin,
memasang kap mesin, dan memasang roda (dalam urutan tersebut, dengan langkah
arbitrary interstitial). Sebuah mobil di jalur perakitan hanya dapat memiliki
salah satu dari tiga tahap yang dilakukan sekaligus.
Setelah mobil memiliki mesin yang
terpasang, bergerak ke bagian pemasangan kap, meninggalkan fasilitas pemasangan
mesin yang tersedia untuk mobil berikutnya. Mobil pertama kemudian pindah ke
pemasangan roda, mobil kedua untuk pemasangan kap, dan mobil ketiga dimulai
untuk pemasangan mesin. Jika instalasi mesin membutuhkan waktu 20 menit,
instalasi kap mobil memakan waktu 5 menit, dan instalasi roda membutuhkan waktu
10 menit, kemudian menyelesaikan semua tiga mobil ketika hanya satu mobil dapat
dioperasikan sekaligus akan memakan waktu 105 menit.
Di sisi lain, dengan menggunakan
jalur perakitan, total waktu untuk menyelesaikan ketiga adalah 75 menit. Pada
titik ini, mobil selanjutnya akan datang dari jalur perakitan pada kenaikan 20
menit.
Masalah-masalah pada Pipeline
Dengan adanya persyaratan
bahwa setiap instuksi yang berdekatan harus tidak saling bergantung, maka ada
kemungkinan terjadinya situasi dimana pipeline gagal dilaksanakan (instruksi
berikutnya tidak bisa dilaksanakan). Situasi ini disebut Hazards.
Hazards mengurangi performansi dari CPU dimana percepatan
ideal tidak dapat dicapai.
Ada 3 kelompok Hazards :
- Structural Hazards muncul
dari konflik resource sistem yaitu ketika hardware tidak dapat mensuport
semua kemungkinan kombinasi pelaksanaan instruksi.
- Data Hazards muncul
ketika data untuk suatu instruksi tergantung pada hasil instruksi
sebelumnya.
- Control Hazards muncul
pada pelaksanaan instruksi yang mengubah PC (contoh : branch).
Adanya Hazards
menyebabkan pipeline terhambat (stalled). Tidak ada instruksi baru yang
dijemput sampai hambatan itu selesai. Ini berarti instruksi-instruksi
selanjutnya akan ditunda pula penjemputannya.
Keuntungan dari Pipeline
- Waktu siklus prosesor berkurang, sehingga
meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.
- Beberapa combinational sirkuit seperti penambah
atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak
sirkuit.
3.Pemrosesan dapat dilakukan lebih cepat, dikarenakan
beberapa proses dilakukan secara bersamaan dalam satu waktu.
Jika pipeline digunakan
sebagai pengganti, hal itu dapat menghemat sirkuit vs combinational yang lebih
kompleks sirkuit.
Kerugian dari Pipeline
- Prossesor non-pipeline hanya menjalankan
satu instruksi pada satu waktu. Hal ini untuk mencegah penundaan cabang
(yang berlaku, setiap cabang tertunda) dan masalah dengan serial instruksi
dieksekusi secara bersamaan. Akibatnya desain lebih sederhana dan lebih
murah untuk diproduksi.
- Instruksi latency di prossesor non-pipeline
sedikit lebih rendah daripada dalam pipeline setara. Hal ini disebabkan
oleh fakta bahwa sandal jepit ekstra harus ditambahkan ke jalur data dari prossesor
pipeline.
- Prossesor non-pipeline akan memiliki instruksi
bandwidth yang stabil. Kinerja prossesor yang pipeline jauh lebih sulit
untuk meramalkan dan dapat bervariasi lebih luas di antara program yang
berbeda.
- Karena beberapa instruksi diproses secara
bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource
yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses
tetap berjalan dengan benar.
- Sedangkan
ketergantungan terhadap data, bisa muncul, misalnya instruksi yang
berurutan memerlukan data dari instruksi yang sebelumnya.
- Kasus Jump, juga perlu
perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu
lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan
instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya
mungkin tidak mengharapkan terjadinya perubahan program counter.
Kesulitan dalam Pipeline
Untuk menerapkan prinsip multi-stage atau mulai
saat ini kita namakan pipelining di prosesor, diperlukan organisasi prosesor
khusus. Pada dasarnya, prosesor dipartisi menjadi sejumlah unit-unit kecil
dengan fungsi spesifik. Setiap unit berperan untuk menyelesaikan sebagian
dari instruksi-intruksi berikut :
Instruction fetch, decode, operand address
calculation, operand fetch, execute dan store result.
Dalam proses di atas terkadang sering terjadi
kendala/conflict seperti:
- Terjadinya pause (Pi), karena adanya
data conflict dalam program tersebut
- Terjadinya data error dikarenakan banyaknya
proses yang dilakukan bersamaan
- Terjadinya pengambilan data secara bersamaan,
sehingga salah satu proses tertunda
- Terjadinya penumpukan data di salah satu intruksi
sehingga ada beberapa proses yg di tunda
dengan tanpa conclict.
Macam-macam Gangguan pada sistem distribusi
1. Gangguan beban lebih
Gangguan ini sebenarnya bukan gangguan murni, tetapi bila dibiarkan terus menerus berlangsung dapat merusak peralatan listrik yang dialiri oleh arus tersebut. Karena arus yang mengalir melebihi dari kapasitas peralatan listrik dan pengaman yang terpasang melebihi kapasitas peralatan, sehingga saat beban melebihi pengaman tidak trip. Misal : kapasitas penghantar 300 A dan pengaman di setting 350 A tetapi beban mencapai 320 A, sehingga pengaman tidak trip dan penghantar akan terbakar.
2. Gangguan hubung singkat
Gangguan hubung singkat, dapat terjadi antar fasa (3 fasa atau 2 fasa) atau 1 fasa ketanah dan sifatnya bisa temporer atau permanen.
Gangguan permanen antara lain :
Gangguan hubung singkat, bisa terjadi pada kabel atau pada belitan transformator tenaga yang disebabkan karena arus gangguan hubung singkat melebihi kapasitasnya, sehingga penghantar menjadi panas yang dapat mempengaruhi isolasi atau minyak transformator, sehingga isolasi tembus. Pada generator yang disebabkan karena adanya gangguan hubung singkat atau pembebanan yang melebihi kapasitas. Sehingga rotor memasok arus dari eksitasi berlebih yang dapat menimbulkan pemanasan yang dapat merusak isolasi sehingga isolasi tembus. Disini pada titik gangguan memang terjadi kerusakan yang permanen. Peralatan yang terganggu tersebut, baru bisa dioperasikan kembali setelah bagian yang rusak diperbaiki atau diganti.
Gangguan temporer, antara lain :
Flashover karena sambaran petir (penghantar terkena sambaran petir), flashover dengan pohon, penghantar tertiup angin yang dapat menimbulkan gangguan antar fasa atau penghantar fasa menyentuh pohon yang dapat menimbulkan gangguan 1 fasa ketanah. Gangguan ini yang tembus (breakdown) adalah isolasi udaranya, oleh karena itu tidak ada kerusakan yang permanen. Setelah arus gangguannya terputus, misalnya karena terbukanya circuit breaker oleh relai pengamannya, peralatan atau saluran yang terganggu tersebut siap dioperasikan kembali.
3. Gangguan Tegangan Lebih
Gangguan tegangan lebih yang diakibatkan adanya kelainan pada sistem, dimana tegangan lebih dibedakan atas :
- Tegangan lebih dengan power frekuensi, misal : pembangkit kehilangan beban yang diakibatkan adanya gangguan pada sisi jaringan, sehingga over speed pada generator, tegangan lebih ini dapat juga terjadi adanya gangguan pada pengatur tegangan secara otomatis (Automatic Voltage Regulator).
- Tegangan lebih transient karena adanya surja petir (lightning surge) yang mengenai peralatan listrik atau saat pemutus (PMT) yang menimbulkan kenaikan tegangan yang disebut surja hubung (switching surge).
4. Gangguan Ketakstabilan (Instability)
Gangguan hubung singkat atau lepasnya pembangkit, dapat menimbulkan ayunan daya (power swing) atau menyebabkan unit-unit pembangkit lepas sinkron, ayunan dapat menyebabkan salah kerja relai. Lepas sinkron dapat menyebabkan berkurangnya pembangkit, karena tripnya pembangkit yang besar dari spinning reserve, maka frekuensi akan terus turun atau terpisahnya sistem yang selanjutnya dapat menyebabkan gangguan yang lebih luas bahkan sistem terjadi keruntuhan (collapse).
MARSUDI, DJITENG.,” Operasi Sistem
Tenaga Listrik “, Yogyakarta, Graha Ilmu, 2006
Komentar
Posting Komentar