Anda di halaman 1dari 4

ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1) OBSERVASI BUS CPU

TMPZ84C00

Obyektif :
1. Memahami prinsip hubungan kerja antara address bus, data bus dan control bus CPU
Z80
2. Memahami prinsip kerja CPU Z80 dalam mengambil/membaca data, menerjemahkan
dan menjalankan intruksi yang dimaksud(fetch decode-run).
Peralatan :
1. Modul FZ80CPU
2. DC Power Supply (Regulated +5V) dengan pulse generator
3. Dual Traces Osciloscope / Logic Analyzer (Optiona)
Teori :
Pada dasarnya mikro prosesor membaca instruksi yang diambilnya dari memory, baik
EPROM mapun RAM, dan mengeksekusinya langkah per langkah seperti yang di tunjukkan
pada gambar 7-1 berikut ini.










Gambar 7-1. Flow chart eksekusi langkah per langkah

Pada dasarnya proses di atas berjalan terus-menerus tanpa keluar dari loop,keccuali
dengan perlakuan tertentu, baik secara hardwaremaupun secara software.Setiap kali
melaksanakan inturksi , PC ditambahkan 1.
Misalnya mikroprosesor medapatkan instruksi:
LD A, 0FH
Pada sistem rangkaian berbasis Z80 , intruksi ini disimpan di memory dalam (2x8)bit, atau 2
byte.Kode-kode mesinnya adalah 3E dan 0F. Dalam biner adalah 00111110B dan
00001111B.
Koden Mesin Instruksi
3E 0F LD A, 0FH

Pada saat CPU Z80 membaca dan mengartikan kode mesin 3E makania tahu bahwa
instruksi tersebut adalah loading value ke Register A.Instruksi ini menyebabkan CPU Z80
menambahkan PC dengan 1, dan melanjutkan membaca data di alamat mwmory yang
menunjukkan oleh PC yang baru. Data yang ada di PC yang baru ini akan dianggap sebagai
nilai (value) yang harus dianggap (loading) ke Register A. Selanjutnya CPU menambah lagi
PC dengan 1, dan melakukan proses membaca data berikutnya.
Menyimak bahwa intruksi dalam bahasa assembly dapat diikuti data yang berlaku
sebagai Operand atau tidak, maka proses penambahan PC dengan 1 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 mikroprosesor menggunakan metode Stored Programming dalam
mengorganisasi penggunaan dan pengolahan data-datanya. Yang dimaksud dengan Stored
Programming adalah metoda penyimpanan sementara data-data yang sedang diolah yang
melibatkan Program Counter, Stack Pointer dan Register register Memory.
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 berubah ke posisi dimana
instruksi berikut itu disimpan. Program Counter ini berguna untuk menunjukkan sedang
berada di alamat mana CPU bekerja.
Observasi bus yang dimmaksud dalam percobaan ini adalah orserasi yang dilakukan
terhadap suatu operasi kontinyu yang singkat yang sedang dilakukan oleh CPU Z80. Dipilih
operasi kontinyu yang singkat dimaksud agar piranti monitor yang kita miliki, yaitu
osciloscope standart , dapat digunakan untuk menunjukkan bentuk-bentuk pulsa atau
gelombang yang terjadi pada address bus, data bus dan beberapa jalur kontrol yang bentuk-
bentuk gelombang ini saling berhubungan menunjukkan suatu fenomena operasi yang sedang
dijalankan.
Operasi yang dibentuk oleh CPU Z80 ini dapat dikelompokkan dalam 3 buah operasi
dasar yaitu :
1. Memory read/write (baca/tulis data pada memory)
2. I/O Device read/write(baca/tulis data pada perangkat input/output)
3. Interrupt(intrupsi)
Gambar 7-2 di bawah memperlihatkan tiga model pewaktuan dasar dalam operasi CPU
Z80 , yaitu Op-Code Fetch , Memory Read dan Memory Write, yang diambil dalam satu
grafik.


Gambar 7-2. Pewaktuan dasar operasi pada CPU Z80

Pada gambar diatas , sebuah periode clock dinyatakan sebagai siklus T, sedang operasi
dasar dinyatakan sebagai M (Machine Cycle). Machine Cysle 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 T1,T2, dan
T3.
Dalam operasi suatu program, Machine Cycle yang pertama (M1) dari setiap instruksi
adalah fetch cycle (Pnegambilan OP code untuk di-dekode). Siklus ini membutuhkan 4
sampai 6 siklus, terkecuali bila kontrol WAIT diaktifkan. Machine Cycle berikutnya
biasanya adalah perpindahan data antara CPU dengan memory atau peralatan I/O ,
meskipun ada pula instruksi-instruksi tertentu Machine cycle berikutnya adalah OP code
fetch lagi. Siklus ini membutuhkan 3 sampai dengan 5 siklus T, terkecuali pula
dibutuhkan proses sinkronisasi dengan memberikan waktu tunggu.
Selama T2 dan 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 kompunen memori yang memiliki
waktu akses yang berbeda.
PEWAKTU OPCODE FETCH

Gambar 7-3. Pewaktuan Siklus opCode Fetch

Gambar 7-3 memperlihatkan diagram pewaktu Op Code fetch selama machine cycle
M1. Pertama , pada siklus M1 address bus berisi data yang tersimpan di program counter.
Setelah clockcycleberikutnya sinyal MREQ mwnjadi aktif. Pada saat ini alamat yang
terhubung ke memory telah menjadi stabil sehingga fallin edge dari sinyal MREQ ini
dapat dimafaatkan langsung sebagai kontrol chip enable pada memory. Kontrol RD juga
menjadi aktif yang menunjukkan bahwa pada saat itu bus sedang dibunakan untuk proses
pembacaan data memori. CPU mengambil data dari memori pada saat rising edge T3 dan
pada waktu yang bersamaan pula CPU meng-inactive-kan sinyal RD dan MREQ. Dengan
demikian data yang akan dibaca harus sudah ada dan stabil di data bus sebelumnya sinyal
RD menjadi nactive. Clock state T3 dan T4 dari fetch cycle dapat digunakan untuk me-
refresh memory dinamik , bila rangkaian terhubung ke memori dinamaik. Pada state ini
A7-A0 dari address bus berisi alamat memori yang di-refresh dan sinyal kontrol RFSH
menjadi aktif. CPU menggunakan waktu T3 dan T4 ini untuk men-dekode dan
mengartikan instruksi yang telah diambilnya. Sinyal RD tidak aktif selama T3 dan T4
untuk menjaga agar data dari segmen memori yang berbeda tidak terhubung ke data bus.
Selama refresh sinyal MREQ juga aktif dengan selang waktu yang lebih pendek dan
berada di tengah tengah waktu aktif dari sinyal RFSH. MREQ ini biasanya juga
dihgunakan bersama-sama dengan RFSH untuk proses me-refresh memori, karena RFSH
tidak dapat digunakan sendirian untuk mengaktifkan proses refresh. Hl ini mengingatkan
falling edge RFSH terjadi pada saat alamat yang berbeda di address bus belum stabil.

PEWAKTUAN MEMORY READ/WRITE
Gambe 7-4 di bawah ini menunjukan suatu diagram pewaktuan dari read/write cycle
pada CPU Z80.
Pada read/write cycle juga terjadi proses membaca data seperti pada siklus OpCode
fetch , tetapi data read cycle disini hanya proses membaca data dari alamat tertentu tanpa
mendeko. Sedangkan pada silus Op cde fetch data yang sudah di baca didekodekan dan
diartikan. Read/write cycle ini pada umumnya terdiri dari 3 buah siklus T , Terkecuali bila
WAIT diaktifkan.

Gambar 7-4. Pewaktuan siklus Read dan 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 T1
mengalami sisi pulsa naik dari 0 ke 1(Rising edge). MREQ dan RD bersama-sama aktif
begitu T1 menuju ke 0 pada sisifalling edge. Wait state dapat ditambahakan dengan
mengaktifkan WAIT 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 berdasar fallin edge dari T3. Berdasarkan falling edge ini pula sesaat kemudian
MREQ dan RD menjadi innactive 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 di isi data oleh CPU ke memori.
Wait state dapat ditambahakan dengan mengaktifkan WAIT begitu falling edge T2 terjadi.
Pada saat inilah rangkaian memori mengambil data yang telah ada di data bus. Berikutnya
, Berdasarkan falling edge T3 sinyal WR dan MREQ menjadi innactive kembali.