Anda di halaman 1dari 18

Arsitektur CPU

Muhammad Innuddin, M.Kom.


Organisasi Processor
Hal-hal yang perlu dilakukan CPU:

• Agar dapat melakukan hal-hal di atas, maka CPU perlu menyimpan data untuk
sementara waktu
• CPU harus dapat mengingat lokasi instruksi terakhir sehingga CPU akan dapat
mengambil instruksi berikutnya.
• CPU perlu menyimpan data dan instruksi untuk sementara waktu pada saat instruksi
sedang di eksekusi, jadi dengan kata lain CPU memerlukan memori internal dengan
ukuran kecil
Diagram Siklus Instruksi
Diagram Siklus Instruksi
• Instruction Address Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat
instruksi berikutnya yang akan dieksekusi.
• Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi
memorinya ke CPU.
• Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
• Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini
dilakukan apabila melibatkan referensi operand pada memori.
• Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
• Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
• Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori
CPU State
CPU mempunyai 2 keadaan operasi utama yaitu running state
dan halt state.
• Running state  CPU melakukan siklus instruksi
• Halt state  CPU tidak melakukan siklus instruksi
• Ketika komputer dihidupkan, maka CPU segera melakukan
running state
CPU State
CPU beralih dari running state ke halt state apabila ada aksi berikut :
1. Software halt : sebuah instruksi halt diambil dan akan dieksekusi oleh
CPU, karena itu CPU dalam keadaan berhenti.
2. Halt input : CPU menerima masukan halt dan berhenti. Sinyal ini
dapat berasal dari penekanan tombol HALT oleh operator atau saklar
PAUSE pada panel depan atau oleh sirkuit eksternal ke CPU
3. Auto shutdown : selama siklus instruksi, CPU mengalami situasi
abnormal yg serius dan karena itu terjadi shutdown yg menghentikan
siklus instruksi. Jika kemampuan shutdown tidak tersedia dlm CPU,
maka bisa terjadi hang, loop atau menjadi tidak beres pada situasi
abnormal yg tidak terprediksi.
Fungsi CPU Register

Berfungsi mengurangi referensi memori utama dengan mengoptimalkan register :


• Data register, digunakan untuk menampung data, register yang dapat
diberikan aneka ragam fungsi oleh pemrogram. Bersifat serbaguna dan dapat
digunakan dengan sembarang instruksi mesin yg melakukan operasi data.
• Address register, berisi alamat-alamat data dan instruksi pada memori utama,
dapat digunakan untuk mode pengalamatan tertentu.
Ex. Index Register, Segment Pointer, Stack Pointer
• General Purpose Register, dapat berisi sembarang op-code, digunakan untuk
keperluan umum misalnya menyimpan operand, alamat, dst.
• Kode-kode kondisi (flag), bit-bit yang disetel perangkat keras CPU sebagai hasil
operasi.
Fungsi CPU Register

• Berfungsi untuk mengontrol operasi prosesor.


• Register untuk alamat dan buffer, terdiri dari
 Memory Address Register, untuk mencatat alamat memori yang akan diakses.
 Memory Buffer Register, untuk menampung data yang akan ditulis/dibaca ke memori
yang alamatnya ditunjuk oleh MAR.
 I/O Address Register, berfungsi mencatat alamat I/O port yang akan diakses
 I/O Buffer Register, penampung data yang ditulis/dibaca ke port alamatnya ditunjuk oleh
I/O AR
• Register untuk eksekusi instruksi, terdiri dari dua register :
 Program Counter (PC), berisi alamat memori dari instruksi yang akan diambil untuk
dieksekusi
 Instruction Register (IR), berisi instruksi terakhir yang digunakan
• Register informasi status, register yang dikenal sebagai Program Status Word (PSW), yang
berisi keadaan. Ex. Interrupt enable/disable bit dan supervisor/user mode bit
CPU Registers
1 Accumulator:
menyimpan hasil operasi sebelumnya yg ada dalam ALU,
juga digunakan sebagai register masukan ke penjumlah

2 Program Counter (PC):


berisi alamat lokasi memori dimana instruksi berikut
harus diambil
Instruction Register (IR):
3
menyimpan instruksi yg baru saja diambil dari memori
untuk dilakukan pendekodean/penerjemahan instruksi
Memori Addres Register (MAR):
4
berisi alamat lokasi memori selama memori dalam
operasi baca/tulis
Memori Buffer Register (MBR):
5
berisi data yg dibaca dari memori (selama pembacaan) atau data
yg akan ditulis ke dlm memori (selama penulisan)

6 General Purpose Register (GPR):


digunakan untuk keperluan umum misalnya menyimpan operand,
alamat, dst
Program Status Word (PWS)
Semua rancangan CPU mencakup
sebuah register atau sekumpulan
register seringkali disebut Program
Status Word (PSW) yang berisi
informasi status

Biasanya PSW berisi kode kondisi dan


informasi status lainnya
RISC dan CISC
Complex Instruction Set Computing (CISC) Reduce Instruction Set Computing (RISC)

RISC dan CISC merupakan metode desain prosesor yang berbeda


• Untuk computer jangka Panjang dengan CPU Intel didalamnya, memanfaatkan apa yang disebut
arsitektur prosesor X86. Prosesor jenis ini menggunakan metode CISC.
• Komputer Apple didasarkan pada arsitektur prosesor ARM (Advance RISC Machine) dan tentu
saja menggunakan metode RISC.
• Saat ini dapat dikatakan bahwa prosesor X86 dan ARM telah berevolusi satu sama lain dan
keduanya memiliki RISC dan CISC.
RISC dan CISC
Instruksi Bahasa Assembly
Tidak banyak orang menulis kode assembly
tingkat rendah seperti ini lagi.
Set Instruksi Bahasa Pemrograman tingkat tinggi berarti
Bahasa Assembly programmer tidak lagi harus berfikir dalam
hal register CPU (ex. Accumulator).
Namun, Ketika kode tingkat tinggi di compile,
yaitu Ketika diterjemahkan ke kode mesin
Op-Code Operan biner, mungkin melewati bentuk kode
perantara yang terlihat seperti ini.
RISC dan CISC
Instruksi Bahasa Assembly
Bahasa assembly harus diterjemahkan ke
dalam kode mesin biner. Setiap operasi
memiliki kode binernya sendiri dan setiap
operan diubah menjadi alamat memori
numerik.
Program disimpan pada penyimpanan
sekunder (ex. Harddrive) sebagai executable
file. Ketika program running, semua kode
instruksi mesin ini dimuat ke dalam main
memory (RAM)
RISC dan CISC
Instruction Register
Register
32 bit

Satu persatu setiap instruksi kode mesin diambil dari RAM ke dalam CPU Instruction
Register sehingga dapat dieksekusi. Delapan sel register telah dialokasikan untuk
menyimpan op-code, 24 sel tersisa telah dialokasikan untuk menyimpan operan. 8 bit
yang tersedia untuk op-code, prosesor ini dapat memiliki hingga 2 pangkat 8 = 256 op-
code dalam set instruksinya. Dengan 24 bit tersedia untuk operan (alamat memori),
instruksi dapat merujuk hinggan 2 pangkat 24 alamat memori berbeda secara langsung.
Lebih dari 16,7 juta alamat memori berbeda, tapi ini artinya tidak banyak (sama dengan
16 MB memori). Untuk IR ukuran tetap saat ini, bagaimana kita dapat meningkatkan
jumlah memori yg dapat ditangani oleh program?
RISC dan CISC
Instruction Register

Salah satu solusinya adalah mengalokasikan lebih banyak bit ke operan. Disini
dialokasikan 27 bit untuk menentukan alamat memori yang artinya 2 pangkat 27
lokasi memori yang berbeda sekarang dapat diakses secara langsung, yaitu lebih
dari 134 juta lokasi saat ini. Tetapi ada harga yang harus dibayar, sekarang hanya
tersedia 5 bit untuk op-code yang artinya 2 pangkat 5 = 32 operasi yang
mungkin dalam set instruksi.
Keputusan desain mendasar berapa bit dialokasikan untuk op-code dan
berapa bit untuk operan, adalah inti yang membedakan antara RISC dan CISC.
RISC dan CISC
Complex Instruction Set

Reduce Instruction Set

Biasanya prosesor RISC modern memiliki 70 – 80 instruksi dalam set


instruksinya, sedangkan prosesor CISC memiliki set intruksi yang lebih kaya
hingga 150 instruksi.
RISC dan CISC

Fewer addressing modes needed More Addressing modes needed


RISC dan CISC
Mana yang terbaik RISC atau CISC?

Tidak ada jawaban sederhana, seberapa cepat prosesor dapat menyelesaikan tugas, tergantung
pada beberapa hal: jumlah siklus clock perdetik; jumlah siklus clock yang diperlukan untuk
menyelesaikan satu instruksi; jumlah instruksi yang diperlukan untuk melakukan tugas.
Siklus clock perdetik Sebagian besar tidak tergantung pada arsitektur prosesor sehingga ada
dua factor:
- Prosesor CISC mencapai kecepatan dengan set instruksi yang kaya sehingga dibutuhkan
lebih sedikit instruksi untuk menyelesaikan tugas.
- Prosesor RISC menggunakan lebih banyak instruksi untuk tugas yang diberikan, tapi
siklus clock lebih sedikit diperlukan untuk mengeksekusi setiap instruksi.
Maka tidak ada manfaat satu diatas yang lain.
Tapi, RISC sering digunakan dalam aplikasi kelas atas yang membutuhkan pemrosesan cepat
dari sejumlah instruksi terbatas seperti pemrosesan video, gambar dan audio, disisi lain CISC
sering digunakan dalam aplikasi kelas bawah seperti system keamanan dan otomatisasi
rumah.

Anda mungkin juga menyukai