You are on page 1of 9

Perangkat Instruksi

(Instruction Set) Memory Reference Instruction


 Instruksi dalam SAP-1 terdiri dari 2 jenis : 1  Instruksi LDA, ADD dan SUB disebut
operand dan tanpa operand. instruksi-instruksi yang mengacu pada
 Operand adalah data atau alamat data yang memori (memory reference instruction),
dioperasikan. karena semua instruksi yang bersangkutan
 Instruksi yang memiliki 1 operand adalah : menggunakan data yang tersimpan dalam
LDA, ADD dan SUB. memori.
 Instruksi tanpa operand adalah OUT dan HLT

 LDA (Load the Accumulator)  ADD (Adder)


Instruksi LDA mengambila data dari memori Instruksi ADD menjumlahkan isi akumulator
dan dimasukan ke dalam akumulator. Contoh : dengan data memori.
LDA AH Contoh :
ADD 8H
Instruksi ini mengambil data dari alamat memori
AH dan disimpan ke dalam akumulator. Instruksi ini menjumlahkan isi akumulator
denagn data memori alamat 8H. Hasil
penjumlahan disimpan kembali dalam
akumulator.

1
Misal isi alamat AH = 00000011 dan
8H = 00000001 Selama pelaksanaan instruksi ADD 8H
akan berlangsung operasi sbb:
 Pertama isi memori alamat 8H = 00000001
LDA AH : A = 00000011 akan ditransfer ke dalam register B sehingga
ADD 8H : A = A + 00000001 B = 00000001
= 00000011 + 00000001  Pada waktu bersamaan register Penjumlah-
= 00000100 Pengurang melakukan penjumlahan dari
register A dan B, menghasilkan jumlah,
Hasil Jumlah = 000000100.
 Kemudian Hasil Jumlah ini diisikan ke dalam
akumulator sehingga A = 00000100

 SUB (Subtract) Prosesnya mirip dengan instruksi ADD. Misal AH =


00000101 dan
Instruksi SUB mengurangkan isi akumulator
8H = 00000010
dengan isi register B.
Contoh : LDA AH : A = 00000101
SUB 8H ADD 8H : A = A - 00000010
= 00000101 - 00000010
Instruksi ini mengurangkan isi akumulator = 00000011
dengan data memori alamat 8H. Hasilnya
disimpan kembali dalam akumulator. Isi alamat memori 8H diambil dan dimasukan ke dalam
register B. Kemudian dilakukan proses pengurangan
dan hasilnya disimpan kembali di Akumulator

2
 OUT Pemrograman SAP-1
Instruksi OUT adalah instruksi tanpa operand. Di dalam pemrograman SAP terdapat kode yang
Data dari akumulator secara otomatis akan akan memerintahkan komputer untuk melakukan
diambil dan dimasukan ke dalam Register suatu operasi yang disebut dengan kode operasi
Keluaran. (operation code) yang disingkat dengan opcode.
Berikut akan diberikan kode operasi dari tiap
 HLT (Halt) instruksi pada SAP-1 :
Instruksi HLT berfungsi untuk menghentikan
proses. Instruksi ini memberitahu kepada No. Mnemonik Kode Operasi (Opcode)
komputer untuk berhenti memproses data. 1 LDA 0000
HLT menandai akhir suatu program. Instruksi 2 ADD 0001
ini tidak memerlukan operand memori. Setiap 3 SUB 0010
program dalam SAP-1 harus diakhiri dengan
4 OUT 1110
HLT.
5 HLT 1111

Siklus Instruksi

Dalam menyelesaikan setiap instruksi  Pada saat komputer mulai dijalankan, data
diperlukan. Tahapan ini disebut siklus instruksi. keluaran pencacah tersebut adalah :
Siklus instruksi terdiri dari 2 tahap yaitu FETCH T = 000001
dan EXECUTE. Masing-masing tahap  Selanjutnya akan menghasilkan 000010,
memerlukan 3 siklus clock (clock cycle) 000100, 001000, 010000, dan 100000.
ditandai dengan T1, T2, T3, T4, T5 dan T6. Siklus Setiap instruksi diselesaikan dalam 6
clock ini diatur oleh pencacah yang disebut keadaan T tersebut.
Ring Counter yang mengeluarkan nilai T :
T = T6T5T4T3T2T1

3
Siklus Fetch Tahap Pengiriman Alamat
Pada siklus fetch dilakukan pengambilan (Address State) – T1
instruksi dari memori dan diletakan di dalam
register instruksi. Semua instruksi melalui  Pada tahap ini nilai dari pencacah program dikirim ke
tahap ini. Tiga hal yang dilakukan pada register alamat memori (MAR). Pengendali/Pengurut
tahap ini : akan mengirim nilai kendali CON :
CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
 Mengirim isi Pencacah Program ke dalam
register alamat (MAR) (Address State) CON = 0 1 0 1 1 1 1 0 0 0 1 1
 Menambah nilai pencacah Program dengan 1  Jalur yang aktif ada dua EP = 1 aktif high dan LM 0
(Increment State) aktif low. Data 4 bit akan keluar dari Pencacah
 Mengambil instruksi dari memori dan Program menuju bus W bersamaan dengan itu data
dimasukkan ke dalam register instruksi dari bus W akan diambil ke dalam Masukan dan
(Memory State) MAR. Akhir tahap ini, alamat 4 bit sudah berada
dalam MAR menunjuk ke memori RAM.

Tahap Penambahan Nilai Pencacah Tahap Pengambilan Instruksi dari


dengan 1 (Increment State) – T2 Memori (Memory State) – T3
 Pada tahap ini data pada Memori RAM yang ditunjuk
 Pada tahap ini nilai dari pencacah program
oleh MAR, dikeluarkan menuju bus. Sementara itu, data
ditambahkan dengan satu Pengendali/Pengurut
dari bus W masuk ke dalam register Instruksi.
akan mengirim nilai kendali CON :
Pengendali/Pengurut akan mengirim nilai kendali CON :
CON = C P E P L M C E L1 E1 L A E A SU E U L B L O CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
CON = 1 0 1 1 1 1 1 0 0 0 1 1 CON = 0 0 1 0 0 1 1 0 0 0 1 1
 Jalur yang aktif C P = 1 Nilai Pencacah ditambah 1.
 Jalur yang aktif CE dan L1 = 0, keduanya aktif low.
 Data 8 bit akan keluar dari Memori RAM menuju bus
W, bersamaan dengan itu, data dari bus W akan
diambil ke dalam Register Instruksi. Akhir tahap ini, 8
bit instruksi sudah berada dalam Register Instruksi.

4
C 8 L C
Pencacah Pencacah
8 L
p
CLK CL
Program 4 W Akumulator A p
CLK CL
CL Program 4 W Akumulator A
(Progam 8 A K CL K
8 (Progam 8 A
Siklus Fetch Keseluruhan
KE Counter) E KE 8
p Counter) E
8 A p
8 A

LM Penjumlah Penjumlah
Masukan
4 8
& LM 4 8
Masukan &
 Tahap Pengalamatan (Address State), CL
K
dan MAR Pengurang CL
K
dan MAR Pengurang
4 4
penambahan nilai pencacah (increment 4 4
8
8
L
L
state) dan pengambilan instruksi dari memori CE
Memori
RAM 16 x 8
8 8 Register B B
CE
Memori
RAM 16 x 8
8 8 Register B B

CL
(memory state) disebut juga dengan siklus K
CL
K

fetch. Berikut ini adalah dambar komponen- L


CLK
1 Register
8

8
Register
Keluaran
L
O
L
CLK
1 Register
8
Register L
CL 8 Keluaran O
Instruksi
komponen yang aktif (warna abu-abu) pada RE 4
CL
CL
RE
Instruksi 4
CL
1 4 8 K K
4
setiap tahapan T1, T2, T3 :
1 8
CLK
Peraga CLK
Pengendali CL Peraga
Biner Pengendali CL
Pengurut K
CL K Biner
Pengurut CL
R
CL R
CL
1 R 1 R
2 2
CPEPLMCE L1E1LAEA SUEULBLO
CPEPLMCE L1E1LAEA SUEULBLO

C 8 L
Pencacah
p
CLK CL
Program 4 W Akumulator A
CL (Progam 8 8 A K

Siklus Eksekusi
KE Counter) E
p
8 A

LM 4 8 Penjumlah
Masukan &
CL
K
dan MAR Pengurang  Eksekusi instruksi dikendalikan oleh
4 4 8
Pengendali/Pengurut (Controller / Sequencer).
L

CE
Memori
RAM 16 x 8
8 8 Register B B Masing-masing tahap eksekusi T4, T5 dan T6
CL
K berbeda-beda untuk setiap instruksi.
L 8 L
CLK Register
1 Register 8 Keluaran O
CL Instruksi
RE 4
CL
1 4 8 K

CLK
CL Peraga
Pengendali Biner
Pengurut K
CL
R
CL
1 R
2
CPEPLMCE L1E1LAEA SUEULBLO

5
Instruksi LDA Tahap Pengiriman Alamat – T4
Pada instruksi LDA hanya T4 dan T5 yang aktif,  Pada tahap ini nilai 4 bit operand dari register
sementara tahap T6 tidak ada yang aktif. instruksi masuk ke MAR. Pengendali/Pengurut
Tahapan pada instruksi LDA : akan mengirim nilai kendali CON :
 Pada tahap T4 alamat memori dikirim dari CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
register instruksi ke MAR. CON = 0 0 0 1 1 0 1 0 0 0 1 1
 Pada tahap T5 data dari memori diambil dan  Jalur yang aktif LM dan E1 = 0, keduanya aktif low.
masuk ke register Akumulator.  Data 4 bit keluar dari Register Instruksi menuju bus
 Pada tahap T6 tidak melakukan apa-apa. W, bersamaan dengan itu, data dari bus W akan
diambil ke dalam MAR. Akhir tahap ini, 4 bit
instruksi sudah berada dalam MAR menunjuk ke
alamat memori RAM.

Siklus Instruksi LDA


Tahap Pengambilan Data – T5 Keseluruhan
 Pada tahap ini data 8 bit dari memori diambil dan  Berikut ini adalah gambar komponen-
dimasukan ke dalam akumulator. Pengendali/ komponen yang aktif (warna abu-abu) pada
Pengurut akan mengirim nilai kendali CON : tahap T4 dan T5 instruksi LDA :
CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
CON = 0 0 1 0 1 1 0 0 0 0 1 1
 Jalur yang aktif CE dan LA = 0, keduanya aktif low.
 Data 8 bit dari memori menuju bus W, bersamaan
dengan itu, data dari bus W akan diambil ke dalam
akumulator. Akhir tahap ini, 8 bit data masuk ke
akumulator.

6
C
p
CLK
Pencacah
Program W
8

Akumulator
L
CL
A
C
p
CLK
Pencacah
8 L Instruksi ADD dan SUB
CL 4 Program W Akumulator CL
A
(Progam 8 A K CL 4
KE 8 (Progam 8 A K
Counter) E KE 8
p
8 A p
Counter)
8
E
A
Pada instruksi ADD dan SUB data operand
LM
Masukan
4 8 Penjumlah
LM Penjumlah diambil dari memori dan dijumlahkan dengan
& Masukan
4 8
&
CL
K
dan MAR Pengurang CL dan MAR Pengurang akumulator dan hasilnya disimpan kembali ke
K
4 4 8 4 4 8 dalam akumulator. Tahapan pada instruksi
L

CE
Memori 8 8 Register B B Memori 8 8 Register B
L
B
LDA :
RAM 16 x 8 CE RAM 16 x 8
CL CL  Pada tahap T4 alamat memori dikirim dari
K
K
L 8
Register L L 8 L
register instruksi ke MAR.
CLK
1 Register
Register 8 Keluaran O CLK
1 Register
 Pada tahap T5 data dari memori diambil dan
CL 8 Keluaran O
Instruksi 4 CL Instruksi
RE CL RE 4
CL
1 4 8 K 1 4 8 K masuk ke register Akumulator.
CLK
Peraga CLK
CL
 Pada tahap T6 data dari register B dioperasikan
Pengendali CL Peraga
K Biner Pengendali Biner
Pengurut CL K
CL
Pengurut
R
1
CL
R 1
R
CL
R
dengan akumulator dan hasilnya disimpan
2
CPEPLMCE L1E1LAEA SUEULBLO
2
CPEPLMCE L1E1LAEA SUEULBLO dalam akumulator. Perbedaan instruksi ADD
dan SUB pada tahap 6.

Tahap Pengiriman Alamat – T4 Tahap Pengiriman Data – T5


 Pada tahap ini, sama persis dengan instruksi  Pada tahap ini data 8 bit dari memori diambil dan
LDA. Nilai Alamat 4 bit dari register instruksi dimasukan dalam register B. Pengendali/
masuk ke dalam register alamat memori (MAR) Pengurut akan mengirim nilai kendali CON :
CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
CON = 0 0 1 0 1 1 1 0 0 0 0 1
 Jalur yang aktif CE dan LB = 0, keduanya aktif low.
 Data 8 bit dari memori menuju bus W. bersamaan
dengan itu, data dari bus W akan diambil ke dalam
register B. Akhir tahap ini, 8 bit data masuk ke
register B.

7
Tahap Pengoperasian
ADD/SUB Data – T6
 Pada tahap ini data 8 bit dari akumulator dan
register B dioperasikan (ADD/SUB) hasilnya  Operasi SUB
disimpan dalam akumulator. Pengendali/ Pengurut
akan mengirim nilai kendali CON : CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
CON = 0 0 1 1 1 1 0 0 1 1 1 1
 Operasi ADD
 Jalur yang aktif SU, EU aktif high dan LA = 0 aktif
CON = C P E P L M C E L1 E1 L A E A SU E U L B L O
low.
CON = 0 0 1 1 1 1 0 0 0 1 1 1
 Data 8 bit dari register B dan akumulator
 Jalur yang aktif EU = 1 aktif high dan LA = 0 aktif dioperasikan (ADD/SUB) dan hasilnya disimpan
low. kembali ke akumulator lewat bus W.

Siklus Instruksi ADD/SUB C L


8
Pencacah C 8 L
p
CLK Pencacah
Program W Akumulator CL
A p
CLK
CL 4 Program W Akumulator CL
A
(Progam 8 A K CL 4
8 (Progam 8 A K

Keseluruhan
KE Counter) E KE 8
p Counter) E
8 A p
8 A

LM Penjumlah Penjumlah
Masukan
4 8
& LM 4 8
Masukan &
 Berikut ini adalah gambar komponen- CL
K
dan MAR Pengurang CL
K
dan MAR Pengurang
4 4
komponen yang aktif (warna abu-abu) pada 4 4
8
8
L
L
tahap T4 , T5 dan T6 instruksi ADD / SUB : CE
Memori
RAM 16 x 8
8 8 Register B B
CE
Memori
RAM 16 x 8
8 8 Register B B

CL CL
K
K
L 8 L L
CLK Register 8 L
1 Register CLK Register
8 Keluaran O 1 Register Keluaran
CL Instruksi 8 O
4 CL Instruksi
RE CL RE 4
CL
1 4 8 K K
1 4 8
CLK
Peraga CLK
Pengendali CL Peraga
Biner Pengendali CL
Pengurut K
CL K Biner
Pengurut CL
R
CL R
CL
1 R 1 R
2 2
CPEPLMCE L1E1LAEA SUEULBLO
CPEPLMCE L1E1LAEA SUEULBLO

8
C 8 L
Pencacah
p
CLK CL
Program 4 W Akumulator A
CL (Progam 8 A K

Instruksi OUT KE
p
Counter)
8

8
E
A

Penjumlah
 Instruksi OUT memerlukan satu tahap T yaitu LM

CL
Masukan
dan MAR
4 8
&
Pengurang
memindahkan data dari akumulator ke dalam K
4 4
register keluaran. Pengendali/ Pengurut akan 8

mengirim nilai kendali CON : Memori 8 8 Register B


L
B
CE RAM 16 x 8
CL
CON = C P E P L M C E L1 E1 L A E A SU E U L B L O K
L
CON = 0 0 1 1 1 1 1 1 0 0 1 0 CLK
1 Register
8
Register
Keluaran
L

CL 8 O
Instruksi 4
RE CL
1 4 8 K

 Jalur yang aktif EA = 1 aktif high dan LB = 0 aktif Pengendali


CLK
CL Peraga

low. Pengurut K
CL
R
Biner

CL
 Siklus Instruksi OUT Keseluruhan : 1
2
R

CPEPLMCE L1E1LAEA SUEULBLO

You might also like