Mikroprosesor Bab 2: Dasar-Dasar Mikroprosesor
Register, Register, Sistem Kontrol, K ontrol, dan ALU Arsitektur Mikroprosesor Z-80 Sistem Pewaktuan Kelompok Instruksi
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 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
F
B
C
D
E
H
L
Akumulator dan Reg. Bendera Register Serba Guna
IX IY
Register untuk Pemakaian Khusus
PC SP I
R
A'
F'
B'
C'
D'
E'
H' 8 bit
L'
Akumulator dan Reg. Bendera Register Serba Guna Pilihan 3
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, B’C’, D’E’, dan H’L’. 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.
6
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
+
Penjumlahan bit ke-7 menghasilkan carry sehingga CF=1
isi Akumulator Isi TMP isi Akumulator setelah perintah penjumlahan dilaksanakan 7
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
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-7
Bit ke-3
0010 1000 0000 1001 0011 0001
Bit ke-0 isi Akumulator +
isi TMP
isi Akumulator setelah perintah Penjumlahan bit ke-3 menghasilkan carry penjumlahan dilaksanakan sehingga AF=1
9
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.
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. 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.
5.
Refresh Register (Register Penyegar) merupakan Register 8 bit yang digunakan pada penyegaran data pada RAM dinamik 11
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
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
LD B,C
T2
T3
T4
T5
Opcode Fetch
M1
T1
M1
T2
T3
T4
Mp attende byte su DATA BUS alzando impedenza
T5
INTERNAL DATABUS 8 bit
I
Instruction Register
W B D H
+1
Instruction Decoder
Control Logic
Z C E L
W’ B’ D’ H’
+1 ADDRESS
d i s p l a c e m e n t b y t e
Temp
Temp A
Arithmetic Logic
BUS 16 bit
CPU Bus Control
S
Sign
Z
Zero
-
-
H
Half-Carry
-
-
P/V Parity/overfl.
Unit
+
CPU Control
F’ Flags
IY
System Control Buffer
Z’ C’ E’ L’
IX
I Y S P P C
l o w
F
d
hig low h I X h i g h
A
A’
Multiplexer
R
IR
Buffer
N
Negate
C
Carry
ADDRESS BUS 16 bit Buffer
Machine Cycle One Memory Request Input / Output Request Read Write Refresh
M1 MREQ IORQ RD WR RFSH
Halt State Wait Interrupt Request Non-Maskable Interrupt Reset
HALT WAIT INT NMI RESET
Bus Request
BUSRQ
D A T A B U S 8 B i t
T1
LD B,C
T2
T3
T4
T5
Opcode Fetch
M1
T1
M1
T2
T3
T4
La memoria e’ lenta! ...incremento PC...
T5
INTERNAL DATABUS 8 bit
I
Instruction Register
W B D H
+1
Instruction Decoder
Control Logic
Z C E L
W’ B’ D’ H’
l o w
+1
d i s p l a c e m e n t b y t e
Temp
Temp A
Arithmetic Logic
BUS 16 bit
CPU Bus Control
S
Sign
Z
Zero
-
-
H
Half-Carry
-
-
P/V Parity/overfl.
Unit
+
CPU Control
F’ Flags
IY
System Control Buffer
Z’ C’ E’ L’
IX
I Y S P P C ADDRESS
F
d
hig low h I X h i g h
A
A’
Multiplexer
R
IR
Buffer
N
Negate
C
Carry
ADDRESS BUS 16 bit Buffer
Machine Cycle One Memory Request Input / Output Request Read Write Refresh
M1 MREQ IORQ RD WR RFSH
Halt State Wait Interrupt Request Non-Maskable Interrupt Reset
HALT WAIT INT NMI RESET
Bus Request
BUSRQ
D A T A B U S 8 B i t
T1
LD B,C
T2
T3
T4
T5
Opcode Fetch
M1
T1
INTERNAL
I
Instruction Register
W B D H
+1
Instruction Decoder
Control Logic
T4
W’ B’ D’ H’
Buffer
+1
A
F
Z’ C’ E’ L’
d i s p l a c e m e n t b y t e
Flags Temp
Temp A
Arithmetic Logic
IY
+ BUS 16 bit
CPU Control CPU Bus Control
S
Sign
Z
Zero
-
-
H
Half-Carry
-
-
P/V Parity/overfl.
Unit
IX
System Control
F’
d
I Y S P P C
l o w
T5
A’
Z C E L
ADDRESS
Buffer
T3
Istruzione da 1 byte in IR, Refresh memorie dinamiche
DATABUS 8 bit
hig low h I X h i g h
T2
Multiplexer
R
IR
M1
N
Negate
C
Carry
ADDRESS BUS 16 bit Buffer
Machine Cycle One Memory Request Input / Output Request Read Write Refresh
M1 MREQ IORQ RD WR RFSH
Halt State Wait Interrupt Request Non-Maskable Interrupt Reset
HALT WAIT INT NMI RESET
Bus Request
BUSRQ
D A T A B U S 8 B i t
T1
LD B,C
T2
T3
T4
T5
Opcode Fetch
M1
T1
INTERNAL
I
Instruction Register
W B D H
+1
Instruction Decoder
Control Logic
T4
l o w
+1
T5
Buffer
A
A’
Z C E L
W’ B’ D’ H’
F
Z’ C’ E’ L’
d i s p l a c e m e n t b y t e
Flags Temp
Temp A
Arithmetic Logic
IY
+ BUS 16 bit
CPU Control CPU Bus Control
S
Sign
Z
Zero
-
-
H
Half-Carry
-
-
P/V Parity/overfl.
Unit
IX
System Control
F’
d
I Y S P P C ADDRESS
Buffer
T3
registri B e C non sono in comunicazione diretta
DATABUS 8 bit
hig low h I X h i g h
T2
Multiplexer
R
IR
M1
N
Negate
C
Carry
ADDRESS BUS 16 bit Buffer
Machine Cycle One Memory Request Input / Output Request Read Write Refresh
M1 MREQ IORQ RD WR RFSH
Halt State Wait Interrupt Request Non-Maskable Interrupt Reset
HALT WAIT INT NMI RESET
Bus Request
BUSRQ
D A T A B U S 8 B i t
T1
LD B,C
T2
T3
T4
T5
Opcode Fetch
M1
T1
INTERNAL
I
Instruction Register
W B D H
+1
Instruction Decoder
Control Logic
T4
l o w
+1
T5
Buffer
A
A’
Z C E L
W’ B’ D’ H’
F
Z’ C’ E’ L’
d i s p l a c e m e n t b y t e
Flags Temp
Temp A
Arithmetic Logic
IY
+ BUS 16 bit
CPU Control CPU Bus Control
S
Sign
Z
Zero
-
-
H
Half-Carry
-
-
P/V Parity/overfl.
Unit
IX
System Control
F’
d
I Y S P P C ADDRESS
Buffer
T3
Pipelining! Comincia gia’ lettura istruzione successiva
DATABUS 8 bit
hig low h I X h i g h
T2
Multiplexer
R
IR
M1
N
Negate
C
Carry
ADDRESS BUS 16 bit Buffer
Machine Cycle One Memory Request Input / Output Request Read Write Refresh
M1 MREQ IORQ RD WR RFSH
Halt State Wait Interrupt Request Non-Maskable Interrupt Reset
HALT WAIT INT NMI RESET
Bus Request
BUSRQ
D A T A B U S 8 B i t