Pak Hendi Minggu Ngarep, Observasi Bus Jarene

download Pak Hendi Minggu Ngarep, Observasi Bus Jarene

of 4

Transcript of Pak Hendi Minggu Ngarep, Observasi Bus Jarene

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 Z802. Memahami prinsip kerja CPU Z80 dalam mengambil/membaca data, menerjemahkan dan menjalankan intruksi yang dimaksud(fetch decode-run).Peralatan :1. Modul FZ80CPU2. DC Power Supply (Regulated +5V) dengan pulse generator3. 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, 0FHPada 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 MesinInstruksi

3E 0FLD 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/WRITEGambe 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.