21
Bahan Ajar Indikator : Siswa dapat mengidentifikasi Arsitektur mikroprosessor. Materi : 1. Arsitektur z-80 Arsitektur Z80 didesain dengan mengaplikasikan metode standard bus, yaitu address bus, data bus, control bus. Arsitektur dasarnya mengikuti arsitektur Intel 8080, oleh karena itu kode mesin Z80 dan 8080 memiliki kemiripan, namun jumlah set instruksi berbeda yaitu 8080 memiliki 78 instruksi, sedang Z80 memiliki 158 instruksi . Type Z80 awal memiliki kemampuan kerja 2 MHz, Z80A memiliki kemampuan kerja 4 MHz. Mulai pertengahan tahun 1980-an, Z80 ini telah dikembangkan dengan teknologi CMOS bertipe Z84C00. Tipe ini adalah produksi terakhir yang mampu bekerja dengan frekuensi sampai dengan 16 MHz.

Bahan Ajar E-learning Dan Mikroteaching

Embed Size (px)

Citation preview

Bahan Ajar

Indikator : Siswa dapat mengidentifikasi Arsitektur mikroprosessor.

Materi :

1. Arsitektur z-80Arsitektur Z80 didesain dengan mengaplikasikan metode standard bus, yaitu address bus, data bus, control bus. Arsitektur dasarnya mengikuti arsitektur Intel 8080, oleh karena itu kode mesin Z80 dan 8080 memiliki kemiripan, namun jumlah set instruksi berbeda yaitu 8080 memiliki 78 instruksi, sedang Z80 memiliki 158 instruksi . Type Z80 awal memiliki kemampuan kerja 2 MHz, Z80A memiliki kemampuan kerja 4 MHz. Mulai pertengahan tahun 1980-an, Z80 ini telah dikembangkan dengan teknologi CMOS bertipe Z84C00. Tipe ini adalah produksi terakhir yang mampu bekerja dengan frekuensi sampai dengan 16 MHz.

Z80 bekerja pada tegangan tunggal +5V. Z80 memiliki internal register 208 bit, termasuk diantaranya 6 buah general purpose register, yang dapat digunakan terpisah (tiap 8 bit) maupun sebagai pasangan register 16 bit. Tersedia pula instruksi exchange yang berfungsi untuk melipatgandakan accumulator atau

general purpose register. Fasilitas Exchange ini dapat juga digunakan untuk menunjang fungsi kerja semacam mode foreground-background atau untuk menunjang fungsi respon interrupt yang cepat. Z80 juga memiliki sebuah register Stack Pointer, Program Counter, dua buah Index Register, sebuah Refresh Register dan sebuah Interrupt Register.

Fungsi pin z-80

• A0-A15 adalah address bus, berfungsi sebagai output dengan kapasitas 16 bit dengan posisi A0 sebagai LSB dan A15 sebagai MSB

• D0-D7 adalah data bus, berfungsi sebagai input atau output dengan kapasitas 8 bit bidirectional, digunakan untuk pertukaran data antara CPU dan memori atau I/O

• CLK adalah clock, berfungsi sebagai input. Pada pin ini, harus diberikan pulsa clock dari rangkaian oscillator agar sistem dapat bekerja

• RD adalah Read, berfungsi sebagai input , bersifat active low. Bila pin aktif menunjukkan CPU menginginkan suatu proses pembacaan data dari memori atau peralatan Input

• WR adalah Write, berfungsi sebagai output , bersifat active low. Bila pin aktif menunjukkan CPU menginginkan suatu proses penulisan data ke memori atau peralatan output

• MREQ adalah Memory Request, befungsi sebagai output, bersifat active low . Bila pin aktif menunjukkan address bus sedang berisi alamat yang valid untuk suatu proses read/write

• IORQ adalah I/O Request, befungsi sebagai output, bersifat active low . Bila pin aktif menunjukkan A7-A0 dari address bus sedang berisi alamat I/O yang valid untuk suatu proses read/write pada piranti I/O

• BUSREQ adalah Bus Request, befungsi sebagai input, bersifat active low . Bila pin aktif menunjukkan ada rangkaian luar yang menginginkan akan menggunakan bus tersebut

• BUSACK adalah Bus Acknowledge, befungsi sebagai output, bersifat active low . Bila pin aktif menunjukkan busack sedang memberitahu kepada rangkaian tertentu yang sebelumnya meminta kepada CPU untuk menggunakan bus, bahwa bus dapat digunakan

• INT adalah Interrupt Request, befungsi sebagai input, bersifat active low . Bila pin ini diaktifkan maka CPU akan melakukan interupsi terhadap program yang sedang dijalankan, dan akan menuju ke suatu program yang telah didefinisikan oleh instruksi INT. Alamat awal program rutin interrupt ini disebut sebagai Interrupt Vector

• NMI adalah Non–Maskable Interrupt, befungsi sebagai input, bersifat active low . NMI memiliki prioritas lebih tinggi daripada INT. Pada setiap pemberian sinyal NMI, CPU akan melakukan proses jump ke alamat 0066H

• RESET adalah Reset, befungsi sebagai input, bersifat active low . Bila pin ini diaktifkan maka akan menginisialisasi CPU kembali ke posisi 0000H, semua register diclearkan, dan status interrupt diset dalam mode 0. Untuk mendapat kan hasil reset yang lengkap , sinyal Reset harus diberikan minimal selama 3 siklus clock secara penuh

• HALT adalah Halt State, befungsi sebagai output, bersifat active low. Bila pin ini aktif menunjukkan bahwa CPU telah mendapat perintah Halt dari program untuk menghentikan proses kerja sementara, sampai mendapat sinyal Interrupt atau NMI. Selama proses Halt, CPU menjalankan instruksi NOP (no operation) secara berulang untuk menjaga agar memori tetap valid

• M1 adalah Machine Cycle One, befungsi sebagai output, bersifat active low. M1 bersama dengan RFSH menunjukkan bahwa siklus mesin yang sedang berjalan pada saat itu adalah opCode fetch cycle (siklus pengambilan opCode)

• RFSH adalah Refresh, befungsi sebagai output, bersifat active low. RFSH dan M1 bersama-sama menunjukkan bahwa konfigurasi A7-A0 pada address bus dapat digunakan sebagai refresh address ke sistem memori dinamik

• WAIT adalah Wait, befungsi sebagai input, bersifat active low. Bila pin ini aktif berarti CPU sedang diberitahu bahwa memori atau peralatan I/O belum siap memberikan datanya untuk ditransfer. CPU menunda pekerjaannya sampai kontrol tidak aktif

Register-register z-80

• Z80 memiliki Read/Write memori yang disebut register sebanyak 208 bit atau (26 register x 8 bit)

• Memori dalam CPU sangat berguna bagi programmer dalam pembuatan program

• Register Z80 dibagi ke dalam 18 buah register 8 bit dan 4 buah register 16 bit

• Accumulator (A) dan Flag Registers (F)

Z80 memiliki 2 buah memori register bebas dengan nama khusus yaitu Accumulator dan Flag Register, masing-masing terdiri dari 8 bit. Accumulator memiliki kemampuan khusus dalam operasi aritmatika dan logika. Register ini paling sering digunakan oleh programmer. Flag Register digunakan untuk menunjukkan kondisi khusus pada operasi data yang terjadi di Accumulator. Kedua register ini sering digunakan sebagai pasangan register untuk operasi aritmatika dan logika

• General Purpose Registers

Z80 memiliki register-register serbaguna yang dapat digunakan sewaktu-waktu untuk menyimpan memori . Register-register ini terdiri dari register B, C, D, E, H dan L. Masing-masing memiliki register komplemen B’, C’, D’, E’, H’ dan L’. Tiap register berstruktur 8 bit. Bila diperlukan register 16 bit , maka dapat disusun sebagai pasangan register BC, DE dan HL. Komplemennya adalah BC’, DE’ dan HL’

• Special Purpose Registers

Program Counter (PC). Register ini bertugas memegang 16 bit alamat setiap saat ketika CPU sedang melakukan proses fetch data. PC secara otomatis akan bertambah dengan 1 bila sebuah proses fetch data telah selesai. PC juga akan berubah bila terjadi proses jump ke lokasi tertentu

Stack Pointer (SP). Register ini bertugas memegang 16 bit alamat paling atas dari memori eksternal (RAM) setiap saat ketika program sedang berjalan. External stack memory ini tersusun dengan sistem LIFO. Data dapat di push dari suatu register ke stack, atau di pop dari stack ke suatu register

Dua Index Registers (IX dan IY). Dua buah index register bebas ini bertugas memegang 16 bit alamat yang digunakan dalam indexed addressing mode. Dalam hal ini, isi index register digunakan sebagai titik dasar hubungan CPU ke suatu daerah memori tertentu dimana data disimpan atau diambil. Diperlukan sebuah byte tambahan yang dimasukkan ke dalam instruksi index. Dengan index register, memudahkan programmer dalam penyusunan sistem pengalamatan misalnya dalam program yang membutuhkan tabel-tabel yang banyak

• Interrupt Page Address Registers (I). Z80 dapat dioperasikan dalam mode tertentu dimana suatu hubungan tak langsung ke memori dapat

dicapai dengan memberikan suatu interrupt. Pada operasi ini, register I digunakan untuk menyimpan 8 bit alamat atas dari alamat yang akan dituju, sedangkan 8 bit alamat bawah akan diberikan oleh piranti yang melakukan interrupt. Dengan keistimewaan ini sub rutin interrupt dapat ditempatkan dimana saja di dalam memori sesuai bentuk program yang diinginkan

• Memory Rerfresh Registers (R). Z80 memiliki sebuah memori refresh counter sehingga memungkinkan bagi Z80 untuk dirangkai dengan dynamic memory bersama-sama dengan static memory.

Arithmethic dan Logic Unit (ALU)

• Bahasa mesin Z80 memiliki fasilitas-fasilitas untuk mengolah data dalam operasi aritmatika dan logika. Operasi ini dilakukan dalam ALU , yaitu suatu bagian rangkaian dalam CPU yang bertugas khusus mengolah data dalam operasi aritmatika dan logika.

ALU dapat mengolah data-data dalam operasi :

– Add : Penambahan

– Subtract : Pengurangan

– Logical AND : Logika AND dalam digital

– Logical OR : Logika OR dalam digital

– Logical EX-OR : Logika EX-OR dalam digital

– Compare : Membandingkan dua data

– Left/Right Shift : Menggeser ke kiri / ke kanan

– Left/Right Rotates : Rotasi ke kiri / ke kanan

– Increment : Penambahan dengan 1

– Decrement : Pengurangan dengan 1

– Set Bit : Set logika pada bit tertentu

– Reset Bit : Reset logika pada bit tertentu

– Test Bit : Melakukan test pada bit tertentu

• Register instruksi dan kontrol CPU

• Setiap instruksi yang diambil dari memori selalu ditempatkan di dalam register instruksi untuk kemudian didekode (dijabarkan maksudnya sesuai bahasa mesin). Setelah didekode, bagian kontrol CPU akan menjalankan perintah sesuai dengan tugas menghasilkan sinyal-sinyal kontrol yang dibutuhkan, misalnya sinyal kontrol read/write, sinyal kontrol mengatur ALU, dan sinyal kontrol lain untuk pengaturan rangkaian-rangkaian luar.

• Z80 mempunyai indikator status berupa Flag Register (F dan F’) yang dapat memberikan informasi kepada programmer mengenai status CPU Z80 setiap waktu pada saat CPU sedang bekerja

• Posisi tiap bit Flag Register adalah sebagai berikut :

D7 D6 D5 D4 D3 D2 D1 D0

S Z X H X P/V N C

Keterangan :

C = Carry Flag Z= Zero Flag

N = Add/Subtract Flag S = Sign Flag

P/V = Parity/Over Flow Flag X = tidak digunakan

H = Half-Carry Flag

Flag Register

• Flag Register F dan F’ memiliki 6 bit informasi status CPU Z80 yang dapat dites dan diset atau direset melalui instruksi-instruksi dalam program

• Bit-3 dan bit-5 tidak digunakan. 4 dari 6 bit yang digunakan bersifat testable. Dengan instruksi-instruksi seperti conditional jump, call, atau return, 4 bit (C, P/V, Z, S) tersebut dapat diketahui statusnya. 2 bit sisanya (H & N) tidak bersifat testable dan hanya digunakan pada operasi aritmatik BCD.

Teknik Interrupt CPU Z80

• Interrupt adalah proses sisipan pelaksanaan suatu subrutin dalam suatu program, yang tidak dilakukan secara perangkat lunak, tetapi dilakukan dengan melalui perangkat keras dengan pengaktifan sinyal-sinyal interupt baik NMI maupun INT

• Kegunaan dari suatu interrupt adalah untuk mengizinkan suatu peralatan peripheral I/O atau sistem rangkaian lain yang terhubung ke CPU , untuk menunda operasi yang sedang dijalankan oleh CPU sewaktu-waktu pada saat proses sedang berjalan

• Di dalam CPU Z80 terdapat 2 buah Flip-Flop yang bekerja untuk mengaktifkan interrupt, yaitu IFF1 dan IFF2.

Sistem Timing CPU Z80

• CPU Z80 mempunyai 3 buah operasi dasar, yaitu :

• Memory Read/Write (baca/tulis data pada memori)

• I/O Device Read/Write (baca/tulis data pada piranti I/O)

• Interrupt

• Semua instruksi yang dimiliki Z80 sebenarnya hanyalah pengembangan dari ketiga operasi dasar tsb

• Setiap operasi membutuhkan 3-6 periode clock untuk dapat menyelesaikan tugasnya, atau dapat diperpanjang untuk mengupayakan sinkronisasi CPU dengan peralatan luar

• Dalam operasi program, siklus mesin yang pertama (M1) dari setiap instruksi adalah Fetch Cycle. Siklus ini membutuhkan 4-6 siklus, kecuali bila kontrol wait diaktifkan. Siklus berikutnya biasanya perpindahan data antara CPU dengan memori atau piranti I/O.

Waktu Eksekusi Instruksi Z80

• Z80 adalah mikroprosesor 8 bit, yang berarti memiliki 8 bit data bus. Kombinasi logika yang mungkin pada data bus bervariasi dari 00000000B sampai 11111111B atau ada 256 kemungkinan, yang berarti pula mempunyai maksimal 256 instruksi dasar (operation code) yang berbeda

• Namun umumnya, programmer mikroprosesor tidak menggunakan semua kombinasi logika untuk dijadikan suatu instruksi dasar. Karena sebuah instruksi dasar masih dapat dikembangkan menjadi instruksi-instruksi lanjutan dengan menambahkan operand dibelakangnya

• Penggunaan instruksi-instruksi dasar yang banyak, cenderung menuntut programmer untuk menyediakan energi yang lebih besar untuk menghafal dan mengerti arti setiap instruksi.

H. Tes FormatifPilihlah salah satu jawaban yang saudara anggap paling benar

1. Komputer mikro MPF-I menggunakan A. Z-80 CPU sebagai PIO B. Z-80 CPU sebagai mikroprosesor C. Z-80 CPU sebagai memori D. Z-80 CPU timer

2. Komputer mikro MPF-I menggunakan A. Z-80 PIO sebagai PIO B. Z-80 PIO sebagai mikroprosesor C. Z-80 PIO sebagai memori D. Z-80 PIO timer

3. Komputer mikro MPF-I menggunakan A. Z-80 CTC sebagai PIO B. Z-80 CTC sebagai mikroprosesor C. Z-80 CTC sebagai memori D. Z-80 CTC timer

4. Komputer mikro MPF-I menggunakan A. tiga buah LED seven segment B. empat buah LED seven segment C. lima buah LED seven segment D. enam buah LED seven segment

5. Untuk mengatur display LED seven segment komputer mikro MPF-I menggunakan A. Z-80 PPI B. Z-80 CTC C. PPI 8255 D. Z-80 PIO

6. Komputer mikro MPF-I menggunakan A. tiga puluh buah tombol key board B. tiga puluh enam buah tombol key board C. tiga puluh dua buah tombol key board D. tiga puluh lima buah tombol key board

7. Untuk mengeksekusi program Komputer mikro MPF-I menggunakan A. tombol GO dan tombol STEP B. tombol GO dan tombol PC C. tombol STEP dan tombol PC D. tombol STEP dan tombol DATA

8. Untuk mengganti isi register Komputer mikro MPF-I menggunakan A. tombol REG dan tombol PC B. tombol REG dan tombol ADDR C. tombol REG dan tombol DATA D. tombol REG dan tombol RELA

9. Untuk mengganti isi memori Komputer mikro MPF-I menggunakan A. tombol REG dan tombol DATA B. tombol ADDR dan tombol PC C. tombol REG dan tombol PC D. tombol ADDR dan tombol DATA

10. Komputer mikro MPF-I bekerja menggunakan power supply A. 9 volt 500 mA B. 5 volt 500 mA C. 7,5 volt 500 mA D. 5 volt 1000 mA

11. Mikroprosesor Z-80 CPU memiliki kemampuan pengalamatan memori A. 64 k bit B. 64 k byte C. 640 k byte D. 640 k bit

12. Mikroprosesor Z-80 CPU memiliki kemampuan pengalamatan I/O A. 256 bit B. 265 byte C. 256 byte D. 625 bit

13. Mikroprosesor Z-80 CPU memiliki register A. 8 buah register 8 bit dan 4 buah register 16 bit B. 8 buah register 16 bit dan 4 buah register 8 bit C. 16 buah register 8 bit dan 8 buah register 4 bit D. 16 buah register 16 bit dan 8 buah register 8 bit

14. Pada Mikroprosesor Z-80 CPU fungsi aritmetika penjumlahan dinyatakan dalam perintah A. DAA, DDA, ACD B. SUB, SBC, DEC C. ADD, ADC, INC D. BUS, BSC, EDC

15. Pada Mikroprosesor Z-80 CPU fungsi aritmetika pengurangan dinyatakan dalam perintah A. DAA, DDA, ACD B. SUB, SBC, DEC C. ADD, ADC, INC D. BUS, BSC, EDC

16. Pada Mikroprosesor Z-80 CPU fungsi logika dinyatakan dalam perintah A. AND, OR, XOR B. ADN, OR, XOR C. AND, RO, XOR D. ADN, RO, ROX

17. Pada Mikroprosesor Z-80 CPU pengendalian bus pengalamatan diatur oleh register A. SP B. PC C. IX

D. IY

18. Data 9B adalah data penyalaan untuk karakter : A. Angka 5 B. Angka 4 C. Angka 3 D. Angka 2

19. Pernyataan berikut yang benar A. Sistim mikroprosesor adalah sistim yang hanya menggunakan mikroprosesor B. Sistim mikroprosesor adalah sistim yang menggunakan mikroprosesor

sebagai kendali uatama C. Sistim mikroprosesor adalah sistim yang tersusun dari Mikroprosesor Unit,

Memori Unit, dan I/O Unit D. Sistim mikroprosesor adalah sistim yang hanya dapat bekerja jika ada memori

20. Pernyataan berikut yang salah A. Semua memori elektronik adalah RAM B. IC EPROM 2764 adalah RWM C. IC EPROM 2732 adalah RAM D. IC RAM 6116 adalah RWM