1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers Sumber : 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5 3. Materi kuliah CS61C/2000 & CS152/1997, UCB 18 Februari 2004 L. Yohanes Stefanus ([email protected]) Bobby Nazief ([email protected]) bahan kuliah: http://www.cs.ui.ac.id/kuliah/POK/
46
Embed
IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers
IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers. Sumber : 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization , ed-5 3. Materi kuliah CS61C/2000 & CS152/1997, UCB. 18 Februari 2004 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
IKI10230Pengantar Organisasi Komputer
Kuliah no. 02: Stored Program ComputersSumber:1. Paul Carter, PC Assembly Language2. Hamacher. Computer Organization, ed-53. Materi kuliah CS61C/2000 & CS152/1997, UCB
° Instruksi dan data bersama-sama berada di memori:• Data diakses secara acak (tergantung alamat operand)• Instruksi umumnya dijalankan secara berurut (sekuensial)
° Urutan ini menjamin logika alur program: terdapat urutan perintah ke mesin.
• Instruksi disimpan secara berurut pada lokasi di memori• Eksekusi instruksi dilakukan mulai dari alamat terkecil
° Bagaimana mengetahui “posisi” instruksi saat ini (berikutnya?)
Program couter (PC) berisi alamat lokasi instruksi yang akan dieksekusi pada siklus berikutnya. Setelah instruksi dieksekusi, maka PC akan “increment” dan menunjuk pada instruksi berikutnya (next location)PC = PC + 2; dst
.. dikenal dengan istilah: straight line sequencing
° Instruksi aritmatika, transfer data memberikan kemampuan kita untuk melakukan komputasi data
• Sama seperti “kalkulator”
° Untuk sebuah komputer, maka diperlukan kemampuan untuk memilih, “make decisions” ..
° Analogi HLL: assembly language harus mendukung statement:
if (condition == true) do “this”;else do “that”;exit;
Exit
i == j?
“this”
(false) i != j
(true) i == j
“that”
38
Branching° Dampak dari pengambilan keputusan yang
bergantung pada suatu kondisi tertentu adalah terjadinya pencabangan (branching):
• Instruksi tidak lagi diambil dari lokasi memori yang “berurut”, tetapi “meloncat” ke lokasi memori tertentu PC diisi dengan nilai baru, tidak di-increment
° Manipulasi PC dengan memberikan alamat baru (tidak “berurut”) juga digunakan untuk mengubah alur eksekusi program tanpa bergantung pada kondisi tertentu (jump)
39
Branching: Contoh
ii+1wi+2w
i+(n-1)wi+nw
SUMNum1Num2
NumN
Move R0,Num1Add R0,Num2
Alamat
Add R0,Num3
Mov SUM,R0Add R0,NumN
LOOP
SUMNNum1Num2
NumN
Move R1,NClear R0
Determine address ofnext number and addNext number to R0
Alamat
n
Move SUM,R0Branch>0 LOOPDecrement R1
R0 = ∑ Ni
PC
40
Conditional Branching
° Branch>0 LOOP• Periksa kondisi (hasil operasi > 0?):
memeriksa Condition Code Flags yang berada di Status Register:
- N: hasil operasi sebelumnya menghasilkan bil. negatif- Z: hasil operasi sebelumnya menghasilkan 0- V: hasil operasi sebelumnya menghasilkan overflow- C: hasil operasi sebelumnya menghasilkan carry
>0: hasil ≠ 0 (kondisi Z-flag == FALSE)
• Jika ya, loncat ke LOOP (PC lokasi LOOP)
• Jika tidak, lanjutkan eksekusi
41
I/O
42
Organisasi Input/Output
Prosesor
Bus
SOUT
DATAOUT
Display
SIN
DATAIN
Keyboard
° Pada prinsipnya sama dengan data transfer (memori/register), bedanya peranti I/O lebih lambat
° Perlu mekanisme pemeriksaan kesiapan peranti I/O:• Baca informasi status di SIN/SOUT untuk
memastikan peranti I/O siap• Jika “siap” lakukan operasi transfer data dari/ke
peranti I/O ybs.
43
I/O Device Examples and Speed
° I/O Speed: bytes transferred per second(from mouse to display: million-to-1)