CPU Berbasis Akumulator
Pada mulanya komputer adalah berbasis akumulator. Hal ini merupakan CPU yang
sederhana, dimana akumulator berisi satu operand pada instruksi, demikian juga hasilnya
tersimpan pada akumulator. Isi akumulator disertakan di dalam opersi-operasi aritmatika
seperti penjumlahan, pengurangan dan sebaginya. Hal ini dikenal dengan mesin sartu alamat.
Contoh CPU berbasis akumulator : PDP-8; Mark I
Keuntungan CPU berbasis akumulator:
• Isi akumulator diperuntukkan bagi satu operand, karena itu tidak memerlukan field alamat
operand (untuk satu operand) dalam instruksi.
• Siklus instruksi menggunakan waktu yang singkat sebab menghemat waktu dalam
pengambilan instruksi karena tidak ada siklus pengambilan operand.
Kekurangan CPU berbasis akumulator:
• Ukuran program menjadi panjang karena banyak menggunakan instruksi dalam ekspresi-
ekspresi kompleks.
• Waktu eksekusi program bertambah karena bertambahnya jumlah instruksi dalam program.
CPU Berbasis Register
Pada CPU jenis ini, banyak register yang digunakan sebagai akumulator. Dengan kata
lain lebih dari satu akumulator. CPU seperti ini mempunyai organisasi register umum GPR
(General Purpose Register). Penggunaan register-register tersebut menghasilkan program
yang pendek dengan instruksi yang sedikit.
Bila dua atau tiga operand, biasanya mesin harus mempunyai dua atau lebih register. Secara
khas, operasi-operasi arimatika dan logika memerluka dua sampai tiga operand. Instruksi dua
dan tiga operand adalah atau lebi operand. Instuki dua dan tiga operand adalah yang umu
karena mereka memerluka sebuah format instruksi yang relatif lebih pendek.
Pada umumnya mesin (CPU) dengan instruksi dua atau tiga-operand ada dua jenis, yaitu
desain load-store dan desain memori-register. Pada mesin load-store, hanya instruksi load
dan store yang mengakses memori, selebihnya umumnya melakukan operasi pada register.
Keuntungan mesin load-store (mesin tiga operand):
• Sederhana, pengkodean instruksi fixed length
• Instruksi menggunakan jumlah siklus yang sama
• Relatif mudah untuk pipelining
Kelemahan mesin load-sotre:
• Jumlah instruksi yang lebih banyak
• Tidak semua instruksi memerlukan tiga operand
• Bergantung pada kompiler yang baik
CPU Berbasis Stack
Stack merupakan daftar yang didorong kebawah dengan mekanisme akses LIFO (Last
In First Out). Stack yang menyimpan operand-operand, penggunaan stack dapat berada
didalam CPU atau merupakan bagian dari memori. Suatu register (atau lokasi memori)
digunakan untuk menunjuk ke alamat lokasi kosong pada puncak stack. Register ini dikenal
dengan Stack Pointer (SP). Bila tidak ada yang tersimpan dalam stack, berarti stack kosong
dan SP menunjuk kebagian stack terbawah. Bila suatu item disimpan dalam stack, maka
dinamakan operasi PUSH; dan isi SP diturunkan (decrement). Bila stack penuh, SP menunjuk
ke bagian stack teratas. Bila suatu item diambil dari stack (operasi POP), maka SP dinaikkan
(increment).
Keuntungan CPU berbasis stack adalah:
• Pemrograman mudah/efisiensi kompiler tinggi
• Sangat cocok untuk bahasa-bahasa blok terstruktur-block structure language
• Instruksi tidak mempunyai field alamat; instruksi pendek
Kelemahan CPU berbasis stack:
• Diperlukan sirkuit hardware tambahan untuk implementasi stack
• Ukuran program meningkat