Professional Documents
Culture Documents
PENDAHULUAN
Unit arithmetika
Unit logika Boolean
2. Control Unit
1
STRUKTUR
3. Registers
CPU
Register adalah media penyimpan internal CPU yang digunakan
saat proses pengolahan data. Memori ini bersifat sementara, biasanya
ALU
digunakan untuk menyimpan data saat diolah ataupun data untuk
pengolahan selanjutnya. Control
Internal
Unit
Bus
4. CPU Interconnections
Registers
Adalah sistem koneksi dan bus yang menghubungkan komponen
internal CPU, yaitu ALU, unit kontrol dan register-register dan juga
dengan bus-bus eksternal CPU yang menghubungkan dengan system
lainnya. Seperti memori utama, piranti masukkan/keluaran.
2
1.2 CARA KERJA CPU
3
1.2.1 Siklus Fetch – Eksekusi
4
BAB II
PEMBAHASAN
5
• Eksekusi Instruksi (Execute instruction - EI) : Membentuk operasi yang di
indikasikan dan menyimpan hasilnya bila ada, dalam lokasi operand tujuan
yang dispesifikasikan.
• Tulis Operand (Write operand – WO) : Menyimpan hasilnya didalam
memori.
Bagi operasi-operasi load dan store, diperlukan ALU tiga buah fase:
• I :Instructions Fetch
• E : Execute. Menghitung alamat memori.
• D : Memory. Operasi register ke memori atau dari memori ke register.
6
dengan satu set flip flop antar langkah masing-masing. Di dalam perhitungan,
suatu saluran adalah satu set unsur-unsur pengolahan data menghubungkan secara
urut, sedemikian sehingga keluaran satu unsur adalah masukan yang berikutnya.
Unsur-unsur suatu saluran adalah sering dieksekusi yang paralel atau di dalam
pertunjukkan time-sliced; di dalam beberapa kasus, jumlah penyangga atau
bantalan gudang/penyimpanan adalah sering dimasuki/disisipi antar unsure-unsur.
1. Saluran Instruksi
2. Saluran Grafik
Saluran grafik yang ditemukan kebanyakan kartu grafik, yang terdiri dari
berbagai unit perhitungan, atau melengkapi, menyudahi CPU, itu menerapkan
berbagai langkah-langkah umum untuk menyumbangkan operasi ( proyeksi
perspektif, guntingan koran atau majalah jendela, warna dan kalkulasi,
menyumbangkan dan lain-lain ).
7
konsep ini.
Suatu fungsi pipeline hampir selalu lebih baik dari fungsi non-pipeline,
namun pada kenyataannya, harga pipeline sangat mempengaruhi kapan dan
apakah fungsi – fungsi yang di pipeline kan lebih baik atau tidak.
8
• A. Klasifikasi berdasarkan fungsi
• Pipelining Aritmatika adalah proses segmentasi fungsi dari ALU
dari system yang muncul dalam kategori ini.
9
semakin lama waktu total yang dibutuhkan pipeline untuk menunggu sampai
mengetahui instruksi mana yang akan dimasukan ke dalam pipeline.
Padamikroprosesor modern cenderungmempunyai pipeline yang panjang dan akan
bertambah semakin panjang sehingga dibutuhkan penyelesaian akan masalah
pipeline ini. Solusinya adalah dengan menggunakan branch prediction.
Mikroprosesor akan mencoba memprediksi apakah akan terjadi percabangan atau
tidak berdasarkan rekaman yang telah dilakukan oleh proses percabangan ini
sebelumnya. Sebagai contoh jika telah terjadi 4 kali percabangan pada kondisi
percabangan yang sama, maka besar kemungkinan akan terjadi percabangan juga
pada pemrosesan berikutnya. Mikroprosesor menentukan instruksi mana yang
akan dimasukkan ke dalam pipeline berdasarkan prediksi ini, sebelum
mikroprosesor benar-benar yakin akan hal tersebut. Hal ini disebut dengan
speculative execution. Jika prediksinya salah maka setiap perhitungan berdasarkan
prediksi tadi akan diabaikan, tetapi jika prediksi benar maka mikroprosesor akan
sangat banyak menghemat waktu.
2. UltraSPARC-III, spesifikasinya :
10
• Pipeline 14 tingkat, branch prediction diakses saat instruksi fetch pada
stage / tingkat 2-3.
• Gshare predictor : 16K entry 2 bit counters. Menggunakan tipe
bimodalpredictor, yaitu melakukan operasi XOR terhadap PC bits dan
global history register (kecuali 3 bit urutan terbawah).
• Menghindari antrian (queue)
11
Pada SPARC dan MIPS menggunakan trivial prediction. Trivial prediction
memprediksi bahwa branch (percabangan) tidak akan diambil. Jadi trivial
prediction selalu melakukan fetch instruksi pada urutan berikutnya. Pada
UltraSPARC-III menggunakan bimodal branch prediction. Bimodal branch
prediction memiliki sebuah tabel masukkan 2 bit yang berisi salah satu dari 4 state
yang dimungkinkan yaitu:
00 : strongly not taken
01 : weakly not taken
10 : weakly taken
11 : strongly taken
Isi tabel ini akan diupdate setiap kali memasuki kondisi percabangan tersebut.
Berikut ini adalah gambaran dari state diagram bimodal prediction :
12
memprediksi percabangan atau kelompok instruksi yang mirip untuk diproses
berikutnya. Apabila perkiraan prosessor benar pada bebarapa waktu tertentu,
prosessor akan mengambil instruksi-instruksi yang benar dan menyimpannya di
dalam buffer, sehingga prosessor selalu dalam keadaan sibuk. Prediksi Branch
predictors tidak hanya pada sebuah percabangan selanjutnya, tetapi juga beberapa
cabang berikutnya. Penelitian Branch prediction untuk mendukung performance
prosessor modern dalam menangani percabanan instruksi telah banyak dilakukan.
Branch Predictor dinamis yang pertama untuk mengambil prediksi percabangan
didasarkan pada history informasi lokal. Sejak itu, Branch Predictors mengalami
perkembangan yang signifikan. Perkembangan branch predictor ditentukan
diantaranya oleh 3 (tiga) kategori dasar (Heil dkk., 1999), yaitu:
13
pipelines (buffer), sebelum mikroprosesor benar-benar yakin terjadi percabangan
pada instruksi. Semua perhitungan yang berdasarkan prediksi akan diabaikan jika
prediksinya salah, tetapi apabila prediksi benar maka waktu yang dibutuhkan
untuk eksekusi instruksi menjadi lebih singkat (Fog, 2008).
Speculative branch execution membutuhkan satu atau dua akses terhadap tabel
serial (tergantung pada data-value predictor yang digunakan) dan menggunakan
history percabangan atau data-value, tetapi tidak dapat menggunakan keduanya.
Gambar 2 menunjukkan skema speculative branch execution menggunakan
prediksi data-value dengan ukuran yang tidak terbatas. Dibandingkan dengan
percabangan statis skema tersebut tingkat akurasinya lebih baik (Heil dkk. 1992).
2.7.4 MISPREDICTED
14
Pentium 4, yang menunjukkan alamat ketika terjadi bottlenecks dan eksekusi
instruksi spekulatif setelah percabangan. Pada kondisi tersebut, prosessor
membutuhkan informasi :
1. Hasil percabangan
15
Gambar 5. Arsitektur Branch Predictors. Sumber: Acιiçmez dkk.
Gambar 5 mendeskripsikan Branch Prediction Units (BPU) yang terdiri dari 2
bagian utama, yaitu BTB dan Predictor. BTB adalah buffer tempat prosessor
menyimpan alamat target pada percabangan sebelumnya. Ketika ukuran buffer
terbatas, prosessor cukup menyimpan nomor alamat target pada buffer atau
menumpuk/mengganti alamat sebelumnya yang tersimpan di buffer. fungsi dan
arsitetektur BTB sangat mirip dengan cache biasa, dan digunakan sebagai cache
untuk melihat alamat target percabangan sebelumnya yang menunjuk ke alamat
instruksi tertentu. Predictor adalah bagaian dari BPU yang melakukan prediksi
hasil percabangan. Yang termasuk bagian-bagian predictor, yaitu Branch History
Registers (BHR) seperti Global History Register atau Local History Registers, and
Branch Prediction Tables, dan lain-lain (Acιiçmez dkk.).
BAB III
PENUTUP
16
3.1 SIMPULAN
17