arsitektur sap-1

advertisement
::. MATA KULIAH MIKROPROSESSOR .::
[
:: SAP - 1 ::
TEORI, IMPLEMENTASI & APLIKASI
]
1
::. MATA KULIAH MIKROPROSESSOR .::
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.
2
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
SU
EU
8
8
B
8
8
4
O
LB
CLK
LO
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
4
EI
8
8
4
CLK
4
4
LM
ARSITEKTUR SAP-1
8
CLK
CLR
CLR
12
CON
CLK
CP EP LM CE LI EI LA E A SU EU LB LO
D
0000  Instruksi pertama
0001  Instruksi kedua
0010  Instruksi ketiga dst
3
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
CE
RAM
LI
CLK
CLR
8
IR
ADD
8
8
B
8
8
4
O
4
EI
4
8
CLK
CLK
CLR
CLR
12
CON
SU
EU
8
4
CLK
MAR
4
LM
CP EP LM CE LI EI LA E A SU EU LB LO
D
LB
ARSITEKTUR SAP-1
MAR < Memory Address
Register >
Register yang menyimpan
sementara alamat memori
untuk dikirimkan ke RAM
CLK
LO
CLK
•RAM <
Memory >
Random
Access
– TTL statik 16 x 8 untuk
menyimpan program dan
data.
– Menerima alamat 4 bit dari
MAR dan operasi membaca
dilakukan.
4
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
8
8
B
8
8
4
O
4
EI
8
8
CLK
CLK
CLR
CLR
D
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
8
4
CLK
4
4
LM
ARSITEKTUR SAP-1
CP EP LM CE LI EI LA E A SU EU LB LO
5
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
8
8
B
8
8
4
O
4
EI
8
8
CLK
CLK
CLR
CLR
D
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
8
4
CLK
4
4
LM
ARSITEKTUR SAP-1
CP EP LM CE LI EI LA E A SU EU LB LO
6
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
8
8
B
8
8
4
O
4
EI
8
SU
EU
8
4
CLK
4
4
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
Bila E tinggi, maka terus
menerus
menggerakkan
ADDER
A
8
CLK
CLR
CLR
D
12
CON
CLK
CP EP LM CE LI EI LA E A SU EU LB LO
7
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
8
8
B
8
8
4
O
4
EI
8
8
CLK
CLK
CLR
CLR
D
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 E tinggi, maka keluaran
penjumlah-pengurang muncul
pada bus W.
U
12
CON
SU
EU
8
4
CLK
4
4
LM
ARSITEKTUR SAP-1
CP EP LM CE LI EI LA E A SU EU LB LO
8
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
8
8
B
8
8
4
O
4
EI
8
8
CLK
CLK
CLR
CLR
12
CON
SU
EU
8
4
CLK
4
4
LM
CP EP LM CE LI EI LA E A SU EU LB LO
D
LB
CLK
ARSITEKTUR SAP-1
Register B
Buffer untuk operasi Aritmatik.
Bila LB rendah, maka kata
pada bus W diisikan ke register
B pada tepipositif clock.
Keluaran 2-state menjalankan
penjumlah-pengurang.
LO
CLK
Register Keluaran
Memindahkan jawaban pada
Acc ke keluaran
Bila E A tinggi dan LO rendah,
maka akan memasukkan isi A
pada register keluaran9 pada
tepi positif clock
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
MAR
CE
RAM
L
I
CLK
CLR
IR
ADD
SU
EU
8
8
B
8
8
4
O
Peraga Biner
Barisan
8
LED
untuk
menampilkan isi dari bandar
keluaran.
LB
CLK
LO
CLK
4
EI
8
8
4
CLK
4
4
LM
ARSITEKTUR SAP-1
8
CLK
CLR
CLR
D
12
CON
CLK
CP EP LM CE LI EI LA E A SU EU LB LO
10
::. 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 MNEMONIC
0H
LDA 9 H
1H
ADD AH
2H
ADD BH
3H
SUB CH
4H
OUT
5H
HLT
6H
FFH
7H
FFH
8H
FFH
9H
01H
AH
02H
BH
03H
CH
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 1111
= 0001 1110
= 1110 XXXX
= 1111 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
19
Source Program
Object Program
::. 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
Pencacah
T = 001 000
Putar
T = 010 000
T = 100 000
CLK
CLR
T6T5T4T3T2T1
21
::. MATA KULIAH MIKROPROSESSOR .::
Siklus Pengambilan < Fetch Cycle >
Diagram Pewaktuan
CLK
T1
T2
T3
T4
T5
T6
Tepi positif CLK terjadi pada pertengahan setiap keadaan T
22
::. MATA KULIAH MIKROPROSESSOR .::
Siklus Pengambilan < Fetch Cycle >
Keadaan alamat
Keadaan T1 : keadaan alamat, krn alamat didalam PC
dipindahkan ke MAR
E dan L merupakan bit-bit aktif sedangkan semua bit kendali
yang lain tidak aktif
p
M
CON  CP EP LM CE LI EI LA E A SU EU LB LO
0101 1110 0011
Keadaan Penambahan
Keadaan T2 : keadaan penambahan < Increment
karena hitungan pada PC ditingkatkan
C merupakan bit aktif pada keadaan T2
State >
p
23
::. MATA KULIAH MIKROPROSESSOR .::
Siklus Pengambilan < Fetch Cycle >
CON  CP EP LM CE 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
I
CON  CP EP LM CE LI EI LA E A SU EU LB LO
0010 0110 0011
24
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
CE
RAM
L
I
CLK
CLR
8
IR
ADD
SU
EU
8
8
B
8
8
4
O
LB
CLK
LO
CLK
4
EI
4
8
4
CLK
MAR
4
LM
Siklus Pengambilan <
Fetch Cycle >
Keadaan T1
8
CLK
CLR
CLR
D
12
CON
CLK
CP EP LM CE LI EI LA E A SU EU LB LO
25
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
CE
RAM
L
I
CLK
CLR
8
IR
ADD
SU
EU
8
8
B
8
8
4
O
LB
CLK
LO
CLK
4
EI
4
8
4
CLK
MAR
4
LM
Siklus Pengambilan <
Fetch Cycle >
Keadaan T2
8
CLK
CLR
CLR
D
12
CON
CLK
CP EP LM CE LI EI LA E A SU EU LB LO
26
::. MATA KULIAH MIKROPROSESSOR .::
Bus W
Cp
CLK
CLR
Ep
PC
8
4
8
L
A
A
CLK
EA
8
LM
CLK
MAR
4
8
ADD
SU
EU
Siklus Pengambilan <
Fetch Cycle >
Keadaan T3
Ketika C dan L aktif,
RAM siap mengirimkan
data yang ditunjukkan
oleh MAR ke bus W
pada saat yang sama IR
mengambilnya.
CE
4
RAM
L
I
CLK
CLR
8
8
B
8
8
4
O
4
EI
IR
8
4
E
LB
CLK
LO
CLK
I
8
CLK
CLR
CLR
D
12
CON
CLK
CP EP LM CE 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 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
28
E dan L adalah bit aktif pada T4
I
M
::. 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
A
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 medan alamat diisikan ke
dalam MAR
E dan L adalah bit aktif pada T4
I
M
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 clock.
E dan
L adalah bit aktif pada T6
E
U
B
A
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.
E dan L adalah bit aktif pada T4
Pada keadaan T5 dan T6 tidak terjadi Operasi (NOP)
A
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
L
E
T5
2C3H
C
L
T6
3E3H
Tidak
Ada
M
I
E
A
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 Pengendali-Pengurut.
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
CE
LA
Tidak Ada
ADD
LM
EI
CE
LB
LA
EU
40
::. MATA KULIAH MIKROPROSESSOR .::
::. Terima Kasih .::
41
Download