D3 Teknik Komputer - Politeknik Negeri Padang
Sub-CPMK 2.1 - Analisis Blok Diagram dan Komponen CPU
Praktikum
3 (1 Teori + 2 Praktikum)
2.1
CPU Simulator
Mengenal komponen-komponen utama CPU dan fungsinya
Memahami siklus fetch-decode-execute dan pipeline processing
Memahami fungsi dan jenis-jenis register dalam CPU
Praktikum dengan simulator CPU untuk memahami operasi
Mengkoordinasi operasi CPU
Instruction decodingArithmetic Logic Unit
Perhitungan & logikaPenyimpanan sementara
High-speed storagePipeline memungkinkan CPU mengolah beberapa instruksi secara simultan dalam stage yang berbeda.
Mengambil instruksi dari memory
PC → Memory → IRMenginterpretasikan instruksi
Decode opcode & operandsMenjalankan operasi
ALU operationsAkses data memory
Load/Store operationsMenyimpan hasil
Update registersResource conflict
Data dependency
Branch instructions
| Instruction | Syntax | Description | Example |
|---|---|---|---|
| MOV | MOV dest, src | Move data | MOV AX, 5 |
| PUSH | PUSH src | Push to stack | PUSH AX |
| POP | POP dest | Pop from stack | POP BX |
| LOAD | LOAD reg, mem | Load from memory | LOAD AX, [1000] |
| STORE | STORE mem, reg | Store to memory | STORE [1000], AX |
| Instruction | Syntax | Description | Example |
|---|---|---|---|
| ADD | ADD dest, src | Addition | ADD AX, BX |
| SUB | SUB dest, src | Subtraction | SUB AX, 5 |
| MUL | MUL src | Multiplication | MUL BX |
| DIV | DIV src | Division | DIV CX |
| INC | INC dest | Increment | INC AX |
| DEC | DEC dest | Decrement | DEC BX |
| Instruction | Syntax | Description | Example |
|---|---|---|---|
| AND | AND dest, src | Logical AND | AND AX, BX |
| OR | OR dest, src | Logical OR | OR AX, BX |
| XOR | XOR dest, src | Logical XOR | XOR AX, AX |
| NOT | NOT dest | Logical NOT | NOT AX |
| SHL | SHL dest, count | Shift Left | SHL AX, 2 |
| SHR | SHR dest, count | Shift Right | SHR BX, 1 |
| Instruction | Syntax | Description | Example |
|---|---|---|---|
| JMP | JMP label | Unconditional jump | JMP start |
| JZ | JZ label | Jump if zero | JZ equal |
| JNZ | JNZ label | Jump if not zero | JNZ not_equal |
| CALL | CALL proc | Call procedure | CALL multiply |
| RET | RET | Return from procedure | RET |
| CMP | CMP op1, op2 | Compare operands | CMP AX, BX |
Tugas: Implementasikan operasi aritmetika sederhana menggunakan instruksi CPU
Tugas: Buat loop untuk menghitung factorial
Tugas: Analisis pipeline hazards dalam sequence instruksi