Arsitektur komputer

SRI SUPATMI,S.KOM

>> TUJUAN INSTRUKSIONAL
UMUM
Setelah mempelajari mata kuliah Arsitektur
Komputer, mahasiswa dapat memahami bentuk
arsitektur komputer secara menyeluruh dan
rinci, fungsi komponen-komponen komputer,
dan fungsi keseluruhan dalam satu kesatuan
sistemkomputer.

>> TUJUAN INSTRUKSIONAL
KHUSUS
• TUJUAN INSTRUKSIONAL KHUSUS
1.

Mahasiswa memahami tentang organisasi dan
arsitektur komputer

2. Mahasiswa memahami komputer sebagai mesin


multi level

>> ORGANISASI DAN ARSITEKTUR KOMPUTER
• Organisasi komputer mempelajari bagian yang terkait

dengan unit-unit operasional komputer dan hubungan
antara komponen sistem komputer,contoh : sinyal
kontrol, prosesor, interface komputer dan peripheral,
teknologi memori yang digunakan.
• Arsitektur komputer mempelajari atribut-atribut
sistem komputer yang terkait dengan seorang
programmer dan memiliki dampak langsung pada
eksekusi logis sebuah program, contoh : set instruksi,
jumlah bit yang digunakan untuk merepresentasikan
bermacam-macam jenis data (misal bilangan,
karakter), aritmetika yang digunakan, teknik
pengalamatan, mekanisme I/O.

>> KOMPUTER SEBAGAI MESIN MULTI LEVEL
 Level adalah suatu tingkatan bahasa dan mesin virtual


yang mencerminkan tingkat kemudahan komunikasi
antara manusia sebagai pemrogram dengan komponen
sirkuit elektronik dalam sebuah
komputer sebagai
pelaksana instruksi sebuah pemrograman.

 Bahasa atau level yang terletak paling bawah adalah

yang paling sederhana dan dapat diproses dengan
cepat oleh mesin komputer, tetapi sulit untuk
dipahami oleh manusia.
 Bahasa atau level yang paling atas adalah yang paling

rumit dan mesin akan lebih lama melakukan proses
instruksinya karena memerlukan interpreter, tetapi
manusia lebih mudah memahami bahasa level
tersebut.

>> KOMPUTER SEBAGAI MESIN 6 LEVEL


 Pada level 1 – 3 merupakan bahasa mesin bersifat

numerik. Program-program didalamnya terdiri
dari deretan angka yang panjang, yang tidak
menjadi masalah untuk mesin tapi merupakan
persoalan untuk manusia. Mulai pada level 4
bahasa berisi kata/singkatan yang mempunyai arti
bagi manusia.
 Komputer dirancang sebagai suatu rangkaian

level, dimana setiap level dibangun diatas level
sebelumnya. Setiap level memiliki abstraksi
berbeda, dengan objek-objek dan operasi yang
juga berbeda.

• Kumpulan jenis data, operasi dan sifat dari setiap level

disebut arsitektur dari level tersebut.
• Sifat-sifat yang dipahami oleh programmer,seperti

berapa besar memori yang tersedia, adalah bagian dari
arsitektur.
• Sedangkan aspek implementasi seperti jenis teknologi
chip
apa
yang
digunakan
untuk
mengimplementasikan memori bukan bagian dari
arsitektur.
• Studi tentang cara merancang bagian-bagian suatu
sistem komputer yang terlihat oleh programmer
disebut arsitektur komputer.

SRI SUPATMI,S.KOM

>> Komputer Generasi Pertama 1940 -1959
 ENIAC (Electronic Numerical Integrator and Calculator)Komputer ENIAC

ini diciptakan oleh Dr John Mauchly dan J. Presper Eckert pada tahun 1946

(one year after the war was over)
 EDVAC (Electronic Discrete Variable Automatic Computer)

Penggunaan tiub tiub vakum juga telah dikurangi di dalam EDVAC, di
mana proses perhitungan telah menjadi lebih cepat dibandingkan ENIAC
 EDSAC (Electronic Delay Storage Automatic Calculator) ฀ the world’s first

stored-program computer. Diciptakan oleh Maurice Wilkes
 EDSAC telah memperkenalkan penggunaan raksa (merkuri) dalam tube

untuk menyimpan memori. ฀ was based on the discovery of the
matematician John von Neumann.

 UNIVAC I (Universal Automatic Calculator)P

ada tahun 1951 Dr Mauchly dan Eckert menciptakan UNIVAC I , komputer
pertama yang digunakan untuk memproses data perniagaan.

>>Komputer Generasi Ke Dua ( 1959-1964 )
 Komputer-komputer generasi kedua telah menggunakan transistor dan


diode untuk menggantikan saluran-saluran vakum dan menjadikan
ukuran komputer lebih kecil dan murah.
 Cara baru menyimpan memori juga diperkenalkan melalui teknologi
magnetik. Keupayaan pemprosesan dan ukuran memori utama
komputer juga bertambah dan manjadikan ia lebih efisien.
 Kemunculan FORTRAN dan COBOL menandakan permulaan bahasa
tingkat tinggi untuk menggantikan bahasa pengantar dalam mesin yang
lebih sukar.
 Minikomputer juga telah diperkenalkan yaitu yang kedua terbesar di
dalam generasi komputer. Versinya yang pertama ialah DEC PDP 8
yang diciptakan pada tahun 1964 yang berguna untuk
memproses data-data.

>> Komputer Generasi Ke Tiga (1964-awal 80-an)
 Chip mulai menggantikan transistor sebagai bahan logis

komputer dengan terhasilnya Integrated Circuit atau lebih
dikenal dengan sebutan chip.
 Jenis komputer terkecil mikrokomputer telah muncul dan paling

cepat menjadi popular seperti Apple II, IBM PC dan Sinclair.
 Banyak bahasa pemrograman telah muncul seperti BASIC, Pascal
dan PL/1.
 Kebanyakan mikrokomputer didasari dengan tafsiran bahasa
secara mendalam, chip ROM untuk menggunakan bahasa
BASIC.

Komputer Generasi Ke Empat (awal 80-an-??)
 Chip masih digunakan untuk memproses dan menyimpan

memori. Ia lebih canggih, dilengkapi hingga ratusan ribu
komponen transistor yang disebut pengamiran skala amat besar
(very large scale intergartion,VLSI).
 Pemprosesan dapat dilakukan dengan lebih tepat,sampai jutaan
bit per detik.
 Memori utama komputer menjadi lebih besar sehingga
menyebabkan memori sekunder kurang penting.
 Teknologi chip yang maju ini telah mewujudkan satu lagi kelas
komputer yang disebut Supercomputer.


Komputer Generasi Ke Lima (masa depan)
 Generasi kelima dalam sejarah evolusi komputer merupakan

komputer impian masa depan. Ia diperkirakan mempunyai lebih
banyak unit pemprosesan yang berfungsi bersamaan untuk
menyelesaikan lebih daripada satu tugas dalam satu masa.
 Komputer ini juga mempunyai ingatan yang amat besar sehingga
memungkinkan penyelesaian lebih dari satu tugas dalam waktu
bersamaan.
 Unit pemprosesan pusat juga dapat berfungsi sebagai otak
manusia. Komputer ini juga mempunyai kepandaian tersendiri,
merespon keadaan sekeliling melalui penglihatan yang bijak
dalam mengambil sesuatu keputusan bebas dari pemikiran
manusia yang disebut sebagai artificial intelligence (AI).

SRI SUPATMI,S.KOM

3. ALU
 Tugas utama adalah melakukan semua perhitungan


aritmatika dan melakukan keputusan dari suatu
operasi logika.

4. I/O Interconection
 Input-Output (/O) Interconection merupakan sistem

koneksi yang menghubungkan antar komponen
internel dalam sebuah CPU, yaitu ALU, unit kontrol,
dan register serta menghubugkan CPU dengan busbus eksternal diluar CPU.

>> SIKLUS INSTRUKSI
 Program yang ada di memori komputer terdiri dari sederetan

instruksi. Setiap instruksi dieksekusi melalui suatu siklus. Setiap
siklus instruksi terdiri dari tahap-tahap :
1. Instruction fetch, yaitu mengambil instruksi dari memori dan
mentransfernya ke unit kontrol.
2. Mengartikan (decode) instruksi dan menentukan apa yang harus
dikerjakan serta data apa yang digunakan.
3. Baca alamat efektif, jika instruksi beralamat indirect.

4. Proses eksekusi instruksi dengan memilih operasi yang
diperlukan dan mengendalikan perpindahan data yang terjadi.
5. Terdapat register dalam CPU yang berfungsi mengawasi dan
menghitung instruksi selanjutnya yaitu Program Counter
6. PC akan menambah satu hitungan setiap kali CPU membaca
instruksi
7. Instruksi-instruksi yang dibaca akan dibuat dalam register
instruksi (IR)

 Berikut ini beberapa istilah yang digunakan di dalam aktifitas atau

proses-proses pada siklus tersebut :

 Instruction Address Calculation (IAC), yaitu proses mengkalkulasi

atau menentukan alamat
 instruksi berikutnya yang akan dieksekusi
 Instruction Fetch (IF) yaitu membaca atau mengambil 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) yaitu mengambil operand dari memori atau
dari modul I/O
 Data Operation (DO) yaitu proses membentuk operasi yang
diperintahkan dalam instruksi.
 Operand Store (OS) yaitu proses menyimpan hasil eksekusi ke
dalam memori atau mengeluarkan ke I/O.

5. INTERUPSI
 Fungsi interupsi adalah mekanisme penghentian atau

pengalihan pengolahan instruksi dalam CPU kepada
routine interupsi.
 Hampir semua modul (memori dan I/O) memiliki
mekanisme yang dapat menginterupsi kerja CPU.
 Tujuan interupsi secara umum untuk manajemen
pengeksekusian routine instruksi agar efektif dan efisien
antar CPU dan modul-modul I/O maupun memori.
 Setiap komponen komputer dapat menjalankan tugasnya
secara bersamaan, tetapi kendali terletak pada CPU dan
kecepatan eksekusi masing-masing modul berbeda
sehingga dengan adanya fungsi interupsi dapat sebagai
sinkronisasi kerja antar modul.

 Dalam CPU terdapat sinyal-sinyal interupsi sebagai berikut :
 Program

nterupsi yang dibangkitkan dengan beberapa kondisi yang
terjadi pada hasil eksekusi program,
contoh : aritmatika overflow, pembagian nol, operasi ilegal
 Timer
Interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal
ini memungkinkan sistem operasi menjalankan fungsi
tertentu secara reguler
 I/O
Sinyal interupsi yang dibangkitkan oleh modul I/O
sehubungan pemberitahuan kondisi error dan penyelesaian
suatu operasi.
 Hardware failure
Interupsi yang dibangkitkan oleh kegagalan daya atau
kesalahan paritas memori

>> CONTOH EKSEKUSI PROGRAM DALAM CPU

 Tahap eksekusi program :

 Tahap 1
PC (Program Counter) berisi alamat 300 untuk instruksi
pertama. Instruksi yang berada di alamat 300 dimuatkan ke IR
(Instruction Register).Tentunya proses ini melibatkan
penggunaan MAR (Memory Address Register) dan MBR
(Memory Buffer Register)
 Tahap 2
Instruksi dalam IR : untuk 4 bit pertama menunjukkan opcode,
bit berikutnya yaitu 12 bit menunjukkan alamat. Jadi instruksi
1940 maksudnya 1 = opcode 0001 = isi AC dari memori alamat
940
 Tahap 3
PC bertambah nilainya dan instruksi berikutnya diambil yaitu di
alamat 301 dan dimasukkan di dalam IR.

 Tahap 4

Instruksi dalam IR yaitu 5941 maksudnya 5 = opcode
0101 = tambahkan AC dengan isi memori alamat 941
dan hasilnya disimpan dalam AC.
 Tahap 5

PC bertambah nilainya dan instruksi berikutnya
diambil yaitu di alamat 302 dan dimasukkan di dalam
IR.
 Tahap 6

Instruksi dalam IR yaitu 2941 maksudnya 2 = opcode
0010 = isi AC disimpan di memori alamat 941.

SRI SUPATMI,S.KOM

>> CISC BANDING RISC
 Ada dua buah konsep popuker yang berhubungan sengan

desain cpu dan set instruksi:
1. Complex Instruction Set Computing (CISC)
2. Reduce Instruction Set Computing (RISC)
 Semua sistem yang lama ( komputer mainframe,
komputer mini atau komputer mikro) relatif saat ini
lebih populer karena tingkat kinerjanya, dibandingkan
dengan sistem CISC.
 Namun demikian, karena biayanya tinggi, sistem RISC
hanya digunakan ketika diperlukan kecepatan khusus,
keadaan dan sebagainya.

1. Trend Teknologi CISC
 Umumnya set instruksi pada sistem CISC dibuat efisien

dengan memasukkan sejumlah besar complex instruction
(instruksi kompleks).
 Tujuannya adalah mengurangi ukuran program yang telah
terkompilasi (bahasa mesin) dengan instruksi-instruksi
yang terbatas.
 Sebuah instruksi kompleks pada dasarnya adalah ekivalen
dengan tiga atau empat simple instruction (instruksi
sederhana). Karena program yang telah terkompilasi
mempunyai ukuran kecil, kebutuhan memori utama juga
kecil.

 Keuntungan Instruksi Kompleks antara lain:
1. Jumlah instruksi di dalam sebuah program (terkompilasi)

2.






lebih sedikit,hal tersebut bisa mengurangi harga sistem
(penggunaan memori kecil).
Waktu yang digunakan CPU untuk pengambilan (fetching)
instruksi lebih sedikit, sehingga bisa mengurangi waktu
eksekusi program.
Diperlukan compiler efisiensi tinggi untuk menggunakan
instruksi kompleks yang lebih sering pada saat translasi
program bahasa tingkat tinggi ke program bahasa mesin.
Karena itu, software sistem (compiler) menjadi sangat besar
untuk membuat kode objek yang kecil.
Saat ini komputer menggunakan memori semikonduktor
sebagai memori utama (dan memori cache) yang lebih murah
dan lebih cepat.

Ilustrasi Konsep CISC

>> Kelemahan CISC
>> Beberapa kelemahan sistem CISC adalah:
1. Komplesitas CPU: desainunit kontrol (utamanya pendekodean
instruksi) menjadi kompleks karena mempunyai set instruksi yang
besar.
2. Ukuran sistem dan biaya: mempunyai banyak sirkuit hardware yang
menyebabkan CPU manjadi kompleks. Hal ini meningkatkan biaya
hardware pada sistem dan juga kebutuhan daya listrik.
3. Kecepatan Clock: karena sirkuit yang besar maka progagation delay
(tunda propagasi) lebih besar dan waktu siklus CPU yang besar
sehingga kecepatan clock efektif menurun.
4. Keandalan: dengan hardware yang besar maka cenderung mudah
menjadi kegagalan.
5. Maintainability: Troubleshooting dan pendeteksian suatu kegagalan
mengakibatkan pekerjaan menjadi besar karena besarnya sirkuit yang
ada. Dengan penemuan microprogramming membantu menurunkan
beban tersebut.

2. Konsep RISC
 Istilah “KISS” sering digunakan dalam konsep RISC yang merupakan

singkatan dari “ Keep Is short and simple)”.
 Arsitektur RISC mempunyai fitur sebagai berikut:
1. Instruksinya sederhana
2. Set instruksi kecil
3. Panjang instruksinya sama untuk semua instruksi
4. Register untuk penyimpanan operand jumlahnya besar
5. Arsitektur Load/Store: operand untuk instruksi aritmatika seperti
“ADD” tersedia di register dan bukan di memori. Demikian halnya
hasil instruksi “ADD” disimpan di register bukan di memori. Jadi
Instruksi “LOAD” akan mendahului instruksi “ADD” dan instruksi
“STORE” akan mengikuti instruksi “ADD”, jika diperlukan. Karena
itu compiler akan memberikan banyak instruksi “LOAD” dan
“STORE”.
6. Eksekusi instruksi yang lebih cepat (memberikan kecepatan siklus
instruksi rata-rata satu clok per instruksi). Pipeline instruksi,
memori cache internal (built-in) dan arsitektur supersaklar yang
termasuk dalm CPU supaya rata-rata satu instruksi menghasilkan
pipeline untuk setiap clock.

>> Ilustrasi Skenario RISC

 CPU RISC yang berbasis mikroprosesor maupun yang

non-mikroprosesor hingga saat ini telah didesain dan
dipasarkan. Berikut beberapa CPU RISC:
1. IBM RS/6000 atau Arsitektur POWER
2. Keluarga Sun’s SPARC
3. HP’s PA (precision architecture)
4. Keluarga Motorola 88000
5. Intel 860
6. Seri MIPS
7. PowerPC

>> Mikroprosesor RISC
 Pabrik mikroprosesor dari dulu tidk memberikan prioritas







pengembangan prosesor.
Salah satu alasannya adalah ketersediaan kompatibilitas
(pada mikroprosesor baru) terhadap mikroprosesor
sebelumnya yaitu CPU tipe CISC.
Pada umumnya mikroprosesor keluarga Intel (8008 sampai
pentium 4) adalah tipe CISC kecuali Intel 860.
Keluarga Motorola 88000 termasuk dalam tipe RISC.
Sedangkan powerPC merupakan CPU tipe RISC yang
dikembangkan bersama oleh IBM, Motorola dan Apple.
Saat ini telah didesain untuk menyediakan mikroprosesor
RISC yang murah untuk pengguna.

Sri Supatmi,S.Kom

>> KLASIFIKASI ARSITEKTURAL
 Ada 3 skema klasifikasi arsitektural sistem komputer,

yaitu:
1. Klasifikasi Flynn
 Didasarkan pada penggandaan alur instruksi dan alur
data dalam sistem komputer.
2. Klasifikasi Feng
 Didasarkan pada pemrosesan paralel dan serial
3. Klasifikasi H ndler
 Didasarkan pada derajat keparalelan dan pipelining
dalam berbagai tingkat subsistem.

>> KLASIFIKASI FLYNN
 Klasifikasi sistem komputer yang didasarkan pada

penggandaan alur instruksi dan alur data
diperkenalkan oleh Michael J. Flynn
Alur instruksi (instruction stream) adalah urutan
instruksi yang dilaksanakan oleh mesin
Alur data adalah urutan data yang dipanggil oleh
alur instruksi
Baik instruksi maupun data diambil dari modul
memori
Instruksi didecode (diartikan) oleh Control Unit.
Alur data mengalir dua arah antara prosesor dan
memori.

 Ada 4 kategori sistem komputer dalam klasifikasi

Flynn:
1. Single Instruction stream – Single Data stream (SISD)
2. Single Instruction stream – Multiple Data stream
(SIMD)
3. Multiple Instruction stream – Single Data stream
(MISD)
4. Multiple Instruction stream – Multiple Data stream
(MIMD)

>> Tabel klasifikasi Flynn
Instruksi Tunggal
(Single instruction)
Data Tunggal
(single data)
Data majemuk
(multiple data)

Instruksi Majemuk
(multiple instruction)

SISD
(Single instructin single data)

MISD
(multiple instruction
single data)

SIMD
(Single instruction
multiple data)

MIMD
(multiple instruction
multiple data )

1. Single Instruction Single Data Stream
 Sebuah komputer yang instruksi-instruksinya

dijalankan satu per satu dan sebuah instruksi tunggal
berhubungan dengan paling banyak satu operasi data.
 Dapat juga menggunakan pipelining untuk
mempercepat pemrosesan dan kebanyakan komputer
SISD di-pipelin-kan ke beberapa saluran tambahan.
 Karakteristik SISD yang penting adalah pelaksanaan
instruksi secara sekuensial (secara berurut) dalam arti
instruksi dan data diproses secara serial.
 Satu alur instruksi di decodekan untuk alur data
tunggal.

>> ilustrasi Single Instruction Single Data Stream

 Keterangan:

CU : Control Unit
PU : Processor Unit
MM : Memory Module

2. Multiple Instruction stream – Single Data stream (MISD)
 Sebuah komputer yang dapat melakukan banyak

instruksi terhdap satu aliran data.
 Komputer jenis ini tidak pernah diaplikasikan karena
ridak efektif dan efisien.

 Ada dua kategori:

1.Mesin dengan Unit pemroses berbeda dengan
instruksi yang berbeda dengan data yang sama
(sampai sekarang tidak ada mesin yang seperti ini)
2.Mesin, dimana data akan mengalir ke elemen
pemroses serial

>> lanjutan
 Keterangan gambar:

CU1,CU2,..Cu-n : Control Unit
PU1,PU2,PU-n : Processor Unit
MM : Memory Module
 Sejumlah PU, masing-masing menerima instruksi
yang berbeda dan mengoperasikan data yang sama.
 Output salah satu prosesor menjadi input bagi
prosesor berikutnya.
 Struktur komputer ini tidak praktis, sehingga tidak
ada komputer yang menggunakannya.

3. Single Instruction stream – Multiple Data stream (SIMD)
 Sebuah komputer yang mampu memproses banyak

aliran data dengan hanya satu instruksi.
 Operasi yang dilakukan adalah paralel.
 Contoh dari SIMD adalah prosesor larik (array

processor) atau GPU.

>> Ilustrasi Single Instruction stream – Multiple Data stream (SIMD)
 PE : Processing Element
 CU : Control Unit
 PU : Processor Unit
 MM : Memory Modul
 SM : Shared Memory
 IS : Instruction Stream
 DS : Data Stream

 Beberapa Processor Unit (Processing Element) disupervisi

oleh Control Unit yang sama.
 Semua Processing Element menerima instruksi yang sama

dari control
 unit tetapi mengeksekusi data yang berbeda dari alur data

yang berbeda pula.
 Subsistem memori berisi modul-modul memori.
 Processor vektor dan processor array termasuk dalam

kategori ini.

SRI SUPATMI,S.KOM

1. Desain Set Instruksi
 Pekerjaan

yang paling signifikan/penting dan
kompleks dalam mendesain komputer adalah
membuat set instruksi.
 Komputer era sebelumnya tidak
melakukan
perencanaan set instruksi.
 Kelemahan desain set instruksi mereka secara drastis
mempengaruhi ruang memori utama oleh panjang
program (bahasa mesin). Karena itu, desain yang baik,
perencanaan awal set instruksi memungkinkan
compiler membuat kode objek yang kompak (tersusun
baik dan padat) tersimpan pada ruang memori.

 Seorang arsitektur komputer harus mempertimbangkan aspek-aspek

berikut sebelum menyelesaikan set instruksi:
1. Kenyamanan Pemrograman: Jumlah instruksi; pemrogram lebih
suka mempunyai sebanyak mungkin instruksi supaya operasi yang
tepat dapat dikerjakan oleh rangkaian instruksi. Tetapi mempunyai
terlalu banyak instruksi dalam set instruksi menghasilkan desain
unit kontrol yang kompleks. Pendekokean instruksi memerlukan
sirkuit dan waktu yang besar.
2. Pengalamatan yang fleksibel: pemrogram senang jika
memungkinkan semua mode pengalamatan operand ada di dalam
arsitektur. Hal ini memberikan fleksibilas yang banyak kepada
pemrogram. Walaupun desain unit kontrol menjadi kompleks.
3. Jumlah General Purpose Register (GPR): Jika CPU mempunyai
register yang banyak, pemrogram memperoleh pemrosesan dan
transfer data yang cepat. Tetapi biaya perangkat keras CPU
meningkat dengan banyaknya GPR.

>> Lanjutan
4.

Target Segmen Pasar: sasaran bidang aplikasi untuk komputer
memerlukan operasi-operasi khusus untuk pemrosesan data yang
efisien. Komputer saintifk harus mempunyai aritmetika floating-point
yang tingkat presisinya baik/tidak terlalu jelek. Sedangkan komputer
bisnis harus mendukung aritmetika desimal, komputer iburan harus
mempunyai operasi-operasi multimedia.
5. Kinerja Sistem: Jika sebuah program mempunyai instruksi sedikit,
kinerja sistem meningkat karena waktu yang digunakan oleh CPU
dalam pengambilan instruksi berkurang. Untuk program yang pendek,
instruksi yang digunakan harus instruksi kompleks. Jadi instruksi
tunggal harus dapat melakukan beberapa mikrooperasi. Pemrogram
menyadari hal ini mengurangi ukuran program. Tapi di sisi lain
menambah kompleksitas unit kontrol dan waktu eksekusi instruksi.
Konsep modern arsitektur RISC tidak mendukung instruksi-instruksi
kompleks, walaupun semua komputer lama yang berbasis CISC
menggunakan instruksi-instruksi kompleks.

2. 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 disimpan pada
akumulator. Isi akumulator disertakan di dalam operasi-0perasi
aritmetika seperti penjumlahan, pengurangan dan sebagainya.
Hal ini dikenal sebagai mesin satu-alamat.
 PDP-8 merupakan minicomputer pertama yang mempunyai
jenis CPU seperti ini dan digunakan untuk kendali proses dan
aplikasi-aplikasi laboratorium.
 Komputer Mark I juga merupakan komputer khas yang berbasis
akumulator.
 Organisasi CPU secara total telh digantikan dengan
diperkenalkan CPU berbasis register yang baru.

 Keuntungan CPU berbasis akumulator adalah:
Isi akumulator diperuntukkan bagi satu operand. Karena
itu tidak memerlukan medan alamat operand (untuk
satu operand) dalam instruksi. Hal ini menghasilakn
instruksi yang pendek dan ruang memori yang sedikit.
Karena tidak adanya medan alamat, maka jenis CPU ini
mendukung instruksi-instruksi non-alamat dan satualamat. Instruksi satu-alamat mempunyai satu operand
di dalam memori utama dan yang lainnya di dalam
akumulator.
2. Siklus instruksi menggunakan waktu yang singkat sebab
menghemat waktu dalam pengambilan instruksi karena
tidak ada siklus pengambilan operand.
1.

 Kekurangan CPU berbasis akumulator adalah:
1. Ukuran programnya menjadi panjang karena banyak
menggunakan
instruksi
dalam
ekspresi-ekspresi
kompleks. Karena itu ukuran memori bertambah.
2. Waktu
eksekusi
program
bertambah
karena
bertambahnya jumlah instruksi dalam program.

>> Contoh1:
 Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU

berbasis akumulator untuk menyelesaikan statement X=(A+B)-(C+D)
 Solusi:
LOAD A : Salin A ke dalam akumulator
ADD B : Jumlahkan B dengan isi akumulator dan
hasilnya disimpan di akumulator ( akumulator berisi A+B)
STORE T : simpan hasil AB dalam T, suatu lokasi memori sementara
LOAD C : salin C ke dalam akumulator
ADD D : Jumlahkan D ke dalam akumulator dan simpan hasilnya
dalam akumulator (akumulator berisi C+D)
SUB T : Perkurangkan isi akumulator dari T dan simpan hasilnya
dalam akumulator
STORE X : Simpan isi akumulator di dalam lokasi memori X.

3. CPU Berbasis Register
 Pada CPU jenis ini, banyak register yang digunakan sebagai

akumulator. Dengan kata lain, ada 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. IBM System/360 dan PDP-11
merupakan contoh khas.

>> Contoh2:
 Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU

berbasis register untuk menyelesaikan statement
X=(A+B)-(C+D)
 Solusi:
LOAD R1,A : salin A ke dalam register
ADD R1,B : Jumlahkan B dengan isi R1 dan hasilnya disimpan di R1
LOAD R2,C : salin C ke dalam R2
ADD R2,D : Jumlahkan D ke dalam R2 dan simpan hasilnya di R2
SUB R1,R2 : perkurangkan isi R2 dan R1 dan simpan hasilnya dalam R1
STORE,X
: simpan hasil di dalam lokasi memori X

 Dibandingkan

dengan contoh1 terlihat bahwa CPU
berbasis register (arsitektur GPR) menghasilkan ukuran
program yang lebih pendek daripada CPU berbasis
akumulator.
 Dan juga program pada CPU yang berbasis akumulator
memerlukan lokasi memori untuk menyimpan asil
sementara(parsial).
 Karena itu diperlukan akses memori tambahan selama
eksekusi program.
 Jadi, penambahan jumlah register akan menambah
efisiensi CPU.

3.CPU Berbasis Stack
 Stack merupakan daftar yang didorong ke bawah dengan mekanisme









akses LIFO (Last In Firs Out).
Stack yang menyimpan operand-operand.
Penggunaan stack dapat berada di dalam 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 ke bagian stack terbawah.
Bila suatu item disimpan di dalam stack, maka dinamakan oerasi
PUSH; dan isi SP diturunkan (decrement)
Bila stack penuh, SP menunjuk ke bagian stack teratas.
Bila suatu item diambil dari satck(operasi POP),maka SP dinaikkan
(uncrement).

>> Konsep Stack

>> Operasi Stack

 Keterangan konsep stack & operasi stack:
 Item yang terakhr didorong ke dalam stack, akan

keluar pertama jika ada operasi POPberikutnya.
 Pada CPU berbasis stack, semua operasi oleh CPU
dikerjakan pada isi stack.
 Demikian halnya,hasil suatu operasi juga disimpan
pada stack.
 Pada eksekusi suatu instruksi aritmetika seperti ADD,
operand-operand teratas yang di-pop
 Komputer Burroughs B5000 dan HP 3000 merupakan
contoh dari komputer berbasis stack.

Contoh3:
 Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU

berbasis stack untuk menyelesaikan statement X=(A+B)-(C+D)
Statement

Isi Stack setelah
eksekusi instruksi

Lokasi stack yang
diduduki

PUSH A

A

1

PUSH B

A,B

2

ADD

A+B

1

PUSH C

(A+B),C

2

PUSH D

(A+B),C,D

3

ADD

(A+B),(C+D)

2

SUB

(A+B),(C+D)

1

POP X

Kosong

0

 Dari isi stack, dapat dilihat bahwa stack berubah bil

beberapa operasi PUSH mendapat tempat.
 Bila suatu instruksi dieksekusi, operand dipindahkan
dari stack dan hasilnya menempati posisi pada puncak
stack.
 Contoh3 menunjukkan bahwa ukuran program untuk
komputer berbasis stack lebih besar dibandingkan
dengan CPU berbasis register.

 Keuntungan CPU berbasis Stack adalah:

Pemrograman mudah/efisiensi compiler tinggi
2. Sangat cocok untuk bahasa-bahasa blok-terstruktur
(block-structered language)
3. Instruksi tidak mempunyai fieldalamat; instruksi
pendek.
 Kelemahan CPU berbasis Stack:
1. Diperlukan sirkuit hardware tambahan untuk
implementasi stack
2. Ukuran program meningkat.
1.

4. Panjang Istruksi
 Intruksi yang terlalu panjang mempunyai kekurangan:
1. Instruksi menempati ruang memori yang lebih besar, yang

meningkatkan kebutuhan memori sistem
2. lebar luas data besar atau pengambilan instruksi lebih
memakan waktu. Kondisi pertama menambah biaya hardware
sedangkan yang kedua menambah waktu siklus instruksi.
 Instruksi yang terlalu pendek mempunyai kekurangan:
1. Terlalu banyak instruksi di dalam program. Karena itu banyak
waktu yang terbuang untuk fase pengambilan
2. Ukuran program bertambah. Karena itu kebutuhan memori
bertambah.

5. Format Instruksi
 Umumnya format instruksi terdiri dari kode operasi dan operand.
 Suatu instruksi memberikan palng banyak empat informasi pada CPU :
1.
2.
3.
4.

Operasi yang akan dikerjakan oleh instruksi
Operand (data) yang harus dioperasikan
Lokasi (memori atau register) di mana hasil operasi harus disimpan
Lokasi memori dimana instruksi berikutnya harus diambil

Instruksi Empat-alamat

contoh4
 Medan panjang instruksi dan medan alamat operand

masing-masing adalah 36 bit dan 14 bit. Jika instruksi
dua-operand yang digunakan sebanyak 240, berapa
banyak instruksi satu-operand yang memungkinkan?
 Solusi:
Panjang instruksi = 36 bit
sebuah instruksi dua-operand membutuhkan 28 bit
untuk alamat operand (2x14 bit).karena itu
Ukuran opcode=36-28 = 8bit
Total instruksi yang mungkin = 2 pangkat 8 = 256
Jumlah instruksi satu-operand= 256-240 = 16

Sri Supatmi,S.Kom

5. Pengalamatan Register
 Format instruksi perngalamatan register

 Secara konseptual, pengalamatan register mirip dengan

pengalamatan langsung kecuali lokasi memori digantikan
dengan register untuk menyimpan operand.
 Instruksi berisi nomor register yang mempunyai operand.
 Mode pengalamatan ini sangat berguna untuk suatu
program yang panjang dalam penyimpanan hasil-hasil
sementara di dalam register daripada di dalam memori.

>> Lanjutan:
 Contoh berikut adalah ilustrasi mode pengalamatan

register:
 ADD R1,R2  Jumlah isi register R1 dan R2 dan
hasilnya disimpan di R1. Kedua operand
menggunakan pengalamatan register.
 STORE R1,MEM1  isi dari register R1
disimpan/disalin ke alamat memori MEM1; operand
pertama menggunakan pengalamatan register dan
operand kedua menggunakan pengalamatan
langsung.

>> Keuntungan dan Kelemahan Pengalamatan Register
 Keuntungan:
 pengambilan operand lebih cepat tanpa akses

memori
 Kelemahan:
 Jumlah register terbatas dan karena itu utilisasi

efektif oleh programmer merupakan hal yang
esensial.

6. Pengalamatan Indeks
 Format instruksi pengalamatan Indeks

 Pada mode pangalamatan indeks, alamat operand diperoleh dengan

menambahkan sebuah konstanta ke suatu register, yang disebut
register indeks.
 Instruksi ini mengisi register Ri dengan isi lokasi memori yang
alamatnya adalah hasil jumlah isi register Rind dan nilai X
 Contoh:
LOAD X(Rind),Ri  instruksi ini menyalin operand alamat hasil
penjumlahan nilai X dengan nilai register Rind ke dalam register Ri

>> lanjutan 1:
 Mode ini berbeda sedikti dengan mode pengalamatan base







register.
Register indeks berisi sebuah offset atau perpindahan
(displacement).
Instruksi berisi alamat yang akan ditambahkan pada offset
dalam register indeks, untuk mendapatkan alamat operand
efektif.
Umumnya medan alamat dalam instruksi memberikan alamat
awal array dalam memori.
Register indeks berisi ‘nilai indeks’ untuk operand yaitu selisih
antara alamat awal dan alamat operand.
Dengan mengubah register indeks, maka operand dalam array
dapat diakses.
Umumnya operand-operand(elemen-elemen array) berada
dalam lokasi yang berurutan. Mereka diakses dengan increment
yang sederhana pada register indeks.

>> lanjutan2:
 Beberapa CPU mendukung fitur ‘autoindexing’, yang

melibatkan auto-increment (dengan hardware) pada
register indeks kapanpun sutu instruksi dengan
pengalamatan indeks dieksekusi.
 Hal ini mengurangi penggunaan instruksi terpisah
dalam menambah(increment) isi register indeks.
 Hal ini juga lebih mempercepat aksi serta lebih
mengurangi ukuran program. Namun memberikan
tanggungjawab tambahan ‘autoindexing’ pada unit
kontrol.

7. Pengalamatan Relatif
 Format instruksi pengalamatan relatif

 Pengalamatan relatif sama seperti pengalamatan indeks

kecuali register indeks diganti dengan program counter
(PC).
 Instruksi ini megisi Ri dengan kandungan lokasi memori
yang alamatnya adalah hasil jumlah program counter (PC)
dengan nilai X

>> Lanjutan3:
 Pada mode ini,instruksi menetapkan alamat operand

(lokasi memori) sebagai posisi relatif dari alamat
instruksi sekarang yaitu isi PC. Karena itu operand
terletakpada ‘jarak pendek’ dari isi PC.
 Jumlah mode ini digunakan untuk menetapkan alamat
pencabangan dalam instruksi branch, alamat
pencabangan berada dekat dengan alamat instruksi.
 Contoh:



JUMP+8(PC)
JUMP-8(PC)

>> Keuntungan Pengalamatan Relatif
 Keuntungan:
 Jumlah bit dalam medan alamat lebih sedikit

8. Pengalamatan Base Register
 Mode ini digunakan untuk relokasi program di dalam memori








(dari satu area ke area lain).
Pada mode pengalamatan base register, instruksi tidak berisi
alamat. Dia memberikan perpindahan relatif terhadap area
memori sekarang ke area memori yang lain, base register diisi
dengan alamat base baru.
Instruksi tidak perlu dimodifikasi/diubah. Dengan cara ini,
keseluruhan program atau suatu segment dri program dapat
dipindahkan dari satu area di memori ke yang lain tanpa
mempengaruhi instruksi, dengan perubahan sederhana ini base
register.
Hal ini penting untuk sistem multiprogramming karena waktu
yang berbeda (run), area berbeda dari memori tersedia untuk
sebuah program.
Sebuah CPU dapat mempunyai lebih dari satu base register.

>>Format Instruksi & keuntungan Pengalamatan Base Register
 Format instruksi pengalamatan base register

 Keuntungan:
 medan alamat operand dalam instruksi sangat

pendek
karena
dia
hanya
memberikan
offset(perpindahan);alamat operand dikalkulasikan
tanpa akses memori.

9. Pengalamatan Stack
 Pada pengalamatan stack(tumpukan), semua operand

untuk suatu instruksi diambl dari bagian teratas stack.
 Instruksi tidak mempunyai medan operand.
 Misalnya, sebuah instruksi ADD hanya memberikan
opcode (ADD). Kedua operand dalam stack, di dalam
lokasi yang berurutan. Bila instruksi ADD dieksekusi,
dua operand di-pop-off dari stack satu persatu.
Setelah penjumlahan, hasilnya di-push ke dalam stack.
 Keuntungan:
 Tidak ada menda operand dalam instruksi, karena itu

instruksinya pendek.