HALT E S S R

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