Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 87

CENTRAL PROCESSING

UNIT (CPU)
Structure - The CPU

CPU

Computer ALU &


I/O
Registers
System CPU Internal CPU
Bus
Interconnection
Memory

Control
Unit
B3 B2 B1 B0

SET SET SET SET


D Q D Q D Q D Q

REG  B
CLR Q CLR Q CLR Q CLR Q

C out 0 FULL
C out 3 C out 2 Cout 1
ADDER
FA FA FA FA
S3 S2 S1 S0 (FA)
4-Bit

Cin 3 Cin 2 Cin 1 Cin 0


SET SET SET SET
D Q D Q D Q D Q

Q Q
REG  A
CLR CLR CLR Q CLR Q
Clock
PARALEL ACCUMULATOR

AUGEND


B3 B2 B1 B0

Data  Load
Paralel  Out
Cout FULL ADDER Cin
4-BIT
S3 S2 S1 S0

Paralel  In

A3 A2 A1 A0
Clock


Komponen CPU

UNIT CONTRO (Control


Unit).

ALU (Arithmetic and Logic


Unit), dan

REGISTER
UNIT KONTROL
berfungsi :

> mengatur jalannya program.


(CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam
menjalankan fungsi-fungsi operasinya).

mengambil intruksi-intruksi atau data dari


memori utama
(dan menentukan jenis instruksi tersebut).

Bila ada instruksi untuk perhitungan Hasil dari pengolahan data dibawa oleh unit
aritmatika atau perbandingan logika, kontrol ke memori utama lagi untuk
maka unit kontrol akan mengirim disimpan, dan pada saatnya akan disajikan
instruksi tersebut ke ALU ke alat output.
> Mengatur dan mengendalikan I/O

Mengirim INSTRUKSI ke ALU


(bila ada perhitungan aritmatika atau perbandingan logika serta MENGAWASI
KERJA dari ALU).

> Menyimpan HASIL PROSES ke memori utama.


ALU
unit ALU bertugas : untuk melakukan
operasi aritmetika
(semua perhitungan aritmatik dgn dasar perjumlahan dsbt ADDER)
Dan
operasi logika
berdasar instruksi yang ditentukan.

Tugas lain dari ALU adalah


mengambil keputusan dari suatu operasi logika sesuai dengan instruksi program.
Operasi logika meliputi perbandingan dua operand dengan menggunakan operator
logika tertentu, yaitu (=), tidak sama dengan (¹ ), (<), kurang atau sama dengan (£ ),
(>), dan lebih besar atau sama dengan (³ ).
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.


Secara analogi, register ini dapat diibaratkan sebagai
ingatan di otak bila kita melakukan pengolahan data
secara manual, sehingga otak dapat diibaratkan sebagai
CPU, yang berisi ingatan-ingatan, satuan kendali yang
mengatur seluruh kegiatan tubuh dan mempunyai tempat
untuk melakukan perhitungan dan perbandingan logika.
Register prosesor

Register prosesor, dalam arsitektur komputer,


adalah sejumlah kecil memori komputer yang
bekerja dengan kecepatan sangat tinggi yang
digunakan untuk melakukan eksekusi
terhadap program-program komputer

Register umumnya diukur dengan satuan bit yang dapat


ditampung olehnya, seperti "register 8-bit", "register 16-
bit", "register 32-bit", atau "register 64-bit" dan lain-lain.
Jenis register

Register data, digunakan untuk menyimpan angka-angka


dalam bilangan bulat (integer).

Register alamat, digunakan untuk menyimpan alamat-


alamat memori dan juga untuk mengakses memori.

Register general purpose, dapat digunakan untuk


menyimpan angka dan alamat secara sekaligus.

Register floating-point, digunakan untuk menyimpan


angka-angka bilangan titik mengambang (floating-point).
Register konstanta (constant register),
digunakan untuk menyimpan angka-angka
tetap yang hanya dapat dibaca (bersifat
read-only), semacam phi, null, true, false
dan lainnya.

Register vektor, digunakan untuk


menyimpan hasil pemrosesan vektor
yang dilakukan oleh prosesor SIMD.
Register special purpose digunakan untuk
menyimpan data internal prosesor, seperti
halnya instruction pointer, stack pointer,
dan status register.
Register yang spesifik terhadap model mesin
(machine-specific register), dalam beberapa arsitektur
tertentu,
digunakan untuk menyimpan data atau pengaturan
yang berkaitan dengan prosesor itu sendiri. Register
jenis ini tidak menjadi standar antara generasi prosesor.
Ukuran Register Prosesor

4-bit Intel 4004

8-bit Intel 8080

16-bit Intel 8086, Intel 8088, Intel 80286


Intel 80386, Intel 80486, Intel Pentium
Pro, Intel Pentium, Intel Pentium 2, Intel
Pentium 3, Intel Pentium 4, Intel Celeron,
32-bit Intel Xeon, AMD K5, AMD K6, AMD
Athlon, AMD Athlon MP, AMD Athlon
XP, AMD Athlon 4, AMD Duron, AMD
Sempron
Intel Itanium, Intel Itanium 2, Intel Xeon,
Intel Core, Intel Core 2, AMD Athlon 64,
64-bit AMD Athlon X2, AMD Athlon FX, AMD
Turion 64, AMD Turion X2, AMD
Unit Aritmatik (ALU)
Segala operasi aritmatik dan logika dilakukan di dalam ALU.
Operasi-operasi yang dapat dilakukan ALU adalah:

Add, Increment, Subtract,


Decrement,
Logika OR, EX-OR, AND, dan NOT
(Complement), Compare, Shift, dan
Rotate.
Operasi dasar Penjumlahan
(ADDER) 1-Bit

carry  out
0 0 1 Addend 1
0 1  0 Augend 1
0 1 1 Sum 0 1
HALF-ADDER

MASUKAN KELUARAN
A B S Cout
A
S 0 0 0 0
B 0 1 1 0
Cout 1 0 1 0
1 1 0 1
HALF-ADDER penambahan jumlah pindahan
keluar
BIT
X  OR AND
Full-Adder disingkat FA

Full-Adder (FA) adalah dasar


Rangkaian rangkaian

penjumlahan bil. Biner dengan


jumlah bit yang tidak terbatas,
oleh karena itu disebut dengan rangkaian Penjumlah Lengkap.

FA dibangun dari 2 HA dan 1 OR gate.


1
A3 A2 A1 A0 1 1 0 1 Addend
B3 B2 B1 B0
1 1 1 1  Augend
Sum
S 3 S 2 S1 S 0 1 1 1 0 0

0 1 1 1 1 Cout carry  out

1 1 1 1 0 Cin carry  in
Cin A
S
B S

A A Cout
S
B
B
Cout
Cout

A FULL Cout
B ADDER
Cin (FA) S
. FA
Rangk 3 input : A,B, dan Cin
memp.

serta 2 output : S dan Cout

Var. A & B digunakan untuk to ADD bit dari 2


bil. biner yang akan dijumlahkan,
Cin (Carry in) nilai pindahan masukan hasil
sedangkan adalah sebagai

pindahan dari penjumlahan kolom


sebelumnya ). (Cin= Cout kolom penjumlahan sebelumnya

Karena input memp. Var. 3 buah, fungsi outputnyamaka akan

2N=23=8
mempunyai kemungkinan.
MASUKAN KELUARAN
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
penambahan pindahan jumlah pindahan
masukan keluar
BIT
Desain Rangkaian
Rangkaian FA untuk Sum, S 3 input : A,B, dan Cin
memp. yaitu

maka output S 4 kasus, dimana S harus =1


memp.

atau :

S  ABCin  ABC in  ABC in  ABCin

S  A  B  Cin 
Rangkaian FA untuk Cout 3 input : A,B, dan Cin
memp. yaitu

output untuk Cout


maka 4 kasus,
juga memp.

dimana Cout harus =1

atau

Cout  ABCin  ABCin  ABC in  ABCin

Cout  BC in  ACin  AB
Rangkian Lengkap FA

A FULL Cout
B ADDER
Cin (FA) S
A
B S
Cin

Cout
FA 4-BIT & 8-BIT

Cin Cin Cin


1 1 1
LSB S0
2 S0 2 S0 2
A 3 FULL 3 FULL
3 FULL
4 ADDER S1 4 ADDER S1 4 ADDER S1
(FA) (FA)


(FA)
1 4-Bit 1 4-Bit S2 1 4-Bit S2
S2
2 2 2
B 3 S3 3 S3
3 S3
4 4 4 MSB

Cout Cout Cout


PARALEL ADDER 4-BIT

AUGEND ADDEND

B3 B2 B1 B0 A3 A2 A1 A0

Paralel  Out
Cout FULL ADDER
Cin
4-BIT

Paralel  In
Clock
S3 S2 S1 S0
B3 B2 B1 B0

SET SET SET SET


D Q D Q D Q D Q

REG  B
CLR Q CLR Q CLR Q CLR Q

C out 0 FULL
C out 3 C out 2 Cout 1
ADDER
FA FA FA FA
S3 S2 S1 S0 (FA)
4-Bit

Cin 3 Cin 2 Cin 1 Cin 0


SET SET SET SET
D Q D Q D Q D Q

Q Q
REG  A
CLR CLR CLR Q CLR Q
Clock
Pada prakteknya, paralel out ADDER
2 Register
dibangun dengan hanya menggunakan saja.

Mis: Reg. A berfungsi ganda,


sebagai memori Addend
penampung hasil penjumlahan.
sekaligus sebagai

disebut Reg. Pengumpul


(Accumulator)
Reg. A = Accumulator
PARALEL ACCUMULATOR

AUGEND


B3 B2 B1 B0

Data  Load
Paralel  Out
Cout FULL ADDER Cin
4-BIT
S3 S2 S1 S0

Paralel  In

A3 A2 A1 A0
Clock


Serial Adder

ADDEND
A3 A2 A1 A0

Serial  Out
B3 B2 B1 B0

AUGEND

Cout FULL ADDER


Cin
4-BIT

SUM
Clock
S3 S2 S1 S0
Serial  In

SET
D Q

CLR Q
Serial Accumulator

ADDEND
A3 A2 A1 A0

Serial  Out
AUGEND
Cin
B3 B2 B1 B0

Cout FULL ADDER


4-BIT
SUM

SET
D Q
Clock

CLR Q
SANDI BCD
Penjumlahan BILANGAN sandi BCD
yang hasilnya <= (9)10
dapat dilakukan seperti contoh
sebelumnya.

Sedangkan yang hasilnya > (9)10


mengikuti proses penjumlahan
akan

tersendiri,
contoh :
Penjumlahan, S<(9)10

7 01 1 1 4 01 0 0
2  00 1 0  3  00 1 1 
9 1 0 0 1 7 01 1 1
Penjumlahan, S>(9)10

7 0111 0111 7
6 0110 1000 8
13 1 1 0 1 salah 1 1 1 1 15
Dari contoh, penjumlahan bilangan
dapat dilihat bahwa

sandi BCD yang hasilnya > (9)10


tidak dapat dilakukan seperti penjumlahan
biasa.

Sebabnya,
13 dalam sandi 8421BCD
bil.

bukan: 1 1 0 1 melainkan 0 0 0 1 0 0 1 1
atau 1 0 0 1 1.
15 bukan 1 1 1 1, melainkan 1 0 1 0 1.
demikian juga untuk
Bil-biner : ............64 32 16 8 4 2 1
........ 1 1 1 1 = 15
........ 1 1 0 1 = 13

8421BCD : ........40 20 10 8 4 2 1
........ 1 0 1 0 1 = 15
........ 1 0 0 1 1 = 13
Kesalahannya :
Pada sandi 8421BCD ada 6 keadaan yang TIDAK BOLEH
terjadi (can’t happen),
yaitu :

1010  1010 1310  1101

1110  1011 1410  1110

1210  1100 1510  1111


Kondisi yang tidak boleh terjadi (can’t
happen) pada masing-masing sandi
8421 BCD harus ditambahkan :

610  0110
Pindahan (carry) yang timbul pada
penjumlahan 4 bit pertama ikut
ditambahkan pada penjumlahan 4 bit
berikutnya.
7 0 1 1 1 0 1 1 1 7
6  0 1 1 0  1 0 0 0  8 
13 1 1 0 1 salah 1 1 1 1 15
0 1 1 0 0 1 1 0
10 0 1 1 benar 1 0 1 0 1

35 78
43  65 
78 143
Tugas
(dikumpul ….April 2011)
1.Sandilah bilangan desimal dibawah ini,
a. 897 dan 635 ke sandi 8421BCD
b. 347 ke sandi XS-3
2.Berapa aksara yang bisa dibuat oleh 5 digit biner. Dan
sandi ASCII mempunyai berapa aksara? Jelaskan
tentang bit ke-8 dari sandi tersebut.
3.Jumlahkan (634)8 dengan (452)8
4.Jumlahkan (476)12 dengan (684)12
5.Jumlahkan (987)16 dengan (949)16
Untuk Membangun .ADDER bil. sandi BCD dari
rangk

penjumlah biasa perlu modifikasi


rangk. dengan suatu rangkaian

yang berfungsi sebagai :


nantinya

1.Menentukan apakah hasil penjumlahan


masing-masing kelompok 4 bit =<9
2.Bila hasilnya >9, mengoreksi hasil dengan
tsb.

menambahkan bilangan 0110


sehingga didapat hasil yang benar.
Modifikasi Rangkaian
A
B
C F
D
F  A  BC  D

F  D  BC  AC
Artinya bahwa : F=1, hanya bila :
A = 1, ATAU
B = 1 DAN C =1, ATAU
B = 1 DAN D =1.
Bila pers Boolean diterapkan dalam
tsb

susunan bil-biner yang terdiri dari 5 bit


mis : A, B, C, D, E
spt

A=MSB,
dimana

E=LSB,
dan

maka pada kondisi F=“1” :

A=1, kemungkinan bobot bilangan 5-bit tsb


adalah antara 15-32.
B=1 dan C=1, kemungkinan nilai bilangannya
antara 11-16.
B=1 dan D=1, kemungkinan nilai bilangannya
antara 9-16
disimpulkan F=”1” hanya bila susunan
Sehingga dapat bahwa

ABCDE menunjukkan suatu bilangan yang


nilainya >9, dan sebaliknya F=”0”, <9

Gambar tsb dapat dipakai untuk menguji


output suatu FA 4-bit,
Cout sebagai MSB, dan S3, S2, S1, S0,
dimana

sebagai LSB.
hubungkan masing-masing :
Caranya dengan meng

A=Cout (MSB)
B=S3
C=S2
D=S1
S0 (LSB)=LEPAS.
Penjumlah Sandi 8421 BCD

Cout
FA 4-Bit Cin

S3 S2 S1 S 0 LSB 

rangkaian
koreksi
FA FA FA 0110

Cout
Subtract
Seperti pada penjumlahan, pengurangan
dalam berbagai sistem bilangan dapat
dilakukan sebagaimana dalam bilangan
desimal.

digit SUBTRAHEND (pengurang)>


Bila

digit MINUEND (yang dikurangi) , maka


harus “pinjam’ (borrow) dari digit
sebelah kirinya.
567
279 
288

Pinjam 1=10 (dari klm-2) : 10+7 – 9 = 8, kl-1 : 8


Pinjam 1=10 (dari klm-3) : 10+5 – 7 = 8, kl-2 : 8
Pinjam 0=0 (dari klm-4) : 0+4 – 2 = 2, kl-3 : 2

Pinjaman yang dambil dari digit sebelah kirinya disebut


”pinjaman-keluaran” (Borrow-Out), yaitu : 1 1 0
pinjaman-keluaran tersebut ditambahkan pada digit
Sedangkan

yang akan dikurangi (”pinjaman-masukan atau Borrow-In)


567 Minuend
279  Subtrahend
01 1 Borrow  In
11 0 Borrow  Out
288 Difference ( Hasil / Selisih)
Tabel Subtract

MASUKAN KELUARAN MASUKAN KELUARAN


A B Bin Di Bo
A B Di Bo
0 0 0 0 0
0 0 0 0
0 0 0 1 1 1
0 1 1
1 0 1 0 1 1
1 0 0
0 1 1 0 1
1 1 0 1
1 0 0 1 0
A B Difference Borrow  Out 1
1
0
1
1
0
0
0
0
0
1 1 1 1 1
A  B  Bin Difference Borrow  Out
Bilangan Negatif
Bilangan negatif adalah bilangan yang mempunyai bobot
dibawah 0,
misalnya : -510 (bilangan desimal 5 dibawah 0),
-1102 (bilangan biner dengan bobot 6 dibawah 0).

Bilangan negatif tidak dapat dinyatakan dalam


seperti diatas

besaran listrik, digit 0 berarti tidak ada tegangan.


karena

ada cara lain


Dengan demikian harus agar perhitungan logika
untuk menyatakan suatu bilangan negatif

tetap dapat dilakukan


dalam peralatan elektris .

Dalam hal ini ada 2 cara, menggunakan : ”Tanda- Modulus”


yaitu dengan

(Sign Modulus Notation/Sign Bit) dan


”Complement Notation”.
”Sign Modulus Notation” yaitu
menambahkan 1 bilangan di yang diletakkan

bagian MSD
(paling kiri dari suatu bilangan)

Sign Bit DESIMAL, digit 9 bilangan


untuk untuk

NEGATIF,
digit 0 bilangan POSITIF.
untuk

Sedangkan untuk bilangan BINER, digit 1 bilangan negatif untuk

digit 0 bilangan positif.


untuk
Bilangan Desimal Bilangan Biner

 1510  91510  1012  11012

 1510  01510  1012  01012


cara kedua, untuk bilangan DESIMAL digunakan bentuk
Complement yaitu :
10’s complement dan
9’s complement.

bilangan BINER
2’s complement serta 1’s Complement.

mengganti bilangan NEGATIF menjadi bentuk


Dengan

complementnya, SUBTRACT dapat dilakukan


suatu

dengan cara penjumlahan (pengurangan sebenarnya


adalah menjumlahkan dengan bilangan negatif).

Misal :
10-4=6 adalah sama 10+(-4)=6
mengubah bilangan PENGURANG
Dan untuk

menjadi bilangan negatif digunakan


sistem komplemen.

Keuntungan dari cara ini adalah bahwa baik

penjumlahan maupun pengurangan pada

bilangan BINER dapat dilakukan pada


suatu rangkaian yang sama
(rangkaian penjumlah: Full Adder).
10’s Complement

Pada sistem bilangan desimal, untuk


mengganti bilangan negatif ke bentuk 10’s
comlement dilakukan dengan cara
mengurangkan masing-masing digit bilangan
negatif dari 9, kemudian menambahkan 1
tersebut

pada digit yang paling kanan (LSD).


10’s Complement dari bilangan -237510 adalah :

 237510  9762510

Penjelasan :
9–5= 4, ......... LSD : 4+1 = 5
9–7= 2
9–3= 6
9–2= 7, ......... MSD

10’s Complement dari


Bentuk -237510
bilanganselanjutnya
tersebut dapat

dipakai untuk pengurangan dengan cara menjumlahkan


Pengurangan Penjumlahan
4000 (0) 4 0 0 0
2375– (9) 7 6 2 5+
1625 1(0) 1 6 2 5
1 = Pindahan (carry)
Diabaikan (lost)
SIMBOL SUBTRACT
A
Di
B
Bo

Bin A
Di
B
A Bo
Di
B
Bo Bo
1 0 1 1
0 1 1 1 
Borrow  In 0 1 0 0
Borrow  Out 0 0 0
1
0 1 0 0
1
10 10 0 10
10 0 1 0 1
1 0 10 
1 1 0 1 1
Register CPU
Seperti yang telah disebutkan
sebelumnya, CPU 8085 mempunyai 10
buah register dimana register-register ini
dibagi atas dua kelompok, yaitu:

General Purpose Register (Register Serba Guna)


Special Purpose Register (Register Khusus).
General Purpose Register

Dikatakan Gen. Pur. Reg. karena pemakaian register ini


bersifat umum.
Susunan register-register ini seperti sebuah RAM kecil
(8-bit atau 16-bit) di dalam CPU.
Register ini dapat digunakan sebagai tempat penyalinan
data sementara atau sebagai tempat penyimpanan hasil
operasi mikroprosesor.
General Purpose Register terdiri dari 6 buah register 8-
bit yang dinamai dengan register B, C, D, E, H dan L.
Untuk pengoperasian 16-bit register ini dapat
berpasangan menjadi pasangan register BC, DE, HL.
Special Purpose Register
Dikatakan special karena fungsinya secara khusus.
Special Register ini terdiri atas 4 bagian yaitu:
Accumulator, Flag Register, Program Counter (PC),
Stack Pointer(SP).

Accumulator (Accu) disebut juga Register A yang merupakan


register yang amat penting, karena register ini berfungsi sebagai
tempat penyimpanan hasil setiap operasi aritmatik-logik dan juga
sebagai tempat masukan untuk ALU.
Data bus internal yang dihubungkan ke Accu ini merupakan dua
arah (bidirectional) yang berarti accu dapat mengirim dan
menerima data.
Didalam penggunaannya accu berpasangan dengan Flag Register
yang disebut PSW (Program Status Word).
Flag Register
Isi Flag Register Bendera akan
berubah sesuai dengan hasil operasi
aritmatik-logika.

Sign Bit (S) : S=0, bila hasil opersai


positip ; S = 1, bila hasil negatip

Zero Bit (Z): Z=1, bila hasil operasi


sama dengan 0, dan Z = 0, bila hasil
tidak sama dengan 0
Auxilary carry Bit (Ac) : Ac = 1, jika tejadi carry dari
4-bit rendah (low nibble) ke 4-bit tinggi (high nibble)
atau jika ada borrow dari high nibble ke low nibble.
Ac = 0, jika tidak ada carry atau borrow antara low
nibble dengan high nibble.

Parity Bit (P): P=1 ; bila hasil operasi berparity


genap, P=0; bila hasil operasi berparity ganjil

Carry Bit (Cy) : Cy=1 ; bila hasil penjumlahan


melebihi 8-bit atau bila hasil pengurangan ada
borrow Cy=0 ; bila tidak terjadi borrow atau
carry.
Program counter (PC)

Pengeksekusian suatu program adalah pelaksanaan


instruksi demi instruksi, dimana instruksi ini telah
terlebih dahulu disimpan di memori.

Jadi untuk melaksanakan instruksi


tersebut diperlukan alamat untuk
menunjukkan lokasi penyimpanan
instruksi tersebut didalam memori.

Memory address yang akan dituju ini diambil dari PC.


PC ini merupakan register 16-bit dengan demikian
range dari instruction address yang dieksekusi adalah
Stack Pointer (SP)
Stack merupakan bagian dari memori yang dialokasikan untuk
menyimpan data dan alamat,
misalnya pada saat instruksi PUSH atau CALL dilaksanakan.

Alamat awal dari Stack ditandai oleh Stack Pointer.


Stack dapat diakses dengan menggunakan program.
Penumpukan data pada Stack ini mempunyai sifat LIFO (Last In-
First Out).

Pemindahan data dari Register (CPU) ke Stack dilaksanakan


dengan instruksi PUSH dan pemindahan data dari Stack ke
Register (CPU) adalah POP.

Stack Pointer (SP) merupakan register 16-bit dengan demikian


range stack address adalah sebesar 2exp. 16 = 64 Kbyte.
Isi Flag Register akan berubah sesuai dengan hasil
operasi aritmatik-logika.
Sign Bit (S) : S=0; bila hasil opersai positip S = 1 ; bila
hasil negatip
Zero Bit (Z): Z=1; bila hasil operasi sama dengan 0, Z =
0 ; bila hasil tidak sama dengan 0
Auxilary carry Bit (Ac) : Ac = 1 ; jika tejadi carry dari 4-
bit rendah (low nibble) ke 4-bit tinggi (high nibble) atau
jika ada borrow dari high nibble ke low nibble. Ac = 0 ;
jika tidak ada carry atau borrow antara low nibble
dengan high nibble.
Parity Bit (P): P=1 ; bila hasil operasi berparity genap,
P=0; bila hasil operasi berparity ganjil
Carry Bit (Cy) : Cy=1 ; bila hasil penjumlahan melebihi
8-bit atau bila hasil pengurangan ada borrow Cy=0 ; bila
Pin Configuration
Intruction execute cycle

Jika instruksi –intruksi telah disimpan didalam


memori ROM atau RAM maka urutan dari
pelaksaan (eksekusinya) adalah:

1. Pengalamatan Instruksi
2. Membaca Instruksi dan menaikkan PC.
(Langkah 1 dan 2 ini disebut Fetch).
3. Mendekodekan Instruksi
4. Melaksanakan Insrtuksi (execute).
Contoh Berikut ini adalah suatu instruksi yang akan dilaksanakan
dengan proses tahap demi tahap oleh CPU.

Pada alamat 2000 H secara berurutan terdapat kode mesin 32 H


, 00 H ,30 H (lihat tabel) yang merupakan kode hexa dari
mnemonic STA 3000 H dan bermakna simpan isi akumulator ke
lokasi memori yang beralamat 3000 H .
Sebelum instruksi ini dilaksanakan isi register A adalah 55 H .
Jadi jika instruksi ini dilaksanakan isi memori 3000 H akan berisi
55 H Pengaruh dari instruksi STA 3000 H tersebut terhadap
saluran eksternal diberikan pada gambar 4.4.
Berikut ini diberikan contoh langkah-langkah
pengeksekusian suatu program dimana
program tersebut telah dituliskan pada memori
yang dimulai dari alamat 0000

Program tersebut melaksanakan tahapan-


tahapan berikut ini:
Membaca data dari Port beralamat 04,
kemudian menjumlahkan dengan data 07.
Hasil penjumlahan dikeluarkan pada port
alamat 02 dan kemudian berhenti. Dimana isi
Port 04 adalah 82 H.
PROGRAM :

1. Membaca data dari Port 4


2. Menambahkan 7 terhadap
data dari port 4
3. Mengeluarkan hasil jumlah
pada port 2

You might also like