Execution Sequence / urutan eksekusi





Untuk memahami bagaimana mikroprosesor bekerja dalam sistem mikroprosesor dapat menggunakan kasus proses execution sequence.
 Execution sequence adalah proses atau langkah sebuah eksekusi program yang terjadi dan berlangsung pada sebuah sistem mikroprosesor.
 Sebuah mikroprosesor harus dapat melakukan proses proses sebagai berikut: 

 Fetch data atau mengambil data baik dari memori maupun dari I/O dengan proses baca (read) data. 

Proses data atau mengolah data  dalam salah satu operasi aritmetika atau logika.

 Write data atau menulis data ke memori atau I/O.

Fetch Instruction atau mengambil instruksi yaitu membaca instruksi dari memori .

 Interpret Instruction yaitu proses mengintepretasikan/ menterjemahkan instruksi.

Instruksi harus didekode untuk menentukan aksi dari suatu instruksi yang harus dilakukan. Instruksi dalam  bahasa mesin berbentuk kode-kode biner dalam heksadesimal. Setiap perintah dikodekan dan disusun dalam sebuah set instruksi.
 Untuk mendapatkan gambaran yang jelas, bagaimana bagian-bagian dari sebuah komputer atau sistem mikroprosesor bekerja perhatikan contoh ilustrasi Gambar 1.9. dibawah ini sampai komputer dapat mengeksekusi sebuah program sederhana.
Contoh ini menggunakan tiga perintah program dengan contoh kasus sebagai berikut:  
Memasukkan sebuah nilai dari keyboard yang terhubung ke Port pada alamat 05h. Menambahkannya dengan 07 dari nilai  yang terbaca.  Mengeluarkan hasil penambahan ke  display yang terhubung ke Port alamat 02h.
 Untuk menjelaskan proses ini digunakan ilustrasi gambar 1.9. Diasumsikan CPU  (8088 atau 8086) mengambil instruksi dan data dari memori satu byte, kode biner yang tersimpan di memori adalah lokasinya mulai dari alamat 00100h seperti gambar 1.9.  Aksi pertama dari komputer mengerjakan
langkah pengambilan byte instruksi pertama di memori. Langkah ini dinyatakan dengan baris 1A. Untuk menjalankan proses tersebut disebut sequence atau urutan prosesnya  adalah sebagai berikut:

1A. CPU membangkitkan alamat instruksi pertama 00100h ke memori melalui bus
alamat. Pembangkitan alamat dimaksudkan untuk menunjuk byte perintah program pada alamat 00100h yang ada di memori.

1B. CPU membangkitkan sinyal kendali pembacaan memori (MREQ* dan RD*) untuk mengambil byte perintah yang telah dirujuk alamatnya yaitu 00100h pada memori.

1C. Byte instruksi diambil dari memori dan dialihkan ke CPU melalui bus data. Ini disebut sebagai proses baca memori.

2A. Alamat lokasi memori berikutnya disiapkan untuk mengambil byte instruksi ke dua. Pengambilan byte instruksi ditunjuk melalui bus alamat dengan cara menambahkan satu (increament) pencacah program menjadi 00101h.

2B. CPU membangkitkan sinyal kendali pembacaan memori untuk mengambil byte perintah kedua yang telah dirujuk alamatnya pada memori satu tingkat diatas alamat sebelumnya yaitu 00101h.

2C. Byte alamat port 05h dikirim dari memori ke CPU melalui data bus.
2D. CPU mengirim keluar alamat port menggunakan bus alamat
2E.  CPU mengirim sinyal kendali pembacaan port (IORQ* dan RD*).
2F. Data dari port dikirim ke CPU melalui bus data.
3A. CPU mengirim alamat instruksi berikutnya (00102h) ke memori.
3B. CPU membangkitkan sinyal kendali pembacaan memori.
3C. Byte instruksi diambil dari memori dan dialihkan ke CPU melalui  bus data.
4A. Alamat lokasi memori berikutnya disiapkan untuk mengambil byte instruksi berikutnya.
4B. CPU membangkitkan sinyal kendali pembacaan memori
4C. Angka 07h dikirim dari memori ke CPU melalui data bus
5A. CPU mengirimkan alamat  instruksi berikutnya ke memori
5B. CPU membangkitkan sinyal kendali pembacaan memori
5C. Byte instruksi diambil dari memori dan dialihkan ke CPU melalui  data bus
6A. Alamat lokasi memori berikutnya disiapkan untuk mengambil byte instruksi berikutnya.
6B. CPU membangkitkan sinyal kendali pembacaan memori
6C. Byte alamat port dikirim dari memori ke CPU melalui data bus
6D. CPU mengirim alamat port pada address bus
6E. CPU mengirim data ke port melalui data bus
6F. CPU mengirim sinyal write ke Port


PROGRAM 
1. Membaca input dari Port 05
2. Menambahkan nilai terbaca dengan 07
3. Mengeluarkan hasil penjumlahan ke Port  02

Rangkuman Operasi Komputer Sederhana

CPU melakukan fetching data instruksi  atau data dari memori (membaca memori) dengan mengeluarkan alamat memori yang diakses melalui bus alamat dan sinyal pembacaan memori melalui bus kendali. Instruksi atau data dalam memori yang teralamati dikirim dari memori ke CPU melalui data bus.
CPU dapat menulis data dalam RAM dengan mengirim keluar sebuah alamat melalui address bus, mengirim data melalui data bus, dan membangkitkan sinyal kendali penulisan melalui control bus.
Untuk membaca data dari Port, CPU mengirim alamat port  malalui addres bus dan mengirim sinyal pembacaan I/O malalui control bus. Data dari Port dialihkan ke CPU malalui data bus.
Untuk menulis data ke Port CPU mengirim alamat port  malalui addres bus dan mengirim sinyal penulisan I/O malaui control bus. Data dari CPU dialihkan ke Port malalui data bus.
Komputer melakukan pengambilan setiap instruksi program dalam SEQUENCE, mendekode instruksi dan selanjutnya melakukan eksekusi.

Sign up here with your email address to receive updates from this blog in your inbox.

1 Response to "Execution Sequence / urutan eksekusi"