Professional Documents
Culture Documents
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
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.
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
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.
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.
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.
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
CL 8 O
Instruksi 4
RE CL
1 4 8 K
low. Pengurut K
CL
R
Biner
CL
Siklus Instruksi OUT Keseluruhan : 1
2
R