Sampingan
0

BAB I

PENDAHULUAN

 

  1.  Latar Belakang Masalah

Prosesor merupakan bagian utama dari computer karena prosesor berfungi untuk mengatur semua aktivitas yang ada pada computer. Prosesor dapat dianalogikan sebagai otak dari computer. Hardware ini berfungsi untuk melakukan segala macam prosesor dalam computer. Sehingga sangat menentukan kecepatan dan performa computer.
Salah satu factor yang mempengaruhi kecepatan computer adalah pengoptimalan system pendukung ALU(system pipeline). Teknologi pipeline yang digunakan pada computer bertujuan untuk meningkatkan kinerja dari computer. Secara sederhan pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang dialirkan secara continue pada unit pemrosesan. Dalam makalah ini dibahas penjelasan tetntang pipeline. Selain itu juga dibahas mengenai Gantt Chart. Gantt Chart sendiri berarti metode sederhana dan powerful yang sering digunakan dalam merencanakan dan memonitor project atau aktivitas.

 

  1. Tujuan

Tujuan penulisan disini adalah untuk mengulas mengenai Gantt Chart dan Pipeline. Mulai dari pengertian kelebihan dan kekurangan dari Gantt Chart dan Pipeline.

 

  1. Rumusan Masalah
    1. Apa yang dimaksud dengan Gantt Chart?
    2. Apa keuntungan dan kerugian dari Gantt Chart?
    3. Apa yang dimaksud dengan Pipeline?
    4. Apa yang dimaksud dengan Hazzard?
    5. Apa keuntungan dan kerugian dari Pipeline?
    6. Apa kesulitan yang dialami ketika menggunakan teknik Pipeline?

 

 

 

 

BAB II

PEMBAHASAN

  1. GANTT CHART

Gantt chart adalah metode sederhana dan powerful yang sering digunakan dalam merencanakan dan memonitor project atau aktivitas. Bentuknya yang sederhana dan mudah dimengerti membuat Gantt Chart menjadi salah satu metode favorit yang paling banyak digunakan saat ini. Gantt Chart menggambarkan sebuah project / aktivitas dengan grafik batang yang terintegrasi dengan waktu kapan aktivitas tersebut di mulai dan kapan aktivitas akab berakhir. Ini adalah metode / alat yang sangat mudah jika Anda ingin melihat perkembangan project / aktivitas yang sedang direncanakan / berjalan. Meskipun kini Gantt Chart dianggap sebagai metode yang umum, namun ketika pertama kali diperkenalkan Gantt chart dianggap sebagai salah satu metode yang revolusioner. Metode ini pertama kali dipopulerkan pada tahun 1896 oleh Karol Adamiecki yang menyebut metode ini sebagai harmonogram. Ia baru mempublikasikan metode ini dalam bahasa Polandia pada tahun 1931. Metode ini akhirnya dinamakan dengn Gantt Chart – yang diambil dari nama Henry Gantt (1861–1919) yang mengembangkannya pada tahun 1910–1915. Gantt Chart pertama kali digunakan secara besar besaran pada perang dunia I atas inisiatif Jendral William Crozier (1855-1942).

Beberapa praktisi mengatakan bahwa Gantt Chart hanya cocok digunakan untuk proyek proyek dengan skala kecil hingga menengah. Untuk proyek besar dengan aktivitas yang kompleks maka agak sulit untuk menampilkan semuanya dalam sebuah Gantt Chart. Apalagi Gantt Chart hanya berfokus pada sisi manajemen saja yaitu: waktu, biaya dan project scope. Sehingga pada beberapa kasus jumlah aktivitas tidak selalu merefleksikan besarnya proyek yang dikerjakan.

Adapun beberapa keuntungan Gantt Chart ,meliputi sederhana, mudah dibuat dan dipahami sehingga bermanfaat sebagai alat komunikasi dalam penyelenggaraan proyek. Dapat menggambarkan jadwal suatu kegiatan dan kenyataan kemajuan sesungguhnya pada saat pelaporan dan dapat digabungkan dengan metode lain. Sedangkan kekurangan Gantt Chart meliputi sulit mengadakan perbaikan/pembaharuan bila diperlukan dan tidak menunjukkan secara spesifik hubungan ketergantungan antara satu kegiatan dengan kegiatan lain.

 

  1. PIPELINING

Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara continue 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.

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. 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.

Konsep pemrosesan pipeline dapat digunakan dalam sebuah komputer untuk memperbaiki throughput sistem tersebut dalam berbagai variasi cara. Tiga jenis pokok pipelining adalah pipelining aritmatika, instruksi, dan prosesor. Peningkatan throughput sistem dengan satu atau lebih jenis pipelining ini tergantung pada fungsi dan harga pipelining. Harga pipelining termasuk tambahan perangkat keras yang diperlukan untuk mekanisme latch dan kendali, serta waktu yang tidak produktif bagi pengisian pipeline dan memaksa latensi untuk menghindari adanya tubrukan.

Hazzard adalah situasi dimana pipeline gagal dilaksanakan , atau instruksi berikutnya tidak dapat dilaksanakan. Ada 3 kelompok Hazards :

  1. Structural Hazards muncul dari konflik resource sistem yaitu ketika hardware tidak dapat mensuport semua kemungkinan kombinasi pelaksanaan instruksi. 
  2. Data Hazards muncul ketika data untuk suatu instruksi tergantung pada hasil instruksi sebelumnya. 
  3. 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.

       Untuk melindungi dari data yang berbahaya, perlu untuk menyadari setiap tahap yang digunakan oleh tahap  pipelining yang lebih jauh. Jenis penggunaan juga harus diketahui,  dua pembacaan yang terurut tidak boleh bertentangan dan tidak boleh menyebabkan perlambatan pada pipeline. Namun  akan  ada kemungkinan konflik jika terjadi penulisan.

Pipeline biasanya dilengkapi dengan small associative check memory yang dapat menyimpan alamat dan jenis operasi (read atau write) untuk setiap instruksi yang ada di pipeline. Konsep “alamat(address)t” harus diperluas untuk mengidentifikasi register. Setiap instruksi hanya dapat mempengaruhi sejumlah kecil dari operand,  tapi efek yang tidak langsung addressing tidak boleh diabaikan.

Ketika instruksi bersiap memasuki pipa, alamat operan telah disimpan.Jika ada konflik, instruksi (dan yang di belakangnya) harus menunggu. Ketika ada konflik, instruksi memasuki pipa dan alamat operan disimpan dalam memori cek. Ketika instruksi selesai, alamat ini akan dihapus. memori harus bisa untuk menangani proses pencarian berkecepatan tinggi yangdiperlukan.

Instruksi Pipeline, tahap pertama 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.

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

t = 1 2 3 4 5 6 7 8 9 10
ADD AX,AX IF DE IF DE EX
ADD BX,CX IF DE IF DE EX

Disini instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.

t = 1 2 3 4 5 6 7 8 9 10
ADD AX,AX IF DE IF DE EX
ADD BX,CX IF DE IF DE EX
ADD DX,DX IF DE IF DE EX

Contoh pengerjaan instruksi dengan pipeline

Disini instruksi baru akan dipanggil setelah tahap IF menganggur (t2).

Dengan adanya pipeline dua instruksi selesai dilaksanakan pada detik 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, 14 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 utnuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi  ideal CPI akan harga 1.

Teknik pipeline ini menyebabkan ada sejumlah hal yang harus diperhatikan sehingga ketika diterapkan dapat berjalan dengan baik. Tiga kesulitan yang sering dihadapi ketika menggunakan teknik pipeline ini adalah terjadinya penggunaan resource yang bersamaan, ketergantungan terhadap data, dan pengaturan Jump ke suatu lokasi memori. Adapun beberapa keuntungan dari pipeline antara lain waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam kebanyakan kasus, dan beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Sedangkan kerugian dari tekni pipeline diantaranya 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, kedua 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, dan terakhir 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.

 

 

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s