Showing posts with label bagi. Show all posts
Showing posts with label bagi. Show all posts

Monday, June 08, 2015

Pipeline  adalah teknik untuk memecah proses  eksekusi menjadi beberapa sub-proses yang akan dieksekusi dalam segmen khusus dan dalam waktu yang bersamaan sehingga akan menghemat waktu pemrosesan.

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.

Apabila dianalogikan, konsep pipeline mirip dengan alur perakitan mobil, dimana saat bagian body memasang perlengkapan body pada mobil pertama maka pada bagian pengecatan akan menunggu mobil pertama. Saat  mobil pertama masuk ke pengecatan, maka bagian body akan melanjutkan dengan mobil kedua tanpa menunggu mobil pertama selesai dirakit dan selanjutnya ke tahap mesin dan yang lainnya dengan konsep yang sama.

Tiga kesulitan yang sering dihadapi ketika menggunakan teknik  pipeline ini adalah :
1.       Terjadinya penggunaan resource yang bersamaan
2.       Pengaturan Jump ke suatu lokasi memori.
3.       Sebagai perbandingan dapat melihat grafik berikut





Tahapan pipeline
1.       Mengambil instruksi pertama dan menjalankannya
2.       Ketika tahap 1 selesai maka lanjut ke tahap 2
3.       Ketika tahap 2 dijalankan, maka tahap 1 dijalankan menggunakan resource memory yang tersedia
4.       Dan menjalankan tahap selanjutnya sampai resource memory digunakan secara maksimal



Contoh pengerjaan instruksi dengan pipeline

Untuk menghitung efisiensi dalam sebuah pipeline dapat digunakan rumus sebagai berikut
     Non-pipeline     : n.k.T
     Pipeline             : nT + (k-1).T
     Peningkatan kecepatan = n.k / (k + n - 1), dimana n >> 1

Masalah yang muncul dalam system pipeline
Dalam pipeline ada situasi dimana ada instruksi yang gagal dilaksanakan, sehingga instruksi berikutnya tidak bisa dilaksanakan, situasi ini disebut  Hazards
Ada 3 jenis 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 saat pelaksanaan instruksi yang mengubah PC

Keuntungan dari Pipeline
 1.Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.

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

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

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

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

5.Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang  berurutan memerlukan data dari instruksi yang sebelumnya.

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

Friday, March 14, 2014

Berawal dari mata kuliah yang saya ambil di kampus, kali ini saya akan sedikit membahas tentang pengertian kriptografi. Bagi saya mempelajari pengertiannya sudah menjadi pemikiransendiri. Dalam artikel kali ini yang akan saya bagikan adalah pengertian umum dari Kriptografi, sedangkan cara dan bagaimana kriptografi bekerja akan dilanjutkan pada artikel selanjutnya.
Menurut Bruce Schneier yang saya sadur dari wikipedia.org, Kriptografi adalah sebuah ilmu dan seni untuk menjaga kerahasiaan berita.
Secara umum, <>Kriptografi memiliki 4 tujuan mendasar yang berupa keamanan informasi
1. Kerahasiaan -> layanan yang digunakan untuk menjaga isi dan informasi dari siapapun kecuali yang memiliki otoritas (key)
2. Integritas data -> berhubungan dengan penjagaan dari perubahan data secara tidak sah. sistem harus bisa mendeteksi manipulasi data yag dilakukan oleh pihak2 yang tidak berhak.
3. Autentikasi -> berhubungan dengan pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri.
4. Non-repudiasi -> atau biasa disebut nir- penyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang membuat.

Dalam sebuah Kriptografi haruslah memiliki algoritma untuk merubah data/pesan yang dikirimkan ke penerima. menurut Shannon, Algoritma yang digunakan haruslah memiliki kekuatan untuk melakukan hal berikut:

  • konfusi/pembingungan(confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya.






  • difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang. 








Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah Kriptanalisa.

Kriptografi Part 2


Subscribe to RSS Feed Follow me on Twitter!