Alam semesta, semua mahluk baik binatang ataupun tumbuhan dan manusia merupakan ciptaan Tuhan Yang Maha Kuasa, dari sekian banyak ciptaanNYA coba kita simak tubuh manusia. Dalam tubuh manusia terdiri dari berbagai macam organ misal jantung, hati, kepala, kaki, tangan dan organ tubuh lainnya yang kesemuanya membentuk sebuah sistem tubuh, secara kasat mata terlihat bahwa antar organ dalam membentuk sistem tubuh saling tergantung dan saling berhubungan sistem kerjanya.

Setiap gerak organ selalu diawali aoat-tya •pertMtah -wii iberupa dinyai -HstriK yang dikirimkan melalui jalur kendali menuju organ yang diperintahkan untuk melaksanakan gerak, artinya setiap gerak organ melalui sinyal peritah dan gerak organ satu dengan lainnya juga selalu ada sinkronisasi.

Sistem mikroprosesor dikembangkan manusia juga mengikuti pola tubuh manusia, yaitu sistem dibuat dengan membentuk organ-organ yang sering istilahnya disebut dengan komponen.

Setiap komponen pembentuk sistem mikroprosesor dibangun dari rangkaian- rangkaian gerbang digital, antar komponen dihubungkan dengan sistem jalur data (Data BUS), untuk menunjuk komponen digunakan jalur alamat (Address Bus) dan untuk sinkronisasi kerja antar komponen digunakan jalur kontrol (Control Bus).

Seperti pada tubuh manusia pada sistem mikroprosesor untuk memanfaatkan atau menggunakan fungsi komponen dilakukan dengan perintah yang dikirim dari pusat pengolah yang disebut Arithmatic Logic Unit (ALU).

Untuk memahami komponen sistem mikroprosesor, berikut dijelaskan rangkaian- rangkaian pembentuk komponen tersebut.

1. Gambaran Umum Arsitektur Mikroprosesor Z80

Z80 merupakan prosesor 8-bit mikroprosesor yang dirilis bulan Juli tahun 1976 dengan kecepatan clock 2,5 MHz, pada saat itu Z80 lebih berkembang dibanding Intel 8080 begitu juga dibanding Intel 8085. Secara arsitektur Z80 memiliki kesamaan dalam jumlah bit dengan Intel 8080 yaitu untuk jalur data menggunakan 8-bit dan jalur penunjukan alamat baik port I/O maupun alamat memori menggunakan 16-bit. Z80 dapat menjalankan semua op-code Intel 8080 termasuk 80 kode barunya yang meliputi operasi instruksi 1, 4, 8 dan 16-bit dan juga transfer blok dan instruksi blok I/O.

Kelompok register yang digunakan dalam Z80 terdiri dari 2 (dua) blok, yang dibagi menjadi 2 (dua) bank register termasuk register A dan register F yang dapat saling ditukarkan isi datanya. Dengan demikian sangt memungkinkan penggunaan sistem operasi dengan kecepatan tinggi, atau penggunaan sistem interupsi yang cepat. Untuk sistem interupsi terdapat 3 (tiga) buah mode, dan pada Z80 juga ditambahkan 2 (dua) buah indeks register yaitu register 16-bit IX dan IY serta dilengkapi pula dengan sistem vektor interupsi melalui 8-bit IV register.

Z80 merupakan dasar prosesor dimana interface memori CPU dilengkapi dengan sinyal RAM refresh, sehingga bagi pengembang banyak kemudahan dan harga yang murah. Z80 memiliki kompatibel yang tinggi terhadap 8080 dan CP/M yang merupakan standar sistem operasi mikroprosesor yang pertama.

Adapun arsitektur dari mikroprosessor Z80 yang diproduksi oleh Zilog ditunjukan seperti gambar berikut:

 

 

Gambar 1. 1 Sistem Mikroprosessor Z80

1.1. Fungsi Register

Terdapat 4(empat) fungsi dari rangkaian dasar register, yaitu:

  1. Register Masuk Serial Keluar Paralel (Serial In Paralel Out / SIPO)
  2. Register Masuk Serial Keluar Serial (Serial In Serial Out / SISO).
  3. Register Masuk Paralel Keluar Serial (Paralel In Serial Out / PISO)
  4. Register Masuk Paralel Keluar Paralel (Paralel In Paralel Out / PIPO)

Penerapan keempat fungsi rangkaian pada operasi dasar register dalam sistem mikroprosesor ditunjukan pada gambar 1.2, yaitu rangkaian register dengan arsitekturnya disamping digunakan sebagai register geser dapat digunakan sebagai rangkaian dasar untuk beberapa operasi, seperti SISO, SIPO, PISO, PIPO, geser kiri dan geser kanan.

Sebagai contoh untuk  geser kanan dan bit akhir dihubungkan ke data in, maka dengan komposisi bit data (0110 111 0)b = (110) digeser ke kanan 1 bit data. yang tersimpan dalam register adalah (0011 0111 )b = (55)D. Jika hasil tersebut digeser ke kiri dua bit maka hasilnya adalah (1101 1100)b = (220)d, dengan demikian sangat mungkin melakukan manipulasi bit data.

1) Operasi geser ke kanan register 8 bit

2) Operasi serial input dan parallel output register 8 bit

 

 

 3) Operasi paralel input serial out register 8 bit

4) Operasi parallel input serial output register 8 bit 

5) Operasi geser ke kanan register 8 bit

6) Operasi geser ke kiri regisler 8 bit

Gambar 1. 2. Operasi register dalam system mikroprosessor

Sistem register di dalam prosesor Z80 seperti ditunjukan gambar 1.3 terdapat 16-bit register yang berfungsi mengendalikan byte program memori dan terdapat register 8-bit yang berfungsi mengendalikan operasi byte data yang dimuat dan diambil kembali. Register 8-bit ini juga dapat dikombinasikan secara berpasangan untuk membentuk alamat 16-bit dan alamat ini dapat digunakan sebagai indeks struktur data di memori guna menjangkau operasi beberapa byte.

Gambar 1. 3. Konfigurasi Register CPU Z80

1.2. Register CPU Z80

Register ini merupakan register 8 bit untuk register A dan 8 bit f^iste'r F>, walaupun demikian dalam CPU Z80 kedua register yaitu A dan F dapat diakses secara berpasangan yang berarti merupakan register 16 bit. Fungsi utama untuk register A adalah untuk menampung secara temporer data hasil proses dalam ALU (Arithmatic Logic Unit), sedangkan register F merupakan flag yaitu tanda hasil proses ALU. Untuk memperluas dan kenyamanan programer dalam mengembangkan program aplikasi maka pada CPU Z80 dilengkapi dengan.

register alternatif A' dan F', adapun fungsi dari register alternatif ini dapat dimanfaatkan seperti halnya pada register utama A dan F.

a. Register Umum (Register pasangan BC, DE, HL)

Register ini dalam program dapat dipakai sebagai register tunggal 8 bit atau sebagai register pasangan 16 bit, yaitu register pasangan BC, DE dan HL. Sehingga saat dipakai sebagai register tunggal maka dia dapat dipakai sebagai penyimpan data 8 bit, dan saat dipakai sebagai register pasangan dia dapat menyimpan data 16 bit. Sebagai contoh alamat lokasi memori yang ingin ditunjuk digunakan register pasangan HL maka jumlah bit penunjuk alamat adalah 16 bit. Guna mendukung kinerja mikroprosessor dibutuhkan register dan untuk penggunaan register tersebut tersedia perintah operasional register 16 bit.

b. Register Keperluan Khusus (Program Counter (PC))

Register yang diberi nama program counter (PC) ini memiliki kemampuan untuk menunjuk alamat memori 16-bit yang berisi instruksi yang sedang dijalankan dalam memori, PC secara otomatis mengalami inkrimen dan jika terdapat alamat baru yang ditunjuk misal pada perintah lompat (jump) maka secara otomatis isi PC akan diubah sesuai dengan alamat yang dituju.

Terdapat 3 kemungkinan PC dalam menjalankan fungsinya yaitu menunjuk alamat memori yang berisi instruksi program:

  1. pertama mengikuti urutan sesuai dengan instruksi yang tertulis dalam memori,
  2. kedua penunjukan alamat oleh PC yang diset berdasarkan data alamat yang diisikan oleh programer.
  3. ketiga dilakukan yang diakibatkan adanya instruksi tertentu (JMP).

c. Stack Pointer (SP)

Register yang diberi nama stack pointer ini memiliki kemampuan untuk menunjuk alamat memori 16-bit berada pada stack puncak yang ditunjuk dan terletak di sembarang tempat dalam sistem RAM. Eksternal memori stack diorganisasi .

berdasarkan sjstem file last-in first-out (LIFO). Data dapat dituliskan (pushed) ke dalam stack dari register tertentu pada CPU atau dibaca ulang (popped) dari stack dari register tertentu pada CPU, instruksi yang digunakan adalah PUSH dan POP. Data yang diambil dari stack melalui instruksi POP selalu diawali dari data yang bealamat terakhir disimpan melalui instruksi PUSH, secara sederhana stack dapat digunakan untuk implementasi in terupsi dengan mode multi level, dan subroutine tak berbatas sistem sarang (nesting) dan penyederhanaan berbagai tipe manipulasi data.

Gambar 1. 4. Area memori stack dan cara aksesnya

d. Dua Indeks Register (IX dan IY)

Kedua register ini merupakan register idependen yang dapat digunakan untuk menunjuk alamat dasar 16 bit (16-bit base address), hal dilakukan melalui mode pengalamat terindeks (indexed addressing mode). Dalam mode ini sebuah register indeks digunakan sebagai penunjuk alamat dasar dalam menunjuk suatu kawasan dalam memori, yaitu alamat dimana data akan dibaca maupun akan disimpan. Tambahan berupa byte diikut sertakan dalam instruksi indeks untuk menspesifikasikan perpindahan dari dasar tersebut. Perpindahan tersebut dispesifikasikan sebagai komplemen dua dari sebuah integer, hal ini dilakukan untuk tindak penyederhanaan instruksi dalam m*nip"iasi data dalam program terutama penggunaan tabel data.

  1. Mode Pengalamatan

Mode pengalamatan merupakan pemindahan data dari satu lokasi baik register atau memori untuk diletakan pada register lain atau lokasi memori yang ditunjuk, sedang mode pengalamat dapat dijelaskan sebagai berikut:

pasangan HL (penunjuk memori), maka penulisan instruksinya secara asembler adalah:

LD HL.1875 dan

kode operasionalnya: 21 75 18

2.1 Relative addressing

Realative addressing merupakan penunjukan alamat memori yang jilakukan melalui perhitungan relatif. Biasanya digunakan untuk fasilitas lompat (juuip) dari lokasi dimana instruksi dilaksanakan menuju lokasi tertentu ditunjuk dengan mode relatif (-128 s/d 127). Instruksi merupakan 2 dua) byte yang terdiri dari kode operasi dan tujuan penempatan relatif (displacement). Adapun contoh instruksi sebagai berikut:

JP 75

dan kode operasionalnya: 18 75

2.2 Extended addressing

Extendded addressing mode pengalamatan adalah menunjuk langsung lokasi dimana data berada pada memori untuk disimpan pada sebuah register, adapun penunjuk alamat 16 bit dan kode operasi 1 byte. Contoh instruksi sebagai berikut:

LD A,(1875)

dan kode operasionalnya: 3A 75 18

1.3 Indexed addressing

Mode ini menggunakan register index (IX dan IY) untuk menunjuk alamat, operasi pengalamat menggunakan 16 bit. Berikut contoh untuk memindahkan isi register E untuk diletakan pada alamat yang ditunjuk oleh register IX:

 

LD (IX+08H), E

dan kode operasionalnya: DD 73 08

1.4 Register addressing

Mode ini pengalamatan langsung ditunjukan oleh kode operasi pemindahan data dari satu register ke dalam register lainnya. berikut contoh pemindahan isi register D ke dalam Akumulator:

LD A, D

dan kode operasionalnya: 7A

1.5 Register Indirect addressing

Mode ini pengalamatan ditujukan untuk memindahkan data yang berada pada register untuk diletakan pada memori dengan alamat yang ditunjuk oleh pasangan register. Sebagai contoh isi akumulator dipindahkan ke memori dengan lokasi yang ditunjuk oleh pasangan register BC:

LD (BC), A

dan kode operasionalnya: 02

2.6 Immediate addressing

Pada mode ini menggunakan bilangan yang merupakan konstanta (immediate) 8 bit sebagai operand, dan kemudian menyimpannya pada register yang dituju dengan alamat sudah ditentukan. Sintak penulisan instruksi terdiri dari 2 (dua) byte), yaitu untuk byte pertama merupakan kode operasi (Opcode) dan byte kedua merupakan data atau konstanta.

Sebagai contoh menyimpan konstanta 75 dalam bilang hexa ke dalam register A (akumulator), maka penulisan instruksinya secara asembler adalah:

LD A,75

dan kode operasionalnya: 3E 75

2.7. Immediate extended addressing

Pada mode ini menggunakan bilangan yang merupakan konstanta (immediate) 16 bit sebagai operand, kemudian menyimpannya pada pasangan register yang dituju dengan alamat sudah ditentukan. Sintak penulisan instruksi terdiri dari 3(tiga) byte), yaitu untuk byte pertama merupakan kode operasi (Opcode) untuk byte kedua dan ketiga merupakan data atau konstanta 16 bit.

  1. Interupsi Page Address Register (I)

CPU Z80 dapat digunakan untuk mode operasi dimana pemanggilan langsung pada alamat memori sebagai respon dari pelaksanaan interupsi, register I digunakan untuk tujuan tersebut dan penyimpanan 8 bit high order dari alamat tidak langsung (indirect address) sementara itu peralatan (devais) yang melakukan interupsi melayani 8 bit alamat order rendah. Fitur ini memungkinankan adanya layanan rutin interupsi dinamis yang datanya terletak di berbagai tempat dalam memori dengan waktu akses minimal dalam sebuah rutin. Z80 juga berisi beberapa register yang memungkinkan pengguna mengontrol perangkat keras dengan cara yang sangat sederhana

CPU selalu menerima dan melayani interup non-maskable, dan ketika interup ini muncul maka CPU akan mengabaikan pelaksanaan instruksi berikutnya dan memulai eksekusi instruksi yang berada pada lokasi 00066H Pada saat ini lebih kearah pemanggilan alamat khusus pada memori ft, sehingga CPU dapat diprogram untuk merespon interup maskable melalui satu dari ketiga mode.

Interupsi dapat dikontrol dengan dua flag (IFF.1 dan IFF.2) dan 8-bit halaman pointer (I). Programmer dapat mengaktifkan dan menonaktifkan beberapa interupsi dengan menetapkan dan kliring IFF.1. Ketika interupsi tidak terjadi isi saat IFF.1 disimpan dalam IFF.2 dan kemudian IFF.1 diatur sehingga interupsi lanjut dinonaktifkan. Ketika program telah selesai menangani IFF.2 interrupt disalin kembali ke IFF.1, memulihkan flag ke nilai aslinya.

3.1 Mode interupsi non-maskable

Mode interupsi non-maskable merupakan interupsi langsung artinya tidak dihalangi oleh Flip-flop yang berfungsi sebagai interupsi (IFF), layanan diberikan dengan urutan prioritas tertinggi setelah interupsi riset dan Busrq (Bus request).

3.2 Mode interupsi maskable

Mode interupsi maskable merupakan interupsi yang dihalangi oleh Flip-flop yang berfungsi sebagai interupsi (IFF), layanan mode ini terbagi menjadi 3(tiga) meliputi:

a. Mode 0

Melalui interupsi mode 0 yaitu dengan adanya sinyal interupsi ini CPU akan menunjuk salah satu dari alamat 0000H, 0008H, 001 OH, 0018H, 0020H, 0028H, 0030H dan 0038H. dimana devais dapat menempatkan instruksi pada bus data dan CPU akan mengeksekusinya, sehingga interup yang dilakukan oleh devais akan mendpatkan layanan instruksi berikutnya untuk dilaksanakan. Pada umumnya merupakan instruksi restart karena interupsi devais hanya membutuhkan instruksi dengan byte tunggal, alternatif lain adalah instruksi call 3 byte pada lokasi memori tertentu dilaksanakan.

b. Mode 1

CPU akan menunjuk alamat 0038H setelah menerima sinyal interupsi, jadi dengan mode 1 dipilih, respon CPU terhadap interup adalah melaksanaka

restart pada memori dengan alamat 0038H. Dengan demikian respon yang terjadi identik dengan pelaksanaan interup non-maskable kecuali lokasi aatau alamat yaitu 0038H jadi bukan 0066H. Jumlah siklus yang dibutuhkan untuk menyelesaikan instruksi restart adalah dua lebih dibanding normal dengan tambahan dua state wait.

c. Mode 2

Mode ini merupakan interupsi yang terkait dengan port I/O, CTC, SIO dan DMA dengan penunjukan alamat dilakukan oleh register I untuk 8 bit atas dan 8 bit bawah ditunjuk oleh peminta interupsi, untuk alamat yang ditunjuk merupakfn satu area memori (page) yang terdiri dari 128 lokas.

Mode 2 merupakan mode respon CPU terhadap interup dalam katagori powerful, dengan 8-bit tunggal atau 1 byte dari user melalui indirect call dapat digunakan untuk menunjuk lokasi memori sesuai yang diinginkan (bebas). Dalam mode ini seorang programer dpat mengelolah daftar dari starting addresses 16-bit untuk rutin layanan setiap interup, daftar atau tabel dapat diletakan dl lokasi sesuai keinginan programer. Pada saat interup diterima oleh CPU, maka pointer 16 bit diformulasikan untuk mendapatkan alamat awal (starting addresses) dari daftar. Delapan bit teratas merupakan pointer (penunjuk) dari isi register I, dan isi register I harus dimuati nilai yang diinginkan oleh programer seperti LD I, A.

Dalam hal ini CPU melakukan reset untuk proses clear pada register I sehingga nilainya menjadi nol, dan untuk 8 bit terendah merupakan pointer harus diberikan oleh devais yang memberi interupsi. Hanya 7 bit dibutuhkan dari devais penginterup karena LSB harus sama dengan nol, hal ini dibutuhkan karena pointer digunakan untuk mendapatkan dua byte khusus untuk memformulasikan alamat awal rutin layanan interupsi dan alamat awal dimulai dari lokasi even.

 

 Tugas dan Latihan :

  1. Latihan/Tugas

Tugas 1

1. Bacalah dan pahami dengan seksama uraian-uraian materi pada kegiatan belajar Register Internal CPU Z80 yang memiliki 4 (empat) fungsi rangkaian dasar register

  1. Buat catatan-catatan kecil sebagai kata kunci untuk setiap materi pokok.
  2. Bermodalkan poin 1 dan poin 2, lakukan diskusi kelompok yang terdiri maksimal 4 orang peserta dalam satu kelompok.
  3. Pertanyaan yang harus dijawab dalam diskusi bagaimana prinsip kerja dan fungsi rangkaian register:
    1. Masuk Serial Keluar Paralel (Serial In Paralel Out / SIPO)
    2. Masuk Serial Keluar Serial (Serial In Serial Out / SISO).
    3. Masuk Paralel Keluar Serial (Paralel In Serial Out / PISO)
    4. Masuk Paralel Keluar Paralel (Paralel In Paralel Out / PIPO)
  4. Buatlah laporan hasil diskusi dalam bentuk ringkasan pemahaman bersama pada kelompok anda.

Tugas 2

Tugas 2

1. Bacalah dan pahami dengan seksama uraian-uraian materi pada kegiatan belajar Arsitektur Sistem Mikroprosessor Z80 dan system kerjanya. Bila ada materi yang kurang jelas, peserta dapat bertanya pada instruktur pengampu kegiatan belajar.

2. Buat catatan-catatan kecil sebagai kata kunci untuk setiap materi pokok.

3 .Bermodalkan poin 1 dan poin 2, lakukan diskusi kelompok yang terdiri maksimal 4 orang peserta dalam satu kelompok.

4. Pertanyaan yang harus dijawab dalam diskusi bagaimana prinsip kerja dan fungsi komponen sistem arsitektur mikroprosesor Z80.

5. Buatlah laporan hasil diskusi dalam bentuk ringkasan pemahaman bersama pada kelompok anda

Tugas 3

1. Bacalah dan pahami dengan seksama uraian-uraian materi pada kegiatan belajar stack pointer, indeks register dan system pengalamatan pada Z80. Bila ada materi yang kurang jelas, peserta dapat bertanya pada instruktur pengampu kegiatan belajar.

2. Buat catatan-catatan sebagai kata kunci untuk setiap materi pokok

3. Bermodalkan poin 1 dan poin 2, lakukan diskusi kelompok yang terdiri maksimal 4 orang peserta dalam satu kelompok.

4. Pertanyaan yang harus dijawab dalam diskusi bagaimana prinsip kerja dan fungsi dari:

  1. Stack Pointer (SP)
  2. Dua InueKs t^eqister (IX dan IY)
  3. Register dengan Mode Pengalamatan
  4. Instruksi Register dan Kendali CPU
  5. Register Perintah
  6. Pendekoder Perintah
  7. Pengontrol Waktu dan Aliran (Pengontrol Waktu dan Aliran)
  8. Memory Refresh Register (R)

5. Buatlah laporan hasil diskusi dalam bentuk ringkasan pemahaman bersama pada kelompok anda

Tugas 4

1. Bacalah dan pahami dengan seksama uraian-Ufaian materi kegiatan belajar Interupsi Page Address Register (I).

2. Buat catatan-catatan kecil sebagai kata kunci untuk setiap materi pokok.

3. Bermodalkan poin 1 dan poin 2, lakukan diskusi kelompok yang terdiri maksimal 4 orang peserta dalam satu kelompok.

4. Pertanyaan yang harus dijawab dalam diskusi bagaimana prinsip kerja Interupsi Page Address Register (I).

5. Buatlah laporan hasil diskusi dalam bentuk ringkasan pemahaman bersama pada kelompok anda