Jumat, 30 September 2011

Teknik Yang dikembangkan untuk meningkatkan kinerja komputer

Branch Prediction : teknik dimana prosesor memungkinkan mengamati terlebih dahulu di dalam software dan melakukan prediksi percabangan atau kelompok instruksi yang akan di eksekusi berikutnya. Program yang terdiri dari kelompok perintah bercabang sering digunakan dalam pemrograman.
• Pada CPU yang mendukung perintah pencabangan, CPU membutuhkan cukup banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya.
• Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut.
• Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya.


Perkembangan branch predictor ditentukan diantaranya oleh 3 (tiga) kategori dasar yaitu:
1. Penambahan path global dan history informasi
2. Teknik mengkombinasikan antara history global dan lokal
3. Mengurangi hambatan melalui skema peng-indeks-an tabel yang lebih baik
Gambar 1. Branch Predictor melalui speculative execution. Sumber: Heil dkk. (1992)

ALGORITMA BRANCH PREDICTORS
Jiménez memberikan contoh algoritma Branch Predictor sebagai berikut:





Parameter atau variable yang digunakan dalam algoritma:
GHL – Global history length
GHR – Global History shift register
GA – Global Array alamat percabangan sebelumnya
W – n × m × (GHL + 1) array (larik) bertipe small integer

CONTOH PEMANFAATAN BRANCH PREDICTORS
Branch Predictors UltraSPARC-III memiliki (Co, 2001):
Pipeline 14-stage, prediksi percabangan akan diakses saat mengambil instruksi pada stage 2-3
16K-entry 2-bit counter Gshare predictor
Bimodal predictor, melakukan operasi XOR terhadap bit-bit PC dengan global history register (kecuali 3 bit dibawahnya) untuk mengurangi alias.
Miss queue
Membagi mispredict penalty dengan menyediakan instruksi yang siap untuk di proses
Pada UltraSPARC-III yang menggunakan Bimodal Branch Prediction memiliki sebuah tabel masukkan berukuran 2 bit yang berisi salah satu dari 4 state sebagai berikut :
00 : Strongly Not Taken
01 : Weakly Not Taken
10 : Weakly Taken
11 : Strongly Taken


* Data Flow Analysis : proses pengumpulan informasi temtang cara bagaimana variabel- variabel dipakai dalam program.
* Speculative execution : dengan modal prediksi cabang dan analisis data, maka prosesor dapat melakukan eksekusi spekulatif terlebih dahulu sebelum waktunya.

• CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer.
• Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya
• Jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.

Kamis, 22 September 2011

Struktur Dan Fungsi Komputer

Perbedaan Arkom (Arsitektur komputer) dan Orkom (Organisasi komputer) ???

Arsitektur komputer adalah atribut-atributsistam komputer yang terkaitdengan seorang programer.
contoh: set intruksi,aritmetika yang digunakan,teknik pengalamatan,mekanisme I/O .

Organisasi komputer adalah bagian yang terkait erat denganoperasional seperti hardware.
contoh: perangkat antar muka(interface komputer),teknologi memori,sistem memori yang digunakan,dan sinyal-sinyal kontrol.

Organisasi komputer berkaitan dengan unit-unit operasional dan interkoneksinya yang merealisasikan spesifikasi arsitektural. Arsitektur komputer berkaitan dengan atribut-atribut sebuah sistem yang tampak(visible) bagi seorang pemrogram, yaitu atribut-atribut yang memiliki dampak langsung pada eksekusi logis sebuah program.
Struktur adalah Cara Komponen-komponen dalam sebuah komputer saling terkait. Fungsi adalah operasi
pada masing-masing komponen sebagai bagian dari Struktur.
Fungsi Komputer dapat melakukan fungsi pengolahan data,penyimpanan data pemindahan data kontrol.

Struktur Komputer meliputi:
- CPU (Central Processing Unit)
Mengontrol operasi komputer dan membentuk fungsi-fungsi pengolahan datanya
- Main Memory
Tempat menyimpan data
- Input Output (I/O)
Memindahkan data antara komputer dengan lingkungan luarnya
- System Interconections
Beberapa mekanismekomunikasi antara CPU, main memory dan I/O

Komponen-komponen CPU meliputi:
- Control Unit(CU)
mengontrol operasi CPU dan pada gilirannya mengontrol komputer
- Arithmetic and logic unit(ALU)
Membentuk fungsi-fungsi pengolaha data komputer
- Register
Penyimpan internal bagi CPU
- CPU interconnections
Mekanisme komunikasi antara CU,ALU dan register-register