05-Dasar-Dasar Mikroprosesor.ppt

28
Mikroprosesor Bab 2: Dasar-Dasar Mikroprosesor Register, Sistem Kontrol, dan ALU Arsitektur Mikroprosesor Z-80 Sistem Pewaktuan Kelompok Instruksi 1

description

kuliah mikro

Transcript of 05-Dasar-Dasar Mikroprosesor.ppt

Page 1: 05-Dasar-Dasar Mikroprosesor.ppt

Mikroprosesor

Bab 2: Dasar-Dasar Mikroprosesor

Register, Sistem Kontrol, dan ALU

Arsitektur Mikroprosesor Z-80

Sistem PewaktuanKelompok Instruksi

1

Page 2: 05-Dasar-Dasar Mikroprosesor.ppt

Mikroprosessor Z-80

• Mikroprosessor z-80 awalnya dibuat oleh Zilog.inc ( Amerika Serikat ) dan merupakan salah satu mikroprosessor 8 bit yang dapat digunakan pada berbagai sistim mikrokomputer.

• Arsitektur dasar mikroprosessor z-80 terdiri dari tiga bagian utama, yaitu :– Register – register– Unit aritmatika dan Logika ( ALU )– Dekoder instruksi dan unit kendali.

Page 3: 05-Dasar-Dasar Mikroprosesor.ppt

Blok Diagram Mikroprosessor Z-80

Page 4: 05-Dasar-Dasar Mikroprosesor.ppt

- Register adalah kumpulan elemen-elemen memori yang bekerja bersama-sama sebagai satu unit.

- Bentuk paling sederhana adalah penyimpan kata biner

- Pada Z80 terdiri dari Register Serba Guna, Register untuk Pemakaian Khusus, Akumulator dan Register Bendera

Register

2

Page 5: 05-Dasar-Dasar Mikroprosesor.ppt

Register Mikroprosesor Z80

3

A F

B C

D E

H L

IX

IY

PC

SP

I R

A' F'

B' C'

D' E'

H' L'

Akumulator dan Reg. Bendera

Akumulator dan Reg. Bendera

Register Serba Guna

Register untuk Pemakaian Khusus

Register Serba Guna Pilihan

8 bit

Page 6: 05-Dasar-Dasar Mikroprosesor.ppt

Register Mikroprosesor Z80

4

Register Serba Guna (General Purpose Register)

1. Register Utama : 6 register 8 bit yaitu : B, C, D, E, H, dan L.

2. Register Pilihan : 6 register 8 bit yaitu :B’, C’, D’, E’, H’ dan L’.

Register ini dapat berdiri sendiri dan berpasangan, bila berpasangan menjadi

register 16 bit yaitu : BC, DE, HL, B’C’, D’E’, dan H’L’.

Page 7: 05-Dasar-Dasar Mikroprosesor.ppt

Register pada Z80

Akumulator dan Register Bendera• Akumulator (A) dan Akumulator Pilihan (A’) adalah

register 8 bit untuk menyimpan sementara salah satu data dalam operasi aritmetika atau logika.

• Register Bendera (F) dan Register Bendera Pilihan (F’) adalah register 8 bit untuk menyimpan bit-bit yang menyatakan kondisi hasil pelaksanaan operasi aritmetika/logika sebelumnya.

Terdapat 6 bit yang digunakan, yaitu : Sign Flag (S), Zero Flag (Z), Parity Flag (P), Substract Flag (N), Carry Flag (C), dan Auxiliary Carry Flag (H)

5

SF ZF YF HF XF PF NF CF

Page 8: 05-Dasar-Dasar Mikroprosesor.ppt

Register Bendera pada Z80

Sign FlagBendera Sign akan diset 1 bila proses sebelumnya

menghasilkan bilangan negatif pada ALU.

Zero FlagBendera Zero diset 1 bila operasi sebelumnya

memberikan hasil nol pada ALU.

Substract Flag (N)Akan diset 1 bila dalam operasi sebelumnya

adalah operasi pengurangan.

6

Page 9: 05-Dasar-Dasar Mikroprosesor.ppt

• Bendera carry akan diset (CF=1), jika operasi ALU menghasilkan carry. Contoh: 1 ---> carry

1010 1000 isi Akumulator 1000 1001 + Isi TMP 0011 0001 isi Akumulator

setelah perintah penjumlahan dilaksanakan

Penjumlahan bit ke-7

menghasilkan carry sehingga

CF=1 7

Carry Flag

Register Bendera pada Z80

Page 10: 05-Dasar-Dasar Mikroprosesor.ppt

• Bendera paritas (parity flag) akan diset (PF=1), jika pelaksanaan

perintah oleh ALU menghasilkan jumlah bit 1 genap dan reset

(PF=0) jika jumlah bit 1 ganjil. Contoh : Output ALU=01100011,

maka PF= 1 Output ALU=00101010, maka PF= 0

8

Register Bendera pada Z80

Paritas Flag

Page 11: 05-Dasar-Dasar Mikroprosesor.ppt

• Bendera AF (auxiliary carry flag) akan diset (HF=1), jika dalam penjumlahan, bit ke 3 menghasilkan carry. Contoh: Bit ke-3 Bit ke-0 Bit ke-7

9

0010 1000 isi Akumulator 0000 1001 + isi TMP 0011 0001 isi

Akumulator setelah perintah penjumlahan dilaksanakan

Penjumlahan bit ke-3 menghasilkan carry sehingga AF=1

Register Bendera pada Z80

Auxiliary Carry Flag

Page 12: 05-Dasar-Dasar Mikroprosesor.ppt

Register Mikroprosesor Z80

10

Register untuk Keperluan Khusus (Special Purpose Register)

1. PC (Pencacah Program). Reg. 16 bit digunakan untuk menyimpan alamat memori dari instruksi yang akan dikerjakan. Setiap kali isi PC dikeluarkan ke Bus Alamat maka isi PC bertambah 1 secara otomatis.

2. SP (Stack Pointer). Reg. 16 bit digunakan untuk menyimpan alamat tumpukan (stack). Stack adalah

3. Register Index (IX dan IY). Register 16 bit yang digunakan untuk menyimpan basis alamat memori atau dapat mengambil/menulis langsung ke memori.

Page 13: 05-Dasar-Dasar Mikroprosesor.ppt

Register Mikroprosesor Z80

11

Register untuk Keperluan Khusus (Special Purpose Register)

4. IR (Interupsi Register). Merupakan register 8 bit yang berfungsi menyimpan sementara byte bagian atas alamat daerah lokasi memori tertentu. Dimana byte bagian bawahnya disimpan pada chip peripheral khusus yang berada diluar mikroprosesor Z-80.

5. Refresh Register (Register Penyegar) merupakan Register 8 bit yang digunakan pada penyegaran data pada RAM dinamik

Page 14: 05-Dasar-Dasar Mikroprosesor.ppt

Unit Aritmetika dan Logika (ALU)

12

ALU pada Z-80 berfungsi melaksanakan operasi aritmetika dan Logika berikut :

Penjumlahan atau Pengurangan Logika AND, OR, atau EXOR Membandingkan dua buah data Menggeser bit ke kiri atau ke kanan Menambah/mengurangi dengan 1 Memeriksa keadaan logika bit data, apakah

dalam keadaan logika 0 atau 1. Menentukan bit data dalam logika 0 (reset bit)

atau logika 1 (set bit)

Page 15: 05-Dasar-Dasar Mikroprosesor.ppt

Arsitektur Mikroprosesor Z-80

13

Page 16: 05-Dasar-Dasar Mikroprosesor.ppt

Konfigurasi Pin pada Mikroprosesor Z80

13

-A0-A15. Sebagai Bus alamat mengeluarkan sinyal alamat ke unit memori atau I/O .

-D0-D7. Bus data dua arah 8 saluran

-M1. Menyatakan pengambilan kode operasi suatu instruksi dari memori.

-MREQ. Jika aktif, MP dapat melaksanakan operasi baca tulis pada memori.

-IORQ. Jika aktif, MP dapat melaksanakan operasi baca/tulis pada unit I/O.

-RD (Read). Jika aktif, MP sedang membaca data dari memori atau unit I/O.

-WR (Write). Jika aktif, MP sedang menulis data ke memori atau unit I/O.

Page 17: 05-Dasar-Dasar Mikroprosesor.ppt

Konfigurasi Pin pada Mikroprosesor Z80

13

- HALT. Jika aktif MP melaksanakan intruksi HALT secara perangkat lunak

-RFSH. Jika aktif, alamat bagian bawah (A0-A6) berisi alamat memori yang akan disegarkan.

-RESET. Jika aktif, Isi PC, Reg. Interupsi, Reg. Refresh dipaksa menjadi nol.

-WAIT. Dibangkitkan oleh unit memori atau unit I/O menandakan unit tersebut belum siap transfer data.

-BUSRQ. Berasal dari peralatan eksternal yg meminta MP agar bus alamat, bus data, bus kontrol dibuat menjadi keadaan impedansi tinggi.

-BUSAK. Aktif bila BUSRQ disetujui

-INT. Tanda agar MP melakukan program pelayanan interupsi.

-NMI. Hampir sama dengan INT tapi prioritasnya lebih tinggi dari INT.

-Clock. Berasal dr rangkaian osilator eksternal dimaksudkan untuk mengatur urutan waktu operasi mikroprosesor Z-80.

-Vcc dan GND. Untuk catu daya = +5 Volt. GND = 0 V

Page 18: 05-Dasar-Dasar Mikroprosesor.ppt

Sistem Pewaktuan

2

Contoh Dasar Sistem Pewaktuan

Ex : LD r,r’ Mcycles = 1; Tstates = 4

Page 19: 05-Dasar-Dasar Mikroprosesor.ppt

Sistem Pewaktuan

3

Pewaktuan Intruksi Pengambilan Opcode

Page 20: 05-Dasar-Dasar Mikroprosesor.ppt

Sistem Pewaktuan

2

Pewaktuan Pembacaan/Penulisan Memori

Page 21: 05-Dasar-Dasar Mikroprosesor.ppt

Sistem Pewaktuan

2

Pewaktuan Input/Output

Page 22: 05-Dasar-Dasar Mikroprosesor.ppt

Sistem Pewaktuan

2

Pewaktuan Interrupt Request/Acknowledge

Page 23: 05-Dasar-Dasar Mikroprosesor.ppt

Sistem Pewaktuan

2

Contoh Kasus :

Page 24: 05-Dasar-Dasar Mikroprosesor.ppt

W’B’

H’D’

Z’C’

L’E’

ADDRESS

WB

HD

ControlLogic

InstructionDecoder

IRInstructionRegister

d d

ispla

cem

ent b

yte

IX

A F’F

Temp

+

BUS 16 bit

INTERNAL DATABUS 8 bit

Multiplexer

Buffer

Temp A

Buffer

CPU Bus Control

CPU Control

System Control

Bus Request BUSRQBus Acknowledge BUSACK

Halt State HALTWait WAIT

Interrupt Request INTNon-Maskable Interrupt NMI

Reset RESET

Machine Cycle One M1Memory Request MREQ

Input / Output Request IORQRead RDWrite WR

Refresh RFSH

A’

ArithmeticLogic Unit

IY

ZC

LE

I

RS

Z

-

H

-

P/V

N

C

Sign

Zero

-

Half-Carry

-

Parity/overfl.

Negate

Carry

high

lowI XI Y

S PP C

+1

Flags

T1 T2 T3 T4 M1

T1 T2 T3Opcode Fetch T4

ADDRESS BUS 16 bit

Buffer

T5M1

T5D

ATA

BU

S 8

Bit

low

hig

h

+1

LD B,C Mp attende byte su DATABUS alzando impedenza

Page 25: 05-Dasar-Dasar Mikroprosesor.ppt

W’B’

H’D’

Z’C’

L’E’

ADDRESS

WB

HD

ControlLogic

InstructionDecoder

IRInstructionRegister

d d

ispla

cem

ent b

yte

IX

A F’F

Temp

+

BUS 16 bit

INTERNAL DATABUS 8 bit

Multiplexer

Buffer

Temp A

Buffer

CPU Bus Control

CPU Control

System Control

Bus Request BUSRQBus Acknowledge BUSACK

Halt State HALTWait WAIT

Interrupt Request INTNon-Maskable Interrupt NMI

Reset RESET

Machine Cycle One M1Memory Request MREQ

Input / Output Request IORQRead RDWrite WR

Refresh RFSH

A’

ArithmeticLogic Unit

IY

ZC

LE

I

R

LD B,C

S

Z

-

H

-

P/V

N

C

Sign

Zero

-

Half-Carry

-

Parity/overfl.

Negate

Carry

high

lowI XI Y

S PP C

+1

Flags

T1 T2 T3 T4 M1

T1 T2 T3Opcode Fetch T4

ADDRESS BUS 16 bit

Buffer

T5M1

T5D

ATA

BU

S 8

Bit

low

hig

h

+1

La memoria e’ lenta!...incremento PC...

Page 26: 05-Dasar-Dasar Mikroprosesor.ppt

W’B’

H’D’

Z’C’

L’E’

ADDRESS

WB

HD

ControlLogic

InstructionDecoder

IRInstructionRegister

d d

ispla

cem

ent b

yte

IX

A F’F

Temp

+

BUS 16 bit

DATABUS 8 bit

Multiplexer

Buffer

Temp A

Buffer

CPU Bus Control

CPU Control

System Control

Bus Request BUSRQBus Acknowledge BUSACK

Halt State HALTWait WAIT

Interrupt Request INTNon-Maskable Interrupt NMI

Reset RESET

Machine Cycle One M1Memory Request MREQ

Input / Output Request IORQRead RDWrite WR

Refresh RFSH

A’

ArithmeticLogic Unit

IY

ZC

LE

I

R

LD B,C

S

Z

-

H

-

P/V

N

C

Sign

Zero

-

Half-Carry

-

Parity/overfl.

Negate

Carry

high

lowI XI Y

S PP C

+1

Flags

T1 T2 T3 T4 M1

T1 T2 T3Opcode Fetch T4

ADDRESS BUS 16 bit

Buffer

T5M1

T5D

ATA

BU

S 8

Bit

low

hig

h

+1

INTERNAL

Istruzione da 1 byte in IR,Refresh memorie dinamiche

Page 27: 05-Dasar-Dasar Mikroprosesor.ppt

W’B’

H’D’

Z’C’

L’E’

ADDRESS

WB

HD

ControlLogic

InstructionDecoder

IRInstructionRegister

d d

ispla

cem

ent b

yte

IX

A F’F

Temp

+

BUS 16 bit

DATABUS 8 bit

Multiplexer

Buffer

Temp A

Buffer

CPU Bus Control

CPU Control

System Control

Bus Request BUSRQBus Acknowledge BUSACK

Halt State HALTWait WAIT

Interrupt Request INTNon-Maskable Interrupt NMI

Reset RESET

Machine Cycle One M1Memory Request MREQ

Input / Output Request IORQRead RDWrite WR

Refresh RFSH

A’

ArithmeticLogic Unit

IY

ZC

LE

I

RS

Z

-

H

-

P/V

N

C

Sign

Zero

-

Half-Carry

-

Parity/overfl.

Negate

Carry

high

lowI XI Y

S PP C

+1

Flags

ADDRESS BUS 16 bit

Buffer

DA

TA

BU

S 8

Bit

low

hig

h

+1

INTERNAL

LD B,CT1 T2 T3 T4 M1

T1 T2 T3Opcode Fetch T4 T5M1

T5 registri B e C non sonoin comunicazione diretta

Page 28: 05-Dasar-Dasar Mikroprosesor.ppt

W’B’

H’D’

Z’C’

L’E’

ADDRESS

WB

HD

ControlLogic

InstructionDecoder

IRInstructionRegister

d d

ispla

cem

ent b

yte

IX

A F’F

Temp

+

BUS 16 bit

DATABUS 8 bit

Multiplexer

Buffer

Temp A

Buffer

CPU Bus Control

CPU Control

System Control

Bus Request BUSRQBus Acknowledge BUSACK

Halt State HALTWait WAIT

Interrupt Request INTNon-Maskable Interrupt NMI

Reset RESET

Machine Cycle One M1Memory Request MREQ

Input / Output Request IORQRead RDWrite WR

Refresh RFSH

A’

ArithmeticLogic Unit

IY

ZC

LE

I

RS

Z

-

H

-

P/V

N

C

Sign

Zero

-

Half-Carry

-

Parity/overfl.

Negate

Carry

high

lowI XI Y

S PP C

+1

Flags

ADDRESS BUS 16 bit

Buffer

DA

TA

BU

S 8

Bit

low

hig

h

+1

INTERNAL

LD B,CT1 T2 T3 T4 M1

T1 T2 T3Opcode Fetch T4 T5M1

T5 Pipelining! Comincia gia’lettura istruzione successiva