Z80 CPU test circuit

The absolute minimum Z80 CPU test circuit ever seen:



This is how my tester looks like:
Red wire = +5V (VCC)
Green wire = GND
Wellow wire = Clock
Place a fast capacitor (tantal, 0.1 .. 4.7 uF) from VCC to GND! as close as possible to the CPU
The small button at the right is used to RESET the CPU


Remember: NEVER leave inputs unconnected, they can/will confuse the CPU!
A good idea is to connect unused inputs via a resistor to VCC (about 470 .. 5k) to create a HIGH (inactive) signal level
All unconnected CPU pins are outputs, try to connect some LEDs here also, pins 18 and 23 are not interesting, ok
CLOCK : 35mS period time, equal to 28Hz
A0 : 140mS Low, 140mS High
A1 : 280mS Low, 280mS High
A2 : 560mS Low, 560mS High

My tester consumed about 60mA at 5.0Volt, with a Z8400A from Zilog.
You will see that the Z80 CPU need a few clocks to execute the RESET.
You can also test what happens at power-up, with or without clock applied.
Strange things will happen if you try to give it shorter RESET than clock, weird modes of opperating will then happen, eg: higher address pins will have faster clock frequency than A0 !!, the CPU is not damaged ! just give it a RESET longer than 4 clocks.
this is why you should always use a RESET circuit like this: it will give a controlled reset time and no noise when RESET pin is rised to start the CPU
if you wish to single step clock and reset, then use this circuit to generate a good clean clock signal
---------
During the last half of the Instruction Opcode Fetch a Refresh address is placed on the lower 7 bits of the Address bus. This can make the upper 9 bits appear as if they are oscillating in respect to the clock since they are driven low during that portion of the cycle. If you only take the state of the address bus when /M1 is active, you will see the appropriate memory address is on the bus.
This seems to be different from type of CPU to CPU, mine did what I have measured on A0 to A2 and so far...

0 komentar:

PERAKITAN SISTEM MIKROPROSESOR

PERAKITAN SISTEM MIKROPROSESOR

          Padan pembahasan kali ini  akan membahas tentang perakitan sistem mikroprosesor. Tapi sebelum menuju pada perakitan sistem mikroprosesor, kita harus kembali memperhatikan adanya dua perangkat pembentuk sistem mikroprosesor yaitu perangkat keras dan perangkat lunak. Sebagai suatu sistem, perangkat keras dan perangkat lunak sama-sama pentingnya. Dalam perencanaan dan pengembangan sistem kedua perangkat tersebut harus dirancang dan dikembangkan secara bersama-sama.

Arsitektur Sistem
          Mikroprosesor sebagai suatu sistem arsitekturnya dapat digambarkan seperti pada gambar 1 di bawah ini. Masing-masing komponen dari sistem dihubungkan satu sama lain melalui tiga saluran bus.


Gambar 1. Arsitektur Sistem Mikroprosesor

Peta Memori
          Mikroprosesor sebagai pusat unit pemroses yang kemudian dikenal dengan sebutan Central Processing Unit (CPU) hanya dapat berkomunikasi dengan unit memori (RWM atau ROM) dan unit I/O apabila unit-unit ini memiliki alamat tertentu. Untuk keperluan ini maka dikembangkan suatu peta yang disebut Peta Memori. Peta memori adalah suatu peta yang menunjukkan lokasi alamat suatu unit memori. Peta ini sangat penting artinya bagi CPU dalam mengenali lokasi-lokasi suatu unit memori. Peta memori menunjukkan :
Bagian dari memori yang dapat digunakan untuk program
Bagian memori read only
Program pengendalian sistem
Tempat dimana memori diinstalasi
Daftar alamat piranti memori
Daerah memori yang masih kosong (jika ada).
          Pada Gambar 2 terlihat di sebelah kiri peta ada angka-angka yang menunjukkan alamat memori. EPROM 2532 berada pada alamat 0000h – 0FFFh. Sedangkan RAM 6116 berada pada alamat 1800h – 1FFFh dan EPROM 2732 berada pada alamat 2000h – 2FFFh.

Gambar 2. Peta Memori

          Luasan daerah alamat suatu memori menentukan kapasitas memorinya. EPROM 2532 berada pada alamat 0000h – 0FFFh memiliki kapasitas 4 Kbyte. Kapasitas ini dicari dengan mengurungkan bit alamat akhir terhadap bit alamat awal. Kemudian dihitung jumlah bit (n) yang menunjukkan angka biner 1. Kapasitas memori suatu memori sama dengan dua pangkat n.
          Dari hasil pengurangan di atas diperoleh 11 bit angka 1 sehingga diperoleh 2 11 = 2 K. Alamat 1000h – 17FFh tidak digunakan, alamat 2000h – 2FFFh digunakan untuk pengembangan memori. Pada sistem memori ini bus alamat memiliki jumlah saluran 16 bit, sehingga CPU memiliki kemampuan 2 16 = 64 Kb. Untuk menentukan kode pengalamatan masing-masing komponen digunakan suatu table 1 sebagai berikut.
Tabel 1. Pemetaan Memori


Pemilihan Chip / Komponen
          Masing-masing komponen pada sistem mikroprosesor biasanya dilengkapi minimal dengan satu pin untuk pemilihan chip. Pin ini biasanya disebut chip select (CS) atau juga dikenal dengan chip enable (CE). CS (tanpa tanda sles) artinya sebuah chip akan aktif jika pin itu berlogika tinggi (1). Sedangkan CS menunjukkan sebuah chip akan berkeadaan aktif apabila pada pin CS diberi keadaan logika rendah (0). Dalam pemilihan chip dikenal tiga metode yaitu :
Pemilihan Linier
Pemilihan Parsial
Pemilihan Penuh.
          Ketiga metode pemilihan chip/komponen tersebut tidak diuraikan di sini, tapi akan kita bahas pada pertemuan selanjutnya.

Pembufferan Bus
          Bus mikroprosesor harus berhubungan dengan setiap chip masukan keluaran pheriferal dan memori sistem. Semua mikroprosesor MOS kurang kemampuan penggerakkan keluarannya yang diperlukan dalam sistem besar. Karena itu dipakai buffer atau penggerak untuk menaikkan daya penggerakan bus. Ada pengirim bus untuk menggerakkan bus dan ada penerima bus untuk menerima bus dan menggerakkan mikroprosesor. Gambar 3 di bawah ini menunjukkan pembufferan saluran alamat dan saluran pengendali
          Tiap masukan sebuah alat merupakan beban pada keluaran yang menggerakkannya. Sebagian besar komponen menggerakkan mulai dari satu sampai dua puluh komponen lainnya. Setiap komponen harus diperiksa karakteristik penggerakan serta pembebanan masukan keluarannya.

Gambar 3.Pembuffferan Saluran Alamat dan Pengendali
          Dalam gambar 3 melukiskan penggunaan pengirim untuk pembufferan bus pengendali dan bus alamat. Saluran-saluran pada bus pengendali bersifat satu arah. Pada gambar  4 ditunjukkan cara pembufferan bus data. Data harus lewat pada dua arah, jadi dipakai baik sebagai pengirim maupun sebagai penerima.
Gambar 4. Pembufferan Bus Data
Menghubungkan Memori dan I/O

          Sebagai bagian dari suatu sistem mikroprosesor memori dan I/O merupakan komponen pokok. Perakitan memori dan I/O mengacu pada rancangan sistem berupa pengembangan peta memori dan peta I/O.
         Sebagai suatu kasus berikut diuraikan cara-cara perakitan Z80-CPU dengan memori dan I/O. Z-80-CPU adalah mikroprosesor 8 bit produksi Zilog. Dengan memperhatikan sinyal-sinyal pengendali yang ada pada CPU, saluran alamat, dan saluran data serta rancangan sistemnya maka perakitan sistem mikroprosesor dapat dikerjakan seperti Gambar 5.
Gambar 5. Rangkaian Hubungan CPU dengan Memori dan I/O

0 komentar:

MIKROPROSESOR Z80

Mikroprosesor Zilog Z80 dikembangkan oleh Zilog Inc. mendominasi pasar komputer mikro 8-bit dari akhir tahun 1970-an hingga pertengahan 1980-an.Pada dasarnya Z80 memiliki semua features yang dimiliki Intel 8080, jumlah register dan jumlah instruksi Z80 kira-kira dua kali Intel 8080/8085. mikroprosesor Z80 memiliki 158 instruksi dasar, sedangkan Intel 8080 hanya 78. selain itu Z80 masih memiliki sejumlah keistimewaan penting lainnya yang tidak dimiliki Intel 8080. Salah satu keistimewaan Z80 ini adalah kemampuannya untuk melakukan penyegaran memori secara dinamis (dynamic memory refresh) secara otomatis. Adalah menarik untuk diketahui bahwa beberapa pendiri Zilog Inc. adalah mantan para ahli Intel Corporation yang ikut merancang Intel 8080, tetapi kemudian pindah ke Zilog Inc.
Mikroprosesor Z80 dibuat dengan menggunakan teknologi NMOS (N-type metal-oxide-semiconductor logic) dan dikemas dalam sebuah DIP (dual inline package) dengan 40 pin. Jumlah saluran alamatnya sama dengan 16, dan 8 saluran data. Saluran-saluran ini tidak di-multiplexed. Mikroprosesor Z80 sudah memiliki penghasil detak (clock) sendiri dan hanya memerlukan satu tegangan catu +5 volt.
 2         Perkembangan Zilog Z80
·           Zilog Z80 (1976)
·           Zilog Z8000 (ca 1978)
·           Zilog Z800 (1985)
·           Zilog Z80000 (late 1985)
·           Zilog Z280 (early 1986)
·           Zilog Z180 (late 1986)
3         Fitur Zilog Z80
·           Terdiri dari 158 instruksi dasar, termasuk 78 instruksi 8080A sebagai subsetnya (semuanya kompatibel). Instruksi baru termasuk operasi 4-, 8- dan 16-bit denga mode pengalamatan lebih berguna seperti pengalamatan terindeks, bit, dan pengalamatan relatif.
·           Chip tunggal. Dengan versi NMOS untuk solusi harga rendah kinerja tinggi, sementara versi CMOS untuk rancangan kinerja tinggi berdaya rendah
·           NMOS Z0840004 – 4 MHz; NMOS Z0840006 – 6,17 MHz; NMOS Z0840008 – 8 MHz.
·           CMOS Z84C0006 – DC sampai 6,17 MHz; CMOS Z84C0008 – DC sampai 8 MHz; CMOS Z84C0010 – DC sampai 10 MHz; CMOS Z84C0020 – DC sampai 20 MHz
·           Versi 6 MHz bisa beroperasi pada clock 6,144 MHz.
·           Mikroprosesor Z80 dan keluarga periferal Z80 bisa dihubungkan dengan sebuah sistem interupsi tervektor. Sistem ini bisa dihubungkan secara daisy-chain yang mengijinkan implementasi skema interupsi terprioritas.
·           Penggandaan kumpulan (set) register serba-guna dan flag
·           17 register internal termasuk dua register indeks 16-bit
·           Tiga mode interupsi maskable
·           Mode 0 – sama dengan 8080A
·           Mode 1 – Lingkungan non-Z80, beralamat di 38H
·           Mode 2 – periferal keluarga Z80, interupsi tervektor
·           Pencacah refresh memori dinamis dalam chip
·           Antarmuka langsung dengan memori dinamis atau statis kecepatan standar tanpa membutuhkan logika eksternal
·           Kinerja jauh di atas mikroprosesor chip tunggal lain dalam aplikasi 4-, 8-, atau 16-bit
·           Semua pin kompatibel dengan level tegangan TTL (TTL Compatible).
4       Bagian-bagian utama mikroprosesor Z80 adalah:
·           ALU (Aritmatic and Logic Unit), bagian ini merupakan pusat pengolahan data. Di bagian ini dilakukan operasi-operasi logika, seperti: AND dan OR, serta operasi-perasi aritmatika, seperti: penjumlahan dan pengurangan.
·           Larik Register (Registers Array), merupakan kumpulan register-register yang terdiri dari register serba-guna dan register fungsi khusus.
·           Register Instruksi (Instruction Register), merupakan tempat untuk menyimpan sementara instruksi yang akan diterjemahkan oleh penerjemah (decoder) instruksi.
·           Decoder (Penerjemah) Instruksi (Instruction Decoder), merupakan bagian yang berfungsi dalam menerjemahkan instruksi yang diambil dari memori setelah sebelumnya melewati register instruksi.
·           Kontrol Pewaktuan CPU (CPU Timing Control), bagian ini berfungsi dalam mengendalikan kerja CPU secara keseluruhan dan juga pewaktuan bagi periferal atau memori yang memiliki hubungan dengan CPU.
·           Antarmuka Bus Data (Data Bus Interface), bagian ini merupakan pintu gerbang untuk keluar-masuk data dari dan ke CPU.
·           Penyangga dan Logika Alamat (Address Logic and Buffer), bagian ini berfungsi dalam menyediakan alamat memori atau I/O yang diakses oleh CPU.
·           Bus Data Internal (Internal Data Bus), di bagian ini lalu lintas data dalam CPU berlangsung. 
5       Register
Pada dasarnya register-register CPU Z80 terbagi ke dalam dua jenis, yaitu :
·           Register serba-guna (GPR: General-purpose Registers)
·           Register Akumulator. Register ini sangat penting peranannya dalam pengolahan data oleh ALU. Berbagai operasi logika dan aritmatika menggunakan register ini untuk menyimpan salah satu operan dan menyimpan hasil operasi yang telah dilakukan oleh ALU.
·           Register Bendera (flag). Register ini merupakan status dari berbagai hasil operasi yang dilakukan ALU. Operasi logika dan aritmatika yang dilakukan oleh ALU akan mempengaruhi sebagian atau seluruh flag-flag yang ada dalam register flag ini. Register flag ini terdiri atas:
·           SF : bendera tanda (sign flag) yang menyatakan hasil operasi aritmatika. Bidang ini akan bernilai 1 jika MSB (most significant byte) bernilai 1.
·           ZF : bendera nol (zero flag). Bidang ini menyatakan hasil dari operasi yang dilakukan ALU apakah menghasilkan nol atau tidak. Bidang ini bernilai 1 jika hasil operasi ALU sama dengan nol.
·           HF : Bendera Pengambilan setengah (half-carry). Bendera ini bernilai 1 jika operasi penambahan atau pengurangan menghasilkan sebuah pengambilan ke dalam, atau meminjam dari bit 4 akumulator.
·           XF : Salinan hasil 3 bit.
·           PF : Bendera paritas atau oberflow. Paritas (P) dan overflow berbagi bendera yang sama. Operasi logika mengakibatkan bendera ini dengan paritas hasil sementara operasi aritmatika mempengaruhi bendera ini dengan overflow dari hasil. Jika P/V memegang paritas: P/V = 1 jika hasil operasi adalah genap; P/V = 0 jika hasilnya ganjil. Jika P/V memegang overflow, P/V = 1 jika hasil operasi mengeluarkan sebuah overflow; jika P/V tidak memegang overflow, P/V sama dengan 0.
·           NF : Bendera Tambah/Kurang (Add/Subtract). Nilai bendera ini sama dengan 1 jika operasi sebelumnya adalah pengurangan (subtract).
·           CF : Bendera Pengambilan/Sambungan (carry/link). Bendera ini bernilai 1 jika operasi menghasilkan pengambilan (carry) dari MSB operand atau hasil.
·           Register Serba-guna lainnya (B, C, D, E, H, L).
·           Register fungsi khusus (SFR: Special Function Registers)
·           Program Counter (PC), register ini perfungsi sebagai pencacah alamat instruksi selanjutnya yang akan diambil dari memori.
·           Stack Pointer (SP), register ini menyimpan alamat atas (top) dari stack. Stack berfungsi sebagai penyimpanan dalam memori yang sifatnya sementara bagi nilai-nilai (value) dari register-register CPU ketika register tersebut akan dipakai. Stack digunakan dengan perintah Push dan Pop.
·           Register Indeks (IX dan IY), register ini digunakan untuk pengalamatan terindeks.
·           Register Interupsi (I), register ini menyimpan alamat memori untuk vektor interupsi.
·           Register Refresh (R)
·           Flip-flop Status Interupsi (IFF) dan Mode Interupsi (IMF).
6         Interupsi
CPU Z80 menerima dua sinyal input interupsi : NMI dan INT. NMI adalah interupsi non-maskable dan memiliki prioritas tertinggi. INT adalah interupsi berprioritas lebih rendah dan diperlukan bahwa interupsi ini diaktifkan melalui software agar beroperasi. INT bisa dihubungkan ke divais periferal bervariasi dalam konfigurasi terhubung OR.
Z80 memiliki sebuah mode tanggapan tunggal bagi layanan interupsi pada interupsi non-maskable. Interupsi maskable, INT, memiliki tiga mode tanggapan yang bisa diprogram yang tersedia. Mereka itu adalah:
·           Mode 0 – sama dengan mikroprosesor 8080
·           Mode 1 – layanan interupsi periferal untuk penggunaan dengan sistem bukan 8080/Z80
·           Mode 2 – skema interupsi tervektor, biasanya di-daisy-chain, bagi pernggunaan dengan keluarga Z80 dan divais periferal yang sesuai (kompatibel).
Operasi Interupsi Mode 0.
Mode ini sama dengan prosedur layanan interupsi mikroprosesor 8080. Devais yang menginterupsi menempatkan sebuah instruksi pada bus data. Normalnya sebuah instruksi Restart, yang memulai satu pemanggilan pada satu lokasi dari delapan lokasi restart yang terpilih di halaman (page) memori nol. Tidak seperti 8080, CPU Z80 merespon pada instruksi Call dengan hanya satu siklus pemberitahuan interupsi diikuti dengan dua siklus baca memori.
Operasi Interupsi Mode 1.
Operasi Mode 1 sangat sama dengan interupsi NMI. Secara prinsip perbedaannya hanya satu yaitu interupsi Mode 1 restart (memulai kembali) pada alamat 0038H.
Operasi Interupsi Mode 2.
Mode interupsi ini telah dirancang untuk penggunaan kemampuan yang sangat efektif dari mikroprosesor Z80 dan hubungannya dengan keluarga periferalnya. Devais periferal yang menginterupsi memilih alamat awal rutin layanan interupsi. Devais itu melakukannya dengan menempatkan sebuah vektor 8-bit pada bus data selama siklus pemberitahuan interupsi. CPU membentuk satu penunjuk (pointer) menggunakan byte ini sebagai 8-bit rendah dan isi register I sebagai 8-bit tinggi. Penunjuk ini menunjukkan sebuah masukan (entry) dalam tabel alamat bagi rutin layanan interupsi. CPU kemudian melompat ke rutin pada alamat tersebut. Kefleksibelan dalam pemilihan alamat rutin layanan interupsi ini mengijinkan divais perifera; menggunakan beberapa jenis rutin layanan yang berbeda. Rutin-rutin tersebut mungkin ditempatkan pada suatu alamat di memori yang tersedia. Karena devais yang menginterupsi mensuplay byte orde rendah dari vektor 2-byte, bit 0 (A0) harus menjadi nol.
Operasi Enable/Disable Interupsi (flop-flop).
Dua flip-flop IFF1 dan IFF2, ditunjukkan pada gambaran (dekripsi) register, digunakan untuk memberikan tanda status interupsi CPU. Operasi kedua flip-flop digambarkan pada Tabel dibawah.
7     Pengkakian
Konfigurasi pin mikroprosesor Z80.

Keterangan :
A0 – A15. Bus Alamat (keluaran, aktif High, 3-state). A0 – A15 membentuk bus alamat 16-bit. Bus Alamat menyediakan alamat bagi pertukaran bus data memori (sampai 64Kbyte) dan bagi pertukaran divais I/O.
BUSACK. Pemberitahuan Bus (keluaran, aktif Low). Pemberitahuan Bus menunjukkan pada divais yang meminta bahwa bus alamat CPU, dan sinyal kontrol MREQ, IORQ, RD, dan  WR telah memasuki keadaan impedansi tinggi (high-impedance). Sirkuit eksternal sekarang bisa mengontrol jalur-jalur tersebut.
BUSREQ. Permintaan Bus (masukan, aktif Low). Permintaan Bus memiliki prioritas lebih tinggi dibandingkan dengan NMI dan selalu dikenali di akhir siklus mesin yang sedang berjalan. BUSREQ memaksa bus alamat CPU, bus data dan sinyal kontrol MREQ, IORQ, RD dan WR menuju keadaan impedansi tinggi sehingga divais lain bisa mengontrol jalur-jalur tersebut. BUSREQ normalnya terhubung OR (wired-OR) dan memerlukan satu resistor pullup eksternal bagi aplikasi tersebut. Perluasan periode BUSREQ karena operasi DMA yang luas bisa menjaga CPU dari penyegaran (refreshing) RAM dinamis yang benar.
D0 – D7. Bus Data (masukan/keluaran, aktif High, 3-state). D0 – D7 membuat sebuah bus data dua arah (bidirectional) 8-bit, yang digunakan untuk pertukaran data dengan memori dan I/O.
HALT. Keadaan Berhenti (Halt) (output, aktif Low). HALT menunjukkan bahwa CPU telah mengeksekusi perintah Halt dan sedang menunggu sebuah interupsi non-maskable atau maskable (dengan mask aktif) sebelum operasi bisa dilanjutkan kembali. Ketika terhenti, CPU mengeksekusi NOP untuk menjaga refresh memori.
INT. Permintaan Interupsi (masukan, aktif Low). Permintaan Interupsi dihasilkan oleh divais I/O. CPU menerima sebuah interupsi di akhir instruksi yang sedang berjalan jika flip-flop pengaktif interupsi terkontrol software internal (IFF) diaktifkan. INT normalnya dihubung OR dan memerlukan resistor pullup eksternal bagi aplikasi-aplikasi tersebut.
IORQ. Permintaan Masukan/Keluaran (keluaran, aktif Low, 3-state). IORQ menunjukkan bahwa setengah bus alamat rendah memegang sebuah alamat I/O yang sah bagi sebuah operasi penulisan atau pembacaan I/O. IORQ juga dihasilkan secara bersamaan dengan M1 selama sebuah siklus pemberitahuan interupsi untuk menunjukkan bahwa sebuah vektor tanggapan interupsi bisa ditempatkan pada bus data.
M1. Siklus Mesin (keluaran, aktif Low). M1, bersama-sama dengan MREQ, menunjukkan bahwa siklus mesin yang sedang berjalan adalah siklus pengambilan opcode dari sebuah eksekusi instruksi. M1, bersama-sama dengan IORQ menunjukkan bahwa siklus pemberitahuan interupsi.
MREQ. Permintaan Memori (keluaran, aktif Low, 3-state). MREQ menunjukkan bahwa bus alamat memegang alamat yang sah bagi operasi pembacaan memori atau penulisan memori.
NMI. Interupsi Non-Maskable (masukan, terpicu ujung negatif). NMI memiliki prioritas lebih tinggi dibandingkan dengan INT. NMI selalu dikenali di akhir instruksi yang sedang berjalan, tak tergantung dari status flipf-flop pengaktif interupsi (interrupt enable flip-flop), dan secara otomatis memaksa CPU untuk memulai kembali pada alamat 0066H.
RD. Baca (keluaran, aktif Low, 3-state). RD menunjukkan bahwa CPU ingin membaca data dari memori atau divais I/O. Divais I/O atau memori yang dialamati akan menggunakan sinyal ini untuk menempatkan data ke dalam bus data CPU.
RESET. Reset (masukan, aktif Low). RESET mengawali CPU sebagai berikut: me-reset flip-flop pengaktif interupsi, menghapus PC dan register I dan R, men-set status interupsi ke Mode 0. Selama waktu reset, bus alamat dan data berkondisi impendansi tinggi, dan semua sinyal keluaran kontrol menjadi tidak aktif. Catat bahwa RESET harus aktif minimal selama tiga siklus clock penuh sebelum operasi reset lengkap.
RFSH. Refresh (keluaran, aktif Low). RFSH, bersama-sama dengan MREQ menunjukkan tujuh bit bus alamat sistem terendah bisa digunakan sebagai alamat penyegaran ke memori dinamis sistem.
WAIT. Tunggu (masukan, aktif Low). WAIT menunjukkan pada CPU bahwa memori atau divais I/O yang dialamati tidak siap untuk sebuah pengiriman data. CPU selanjutnya memasuki sebuah keadaan tunggu selama sinyal tersebut aktif. Perluasan periode WAIT bisa menjaga CPU dari penyegaran memori dinamis yang benar.
WR. Tulis (keluaran, aktif Low, 3-state). WR menunjukkan bahwa bus data CPU memegang data yang sah untuk disimpan pada lokasi memori atau I/O yang dialamati.
8      Instruksi
Mikroprosesor Z80 memiliki sekumpulan instruksi yang sangat berdaya guna dan dan serba guna yang tersedia di beberapa mikroprosesor 8-bit. Itu termasuk operasi yang khas (unik) seperti pemindahan blok untuk transfer data yang cepat dan efisien dalam memori atau antara memori dan I/O. Itu juga mengijinkan operasi beberapa bit di dalam beberapa lokasi di memori.
Instruksi-instruksi mikroprosesor Zilog Z80 dibagi ke dalam kategori berikut ini:
·           Pemuatan 8-bit
·           Pemuatan 16-bit
·           Pertukaran, transfer blok dan pencarian
·           Operasi logika dan aritmatika 8-bit
·           Aritmatika serba-guna dan kontrol CPU
·           Perputaran (rotasi) dan pergeseran (shift)
·           Operasi set, reset dan tes bit
·           Lompatan
·           Pemanggilan (call), kembali (return) dan restart
·           Operasi masukan dan keluaran
Sejumlah mode pengalamatan yang beragam diimplementasikan untuk mengijinkan transfer data yang cepat dan efisien antara berbagai register, lokasi memori dan divais masukan/keluaran. Mode pengalamatan yang disertakan:
·           Cepat (immediate)
·           Perluasan cepat (immediate extended)
·           Halaman nol termodifikasi (modified page zero)
·           Relatif (relative)
·           Perluasan (Extended)
·           Terindeks (Indexed)
·           Register
·           Register tak langsung
·           Tersirat (Implied)
·           Bit
9     Chip Pendukung
Mikroprosesor dibuat berserta seperangkat periferal pendukungnya yang dikenal dengan periferal keluarga Z80. Periferal-periferal yang mendukung mikroprosesor Z80 di antaranya, yaitu:
·           Pengontrol Masukan/Keluaran Paralel (Z80 PIO: Parallel Input/Output)
·           Pengontrol Masukan/Keluaran Serial (Z80 SIO: Serial Input/Output)
·           Sirkuit Pewaktuan/Pencacah (Z80 CTC: Counter/Timer Circuit)
·           Pengontrol Akses Memori Langsung (Z80 DMA: Direct Memory Access)
·           Pengirim/Penerima Tak-sinkron ganda (Z80 DART: Dual Asynchronous Receiver/Trasmitter)
Mikroprosesor Z80 tidak hanya dapat berantarmuka dengan periferal keluarga Z80 saja, namun bisa dihubungkan dengan periferal dari keluarga mikroprosesor yang lain seperti periferal keluaran Intel. Karena kedua mikroprosesor ini masih satu rumpun (keturunan).
10    Pemrograman
Pemrograman Mikroprosesor Z80  menggunakan bahasa assembly yang memudahkan pengguna menuliskan dalam pengalamatan memori atau format instruksi mesin. Menggunakan simbol dalam mengidentifikasi alamat lokasi memori dan pemrograman. untuk menuliskan instruksi  proses program tertentu menggunakan simbol untuk mengidentifikasi langkah instruksi program berikutnya.
Berikut sepintas tentang software assembler untuk pemrograman Zilog Z80 (z80 simulator)
1.      Main Window
Main Window dari Z80 adalah jendela utama pada program simulasi z80. untuk menjalankan program, kemudian memanggil Assembler Editor, Simulation Log Viewer, Memory Editor dll.
Untuk mengisi program gunakan menu File, load program
Untuk Melakukan simulasi gunakan menu Simulation,Start (memulai) atau Stop (menghentikan)
Untuk menghapus memori gunakan FILE, clear memory
Untuk memanggil Assembler gunakan menu Tools, Assembler Untuk memanggil Simulation Log Viewer gunakan menu Tools, Simulation Log Viewer.
2.      Assembler Editor
Assembeler Editor adalah editor yang kita gunakan untuk menuliskan program. Setelah program ditulis dan disimpan, maka pada toolbar Tools  Assemble  kita dapat melakukan compile untuk mengetahui apakah terdapat error atau kesalahan sintaks pada program yang telah kita buat, jika tidak, maka program yang telah kita buat diterjemahkan ke dalam bentuk Object atau ekstensi .obj. bentuk objek inilah yang akan digunakan simulator untuk melakukan simulasi.
Simpan hasil program anda agar dapat digunakan kembali suatu saat. Jendela assembler juga menampilkan terjemahan program ke dalam bentuk heksadesimal. Seperti gambar berikut.
3.       Simulation Log Viwer.
Simulation Log Viewer adalah layar yang menampilkan proses register dan program counter setiap baris program yang dieksekusi. 
4.      Memory Editor.
Memory Editor menampilkan isi dari tiap-tiap alamat mikropresosr Z8O pada memori dalam bahasa assembly.
untuk  mengistal program ini di Windows 7 Maka Anda harus menginstalnya di Luar local disk C Karena local disk C terproteksi dengan sistem UAC Sehingga program ini membutuhkan administrator account untuk menjalankannya, maka sebaiknya diinstall aja di disk D:
Kesimpulan
Mikroprosesor  Zilog Z80 merupakan mikroprosesor yang memiliki kemampuan untuk melakukan penyegaran memori secara dinamis (dynamic memory refresh) secara otomatis.
Mikroprosesor  Zilog Z80 dibuat dengan menggunakan teknologi NMOS dan dikemas dalam sebuah DIP (dual inline package) dengan 40 pin. Jumlah saluran alamatnya sama dengan 16, dan jumlah saluran datanya delapan. Saluran-saluran ini tidak di-multiplexed . Mikroprosesor Z80 sudah memiliki penghasil detak (clock) sendiri dan hanya memerlukan satu tegangan catu +5 volt.
Arsitektur Mikroprosesor  Zilog Z80  menggunakan  register versi 8/16 bit.  Menggunakan tiga mode interupsi maskable yaitu Mode 0 – sama dengan 8080A, Mode 1 – Lingkungan non-Z80, beralamat di 38H, dan Mode 2 – periferal keluarga Z80, interupsi tervektor.
Mikroprosesor Z80 dapat berantarmuka dengan periferal keluarga Z80 serta dapat dihubungkan dengan periferal dari keluarga mikroprosesor yang lain seperti periferal keluaran Intel.

0 komentar: