05-Dasar-Dasar Mikroprosesor.ppt
description
Transcript of 05-Dasar-Dasar Mikroprosesor.ppt
Mikroprosesor
Bab 2: Dasar-Dasar Mikroprosesor
Register, Sistem Kontrol, dan ALU
Arsitektur Mikroprosesor Z-80
Sistem PewaktuanKelompok 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 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
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
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’.
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
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
• 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
• 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
• 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
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.
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
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)
Arsitektur Mikroprosesor Z-80
13
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.
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
Sistem Pewaktuan
2
Contoh Dasar Sistem Pewaktuan
Ex : LD r,r’ Mcycles = 1; Tstates = 4
Sistem Pewaktuan
3
Pewaktuan Intruksi Pengambilan Opcode
Sistem Pewaktuan
2
Pewaktuan Pembacaan/Penulisan Memori
Sistem Pewaktuan
2
Pewaktuan Input/Output
Sistem Pewaktuan
2
Pewaktuan Interrupt Request/Acknowledge
Sistem Pewaktuan
2
Contoh Kasus :
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
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...
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
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
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