Mata kuliah ini membahas tentang mikroprosesor SAP-1, komputer sederhana yang dirancang untuk memperkenalkan konsep dasar operasi komputer. Dokumen ini menjelaskan arsitektur SAP-1 beserta komponen-komponennya seperti Program Counter, Memory Address Register, Random Access Memory, dan lainnya. Selain itu juga dijelaskan instruksi dasar SAP-1 seperti LDA, ADD, SUB, OUT, dan HLT beserta contoh kode programnya dalam
perbedaan jalan raya dan rel bahasa Indonesia.pptx
Ā
simple-as-possible-computer-1.ppt
1. ::. MATA KULIAH MIKROPROSESSOR .::
1
:: SAP - 1 ::
TEORI, IMPLEMENTASI & APLIKASI
[ ]
2. ::. MATA KULIAH MIKROPROSESSOR .::
2
Komputer SAP < Simple As Possible >
Perancangan komputer SAP bertujuan untuk
memperkenalkan semua ide penting dibalik operasi
komputer tanpa harus tenggelam dalam kerumitan yang
tidak perlu.
Meski sederhana, SAP sudah mengandung banyak
konsep yang lanjut.
SAP-1 merupakan tahap pertama dari evolusi ke arah
prngembangan komputer modern.
3. ::. MATA KULIAH MIKROPROSESSOR .::
3
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
PC < Program Counter >
Bagian unit kendali yang
mencacah dari 0000 ā 1111
Mengirimkan ke memori
alamat, instruksi berikutnya
yang akan diambil dan
dilaksanakan.
Direset ke 0000 sebelum
program dijalankan
0000 ļ Instruksi pertama
0001 ļ Instruksi kedua
0010 ļ Instruksi ketiga dst
4. ::. MATA KULIAH MIKROPROSESSOR .::
4
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
MAR < Memory Address
Register >
Register yang menyimpan
sementara alamat memori
untuk dikirimkan ke RAM
ā¢RAM < Random Access
Memory >
ā TTL statik 16 x 8 untuk
menyimpan program dan
data.
ā Menerima alamat 4 bit dari
MAR dan operasi membaca
dilakukan.
5. ::. MATA KULIAH MIKROPROSESSOR .::
5
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
IR < Instruction Register >
Bagian unit kendali untuk
mengambil sebuah instruksi
dari memori.
Isi lokasi memori yang
ditunjuk ditempatkan pada
bus W dan pada tepi positif,
IR mulai pengisian
Isi IR dibagi 2 Nibble :
Nibble Atas : ke
pengendali / Pengurut
Nibble Bawah : dikirim ke
bus W
6. ::. MATA KULIAH MIKROPROSESSOR .::
6
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
Pengendali / Pengurut
Sebelum komputer bekerja,
CLR dikirim ke PC < direset
ke 0000 > dan CLR ke IR
(Instruksi terakhir dihapus)
CLK dikirim ke semua
register buffer untuk
sinkronisasi operasi komp.
CLK ke PC untuk menjamin
PC telah menyiapkan
alamat berikutnya.
Mengeluarkan 12 bit sinyal
kendali < control bus >
7. ::. MATA KULIAH MIKROPROSESSOR .::
7
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
Accumulator
Buffer yang menyimpan
jawaban sementara selama
beroperasi.
Keluaran 2-state ke
ADDER
Keluaran 3-state ke Bus W
Bila tinggi, maka terus
menerus menggerakkan
ADDER
A
E
8. ::. MATA KULIAH MIKROPROSESSOR .::
8
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
Penjumlah - Pengurang
SAP-1 mempunyai sebuah
Penjumlah ā Pengurang
komplemen 2.
Su rendah, keluaran: S=A+B
Su tinggi, keluaran : S=A-B
Rangkaian Penjumlah ā
Pengurang bersifat Asinkron <
tidak diatur oleh clock >
Bila tinggi, maka keluaran
penjumlah-pengurang muncul
pada bus W.
U
E
9. ::. MATA KULIAH MIKROPROSESSOR .::
9
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
Register B
Buffer untuk operasi Aritmatik.
Bila rendah, maka kata
pada bus W diisikan ke register
B pada tepipositif clock.
Keluaran 2-state menjalankan
penjumlah-pengurang.
Register Keluaran
Memindahkan jawaban pada
Acc ke keluaran
Bila tinggi dan rendah,
maka akan memasukkan isi A
pada register keluaran pada
tepi positif clock
B
L
A
E O
L
10. ::. MATA KULIAH MIKROPROSESSOR .::
10
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
ARSITEKTUR SAP-1
Peraga Biner
Barisan 8 LED untuk
menampilkan isi dari bandar
keluaran.
11. ::. MATA KULIAH MIKROPROSESSOR .::
11
Perangkat Instruksi < Instruction Set >
Operasi dasar yang dapat dilakukan dengan perintah /
program.
LDA < Load Data Accumulator >
Isi Akumulator dengan isi dari lokasi memori
Kata didalam memori dapat diberikan simbol R0, R1, R2
Artinya : R0 untuk alamat 0H
R1 untuk alamat 1H dst
Contoh : LDA 8H ; /* Isikan Akumulator dengan isi alamat 8H */
Misal: R8=1111 0000, maka eksekusi perintah ini menghasilkan
A =1111 0000
12. ::. MATA KULIAH MIKROPROSESSOR .::
12
Perangkat Instruksi < Instruction Set >
ADD
Tambahkan isi lokasi memori pada Accumulator
Contoh :
ADD 9H ; /* Tambahkan Akumulator dengan isi alamat 9H */
Jika : A =0000 0010 ; /* Isi Akumulator */
R9 =0000 0011 ; /* isi memori 9H */
maka eksekusi perintah ini, membuat isi memori 9H < R9 >
diisikan ke Register B
B =0000 0011
Saat yang sama, penjumlah-pengurang menjumlahkan A dan B
SUM=0000 0101
13. ::. MATA KULIAH MIKROPROSESSOR .::
13
Perangkat Instruksi < Instruction Set >
SUB
Kurangkan isi lokasi memori dari Accumulator
Contoh :
SUB CH ; /* Kurangkan Akumulator dengan isi alamat CH */
Jika : A =0000 0101 ; /* Isi Akumulator */
Rc =0000 0100 ; /* isi memori CH */
maka eksekusi perintah ini, membuat isi memori CH < Rc >
diisikan ke Register B
B =0000 0100
Saat yang sama, penjumlah-pengurang mengurangkan A - B
DIFF=0000 0001 ; /* Hasilnya disimpan dalam Akumulator */
14. ::. MATA KULIAH MIKROPROSESSOR .::
14
Perangkat Instruksi < Instruction Set >
OUT
Memberitahu komputer SAP-1 untuk memindahkan isi
Akumulator ke bandar keluaran
Instruksi OUT tidak memerlukan alamat tertentu
Instruksi OUT tidak berhubungan dengan data dalam
memori
HLT
Memberitahu Komputer untuk menghentikan proses
Akhir dari Program
15. ::. MATA KULIAH MIKROPROSESSOR .::
15
Instruksi Rujukan Memori
< Memory Reference Instruction >
Instruksi yang memerlukan lokasi memori tertentu
LDA, ADD dan SUB
MNEMONIC
Instruksi singkat (in English) untuk membantu ingatan
Mudah diingat dan sesuai dengan operasi yang
dilakukan
16. ::. MATA KULIAH MIKROPROSESSOR .::
16
Contoh :
Program SAP-1 dalam bentuk Mnemonic
ALAMAT MNEMONIC
0 H LDA 9 H
1 H ADD AH
2 H ADD BH
3 H SUB CH
4 H OUT
5 H HLT
6 H FFH
7 H FFH
8 H FFH
9 H 01H
A H 02H
B H 03H
C H 04H
17. ::. MATA KULIAH MIKROPROSESSOR .::
17
Pemrograman SAP-1
Untuk memasukkan instruksi dan data ke dalam memori
SAP-1 harus mmenggunakan kode tertentu yang dimengerti
komputer. Kode ini memberitahu operasi yang harus
dilakukan ļ Operation Code < Op-Code>
Mnemonic Op-Code Contoh :
LDA 0000 Alamat Instruksi
ADD 0001 0 H LDA FH
SUB 0010 1 H ADD EH
OUT 1110 2 H OUT
HLT 1111 3 H HLT
18. ::. MATA KULIAH MIKROPROSESSOR .::
18
Pemrograman SAP-1
Contoh :
Alamat Instruksi
0 H LDA FH = 0000 1111
1 H ADD EH = 0001 1110
2 H OUT = 1110 XXXX
3 H HLT = 1111 XXXX
Medan Instruksi
Medan Alamat
19. ::. MATA KULIAH MIKROPROSESSOR .::
19
Pemrograman SAP-1
Assembly Language : tatacara penulisan program dalam
mnemonic < Source Program >
Machine Language : tatacara penulisan program dalam
binary < Object Program >
Contoh :
Alamat Instruksi Alamat Instruksi
0 H LDA 9H 0000 0000 1001
1 H ADD AH 0001 0001 1010
2 H OUT 0010 1110 XXXX
3 H HLT 0011 1111 XXXX
Source Program Object Program
20. ::. MATA KULIAH MIKROPROSESSOR .::
20
Siklus Pengambilan < Fetch Cycle >
Unit kendali membangkitkan kata kendali untuk
mengambil dan melaksanakan setiap instruksi.
Setiap instruksi melewati beberapa keadaan pewaktuan
< timing-state>
Tstate = Keadaan T
= periode-periode waktu pada saat mana terjadi
perubahan isi register
Tstate menggunakan pencacah putar
T = T6T5T4T3T2T1
21. ::. MATA KULIAH MIKROPROSESSOR .::
21
Siklus Pengambilan < Fetch Cycle >
Tstate menggunakan pencacah putar
T = T6T5T4T3T2T1
ā Awal operasi kata T menunjukkan :
T = 000 001
Pada pulsa detak berikutnya menghasilkan
T = 000 010
T = 000 100
T = 001 000
T = 010 000
T = 100 000
Pencacah
Putar
CLK
CLR
T6T5T4T3T2T1
22. ::. MATA KULIAH MIKROPROSESSOR .::
22
Siklus Pengambilan < Fetch Cycle >
Diagram Pewaktuan
Tepi positif CLK terjadi pada pertengahan setiap keadaan T
CLK
T1
T2
T3
T4
T5
T6
23. ::. MATA KULIAH MIKROPROSESSOR .::
23
Siklus Pengambilan < Fetch Cycle >
Keadaan alamat
Keadaan T1 : keadaan alamat, krn alamat didalam PC
dipindahkan ke MAR
dan merupakan bit-bit aktif sedangkan semua bit kendali
yang lain tidak aktif
Keadaan Penambahan
Keadaan T2 : keadaan penambahan < Increment State >
karena hitungan pada PC ditingkatkan
merupakan bit aktif pada keadaan T2
M
L
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
CON ļ½
p
E
0 1 0 1 1 1 1 0 0 0 1 1
p
C
24. ::. MATA KULIAH MIKROPROSESSOR .::
24
Siklus Pengambilan < Fetch Cycle >
Keadaan Memori
Keadaan T3 : Keadaan memori krn instruksi pada RAM dengan
alamat yang ditunjuk dipindahkan dari memori ke register
instruksi
dan merupakan bit-bit aktif pada keadaan ini.
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
CON ļ½
1 0 1 1 1 1 1 0 0 0 1 1
E
C
I
L
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
CON ļ½
0 0 1 0 0 1 1 0 0 0 1 1
25. ::. MATA KULIAH MIKROPROSESSOR .::
25
Siklus Pengambilan <
Fetch Cycle >
Keadaan T1
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
26. ::. MATA KULIAH MIKROPROSESSOR .::
26
Siklus Pengambilan <
Fetch Cycle >
Keadaan T2
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
27. ::. MATA KULIAH MIKROPROSESSOR .::
27
Siklus Pengambilan <
Fetch Cycle >
Keadaan T3
Ketika dan aktif,
RAM siap mengirimkan
data yang ditunjukkan
oleh MAR ke bus W
pada saat yang sama IR
mengambilnya.
PC
MAR
RAM
IR
CON
A
ADD
B
O
D
4
8
4
4
4
8
4
4
8
8
8
8
8
8
8
8
Cp
CLK
CLR
Ep
CLK
CLR
CLR
CLK
12
O
B
U
U
A
A
I
I
E
M
P
P L
L
E
S
E
L
E
L
C
L
E
C
M
L
CLK
E
C
I
L
I
E
CLK
CLR
CLK
CLK
CLK
A
L
A
E
U
S
U
E
B
L
O
L
Bus W
E
C I
L
28. ::. MATA KULIAH MIKROPROSESSOR .::
28
Siklus Eksekusi < Execution Cycle >
Siklus pelaksanaan terjadi pada T4, T5 dan T6
Transfer-transfer register yang terjadi bergantung pada
Instruksi yang dieksekusi.
Rutin LDA
Jika IR telah diisi dengan LDA 9H, maka :
IR = 0000 1001
Selama T4 : medan instruksi dikirim ke pengendali yang
melakukan pendekodean dan medan alamat diisikan ke
dalam MAR
dan adalah bit aktif pada T4
I
E M
L
29. ::. MATA KULIAH MIKROPROSESSOR .::
29
Siklus Eksekusi < Execution Cycle >
Selama T5 : data yang ditunjuk dalam memori akan
dikirimkan ke dalam Akumulator.
dan adalah bit aktif pada T5
T6 adalah keadaan tanpa operasi (No-Operation / NOP)
Selama T6, semua register dalam keadaan tidak Aktif
E
C A
L
30. ::. MATA KULIAH MIKROPROSESSOR .::
30
Diagram Pewaktuan untuk Rutin LDA
CLK
T1 T2 T3 T4 T5 T6
M
L
p
C
E
C
I
L
I
E
A
L
p
E
31. ::. MATA KULIAH MIKROPROSESSOR .::
31
Siklus Eksekusi < Execution Cycle >
Rutin ADD
Jika akhir siklus Fetch IR berisi kata ADD AH, maka :
IR = 0001 1010
Selama T4 : medan instruksi dikirim ke pengendali yang
melakukan pendekodean dan medan alamat diisikan ke
dalam MAR
dan adalah bit aktif pada T4
I
E M
L
32. ::. MATA KULIAH MIKROPROSESSOR .::
32
Siklus Eksekusi < Execution Cycle >
Selama T5 : data yang ditunjuk dalam RAM disiapkan
untuk dikirimkan ke dalam Register B. Dan pengisian
Register B terjadi pada tepi positif clock
dan adalah bit aktif pada T5
Selama T6 : bagian Penjumlah-pengurang menyiapkan
Akumulator. Dan pengisian hasil jumlahan ke Akumulator
terjadi pada tepi positif clock.
dan adalah bit aktif pada T6
E
C B
L
U
E A
L
33. ::. MATA KULIAH MIKROPROSESSOR .::
33
Diagram Pewaktuan untuk Rutin ADD
CLK
T1 T2 T3 T4 T5 T6
M
L
p
C
E
C
I
L
I
E
p
E
A
L
B
L
U
E
34. ::. MATA KULIAH MIKROPROSESSOR .::
34
Diagram Pewaktuan untuk Rutin SUB
CLK
T1 T2 T3 T4 T5 T6
M
L
p
C
E
C
I
L
I
E
p
E
A
L
B
L
U
S
35. ::. MATA KULIAH MIKROPROSESSOR .::
35
Siklus Eksekusi < Execution Cycle >
Rutin OUT
Jika akhir siklus Fetch IR berisi kata OUT, maka :
IR = 1110 XXXX
Selama T4 : medan instruksi dikirim ke pengendali yang
melakukan pendekodean dan Pengendali mengeluarkan
kata kendali untuk memindahkan isi Akumulator ke register
Keluaran.
dan adalah bit aktif pada T4
Pada keadaan T5 dan T6 tidak terjadi Operasi (NOP)
A
E O
L
36. ::. MATA KULIAH MIKROPROSESSOR .::
36
Siklus Eksekusi < Execution Cycle >
Rutin HLT
Jika akhir siklus Fetch IR berisi kata HLT, maka :
IR = 1111 XXXX
Medan instruksi dikirim ke pengendali yang melakukan
pendekodean dan Pengendali mengeluarkan kata kendali
untuk menghentikan operasi komputer dengan
menghentikan clock.
Tidak membutuhkan rutin kendali.
37. ::. MATA KULIAH MIKROPROSESSOR .::
37
Siklus Mesin dan Siklus Instruksi
SAP-1 mempunyai Enam keadaan T (3 untuk Fetch dan
3 untuk Execute) ļ Siklus Mesin < Mc >
SAP-1 memerlukan 1 Siklus Mesin untuk mengambil
dan melaksanakan setiap instruksi.
SAP-1 dengan clock frekuensi KHz ekivalen dengan
periode 1 ms, maka 1 Siklus Mesin memerlukan waktu 6
ms.
Jumlah keadaan T yang diperlukan untuk mengambil
dan melaksanakan sebuah instruksi disebut Siklus Instruksi
(Instruction Cycle=Ic)
SAP-1 Ic = Mc
38. ::. MATA KULIAH MIKROPROSESSOR .::
38
MIKROPROGRAM SAP-1
Pengendali-pengurut mengeluarkan kata kendali yang
masing-masing menimbulkan satu langkah kecil disebut
MikroInstruksi
MakroInstruksi adalah Instruksi-instruksi yang digunakan
dalam pemrograman Assembly (LDA, ADD, SUB, dll)
Makro Keadaan CON yang Aktif
LDA T4 1A3H
T5 2C3H
T6 3E3H Tidak Ada
E
C
E
C
A
L
A
L
M
L I
E
39. ::. MATA KULIAH MIKROPROSESSOR .::
39
ROM KENDALI
Matrik kendali menjadi sangat rumit untuk perangkat
Instruksi yang lebih besar/banyak, sehingga memerlukan
ratusan/ribuan gerbang logikaļ Pengendali Secara H/W
Kata kendali yang disimpan dalam format mikroprogram
ke dalam ROM ļ Pengendali Secara S/W
Menyederhanakan rangkaian Pengendali-Pengurut.
E
CA
L
40. ::. MATA KULIAH MIKROPROSESSOR .::
40
ROM KENDALI
Alamat Isi Rutin Bit Aktif
0H 5E3H Fetch
1H BE3H
2H 263H
3H 1A3H LDA
4H 2C3H
5H 3E3H Tidak Ada
6H 1A3H ADD
7H 2E1H
8H 3CFH
E
C
E
C
A
L
A
L
M
L I
E
E
C I
L
M
L
p
E
p
C
E
C B
L
M
L I
E
A
L U
E