analisis proses kerja sistem mikroprosesor (1): observasi bus cpu tmpz84c00

8
PRAKTIKUM MIKROPROSESOR & INTERFACE I PERCOBAAN IV JUDUL : 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 instruksi yang dimaksud. (fetch decode - run) PERALATAN: 1. Modul FZ80CPU 2. DC Power Supply (regulated +5V) dengan pulsa generator 3. Dual Trace Oscilloscope / Logic analyzer (optional) TEORI : Pada dasarnya Nikroprosesor membaca instruksi yang diambilnya dari memory, baik EPROM maupun RAM, dan mengeksekusinya langkah perlangkah seperti yang ditunjukkan pada Gambar 7-1 berikut ini. Read/Fetch Data Membaca data di alamat yang ditunjukkan oleh Program Counter Decode Men-dekode (menerjemahkan) Data yang di- fetch (baca) Execute Mengeksekusi/ memproses instruksi/data sesuai hasil dekode PC ← PC +1

Upload: fajar-majidah

Post on 27-Dec-2015

143 views

Category:

Documents


21 download

TRANSCRIPT

Page 1: ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1): OBSERVASI BUS CPU TMPZ84C00

PRAKTIKUMMIKROPROSESOR & INTERFACE I

PERCOBAAN IVJUDUL :

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 instruksi yang dimaksud. (fetch decode - run)

PERALATAN:1. Modul FZ80CPU2. DC Power Supply (regulated +5V) dengan pulsa generator3. Dual Trace Oscilloscope / Logic analyzer (optional)

TEORI :Pada dasarnya Nikroprosesor membaca instruksi yang diambilnya dari memory, baik

EPROM maupun RAM, dan mengeksekusinya langkah perlangkah seperti yang ditunjukkan 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, kecuali dengan perlakuan tertentu, baik secara hardware (misalnya interrupt) maupun secara software (misalnya perlaksanaan instruksi: jump, call & ret, push & pop, dan restart).

Read/Fetch DataMembaca data di alamat yang ditunjukkan oleh Program

Counter

DecodeMen-dekode

(menerjemahkan)Data yang di-fetch (baca)

ExecuteMengeksekusi/memproses instruksi/data sesuai hasil

dekode

PC ← PC +1

Page 2: ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1): OBSERVASI BUS CPU TMPZ84C00

Setiap kali melaksanakan instruksi, PC ditambah 1. Misalnya mikroprosesor menapat instruksi:

LD A, 0FHPada 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 Z80 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 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 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 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 piranti Input/Output)3. Interrupt (Interupsi)

Gambar 7-2 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.

Siklus TT1 T2 T3 T1 T2 T3 T1 T2 T3T4

Siklus MesinM1

Siklus MesinM1

Siklus MesinM1

OpCode Fetch Memory Read Memory Write

Siklus Instruksi

Clock

Page 3: ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1): OBSERVASI BUS CPU TMPZ84C00

Gambar 7-2. Pewaktuan Dasar Operasi pada CPU Z80Pada 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 T1, T2, dan T3.

Dalam operasi suatu program, Machine Cycle yang pertama (M1) dari setiap instruksi adalah fetch cycle (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 memiliki waktu akses (access time) yang berbeda.

Pewaktuan OpCode Fetch

Gambar 7-3. Pewaktuan Siklus OpCode Fetch

Siklus M1

ClockT1 T2 T3

T1berikutnyaT4

A15 – A0 Program Counter Alamat Refresh

D7 – D0data berupa

Op Code

Page 4: ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1): OBSERVASI BUS CPU TMPZ84C00

Gambar 7-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

menjadi aktif. Pada saat ini alamat yang terhubung ke memori telah menjadi stabil sehingga

falling edge dari sinyal ini dapat dimanfaatkan langsung sebagai control chip enable

pada memori. Kontrol 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-

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 cycle 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 menjadi aktif. CPU menggunakan waktu T3 dan T4 unutk

menjaga agar data dari segmen memori yang berbeda tidak terhubung ke data bus. Selama

refresh sinyal juga aktif dengan selang waktu yang lebih pendek dan berada di

tengah-tengahwaktu aktif dari sinyal . ini biasanya juga digunakan bersama-

sama dengan untuk proses me-refresh memori, karena tidak dapat digunakan

sendirian untuk mengaktifkan proses refresh. Hal ini mengingatkan falling edge

terjadi pada saat alamat yang berada di address bus belum stabil.

Pewaktuan Memory Read/WriteGambar 7-4 di halaman berikut ini menunjukkan 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/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.

Siklus M1

Clock

T1 T2 T3T1

berikutnya

A15 – A0 Alamat Memory

D7 – D0data di CPU

bus

T1 T2 T3

Alamat Memory

Page 5: ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1): OBSERVASI BUS CPU TMPZ84C00

Gambar 7-4. Pewaktuan Siklus Read & WritePada 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). dan bersama-sama aktif

begitu T1 menuju ke 0 pada sisi falling edge wait state dapat ditambahkan dengan

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

dan 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

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 aktif begitu falling edge

T2 terjadi. Pada saat inilah rangkaian memori mengambil data yang telah ada di data bus.

Berikutnya, berdasarkan falling edge T3 sinyal dan menjadi inactive kembali.

Prosedur Percobaan1. Menyiapkan papan rangkaian FZ80CPU2. Menyiapkan catu daya +5V untuk FZ80CPU ini dengan merangkai modul DC Regulator

+5V ke DC Power Supply yang diatur pada tegangan +10V.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 JP5 sebagai berikut pada kedudukan

2-1-2-2-25. Menyalakan sumber tegangan. Kemudian memasukkan suatu program ke dalam

memory RAM 62256 dengan cara seperti pada percobaan I. Pada percobaan II ini dianggap telah paham tentang cara-cara memasukkan program dengan memanfaatkan fasilitas DMA. Memasukkan kode mesin program berikut ini ke dalam RAM 62256, mulai alamat 0000H.

00003E 5B LOOP: LD A, 5BH0002C3 00 00 JP LOOPGambar 7-5. Program Percobaan Observasi Bus CPU Z80

Gambar 7-6. Blok Rangkaian Percobaan I

62256

Z80

OSCILLOSCOPE

CH 1CH 2

Page 6: ANALISIS PROSES KERJA SISTEM MIKROPROSESOR (1): OBSERVASI BUS CPU TMPZ84C00

6. Bila selesai, mengatu rkeuddukan switch AUTO-STEP pada posisi AUTO, switch STOP-RUN pada posisi RUN.

7. Menekan RESET agar CPU Z80 memulai proses kerjanya dari alamat 0000H8. Sekarang Memperhatikan gambar 7-6. Dengan menggunakan fasilitas dual traces

oscilloscope yang tersedia, mengamati dan menggambar berturut-turut sinyal yang

tampak pada jalur-jalur: D7 s/d D0, A0, A1, A2, CLOCK, RD, M1, dan . Caranya

adalah mengamati pertama kali D7 dan D6 masing-masing dengan probe channel A dan probe channel B. Bila sudah digambar, ganti D7 dengan D5 dengan mememindah probe A ke D5 dan menggambar sinyalnya dengan memperhatikan timing yang sama seperti kedudukan gambar sinyal D7 terhadap D6 tadi. Berikutnya, mengganti D6 dengan D4 dengan memindah posisi probe B ke D4. Demikian seterusnya secara bersilang. Dengan tetap mempertahankan pengamatan pada timing yang sama setiap mengganti posisi satu probe, sehingga di dapat semua gambar gelombang yang terjadi dari D7 sampai dengan

dengan timing yang sama. Untuk memudahkan penggambaran menggunakan

kertas millimeter.9. Berdasarkan gambar-gambar yang telah diperoleh, menganalisa hubungan pewaktuan

tiap sinyal tersebut, menentukan di mana letak setiap instruksi program yang tampak pada gambar sinyal. Menjelaskan hubungan ‘fetch data’. ‘decode’ data dan ‘run’ program tersebut pada laporan sesuai dengan pengamatan dan analisa.