32
1 ::. MATA KULIAH MIKROPROSESSOR .:: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI [ ]

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

Embed Size (px)

DESCRIPTION

[. ]. :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI. SAP - 2< Evolusi ke Komputer Modern > Arsitektur lebih lengkap dibanding SAP-1 Instruksi lebih banyak termasuk jump (Lompat) Menggunakan Register dua Arah. LOAD. CLK. Enable. BUS. Bus W. Ack. 8. Encoder Hexa. A. 8. 8. Flag. - PowerPoint PPT Presentation

Citation preview

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

1

::. MATA KULIAH MIKROPROSESSOR .::

:: SAP - 2 ::

TEORI, IMPLEMENTASI & APLIKASI[ ]

Page 2: :: 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

Page 3: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 4: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 5: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 6: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 7: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 8: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 9: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 10: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 11: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 12: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 13: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 14: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 15: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 16: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 17: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 18: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 19: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 20: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 21: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 22: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 23: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 24: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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.

Page 25: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 26: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 27: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 28: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 29: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 30: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 31: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

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

Page 32: :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

32

::. MATA KULIAH MIKROPROSESSOR .::

::. Terima Kasih .::