Anda di halaman 1dari 28

Mikroprosesor

Bab 2: Dasar-Dasar Mikroprosesor

Register, Sistem Kontrol, dan ALU Arsitektur Mikroprosesor Z-80 Sistem Pewaktuan Kelompok Instruksi

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.

Blok Diagram Mikroprosessor Z-80

Register
- 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
2

Register Mikroprosesor Z80


A
B D H

F
C E L

Akumulator dan Reg. Bendera


Register Serba Guna

IX
IY PC SP

Register untuk Pemakaian Khusus


R
F' C' E'

I
A' B' D'

Akumulator dan Reg. Bendera Register Serba Guna Pilihan


3

H' 8 bit

L'

Register Mikroprosesor Z80


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, BC, DE, dan HL.
4

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.
SF ZF YF HF XF PF NF CF

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

Register Bendera pada Z80


Sign Flag Bendera Sign akan diset 1 bila proses sebelumnya menghasilkan bilangan negatif pada ALU. Zero Flag Bendera Zero diset 1 bila operasi sebelumnya memberikan hasil nol pada ALU.
Substract Flag (N) Akan diset 1 bila dalam operasi sebelumnya adalah operasi pengurangan.

Register Bendera pada Z80


Carry Flag

Bendera carry akan diset (CF=1), jika operasi ALU menghasilkan carry. Contoh: 1 ---> carry 1010 1000 1000 1001 0011 0001 + isi Akumulator Isi TMP isi Akumulator setelah perintah penjumlahan dilaksanakan
7

Penjumlahan bit ke-7 menghasilkan carry sehingga CF=1

Register Bendera pada Z80


Paritas Flag 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

Register Bendera pada Z80


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

isi Akumulator + isi TMP isi Akumulator setelah perintah Penjumlahan bit ke-3 menghasilkan carry penjumlahan dilaksanakan sehingga AF=1

0010 1000 0000 1001 0011 0001

Register Mikroprosesor Z80


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. SP (Stack Pointer). Reg. 16 bit digunakan untuk menyimpan alamat tumpukan (stack). Stack adalah

2.

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

Register Mikroprosesor Z80


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. Refresh Register (Register Penyegar) merupakan Register 8 bit yang digunakan pada penyegaran data pada RAM dinamik
11

5.

Unit Aritmetika dan Logika (ALU)


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)
12

Arsitektur Mikroprosesor Z-80

13

Konfigurasi Pin pada Mikroprosesor Z80


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

Konfigurasi Pin pada Mikroprosesor Z80


- 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
13

Sistem Pewaktuan
Contoh Dasar Sistem Pewaktuan

Ex : LD r,r

Mcycles = 1; Tstates = 4
2

Sistem Pewaktuan
Pewaktuan Intruksi Pengambilan Opcode

Sistem Pewaktuan
Pewaktuan Pembacaan/Penulisan Memori

Sistem Pewaktuan
Pewaktuan Input/Output

Sistem Pewaktuan
Pewaktuan Interrupt Request/Acknowledge

Sistem Pewaktuan
Contoh Kasus :

LD B,C
I IR R
+1

T1

T2

T3

T4

T5

M1 T2 T3 T4 T5

Opcode Fetch M1 T1

Mp attende byte su DATA BUS alzando impedenza


Buffer

INTERNAL DATABUS 8 bit Multiplexer


d displacement byte

A W B D H
IX IY

F
Flags
S Sign Z Zero H Half-Carry P/V Parity/overfl. N Negate C Carry

Instruction Register Instruction Decoder


high

W B D H

Z C E L

Z C E L

Temp

Temp A

DATA BUS 8 Bit

hig low h I X

Arithmetic Logic Unit

Control Logic

+1
ADDRESS

I Y S P P C

low

+
BUS 16 bit Buffer

ADDRESS BUS 16 bit


Machine Cycle One Memory Request Input / Output Request Read Write Refresh Halt State Wait Interrupt Request Non-Maskable Interrupt Reset Bus Request Bus Acknowledge M1 MREQ IORQ RD WR RFSH HALT WAIT INT NMI RESET BUSRQ BUSACK

System Control
Buffer CPU Control CPU Bus Control

LD B,C
I IR R
+1

T1

T2

T3

T4

T5

M1 T2 T3 T4 T5

Opcode Fetch M1 T1

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


Buffer

INTERNAL DATABUS 8 bit Multiplexer


d displacement byte

A W B D H
IX IY

F
Flags
S Sign Z Zero H Half-Carry P/V Parity/overfl. N Negate C Carry

Instruction Register Instruction Decoder


high

W B D H

Z C E L

Z C E L

Temp

Temp A

DATA BUS 8 Bit

hig low h I X

Arithmetic Logic Unit

Control Logic

+1

I Y S P P C
ADDRESS

low

+
BUS 16 bit Buffer

ADDRESS BUS 16 bit


Machine Cycle One Memory Request Input / Output Request Read Write Refresh Halt State Wait Interrupt Request Non-Maskable Interrupt Reset Bus Request Bus Acknowledge M1 MREQ IORQ RD WR RFSH HALT WAIT INT NMI RESET BUSRQ BUSACK

System Control
Buffer CPU Control CPU Bus Control

LD B,C
I IR R
+1

T1

T2

T3

T4

T5

M1 T2 T3 T4 T5

Opcode Fetch M1 T1 INTERNAL

Istruzione da 1 byte in IR, Refresh memorie dinamiche


Buffer

DATABUS 8 bit

Multiplexer
d displacement byte

A W B D H
IX IY

F
Flags
S Sign Z Zero H Half-Carry P/V Parity/overfl. N Negate C Carry

Instruction Register Instruction Decoder


high

W B D H

Z C E L

Z C E L

Temp

Temp A

DATA BUS 8 Bit

hig low h I X

Arithmetic Logic Unit

Control Logic

+1
ADDRESS

I Y S P P C

low

+
BUS 16 bit Buffer

ADDRESS BUS 16 bit


Machine Cycle One Memory Request Input / Output Request Read Write Refresh Halt State Wait Interrupt Request Non-Maskable Interrupt Reset Bus Request Bus Acknowledge M1 MREQ IORQ RD WR RFSH HALT WAIT INT NMI RESET BUSRQ BUSACK

System Control
Buffer CPU Control CPU Bus Control

LD B,C
I IR R
+1

T1

T2

T3

T4

T5

M1 T2 T3 T4 T5

Opcode Fetch M1 T1 INTERNAL

registri B e C non sono in comunicazione diretta


Buffer

DATABUS 8 bit

Multiplexer
d displacement byte

A W B D H
IX IY

F
Flags
S Sign Z Zero H Half-Carry P/V Parity/overfl. N Negate C Carry

Instruction Register Instruction Decoder


high

W B D H

Z C E L

Z C E L

Temp

Temp A

DATA BUS 8 Bit

hig low h I X

Arithmetic Logic Unit

Control Logic

+1

I Y S P P C
ADDRESS

low

+
BUS 16 bit Buffer

ADDRESS BUS 16 bit


Machine Cycle One Memory Request Input / Output Request Read Write Refresh Halt State Wait Interrupt Request Non-Maskable Interrupt Reset Bus Request Bus Acknowledge M1 MREQ IORQ RD WR RFSH HALT WAIT INT NMI RESET BUSRQ BUSACK

System Control
Buffer CPU Control CPU Bus Control

LD B,C
I IR R
+1

T1

T2

T3

T4

T5

M1 T2 T3 T4 T5

Opcode Fetch M1 T1 INTERNAL

Pipelining! Comincia gia lettura istruzione successiva


Buffer

DATABUS 8 bit

Multiplexer
d displacement byte

A W B D H
IX IY

F
Flags
S Sign Z Zero H Half-Carry P/V Parity/overfl. N Negate C Carry

Instruction Register Instruction Decoder


high

W B D H

Z C E L

Z C E L

Temp

Temp A

DATA BUS 8 Bit

hig low h I X

Arithmetic Logic Unit

Control Logic

+1

I Y S P P C
ADDRESS

low

+
BUS 16 bit Buffer

ADDRESS BUS 16 bit


Machine Cycle One Memory Request Input / Output Request Read Write Refresh Halt State Wait Interrupt Request Non-Maskable Interrupt Reset Bus Request Bus Acknowledge M1 MREQ IORQ RD WR RFSH HALT WAIT INT NMI RESET BUSRQ BUSACK

System Control
Buffer CPU Control CPU Bus Control