TEKNIK MIKROPROSESOR
136 Setiap siklus dalam state HALT merupakan siklus normal M1 fetch, kecuali
untuk penerimaan data dari memori diabaikan ignore dan instruksi NOP menekan secara internal ke CPU. Jadi sinyal HALT akan terus aktif selama
waktu ini sehingga prosesor menentukan dalam state HALT.
Gambar 3.14. Siklus Pelaksanaan Instruksi HALT
3.12. S
IKLUS
P
OWER
-D
OWN
A
CKNOWLEDGE
Pada saat input clock ke CPU terhenti, yaitu pada saat kondisi High atau pada kondisi Low maka CPU akan menghentikan operasinya dan pada kondisi ini
masih mempertahankan kondisi register dan sinyal kontrol. Berikut merupakan diagram waktu untuk siklus fungsi power-down, dimana instruksi HALT
dijalankan.
TEKNIK MIKROPROSESOR
137 Gambar 3.15. Siklus Power-Down Acknowledge
3.13. S
IKLUS
P
OWER
-D
OWN
R
ELEASE
Pada siklus ini sistem clock harus dijalankan terhadap CPU, dengan tujuan melepas release state power-down. Jadi ketika sistem clock diberikan pada
CPU maka CPU akan melakukan operasi lagi retart, start dimulai dari kondisi terakhir saat power down. Berikut merupakan diagarm siklus Power-Down
Release.
Gambar 3.16. Siklus Power-Down Release 1.
TEKNIK MIKROPROSESOR
138 Gambar 3.17. Siklus Power-Down Release 2.
Gambar 3.18. Siklus Power-Down Release 3.
3.14. R
ESPON
I
NTERUPSI
Sebuah interupsi memungkinkan bagi devais periperal untuk menghentikan sementara operasi CPU, dan memaksanya untuk memulai rutin layanan
periperal. Rutin layanan ini meliputi pertukaran data, status, kendali informasi antara CPU dengan devais periperal, dan pada saat selesai menjalankan rutin
layanan maka CPU kembali menjalankan operasi sebelum terjadi interupsi.
a. EnableDisable Interupsi
Terdapat 2dua buah interupsi pda CPU Z80, yaitu software interupsi maskable INT dan interupsi non-maskable NMI. Untuk interupsi non-
TEKNIK MIKROPROSESOR
139 maskable tidak dapat digagalkan disable oleh programmer, dan interup ini
diterima ketika devais peripheral meminta rutin layanan. Interupsi ini umumnya tersedia untuk layanan fungsi yang sangat penting, dan dapat diset
enable atau disable oleh programmer. Dalam CPU Z80 terdapat enable interup flip-flop IFF yang dapat di-set atau di-reset oleh programer melalui
instruksi Enable Interrupt EI dan Disable Interrupt DI. Ketika IFF di-reset maka
interupsi tidak dapat diterima oleh CPU, kedua enable flip-flop itu adalah IFF1 dan IFF2.
Gambar 3.19. Interupsi Flip-Flop State IFF1 digunakan untuk inhibit interupsi, sementara itu IFF2 digunakan
sebagai tempat penyimpanan tempore untuk IFF1. Dengan melakukan reset terhadap CPU akan memaksa IFF1 dan IFF2 pada
kondisi reset, yaitu interupsi di-disable. Interupsi dapat diset menjadi enable setiap saat melalui instruksi EI dari programer, ketika instruksi EI dijalankan
maka semua permintaan interupsi yang ditunda tidak akan diterima sampai setelah instruksi berikut setelah EI dijalankan.
Instruksi tunda diperlukan manakala instruksi berikutnya merupakan instruksi return, dan interup tidak dilayani sampai proses return lengkap. Instruksi EI
melakukan setting terhadap kedua flip-flop IFF1 dan IFF2 pada kondisi enable, begitu juga saat CPU menerima interup maskable maka IFF1 dan
IFF2 secara otomatis akan reset, dan berikutnya terjadi inhibid terhadap interup sampai programer memberikan instruksi EI.
Tujuan dari IFF2 adalah untuk mengamankan status IFF1 ketika interup non- maskable terjadi, jadi IFF1 akan reset untuk mengjaga interup berikutnya
sampai dilakukan re-enable oleh programer. Dengan demikian setelah interup