20 Pag
e
20
e Execution Cycle
Execution cycle adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput dari main memory dan sudah berada di IR register.Control unit di CPU mengartikan instruksi
tersebut, melaksanakan operasi yang harus dilakukan, seperti penjemputanpenambilan data dari main memory, mengirim instruksi ke ALU untuk melakukan operasi aritmatika atau logika dan
menyimpan hasil pengolahan kembali ke main memory. Sedangkan Execution sequence adalah proses atau langkah sebuah eksekusi program yang
terjadi dan berlangsung pada sebuah sistem mikroprosesor. Sebuah mikroprosesor harus dapat melakukan proses:
- Fetch data atau mengambil data baik dari memori maupun dari IO 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 IO.
- 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.
1.7.1 Pengambilan Instruksi
Sub-siklus melibatkan pengambilan instruksi dari alamat meori program yang disediakan dalam program counter. Masalah yang muncul meliputi :
1. Jika panjangninstruksi lebih besar dari panjang word, maka unit control melakukan siklus
baca memori lebih dari satu untuk melakukan pengambilan instruksi. Contoh : Panjang
21 Pag
e
21
instruksi adalah 4byte dan panjang word memori adalah 2byte, maka dua word harus diambilfetch
2. Jika datapath antara CPU dan memori lebih kecil dari panjang word memori, maka unit
control melakukan siklus bus lebih dari satu kali untuk mendapatkan satu word memori. Contoh : bus data adalah 16byte dan panjang word memori 32bit, dua siklus bus dibutuhkan
untu mengambil satu word. Bagaimana unit control mengetahui panjang dari instruksi yang diambil?
Panjang instruksi diketahui dari opcode instruksi tersebut. Karena itu, unit control mengetahui panjang instruksi hanya setelah pengambilan word pertama instruksi. Berdasarkan opcode, unit
control memutuskan jumlah word yang akan diambil dari memori.
Gambar 6.7 Pengambilan instruksi multiword
22 Pag
e
22
Gambar : siklus instruksi
1.7.2 Kalkulasi alamat operand
Ada 4 lokasi alamat operand : 1.
Pada instruksi itu sendiri sebagai immediate operand 2.
Pada register prosesor 3.
Pada memori utama 4.
Pada port IO Alamat operan dinyatakan dalam instruksi pada salah satu mode pengalamatan seperti
pengalamatan langsung dan tidak langsung. Prosedur kalkulasi alamat operand tergantung pada mode pengalamatan masing-masing
1.7.3 Pengambilan operand
Jika operand berada dalam memori utama, CPU melakukan sikles baca memori. Jumlah siklus memori utama bergantung pada dua factor yaitu panjang operand dan panjang word memori.
1.7.4 Operasi eksekusi
23 Pag
e
23
Operasi control didesain untuk melaksanakan semua mikro-operasi seperti yang ditetapkan oleh instruksinya.Unit control mengetahui opcode urutan aksi yang tepat yang harus dilakukan
selama tingkatan ini. Semua operasi internal berada di dalam prosesor sedangkan yang lain berada dalam unit eksternal memori.
1.7.5 Pemilihan Desain unit control