Anda di halaman 1dari 41

::. MATA KULIAH MIKROPROSESSOR .

::

:: SAP - 1 ::
TEORI, IMPLEMENTASI & APLIKASI

]
1

::. MATA KULIAH MIKROPROSESSOR .::

Komputer
Possible >

SAP

<

Simple

As

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.

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM
IR

ADD
B

8
8

EI

CLK
CLK
CLR
CLR

LB
CLK

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

LO
CLK

0000 Instruksi pertama


0001 Instruksi kedua
0010 Instruksi ketiga dst

12

CON

SU
EU

CLK

LM

ARSITEKTUR SAP-1

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

MAR

A
CLK

EA

CE
L

I
CLK
CLR

IR

O
8

CLK

LB
CLK

CLK
CLR
CLR

Memory

Address

Register yang menyimpan


sementara alamat memori
untuk dikirimkan ke RAM

RAM < Random Access Memory


>

LO
CLK

TTL statik 16 x 8 untuk


menyimpan
program
dan
data.
Menerima alamat 4 bit dari
MAR dan operasi membaca
dilakukan.

12

CON

SU
EU

EI

RAM

ADD

MAR <
Register >

CLK

LM

ARSITEKTUR SAP-1

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM
IR

ADD
B

8
8

EI

CLK
CLK
CLR
CLR

LB
CLK

LO
CLK

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

12

CON

SU
EU

CLK

LM

ARSITEKTUR SAP-1

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM
IR

ADD
B

8
8

EI

CLK
CLK
CLR
CLR

LB
CLK

LO
CLK

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 >

12

CON

SU
EU

CLK

LM

ARSITEKTUR SAP-1

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM
IR

ADD
B

8
8

EI

SU
EU

CLK

LM

LB
CLK

LO
CLK

ARSITEKTUR SAP-1
Accumulator

Buffer yang menyimpan


jawaban
sementara
selama beroperasi.
Keluaran
2-state
ke
ADDER
Keluaran 3-state ke Bus
W
EA
Bila
tinggi, maka terus
menerus menggerakkan
ADDER

CLK
CLR
CLR

12

CON

CLK

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM
IR

ADD
B

8
8

EI

CLK
CLK
CLR
CLR

LB
CLK

LO
CLK

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
E
penjumlah-pengurang
muncul pada bus W.
U

12

CON

SU
EU

CLK

LM

ARSITEKTUR SAP-1

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM

ADD
B

SU
EU

LB

Register B
Buffer untuk operasi Aritmatik.
Bila
rendah, maka kata pada bus
W diisikan
ke register B pada
LB
tepipositif clock.
Keluaran
2-state
menjalankan
penjumlah-pengurang.

CLK

Register Keluaran

IR

8
8

EI

CLK

LM

ARSITEKTUR SAP-1

CLK
CLR
CLR

CLK

Memindahkan jawaban pada Acc ke


keluaran
Bila
tinggi dan
rendah, maka
akan memasukkan isi A pada
register keluaran pada tepi positif
clock
EA
LO

12

CON

CLK

LO

CP EP LM C E LI EI LA E A SU EU LB LO

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

8
4
8

A
CLK

EA

MAR

CE
L

I
CLK
CLR

RAM
IR

ADD

SU
EU

8
8

Peraga Biner
Barisan 8 LED
menampilkan
isi
bandar keluaran.

LB
CLK

LO
CLK

EI

CLK

LM

ARSITEKTUR SAP-1

CLK
CLR
CLR

12

CON

CLK

CP EP LM C E LI EI LA E A SU EU LB LO

10

untuk
dari

::. MATA KULIAH MIKROPROSESSOR .::

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

11

::. MATA KULIAH MIKROPROSESSOR .::

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

12

::. MATA KULIAH MIKROPROSESSOR .::

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 */

13

::. MATA KULIAH MIKROPROSESSOR .::

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

14

::. MATA KULIAH MIKROPROSESSOR .::

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

15

::. MATA KULIAH MIKROPROSESSOR .::

Contoh :
Program SAP-1 dalam bentuk Mnemonic
ALAMAT
0H
1H
2H
3H
4H
5H
6H
7H
8H
9H
AH
BH
CH

MNEMONIC
LDA 9 H
ADD AH
ADD BH
SUB CH
OUT
HLT
FFH
FFH
FFH
01H
02H
03H
04H

16

::. MATA KULIAH MIKROPROSESSOR .::

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
0H
LDA FH
SUB
0010
1H
ADD EH
OUT
1110
2H
OUT
HLT
1111
3H
HLT

17

::. MATA KULIAH MIKROPROSESSOR .::

Pemrograman SAP-1
Contoh :
Alamat
Instruksi
0H
LDA FH
1H
ADD EH
2H
OUT
3H
HLT

=
=
=
=

0000
0001
1110
1111

1111
1110
XXXX
XXXX

Medan Alamat
Medan Instruksi

18

::. MATA KULIAH MIKROPROSESSOR .::

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
0H
LDA 9H
0000
0000 1001
1H
ADD AH
0001
0001 1010
2H
OUT 0010 1110 XXXX
3H
HLT 0011 1111 XXXX
Source Program
Object Program

19

::. MATA KULIAH MIKROPROSESSOR .::

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

20

::. MATA KULIAH MIKROPROSESSOR .::

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
CLK
Pencacah
T = 001 000
Putar
CLR
T = 010 000
T = 100 000
T6T5T4T3T2T1

21

::. MATA KULIAH MIKROPROSESSOR .::

Siklus Pengambilan < Fetch Cycle >


Diagram Pewaktuan
CLK
T1
T2
T3
T4
T5
Tepi positif CLK terjadi pada pertengahan setiap keadaan T

T6

22

::. MATA KULIAH MIKROPROSESSOR .::

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
LM
lainE ptidak aktif

CON C P E P LM C E LI EI LA E A SU EU LB LO

101 1110 0011


Keadaan0 Penambahan
Keadaan T2 : keadaan penambahan < Increment State > karena
hitungan pada PC ditingkatkan
merupakan bit aktif pada keadaan T2
Cp

23

::. MATA KULIAH MIKROPROSESSOR .::

Siklus Pengambilan < Fetch Cycle >


CON C P EP LM C E LI EI LA E A SU EU LB LO

1011 1110 0011

Keadaan Memori
Keadaan T3 : Keadaan memori krn instruksi pada RAM
dengan alamat yang ditunjuk dipindahkan dari memori
ke register instruksi
C
dan L merupakan bit-bit aktif pada keadaan ini.
E

CON C P EP LM C E LI EI LA E A SU EU LB LO

0010 0110 0011

24

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

MAR

A
CLK

EA

CE
L

I
CLK
CLR

IR

8
8

LB
CLK

LO
CLK

EI

RAM

ADD

SU
EU

CLK

LM

Siklus Pengambilan
< Fetch Cycle >
Keadaan T1

CLK
CLR
CLR

12

CON

CLK

CP EP LM C E LI EI LA E A SU EU LB LO

25

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

MAR

A
CLK

EA

CE
L

I
CLK
CLR

IR

8
8

LB
CLK

LO
CLK

EI

RAM

ADD

SU
EU

CLK

LM

Siklus Pengambilan
< Fetch Cycle >
Keadaan T2

CLK
CLR
CLR

12

CON

CLK

CP EP LM C E LI EI LA E A SU EU LB LO

26

::. MATA KULIAH MIKROPROSESSOR .::


Bus W
Cp
CLK
CLR
Ep

PC

MAR

A
CLK

EA

LM
CLK

ADD

SU
EU

Siklus Pengambilan
< Fetch Cycle >
Keadaan T3
L
Ketika C
dan
aktif,
RAM
siap
mengirimkan
data
yang ditunjukkan oleh
MAR ke bus W pada
saat yang sama IR
mengambilnya.

CE
L

I
CLK
CLR

IR

8
8

EI

RAM

CLK
CLR
CLR

CLK

LO
CLK

12

CON

CLK

LB

CP EP LM C E LI EI LA E A SU EU LB LO

27

::. MATA KULIAH MIKROPROSESSOR .::

Siklus Eksekusi < Execution Cycle >


Siklus pelaksanaan terjadi pada T4, T5 dan T6
Transfer-transfer register yang terjadi bergantung
Instruksi yang dieksekusi.

pada

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

EI

LM

28

::. MATA KULIAH MIKROPROSESSOR .::

Siklus Eksekusi < Execution Cycle >


Selama T5 : data yang ditunjuk dalam memori
akan dikirimkan ke dalam Akumulator.
C
dan L
adalah bit aktif pada T5
T6 adalah keadaan tanpa operasi (No-Operation /
NOP)
Selama T6, semua register dalam keadaan tidak
Aktif
E

29

::. MATA KULIAH MIKROPROSESSOR .::

Diagram Pewaktuan untuk Rutin LDA


T1

T2

T3

T4

T5

T6

CLK
Ep

LM
Cp
CE
LI
EI
LA

30

::. MATA KULIAH MIKROPROSESSOR .::

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
E
L
medan
alamat
diisikan ke dalam MAR
dan
adalah bit aktif pada T4
I

31

::. MATA KULIAH MIKROPROSESSOR .::

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
C
dan L adalah bit aktif pada T5
Selama T6 : bagian Penjumlah-pengurang
menyiapkan Akumulator. Dan pengisian hasil
jumlahan ke Akumulator terjadi pada tepi positif
E
L
clock.
dan
adalah bit aktif pada T6
E

32

::. MATA KULIAH MIKROPROSESSOR .::


Diagram Pewaktuan untuk Rutin ADD
T1

T2

T3

T4

T5

T6

CLK
Ep

LM
Cp
CE
LI
EI
LB
EU

LA

33

::. MATA KULIAH MIKROPROSESSOR .::


Diagram Pewaktuan untuk Rutin SUB
T1

T2

T3

T4

T5

T6

CLK
Ep

LM
Cp
CE
LI
EI
LB
SU
LA

34

::. MATA KULIAH MIKROPROSESSOR .::

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.
adalah bit aktif pada T4
E A dan L
Pada keadaan T5 dan T6 tidak terjadi Operasi (NOP)
O

35

::. MATA KULIAH MIKROPROSESSOR .::

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.

36

::. MATA KULIAH MIKROPROSESSOR .::

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

37

C
L AE

::. MATA KULIAH MIKROPROSESSOR .::

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
LM E I
T5
2C3H
LA
T6
3E3H C E Tidak
Ada

38

C
L AE

::. MATA KULIAH MIKROPROSESSOR .::

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
PengendaliPengurut.

39

C
L AE

::. MATA KULIAH MIKROPROSESSOR .::

ROM KENDALI
Alamat
Isi
0H
5E3H
1H
BE3H
2H
263H
3H
1A3H
4H
2C3H
5H
3E3H
6H
1A3H
7H
2E1H
8H
3CFH

Rutin
Fetch

Bit Aktif
Ep

LM

Cp

LDA

CE

LI

LM

EI

Tidak
C E Ada
LA
ADD
LM

EI

CE

LB

LA

EU

40

::. MATA KULIAH MIKROPROSESSOR .::

::. Terima Kasih .::

41