Anda di halaman 1dari 38

CPU

(CENTRAL PROCESSING UNIT)


KOMPONEN UTAMA CPU
1. Control Unit
 Mengatur dan mengendalikan alat-alat input dan output.
 Mengambil instruksi-instruksi dari memori utama
 Mengambil data dari memori utama (jika diperlukan) untuk diproses.
 Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau
perbandingan logika serta mengawasi kerja dari ALU.
 Menyimpan hasil proses ke memori utama.
 Mengontrol perpindahan data dan instruksi ke CPU atau dari CPU
 Mendecode instruksi program dan menyediakan sinyal-sinyal kontrol
yang bersesuaian
2. Register
 merupakan alat penyimpanan kecil yang mempunyai
kecepatan akses cukup tinggi, yang digunakan untuk
menyimpan data dan/atau instruksi yang sedang
diproses.
 Memori ini bersifat sementara, biasanya di gunakan
untuk menyimpan data saat di olah ataupun data untuk
pengolahan selanjutnya.
3. Arihtmetic Logikal Unit (ALU)
 Melakukan komputasi untuk pengolahan data
 Melakukan tugas-tugas dasat aritmatik dan operasi logika

4. Internal Bus (CPU Interconnection)


 Jalur yang berfungsi sebagai jembatan komunikasi antara

komponen utama
FUNGSI UTAMA CPU
 Menjalankan program-program yang tersimpan di memori
utama dengan cara mengambil instruksi-instruksi, menguji
instruksi tersebut dan mengeksekusinya satu persatu
sesuai alur perintah
REGISTER PADA CPU
Memiliki 2 fungsi :
1. User Visibel Register :
Register CPU yang dapat digunakan oleh pemrogram,
dengan menggunakan set intsruksi memungkinkan satu
buah register atau lebih untuk dispesifikasian sebagai
operand atau alamat operand.
2. Control dan Status Register
Register yang digunakan oleh unit kontrol untuk
mengintrol operasi CPU dan oleh program sistem operasi
untuk mengontrol eksekusi program
User Visibel Register
a. General Purpose Register
 Digunakan untuk mode pengalamatan dan data
 Akumulator ( aritmatika, Shift, Rotate)
 Base Register (Rotate,Shift, aritmatika)
 Counter Register ( Looping)
 Data Register (menyimpan alamat I/O device).
b. Register Alamat
 Digunakan untuk mode pengalamatan

 Segment Register (Code Segment, Data Segment, Stack

Segment, Extra Segment)


 Register Index (Stack Index, Data Index)

 Stack Pointer
d. Register Data
 Digunakan untuk menampung data

c. Register Kode Status Kondisi (Flag)


 Kode yang menggambarkan hasil operasi sebelumnya
Control dan Status Register
Register ini digunakan oleh unit control untuk mengontrol operasi cpu
dan oleh program system operasi untuk mengontrol eksekusi program.

1. Program Counter (PC)


Berisi alamat instruksi yang akan diambil
2. Instruction Register (IR)
Berisi alamat instruksi terakhir
3. Memory Address Register (MAR)
Berisi alamat penyimpanan dalam memori
4. Memori Buffer Register (MBR)
Berisi data yang dibaca dari memori atau yang dituliskan ke memori
Siklus Instruksi
Proses eksekusi dalam CPU ada 2 langkah, yaitu :

1. Fetch Cycle (Siklus mengambil)


Mengambil instruksi yang akan dieksekusi
2. Execute Cycle (Siklus Eksekusi)
Melakukan operasi yang ditentukan oleh opcode instruksi
KETERANGAN DIAGRAM SIKLUS INSTRUKSI
1. Instruction Addess Calculation (IAC)
yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan
dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi
sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori
memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.

2. Instruction Fetch (IF)


yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.

3. Instruction Operation Decoding (IOD)


yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan
dibentuk dan operand yang akan digunakan.
4. Operand store (OS)
yaitu menyimpan hasil eksekusi ke dalam memori.

5. Operand Address Calculation (OAC)


yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan
referensi operand pada memori.

6. Operand Fetch (OF)


adalah mengambil operand dari memori atau dari modul I/O.

7. Data Operation (DO)


yaitu membentuk operasi yang diperintahkan dalam instruksi.
Interupsi
 Fungsi interupsi adalah mekanisme
penghentian atau pengalihan pengolahan
instruksi dalam CPU kepada routine interupsi

 Tujuan interupsi secara umum adalah untuk


memanajemen pengeksekusian routine
instruksi agar efektif dan efisien antar CPU
dan modul-modul I/O maupun memori.
Data Flow (Interrupt Diagram)
Siklus Eksekusi Instruksi dengan Interupsi
PIPELINE
Pipeline adalah suatu cara yang digunakan
untuk melakukan sejumlah kerja secara
bersama tetapi dalam tahap yang berbeda
yang dialirkan secara kontinu pada unit
pemrosesan. Dengan cara ini, maka unit
pemrosesan selalu bekerja.
Pipeline adalah teknik yang digunakan untuk
merealisasikan parallel processing, yaitu
dengan membagi operasi ke dalam k-stage
(beberapa tingkatan), sehingga pada suatu
saat ada k operasi yang berjalan sekaligus.
PEMROSESAN PIPELINE
Pada umumnya efisiensi sebuah komputer dinilai
berdasarkan kecepatan perangkat keras dan fasilitas-
fasilitas perangkat lunak. Penilaian ini disebut
THROUGHPUT, didefinisikan sebagai jumlah pemrosesan
yang dapat dikerjakan dalam suatu interval waktu tertentu.

Salah satu teknik yang mendorong peningkatan suatu


sistem throughput yang cukup hebat disebut sebagai
pemrosesan pipeline.
Ada tiga kesulitan pada metode
dalam Pipeline:
 Terjadinya penggunaan resource yang bersamaan
 Ketergantungan terhadap data
 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
Gambaran Instruksi Pipeline
Kategori Pipeline ini di bagi menjadi dua

 Pipeline Unit Arithmetic : berguna untuk


operasi vector
 Pipeline Unit Instruction : berguna
untuk komputer yang mempunyai set
instruksi yang sederhana
Proses Pipeline
 Instruksi-instruksi dari program yang sudah
berurutan kemudian satu-persatu
memasuki pipeline prosesor untuk diproses.
Setiap tingkat pipeline memerlukan satu
clock cycle untuk menyelesaikan satu
instruksi dan meneruskan hasilnya ke
pipeline berikutnya.
Generic Pipeline
Ada empat tahapan dalam generic pipeline :

 Fetch : Ambil instruksi dari memori


 Decode : Terjemahkan arti dari instruksi
 Execute : Eksekusi instruksi yang telah di-decode
 Write-back : Simpan hasil eksekusi ke memori
Dekomposisi Pengolahan Instruksi
dalam Pipeline
 Fetch
Adalah pengambilan data ke memori atau register
 Execute
Menginterpretasikan opcode dan melakukan operasi yang
diindikasikan
 Fetch Instruction (FI)
Membaca instruksi berikutnya ke dalam buffer
 Decode Instruction (DI)
Menentukan Opcode dan operand specifier
 Calculate Operand (CO)
Menghitung alamat efektif seluruh operand sumber.
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.
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.
Pipelining RISC
Sebagian besar instruksi merupakan operasi
register ke register, dan sebuah siklus instruksi
memiliki dua buah fase :
1. I : Instruction Set pengambilan instruksi
2. E : Execute Set melakukan operasi ALU
dengan input Register dan output register
Bagi operasi Load dan store
diperlukan 3 buah fase
1. I = Instruction Set
2. E = Execute = menghitung alamat memori
3. D = Memori = operasi register ke memori
atau memori ke register
Keuntungan dari Pipeline

 Waktu siklus prosesor berkurang, sehingga


meningkatkan tingkat instruksi-instruksi
dalam kebanyakan kasus.
 Beberapa combinational sirkuit seperti
penambah atau pengganda dapat dibuat
lebih cepat dengan menambahkan lebih
banyak 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.

Anda mungkin juga menyukai