Abstraksi Komputer
Terdapat beberapa tingkatan
mendeskripsikan komputer. Mulai dari
level user terus menurun hingga level
transistor.
Semakin menurun tingkatan, struktur
internal (fisik) komputer semakin
jelas. Sebaliknya, semakin naik
tingkatan, struktur internal (fisik)
komputer semakin abstrak.
Bahasa Assembly
Merupakan bahasa pemrograman dengan korespondensi satu-kesatu antara statemen-statemennya (instruksi-instruksinya) dengan
bahasa mesin yang dipahami oleh CPU.
Bahasa Assembly sering disebut low-level language (bahasa
tingkat rendah) karena kedekatannya dengan bahasa mesin.
Walaupun dekat dengan bahasa mesin, statemen dalam bahasa
Assembly masih bisa dipahami oleh manusia dan lebih mudah
diingat.
Setiap bahasa Assembly dipengaruhi oleh instruction set pada CPU
dan arsitektur hardware.
Sifat korespondensi satu-ke-satu antara bahasa Assembly
dengan bahasa mesin milik CPU menjadikan program yang ditulis
dalam bahasa assembly dapat berjalan lebih cepat dan efektif
dibandingkan dengan ditulis dengan bahasa tingkat tinggi.
Assembler : Program untuk menkonversi source-code program ke
dalam bahasa mesin.
3
Contoh Program
C:
#include <stdio.h>
int main () {
printf(A);
return 0;
}
ah, 02
dl, 41
21
20
Komputer terdiri atas: CPU (ALU, Register dan Control), memori, dan unit
input/output.
Komunikasi antarkomponen dilakukan melalui jalur yang digunakan
bersama. Jalur ini dikenal sebagai system bus, yang terdiri atas tiga
bagian: data bus, address bus, dan control bus.
sony@ilkom.fmipa.ipb.ac.id
Utilities
Game trainer
sony@ilkom.fmipa.ipb.ac.id
Tugas CPU
Data Register
Address Registers
Output Lines
Control
Unit
Address Bus
Arithmetic
Logic
Unit
Flags
Register
Output Lines
sony@ilkom.fmipa.ipb.ac.id
Register
Tempat penyimpanan berkecepatan tinggi pada CPU yang langsung terhubung
ke CU dan ALU.
Merupakan Special work areas pada CPU yang dirancang untuk dapat bekerja
dengan kecepatan tinggi.
Instruksi yang hanya melibatkan register akan berjalan lebih cepat dibandingkan
dengan instruksi yang melibatkan memori ataupun tempat penyimpanan lain.
Hampir semua instruksi pada prosesor Intel membutuhkan paling sedikit satu
register.
sony@ilkom.fmipa.ipb.ac.id
10
Register
1. Data (General Purpose) Registers
Terdiri atas 4 buah register : AX,BX,CX,DX
Bisa diakses baik 32 bit (pada prosessor
80386-Pentium 4), 16 bit (pada prosessor
8088-80286) ataupun 8 bit
Digunakan untuk perhitungan aritmetika
dan data movement
sony@ilkom.fmipa.ipb.ac.id
11
Register (Lanj.)
1. Data (General Purpose) Registers
Register
(16 Bit)
AX
BX
8 Bit
Terendah
AL
BL
8 Bit
Teratas
Keterangan
AH
BH
sony@ilkom.fmipa.ipb.ac.id
12
Register (Lanj.)
1. Data (General Purpose) Registers
Register
(16 Bit)
CX
DX
8 Bit
Terendah
CL
DL
8 Bit
Teratas
Keterangan
CH
DH
sony@ilkom.fmipa.ipb.ac.id
13
Register (Lanj.)
2. Segment Registers
14
Register (Lanj.)
2. Segment Registers
Register
(16 Bit)
Keterangan
CS
(Code Segment), menyimpan base location dari seluruh instruksi (kode) dari sebuah
program
Mendefiniskan alamat awal (starting address) dari bagian memori yang menyimpan
kode program (instruksi)
DS
SS
ES
15
Register (Lanj.)
3. Index Registers
Berisi offset dari variabel-variabel.
Offset adalah jarak suatu variabel atau
instruksi dari base segmentnya.
Register Index akan mempercepat
pemrosesan string, array, dan struktur data
lainnya yang terdiri atas banyak elemen.
Terdapat 3 jenis Register Index, yaitu : SI
(Source Index), DI (Data Index), dan BP
(Base Pointer).
sony@ilkom.fmipa.ipb.ac.id
16
Register (Lanj.)
3. Index Registers
Register
(16 Bit)
Keterangan
SI
DI
BP
(Base Pointer), Menunjuk ke sebuah lokasi memori (berlaku untuk seluruh jenis
mikroprosesor) untuk melakukan proses transfer data pada memori.
sony@ilkom.fmipa.ipb.ac.id
17
Register (Lanj.)
4. Special Registers
Merupakan register-register yang tidak
masuk ke kelompok-kelompok register
sebelumnya.
Ada 2 Special Registers : IP (Instruction
Register) dan SP(Stack Pointer).
sony@ilkom.fmipa.ipb.ac.id
18
Register (Lanj.)
4. Special Registers
Register
(16 Bit)
Keterangan
IP
SP
sony@ilkom.fmipa.ipb.ac.id
19
Register (Lanj.)
5. Flags Register
Digunakan untuk menunjukkan status dari CPU dan
mengendalikan operasi pada CPU.
Panjang Rgister Flag adalah 16 bit pada prosesor
8088-80286 (FLAG) dan 32 bit pada prosesor
80386-Pentium 4 (EFLAG).
15
14
13
12
11
10
x x x x O D I T S Z x A x P x C
sony@ilkom.fmipa.ipb.ac.id
20
Register (Lanj.)
5. Flags Register
Bit
Arti
Keterangan
Overflow
Direction
sony@ilkom.fmipa.ipb.ac.id
21
Register (Lanj.)
5. Flags Register
Bit
Arti
Interrupt
Trap
Keterangan
Mengendalikan operasi dari pin input INTR
(interrupt request).
I=1 maka INTR dihidupkan. I=0 maka INTR
dimatikan.
Dikendalikan dengan peritah STI (set I flag) dan
CLI (clear I flag).
Memungkinkan trapping melalui fitur on-chip
debugging.
T=1 maka mikroprosesor akan menginterupsi alur
program pada kondisi yang diindikasikan oleh
debug registersdan control registers. T=0 fitur untuk
trapping (debugging) dimatikan.
sony@ilkom.fmipa.ipb.ac.id
22
Register (Lanj.)
5. Flags Register
Bit
Arti
Keterangan
Sign
Zero
Auxiliary Carry
sony@ilkom.fmipa.ipb.ac.id
23
Register (Lanj.)
5. Flags Register
Bit
Arti
Keterangan
Parity
Carry
Undifined
Undifined
sony@ilkom.fmipa.ipb.ac.id
24
AH
8 Bit
8 Bit
AX
AL
8 Bit
BX
BH
8 Bit
CH
8 Bit
BL
8 Bit
CX
CL
8 Bit
DX
DH
DL
Index
BP
SP
SI
DI
16 Bit
Segment
CS
SS
DS
ES
16 Bit
sony@ilkom.fmipa.ipb.ac.id
25
Segment
CS
SS
AL
AX (16 Bit)
EBX (32 Bit)
BH
BL
CX (16 Bit)
EDX (32 Bit)
DH
DL
DX (16 Bit)
EIP
FS
EFLAGS
IP
FLAGS
32 Bit
16 Bit
ES
GS
BX (16 Bit)
CH
DS
Index
ESP
SP
EBP
BP
EDI
DI
ESI
SI
32 Bit
sony@ilkom.fmipa.ipb.ac.id
26
Arsitektur Komputer
Bandingkan register-register 8086 dan
80386
AH, AL, AX, EAX
dst
sony@ilkom.fmipa.ipb.ac.id
27