Anda di halaman 1dari 9

ANALISIS PROSES KERJA SISTEM MIKROPROSESOR:

OBSERVASI BUS
TUJUAN
1. Mahasiswa menjelaskan prinsip kerja antara address-bus, data-bus, dan control-bus.
2. Mahasiswa mampu menjelaskan prinsip kerja CPU Z80 dalam mengambil/membaca data,
menerjemahkan dan menjalankan instruksi yang dimaksud (fetch-decode-run).
3. Mahasiswa mampu menggunakan logic-port untuk membantu proses observasi bus pada CPU
TMPZ84C00.
PERALATAN
1. Komputer (1 )
2. Universal Programmer (1)
3. Modul FZ80 CPU (1)
4. Powe Supply (1)
5. Data Sheet Komponen : Z80 – CPU / PPI8255/ RAM 622556/ EEPROM 28C64B (1)
6. IC 28C648 (EEPROM) dan RAM 62256 (1)
7. Instruction Set Z80 (1)
8. Logic Analyzer (1)

TEORI
Pada dasarnya Nikroprosesor membaca instruksi yang diambilnya dari memory, baik
EPROM maupun RAM, dan mengeksekusinya langkah perlangkah seperti yang ditunjukkan pada
Gambar 3.1 berikut ini.

Read/Fetch Data
Membaca alamat yang telah
ditunjukkan

Decode
Men-dekode (Menerjemahkan)
Data yang telah di Fetch (baca)

EXECUTE
Mengeksekusi instruksi sesuai
hasil decode

PC <= PC + 1

Gambar 3.1
Pada dasarnya proses di atas berjalan terus-menerus tanpa keluar dari loop, kecuali dengan
perlakuan tertentu, baik secara hardware (misalnya interrupt) maupun secara software (misalnya
perlaksanaan instruksi: jump, call & ret, push & pop, dan restart).
Setiap kali melaksanakan instruksi, PC ditambah 1. Misalnya mikroprosesor menapat
instruksi:
LD A,0FH
Pada sistem rangkaian berbasis Z80, instruksi ini disimpan di memory dalam (2x8)bit, atau
2byte. Kode-kode mesinnya adalah 3 E dan 0 F. dalam biner adalah 00111110B dan 00001111B.

Kode Mesin Instruksi


3E 0F LD A,0FH

Pada saat CPU Z80 membaca dan mengartikan kode mesin 3E maka ia tahu bahwa instruksi
tersebut adalah 'Loading Value' ke Register A. Instruksi ini menyebabkan CPU 280 menambah PC
dengan 1, dan melanjutkan membaca data di alamat memory yang ditunjukkan oleh PC yang baru.
data yang ada di PC yang baru ini akan dianggap sebagai nilai (value) yang haru sdiisikan (loading)
ke register A. Selanjutnya CPU menambah lagi PC dengan 1, dan melakukan proses membaca data
berikutnya.
Menyimak bahwa sebuah instruksi dalam bahasa Assembly dapat diikuti data yang berlaku
sebagai Operand atau tidak, maka proses penambahan PC dengan I adalah berjalan dengan
berorientasi pada setiap lokasi memory. Jadi proses membaca dan mengeksekusi sebuah instruksi
bahasa Assembly yang lengkap dapat terdiri lebih dari sebuah loop.
Setiap mikroprosessor menggunakan metoda Stored Programming dalam mengorganisasi
penggunaan dan pengolahan data-datanya. Yang dimaksud dengan Stored Programming adalah
metoda penyimppanan sementara data-data yang sedang diolah yang melibatkan Program Counter,
Stack Pointer. dan Register-register Memory (to Store menyimpan, menumpuk).
Program Counter bertugas memegang' alamat dari setiap instruksi pada saat instruksi
tersebut sedang dijalankan. Setiap instruksi selesai dijalankan dan CPU melanjutkan mengerjakan
instruksi berikutnya, isi Program Counter akan berubaha ke posisi di mana instruksi berikut itu di
simpan. Program counter ini berguna untuk menunjukan sedang berada di alamt mana CPU bekerja.
Observasi bus yang dimaksud dalam percobaan ini adalah observasi yang dilakukan
terhadap suatu operasi kontinyu yang singkat yang sedang dilakukan oleh CPU Z80 Dipilih operasi
kontinyu yang singkat dimaksudkan agar piranti monitor yang kita miliki. yaitu oscilloscope
standard, dapat digunakan untuk menunjukkan bentuk-bentuk pulsa atau gelombang yang terjadi
pada address bus, data bus, dan beberapa jalur control yang bentuk- bentuk gelombangini saling
berhubungan menunjukkan suatu fenomena operasi yang sedang dijalankan.
Operasi yang dibentuk oleh CPU Z80 ini dapat dikelompokkan dalam 3 buah operas dasar
yaitu:
1. Memory read write (baca tulis data pada memory).
2 IO Device read/write (baca tulis data pada piranti Input Output).
3. Interrupt (Interupsi).
Gambar di bawah memperlihatkan tiga model pewaktuan dasar (timing) dalam operasi CPU
Z80, yaitu Op-Code Fetch, Memory Read and Memory Write, yang digabung dalam suatu grafik.

Gambar 3.2 Perwakilan Dasar Operasi pada CPU Z80


Pada gambar di atas, sebuah periode clock dinyatakan sebagai siklus T, sedang operasi dasar
dinyatakan sebagai M (Machine Cycle). Machine Cycle terdiri dari M1, M2, dan M3. M1 memiliki
4 buah siklus T, yaitu T1, T2, T3, dan T4. M2 memiliki 3 buah siklus T. yaitu T1, T2, dan T3.
Demikian pula M3 memerlukan waktu 3 siklus T. yaitu TI T2, dan T3.
Dalam operasi suatu program, Machine Cycle yang pertama (MI) dari setiap instruksi adalah
fetch eyele (pengambilan OP code un di-dekode). Siklus ini membutuhkan 4 sampai dengan 6
siklus, terkecuali bila control WAIT diaktifkan Machine Cycle berikutnya biasanya adalah
perpindahan data antara CPU dengan memori atau peralatan I/O, meskipun ada pula pada instruksi-
instruksi tertentu Machine Cycle berikutnya adalah Op code fetch lagi. Siklus ini membutuhkan 3
sampai dengan 5 siklus T, terkecuali pula bila dibutuhkan proses sinkronisasi dengan membeirkan
waktu tunggu.
Selama T2 dan apada setiap siklus berikutnya siklus mesin CPU dapat diperpanjang dengan
mengaktifkan WAIT. Teknik pemberian "waktu tunggu yang fleksibel ini membuat CPU Z80 dapat
di-match-kan dengan bermacam-macam komponen memori yang memilik waktu akses (access
time) yang berbeda.
Pewaktuan Op Code Fetch

Gambar 3.3 Pewaktuan Op Code Fetch

Gambar 3.3 memperlihatkan diagram pewaktuan Op code fetch selamam machine cycle M1
(Op code fetch cycle). Pertama, pada siklus M1 address bus berisi data yang tersimpan di Program
Counter (PC), setengah clock cycle berikutnya sinyal MREQ menjadi aktif. Pada saat ini alamat
yang terhubung ke memori telah menjadi stabil sehingga falling edge dari sinyal MREQ ini dapat
dimanfaatkan langsung sebagai control chip enable pada memori. Kontrol" RID juga menjadi aktif
yang menunjukkan bahwa pada saat itu data bus sedang digunakan untuk proses pembacaan data
memori. CPU memngambil data dari memori pada saat rising edge T3 dan pada waktu yang
bersamaan pula CPU meng-inaktif- RID MREQ kan sinyal dan Dengan demikian data yang akan
dibaca harus sudah ada dan stabil di data bus sebelum sinyal RD menjadi inactive. Clock state T3
dan T4 dari fetch evele dapat digunakan untuk me-refresh memori dinamik, bila rangkaian
terhubung ke memori dinamik. Pada state ini A7-A0 dari address bus berisi alamat memeori yang
di- refresh dan sinyal control RFSH menjadi aktif. CPU menggunakan waktu T3 dan T4 unutk
menjaga agar data dari segmen memori yang berbeda tidak terhubung ke data bus Selama MREQ
refresh sinyal juga aktif dengan selang waktu yang lebih pendek dan berada di tengah-tengahwaktu
aktif dari sinyal" RFSH RFSH MREQ ini biasanya juga digunakan bersama- RFSH sama dengan"
untuk proses me-refresh memori, karena tidak dapat digunakan sendirian untuk mengaktifkan
proses refresh. Hal ini mengingatkan falling cfge" terjadi pada saat alamat yang berada di address
bus belum stabil.
Pewaktuan Memory Read/Write
Gambar 3.4 di halaman berikut ini menunjukkan suatu diagram pewaktuan dari read/write
cycle pada CPU 280.
Pada read/write cycle juga terjadi proses membaca data seperti pada siklus OpCode Fetch,
tetapi data read/write cycle di sini adalah hanya proses membaca data dari alamat tanpa mendekode.
Sedangkan pada siklus Op Code Fetch data yang sudah dibaca didekode dan diartikan. Read Write
cycle ini pada umumnya terdiri dari 3 buah siklus bila WAIT diaktifkan.

Gambar 3.4 Pewaktuan Memory Read/Write


Pada prinsipnya, proses baca data dari memori ini sama dengan proses baca data pada OP
code fetch cycle. Alamat memori yang akan dituju diletakkan di address bus begitu TI MREQ RD
mengalami sisi pulsa naik dari 0 ke 1 (rising edge). dan bersama-sama aktif begitu T1 menuju ke 0
pada sisi falling edge wait state dapat ditambahkan dengan WAIT mengaktifkan pada falling edge
pulsa clock berikutnya, dalam hal ini adalah T2. data yang akan dibaca berada di data bus pada saat
siklus berada di T3. Data ini diambil oleh CPU berdasarkan falling edge dari T3. berdasarkan
falling edge ini pulsa sesaat kemudian MREQ dan RD menjadi inactive kembali.
Write cycle memiliki T1, T2, dan T3 juga. Alamat memori yang akan ditulis mulai
diletakkan di address bus begitu rising edge T1 terjadi. Berdasarkan falling edge TI MREQ MREQ
menjadi aktif. Begitu aktif data bus akan diisi data oleh CPU. Data ini adalah data) yang akan
dituliskan oleh CPU ke memori. Wait state dapat ditambahkan dengan mengaktifkan pada saat
rising edge T2 telah stabil. Sinyal WR aktif begitu falling edge WAIT T2 terjadi. Pada saat inilah
rangkaian memori mengambil data yang telah ada di data bus Berikutnya, berdasarkan falling edge
T3 sinyal WR dan REQ menjadi inactive kembali.

PROSEDUR PERCOBAAN
1. Menyiapkan papan rangkaian FZ80CPU
2. Menyiapkan catu daya +5V untuk FZ80CPU ini dengan merangkai modul DC Regulator +SV ke
DC Power Supply yang diatur pada tegangan +5V.
3. Memeriksa kelengkapan komponen yang terpasang di FZ80CPU, terutama pada soket IC1 harus
terpasang RAM 62256, sedang soket IC2 kosong.
4. Mengatur posisi Jumper-jumper JP1 sampai dengan JPS sebagai berikut pada kedudukan
5. Menyalakan sumber tegangan. Kemudian memasukkan suatu program ke dalam memory ROM
EEPROM 28C64B dengan cara seperti pada percobaan Burning EEPROM. Pada percobaan Analisa
Bus ini dianggap telah paham tentang cara-cara memasukkan program dengan memanfaatkan
fasilitas universal programmer. Memasukkan kode mesin program berikut ini ke dalam EEPROM
28C64B, mulai alamat 0000H.
ORG 0000H
;
LOOP: LD A,5BH
JP LOOP
;
6. Bila selesai, mengatur kedudukan switch AUTO-STEP pada posisi AUTO, switch STOP-RUN
pada posisi RUN.
7. Pasangkan konektor Logic Port dengan PC, selanjutnya pasangkan wire-wire koneksi Logic Port
dengan CPU TMPZ80 sesuai dengan warna wire serta warna contack pada datasheet.
8. Lakukan analisa dan beri kesimpulan dari gambar timing yang diperoleh.
Gambar 3.5 Pengujian frekuensi Clock

Gambar 3.6 Pengujian Data 3Eh pada Alamat 0h

Gambar 3.6 Pengujian Data 5Bh pada Alamat 4h


Gambar 3.6 Pengujian Data C3h pada Alamat 6h
Gambar 3.7 Koneksi Logic Port dengan FZ80

ANALISA DATA
Pada praktikum mikroprosesor kali ini praktikan akan melakukan percobaan Analisis Proses
Kerja Sistem Mikroprosesor (1): Observasi Bus CPU TMPZ84C00. Percobaan kali ini bertujuan
untuk memahami prinsip hubungan kerja antara address bus, data bus dan control bus CPU Z80 dan
memahami prinsip kerja CPU Z80 dalam mengambil dan membaca data, menerjemahkan dan
menjalankan instruksi yang dimaksud. (fetch – decode – run). Pada data percobaan dapat terlihat
bahwa siklus terjadi pada 3Eh sampai 5Bh. Siklus Op code fetch terjadi pada saat M1 aktif yaitu
pada saat -400ns hingga 100ns dan bernilai 1T pada siklus M1 address bus berisi data yang
tersimpan di Program Counter (PC). Setengah clock cycle berikutnya sinyal MREQ menjadi aktif.
Pada saat ini alamat yang terhubung ke memori telah menjadi stabil sehingga falling edge dari
sinyal MREQ ini dapat dimanfaatkan langsung sebagai kontrol chip enable pada memori. Kontrol
RD juga menjadi aktif yang menunjukkan bahwa pada saat itu data bus sedang digunakan untuk
proses pembacaan data memori.
Read/Write cycle ini pada umumnya terdiri dari 3 buah siklus T. Pada Read/Write cycle
juga terjadi proses membaca data tetapi data dari alamat tertentu tanpa mendekode. Alamat memori
yang akan dituju diletakkan di address bus begitu T1 mengalami sisi pulsa naik dari 0 ke 1. MRBQ
dan RD bersama-sama aktif begitu T1 menuju ke 0. Data yang akan dibaca berada di data bus pada
saat siklus berada di T3. Data ini diambil oleh CPU berdasarkan falling edge dari T3. Berdasarkan
falling edge ini pula sesaat kemudian MREQ dan RD menjadi inactive kembali.
Write cycle memiliki T1, T2 dan T3 juga. Alamat memori yang akan ditulis mulai
diletakkan di address bus begitu rising edge T1 terjadi. Berdasarkan falling edge T1 MREQ menjadi
aktif. Begitu MREQ aktif data bus akan diisi data-oleh CPU. Data ini adalah data yang akan
dituliskan oleh CPU ke memori.

KESIMPULAN
Dari percobaan Analisis Proses Kerja Sistem Mikroprosesor (1): Observasi Bus CPU TMPZ84C00
yang telah dilakukan dapat diambil kesimpulan bahwa
1. Terdapat tiga model pewaktuan dasar (timing) dalam operasi CPU Z80 yaitu Op-Code Fetch,
Memory Read dan Memory Write
2. Siklus Op code fetch membutuhkan waktu 3 sampai dengan 5 T pada siklus M1 address bus
tersimpan di Program Counter (PC). Setengah clock cycle berikutnya sinyal MREQ menjadi aktif
dan RD juga aktif.
3. Read/Write cycle ini pada umumnya terdiri dari 3 buah siklus T. Pada Read/Write cycle juga
terjadi proses membaca data tetapi data dari alamat tertentu tanpa mendekode.

Anda mungkin juga menyukai