Agenda ARSITEKTUR KOMPUTER
• Organisasi Komputer • Instruksi dan CPU
[email protected]
Gambaran Umum
Fungsi Komponen
Sejak 1946, semua komputer memiliki LIMA komponen:
• datapath – melakukan operasi aritmatik dan logik Contoh: adders, multipliers, shifters
• memory – menyimpan data dan instruksi
Processor Input
Contoh: cache, main memory, disk
• input – mengirim data ke komputer
Control
Contoh: keyboard, mouse
Memory
• output – mengambil data dari komputer Contoh: screen, sound card
Datapath
Output
• control – memberikan arah ke komponen lainnya Contoh: bus controller, memory interface unit
Komponen Detil CPU
Memory
PC
MAR
IR
MBR I/O AR I/O BR
I/O Module
…. …. Buffers
….. ….. Instruction Instruction Instruction ….. ….. Data Data Data Data ….. ….. PC = Program Counter IR = Instruction Register MAR = Memory Address Register MBR = Memory Buffer Register I/O AR = I/O Address Register I/O BR = I/O Buffer Register
Register • MAR, menentukan alamat memori untuk baca atau tulis berikutnya. • MBR, berisi data untuk ditulis kedalam memori atau menerima data yang dibaca dari memori. • I/O AR, menentukan peralatan I/O khusus. • I/O BR, untuk pertukaran data antara modul I/O dengan CPU
1
Siklus Instruksi
Siklus Instruksi
• Fungsi dasar komputer adalah memproses (execute) program, yang berisi gugus instruksi yang disimpan dalam memori. • Dua tahap utama: – FETCH : processor membaca instruksi dari memori pada satu waktu. – EXECUTE : processor memproses setiap instruksi yang ada.
Fetch Cycle
START
Fetch-Next Fetch-Next Instruction Instruction
Execute Cycle
Execute Fetch-Next Instruction Instruction
HALT
Instruksi Komputer Instruction Fetch
Mengambil instruksi dari program storage
Instruction Decode
Menentukan aksi yang dibutuhkan dan ukuran instruksi
Operand Fetch
Memperoleh dan menempatkan operand
Execute
Menghitung nilai hasil atau status
INSTRUKSI dan CPU
[email protected]
Result Store
Menyimpan hasil dalam storage untuk digunakan pada proses berikutnya
Next Instruction
Menentukan instruksi berikutnya
Memproses Instruksi
Contoh Instruksi
1. 2. 3. 4. 5.
C := A + B; • LOAD A • ADD B • STORE C
Ambil instruksi dari memori ke IR. Ubah PC ke instruksi berikutnya. Menentukan jenis instruksi. Jalankan instruksi. Kembali ke langkah (1).
2
Contoh Instruksi
Contoh Instruksi CPU Registers
Memory
3 0 0 PC
300 1 9 4 0
AC
301 5 9 4 1
1 9 4 0 IR
302 2 9 4 1
Memory 300 1 9 4 0
0 0 0 3 AC
302 2 9 4 1
1 9 4 0 IR
Tahap 1
940 0 0 0 3
941 0 0 0 2
Catatan: Peran MAR dan MBR tidak digambarkan.
941 0 0 0 2 Tahap 2 LOAD A
Contoh Instruksi Memory
3 0 1 PC
301 5 9 4 1
940 0 0 0 3
LOAD A
CPU Registers
Contoh Instruksi CPU Registers
Memory
CPU Registers
300 1 9 4 0
3 0 1 PC
300 1 9 4 0
3 0 2 PC
301 5 9 4 1
0 0 0 3 AC
301 5 9 4 1
0 0 0 5 AC
302 2 9 4 1
5 9 4 1 IR
302 2 9 4 1
5 9 4 1 IR 3 + 2 = 5
940 0 0 0 3
940 0 0 0 3
941 0 0 0 2
941 0 0 0 2 Tahap 4
Tahap 3 ADD B
ADD B
Contoh Instruksi Memory
Contoh Instruksi CPU Registers
Memory
CPU Registers
300 1 9 4 0
3 0 2 PC
300 1 9 4 0
3 0 3 PC
301 5 9 4 1
0 0 0 5 AC
301 5 9 4 1
0 0 0 5 AC
302 2 9 4 1
2 9 4 1 IR
302 2 9 4 1
2 9 4 1 IR 3 + 2 = 5
940 0 0 0 3
940 0 0 0 3
941 0 0 0 2
941 0 0 0 5 Tahap 5
STORE C
Tahap 6 STORE C
3
Simulasi Cara Kerja
Bahasa Assembly
• Melihat bagaimana cara kerja mesin komputer dan sistem operasi. • Mengetahui bagaimana program aplikasi berkomunikasi dengan sistem operasi. • Î menggunakan bahasa Assembly
• Bahasa pemrograman dimana setiap instruksinya sangat dekat dengan bahasa mesin komputer. • Secara langsung terkait dengan instruksi mesin dan arsitektur komputer. • User harus mengetahui organisasi mesin komputer. • Diinterpretasikan oleh Assembler, misalnya TASM, MASM, etc.
DEBUG
Register 80xxx
• Cara sederhana untuk menyusun instruksi assembly. • Contoh DEBUG:
• 16-bit, tetapi dapat diakses 8-bit atas (higher) dan 8-bit bawah (lower).
A 100 mov add add mov int <enter> R T T T G Q
ax, 5 ax,10 ax,20 [0120], ax 20
Register Data
• Ada 5 register: – Data Registers
AX, BX, CX, DX (16-bit)
– – – –
AH, AL, BH, BL, CH, CL, DH, DL (8-bit) CS, DS, SS, ES SI, DI, BP IP, SP Overflow, Direction, Interrupt, Trap, Sign, Zero, Aux Carry, Parity, Carry
Segment Registers Index Registers Special Registers Flags Register
Register Data
• Disebut juga sebagai general-purpose registers. • Digunakan untuk aritmatika dan data movement.
15 …..
….. 0 16-bit _X register
_H register _L register 7 ….. ….. 0 7 ….. ….. 0
BX
AX AH
AL
BH
CX BL
CH
DX CL
DH
DL
4