Title: Pengantar Organisasi Komputer
1IKI20210Pengantar Organisasi KomputerKuliah
Minggu ke-5a Prosesor
Sumber1. Hamacher. Computer Organization,
ed-4.2. Materi kuliah CS152, th. 1997, UCB.
2 Oktober 2002 Bobby Nazief (nazief_at_cs.ui.ac.id)J
ohny Moningka (moningka_at_cs.ui.ac.id) bahan
kuliah http//www.cs.ui.ac.id/iki20210/
2Outline Materi Kuliah (revisi)
- 01. Pendahuluan (1)
- 02. Set Instruksi (2.1 2.4)
- 03. Bahasa Rakitan AVR
- 04. Assembler (AVR Assembler)
- 05. Prosesor (3)
- 06. Prosesor (3)
- 07. Memori (5)
- 08. Memori (5)
- 09. I/O (4)
- 10. Aritmatika (6)
- 11. Aritmatika (6)
- 12. Interupsi, Peripheral (9)
- 13. Pipeline (7)
- 14. Dukungan HLL/OS
- 15. Reserve
04-09-02 11-09-02 18-09-02 25-09-02 02-10-02 09-10
-02 16-10-02 23-10-02 13-11-02 20-11-02 27-11-02 1
8-12-02 01-01-03 08-01-03 15-01-03
Tugas Pemrograman 1 Data Xfer, AL 2
Condition Branch 3 SubRutin 4 I/O 5
Proyek Kelompok
3Solusi PR 1
- CO 75
- (2.2) 0010 1100 0x2C 44, , (koma)
- (2.3) 1000J, 1001o, 1002h,
1003n, - 1004s, 1005o, 1006n
- (2.5) Load A Acc ? A
- Multiply B Acc ? A x B
- Store TMP TMP ? Acc
- Load C Acc ? C
- Multiply D Acc ? C x D
- Add TMP Acc ? Acc TMP
- (2.10) R11200, R24600
- Move 20(R1),R5 EA1200201220
- Load 3000,R5 3000 ada di dalam instruksi
- Store R5,20(R1,R2) EA12004600205820
- Add -(R2),R5 EA4600-14599
- Sub (R1),R5 EA1200
4Solusi PR 1
- CO
- (2.14)a. Load R1,(R5) pop item 1
- Load R2,(R5) pop item 2
- Add R1,R2 R1 ? R1 R2
- Store -(R5),R1 push R1
- (2.14)b. Load R3,4(R5) R3 ? MR54
- R54 points to item 5
- (2.14)c. Add R5,10 R5 ? R5 10
- R5 points to item 11
- item 1 is at TOS
5Solusi PR 1
- Instruksi AVR 25
- Arithmetic Logic (10)
- ADD, ADC, SUB, SBC, SUBI, AND, OR, INC, DEC, CLR
- Data Transfer (10)
- MOV, LDI, LDD, STD, LD, ST, LDS, STS, LD X, ST
X, LD X, ST X - Branch (10)
- BREQ, BRNE, BRGE, BRLT, RCALL, ICALL, RET, RJMP,
IJMP, BRSH - Bit Bit-test (10)
- CLC, CLZ, CLN, BCLR, SEC, LSL, LSR, ROL, ROR, ASR
6Tugas Lab. No. 1
- .DSEG
- x .BYTE 3
- y .BYTE 3
- z .BYTE 3
-
- .CSEG
- ldi XH,high(x)
- ldi XL,low(x)
- ldi YH,high(y)
- ldi YL,low(y)
- ldi ZH,high(z)
- ldi ZL,low(z)
- ld r1,X
- ld r2,Y
- add r1,r2
- st Z,r1
- ld r1,X
- ld r2,Y
- add r1,r2
- Inisialisasi data
- Register
- r1r20, r26r27r28r29r30r310xFF
- Memori
- 0x00600x01, 0x10, 0x030x00630x0F, 0x70,
0xFD0x00660xFF, 0xFF, 0xFF - Inspeksi isi register
- r1, r2, Flags (H,S,V,N,Z,C), X, Y, Z, PC
- Inspeksi isi memori
- M0x0066, M0x0067, M0x0068
7 8Prosesor Control Datapath
9Organisasi Prosesor (Single-bus)
Control Unit
DatapathUnit
10Siklus Eksekusi Instruksi
- Eksekusi instruksi yang ukurannya tetap
- do
- 1. IR ? MPC // Fetch instruksi
- 2. PC ? PC d // Tunjuk ke lokasi instruksi
berikutnya - 3. Eksekusi instruksi
- while (!stop)
- Eksekusi instruksi yang ukurannya bervariasi
- do
- do // Fetch instruksi
- IR ? MPC
- PC ? PC d
- while (!end-of-instruction)
- Eksekusi instruksi
- while (!stop)
11Operasi-operasi Dasar Waktu Eksekusi
- Operasi-operasi Dasar
- Mengambil (fetching) Data dari Memori
- Menyimpan (storing) Data ke Memori
- Pertukaran Data Antar-Register
- Operasi Aritmatika Logika di Datapath
- Waktu Eksekusi
- Gate Delay
- Waktu yang dibutuhkan output suatu gerbang logika
berubah sesuai kondisi inputnya - Registers Delay
- Waktu yang dibutuhkan isi register berubah sesuai
inputnya
12Mengambil Data dari Memori
- Instruksi
- LD R2,(R1) R2 ? MR1
- Langkah-langkah
- MAR ? R1
- Read
- Tunggu sinyal MFC// MFC Memory Function
Completed// Pada saat MFC aktif// MDR ? MMAR - R2 ? MDR
13Menyimpan Data ke Memori
- Instruksi
- ST (R1),R2 MR1 ? R2
- Langkah-langkah
- MAR ? R1
- MDR ? R2, Write
- Tunggu sinyal MFC// MFC Memory Function
Completed// Pada saat MFC aktif// MMAR ? MDR
14Asynchronous vs. Synchronous Transfer
- Asynchronous Transfer
- Transfer data di-inisiasi oleh salah satu peranti
(mis. CPU) - Transfer data baru dapat terjadi jika peranti
pemilik data (mis. Memori) siap (mis. memberikan
sinyal MFC) memasok data - Memungkinkan transfer data antar-peranti dengan
kecepatan yang berbeda-beda - Synchronous
- Setiap peranti yang bertukaran data mengacu pada
1 clock yang sama - Transfer data berlangsung pada waktu-waktu
tertentu mengikuti clock acuan - Implementasi lebih sederhana
- Kecepatan transfer ditentukan peranti yang paling
lambat
15Pertukaran Data Antar-Register Input Output
Gating
operasi tulis baca dilakukan secara bergantian
memungkinkan peranti lain menggunakan bus
Operasi Baca
Operasi Tulis
Zout Q output 0 X 3-state 1 1 1
1 0 0
- 1-bit bus Zin Q
- X 0 Q
- 0 1 0
- 1 1 1
16Pertukaran Data Antar-Register
R1in
- Instruksi
- MOV R4,R1 R4 ? R1
- Langkah-langkah
- Enable output of R1// setting R1out to 1
- Enable input of R4 // setting R4in to 1
X
R1
X
R1out
R4in
X
R4
X
R4out
17Operasi Aritmatika dan Logika
- Instruksi
- ADD R1,R2 R1 ? R1 R2
- Langkah-langkah
- R1out, Yin
- R2out, Add, Zin
- Zout, R1in