Anda di halaman 1dari 28

Mikroprosesor

Bab 2: Dasar-Dasar Mikroprosesor

Register, Sistem Kontrol, 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 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
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

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 isi Akumulator
1000 1001 + Isi TMP
0011 0001 isi Akumulator
Penjumlahan bit ke-7
setelah perintah
menghasilkan carry penjumlahan
sehingga CF=1 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-3 Bit ke-0
Bit ke-7

0010 1000 isi Akumulator


0000 1001 + isi TMP
0011 0001 isi Akumulator
Penjumlahan bit ke-3
setelah perintah
menghasilkan carry penjumlahan
sehingga AF=1 dilaksanakan
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 T2 T3 T4 T5 M1 Mp attende byte su DATA
LD B,C Opcode Fetch M1 T1 T2 T3 T4 T5 BUS alzando impedenza

INTERNAL DATABUS 8 bit Buffer


I Multiplexer A’ A F F’

d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A

DATA BUS 8 Bit


Register D E D’ E’ - -
H L H’ L’ Arithmetic
H Half-Carry
Instruction - -
Decoder hig low  Logic P/V Parity/overfl.
h I X 
IX Unit N Negate
I Y 
IY C Carry
high

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

INTERNAL DATABUS 8 bit Buffer


I Multiplexer A’ A F F’

d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A

DATA BUS 8 Bit


Register D E D’ E’ - -
H L H’ L’ Arithmetic
H Half-Carry
Instruction - -
Decoder hig low  Logic P/V Parity/overfl.
h I X 
IX Unit N Negate
I Y 
IY C Carry
high

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

INTERNAL DATABUS 8 bit Buffer


I Multiplexer A’ A F F’

d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A

DATA BUS 8 Bit


Register D E D’ E’ - -
H L H’ L’ Arithmetic
H Half-Carry
Instruction - -
Decoder hig low  Logic P/V Parity/overfl.
h I X 
IX Unit N Negate
I Y 
IY C Carry
high

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

INTERNAL DATABUS 8 bit Buffer


I Multiplexer A’ A F F’

d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A

DATA BUS 8 Bit


Register D E D’ E’ - -
H L H’ L’ Arithmetic
H Half-Carry
Instruction - -
Decoder hig low  Logic P/V Parity/overfl.
h I X 
IX Unit N Negate
I Y 
IY C Carry
high

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

INTERNAL DATABUS 8 bit Buffer


I Multiplexer A’ A F F’

d displacement byte
R W Z W’ Z’ Flags
IR S Sign
Instruction B C B’ C’ Z Zero
+1 Temp Temp A

DATA BUS 8 Bit


Register D E D’ E’ - -
H L H’ L’ Arithmetic
H Half-Carry
Instruction - -
Decoder hig low  Logic P/V Parity/overfl.
h I X 
IX Unit N Negate
I Y 
IY C Carry
high

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

Anda mungkin juga menyukai