05 Dasar Dasar Mikroprosesor
05 Dasar Dasar Mikroprosesor
1
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
A F
Akumulator dan Reg. Bendera
B C
D E Register Serba Guna
H L
IX
IY
Register untuk
PC
Pemakaian Khusus
SP
I R
A' F' Akumulator dan Reg. Bendera
B' C'
D' E' Register Serba Guna
H' L' Pilihan
8 bit 3
Register Mikroprosesor Z80
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
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.
6
Register Bendera pada Z80
Carry Flag
8
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-3 Bit ke-0
Bit ke-7
11
Unit Aritmetika dan Logika
(ALU)
ALU pada Z-80 berfungsi melaksanakan operasi aritmetika
dan Logika berikut :
13
Konfigurasi Pin pada Mikroprosesor Z80
13
Konfigurasi Pin pada Mikroprosesor Z80
2
Sistem Pewaktuan
Pewaktuan Intruksi Pengambilan Opcode
3
Sistem Pewaktuan
Pewaktuan Pembacaan/Penulisan Memori
2
Sistem Pewaktuan
Pewaktuan Input/Output
2
Sistem Pewaktuan
Pewaktuan Interrupt Request/Acknowledge
2
Sistem Pewaktuan
Contoh Kasus :
2
T1 T2 T3 T4 T5 M1 Mp attende byte su DATA
LD B,C Opcode Fetch M1 T1 T2 T3 T4 T5 BUS alzando impedenza
d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A
low
Control
Logic
S P +
+1 ADDRESS BUS 16 bit
P C
Machine Cycle One M1
Memory Request MREQ
ADDRESS BUS 16 bit Buffer Input / Output Request IORQ
Read RD
Write WR
System Control Refresh RFSH
Halt State HALT
Wait WAIT
Buffer CPU Control Interrupt Request INT
Non-Maskable Interrupt NMI
Reset RESET
Bus Request BUSRQ
CPU Bus Control Bus Acknowledge BUSACK
T1 T2 T3 T4 T5 M1 La memoria e’ lenta!
LD B,C Opcode Fetch M1 T1 T2 T3 T4 T5 ...incremento PC...
d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A
low
Control
Logic
S P +
+1 ADDRESS BUS 16 bit
P C
Machine Cycle One M1
Memory Request MREQ
ADDRESS BUS 16 bit Buffer Input / Output Request IORQ
Read RD
Write WR
System Control Refresh RFSH
Halt State HALT
Wait WAIT
Buffer CPU Control Interrupt Request INT
Non-Maskable Interrupt NMI
Reset RESET
Bus Request BUSRQ
CPU Bus Control Bus Acknowledge BUSACK
T1 T2 T3 T4 T5 M1 Istruzione da 1 byte in IR,
LD B,C Opcode Fetch M1 T1 T2 T3 T4 T5 Refresh memorie dinamiche
d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A
low
Control
Logic
S P +
+1 ADDRESS BUS 16 bit
P C
Machine Cycle One M1
Memory Request MREQ
ADDRESS BUS 16 bit Buffer Input / Output Request IORQ
Read RD
Write WR
System Control Refresh RFSH
Halt State HALT
Wait WAIT
Buffer CPU Control Interrupt Request INT
Non-Maskable Interrupt NMI
Reset RESET
Bus Request BUSRQ
CPU Bus Control Bus Acknowledge BUSACK
T1 T2 T3 T4 T5 M1 registri B e C non sono
LD B,C Opcode Fetch M1 T1 T2 T3 T4 T5 in comunicazione diretta
d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A
low
Control
Logic
S P +
+1 ADDRESS BUS 16 bit
P C
Machine Cycle One M1
Memory Request MREQ
ADDRESS BUS 16 bit Buffer Input / Output Request IORQ
Read RD
Write WR
System Control Refresh RFSH
Halt State HALT
Wait WAIT
Buffer CPU Control Interrupt Request INT
Non-Maskable Interrupt NMI
Reset RESET
Bus Request BUSRQ
CPU Bus Control Bus Acknowledge BUSACK
T1 T2 T3 T4 T5 M1 Pipelining! Comincia gia’
LD B,C Opcode Fetch M1 T1 T2 T3 T4 T5 lettura istruzione successiva
d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A
low
Control
Logic
S P +
+1 ADDRESS BUS 16 bit
P C
Machine Cycle One M1
Memory Request MREQ
ADDRESS BUS 16 bit Buffer Input / Output Request IORQ
Read RD
Write WR
System Control Refresh RFSH
Halt State HALT
Wait WAIT
Buffer CPU Control Interrupt Request INT
Non-Maskable Interrupt NMI
Reset RESET
Bus Request BUSRQ
CPU Bus Control Bus Acknowledge BUSACK