Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | mechelle-gonzales |
View: | 52 times |
Download: | 5 times |
1
::. MATA KULIAH MIKROPROSESSOR .::
:: SAP - 2 ::
TEORI, IMPLEMENTASI & APLIKASI[ ]
2
::. MATA KULIAH MIKROPROSESSOR .::
SAP - 2< Evolusi ke Komputer Modern >
Arsitektur lebih lengkap dibanding SAP-1
Instruksi lebih banyak termasuk jump (Lompat)
Menggunakan Register dua ArahLOADCLK
Enable
BUS
3
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2PC < Program Counter >
Memiliki saluran 16-bit PC=0000 0000 0000 0000Sampai :PC=1111 1111 1111 1111
AtauPC=0000 H – FFFF H
Instruksi selalu mulai : 0000 H
0000 H Instruksi pertama0001 H Instruksi kedua0002 H Instruksi ketiga dst
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
4
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2MAR & Memori
Menerima alamat 16-bitKeluaran 2-state ke memori
ROM 2KB berisi program Monitor Inisialisasi saat dinyalakan
ROM
RAM
0000 H
07FF H0800 H
FFFF H
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
5
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2
MDR<Memory Data Register>
Keluaran MDR aktifkan RAM.Menerima data dari bus, sblm operasi menulis ke RAMMengirim data ke bus, stlh operasi membaca dari RAM
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
6
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2
Register Instruksi < IR >IR 8-bit mampu menampung 2^8 = 256 Instruksi.SAP-2 hanya 42 InstruksiKompatibel dengan 8080 / 8085
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
7
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2Pengendali-Pengurut
Menghasilkan kata kendali atau mikroinstruksiSAP-2 lebih banyak Instruksi, pengendalilebih rumit.Kata CON lebih panjang
AkumulatorRegister 2 Arah Keluaran 3-state ke bus WTerus menerus menggerakkan ALU
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
8
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2ALU & FLAG
SAP-2 mengandung operasi Aritmatik & Logika
FLAGUntuk mengawasi / mengikuti perubahan keadaan selama beroperasi.Sign Flag : aktif bila A berubah menjadi negatifZero Flag : aktif bila A menjadi nol.
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
9
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2Register TMP, B dan C
TMP : pengganti register BRegister B dan C berfungsi sama untuk menyimpan data sementara selama operasi dilakukan.
Input PortSAP-2 mempunyai 2 Input Port.Encoder keyboard Hexa ke Input Port 1Serial data ke Input Port 2 line 7
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
10
::. MATA KULIAH MIKROPROSESSOR .::
ARSITEKTUR SAP-2
Output PortMempunyai 2 Output PortOutput Port 3 ke Peraga HexaOutput Port 4 ke Serial Out line 0
Encoder Hexa
In Port 1
In Port 2
PC
MAR
A
ALU
TEMP
B
C
8
8 8
88
16
Bus W
Memori
MDR
IR
CON
Out Port 3
Out Port 4
16
8
8
8
8
8
16
8
8
8
8
8
8
Hexa Disp
Flag
8
2
Serial In
Ack
0
7Ready
Serial Out
Ack
0
7
11
::. 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 Contoh : LDA 2000H ; /* Isikan Akumulator dengan isi alamat
2000H */
STA < Store Accumulator >Simpan Isi Akumulator ke lokasi memori yang ditunjukContoh : STA 7FFFH ; /* Simpan Isi Akumulator ke alamat 7FFFH
*/
OperanOperasi
12
::. MATA KULIAH MIKROPROSESSOR .::
Perangkat Instruksi < Instruction Set >MVI < Move immediate >Pindahkan SegeraMengisi Register dengan bilangan yang mengikutinya
Contoh : MVI A, 37H ; /* Isikan Akumulator dengan bilangan 37H */Jika eksekusi perintah ini, maka :
A =0011 0111Format Instruksi :
MVI A, byteMVI B, byteMVI C, byte
13
::. MATA KULIAH MIKROPROSESSOR .::
ADD BADD CANA BANA CANI byteCALL alamatCMADCR ADCR BDCR CHLTIN byteINR AINR BINR CJM alamatJMP alamatJNZ alamatJZ alamatLDA alamatMOV A,BMOV A,C
8081A0A1E6CD2F3D050D76DB3C040CFAC3C2CA3A7879
MOV B,AMOV B,CMOV C,AMOV C,BMVI A, byteMVI B, byteMVI C, byteNOPORA BORA CORI byteOUT byteRALRARRETSTA alamatSUB BSUB CXRA BXRA CXRI byte
47414F483E060E00B0B1F6D3171FC9329091A8A9EE
INSTRUKSI INSTRUKSIOP CODE OP CODE
14
::. MATA KULIAH MIKROPROSESSOR .::
Perangkat Instruksi < Instruction Set >Contoh : Bahasa Mesin 8080/8085
AlamatIsi Mnemonik Jumlah
2000H 3EH MVI A, 49H 2-byte
2001H 49H
2002H 06H MVI B, 4AH 2-byte
2003H 4AH
2004H 0EH MVI C, 4BH 2-byte
2005H 4BH
2005H 32H STA 6285H 3-byte
2006H 85H
2007H 62H
2009H 76H HLT 1-byte
15
::. MATA KULIAH MIKROPROSESSOR .::
Instruksi-Instruksi Register MRI=Memory Reference Instruction Lebih lambat
karena memerlukan lebih dari 1 operasi akses memori.
Sedangkan Instruksi Register memindahkan data dari Register ke Register yang lain
MOV
Memindahkan data dari satu register ke register yang lain.
Contoh : MOV A, B. /* Pindahkan data dalam Register B ke Akumulator */
16
::. MATA KULIAH MIKROPROSESSOR .::
Instruksi-Instruksi Register ADDTambahkan isi Register dengan Isi AkumulatorContoh : ADD BJika : A = 04 H dan B = 02 H, maka eksekusi ADD B
menghasilkan : A = 06 H
SUBKurangkan isi Register dengan Isi AkumulatorJika : C = 03 H, maka eksekusi SUB C diperoleh
A = 03 H
17
::. MATA KULIAH MIKROPROSESSOR .::
Instruksi-Instruksi Register INRPenambahan isi Register dengan satu angka Contoh : INR BJika : B = 09 H, maka eksekusi INR B menghasilkan :
B = 0A HDCRPengurangan isi Register dengan satu angkaJika : C = 03 H, maka eksekusi DCR C diperoleh
C = 02 H
18
::. MATA KULIAH MIKROPROSESSOR .::
CONTOH :Tambahkan bilangan 25 dan 55, simpan hasilnya pada
lokasi memori 5000 H dan tambahkan hasilnya dengan 1, serta simpan di register B.
MVI A, 19 H ; Isikan Accumulator dengan 25 MVI B, 37 H ; Isikan Register B dengan 55ADD B ; Tambahkan Register B dengan AccSTA 5000H ; Simpan Acc pada alamat 5000HINR A ; Tambahkan Isi Acc dengan 1MOV B,A ; Simpan Isi Acc pada Register BHLT ; Berhenti
19
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI JUMP DAN CALL :JMP
Mengambil Instruksi berikutnya pada Alamat yang ditunjukSelalu diikuti Alamat yang diisikan ke Pencacah Program Tanpa syarat
JMJump if Minus < Lompat ke Alamat yang ditunjuk Jika A
bernilai Minus >SAP-2 mempunyai Zero Flag (Z) dan Sign Flag (S)S = 0 jika A >= 0 dan S = 1 jika A < 0Lompat dengan Syarat jika S = 1
20
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI JUMP DAN CALL :JZ
Jump if Zero < lompat ke Alamat yang ditunjuk Jika A bernilai Nol >Z = 1 jika A = 0 dan Z = 0 jika A~= 0Lompat dengan Syarat Z = 1
JNZJump if Not Zero < Lompat ke Alamat yang ditunjuk Jika
A tidak sama dengan Nol >Lompat dengan Syarat jika Z = 0
21
::. MATA KULIAH MIKROPROSESSOR .::
ILUSTRASI :2000 H -----------
-----------2005 H JMP 3000 H2006 H ----------- -----------
-----------3000 H -----------
-----------
ILUSTRASI :2000 H -----------
-----------2005 H JM 3000 H2006 H ----------- -----------
-----------3000 H -----------
-----------
Tanpa Syarat Jika S = 1
22
::. MATA KULIAH MIKROPROSESSOR .::
ILUSTRASI :2000 H -----------
-----------2005 H JZ 3000 H2006 H ----------- -----------
-----------3000 H -----------
-----------
ILUSTRASI :2000 H -----------
-----------2005 H JNZ 3000 H2006 H ----------- -----------
-----------3000 H -----------
-----------
Jika Z = 1 Jika Z = 0
23
::. MATA KULIAH MIKROPROSESSOR .::
ILUSTRASI :2000 H -----------
-----------2005 H CALL 5000 H2006 H ----------- -----------
-----------5000 H -----------
----------- -----------
RET
ILUSTRASI : Alamat Isi Simbol
2000 H 0E H MVI C,03 H2001 H 03 H 2002 H 0D H DCR C2003 H CA H JZ 2009 H2004 H 09 H 2005 H 20 H2006 H C3 H JMP 2002H2007 H 02 H2008 H 20 H2009 H 76 H HLT
24
::. MATA KULIAH MIKROPROSESSOR .::
LOOP DAN LABEL :LOOP < Simpal >
Bagian dari Program yang diulang-ulangLihat Ilustrasi
LABELTanda bantu yang digunakan untuk instruksi lompat dan
panggilDiakhiri dengan : < titik dua >Terdiri dari 1 – 6 karakter, yang pertama selalau huruf.
25
::. MATA KULIAH MIKROPROSESSOR .::
ILUSTRASI : Label Mnemonik Komentar
MVI A,00 H ; Kosongkan AkumulatorMVI B,0C H ; Isikan desimal 12 ke BMVI C,08 H ; Preset C dengan 8
REPEAT : ADD B ; Tambahkan dengan 12DCR C ; Kurangi isi C dengan 1JZ DONE ; Lompat ke DONEJMP REPEAT; Ulangi / Lompat
DONE: HLT ; Berhenti
26
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI LOGIKA :CMA
Complement the Accumulator < Komplemenkan isi Akumulator >Melakukan komplemen-1 pada Isi Akumulator
ANAAND-kan Isi Akumulator dengan isi Register tertentuContoh : ANA B ; AND-kan Isi Akumulator dengan isi Register BJika : A = 1110 1010 B = 1000 0101Maka Eksekusi dari ANA B menghasilkan :
A = 1000 0000
27
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI LOGIKA :ORA
OR –kan Isi Akumulator dengan Isi Register tertentuJika : A = 1110 1010 B = 1000 0101 ; maka Eksekusi ORA B menghasilkan :
A = 1110 1111
•XRA– XOR-kan Isi Akumulator dengan isi Register tertentu– Contoh : XRA B ; AND-kan Isi Akumulator dengan isi Register B– Jika : A = 1110 1010– B = 1000 0101 ; Maka Eksekusi XRA B menghasilkan :
A = 0110 1111
28
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI LOGIKA :ANI
AND –kan segera Isi Akumulator dengan Byte tertentuJika : A = 1110 1010, Maka Eksekusi ANI C7 H menghasilkan :
= 1100 0111 < C7 H > A = 1100 0010
•ORIOR-kan Segera Isi Akumulator dengan Byte tertentuEksekusi ORI C7 H menghasilkan : A = 1100 0111
XRIXOR-kan Segera Isi Akumulator dengan Byte Tertentu
29
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI LAINNYA :NOP
No Operation ( tidak ada oprasi )Untuk pengaturan waktu atau Waktu tundaJika 1 NOP = 4 T, maka 100 NOP menunggu 400 T
INInstruksi untuk memberi masukan Memindahkan data dari Input Port ke AkumulatorContoh : IN 02 H ; Memindahkan data dari Port 2 ke Akumulator
OUTMemindahkan Isi Akumulator ke Output PortContoh : OUT 03 H ; Pindahkan Isi Akumulator ke Output Port 3
30
::. MATA KULIAH MIKROPROSESSOR .::
INSTRUKSI LAINNYA :RAL
Rotate the Accumulator Left < Putar akumulator ke kiri >
RARRotate the Accumulator Right < Putar akumulator ke
kanan >Jika A = 0100 1001, maka Eksekusi :RAL A = 1001 0010RAR A = 1010 0100
MSB LSB MSB LSB
31
::. MATA KULIAH MIKROPROSESSOR .::
ILUSTRASI : Label Mnemonik Waktu
MVI A,00 H ; 1 x 7 x TMVI B,0C H ; 1 x 7 x TMVI C,08 H ; 1 x 7 x T
REPEAT : ADD B ; 4 x 8 x TDCR C ; 4 x 8 x TJZ DONE ; 7 x 7 x T (tanpa Lompatan); 10 x 1 x T (dengan Lompatan) JMP REPEAT; 10 x 7 x T (dengan Lompatan)
DONE: HLT ; 5 x 1 x T
32
::. MATA KULIAH MIKROPROSESSOR .::
::. Terima Kasih .::