· komentar ·oleh captain flyng dutchman

BAB 15: PENGANTAR ARSITEKTUR DAN RTL

 

BAB 15: PENGANTAR ARSITEKTUR DAN RTL

 

A.    Pengantar Arsitektur Komputer

1.     Definisi Arsitektur Komputer

a.     Arsitektur komputer adalah disiplin yang mendefinisikan struktur dan perilaku sistem computer

b.     Mencakup set instruksi, organisasi memori, dan mekanisme I/O

c.     Arsitektur vs Organisasi — arsitektur (apa yang terlihat programmer), organisasi (implementasi hardware)

d.     Contoh: x86, ARM, RISC-V adalah arsitektur

2.     Komponen Dasar Komputer

a.     CPU (Central Processing Unit) — otak computer

b.     Memori — menyimpan program dan data (RAM, ROM)

c.     I/O (Input/Output) — komunikasi dengan dunia luar

d.     Bus — jalur komunikasi antar komponen

3.     Model Von Neumann vs Harvard

a.     Von Neumann — satu memori untuk program dan data

b.     Harvard — memori terpisah untuk program dan data

c.     Von Neumann — lebih sederhana, bottleneck Von Neumann

d.     Harvard — lebih cepat (digunakan di mikrokontroler)

4.     Hierarki Komputer

a.     Level 0 — Digital Logic (gerbang, flip-flop)

b.     Level 1 — Microarchitecture (RTL, ALU, register)

c.     Level 2 — ISA (Instruction Set Architecture)

d.     Level 3 — Operating System

e.     Level 4 — Application Software

B.    Register Transfer Level (RTL)

1.     Definisi RTL

a.     RTL adalah level abstraksi yang mendeskripsikan sistem digital dalam bentuk transfer data antar register

b.     Setiap transfer terjadi pada tepi clock

c.     RTL menggambarkan perilaku CPU pada level siklus clock

d.     Digunakan dalam desain dan sintesis hardware (HDL)

2.     Komponen RTL

a.     Register — menyimpan data (n-bit)

b.     Datapath — jalur transfer data (bus, multiplexer, ALU)

c.     Control Unit — menghasilkan sinyal kontrol

d.     Clock — sinkronisasi operasi

3.     Notasi RTL

a.     R ← A — transfer data dari A ke R (pada tepi clock)

b.     R[0] ← A — transfer ke bit tertentu

c.     R ← R + A — operasi aritmatika

d.     if (condition) then R ← A — transfer bersyarat

4.     Contoh RTL untuk Instruksi Sederhana

a.     ADD R1, R2, R3 → R1 ← R2 + R3

b.     LOAD R1, [addr] → R1 ← M[addr]

c.     STORE [addr], R1 → M[addr] ← R1

d.     JUMP addr → PC ← addr

5.     RTL dalam Desain Digital

a.     RTL adalah bahasa yang digunakan dalam VHDL dan Verilog

b.     Sintesis RTL → mengubah kode menjadi netlist gerbang

c.     Simulasi RTL → memverifikasi perilaku sistem

d.     FPGA dan ASIC menggunakan RTL sebagai input desain

C.    Arithmetic Logic Unit (ALU)

1.     Definisi dan Fungsi ALU

a.     ALU adalah komponen yang melakukan operasi aritmatika dan logika

b.     Input: dua operand (A, B) dan control signal (opcode)

c.     Output: hasil operasi (Result) dan status flag

d.     Jantung dari CPU dan mikroprosesor

2.     Operasi ALU Dasar

a.     Aritmatika: ADD, SUB, INC, DEC, CMP

b.     Logika: AND, OR, XOR, NOT, SHIFT

c.     Pergeseran: Shift Left, Shift Right, Rotate

d.     Lainnya: PASS A, PASS B, ZERO, INVERT

3.     ALU 4-bit Sederhana

a.     4-bit input (A, B) → 4-bit output (Result)

b.     4 opcode (S1,S0) untuk 4 operasi

c.     Operasi: ADD, SUB, AND, OR

d.     Desain dengan full-adder dan gerbang logika

e.     Multiplexer untuk memilih output

4.     Status Flag (Condition Code)

a.     Zero (Z) — hasil = 0

b.     Carry (C) — carry out dari operasi

c.     Overflow (V) — overflow pada operasi signed

d.     Negative (N) — hasil negatif (MSB=1)

e.     Digunakan untuk instruksi percabangan bersyarat

5.     IC ALU 74181

a.     74181 — 4-bit ALU yang popular

b.     16 operasi logika dan 16 operasi aritmatika

c.     Dilengkapi dengan Carry In dan Carry Out

d.     Dapat di-cascade untuk 8-bit, 12-bit, 16-bit

e.     Simbol dan pinout

D.    Control Unit — Jantung CPU

1.     Definisi Control Unit

a.     Control unit menghasilkan sinyal kontrol untuk mengatur CPU

b.     Menerjemahkan instruksi menjadi sinyal kontrol

c.     Mengatur aliran data di datapath

d.     Menjaga sinkronisasi operasi

2.     Arsitektur Control Unit

a.     Hardwired Control — logika kombinasional (cepat, tetapi kompleks)

b.     Microprogrammed Control — menggunakan ROM (fleksibel)

c.     Control word — kumpulan sinyal kontrol untuk satu siklus

d.     Microinstruction — satu langkah dalam program kontrol

3.     Siklus Instruksi

a.     Fetch — mengambil instruksi dari memori

b.     Decode — menerjemahkan instruksi

c.     Execute — menjalankan instruksi

d.     Write Back — menyimpan hasil

e.     Setiap langkah memerlukan sinyal kontrol tertentu

4.     Sinyal Kontrol

a.     Register Enable — mengaktifkan register untuk menerima data

b.     Register Output — mengaktifkan output register ke bus

c.     ALU Opcode — memilih operasi ALU

d.     Memory Read/Write — mengontrol akses memori

e.     PC Enable — update Program Counter

E.    Decoder Instruksi

1.     Format Instruksi

a.     Opcode — menentukan operasi yang harus dilakukan

b.     Operand — data atau alamat yang digunakan

c.     3-address → 2-address → 1-address → 0-address (stack)

d.     Contoh: ADD R1, R2, R3 (3-address)

2.     Decoder Instruksi

a.     Menerjemahkan opcode menjadi sinyal kontrol

b.     Menggunakan decoder dan logika kombinasional

c.     Menghasilkan control word untuk setiap instruksi

d.     ROM-based decoder → microprogrammed control

3.     Contoh Dekoder Sederhana

a.     4-bit opcode → 16 kemungkinan instruksi

b.     Setiap instruksi menghasilkan sinyal kontrol yang berbeda

c.     ADD: ALU_OP=ADD, REG_WRITE=1

d.     SUB: ALU_OP=SUB, REG_WRITE=1

e.     LOAD: MEM_READ=1, REG_WRITE=1

4.     Timing Control

a.     Setiap instruksi memerlukan beberapa siklus clock

b.     State machine menentukan urutan siklus

c.     Fetch, Decode, Execute, Write Back

d.     Multi-cycle vs Single-cycle implementation

F.     Finite State Machine (FSM)

1.     Definisi FSM

a.     FSM adalah model matematika untuk sistem dengan state diskrit

b.     State → input → next state → output

c.     FSM Moore vs FSM Mealy

d.     Digunakan dalam control unit, protocol, sequencer

2.     Moore State Machine

a.     Output hanya bergantung pada state (bukan input)

b.     State → output (kombinasional)

c.     Lebih sederhana, lebih stabil

d.     Contoh: traffic light controller

3.     Mealy State Machine

a.     Output bergantung pada state DAN input

b.     State + input → output (kombinasional)

c.     Respon lebih cepat (tanpa menunggu clock berikutnya)

d.     Contoh: UART receiver, pattern detector

4.     Desain FSM dengan Flip-Flop

a.     State register (flip-flop untuk setiap bit state)

b.     Next state logic (kombinasional)

c.     Output logic (kombinasional)

d.     Clock untuk sinkronisasi

5.     Aplikasi FSM

a.     Control unit CPU

b.     Protocol controller (I2C, SPI, UART)

c.     Traffic light controller

d.     Sequence generator

e.     Pattern detector (Pencocokan pola)

G.    Rangkaian Aritmatika Lanjutan

1.     Carry Look-Ahead Adder (CLA)

a.     Mengatasi keterlambatan ripple carry

b.     Menghitung carry secara parallel

c.     Generate (G) = A·B, Propagate (P) = A B

d.     C1 = G0 + P0·C0

e.     C2 = G1 + P1·G0 + P1·P0·C0

f.      IC 74182 — carry look-ahead generator

2.     Multiplier (Perkalian)

a.     Shift-and-add multiplier — metode sederhana

b.     Array multiplier — menggunakan full-adder

c.     Booth multiplier — untuk bilangan bertanda

d.     Aplikasi — DSP, floating-point unit

3.     Divider (Pembagian)

a.     Restoring division — metode pengurangan berulang

b.     Non-restoring division — lebih cepat

c.     Aplikasi — floating-point unit, DSP

4.     Barrel Shifter

a.     Dapat menggeser n-bit dengan cepat

b.     Menggunakan multiplexer

c.     Shift left, shift right, rotate

d.     Aplikasi — ALU, floating-point unit

5.     Floating-Point Unit (FPU)

a.     Representasi floating-point (IEEE 754)

b.     Single-precision (32-bit), double-precision (64-bit)

c.     Operasi: add, sub, mul, div, sqrt

d.     Aplikasi — CPU modern, DSP, GPU

H.    Aplikasi Arsitektur dan RTL

1.     Mikroprosesor Sederhana (4-bit)

a.     4-bit ALU, 4 register, 16×4 RAM

b.     Instruksi: LOAD, STORE, ADD, SUB, JUMP, JZ

c.     Control unit dengan FSM

d.     Contoh: Intel 4004 (mikroprosesor pertama)

2.     Mikrokontroler Sederhana

a.     CPU + RAM + ROM + I/O dalam satu chip

b.     Contoh: Intel 8051, Atmel AVR, PIC

c.     Aplikasi — embedded system, IoT, robotika

d.     Arduino (ATmega328) sebagai contoh modern

3.     Desain HDL (VHDL/Verilog)

a.     VHDL dan Verilog adalah bahasa untuk mendesain hardware

b.     RTL coding → behavior deskripsi hardware

c.     Simulation → verifikasi fungsional

d.     Synthesis → mengubah RTL menjadi netlist gerbang

e.     FPGA dan ASIC implementation

4.     FPGA (Field Programmable Gate Array)

a.     FPGA adalah IC yang dapat diprogram ulang

b.     Terdiri dari CLB (Configurable Logic Blocks), interkoneksi, I/O

c.     Digunakan untuk prototyping dan produksi volume kecil

d.     Contoh: Xilinx Spartan, Altera Cyclone, Lattice ICE

5.     ASIC (Application-Specific IC)

a.     ASIC adalah IC yang dirancang untuk aplikasi spesifik

b.     Tidak dapat diprogram ulang (fixed function)

c.      Biaya fabrikasi tinggi → hanya untuk volume besar

d.     Contoh: chip smartphone, GPU, SoC

 

Komentar