123454. Mikroprosesor
🧠 Rekayasa Sistem Komputer β€’ Semester Gasal

Diktat Kuliah: Arsitektur & Organisasi Mikroprosesor

Kajian menyeluruh 16 pertemuan akademik berbasis Rekayasa Sistem Komputer: membedah arsitektur internal silikon prosesor, logika bus interkoneksi, timing cycle tingkat gerbang, sistem memori tersegmentasi, interrupt controller, DMA, hingga komputasi multi-core modern.

Bobot Perkuliahan: 3 SKS (Teori Mendalam & Praktik Rancang Bangun)
Spesialisasi: Hardware Architecture, Low-Level Driver & Embedded Interfacing
← Kembali ke Beranda Portal
Pertemuan 01

Pengantar Mikroprosesor & Evolusi Arsitektur Komputer

Intel 400419714-bit808019748-bit8086197816-bit80386198532-bitCore / AMD6464-bit multi-coreLebar data bertambah, transistor dari 2.300 hingga miliaran
Evolusi mikroprosesor dari 4-bit hingga 64-bit multi-core
πŸ–ΌοΈ Penjelasan Gambar

Baca dari kiri ke kanan: tiap kotak memuat nama chip, tahun, dan lebar data. 8086 disorot karena menjadi dasar keluarga x86 yang masih hidup di PC modern.

πŸ’‘ Poin kunci: Tren utamanya: lebar data naik (4 β†’ 64 bit), transistor naik dari 2.300 ke miliaran, dan ruang alamat membesar. Lebar data menentukan ukuran operand per instruksi; lebar bus alamat n bit menentukan kapasitas memori 2n byte.

🎯 Definisi Topik

Mikroprosesor adalah sirkuit terpadu (Integrated Circuit/IC) berskala sangat besar (VLSI/ULSI) yang mengintegrasikan seluruh fungsi Central Processing Unit (CPU) ke dalam satu keping semikonduktor silikon monolitik. Pertemuan ini mengkaji evolusi teknologi fabrikasi mikroprosesor dari era 4-bit (Intel 4004) hingga arsitektur 64-bit multi-core modern, serta hukum-hukum fisika dasar yang membatasi kinerja komputasi perangkat keras.

πŸ“‹ Pokok Pembahasan

Sejarah dan Taksonomi Mikroprosesor, Hukum Moore & Dennard Scaling, Power Wall & Disipasi Termal, Arsitektur Von Neumann vs Harvard, Komparasi MPU vs MCU vs DSP vs SoC, serta Metrik Kinerja Prosesor (MIPS, MFLOPS, IPC, Clock Frequency).

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Taksonomi Generasi Mikroprosesor & Skalabilitas Arsitektur

Dalam rekayasa sistem komputer, evolusi mikroprosesor ditandai oleh ekspansi lebar bus data internal/eksternal, kapasitas pengalamatan fisik, serta kerapatan integrasi transistor per milimeter persegi silikon:

Prosesor & Tahun Lebar Data / Alamat Kapasitas Ruang Fisik Jumlah Transistor & Litografi Fitur Kunci Arsitektur
Intel 4004 (1971) 4-bit / 12-bit (program) 4 KB memori program + 640 byte RAM data 2.300 (10 Β΅m PMOS) Mikroprosesor komersial monolitik pertama, kalkulator desimal bus tunggal.
Intel 8080 (1974) 8-bit / 16-bit 64 Kilobyte 6.000 (6 Β΅m NMOS) CPU komputer mikro pertama (Altair 8800), clock 2 MHz, sistem bus 3-state.
Intel 8086 (1978) 16-bit / 20-bit 1 Megabyte 29.000 (3 Β΅m HMOS) Pondasi instruksi x86 CISC, segmentasi memori 16-bit, antrian instruksi 6-byte.
Intel 80386 (1985) 32-bit / 32-bit 4 Gigabyte 275.000 (1 Β΅m CMOS) Arsitektur 32-bit datar (IA-32), unit manajemen memori (MMU) paging, Protected Mode.
Intel Core / AMD64 (Modern) 64-bit / 48–57 bit Hingga Exabyte Puluhan Milyar (3–7 nm FinFET/GAA) Multi-core terintegrasi, Out-of-Order execution, AVX SIMD, branch predictor neural network.

2. Batasan Fisika Komputasi: Hukum Moore, Dennard Scaling & Power Wall

Selama beberapa dekade, perkembangan mikroprosesor dipandu oleh dua prinsip empiris:

  • Hukum Moore (Gordon Moore, 1965): Jumlah transistor pada keping silikon berlipat ganda kira-kira setiap 18 hingga 24 bulan dengan biaya produksi per transistor yang semakin murah.
  • Dennard Scaling (Robert Dennard, 1974): Ketika transistor mengecil, kerapatan dayanya tetap konstan karena voltase (V) dan arus listrik (I) menurun sebanding dengan dimensi luas semikonduktor, memungkinkan frekuensi clock dinaikkan secara drastis tanpa melelehkan chip.
⚠️ Runtuhnya Dennard Scaling & Krisis "Power Wall"

Sekitar tahun 2005, ketika fabrikasi semikonduktor menyentuh level sub-65 nm, voltase gerbang (Vdd) tidak bisa lagi diturunkan lebih jauh karena batas tegangan ambang batas (threshold voltage) dan arus bocor kuantum (quantum leakage current). Rumus disipasi daya dinamis CMOS:

P_{\text{dynamic}} = C \cdot V^2 \cdot f + P_{\text{static (leakage)}}

Jika frekuensi clock (f) dipaksa menembus 4–5 GHz, disipasi panas melonjak eksponensial (kerapatan daya mendekati batas kemampuan pendinginan udara konvensional sehingga chip terpaksa menurunkan frekuensi (thermal throttling)). Inilah yang disebut Power Wall. Akibatnya, industri beralih dari menaikkan clock tunggal (single-core scaling) ke perancangan Multi-core Parallelism dan akselerator spesifik (NPU/GPU).

3. Komparasi Komprehensif MPU, MCU, DSP, dan SoC

Mikroprosesor (MPU) Hanya mengintegrasikan unit CPU (ALU, CU, Register, Cache). Memori RAM, ROM, dan periferal I/O dipasang terpisah di motherboard melalui bus sistem. Berorientasi pada komputasi umum berkecepatan tinggi (PC, Server, Workstation).
Mikrokontroler (MCU) Mengintegrasikan CPU, RAM, Flash ROM, Timer, ADC, DAC, dan GPIO ke dalam satu chip tunggal. Berorientasi pada sistem kontrol berdedikasi dengan konsumsi daya rendah (otomotif, IoT, peralatan rumah tangga).
Digital Signal Processor (DSP) Prosesor arsitektur Harvard khusus yang dioptimalkan untuk memproses sinyal analog terdigitalisasi secara real-time. Memiliki instruksi perangkat keras Multiply-Accumulate (MAC) 1-siklus untuk komputasi FFT, filtering, dan kompresi audio/video.
System-on-Chip (SoC) Mengintegrasikan seluruh sistem komputer lengkap dalam satu die silikon: multi-core CPU, GPU, modem jaringan nirkabel (4G/5G, Wi-Fi), Neural Processing Unit (NPU), dan ISP kamera (misal: Apple M-Series, Qualcomm Snapdragon).
Pertemuan 02

Arsitektur Internal CPU & Blok Diagram Fungsional

BIU (Bus Interface Unit)Segment RegCS DS SS ESIPAntrian instruksi 6 bytePembentuk alamat 20-bitEU (Execution Unit)AX BX CX DXSP BP SI DIALUFlagsControl / Decodeinstruksi
8086: BIU mengambil instruksi sementara EU mengeksekusi (paralel)
πŸ–ΌοΈ Penjelasan Gambar

Kotak kiri (BIU) mengurus bus: register segmen, IP, antrian instruksi 6 byte, dan pembentuk alamat 20-bit. Kotak kanan (EU) mengeksekusi: register umum, pointer/indeks, ALU, flag, dan unit kendali. Panah ke kanan membawa instruksi dari antrian ke EU; panah balik membawa permintaan akses data.

πŸ’‘ Poin kunci: Keduanya bekerja bersamaan: BIU mengambil instruksi berikutnya selagi EU mengeksekusi yang sekarang, sehingga CPU tidak menunggu memori. Ini cikal bakal pipelining (P15).

🎯 Definisi Topik

Dekomposisi struktural dan fungsional internal Central Processing Unit (CPU) yang memisahkan arsitektur ke dalam Bus Interface Unit (BIU) dan Execution Unit (EU). Pembahasan mencakup perancangan unit logika aritmetika (ALU), mekanisme kontrol mikro (Control Unit), organisasi bank register internal, serta analisis kondisi batas matematis pada Flag Register 16-bit.

πŸ“‹ Pokok Pembahasan

Pembagian Dua Unit Inti 8086 (BIU vs EU), Antrian Instruksi (Instruction Pre-fetch Queue), Struktur ALU, Control Unit (Hardwired Logic vs Microprogrammed), General Purpose Registers, Index & Pointer Registers, Segment Registers, dan Dekonstruksi 9 Bit Aktif Flag Register.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Pemisahan Bus Interface Unit (BIU) dan Execution Unit (EU)

Sebelum arsitektur Intel 8086 diciptakan, prosesor terdahulu harus berhenti mengambil instruksi berikutnya saat instruksi saat ini sedang dieksekusi (idle bus). 8086 mengatasi inefisiensi ini dengan membelah CPU menjadi dua subsistem independen yang bekerja paralel (pipelining primitif):

1. Bus Interface Unit (BIU) Bertanggung jawab penuh atas komunikasi ke bus luar CPU. BIU menghitung alamat fisik 20-bit, mengambil kode instruksi biner dari memori kode, memasukkannya ke dalam Instruction Queue (antrian 6-byte FIFO), serta membaca/menulis data operan ke RAM atau port I/O.
2. Execution Unit (EU) Bertanggung jawab murni mengeksekusi instruksi. EU mengambil opcode dari antrian BIU, mendekodekannya, mengendalikan ALU untuk kalkulasi, membaca data dari register internal, dan menyetel bendera status matematis (Flag Register).

2. Organisasi Bank Register Internal Intel 8086

Mikroprosesor 8086 memiliki 14 register internal berukuran 16-bit yang dikelompokkan berdasarkan peran fungsionalnya:

  • Data / General Purpose Registers: Dapat diakses sebagai 16-bit utuh (AX, BX, CX, DX) atau dipecah menjadi dua register 8-bit independen (High dan Low byte):
    • AX (AH/AL) - Accumulator: Register utama untuk operasi aritmetika, perkalian/pembagian biner, input-output port I/O, serta pemanggilan nomor layanan interrupt.
    • BX (BH/BL) - Base: Register serbaguna yang merupakan satu-satunya general-register yang dapat memegang alamat memori tidak langsung (base pointer indexing).
    • CX (CH/CL) - Count: Pencacah otomatis loop software (LOOP) dan pergeseran bit (SHL/SHR dengan nilai CL).
    • DX (DH/DL) - Data: Menampung kata bagian atas (MSW) hasil perkalian 32-bit, sisa bagi pembagian, dan nomor port I/O 16-bit pada instruksi IN/OUT.
  • Pointer & Index Registers (16-bit Utuh):
    • SP (Stack Pointer): Menyimpan nilai offset puncak tumpukan memori stack saat ini (berpasangan dengan segmen SS).
    • BP (Base Pointer): Menunjuk ke dasar frame fungsi stack untuk membaca variabel lokal dan argumen parameter fungsi.
    • SI (Source Index): Penunjuk alamat memori sumber pada operasi transfer blok string.
    • DI (Destination Index): Penunjuk alamat memori tujuan pada operasi transfer blok string.
    • IP (Instruction Pointer): Menyimpan offset instruksi biner berikutnya yang akan dieksekusi (berpasangan mutlak dengan segmen CS).
  • Segment Registers (16-bit Basis Segmen Memori): CS (Code Segment), DS (Data Segment), SS (Stack Segment), dan ES (Extra Segment).

3. Analisis Mendalam Status Flag & Kondisi Batas Matematis

Flag register 16-bit pada 8086 memuat 9 bit aktif: 6 Status Flags (merekam hasil operasi ALU) dan 3 Control Flags (mengatur perilaku prosesor):

Flag Bit Nama Flag Kondisi Logika Set (= 1) Analisis Batas Rekayasa & Contoh Kasus
CF (Bit 0) Carry Flag Carry keluar dari MSB pada penjumlahan, atau Borrow pada pengurangan. Digunakan untuk aritmetika Unsigned. Contoh: FFh + 01h = 00h (CF=1).
PF (Bit 2) Parity Flag Jumlah angka biner '1' pada 8-bit terbawah (LSB) berjumlah genap (Even). Deteksi galat transmisi hardware. Misal: hasil 00000011b (2 angka '1', genap → PF=1).
AF (Bit 4) Auxiliary Carry Carry dari bit 3 ke bit 4 (perpindahan antar nibble). Digunakan untuk konversi sandi desimal berkode biner BCD (instruksi DAA / DAS).
ZF (Bit 6) Zero Flag Hasil akhir seluruh bit operasi ALU bernilai nol (0000h). Kunci penentu instruksi perbandingan: CMP AX, BX → jika AX=BX maka ZF=1.
SF (Bit 7) Sign Flag Bit paling signifikan (MSB) bernilai 1. Menandakan bilangan bertanda bernilai negatif dalam sistem komplemen dua.
OF (Bit 11) Overflow Flag Hasil operasi bilangan bertanda (Signed) meluap melewati batas kapasitas rentang bit. Contoh: Penjumlahan dua bilangan positif 8-bit menghasilkan bilangan negatif (+127 + 1 = -128). Rumus: OF = Cin(MSB) ⊕ Cout(MSB).
TF (Bit 8) Trap Flag Disetel oleh debugger untuk mode penelusuran langkah tunggal (Single Step). Ketika TF=1, CPU secara otomatis membangkitkan interupsi internal Tipe 1 setelah setiap eksekusi 1 instruksi.
IF (Bit 9) Interrupt Flag CPU menanggapi sinyal interupsi hardware eksternal pada pin INTR. Disetel via instruksi software STI (Set Interrupt, IF=1) dan dinonaktifkan via CLI (Clear Interrupt, IF=0).
DF (Bit 10) Direction Flag Menentukan arah auto-increment / auto-decrement pada instruksi pemrosesan string. Jika DF=0 (CLD), register SI dan DI bertambah (maju). Jika DF=1 (STD), berkurang (mundur).
Gambar 2.1 — Arsitektur Internal Intel 8086: BIU & EU
BIU (Bus Interface Unit) Segment Registers CS DS SS ES IP (Instr. Pointer) Instr. Queue 6-byte FIFO Prefetch Buffer Address Adder Seg:Offset → 20-bit Addr Bus Control 20-bit Address Bus 16-bit Data Bus Instr. Addr/Ctrl EU (Execution Unit) Gen. Registers AX BX CX DX SP BP SI DI (8 x 16-bit) ALU Arithmetic & Logic Ops 16-bit Flag Register OF DF IF TF SF ZF AF PF CF Control Unit Decode & Execute Temporary / Operand Registers (internal buffer) ← External Bus (Memory/IO)
Pertemuan 03

Sistem Bus, Organisasi Memori & Perancangan Dekoder Alamat

CPU 8086Address bus (20)Data bus (16)Control (RD/WR)Dekoder74LS138ROMRAMPort I/OAlamat tinggi dipilih dekoder menjadi sinyal CS tiap perangkat
Bus sistem dan dekoder alamat memilih satu perangkat per akses
πŸ–ΌοΈ Penjelasan Gambar

CPU menaruh alamat di address bus 20 jalur (1 MB), data lewat data bus 16 bit, dan sinyal RD/WR lewat control bus. Dekoder 74LS138 mengubah bit alamat tinggi menjadi satu sinyal chip-select aktif, sehingga hanya satu perangkat (ROM, RAM, atau port) yang merespons.

πŸ’‘ Poin kunci: Tanpa dekoder, beberapa perangkat menjawab bersamaan (bus contention). Catatan: pada 8086 alamat dan data dimultipleks di AD0–AD15, jadi perlu latch yang diaktifkan sinyal ALE.

🎯 Definisi Topik

Kajian menyeluruh mengenai interkoneksi perangkat keras melalui sistem bus mikroprosesor, de-multiplexing jalur bus waktu terbagi (Time-Multiplexed Address/Data Bus) menggunakan Latch, konsep segmentasi memori 1 MB, perhitungan alamat fisik 20-bit, serta metodologi sintesis rangkaian dekoder alamat memori dan I/O menggunakan gerbang kombinasional dan IC Dekoder 74LS138.

πŸ“‹ Pokok Pembahasan

Triad Bus Sistem, De-multiplexing Bus Alamat/Data (AD0–AD15 & ALE), Segmentasi Memori 8086, Translasi Segment:Offset ke Alamat Fisik 20-bit, Perancangan Dekoder Penuh vs Sebagian (Full vs Partial Address Decoding), Sintesis Chip Select (CS) IC 74LS138, Peta Memori (Memory Mapping).

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Alasan Rekayasa De-multiplexing Bus Alamat & Data (AD0–AD15)

Mikroprosesor Intel 8086 dikemas dalam standar Dual In-Line Package (DIP) 40-pin. Untuk meminimalkan jumlah pin fisik, perancang Intel menggunakan teknik Time-Multiplexed Bus: pin 2 s.d. 16 dan pin 39 merangkap fungsi sebagai jalur alamat (A0–A15) pada awal siklus clock (T1), kemudian berganti fungsi menjadi jalur data (D0–D15) pada siklus clock berikutnya (T2, T3, T4).

πŸ”§ Peran Kunci Sinyal ALE (Address Latch Enable)

Agar memori luar tidak kehilangan informasi alamat saat pin prosesor beralih fungsi menjadi data bus, diperlukan IC eksternal Octal Latch Transparan (74LS373). CPU memancarkan pulsa berlogika HIGH pada pin ALE tepat pada saat T1. Saat sinyal ALE bertransisi dari HIGH ke LOW, chip 74LS373 membekukan (latch) bit alamat A0–A15 sehingga alamat tetap stabil dan valid selama sisa siklus baca/tulis memori berlangsung.

2. Matematika Segmentasi Memori & Translasi Alamat Fisik 20-Bit

Bus alamat 8086 memiliki lebar 20-bit (A0–A19), yang mampu mengalamatkan memori fisik hingga:

2^{20}\text{ lokasi} = 1.048.576\text{ Byte} = 1\text{ Megabyte (MB)}

Karena seluruh register internal prosesor hanya berukuran 16-bit (hanya mampu menjangkau 216 = 64 KB), prosesor menggunakan skema Segmentasi Dua Tingkat:

Struktur Matematis Translasi Alamat Fisik
Format Alamat Logika:  SEGMEN : OFFSET  (misal: 4A20h : 0150h)

Perhitungan Alamat Fisik 20-bit:
1. Alamat Segmen (16-bit) digeser ke kiri 4 bit (dikalikan 16 desimal / 10h):
   4A20h << 4  = 4A200h  (menjadi 20-bit, menambahkan angka 0 di posisi terendah)

2. Dijumlahkan dengan Alamat Offset (16-bit):
   4A200h + 0150h = 4A350h (Alamat Fisik Absolut pada Pin Bus A0-A19)

3. Perancangan Dekoder Alamat Memori Menggunakan IC 74LS138

Dalam rekayasa sistem, memori 1 MB tidak pernah dipasang menggunakan keping tunggal, melainkan dipecah menjadi beberapa IC SRAM dan ROM. IC 74LS138 adalah dekoder 3-to-8 line yang memiliki 3 pin seleksi (A, B, C) dan 3 pin enable (G1, G2A, G2B) dengan keluaran aktif rendah (Y0–Y7):

Jalur Alamat CPU (A19, A18, A17) Output Aktif (Yn) Rentang Alamat Fisik 20-Bit Alokasi Subsistem Komputer
0 0 0 Y0 = LOW 00000h – 1FFFFh (128 KB) SRAM Statis Sistem & Tabel Vektor Interupsi (IVT)
0 0 1 Y1 = LOW 20000h – 3FFFFh (128 KB) SRAM Tambahan Aplikasi Pengguna
0 1 0 s.d. 1 1 0 Y2–Y6 40000h – DFFFFh (640 KB) Ekspansi RAM Tambahan / Framebuffer Grafis
1 1 1 Y7 = LOW E0000h – FFFFFh (128 KB) ROM Flash BIOS (Memuat alamat eksekusi awal prosesor saat boot: FFFF0h)
Gambar 3.1 — Peta Memori 8086: Ruang Alamat 1 MB (00000h – FFFFFh)
ROM BIOS F0000-FFFFF UMA C0000-EFFFF (ROM Ekspansi) Video RAM A0000-BFFFF EGA/VGA Text Mode Extended 09000-9FFFF RAM Umum (Bebas Pakai) Conventional 00000-8FFFF IVT + DOS + RAM 00000-003FF: IVT FFFFFh EFFFFh BFFFFh 9FFFFh 8FFFFh 00000h CS/DS/SS/ES Segment Register menunjuk segmen ROM BIOS Power-on Reset FFFF:0000 *High addr di atas, Low addr di bawah (konvensi hardware)
Pertemuan 04

Mode Pengalamatan Data Komprehensif (Addressing Modes)

Base (BX/BP)Index (SI/DI)DisplacementEA = Base + Index + DispAlamat fisik = Segmen x 16 + EA (20-bit)
Perhitungan alamat efektif lalu alamat fisik
πŸ–ΌοΈ Penjelasan Gambar

Tiga komponen opsional (base, index, displacement) dijumlahkan menjadi alamat efektif (EA), yaitu offset di dalam segmen. Lalu alamat fisik = segmen Γ— 16 + EA.

πŸ’‘ Poin kunci: Contoh: DS = 2000h dan EA = 0150h menghasilkan 20000h + 0150h = 20150h. Perbedaan antar-mode pengalamatan hanyalah kombinasi komponen yang dipakai, misalnya [BX+SI+5] memakai ketiganya.

🎯 Definisi Topik

Kajian mendalam seluruh varian metode penentuan lokasi data operan dalam arsitektur mikroprosesor, formula perhitungan Alamat Efektif (Effective Address/EA), pemilihan pasangan segmen default dan override prefix, serta analisis dampak mode pengalamatan terhadap efisiensi ukuran byte kode mesin dan konsumsi siklus clock.

πŸ“‹ Pokok Pembahasan

Immediate Addressing, Register Addressing, Direct Memory Addressing, Register Indirect ([BX], [BP], [SI], [DI]), Based Addressing, Indexed Addressing, Based-Indexed Addressing with Displacement, Segment Override Prefix (CS:, ES:, SS:), Perhitungan Alamat Efektif (EA).

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Alur Perhitungan Alamat Efektif (Effective Address / EA)

Pada pengalamatan memori tidak langsung, Execution Unit (EU) menghitung Alamat Efektif (EA) 16-bit sebelum BIU mentranslasikannya ke alamat fisik 20-bit. Rumus matematis umum pembentukan EA:

EA = \begin{bmatrix} \text{BX} \\ \text{BP} \end{bmatrix} + \begin{bmatrix} \text{SI} \\ \text{DI} \end{bmatrix} + \text{Displacement (8-bit / 16-bit)}

2. Taksonomi Komprehensif Mode Pengalamatan Intel 8086

Mode Pengalamatan Format Sintaksis Assembly Segmen Default Kalkulasi Alamat Fisik 20-Bit Aplikasi Rekayasa Sistem
Register MOV AX, CX None Tidak ada (Operan di dalam register CPU) Eksekusi tercepat (2 T-States), tanpa latensi bus.
Immediate MOV BL, 7Fh CS (Kode) Konstanta menyatu di dalam kode instruksi mesin Inisialisasi konstanta atau nilai mask register.
Direct MOV AX, [2000h] DS (DS × 10h) + 2000h Mengakses variabel global sederhana di memori data.
Register Indirect MOV DL, [SI] DS (atau SS jika BP) (DS × 10h) + SI Implementasi pointer memori dinamis bahasa C/C++.
Based Addressing MOV AX, [BP + 4] SS (Stack) (SS × 10h) + (BP + 4) Membaca parameter fungsi yang dikirim melalui stack.
Indexed Addressing MOV CL, [DI + 10h] DS (DS × 10h) + (DI + 10h) Mengakses elemen array linear (tabel[i]).
Based-Indexed MOV AL, [BX + SI + 8] DS (DS × 10h) + (BX + SI + 8) Mengakses elemen matriks 2-Dimensi atau tabel record data.
Contoh: Segment Override Prefix pada Operan Memori
; Standarnya: register BP selalu berpasangan dengan Stack Segment (SS)
MOV AX, [BP]          ; Alamat Fisik = (SS * 10h) + BP

; Menggunakan Segment Override Prefix untuk memaksa membaca dari Data Segment (DS)
MOV AX, DS:[BP]       ; Alamat Fisik = (DS * 10h) + BP (Menyisipkan byte prefix 3Eh)
Pertemuan 05

Set Instruksi I: Manipulasi Data, Aritmetika Biner & Logika Bitwise

RegisterAX BX CXsrcALUADD SUB AND SHRhasilRegister(dest)Flags ZF CF SF OFMOV: hanya salin, flag tidak berubah
Aliran data pada instruksi aritmetika/logika dan efeknya pada flag
πŸ–ΌοΈ Penjelasan Gambar

Operand sumber dari register masuk ke ALU, ALU menjalankan operasi (ADD, SUB, AND, SHR), hasilnya ditulis ke tujuan, dan efeknya tercatat di flag.

πŸ’‘ Poin kunci: Contoh: ADD AX,BX yang hasilnya 0 mengisi ZF = 1; hasil yang melebihi 16 bit mengisi CF = 1. MOV hanya menyalin dan tidak mengubah flag. Flag inilah yang dibaca instruksi lompatan bersyarat di P06.

🎯 Definisi Topik

Kajian operasional set instruksi transfer data (MOV, XCHG, LEA, PUSH, POP, IN, OUT), operasi hitung aritmetika bilangan bulat (ADD, ADC, SUB, SBB, MUL/IMUL, DIV/IDIV, NEG, CMP), serta manipulasi logika bitwise (AND, OR, XOR, NOT, TEST) dan operasi pergeseran bit (SHL, SHR, SAR, ROL, ROR, RCL, RCR) pada tingkat register mikroprosesor.

πŸ“‹ Pokok Pembahasan

Kaidah Perpindahan Data Memori-ke-Memori (Larangan Khusus x86), Analisis Instruksi LEA vs MOV OFFSET, Aritmetika Multi-Presisi (ADC & SBB), Perbedaan MUL/DIV vs IMUL/IDIV, Logika Bit Masking Port I/O, Operasi Shifting vs Rotating bit.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Aturan Emas Transfer Data pada Arsitektur CISC x86

Instruksi MOV dest, src memiliki batasan perangkat keras ketat yang diatur oleh desain mikro-arsitektur CPU:

  • Larangan Memory-to-Memory: Prosesor tidak dapat mengeksekusi MOV [alamat1], [alamat2] secara langsung dalam satu instruksi karena mikroprosesor tidak memiliki dua generator alamat bus simultan. Operasi harus melalui register perantara (MOV AX, [alamat2] lalu MOV [alamat1], AX).
  • Larangan Segment-to-Segment: Tidak dapat memindahkan data langsung antar register segmen (MOV DS, ES ilegal).
  • Larangan CS sebagai Tujuan: Nilai Code Segment (CS) tidak boleh diubah melalui MOV (MOV CS, AX ilegal) karena akan merusak konsistensi alur penunjuk program.

2. Aritmetika Multi-Presisi 32-Bit pada Mikroprosesor 16-Bit

Untuk menjumlahkan atau mengurangkan angka yang lebih besar dari lebar register fisik (misalnya angka 32-bit pada prosesor 16-bit 8086), digunakan instruksi ADC (Add with Carry) dan SBB (Subtract with Borrow):

Implementasi Penjumlahan 32-Bit (DX:AX + CX:BX)
; Angka Pertama 32-bit berada di pasangan DX:AX (DX = High Word, AX = Low Word)
; Angka Kedua 32-bit berada di pasangan CX:BX   (CX = High Word, BX = Low Word)

ADD AX, BX            ; 1. Jumlahkan Low-Word: AX = AX + BX (Bisa memicu Carry Flag CF=1)
ADC DX, CX            ; 2. Jumlahkan High-Word beserta nilai Carry: DX = DX + CX + CF
; Hasil penjumlahan 32-bit tersimpan sempurna di pasangan DX:AX

3. Perbedaan Kritis Shifting Logika vs Aritmetika (SHR vs SAR)

SHR (Shift Right - Logika) Menggeser seluruh bit ke kanan. Bit MSB (teratas) selalu diisi angka '0', dan bit LSB terendah dibuang ke Carry Flag (CF). Digunakan untuk operasi pembagian 2 unsigned.
SAR (Shift Arithmetic Right - Aritmetika) Menggeser seluruh bit ke kanan, tetapi mempertahankan bit tanda asli (Sign Bit MSB diduplikasi). Ini mutlak digunakan saat membagi bilangan bulat negatif bertanda dengan 2 agar tandanya tidak berubah menjadi positif.
Pertemuan 06

Set Instruksi II: Kontrol Alur Program, Percabangan & Struktur Stack Frame

Parameter fungsiReturn address (CS:IP)BP lama (PUSH BP)Variabel lokalBPSPstack tumbuh ke alamat rendahCALL menyimpan return address; RET mengembalikannya
Susunan stack frame sebuah fungsi
πŸ–ΌοΈ Penjelasan Gambar

Stack tumbuh ke alamat rendah. Pemanggil mem-push parameter, lalu CALL menyimpan return address (pada near call hanya IP; gambar menampilkan CS:IP untuk far call). Fungsi kemudian PUSH BP dan MOV BP,SP sehingga BP menjadi acuan tetap, sedangkan SP bergerak mengikuti push/pop.

πŸ’‘ Poin kunci: Parameter diakses di [BP+4] dan seterusnya, variabel lokal di [BP-2] ke bawah. Saat selesai: MOV SP,BP; POP BP; RET.

🎯 Definisi Topik

Analisis percabangan aliran instruksi tak bersyarat (JMP Short, Near, Far), percabangan bersyarat berbasis status flag ALU, loop perangkat keras, pemanggilan subrutin fungsi (CALL, RET), serta manajemen struktur data Stack Frame berbasis register Base Pointer (BP) untuk alokasi variabel lokal dan parameter fungsi re-entrant.

πŸ“‹ Pokok Pembahasan

JMP Intrasegment vs Intersegment, Conditional Jumps (Unsigned: JA, JB vs Signed: JG, JL), Instruksi LOOP dan LOOPNZ (Pencacah CX Otomatis), Karakteristik Memori Stack (LIFO & SP Auto-Decrement), Calling Convention, Pembentukan Stack Frame.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Klasifikasi Lompatan Bebas: Short, Near, dan Far Jump

  • Short Jump (2-Byte Opcode): Jarak perpindahan relatif 8-bit bertanda (-128 hingga +127 byte dari posisi register IP saat ini). Sangat hemat memori kode.
  • Near Jump (Intrasegment): Melompat ke lokasi offset mana pun di dalam segmen kode yang sama (±32 KB atau seluruh 64 KB ruang CS). Register CS tetap, hanya IP yang diperbarui.
  • Far Jump (Intersegment): Melompat ke segmen kode yang berbeda secara absolut. Instruksi memuat 4-byte operan baru: 2 byte untuk IP baru dan 2 byte untuk CS baru (JMP 1000h:0500h).

2. Anatomi Lengkap Pembentukan Stack Frame Fungsi

Ketika sebuah fungsi dipanggil dalam bahasa tingkat tinggi (seperti C/C++), compiler membangkitkan struktur Stack Frame untuk memastikan variabel lokal tidak saling tumpang tindih saat fungsi memanggil dirinya sendiri (rekursi):

Struktur Rekayasa Stack Frame Fungsi (Calling Convention)
; ALUR PEMANGGIL (CALLER):
PUSH 0020h            ; Masukkan Parameter ke-2 ke stack
PUSH 0010h            ; Masukkan Parameter ke-1 ke stack
CALL hitung_nilai      ; PUSH Return Address (IP) ke stack & lompat ke fungsi
ADD  SP, 4             ; Bersihkan parameter dari stack setelah selesai (C-Calling Convention)

; STRUKTUR INTERNAL FUNGSI (CALLEE):
hitung_nilai:
    PUSH BP           ; 1. Simpan frame pointer milik fungsi pemanggil
    MOV  BP, SP       ; 2. Tetapkan BP saat ini sebagai jangkar frame baru
    SUB  SP, 2        ; 3. Alokasikan 2 byte di stack untuk variabel lokal fungsi

    ; Akses data melalui pointer BP:
    MOV  AX, [BP + 4] ; Membaca Parameter 1 (alamat lebih tinggi di stack)
    MOV  BX, [BP + 6] ; Membaca Parameter 2
    ADD  AX, BX       ; AX = Param1 + Param2
    MOV  [BP - 2], AX ; Simpan hasil ke variabel lokal (alamat lebih rendah)

    ; Epilog Pemulihan Frame:
    MOV  SP, BP       ; Bebaskan memori variabel lokal
    POP  BP           ; Pulihkan frame pointer lama
    RET               ; Ambil Return Address dari stack & kembali ke caller
Gambar 7.1 — Tata Letak Stack Frame (Prosedur dengan Parameter & Variabel Lokal)
Param 3 [BP+8] Param 2 [BP+6] Param 1 [BP+4] Return Address [BP+2] Old BP (Saved) BP = SP (saat ENTER) Local Var 1 [BP-2] Local Var 2 [BP-4] ... (free stack) SP (top stack) BP (frame pointer) Alamat Rendah Alamat Tinggi Stack Grows ↓
Pertemuan 07

Siklus Mesin, Eksekusi Instruksi & Analisis Diagram Pewaktuan

πŸ“Œ Catatan penyesuaian RPS: pada RPS, pertemuan 07 bertema Praktikum dan Simulasi Assembly. Materi siklus mesin di sini menjadi dasar untuk menelusuri (tracing) eksekusi instruksi saat simulasi di emu8086 (lihat modul Rangkuman Assembly emu8086).
T1Kirim alamat (ALE)T2Sinyal RD / WRT3Transfer dataT4Selesai / bus bebas1 siklus bus = 4 T-state. T = 1 periode clock (mis. 5 MHz: 200 ns)
Siklus mesin dasar 8086: empat T-state
πŸ–ΌοΈ Penjelasan Gambar

Satu siklus bus terdiri dari empat T-state. T1: alamat keluar dan ALE mengunci alamat. T2: sinyal RD atau WR aktif. T3: data dipindahkan (bila memori lambat, wait state disisipkan di sini). T4: siklus selesai dan bus bebas.

πŸ’‘ Poin kunci: Contoh hitung: clock 5 MHz berarti 1 T = 200 ns, sehingga satu siklus bus = 4 Γ— 200 = 800 ns. Kecepatan akses memori dibatasi oleh siklus ini.

🎯 Definisi Topik

Dekomposisi pewaktuan internal eksekusi mikroprosesor dari satu siklus instruksi utuh menjadi siklus-siklus mesin dasar, analisis status denyut clock (T-States), pembacaan diagram pewaktuan (Timing Diagram) Memory Read dan Memory Write, serta perhitungan batasan akses waktu memori (Memory Access Time) untuk penentuan penyisipan Wait State via sinyal READY.

πŸ“‹ Pokok Pembahasan

Pembangkit Clock IC 8284A, Anatomi 4 T-States Baku (T1, T2, T3, T4), Timing Diagram Siklus Baca Memori, Timing Diagram Siklus Tulis Memori, Peran Sinyal BHE & A0 untuk Bus 16-bit, Sinyal READY dan Perancangan Rangkaian Wait State (Tw).

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Dekomposisi Siklus Mesin Dasar 4 T-States pada Intel 8086

Satu denyut periode clock CPU dinamakan T-State (T = 1 / fclock). Pada frekuensi kerja standar 5 MHz, durasi 1 T-State = 200 ns; pada 10 MHz, 1 T-State = 100 ns. Satu siklus mesin standar transfer bus membutuhkan 4 T-State:

Status Pewaktuan Aktivitas Sinyal Bus Alamat & Data Aktivitas Sinyal Kontrol & Sinkronisasi
T1 (Address Output) CPU meletakkan alamat memori 20-bit pada bus multiplexed AD0–AD15 dan A16–A19. Sinyal BHE aktif menentukan akses byte ganjil/genap. Sinyal ALE berpulsa HIGH ke LOW untuk mengunci alamat ke IC latch 74LS373. Sinyal DT/R disetel sesuai arah baca/tulis.
T2 (Bus Turnaround) Jalur AD0–AD15 dialihkan ke kondisi Tri-state (Float) pada siklus baca, atau mengeluarkan data tulis pada siklus tulis. Sinyal kontrol baca (RD) atau tulis (WR) ditarik ke level LOW. Pin DEN aktif membuka buffer data bus 74LS245.
T3 (Data Transit & Sampling) Data dari modul memori mulai stabil di jalur data bus. Titik Kritis: Pada transisi sinyal clock di tengah T3, CPU membaca status pin masukan READY. Jika READY berlogika LOW, prosesor menyisipkan siklus tunggu (Tw).
T4 (Latch Data & Terminate) CPU mengunci data masuk ke register internal (pada siklus baca) atau memori selesai menyimpan data (pada siklus tulis). Sinyal kontrol RD atau WR ditarik kembali ke level HIGH. Sinyal DEN non-aktif. Siklus mesin berakhir.
Gambar 4.1 — Timing Diagram Memory Read Cycle 8086 (T1–T4)
Sinyal T1 T2 T3 T4 CLK ALE AD0–AD15 ALAMAT VALID DATA VALID RD̅ READY (WAIT state jika LOW) DEN̅ Demux Addr Memory akses Baca Data

2. Organisasi Bank Memori Genap & Ganjil (Even & Odd Memory Banks)

Karena bus data 8086 berukuran 16-bit sedangkan memori fisik diorganisasi dalam satuan byte (8-bit), ruang memori 1 MB dibagi secara fisik menjadi Dua Bank Memori 512 KB:

  • Even Bank (Bank Genap / Alamat A0 = 0): Terhubung ke jalur data bus bawah (D0–D7). Diaktifkan saat pin A0 = LOW.
  • Odd Bank (Bank Ganjil / Alamat A0 = 1): Terhubung ke jalur data bus atas (D8–D15). Diaktifkan saat sinyal BHE (Bus High Enable) = LOW.
⚑ Penalti Kinerja Aligned vs Misaligned Memory Access

Jika prosesor membaca data word 16-bit pada alamat genap (misal alamat 0040h), CPU dapat mengaktifkan kedua bank sekaligus (A0 = 0 dan BHE = 0) dalam 1 siklus mesin tunggal (4 T-States).

Namun, jika data word berada pada alamat ganjil (misal alamat 0041h), CPU terpaksa melakukan Dua Siklus Mesin Berurutan (8 T-States): siklus pertama membaca byte dari bank ganjil (D8–D15), siklus kedua membaca byte berikutnya dari bank genap (D0–D7). Hal ini menyebabkan penurunan kecepatan akses memori hingga 50%!

Pertemuan 08 β€’ Evaluasi

Evaluasi Tengah Semester (UTS): Studi Kasus Desain Sistem Minimum & Tracing

🎯 Definisi Topik

Ujian komprehensif paruh semester pertama untuk menguji kecakapan analitis dan sintesis mahasiswa dalam merancang sistem minimum berbasis mikroprosesor, meliputi pemetaan dekoder alamat logika gerbang kombinasional, analisis timing bus, dan penelusuran (tracing) eksekusi instruksi tingkat rendah.

πŸ“‹ Pokok Pembahasan

Kuis Analitis Desain Memori, Soal Rancang Bangun Dekoder IC 74LS138, Tracing Nilai Register dan Status 6 Flag, Analisis Diagram Pewaktuan Siklus Mesin dan Perhitungan Wait State.

πŸ’‘ Konsep Utama & Ulasan Soal Evaluasi Standar Rekayasa
Studi Kasus 1: Sintesis Peta Memori Sistem Sebuah sistem mikroprosesor 8086 memerlukan 64 KB ROM (dimulai dari alamat F0000h) dan dua modul SRAM 128 KB (dimulai dari alamat 00000h). Mahasiswa ditugaskan menentukan persamaan aljabar boolean untuk kaki Enable dan merancang diagram skematik koneksi IC dekoder 74LS138 tanpa menimbulkan tumpang tindih alamat (address aliasing).
Studi Kasus 2: Tracing Tabel Register & Analisis Flag Diberikan potongan kode assembly yang memanipulasi operan komplemen dua bertanda dan tak bertanda, mahasiswa harus mengisi tabel status per-instruksi: nilai heksadesimal AX, BX, CX, DX, dan status 6 bendera biner (CF, PF, AF, ZF, SF, OF) dengan analisis kondisi overflow matematis.
Pertemuan 09

Antarmuka Input/Output (I/O Interfacing): Isolated vs Memory-Mapped I/O

Isolated I/ORuang memori 1 MBIN / OUT pakai ruang port 64 KBRuang port I/Osinyal M/IO# membedakanMemory-Mapped I/OSatu ruang alamat 1 MBport I/O menempati sebagian alamatdiakses dengan MOV
Perbandingan isolated I/O dan memory-mapped I/O
πŸ–ΌοΈ Penjelasan Gambar

Kiri: ruang memori dan ruang port terpisah, diakses dengan IN/OUT, dan dibedakan oleh sinyal M/IO. Kanan: satu ruang alamat saja; port menempati sebagian alamat dan diakses dengan MOV biasa.

πŸ’‘ Poin kunci: Isolated I/O tidak memakan ruang memori tetapi butuh instruksi khusus. Memory-mapped lebih fleksibel (semua mode pengalamatan bisa dipakai) tetapi mengurangi alamat yang tersedia untuk memori.

🎯 Definisi Topik

Arsitektur penyambungan modul antarmuka input/output dengan bus sistem prosesor, perbandingan mendasar Isolated I/O (Port-Mapped I/O) vs Memory-Mapped I/O, isolasi bus kelistrikan menggunakan buffer tri-state (74LS244) untuk port input, register latch (74LS374) untuk port output, dan bus transceiver dua arah (74LS245).

πŸ“‹ Pokok Pembahasan

Komparasi Isolated vs Memory-Mapped I/O, Sinyal Kendali M/IO dan Pembentukan IOR / IOW, Perancangan Port Masukan 8-bit (74LS244), Perancangan Port Keluaran 8-bit (74LS374), Buffer Bus Bidirectional 74LS245, Isolasi Optocoupler.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Perbandingan Teknis: Isolated I/O vs Memory-Mapped I/O

Parameter Rekayasa Isolated I/O (x86 Architecture) Memory-Mapped I/O (ARM, RISC-V, AVR)
Pemisahan Jalur Sinyal Pin M/IO = LOW. Membutuhkan sinyal kontrol terpisah: IOR (I/O Read) dan IOW (I/O Write). Menyatu dengan sinyal memori standar (MEMR dan MEMW).
Kapasitas Ruang Port Terbatas 64 KB ruang port terpisah (Port 0000h s.d. FFFFh). Mengambil jatah ruang memori RAM utama (tidak mengurangi batasan instruksi).
Set Instruksi Hanya dapat diakses melalui instruksi khusus: IN AL/AX, Port dan OUT Port, AL/AX. Sangat fleksibel, dapat menggunakan seluruh instruksi aritmetika/logika (MOV, ADD, TEST, OR langsung pada register I/O).
Kecepatan & Decoding Decoding alamat port lebih cepat karena hanya mendekode 8-bit (A0–A7) atau 16-bit (A0–A15). Memerlukan dekoder alamat penuh selebar bus alamat fisik (32-bit atau 64-bit).

2. Desain Rangkaian Hardware Port Sederhana 8-Bit

Port Input: Octal Buffer Tri-State (74LS244) Ketika CPU tidak membaca, keluaran buffer berada pada status impedansi tinggi (High-Z) sehingga tidak membebani data bus. Saat instruksi IN AL, 80h dieksekusi, dekoder mengaktifkan pin OE menjadi LOW, menyalurkan logika saklar/sensor ke data bus D0–D7.
Port Output: Octal D-Type Latch (74LS374) Karena data bus CPU hanya menahan data selama puluhan nanodetik (T3–T4), sinyal data bus harus ditangkap dan dikunci (latched) oleh transisi clock IOW. Latch mempertahankan data secara kontinu untuk menyalakan LED, relay, atau driver motor.
Pertemuan 10

Arsitektur Sistem Interupsi (Hardware, Software & IVT)

Perangkat(INTR)CPU 8086INTA8259 PIC(tipe n)n x 4IVT (0000:0000)ISRIRET
Alur interupsi: perangkat, CPU, tabel vektor (IVT), lalu rutin ISR
πŸ–ΌοΈ Penjelasan Gambar

Urutannya: perangkat mengaktifkan INTR; CPU menyelesaikan instruksi berjalan dan, bila flag IF = 1, mengirim INTA; PIC 8259 memberi nomor tipe n; CPU membaca vektor di alamat n Γ— 4 pada IVT, memuat CS:IP milik ISR, menjalankannya, lalu kembali dengan IRET.

πŸ’‘ Poin kunci: Contoh: INT 21h (33 desimal) berarti vektornya di 21h Γ— 4 = 0084h. Tiap vektor memakai 4 byte, sehingga IVT 256 entri menempati 1 KB terbawah memori.

🎯 Definisi Topik

Analisis komparatif metode transfer data Polling vs Interrupt-Driven, mekanisme pensinyalan interupsi hardware (maskable INTR dan non-maskable NMI), siklus pengenalan interupsi ganda (INTA), arsitektur Tabel Vektor Interupsi (IVT), penulisan rutin layanan interupsi (ISR), serta integrasi Pengontrol Interupsi Terprogram (PIC 8259A).

πŸ“‹ Pokok Pembahasan

Polling vs Interrupt, Pin NMI vs INTR, Siklus Pengenalan Interupsi (INTA Cycle), Struktur Tabel IVT (00000h–003FFh), Interupsi Dedicated (Tipe 0 s.d. 4), Penyusunan ISR & Instruksi IRET, Cascading Master-Slave PIC 8259A.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Siklus Pengenalan Interupsi Ganda Hardware (INTA Bus Cycles)

Ketika sebuah periferal luar meminta perhatian CPU melalui jalur maskable pin INTR (dan Flag Interupsi IF = 1), CPU merespons melalui dua siklus mesin interupsi khusus:

  1. Siklus INTA Pertama: CPU memancarkan pulsa LOW pada pin INTA untuk memberi tahu pengontrol interupsi eksternal (PIC 8259A) bahwa permintaannya diterima dan menginstruksikannya untuk mengunci prioritas tertinggi.
  2. Siklus INTA Kedua: CPU memancarkan pulsa INTA kedua. Pada saat ini, PIC meletakkan Byte Nomor Vektor Interupsi (Tipe 0 s.d. 255) ke jalur bus data bawah (D0–D7).

2. Struktur Tabel Vektor Interupsi (IVT) 1 KB Terbawah

Tabel IVT berlokasi tetap di alamat fisik 00000h hingga 003FFh (tepat 1.024 Byte). Setiap jenis interupsi dialokasikan 4 Byte yang memuat alamat awal ISR:

\text{Alamat Vektor di IVT} = \text{Tipe INT} \times 4

Offset Alamat IVT Nama Komponen Pointer Keterangan Fungsi
Alamat + 0 Offset Low Byte (IP-L) Byte terendah dari alamat offset Instruction Pointer ISR.
Alamat + 1 Offset High Byte (IP-H) Byte tertinggi dari alamat offset Instruction Pointer ISR.
Alamat + 2 Segment Low Byte (CS-L) Byte terendah dari alamat segmen Code Segment ISR.
Alamat + 3 Segment High Byte (CS-H) Byte tertinggi dari alamat segmen Code Segment ISR.
Gambar 9.1 — Interrupt Vector Table (IVT): 1 KB Pertama Memori (00000h – 003FFh)
INT 0 Divide Error INT 1 Single Step INT 2 NMI INT 3 Breakpoint INT 4 – INT 7 Hardware IRQ INT 8 – INT Fh PIC IRQ0–7 INT 10h BIOS Video INT 21h DOS Services . . . (256 total) sampai 003FFh 00000h 003FFh Struktur 1 Vector Entry (4 Byte) Offset LOW Offset HIGH Segment LOW Segment HIGH Byte 0 Byte 1 Byte 2 Byte 3 Addr ISR = (Seg << 4) + Offset Alur Penanganan Interupsi 1. CPU menerima sinyal INT n 2. Push FLAGS, CS, IP ke stack 3. Baca IVT[n] → dapatkan Seg:Offset ISR 4. Jump ke ISR (Interrupt Service Routine) 5. IRET → Pop IP, CS, FLAGS → lanjut program
Struktur Rutin Layanan Interupsi (Interrupt Service Routine / ISR)
rutin_isr_keyboard:
    ; 1. Simpan seluruh register kerja yang dimanipulasi ke stack (Context Preservation)
    PUSH AX
    PUSH BX
    PUSH DS

    ; 2. Jalankan pemrosesan pembacaan perangkat keras
    IN   AL, 60h          ; Baca scan-code keyboard dari port I/O 60h
    ; ... logika pemrosesan data ...

    ; 3. Kirim sinyal End of Interrupt (EOI = 20h) ke PIC 8259A
    MOV  AL, 20h
    OUT  20h, AL

    ; 4. Pulihkan register kerja dalam urutan terbalik LIFO
    POP  DS
    POP  BX
    POP  AX

    ; 5. Akhiri dengan IRET (Secara otomatis me-POP IP, CS, dan Flag Register dari stack)
    IRET
Pertemuan 11

Antarmuka Komunikasi Serial (UART, SPI, I2C)

UART asinkron (1 frame)Start0Data 8 bit (LSB dulu)ParityStop1SPI: SCLK, MOSI, MISO, CSfull duplex, cepatI2C: SDA, SCL (2 kabel)alamat per perangkat, half duplexSPII2C
Frame UART dan perbandingan singkat SPI dengan I2C
πŸ–ΌοΈ Penjelasan Gambar

UART tidak punya clock bersama, jadi kedua sisi harus sepakat pada baud rate. Satu frame: start bit 0, 8 bit data (LSB dulu), parity opsional, lalu stop bit 1. SPI memakai 4 jalur (SCLK, MOSI, MISO, CS), full duplex dan cepat. I2C hanya 2 jalur (SDA, SCL), tiap perangkat punya alamat, half duplex.

πŸ’‘ Poin kunci: Pilih SPI bila butuh kecepatan, I2C bila ingin sedikit kabel dengan banyak perangkat, UART untuk komunikasi titik-ke-titik sederhana.

🎯 Definisi Topik

Prinsip konversi data paralel-ke-serial dan serial-ke-paralel, protokol komunikasi serial asinkron UART (Universal Asynchronous Receiver/Transmitter), kalkulasi Baud Rate generator, level shifter RS-232, serta perancangan bus serial sinkron performa tinggi: Serial Peripheral Interface (SPI) dan Inter-Integrated Circuit (I2C).

πŸ“‹ Pokok Pembahasan

Komunikasi Paralel vs Serial, Struktur Frame Data UART (Start, Parity, Stop Bit), Perhitungan Baud Rate, IC Driver MAX232, Topologi Bus SPI 4-Kawat (MOSI, MISO, SCK, CS), Topologi Bus I2C 2-Kawat (SDA, SCL), Open-Drain & Resistor Pull-Up, Deteksi Error Serial.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Anatomi Frame Komunikasi Serial Asinkron (UART)

Komunikasi asinkron tidak mentransmisikan sinyal clock bersama. Sebagai gantinya, sinkronisasi waktu clock penerima (RX) dikunci ulang pada setiap karakter data menggunakan Start Bit:

Bagian Frame Status Fisik Tegangan Durasi (Bit Time) Peran Rekayasa
Marking (Idle) Level Logika HIGH (+5V TTL / -12V RS232) Kontinu Kondisi istirahat saat tidak ada data yang ditransmisikan.
Start Bit Transisi ke LOW (0V TTL / +12V RS232) Tepat 1 Bit Time Memicu counter baud rate penerima untuk mulai mencuplik bit di tengah interval (titik 50% bit time).
Payload Data Data biner LSB dikirim lebih dulu 5 hingga 8 Bit Karakter data biner murni (kode ASCII).
Parity Bit (Opsional) Bisa HIGH atau LOW 1 Bit Pengecekan paritas (Odd/Even/None) untuk mendeteksi distorsi noise jalur.
Stop Bit Kembali ke level HIGH 1, 1.5, atau 2 Bit Memberikan waktu pemulihan (recovery time) bagi register geser penerima.

2. Perbandingan Arsitektural Bus Serial Sinkron: SPI vs I2C

Karakteristik Teknis SPI (Serial Peripheral Interface) I2C (Inter-Integrated Circuit)
Jalur Sinyal Fisik 4 Jalur: MOSI, MISO, SCLK, SS (Chip Select). Hanya 2 Jalur: SDA (Serial Data) dan SCL (Serial Clock).
Mode Komunikasi Full Duplex (Kirim & terima simultan bersamaan). Half Duplex (Kirim dan terima bergantian arah).
Struktur Rangkaian Pin Push-Pull CMOS (Sinyal tajam, tanpa resistor eksternal). Open-Drain / Open-Collector (Wajib resistor Pull-Up eksternal).
Metode Seleksi Perangkat Hardware: Membutuhkan 1 pin CS terpisah untuk setiap perangkat slave. Software: Pengalamatan paket header 7-bit / 10-bit melalui jalur data SDA.
Kecepatan Maksimum Sangat tinggi (10 MHz s.d. 80+ MHz). 100 kHz (Standard), 400 kHz (Fast), 3.4 MHz (High-Speed).
Pertemuan 12

Komparasi Arsitektur RISC vs CISC & Arsitektur Prosesor Modern (x86 vs ARM)

RISC (ARM)Instruksi sederhana, panjang tetapLoad/Store architectureBanyak registerHemat dayaCISC (x86)Instruksi kompleks, panjang variabelOperand boleh memoriKode padatDipecah ke micro-op internal
RISC dan CISC; x86 modern memakai inti ala RISC di dalamnya
πŸ–ΌοΈ Penjelasan Gambar

RISC: instruksi sederhana berpanjang tetap, arsitektur load/store, banyak register, hemat daya, dan mudah di-pipeline. CISC: instruksi kompleks berpanjang variabel, operand boleh langsung dari memori, kode lebih padat.

πŸ’‘ Poin kunci: x86 modern menerjemahkan instruksi CISC menjadi micro-op bergaya RISC di dalam inti, sedangkan ARM tetap RISC. Jadi kedua pendekatan saling mendekat.

🎯 Definisi Topik

Komparasi filosofi perancangan arsitektur mikroprosesor: Reduced Instruction Set Computer (RISC) vs Complex Instruction Set Computer (CISC), analisis tren mikroprosesor modern berdaya rendah (ARM Cortex), arsitektur x86-64 server, penerjemahan internal CISC ke Micro-operations (Β΅ops), serta perkembangan arsitektur terbuka bebas lisensi RISC-V.

πŸ“‹ Pokok Pembahasan

Filosofi Desain RISC vs CISC, Arsitektur Load-Store, Panjang Instruksi Tetap vs Variabel, Frontend CISC Decoder ke Internal Β΅ops Backend, Arsitektur ARMv8/v9 AArch64, Arsitektur Big.LITTLE Heterogeneous, Arsitektur Terbuka RISC-V ISA.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Matriks Komparasi Filosofis: RISC vs CISC

Parameter Desain CISC (Complex Instruction Set Computer) RISC (Reduced Instruction Set Computer)
Tujuan Desain Utama Meminimalkan jumlah instruksi per program dengan menyediakan instruksi kompleks langsung di tingkat hardware. Menyederhanakan instruksi agar dapat dieksekusi dalam 1 siklus clock; mengandalkan compiler pintar untuk optimasi.
Panjang Format Instruksi Bervariasi (Variable Length, 1 hingga 15 Byte pada Intel x86). Sulit didekode secara paralel. Tetap dan seragam (Fixed Length, 32-bit pada ARM/RISC-V). Sangat mudah didekode secara paralel.
Akses Memori Operan Instruksi komputasi dapat langsung membaca/menulis memori (misal: ADD [BX], AX). Load-Store Architecture murni: Operasi matematika hanya boleh antar register. Akses memori hanya via LDR / STR.
Jumlah Register Fisik Sedikit (8 register pada x86-16, 16 register pada x86-64). Banyak (32 register serbaguna pada ARM64 dan RISC-V).
Efisiensi Daya / Watt Relatif boros daya karena sirkuit dekoder x86 yang sangat kompleks. Sangat efisien daya; mendominasi 99% smartphone dan perangkat embedded di dunia.

2. Solusi Konvergensi Modern: x86 Sebagai Hibrida CISC-RISC

Prosesor desktop modern (Intel Core i9 dan AMD Ryzen) sesungguhnya adalah prosesor hibrida yang memadukan kedua dunia:

  • Frontend CISC: Menerima instruksi x86 legacy yang panjangnya bervariasi demi menjaga kompatibilitas aplikasi lama (backward compatibility). Dekoder perangkat keras memecah setiap instruksi x86 yang rumit menjadi beberapa potongan instruksi sederhana bernama Micro-operations (μops).
  • Backend RISC: Inti eksekusi bagian dalam menjalankan μops tersebut menggunakan pipa eksekusi bergaya RISC super cepat yang dilengkapi Out-of-Order Engine, Register Renaming (RAT), dan ALU paralel multi-issue.
Pertemuan 13

Programmable Peripheral Interface (PPI 8255) & Timer/Counter (8254)

CPU / bus8255 PPIPort A, B, C8254 TimerCounter 0 1 2LED / SensorGate / Out8255: mode 0/1/2 diatur Control Word; 8254: 3 pencacah 16-bit
8255 untuk I/O paralel dan 8254 untuk pewaktuan
πŸ–ΌοΈ Penjelasan Gambar

CPU mengakses kedua chip lewat bus. 8255 menyediakan tiga port 8-bit (A, B, C) yang mode kerjanya diatur oleh control word, untuk menyambung LED, saklar, atau sensor. 8254 berisi tiga pencacah 16-bit dengan pin GATE dan OUT untuk delay, penghitung, atau pembangkit gelombang.

πŸ’‘ Poin kunci: Seperti P03, keduanya dipilih lewat dekoder alamat sehingga CPU melihatnya sebagai alamat port tertentu.

🎯 Definisi Topik

Arsitektur dan pemrograman periferal paralel serbaguna IC Intel 8255 PPI (Programmable Peripheral Interface) untuk interfacing digital, perancangan Control Word Register (Mode 0, Mode 1 Strobed, Mode 2 Bi-directional, dan BSR), serta arsitektur pencacah/pewaktu terprogram IC Intel 8254 PIT untuk pembangkitan denyut clock, pulsa monostable, dan modulasi frekuensi.

πŸ“‹ Pokok Pembahasan

Arsitektur Internal 8255 (Port A, B, C-Upper, C-Lower), Format Byte Control Word I/O Mode, Mode Bit Set/Reset (BSR), Interfacing Keypad Matriks & Seven Segment Display, Arsitektur 3 Counter 16-bit 8254, 6 Mode Operasi PIT (Mode 0 s.d. Mode 5), Pembangkit Gelombang Kotak.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Format Control Word Register IC 8255 PPI

IC 8255 menyediakan 24 pin I/O terprogram. Register kontrol (Control Word) dikonfigurasi melalui instruksi OUT pada alamat Port Kontrol:

Bit Fungsi Konfigurasi Nilai 1 Nilai 0
D7 Mode Definition Flag 1 = I/O Mode (Konfigurasi Port) 0 = Bit Set/Reset (BSR Mode untuk Port C)
D6, D5 Mode Grup A (Port A & Port C-Upper) 00 = Mode 0 (Basic I/O) | 01 = Mode 1 (Strobed) | 1X = Mode 2 (Bi-directional)
D4 Arah Port A 1 = Input 0 = Output
D3 Arah Port C Upper (PC7–PC4) 1 = Input 0 = Output
D2 Mode Grup B (Port B & Port C-Lower) 1 = Mode 1 (Strobed I/O) 0 = Mode 0 (Basic I/O)
D1 Arah Port B 1 = Input 0 = Output
D0 Arah Port C Lower (PC3–PC0) 1 = Input 0 = Output

2. Programmable Interval Timer (IC 8254)

IC 8254 memiliki tiga counter independen 16-bit (Counter 0, 1, 2) yang dapat mencacah hingga frekuensi clock masukan 10 MHz. Rumus pembangkitan frekuensi pada Mode 3 (Square Wave Generator):

f_{\text{out}} = \frac{f_{\text{clk\_in}}}{\text{Divisor Count (N)}}

Inisialisasi Counter 0 Mode 3 (Menghasilkan Gelombang Kotak 1 kHz)
; Asumsi CLK0 = 1.193180 MHz (Standar PC Timer). Target frekuensi = 1.000 Hz
; Divisor N = 1.193.180 / 1.000 = 1193 desimal = 04A9h

; 1. Kirim Control Word ke Port 43h:
; Bit: SC1=0, SC0=0 (Counter 0) | RW1=1, RW0=1 (LSB then MSB) | M2=0, M1=1, M0=1 (Mode 3) | BCD=0 (Binary)
; Biner: 00110110b = 36h
MOV AL, 36h
OUT 43h, AL

; 2. Tulis Nilai Divisor 16-bit ke Counter 0 (Port 40h):
MOV AL, 0A9h          ; Kirim LSB terlebih dahulu
OUT 40h, AL
MOV AL, 04h           ; Kirim MSB berikutnya
OUT 40h, AL           ; Pin OUT0 sekarang berosilasi tepat 1.000 Hz
Pertemuan 14

Direct Memory Access (DMA) & Pengontrol DMA (IC 8237)

πŸ“Œ Catatan penyesuaian RPS: pada RPS, pertemuan 14 bertema Embedded C dan Manipulasi Register. Materi DMA di sini adalah pendalaman antarmuka; topik Embedded C dibahas pada slide RPS di bagian bawah dan pada modul Konsep Sistem Tertanam.
CPUDMAC 8237MemoriPerangkat I/OHOLDHLDAalamat/kontrolDREQdata langsungCPU melepas bus
DMA: pengontrol mengambil alih bus, data tanpa lewat CPU
πŸ–ΌοΈ Penjelasan Gambar

Perangkat meminta layanan lewat DREQ ke DMAC. DMAC mengirim HOLD ke CPU; CPU menyelesaikan siklus bus dan membalas HLDA, lalu DMAC memegang bus dan memindahkan data langsung antara perangkat dan memori. Setelah selesai, bus dikembalikan ke CPU.

πŸ’‘ Poin kunci: Keuntungannya: CPU bebas mengerjakan hal lain dan throughput tinggi untuk blok data besar, dibanding CPU menyalin data satu per satu.

🎯 Definisi Topik

Mekanisme transfer data berkecepatan tinggi antara perangkat periferal I/O massal (Hard Drive, SSD, Network Controller, Sound Card) langsung menuju memori utama (RAM) tanpa membebani instruksi CPU melalui kontroler Direct Memory Access (DMA), analisis protokol perebutan bus (Bus Arbitration), dan konfigurasi IC Intel 8237 DMA Controller.

πŸ“‹ Pokok Pembahasan

Kelemahan Programmed I/O vs DMA, Siklus Handshake Bus HOLD & HLDA, Arsitektur 4 Saluran DMA 8237, Mode Transfer (Single, Block, Demand, Cascade), Metode Transfer Fly-By, Perhitungan Throughput Bandwidth Bus.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Alur Protokol Perebutan Bus (Bus Arbitration: HOLD & HLDA)

Selama operasi normal, CPU adalah satu-satunya penguasa mutlak (Bus Master). Ketika transfer DMA berlangsung, kontroler DMA mengambil alih kepemilikan bus melalui jabat tangan sinyal (handshake):

  1. Periferal masukan/keluaran memicu pin DREQ (DMA Request) pada IC 8237.
  2. IC 8237 menarik pin HOLD pada CPU ke level HIGH, meminta CPU melepas kendali bus.
  3. CPU menyelesaikan siklus mesinnya, mengalihkan seluruh bus alamat, data, dan kontrol ke status Tri-state, lalu membalas dengan sinyal HLDA (Hold Acknowledge) = HIGH.
  4. IC 8237 menjadi Bus Master: memancarkan sinyal DACK (DMA Acknowledge) ke periferal, mengeluarkan alamat memori tujuan, dan mengaktifkan transfer.

2. Keunggulan Metode Transfer Fly-By DMA

⚑ Efisiensi Transfer Fly-By

Pada metode Programmed I/O biasa, transfer 1 byte membutuhkan instruksi IN AL, DX (4 T-states) dan MOV [DI], AL (9 T-states), total 13 s.d. 17 T-States per byte.

Pada transfer Fly-By DMA, kontroler DMA mengaktifkan sinyal kontrol baca I/O (IOR) dan sinyal tulis memori (MEMW) secara bersamaan dalam siklus clock yang sama. Data mengalir langsung dari periferal ke sel RAM melalui bus data tanpa mampir ke register perantara mana pun, memakan waktu hanya 2 s.d. 4 T-States per byte (peningkatan kecepatan hingga 400%!).

3. Empat Mode Transfer Operasional IC 8237

  • Single Transfer Mode: DMA mentransfer 1 byte data, melepas sinyal HOLD kembali ke CPU agar CPU dapat memproses instruksi, lalu meminta bus kembali untuk byte berikutnya. Mencegah CPU "kelaparan" (CPU starvation).
  • Block Transfer Mode: Sekali memperoleh bus, DMA mentransfer seluruh blok data (hingga 64 KB per channel) secara terus-menerus sampai Terminal Count (TC) tercapai sebelum mengembalikan bus ke CPU.
  • Demand Transfer Mode: Data ditransfer terus-menerus selama perangkat periferal mempertahankan sinyal DREQ aktif.
  • Cascade Mode: Menghubungkan beberapa chip 8237 secara hierarkis (Master-Slave) untuk menambah jumlah saluran DMA dari 4 menjadi 7 saluran (standar arsitektur IBM PC/AT).
Pertemuan 15

Arsitektur Mikroprosesor Lanjut: Pipelining, Superscalar & Multi-Core

πŸ“Œ Catatan penyesuaian RPS: pada RPS, pertemuan 15 bertema Presentasi dan Demo Proyek Akhir. Materi arsitektur lanjut (pipelining dan multi-core) ini dapat dijadikan bahan analisis pada proyek akhir.
I1I2I3IFIDEXMEMWBIFIDEXMEMWBIFIDEXMEMWBTiap siklus satu instruksi baru masuk: throughput mendekati 1 instruksi/siklus
Pipeline 5 tahap: tumpang-tindih eksekusi instruksi
πŸ–ΌοΈ Penjelasan Gambar

Baris I1–I3 adalah instruksi, sumbu mendatar adalah waktu. Tiap instruksi melewati IF, ID, EX, MEM, WB. Begitu I1 pindah ke ID, I2 sudah mulai IF, dan seterusnya sehingga tahap-tahap saling tumpang tindih.

πŸ’‘ Poin kunci: Setelah pipeline terisi, satu instruksi selesai tiap siklus (CPI ideal β‰ˆ 1). Latensi satu instruksi tetap 5 siklus; yang meningkat adalah throughput. Hazard dapat menunda aliran ini.

🎯 Definisi Topik

Teknik akselerasi performa komputasi perangkat keras modern: eksekusi pipelining paralel, deteksi dan mitigasi tiga jenis pipeline hazard, prosesor superscalar multi-issue, eksekusi di luar urutan (Out-of-Order Execution / OoO), hierarki memori cache multi-level, serta protokol koherensi cache pada arsitektur prosesor multi-core.

πŸ“‹ Pokok Pembahasan

Pipelining Klasik 5-Tahap (IF, ID, EX, MEM, WB), Tiga Jenis Hazard (Structural, Data, Control), Teknik Data Forwarding, Dynamic Branch Prediction, Superscalar Multi-Execution Units, Register Renaming, Hierarki Cache (L1, L2, L3), Protokol Koherensi MESI.

πŸ’‘ Konsep Utama & Pendalaman Teori Rekayasa

1. Pipelining 5-Tahap Klasik & Analisis Throughput

Pipelining memecah siklus instruksi menjadi 5 tahapan sekuensial yang dibatasi oleh register penyangga (pipeline registers):

  1. IF (Instruction Fetch): Mengambil instruksi 32-bit dari L1 Instruction Cache.
  2. ID (Instruction Decode & Register Read): Menerjemahkan opcode dan membaca nilai operan register.
  3. EX (Execute / ALU Operation): Menghitung hasil aritmetika/logika atau kalkulasi alamat memori efektif.
  4. MEM (Memory Access): Membaca data dari atau menulis data ke L1 Data Cache.
  5. WB (Write Back): Menuliskan hasil akhir komputasi kembali ke register tujuan.

Jika tanpa pipelining, 5 instruksi membutuhkan 5 × 5 = 25 siklus clock. Dengan pipelining penuh, 5 instruksi selesai dalam 9 siklus clock, dan setelah pipeline terisi penuh, throughput ideal mencapai 1 instruksi per siklus (IPC = 1).

2. Deteksi & Mitigasi Tiga Jenis Pipeline Hazard

Klasifikasi Hazard Penyebab Konflik Hardware Solusi Rekayasa Komputer
Structural Hazard Dua instruksi berbeda membutuhkan unit hardware yang sama di siklus yang sama (misal: tahap IF dan MEM berebut port cache memori tunggal). Pemisahan Cache (Harvard Split): Memisahkan L1 Cache menjadi L1-Instruction Cache dan L1-Data Cache secara independen.
Data Hazard (RAW - Read After Write) Instruksi kedua membaca register yang nilainya sedang dihitung oleh instruksi pertama tetapi belum ditulis kembali pada tahap WB. Data Forwarding (Bypassing): Menarik jalur konduktor langsung dari output ALU tahap EX ke input ALU instruksi berikutnya tanpa menunggu tahap WB selesai.
Control Hazard (Branch Hazard) Instruksi percabangan bersyarat (misal: JNZ) belum menentukan arah lompatan pada tahap ID, sehingga CPU ragu instruksi mana yang harus di-fetch. Branch Prediction & Speculative Execution: Menggunakan tabel 2-bit saturating counter untuk memprediksi arah lompatan. Jika prediksi meleset (misprediction), pipeline dikosongkan (Pipeline Flush) dengan penalti clock.
Gambar 14.1 — 5-Stage Instruction Pipeline: Paralelisme Eksekusi
IF Fetch ID Decode EX Execute MEM Memory WB Write Back I1 IF ID EX MEM WB I2 IF ID EX MEM I3 IF ID EX I4 IF ID I5 IF Siklus: 1 2 3 4 5 Pada siklus ke-5: 5 instruksi diproses secara bersamaan → Throughput = 1 instruksi/siklus

3. Koherensi Cache Multi-Core & Protokol MESI

Ketika beberapa inti CPU (Core 0, Core 1) memiliki salinan cache L1 masing-masing untuk alamat RAM yang sama, modifikasi data oleh salah satu core dapat menyebabkan inkonsistensi data (Stale Data). Protokol MESI mengunci status setiap blok cache ke dalam 4 keadaan:

  • M (Modified): Blok data di cache telah dimodifikasi (kotor/dirty) dan berbeda dengan RAM utama. Hanya ada di satu core.
  • E (Exclusive): Blok data di cache bersih (identik dengan RAM) dan hanya disimpan di satu core tersebut.
  • S (Shared): Blok data bersih dan disalin bersamaan di beberapa cache core lain (hanya untuk dibaca).
  • I (Invalid): Salinan blok data di cache core ini sudah kedaluwarsa karena core lain telah menulis data baru ke alamat tersebut.
Pertemuan 16 β€’ Evaluasi Akhir

Evaluasi Akhir Semester (UAS): Sintesis Perancangan Sistem Berbasis Mikroprosesor

🎯 Definisi Topik

Ujian akhir semester dan presentasi proyek rekayasa komprehensif: sintesis perancangan arsitektur sistem minimum mikroprosesor terintegrasi yang memadukan CPU, subsistem memori primer (SRAM dan ROM), dekoder alamat logika penuh, pengontrol interupsi hardware, antarmuka I/O paralel (PPI 8255), pewaktu (PIT 8254), dan subsistem komunikasi serial.

πŸ“‹ Pokok Pembahasan

Ujian Analisis Teori Komprehensif Sistem Komputer, Perancangan Skematik Sistem Minimum Lengkap, Peta Memori dan Port I/O Bebas Konflik Alamat, Penulisan Kode Driver Inisialisasi Firmware Low-Level, Pengujian Sistem.

πŸ’‘ Konsep Utama & Standar Penilaian Proyek Rekayasa Sistem

Evaluasi akhir semester menuntut mahasiswa untuk mengintegrasikan seluruh materi perkuliahan ke dalam sebuah dokumen perancangan sistem nyata (Engineering Design Document):

Domain Kompetensi Rekayasa Bobot Kriteria Capaian Teknis yang Dinilai
Sintesis Peta Memori & Dekoder 25% Ketepatan skema rangkaian dekoder alamat (IC 74LS138 + gerbang logika) dalam memetakan 256 KB SRAM, 128 KB Flash ROM, dan register periferal tanpa ada celah tumpang tindih (No Address Collisions).
Integrasi Antarmuka Bus Periferal 25% Ketepatan koneksi jalur data multiplexed/demultiplexed, sinyal kontrol (MEMR, MEMW, IOR, IOW), serta rangkaian generator Wait State pada periferal berkecepatan rendah.
Implementasi Driver Interupsi 25% Penulisan rutin layanan interupsi (ISR) yang aman terhadap preservasi konteks register stack, inisialisasi tabel IVT yang benar, dan sinyal EOI penutup.
Ujian Penguasaan Arsitektur Modern 25% Kemampuan analitis dalam memecahkan persoalan mitigasi pipeline hazard, throughput transfer DMA, koherensi cache multi-core, serta komparasi arsitektur x86 vs ARM.

🎞️ Slide Kuliah (RPS Mikroprosesor & Mikrokontroler)

Slide 16 pertemuan (RSK-2104) dalam bentuk teks. Buka tiap pertemuan, lalu geser slide dengan tombol. Urutan pertemuan diktat di atas sudah disejajarkan dengan RPS; pertemuan 7, 14, dan 15 memakai materi pendalaman karena topiknya berbeda (lihat catatan pada pertemuan tersebut).

Pertemuan 01 β€” Pengantar Sistem Komputer dan Mikroprosesor (20 slide)

Pengantar Sistem Komputer dan Mikroprosesor

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Menjelaskan peran CPU, memori, dan I/O
  2. Menguraikan perkembangan teknologi prosesor
  3. Menjelaskan stored program dan membedakan instruksi dari data

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Sistem komputer

  1. Perangkat keras menyediakan komponen fisik.
  2. Program menentukan operasi dan urutannya.
Contoh / pembahasan: Kalkulator menerima angka, menghitung, lalu menampilkan hasil.

Peran mikroprosesor

  1. Mikroprosesor mengintegrasikan fungsi pemrosesan CPU dalam chip.
  2. Sistem lengkap juga membutuhkan memori dan antarmuka I/O.
CPUMemoriI/O
Contoh / pembahasan: Chip prosesor saja belum membentuk sistem komputer lengkap.

CPU, RAM, dan I/O

  1. CPU menjalankan instruksi.
  2. RAM menampung program dan data kerja, I/O menerima dan mengirim informasi.
Contoh / pembahasan: Keyboard adalah input, layar adalah output.

RAM dan penyimpanan

  1. RAM utama umumnya volatil.
  2. SSD atau media penyimpanan mempertahankan berkas tanpa daya.
Contoh / pembahasan: Bagian aplikasi yang dibutuhkan dimuat ke RAM saat dijalankan.

Perkembangan komponen

  1. Tabung vakum digantikan transistor untuk banyak fungsi elektronik.
  2. IC mengintegrasikan banyak komponen dalam satu chip.
Contoh / pembahasan: Integrasi membuat rangkaian komputer lebih ringkas.

Perkembangan prosesor

  1. Mikroprosesor mengintegrasikan fungsi CPU.
  2. Cache dan beberapa inti membantu kinerja pada beban yang sesuai.
ChipCacheBeberapa inti
Contoh / pembahasan: Frekuensi clock saja tidak menentukan seluruh kinerja.

Stored program

  1. Instruksi tersimpan dalam memori.
  2. CPU mengambil instruksi dan menjalankannya secara terurut atau melalui percabangan.
Memori programCPUHasil
Contoh / pembahasan: Mengubah program dapat mengubah perilaku tanpa merancang ulang rangkaian.

Instruksi dan data

  1. Data adalah nilai yang diolah.
  2. Instruksi menyatakan operasi terhadap nilai tersebut.
7 dan 5ADD12
Contoh / pembahasan: Penjumlahan merupakan operasi, sedangkan 7 dan 5 merupakan data.

Peta perkuliahan

  1. RSK-2104: semester IV, 3 SKS, terdiri dari 2 SKS teori dan 1 SKS praktikum.
  2. Materi bergerak dari arsitektur ke Assembly, I/O, dan sistem tertanam.
ArsitekturAssemblyInterfacing
Contoh / pembahasan: Prasyarat sesuai RPS: Rangkaian Logika dan Sistem Digital.

Penilaian sesuai RPS

  1. Partisipasi/tugas 15%, praktikum/laporan 25%, proyek 20%.
  2. UTS 20% dan UAS 20%, total 100%.
Tugas + labProyekUTS + UAS
Contoh / pembahasan: Teknis tugas mengikuti arahan dosen pengampu.

Demonstrasi 1/4: Input angka

Pengguna memasukkan dua angka melalui keyboard atau tombol.

Input angka

Progres demonstrasi

A=7, B=5

Animasi bergerak: buka animasi/index.html, pilih pertemuan 01.

Instruksi tersediaPemrosesanOutput hasil

Demonstrasi 2/4: Instruksi tersedia

Program penjumlahan dan nilai kerja berada di memori.

Input angka

Progres demonstrasi

Program: jumlahkan A dan B

Animasi bergerak: buka animasi/index.html, pilih pertemuan 01.

Instruksi tersediaPemrosesanOutput hasil

Demonstrasi 3/4: Pemrosesan

CPU menjalankan operasi penjumlahan terhadap operand.

Input angka

Progres demonstrasi

7 + 5 = 12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 01.

Instruksi tersediaPemrosesanOutput hasil

Demonstrasi 4/4: Output hasil

Sistem menampilkan nilai yang dihitung melalui perangkat output.

Input angka

Progres demonstrasi

Layar: 12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 01.

Instruksi tersediaPemrosesanOutput hasil

Aktivitas kelas / praktikum

  1. Pilih satu perangkat sehari-hari.
  2. Tuliskan input, proses, memori, dan outputnya.
  3. Jelaskan program apa yang mengatur perilakunya.

Cek pemahaman

  1. Apa perbedaan instruksi dan data?
  2. Mengapa CPU membutuhkan memori?
  3. Apa makna stored program?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Instruksi menyatakan operasi, data adalah nilai operand atau hasil.
  2. Memori menampung instruksi dan data yang akan digunakan.
  3. Program tersimpan dalam memori untuk diambil dan dijalankan CPU.

Inti pertemuan

CPU menjalankan instruksi.

RAM menyimpan data kerja, I/O menghubungkan sistem dengan perangkat luar.

Stored program memberi fleksibilitas melalui perubahan program.

Catatan pengajar dan referensi

Mulai dari perangkat yang dikenal mahasiswa. Gunakan kalkulator untuk membedakan data,

instruksi, dan hasil. Pertemuan berikutnya membahas organisasi internal CPU.

Acuan cakupan: RPS pengguna, minggu 1.

Microchip, AVR CPU Core

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/core/

Microchip, AVR Memory

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/memory/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 02 β€” Arsitektur Internal Mikroprosesor (20 slide)

Arsitektur Internal Mikroprosesor

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Membedakan Von Neumann dan Harvard
  2. Menjelaskan kerja ALU dan Control Unit
  3. Membedakan general purpose dan special purpose register

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Organisasi CPU

  1. Control Unit mengatur pelaksanaan instruksi.
  2. ALU mengolah operand yang tersedia dalam register.
CURegisterALU
Contoh / pembahasan: Model sederhana mengabaikan pipeline, cache, dan unit tambahan.

Von Neumann

  1. Instruksi dan data berbagi ruang memori.
  2. Pada model klasik, akses keduanya memakai jalur bersama.
Instruksi +CPUdata
Contoh / pembahasan: Pengambilan instruksi dan akses data dapat berebut jalur.

Harvard

  1. Memori instruksi dan data terpisah.
  2. Jalur yang terpisah memungkinkan akses bersamaan.
InstruksiCPUData
Contoh / pembahasan: Kecepatan tetap bergantung implementasi dan beban kerja.

Modified Harvard

  1. Cache instruksi dan data dapat terpisah.
  2. Memori utama tetap dapat memakai ruang atau jalur bersama.
Cache instruksiCPUCache data
Contoh / pembahasan: Pisahkan konsep organisasi memori dan nama keluarga prosesor.

ALU

  1. ALU menjalankan penjumlahan, pengurangan, dan logika bit.
  2. Operasi yang tersedia bergantung set instruksi.
Contoh / pembahasan: Contoh: 7 + 5 = 12, atau 1100 AND 0110 = 0100.

Control Unit

  1. CU mendekode instruksi dan memilih operasi.
  2. Sinyal kontrol mengatur pembacaan serta penulisan nilai.
InstruksiKontrolDatapath
Contoh / pembahasan: CU mengatur ADD, ALU melakukan perhitungan.

General purpose register

  1. GPR menampung operand dan hasil antara.
  2. Sebagian register dapat menyimpan alamat sesuai ISA.
Contoh / pembahasan: Nama dan jumlah GPR berbeda antararsitektur.

Program Counter dan IR

  1. PC menyediakan informasi alamat untuk alur instruksi.
  2. IR menampung instruksi pada model CPU sederhana.
Contoh / pembahasan: IR tidak selalu menjadi register yang dapat diakses program.

Stack Pointer

  1. SP menandai posisi stack sesuai aturan arsitektur.
  2. Stack mendukung penyimpanan sementara dan pemanggilan fungsi.
Contoh / pembahasan: Arah pertumbuhan stack dan makna SP bergantung arsitektur.

Status dan flags

  1. Flag dapat mencatat hasil nol, carry, tanda, atau overflow.
  2. Flag dan aturan pembaruannya mengikuti ISA.
Contoh / pembahasan: Tidak semua arsitektur memiliki condition-code flags.

Demonstrasi 1/4: Operand awal

Register menyediakan dua operand untuk contoh didaktik.

Operand awal

Progres demonstrasi

R0=7, R1=5, R2=0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 02.

Dekode ADDOperasi ALUPenulisan hasil

Demonstrasi 2/4: Dekode ADD

CU memilih operasi tambah dan register tujuan.

Operand awal

Progres demonstrasi

ADD R2, R0, R1

Animasi bergerak: buka animasi/index.html, pilih pertemuan 02.

Dekode ADDOperasi ALUPenulisan hasil

Demonstrasi 3/4: Operasi ALU

ALU menghasilkan jumlah kedua operand.

Operand awal

Progres demonstrasi

Hasil sementara=12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 02.

Dekode ADDOperasi ALUPenulisan hasil

Demonstrasi 4/4: Penulisan hasil

CU mengatur hasil agar masuk ke register tujuan.

Operand awal

Progres demonstrasi

R2=12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 02.

Dekode ADDOperasi ALUPenulisan hasil

Aktivitas kelas / praktikum

  1. Gambarkan CU, register, dan ALU.
  2. Telusuri instruksi konseptual R2 = R0 - R1 dengan R0=9 dan R1=3.
  3. Jelaskan perbedaan GPR dan PC.

Cek pemahaman

  1. Apa pembeda utama Harvard dan Von Neumann?
  2. Siapa menghitung hasil ADD?
  3. Mengapa carry dan overflow signed berbeda?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Organisasi memori serta jalur instruksi dan data.
  2. ALU menghitung, CU mengatur pelaksanaannya.
  3. Carry menunjukkan luapan unsigned, overflow signed menunjukkan hasil di luar rentang bertanda.

Inti pertemuan

Von Neumann dan Harvard mengatur akses memori dengan cara berbeda.

ALU menghitung, CU mengatur, register menyimpan.

Register khusus mengelola keadaan dan alur CPU.

Catatan pengajar dan referensi

Tekankan model konseptual dan variasi ISA. PC yang terlihat software dapat memiliki semantik

khusus. Lanjutkan ke bus dan memori pada pertemuan 3.

Acuan cakupan: RPS pengguna, minggu 2.

Arm, Developer Suite Developer Guide

https://documentation-service.arm.com/static/5e9578fe8259fe2368e2c274

Microchip, AVR CPU Core

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/core/

Microchip, General Purpose Registers

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/gpr/

Microchip, Status Register

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/status/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 03 β€” Sistem Bus dan Memori (20 slide)

Sistem Bus dan Memori

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Membedakan data, address, dan control bus
  2. Menghitung ruang alamat serta rentang memori
  3. Menelusuri fetch, decode, dan execute

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Struktur sistem bus

  1. Bus menghubungkan CPU, memori, dan perangkat I/O.
  2. Model klasik memisahkan data, alamat, dan kontrol.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: Implementasi modern dapat memakai interconnect atau jalur termultipleks.

Data bus

  1. Data bus membawa nilai yang dibaca atau ditulis.
  2. Lebarnya memengaruhi jumlah bit yang dapat ditransfer per akses sederhana.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: Bus 8 bit memuat 8 bit pada satu transfer model dasar.

Address bus

  1. Address bus menentukan lokasi tujuan transaksi.
  2. CPU sebagai pengendali bus menempatkan alamat ke perangkat.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: Arah alamat dijelaskan untuk CPU sebagai bus master.

Lebar alamat

  1. n bit alamat menyediakan paling banyak 2^n kombinasi.
  2. Jumlah byte bergantung satuan pengalamatan.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: 64 KiB berlaku bila satu alamat menunjuk satu byte.

Control bus

  1. Kontrol menyatakan operasi dan mengoordinasikan transaksi.
  2. Contoh sinyal: read, write, clock, ready, dan interrupt.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: Arah dan polaritas setiap sinyal mengikuti desain.

Transaksi baca

  1. CPU memberikan alamat dan permintaan baca.
  2. Perangkat mengembalikan data saat waktu akses terpenuhi.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: Jangan mengasumsikan semua akses selesai dalam satu clock.

Transaksi tulis

  1. CPU menyediakan alamat dan data.
  2. Kontrol tulis menentukan kapan perangkat menyimpan nilai.
AddressCPUDataMemori / I/OControlArah sinyal kontrol bergantung jenis sinyal.
Contoh / pembahasan: Hanya perangkat terpilih yang merespons.

Memory mapping

  1. Rentang alamat dialokasikan ke memori atau register periferal.
  2. Peta memori menunjukkan batas dan fungsi setiap wilayah.
0000-3FFFProgram4000-7FFFRAM8000-80FFI/O8100-FFFFBelum dipakai
Contoh / pembahasan: Model 16 bit, byte-addressed. Tidak berskala. Alamat yang tidak dipetakan tidak otomatis berisi RAM.

Ukuran dan batas wilayah

  1. Ukuran = alamat akhir - alamat awal + 1.
  2. Hindari wilayah bertumpang tindih tanpa mekanisme yang dirancang.
0000-3FFFProgram4000-7FFFRAM8000-80FFI/O8100-FFFFBelum dipakai
Contoh / pembahasan: Model 16 bit, byte-addressed. Tidak berskala. 0x2FFF - 0x2000 + 1 = 0x1000 byte.

Siklus instruksi dan siklus bus

  1. Fetch mengambil instruksi, decode mengenali, execute menjalankan.
  2. Satu instruksi dapat memerlukan beberapa transaksi bus.
FetchDecodeExecute
Contoh / pembahasan: Siklus instruksi, machine cycle, dan clock cycle tidak selalu sama.

Demonstrasi 1/4: Alamat fetch

CPU menyiapkan alamat instruksi contoh.

PC

PC=0x1000

Animasi bergerak: buka animasi/index.html, pilih pertemuan 03.

MemoriCUR0

Demonstrasi 2/4: Baca instruksi

Memori merespons READ dan mengirim instruksi.

PC

IR=LOAD R0,[0x2000]

Animasi bergerak: buka animasi/index.html, pilih pertemuan 03.

MemoriCUR0

Demonstrasi 3/4: Dekode

CU mengenali operasi baca data dari alamat 0x2000.

PC

Operand alamat=0x2000

Animasi bergerak: buka animasi/index.html, pilih pertemuan 03.

MemoriCUR0

Demonstrasi 4/4: Eksekusi

Transaksi baca kedua memuat nilai ke R0.

PC

Mem[0x2000]=42, R0=42

Animasi bergerak: buka animasi/index.html, pilih pertemuan 03.

MemoriCUR0

Aktivitas kelas / praktikum

  1. Buat peta 64 KiB dengan program 16 KiB dan RAM 16 KiB.
  2. Sisihkan wilayah I/O dan wilayah belum dipakai.
  3. Hitung batas setiap wilayah dengan rumus inklusif.

Cek pemahaman

  1. Berapa byte ruang alamat 12 bit yang byte-addressed?
  2. Berapa ukuran 0x4000-0x4FFF?
  3. Apa perbedaan address bus dan data bus?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. 2^12 = 4.096 byte atau 4 KiB.
  2. 0x1000 byte atau 4 KiB.
  3. Alamat memilih lokasi, data membawa nilainya.

Inti pertemuan

Bus membagi fungsi alamat, data, dan kontrol.

Ruang alamat bukan jaminan RAM terpasang.

Fetch dan akses operand dapat memakai transaksi terpisah.

Catatan pengajar dan referensi

Gunakan alamat heksadesimal dan sebut asumsi byte-addressed. Untuk Harvard, ruang program

dan data dapat terpisah. Detail bus perangkat harus mengikuti datasheet.

Acuan cakupan: RPS pengguna, minggu 3.

Arm, Developer Suite Developer Guide

https://documentation-service.arm.com/static/5e9578fe8259fe2368e2c274

Microchip, AVR Memory

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/memory/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 04 β€” Mode Pengalamatan (20 slide)

Mode Pengalamatan

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Mengidentifikasi immediate, register, direct, indirect, dan indexed
  2. Menghitung effective address pada contoh
  3. Membedakan sintaks antararsitektur

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Operand dan effective address

  1. Operand adalah nilai sumber atau tujuan instruksi.
  2. Effective address (EA) menentukan lokasi operand memori.
InstruksiEAOperand
Contoh / pembahasan: Tidak semua operand berasal dari memori.

Immediate addressing

  1. Nilai konstanta berada dalam instruksi.
  2. CPU memakai konstanta tanpa membaca operand memori terpisah.
MOV AX,5Konstanta 5AX
Contoh / pembahasan: Contoh memakai sintaks Intel x86 16 bit.

Register addressing

  1. Operand berada dalam register.
  2. Instruksi memilih register sumber dan tujuan.
BX=7MOV AX,BXAX=7
Contoh / pembahasan: MOV menyalin nilai, BX tetap 7.

Direct addressing

  1. Instruksi menyebut offset lokasi memori.
  2. Segmen ikut menentukan alamat pada x86 real mode.
Offset 2000hMemoriAX
Contoh / pembahasan: MOV AX,[2000h] membaca word, default segmen DS.

Register indirect

  1. Register menyimpan offset ke operand memori.
  2. Isi register diperlakukan sebagai alamat, bukan nilai operand.
BX=2000h[BX]Memori
Contoh / pembahasan: MOV AX,[BX] membaca word dari DS:BX.

Indexed addressing

  1. EA memakai indeks atau basis dan displacement.
  2. Mode ini membantu mengakses tabel dan array.
SI + 4EAElemen
Contoh / pembahasan: MOV AX,[SI+4] memakai offset SI+4 pada contoh x86.

Ukuran elemen

  1. Indeks elemen harus diterjemahkan menjadi offset byte.
  2. Elemen word 16 bit membutuhkan 2 byte.
Indeks 33x2Offset 6
Contoh / pembahasan: 8086 tidak memiliki scaled-index otomatis seperti x86 lebih baru.

Segmen pada 8086

  1. Alamat fisik = segmen x 16 + offset.
  2. BP umumnya memilih SS, sedangkan BX/SI/DI umumnya DS.
DS=1000hOffset=0020h10020h
Contoh / pembahasan: Ini contoh real mode 8086, bukan rumus seluruh x86.

Perbedaan sintaks ISA

  1. x86 Intel memakai tanda kurung siku untuk operand memori.
  2. ARM memakai LDR/STR, AVR memakai bentuk sesuai register pointer.
x86ARMAVR
Contoh / pembahasan: Contoh satu ISA tidak boleh dijalankan langsung pada ISA lain.

Kesalahan pengalamatan

  1. Bedakan konstanta, alamat, dan isi lokasi.
  2. Periksa ukuran operand serta segmen sebelum membaca hasil.
AlamatIsi alamatNilai
Contoh / pembahasan: MOV AX,2000h berbeda dari MOV AX,[2000h].

Demonstrasi 1/4: Offset basis

BX menyimpan offset awal tabel.

Offset basis

Progres demonstrasi

BX=0x2000

Animasi bergerak: buka animasi/index.html, pilih pertemuan 04.

DisplacementLokasi operandTransfer data

Demonstrasi 2/4: Displacement

Tambahkan displacement 4 byte pada basis.

Offset basis

Progres demonstrasi

EA=0x2004

Animasi bergerak: buka animasi/index.html, pilih pertemuan 04.

DisplacementLokasi operandTransfer data

Demonstrasi 3/4: Lokasi operand

Segmen dan offset memilih lokasi word.

Offset basis

Progres demonstrasi

DS:0x2004 berisi 42

Animasi bergerak: buka animasi/index.html, pilih pertemuan 04.

DisplacementLokasi operandTransfer data

Demonstrasi 4/4: Transfer data

Instruksi memuat isi lokasi, bukan nilai alamat.

Offset basis

Progres demonstrasi

MOV AX,[BX+4], AX=42

Animasi bergerak: buka animasi/index.html, pilih pertemuan 04.

DisplacementLokasi operandTransfer data

Aktivitas kelas / praktikum

  1. Klasifikasikan MOV AX,5; MOV AX,BX; MOV AX,[2000h]; MOV AX,[BX].
  2. Hitung EA untuk BX=2000h dan displacement 6.
  3. Jelaskan pengaruh ukuran elemen array.

Cek pemahaman

  1. Apa beda nilai 5 dengan alamat 5?
  2. Jika SI=1000h, berapa EA [SI+8]?
  3. Berapa offset byte elemen ke-4 pada array word, indeks mulai 0?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Nilai adalah operand, alamat memilih lokasi berisi operand.
  2. EA=1008h.
  3. Indeks 3 x 2 byte = 6 byte.

Inti pertemuan

Mode pengalamatan menentukan sumber operand.

EA dan isi memori merupakan hal berbeda.

Ukuran data dan aturan ISA memengaruhi akses.

Catatan pengajar dan referensi

Semua contoh MOV pada bagian ini adalah potongan x86 Intel 16 bit. Inisialisasi segmen dan area

memori diperlukan sebelum praktik.

Acuan cakupan: RPS pengguna, minggu 4.

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Arm, Developer Suite Developer Guide

https://documentation-service.arm.com/static/5e9578fe8259fe2368e2c274

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 05 β€” Set Instruksi dan Assembly - Bagian 1 (20 slide)

Set Instruksi dan Assembly - Bagian 1

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Membaca struktur instruksi Assembly
  2. Menggunakan MOV, PUSH, POP, dan aritmetika dasar
  3. Menelusuri perubahan register serta stack

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Set instruksi

  1. ISA menentukan operasi yang tersedia dan cara operand dinyatakan.
  2. Mnemonic membantu manusia membaca instruksi mesin.
MnemonicAssemblerKode mesin
Contoh / pembahasan: ADD adalah nama simbolik suatu operasi penjumlahan.

Struktur baris Assembly

  1. Baris dapat memuat label, mnemonic, operand, dan komentar.
  2. Direktif assembler mengatur pembuatan program, bukan selalu instruksi CPU.
LabelInstruksiOperand
Contoh / pembahasan: Contoh Intel: ADD AX,BX berarti AX menjadi AX+BX.

MOV

  1. MOV menyalin data dari sumber ke tujuan.
  2. Ukuran operand harus sesuai dan kombinasi operand harus sah.
BX=5MOV AX,BXAX=5
Contoh / pembahasan: Pada contoh ini BX tetap 5.

Memori dan ukuran operand

  1. Byte bernilai 8 bit, word pada contoh x86 ini 16 bit.
  2. Tentukan ukuran saat operand memori tidak cukup jelas.
Byte8 bitWord 16 bit
Contoh / pembahasan: MOV byte ptr [BX],1 menulis satu byte.

ADD dan SUB

  1. ADD menjumlahkan sumber ke tujuan.
  2. SUB mengurangkan sumber dari tujuan.
AX=7ADD AX,5AX=12
Contoh / pembahasan: Perubahan flag mengikuti jenis instruksi dan hasil.

Logika bit

  1. AND mempertahankan bit yang sama-sama 1.
  2. OR memasang bit, XOR dapat membalik bit terpilih.
NilaiMaskHasil
Contoh / pembahasan: AL=0Fh, AND AL,03h menghasilkan 03h.

PUSH

  1. Pada 8086 PUSH menyimpan word ke stack.
  2. SP berkurang 2 sebelum word disimpan.
SP lamaPUSH AXSP-2
Contoh / pembahasan: SS dan SP harus menunjuk stack yang valid.

POP

  1. POP mengambil word teratas dari stack.
  2. SP bertambah 2 setelah word dibaca.
StackPOP BXSP+2
Contoh / pembahasan: PUSH AX lalu POP BX menyalin nilai melalui stack.

Little endian

  1. Pada contoh x86, byte rendah berada pada alamat lebih kecil.
  2. Urutan byte memori berbeda dari cara menulis angka hex.
1234h34h lalu 12hMemori
Contoh / pembahasan: Di offset 2000h: 34h, di 2001h: 12h.

Program penjumlahan

  1. Mulai dengan nilai register yang diketahui.
  2. Amati perubahan setelah setiap instruksi.
MOV AX,7ADD AX,5AX=12
Contoh / pembahasan: Potongan ini memerlukan kerangka program simulator yang dipilih.

Demonstrasi 1/4: Inisialisasi

Instruksi pertama memasukkan nilai 7 ke AX.

Inisialisasi

Progres demonstrasi

MOV AX,7 / AX=7

Animasi bergerak: buka animasi/index.html, pilih pertemuan 05.

Sumber tambahanPenjumlahanSalinan hasil

Demonstrasi 2/4: Sumber tambahan

Nilai 5 tersedia di BX.

Inisialisasi

Progres demonstrasi

MOV BX,5 / BX=5

Animasi bergerak: buka animasi/index.html, pilih pertemuan 05.

Sumber tambahanPenjumlahanSalinan hasil

Demonstrasi 3/4: Penjumlahan

ADD menghitung jumlah dan menulis ke AX.

Inisialisasi

Progres demonstrasi

ADD AX,BX / AX=12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 05.

Sumber tambahanPenjumlahanSalinan hasil

Demonstrasi 4/4: Salinan hasil

MOV menyalin hasil untuk pemeriksaan.

Inisialisasi

Progres demonstrasi

MOV CX,AX / CX=12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 05.

Sumber tambahanPenjumlahanSalinan hasil

Aktivitas kelas / praktikum

  1. Simulasikan empat instruksi penjumlahan.
  2. Catat AX, BX, CX, SP sebelum dan sesudah instruksi.
  3. Uji PUSH AX lalu POP DX pada stack valid.

Cek pemahaman

  1. Apakah MOV menghapus sumber?
  2. Berapa perubahan SP saat PUSH word 8086?
  3. Bagaimana 1234h tersusun di memori x86?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Tidak, sumber tetap sama kecuali efek khusus operand tertentu.
  2. SP berkurang 2.
  3. Byte 34h pada alamat rendah, 12h pada alamat berikutnya.

Inti pertemuan

Assembly menyatakan operasi pada register dan memori.

MOV menyalin, ALU mengolah, stack menyimpan sementara.

Ukuran operand dan keadaan awal menentukan hasil.

Catatan pengajar dan referensi

Gunakan potongan Intel 16 bit yang konsisten. Jangan memakai PUSH immediate sebagai instruksi

8086 asli. Minta mahasiswa menulis tabel perubahan, bukan hanya hasil akhir.

Acuan cakupan: RPS pengguna, minggu 5.

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 06 β€” Assembly - Alur Kontrol dan Flags (20 slide)

Assembly - Alur Kontrol dan Flags

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Membedakan jump tanpa syarat dan branch bersyarat
  2. Membangun loop yang berhenti
  3. Menjelaskan peran flags pada keputusan program

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Alur urut dan percabangan

  1. Alur urut melanjutkan instruksi berikutnya.
  2. Branch atau jump memilih alamat tujuan lain.
Instruksi 1Instruksi 2Tujuan branch
Contoh / pembahasan: Label mewakili lokasi kode.

JMP

  1. JMP berpindah tanpa menguji kondisi hasil.
  2. Tujuan harus menunjuk instruksi yang valid.
JMP selesaiLabel selesaiInstruksi
Contoh / pembahasan: Jump yang kembali ke label sendiri membentuk loop tanpa akhir.

CMP

  1. CMP menguji selisih tanpa menyimpan hasil ke operand.
  2. Flag berubah sesuai perbandingan.
AX=3CMP AX,3ZF=1
Contoh / pembahasan: AX tetap 3 pada contoh x86 ini.

JE dan JNE

  1. JE atau JZ mengambil branch ketika ZF=1.
  2. JNE atau JNZ mengambil branch ketika ZF=0.
CMPUji ZFBranch
Contoh / pembahasan: Flag berasal dari instruksi yang terakhir mengubahnya.

Signed dan unsigned

  1. Interpretasi bertanda memengaruhi jenis branch.
  2. Gunakan kondisi signed atau unsigned yang cocok.
Pola bitInterpretasiKeputusan
Contoh / pembahasan: JA/JB dan JG/JL memiliki dasar flag berbeda pada x86.

Loop berbasis counter

  1. Counter mengontrol jumlah pengulangan.
  2. Perbarui counter dan uji kondisi berhenti.
CounterOperasiUji berhenti
Contoh / pembahasan: Counter yang tidak berubah dapat menyebabkan loop tak berakhir.

LOOP pada 8086

  1. LOOP mengurangi CX, lalu melompat bila CX tidak nol.
  2. LOOP tidak memperbarui flags aritmetika.
CXKurangi 1CX != 0
Contoh / pembahasan: Inisialisasi CX=3 menghasilkan tiga iterasi pola loop biasa.

Carry dan overflow

  1. Carry berhubungan dengan luapan unsigned.
  2. Overflow berhubungan dengan rentang signed.
UnsignedCFSigned OF
Contoh / pembahasan: Pada 8 bit, 255+1 membawa carry, 127+1 meluap secara signed.

Manipulasi flag

  1. CLC, STC, dan CMC mengubah carry pada x86.
  2. Operasi lain dapat mengubah flag secara otomatis.
CLCSTCCMC
Contoh / pembahasan: INC/DEC pada x86 tidak mengubah carry.

Trace loop

  1. Catat counter dan akumulator per iterasi.
  2. Bandingkan jumlah iterasi aktual dengan rancangan.
IterasiCounterJumlah
Contoh / pembahasan: Menjumlahkan 1+2+3 harus memberi hasil 6.

Demonstrasi 1/4: Keadaan awal

Counter dimulai dari 3, akumulator dari 0.

Keadaan awal

Progres demonstrasi

CX=3, AX=0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 06.

Iterasi pertamaIterasi keduaIterasi ketiga

Demonstrasi 2/4: Iterasi pertama

Tambahkan CX sebelum LOOP menguranginya.

Keadaan awal

Progres demonstrasi

AX=3, CX berikutnya=2

Animasi bergerak: buka animasi/index.html, pilih pertemuan 06.

Iterasi pertamaIterasi keduaIterasi ketiga

Demonstrasi 3/4: Iterasi kedua

Tambahkan nilai counter yang baru.

Keadaan awal

Progres demonstrasi

AX=5, CX berikutnya=1

Animasi bergerak: buka animasi/index.html, pilih pertemuan 06.

Iterasi pertamaIterasi keduaIterasi ketiga

Demonstrasi 4/4: Iterasi ketiga

Tambahkan 1 lalu LOOP mengakhiri perulangan.

Keadaan awal

Progres demonstrasi

AX=6, CX=0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 06.

Iterasi pertamaIterasi keduaIterasi ketiga

Aktivitas kelas / praktikum

  1. Tuliskan MOV AX,0; MOV CX,3; ulang: ADD AX,CX; LOOP ulang.
  2. Jalankan satu instruksi per langkah.
  3. Ubah nilai awal CX dan prediksi hasil.

Cek pemahaman

  1. Apa perubahan operand setelah CMP?
  2. Apa hasil jumlah saat CX awal=4?
  3. Mengapa branch dapat salah setelah instruksi flag lain?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Operand tetap, flags yang berubah.
  2. 4+3+2+1=10.
  3. Instruksi lain dapat mengganti flags yang akan diperiksa branch.

Inti pertemuan

Branch memilih alur berdasarkan kondisi atau tanpa syarat.

Counter dan kondisi berhenti menentukan loop.

Interpretasi signed/unsigned menentukan branch yang benar.

Catatan pengajar dan referensi

Bedakan LOOP dari DEC/JNZ. Hindari counter awal nol dalam demonstrasi LOOP karena terjadi

wrap 16 bit dan pengulangan sangat banyak. Latihan adalah model sederhana tanpa pipeline.

Acuan cakupan: RPS pengguna, minggu 6.

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 07 β€” Praktikum dan Simulasi Assembly (20 slide)

Praktikum dan Simulasi Assembly

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Menyiapkan lingkungan simulasi sesuai target
  2. Melakukan step, breakpoint, dan inspeksi register
  3. Mendokumentasikan hasil serta perbaikan program

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Tujuan simulasi

  1. Simulator memperlihatkan perubahan keadaan CPU.
  2. Hasil membantu memeriksa logika sebelum memakai hardware.
Contoh / pembahasan: Dukungan instruksi dan periferal bergantung target serta alat.

Pemilihan alat

  1. EMU8086 cocok untuk contoh x86 16 bit.
  2. Keil memerlukan project dan target yang sesuai dukungan simulator.
ISATargetAlat
Contoh / pembahasan: Jangan memasukkan kode x86 ke proyek ARM.

Kerangka program

  1. Kerangka menetapkan entry point dan area data.
  2. Stack serta segmen harus diinisialisasi jika diperlukan.
EntryDataStack
Contoh / pembahasan: Kerangka berbeda antarassembler, sistem, dan mode eksekusi.

Build dan diagnosis

  1. Assembler melaporkan sintaks atau operand yang tidak sah.
  2. Perbaiki pesan pertama lalu bangun ulang.
EditBuildPerbaikan
Contoh / pembahasan: Satu kesalahan awal dapat memicu banyak pesan lanjutan.

Single step

  1. Satu langkah membantu menghubungkan instruksi dengan efeknya.
  2. Periksa instruksi berikutnya dan register yang berubah.
InstruksiStepRegister
Contoh / pembahasan: Step source dan step instruction dapat berbeda.

Breakpoint

  1. Breakpoint menghentikan eksekusi di lokasi terpilih.
  2. Gunakan sebelum atau sesudah bagian yang dicurigai.
RunBreakpointInspeksi
Contoh / pembahasan: Breakpoint bukan bagian dari logika program produksi.

Register dan flags

  1. Pantau register sumber, tujuan, dan flags relevan.
  2. Bandingkan dengan prediksi sebelum menjalankan.
PrediksiAktualSelisih
Contoh / pembahasan: Catat angka dalam format hex atau desimal yang jelas.

Memori dan stack

  1. Periksa alamat dan ukuran saat membaca memory view.
  2. Bandingkan SP serta isi stack untuk PUSH/POP.
SPMemory viewWord
Contoh / pembahasan: Endian memengaruhi urutan byte yang terlihat.

Debugging sistematis

  1. Ubah satu dugaan penyebab pada satu waktu.
  2. Uji kembali kasus yang sebelumnya gagal.
GejalaHipotesisUji
Contoh / pembahasan: Hasil akhir benar tidak membuktikan semua input sudah benar.

Laporan praktikum

  1. Sertakan tujuan, kode, keadaan awal, trace, dan kesimpulan.
  2. Catat keterbatasan simulator atau target.
KodeTraceKesimpulan
Contoh / pembahasan: Tangkapan layar sebaiknya disertai penjelasan instruksi.

Demonstrasi 1/4: Prediksi

Tentukan hasil program sebelum menjalankannya.

Prediksi

Progres demonstrasi

Target AX=12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 07.

Breakpoint awalSingle step ADDVerifikasi

Demonstrasi 2/4: Breakpoint awal

Hentikan program sebelum ADD untuk melihat operand.

Prediksi

Progres demonstrasi

AX=7, BX=5

Animasi bergerak: buka animasi/index.html, pilih pertemuan 07.

Breakpoint awalSingle step ADDVerifikasi

Demonstrasi 3/4: Single step ADD

Jalankan operasi lalu periksa register tujuan.

Prediksi

Progres demonstrasi

AX berubah menjadi 12

Animasi bergerak: buka animasi/index.html, pilih pertemuan 07.

Breakpoint awalSingle step ADDVerifikasi

Demonstrasi 4/4: Verifikasi

Bandingkan hasil dengan prediksi dan simpan trace.

Prediksi

Progres demonstrasi

Prediksi=aktual

Animasi bergerak: buka animasi/index.html, pilih pertemuan 07.

Breakpoint awalSingle step ADDVerifikasi

Aktivitas kelas / praktikum

  1. Simulasikan penjumlahan dan satu loop.
  2. Pasang breakpoint sebelum instruksi penting.
  3. Kumpulkan tabel trace beserta analisis satu kesalahan.

Cek pemahaman

  1. Apa beda step dan run?
  2. Mengapa target harus cocok dengan ISA?
  3. Bukti apa selain tangkapan layar yang diperlukan?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Step mengeksekusi langkah terpilih, run berlanjut sampai berhenti atau breakpoint.
  2. Instruksi dan model hardware berbeda antar-ISA.
  3. Keadaan awal, kode, trace, prediksi, dan penjelasan hasil.

Inti pertemuan

Simulator membantu mengamati perubahan keadaan.

Breakpoint dan step mempersempit sumber kesalahan.

Laporan yang baik menjelaskan sebab dan hasil.

Catatan pengajar dan referensi

Instruksi menu dan target dapat berbeda menurut versi. Keil menyediakan opsi Use Simulator

hanya untuk target yang didukung. Jangan menganggap seluruh perangkat atau periferal

tersimulasi.

Acuan cakupan: RPS pengguna, minggu 7.

Keil, Debugger Simulation

https://www.keil.com/support/man/docs/uv4/uv4_dg_debug.asp

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 08 β€” UTS - Latihan Evaluasi Arsitektur dan Assembly (20 slide)

UTS - Latihan Evaluasi Arsitektur dan Assembly

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Meninjau konsep pertemuan 1-7
  2. Menyelesaikan soal arsitektur, peta memori, dan trace
  3. Menunjukkan langkah penalaran dalam ujian tertulis atau praktik

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Ruang lingkup UTS

  1. RPS mengevaluasi arsitektur, pemetaan memori, dan Assembly dasar.
  2. Bagian ini adalah latihan, bukan naskah ujian resmi.
Contoh / pembahasan: Format final dan waktu ujian ditetapkan dosen.

Latihan CPU

  1. Jelaskan peran CU, ALU, GPR, dan PC.
  2. Hubungkan setiap komponen dengan satu operasi ADD.
CUALURegister
Contoh / pembahasan: Pembahasan: CU mengatur, ALU menghitung, register menampung nilai.

Latihan arsitektur

  1. Bandingkan memori serta jalur pada Von Neumann dan Harvard.
  2. Hindari menyimpulkan kecepatan hanya dari nama arsitektur.
Von NeumannPerbandinganHarvard
Contoh / pembahasan: Pembahasan: memori dan jalur bersama dibanding terpisah.

Latihan bus

  1. Tentukan bus yang membawa alamat, nilai, dan kendali.
  2. Sebut asumsi CPU sebagai bus master.
AddressDataControl
Contoh / pembahasan: Pembahasan: tiga fungsi yang berbeda dalam satu transaksi.

Latihan ruang alamat

  1. Hitung ruang 16 bit byte-addressed.
  2. Bedakan kapasitas alamat dengan RAM terpasang.
16 bit2^1664 KiB
Contoh / pembahasan: Pembahasan: 65.536 byte, alamat 0000h-FFFFh.

Latihan rentang memori

  1. Hitung ukuran 3000h-37FFh.
  2. Gunakan rumus batas inklusif.
37FFh-3000h+10800h
Contoh / pembahasan: Pembahasan: 2.048 byte atau 2 KiB.

Latihan addressing

  1. Klasifikasikan MOV AX,[BX+4].
  2. Hitung EA ketika BX=2000h.
BasisDisplacement2004h
Contoh / pembahasan: Pembahasan: operand memori, EA=2004h pada contoh x86.

Latihan transfer data

  1. Telusuri MOV AX,7; MOV BX,5; ADD AX,BX.
  2. Catat sumber dan tujuan setelah operasi.
AX=7BX=5AX=12
Contoh / pembahasan: Pembahasan: BX tetap 5.

Latihan stack

  1. Telusuri PUSH AX lalu POP DX pada stack valid.
  2. Hitung perubahan SP untuk word 8086.
PUSHStackPOP
Contoh / pembahasan: Pembahasan: SP turun 2 lalu naik 2, DX menerima AX.

Latihan loop

  1. Gunakan CX=3 dan AX=0 lalu ADD AX,CX; LOOP.
  2. Tuliskan trace setiap iterasi.
321
Contoh / pembahasan: Pembahasan: AX berturut-turut 3, 5, 6.

Demonstrasi 1/4: Baca soal

Kasus: ruang 16 bit, byte-addressed, RAM 8 KiB mulai 2000h.

Baca soal

Progres demonstrasi

Ruang total=64 KiB

Animasi bergerak: buka animasi/index.html, pilih pertemuan 08.

Ubah ukuranHitung batasPeriksa jawaban

Demonstrasi 2/4: Ubah ukuran

Konversikan 8 KiB menjadi 2000h byte.

Baca soal

Progres demonstrasi

Ukuran=8192 byte

Animasi bergerak: buka animasi/index.html, pilih pertemuan 08.

Ubah ukuranHitung batasPeriksa jawaban

Demonstrasi 3/4: Hitung batas

Alamat akhir = awal + ukuran - 1.

Baca soal

Progres demonstrasi

2000h + 2000h - 1 = 3FFFh

Animasi bergerak: buka animasi/index.html, pilih pertemuan 08.

Ubah ukuranHitung batasPeriksa jawaban

Demonstrasi 4/4: Periksa jawaban

Hitung ulang panjang rentang dan pastikan tidak melewati FFFFh.

Baca soal

Progres demonstrasi

RAM=2000h-3FFFh

Animasi bergerak: buka animasi/index.html, pilih pertemuan 08.

Ubah ukuranHitung batasPeriksa jawaban

Aktivitas kelas / praktikum

  1. Kerjakan tiga soal tanpa melihat pembahasan.
  2. Tuliskan asumsi, rumus, dan trace yang dipakai.
  3. Bandingkan dengan kunci lalu jelaskan sumber kesalahan.

Cek pemahaman

  1. Berapa akhir blok 4 KiB mulai 8000h?
  2. Apa hasil AX pada loop CX=4?
  3. Mengapa ukuran rentang memakai +1?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. 8FFFh.
  2. AX=10 untuk pola ADD AX,CX lalu LOOP.
  3. Alamat awal dan akhir sama-sama termasuk wilayah.

Inti pertemuan

Jawaban harus menyertakan asumsi dan langkah.

Trace lebih kuat daripada menebak hasil akhir.

Format ujian resmi tetap mengikuti dosen.

Catatan pengajar dan referensi

Gunakan sebagai ulasan dan diskusi pembahasan. Jangan menampilkan kunci saat latihan mandiri

berlangsung. UTS di RPS dapat berupa ujian tertulis dan praktik.

Acuan cakupan: RPS pengguna, minggu 8.

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Microchip, AVR CPU Core

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/core/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 09 β€” Sistem Input/Output dan Interfacing (20 slide)

Sistem Input/Output dan Interfacing

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Membedakan MMIO dan port-mapped I/O
  2. Membandingkan komunikasi paralel dan serial
  3. Merancang alur pertukaran data dengan periferal

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Peran antarmuka

  1. Antarmuka menyesuaikan prosesor dengan perangkat luar.
  2. Penyesuaian dapat mencakup sinyal, timing, dan format data.
Contoh / pembahasan: Sensor tidak selalu terhubung langsung ke data bus CPU.

Register periferal

  1. Register data membawa nilai, status melaporkan kondisi.
  2. Register kontrol mengatur operasi periferal.
KontrolStatusData
Contoh / pembahasan: Alamat dan perilaku register harus dibaca dari datasheet.

Memory-Mapped I/O

  1. Register periferal berada dalam ruang alamat memori.
  2. Instruksi akses memori dapat mengakses register tersebut.
AlamatRegister periferalEfek hardware
Contoh / pembahasan: Pembacaan register tertentu dapat mempunyai efek samping.

I/O-Mapped I/O

  1. Port I/O memakai ruang alamat tersendiri.
  2. x86 menyediakan instruksi IN dan OUT untuk port I/O.
PortIN / OUTPeriferal
Contoh / pembahasan: MOV memori tidak identik dengan IN/OUT.

Paralel dan serial

  1. Paralel membawa beberapa bit melalui beberapa jalur.
  2. Serial mengirim bit secara berurutan.
Bit bersamaanParalelSerial berurutan
Contoh / pembahasan: Pilihan dipengaruhi jumlah pin, jarak, timing, dan protokol.

Polling status

  1. CPU memeriksa status sampai perangkat siap.
  2. Pemeriksaan berulang memakai waktu CPU.
PeriksaBelum siapPeriksa lagi
Contoh / pembahasan: Tambahkan timeout agar program tidak terjebak.

Handshake

  1. Pengirim dan penerima menyepakati saat data valid.
  2. READY/BUSY atau protokol dapat mengatur aliran.
PermintaanSiapTransfer
Contoh / pembahasan: Handshake bukan pengganti spesifikasi timing listrik.

Level dan arah sinyal

  1. Konfigurasi pin sesuai arah serta fungsi alternatif.
  2. Periksa batas tegangan dan kemampuan arus.
PinLevel logikaPerangkat
Contoh / pembahasan: Motor atau relay biasanya memerlukan driver.

Buffer dan laju data

  1. Buffer menyimpan data sementara saat laju berbeda.
  2. Overflow terjadi ketika data datang melebihi kemampuan layanan.
MasukBufferDiproses
Contoh / pembahasan: Ukuran buffer dan kecepatan layanan menentukan ketahanan.

Praktik interfacing

  1. Mulai dengan satu periferal dan nilai uji yang diketahui.
  2. Periksa status, data, dan respons output.
KonfigurasiBacaTampilkan
Contoh / pembahasan: Pisahkan kesalahan wiring, konfigurasi, dan program.

Demonstrasi 1/4: Konfigurasi

Program menetapkan mode dan arah pin model generik.

Konfigurasi

Progres demonstrasi

CONTROL=mode input

Animasi bergerak: buka animasi/index.html, pilih pertemuan 09.

Periksa statusBaca dataOutput

Demonstrasi 2/4: Periksa status

CPU menunggu tanda data tersedia.

Konfigurasi

Progres demonstrasi

STATUS.READY=1

Animasi bergerak: buka animasi/index.html, pilih pertemuan 09.

Periksa statusBaca dataOutput

Demonstrasi 3/4: Baca data

Akses register data menerima nilai sensor.

Konfigurasi

Progres demonstrasi

DATA=42

Animasi bergerak: buka animasi/index.html, pilih pertemuan 09.

Periksa statusBaca dataOutput

Demonstrasi 4/4: Output

Program mengirim nilai ke tampilan atau indikator.

Konfigurasi

Progres demonstrasi

Tampilan=42

Animasi bergerak: buka animasi/index.html, pilih pertemuan 09.

Periksa statusBaca dataOutput

Aktivitas kelas / praktikum

  1. Gambarkan CPU, antarmuka, dan sensor.
  2. Pilih serial atau paralel lalu jelaskan alasannya.
  3. Rancang polling dengan batas waktu.

Cek pemahaman

  1. Apa beda MMIO dan port I/O?
  2. Apa guna status register?
  3. Mengapa buffer bisa overflow?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. MMIO berbagi ruang alamat memori, port I/O menggunakan ruang dan instruksi khusus.
  2. Status menunjukkan kondisi seperti ready, busy, atau error.
  3. Laju kedatangan lebih tinggi daripada layanan untuk waktu yang cukup lama.

Inti pertemuan

Antarmuka menyelaraskan hardware dan software.

MMIO dan port I/O berbeda pada ruang alamat serta akses.

Status, timing, dan level sinyal menentukan transfer yang benar.

Catatan pengajar dan referensi

Alamat register dalam animasi adalah model generik. MMIO memiliki efek hardware, bukan RAM

biasa. Detail interfacing elektrik mengikuti datasheet periferal.

Acuan cakupan: RPS pengguna, minggu 9.

Arm, Developer Suite Developer Guide

https://documentation-service.arm.com/static/5e9578fe8259fe2368e2c274

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 10 β€” Sistem Interupsi (20 slide)

Sistem Interupsi

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Menjelaskan sumber interupsi dan alur ISR
  2. Membandingkan polling dan interrupt-driven
  3. Mengaitkan tabel vektor dengan handler

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Konsep interupsi

  1. Interupsi meminta CPU menangani kejadian tertentu.
  2. Program dapat melanjutkan setelah penanganan sesuai aturan arsitektur.
Contoh / pembahasan: Kapan interupsi diterima bergantung keadaan CPU dan prioritas.

Sumber eksternal dan internal

  1. Sumber eksternal dapat berupa pin atau perangkat.
  2. Timer, komunikasi, atau kondisi CPU dapat memicu sumber internal.
PinTimerUART
Contoh / pembahasan: Istilah interrupt dan exception mempunyai aturan khusus per ISA.

Polling dan interrupt-driven

  1. Polling memeriksa kondisi secara berkala.
  2. Interupsi memberitahu CPU ketika kejadian perlu dilayani.
Periksa berkalaKejadianHandler
Contoh / pembahasan: Interupsi mengurangi pemeriksaan aktif tetapi menambah overhead layanan.

Enable, pending, dan mask

  1. Sumber dapat mempunyai enable serta pending flag.
  2. Global mask atau prioritas dapat menunda layanan.
EnablePendingLayanan
Contoh / pembahasan: Pending belum berarti ISR sudah berjalan.

Tabel vektor

  1. Vektor membantu CPU menemukan handler sumber kejadian.
  2. Isi tabel dan format entry bergantung arsitektur.
SumberVektorHandler
Contoh / pembahasan: Pada 8086 IVT memakai 256 entry, masing-masing 4 byte.

IVT pada 8086

  1. IVT real mode berada pada alamat fisik 00000h-003FFh.
  2. Entry menyimpan offset IP dan segmen CS handler.
Nomor nnx4CS:IP
Contoh / pembahasan: Contoh n=20h memberi alamat entry 80h.

ISR

  1. Interrupt Service Routine menangani sumber kejadian.
  2. ISR harus menjaga konteks sesuai kebutuhan dan aturan toolchain.
Simpan konteksTanganiPulihkan
Contoh / pembahasan: Hindari pekerjaan panjang yang dapat ditunda ke program utama.

Flag sumber

  1. Sumber perlu ditangani atau diakui sesuai datasheet.
  2. Cara menghapus flag dapat berbeda antarperiferal.
Baca flagLayaniAcknowledge
Contoh / pembahasan: Sebagian flag memakai write-one-to-clear, bukan penulisan nol.

Prioritas dan latensi

  1. Prioritas menentukan kejadian yang didahulukan.
  2. Latensi adalah jeda sebelum layanan dimulai.
KejadianJedaISR
Contoh / pembahasan: Mask, ISR lain, dan instruksi berjalan dapat menambah latensi.

Data bersama

  1. ISR dan program utama dapat mengakses data yang sama.
  2. Atomicity dan sinkronisasi harus diperhatikan.
ISRData bersamaMain
Contoh / pembahasan: volatile saja tidak menjamin operasi atomik.

Demonstrasi 1/4: Program utama

CPU menjalankan pekerjaan normal.

Program utama

Progres demonstrasi

Main aktif, counter kejadian=0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 10.

Kejadian masukLayanan ISRKembali

Demonstrasi 2/4: Kejadian masuk

Sumber teraktifkan menandai permintaan pending.

Program utama

Progres demonstrasi

IRQ pending=1

Animasi bergerak: buka animasi/index.html, pilih pertemuan 10.

Kejadian masukLayanan ISRKembali

Demonstrasi 3/4: Layanan ISR

CPU menyimpan konteks dan handler memproses kejadian.

Program utama

Progres demonstrasi

Counter kejadian=1

Animasi bergerak: buka animasi/index.html, pilih pertemuan 10.

Kejadian masukLayanan ISRKembali

Demonstrasi 4/4: Kembali

Konteks dipulihkan, program utama melanjutkan.

Program utama

Progres demonstrasi

Main aktif, IRQ ditangani

Animasi bergerak: buka animasi/index.html, pilih pertemuan 10.

Kejadian masukLayanan ISRKembali

Aktivitas kelas / praktikum

  1. Bandingkan membaca tombol dengan polling dan interupsi.
  2. Gambarkan perjalanan dari sumber ke handler.
  3. Rancang ISR singkat yang hanya mencatat kejadian.

Cek pemahaman

  1. Apa beda pending dan dilayani?
  2. Di mana entry vektor 21h pada IVT 8086?
  3. Apakah volatile membuat operasi ++ atomik?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Pending adalah permintaan menunggu, dilayani berarti handler mulai menanganinya.
  2. 21h x 4 = 84h, entry 84h-87h.
  3. Tidak, operasi baca-ubah-tulis dapat memerlukan beberapa instruksi.

Inti pertemuan

Interupsi merespons kejadian tanpa polling terus-menerus.

Vektor menentukan tujuan handler.

Konteks, flag sumber, dan data bersama perlu dikelola.

Catatan pengajar dan referensi

Pisahkan contoh IVT 8086 dari vektor ARM/AVR. Contoh animasi hanya menjelaskan alur dan

bukan waktu layanan sebuah chip tertentu.

Acuan cakupan: RPS pengguna, minggu 10.

Microchip, AVR Interrupts

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/peripherals/interrupts/

Intel, IA-32 Software Developer Manuals

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 11 β€” Komunikasi Serial: UART, SPI, dan I2C (20 slide)

Komunikasi Serial: UART, SPI, dan I2C

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Mengidentifikasi sinyal dasar UART, SPI, dan I2C
  2. Menjelaskan framing serta sinkronisasi
  3. Memilih protokol untuk kasus periferal sederhana

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Komunikasi serial

  1. Bit berpindah berurutan mengikuti aturan protokol.
  2. Kedua perangkat harus sepakat format, timing, dan level.
Contoh / pembahasan: Protokol logika berbeda dari standar listrik seperti RS-232.

UART

  1. UART tidak menggunakan jalur clock bersama.
  2. TX pengirim dihubungkan ke RX penerima dengan referensi sinyal yang sesuai.
101010101011Idle Start d0d1d2d3d4d5d6d7 Stop Idle8N1, 0x55, LSB lebih dahulu
Contoh / pembahasan: Konfigurasi baud dan framing harus cocok.

Frame UART 8N1

  1. Contoh 8N1 memakai start, 8 bit data, dan satu stop.
  2. Tidak ada parity pada format ini.
101010101011Idle Start d0d1d2d3d4d5d6d7 Stop Idle8N1, 0x55, LSB lebih dahulu
Contoh / pembahasan: Frame terdiri dari 10 bit dan data umumnya dikirim LSB lebih dahulu.

Baud dan throughput

  1. Pada UART biner, baud menunjukkan laju simbol per detik.
  2. Overhead frame mengurangi laju payload dibanding laju bit.
101010101011Idle Start d0d1d2d3d4d5d6d7 Stop Idle8N1, 0x55, LSB lebih dahulu
Contoh / pembahasan: Nilai teoritis kontinu 8N1, belum termasuk jeda dan overhead aplikasi.

SPI

  1. Clock SCK menyinkronkan transfer bit.
  2. Jalur MOSI/MISO dan chip select melayani komunikasi umum.
SCKMOSI / MISOCS
Contoh / pembahasan: Topologi umum memungkinkan pertukaran dua arah serentak.

Mode SPI

  1. CPOL menentukan level idle clock.
  2. CPHA menentukan hubungan tepi clock dengan sampling.
CPOLCPHATepi sampling
Contoh / pembahasan: Controller dan target harus memakai mode yang kompatibel.

I2C

  1. SDA membawa data, SCL mengatur clock.
  2. Jalur memakai perilaku open-drain dan pull-up yang sesuai.
SDASCLAlamat target
Contoh / pembahasan: Kondisi listrik serta kapasitansi membatasi pengoperasian.

Transaksi I2C

  1. Controller memulai START dan mengirim alamat beserta bit R/W.
  2. Byte diikuti ACK/NACK, transaksi diakhiri STOP atau repeated START.
STARTAlamatData + ACK
Contoh / pembahasan: I2C dasar memakai 7 bit alamat, variasi 10 bit juga ada.

Pemilihan protokol

  1. UART sederhana untuk terminal atau pasangan perangkat.
  2. SPI dan I2C cocok untuk periferal dengan spesifikasi yang mendukungnya.
KebutuhanProtokolDatasheet
Contoh / pembahasan: Jumlah pin, target, dan timing memengaruhi pilihan.

Debug serial

  1. Periksa konfigurasi, ground/reference, pin, dan level.
  2. Gunakan pola data diketahui serta inspeksi status error.
0x55Analisis sinyalDecode
Contoh / pembahasan: Pola 0x55 memudahkan pengamatan pergantian bit.

Demonstrasi 1/4: Idle dan START UART

Contoh UART idle high, start bit bernilai 0.

1

0

Idle

Start

Frame 8N1, data=0x55

Animasi bergerak: buka animasi/index.html, pilih pertemuan 11.

1010101011d0d1d2d3d4d5d6d7StopIdle

Demonstrasi 2/4: Bit data awal

Bit dikirim LSB lebih dahulu.

1

0

Idle

Start

d0..d3 = 1,0,1,0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 11.

1010101011d0d1d2d3d4d5d6d7StopIdle

Demonstrasi 3/4: Bit data akhir

Penerima mengumpulkan semua delapan bit.

1

0

Idle

Start

d4..d7 = 1,0,1,0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 11.

1010101011d0d1d2d3d4d5d6d7StopIdle

Demonstrasi 4/4: Stop dan hasil

Stop bernilai 1, penerima merekonstruksi byte.

1

0

Idle

Start

Byte diterima=0x55

Animasi bergerak: buka animasi/index.html, pilih pertemuan 11.

1010101011d0d1d2d3d4d5d6d7StopIdle

Aktivitas kelas / praktikum

  1. Bandingkan UART, SPI, dan I2C untuk sensor plus tampilan.
  2. Gambar frame UART 8N1 untuk 0x55.
  3. Hitung waktu satu frame pada 9600 baud.

Cek pemahaman

  1. Berapa bit frame UART 8N1?
  2. Apa fungsi chip select SPI?
  3. Apa yang menyatakan penerimaan byte pada I2C?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. 10 bit: 1 start + 8 data + 1 stop.
  2. Memilih target dan membatasi transaksi sesuai protokol perangkat.
  3. ACK pada bit ke-9 untuk byte yang diakui.

Inti pertemuan

UART memakai framing tanpa clock bersama.

SPI memakai clock dan select, I2C memakai SDA/SCL serta alamat.

Konfigurasi protokol dan level listrik harus sesuai.

Catatan pengajar dan referensi

Animasi menunjukkan UART logika, bukan RS-232 dan bukan rangkaian kabel final. Waktu frame

teoritis 10/9600 detik, sekitar 1,042 ms. Aktifkan analisis sinyal per langkah.

Acuan cakupan: RPS pengguna, minggu 11.

Microchip, UART

https://www.microchip.com/en-us/products/microcontrollers/8-bit-mcus/peripherals/communication-connectivity/uart

Microchip, SPI Introduction

https://developerhelp.microchip.com/xwiki/bin/view/applications/SPI/

NXP, UM10204 rev. 7

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 12 β€” Dari Mikroprosesor ke Mikrokontroler (20 slide)

Dari Mikroprosesor ke Mikrokontroler

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Membedakan tingkat integrasi mikroprosesor, MCU, dan SoC
  2. Menjelaskan timer, counter, ADC, dan DAC
  3. Memilih komponen berdasarkan kebutuhan sistem

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Tingkat integrasi

  1. Mikroprosesor menitikberatkan pemrosesan CPU.
  2. MCU mengintegrasikan CPU, memori, dan periferal pada satu chip.
Contoh / pembahasan: Batas kategori tidak selalu mutlak pada produk modern.

Mikroprosesor dan MCU

  1. Sistem MPU sering mengandalkan memori atau komponen eksternal.
  2. MCU cocok untuk banyak tugas kendali dengan sumber daya terbatas.
MPUSistemMCU
Contoh / pembahasan: Pilihan harus melihat datasheet, bukan hanya label produk.

System-on-Chip

  1. SoC mengintegrasikan beberapa fungsi sistem.
  2. SoC dapat berisi CPU, akselerator, antarmuka, serta pengendali memori.
CPUSoCFungsi lain
Contoh / pembahasan: MCU juga merupakan bentuk integrasi sistem pada chip.

GPIO

  1. GPIO menyediakan input atau output digital.
  2. Mode pin dan fungsi alternatif menentukan perilakunya.
ArahLevelPin
Contoh / pembahasan: Satu pin dapat mempunyai beberapa fungsi yang dipilih konfigurasi.

Timer

  1. Timer menghitung pulsa clock yang dipilih.
  2. Prescaler mengurangi laju pulsa menuju counter.
ClockPrescalerCounter
Contoh / pembahasan: Sumber clock timer dapat berbeda dari clock CPU.

Counter

  1. Counter dapat menghitung kejadian dari sumber eksternal.
  2. Perbedaan timer/counter terutama terletak pada sumber pulsa.
Pulsa luarCounterJumlah
Contoh / pembahasan: Input capture dapat merekam waktu suatu kejadian.

ADC

  1. ADC mengubah tegangan analog menjadi kode digital.
  2. Resolusi membagi rentang input menjadi banyak level.
TeganganADCKode
Contoh / pembahasan: ADC 10 bit mempunyai 1.024 kode, 0 sampai 1.023.

DAC

  1. DAC mengubah kode digital menjadi sinyal analog.
  2. Tidak semua MCU menyediakan DAC hardware.
KodeDACTegangan
Contoh / pembahasan: PWM dengan filter bukan identik dengan DAC sejati.

PWM

  1. PWM mengatur proporsi waktu aktif dalam satu periode.
  2. Duty cycle berbeda dari frekuensi gelombang.
PeriodeWaktu aktifDuty cycle
Contoh / pembahasan: Duty 25% berarti aktif seperempat periode.

Pemilihan MCU

  1. Periksa memori, periferal, clock, pin, daya, dan alat.
  2. Pastikan kapasitas sesuai kebutuhan dengan ruang pengembangan.
KebutuhanDatasheetPilihan
Contoh / pembahasan: Tidak ada MCU terbaik untuk semua proyek.

Demonstrasi 1/4: Sinyal analog

Contoh sensor memberi tegangan dalam rentang ADC.

Sinyal analog

Progres demonstrasi

Vin=1,65 V, Vref=3,3 V

Animasi bergerak: buka animasi/index.html, pilih pertemuan 12.

SamplingKuantisasiPemakaian data

Demonstrasi 2/4: Sampling

ADC mengambil sampel ketika conversion dimulai.

Sinyal analog

Progres demonstrasi

ADC 10 bit, 1.024 level

Animasi bergerak: buka animasi/index.html, pilih pertemuan 12.

SamplingKuantisasiPemakaian data

Demonstrasi 3/4: Kuantisasi

Model ideal floor(Vin/Vref x 1024), dibatasi 0..1023.

Sinyal analog

Progres demonstrasi

Kode=512

Animasi bergerak: buka animasi/index.html, pilih pertemuan 12.

SamplingKuantisasiPemakaian data

Demonstrasi 4/4: Pemakaian data

Program mengolah kode untuk tampilan atau keputusan.

Sinyal analog

Progres demonstrasi

Kode setengah skala=512

Animasi bergerak: buka animasi/index.html, pilih pertemuan 12.

SamplingKuantisasiPemakaian data

Aktivitas kelas / praktikum

  1. Rancang alat pengukur dengan GPIO, timer, ADC, dan komunikasi.
  2. Hitung tick timer dengan asumsi clock 1 MHz.
  3. Jelaskan kapan DAC dibutuhkan dan kapan PWM cukup.

Cek pemahaman

  1. Berapa kode ADC 12 bit?
  2. Apa beda timer dan counter?
  3. Apakah semua MCU memiliki DAC?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. 4.096 kode, 0 sampai 4.095.
  2. Sumber pulsa: clock waktu dibanding kejadian yang dihitung.
  3. Tidak, fitur harus diperiksa pada datasheet.

Inti pertemuan

Integrasi MCU membantu membangun sistem kendali.

Timer/counter, ADC/DAC, dan GPIO memiliki tugas berbeda.

Resolusi, akurasi, dan laju sampling bukan hal yang sama.

Catatan pengajar dan referensi

Rumus ADC adalah model ideal dan tidak memodelkan offset/noise atau karakter transfer chip

tertentu. Step input tetap dalam rentang yang diasumsikan.

Acuan cakupan: RPS pengguna, minggu 12.

Microchip, AVR CPU Core

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/core/

Microchip, Timers

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8bit-pic/peripherals/timers/

Microchip, ADC Code Width

https://developerhelp.microchip.com/xwiki/bin/view/products/data-converters/adc-specs/code-width/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 13 β€” Antarmuka Sensor dan Aktuator (20 slide)

Antarmuka Sensor dan Aktuator

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Mengaitkan sensor dengan input digital atau analog
  2. Menjelaskan driver motor, relay, dan tampilan
  3. Menguji sistem input-proses-output secara bertahap

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Rantai sensor dan aktuator

  1. Sensor mengubah besaran fisik menjadi sinyal.
  2. Program memutuskan tindakan yang dijalankan aktuator.
Contoh / pembahasan: Pisahkan jalur informasi dari jalur daya.

Sensor suhu

  1. Sensor suhu dapat memiliki keluaran analog atau digital.
  2. Konversi nilai harus mengikuti karakteristik sensornya.
SuhuSinyalNilai
Contoh / pembahasan: Jangan menerapkan rumus satu sensor pada semua sensor suhu.

Sensor jarak

  1. Sensor jarak dapat memakai ultrasonik, optik, atau metode lain.
  2. Metode menentukan sinyal dan hubungan pengukurannya.
KirimTerimaJarak
Contoh / pembahasan: Ultrasonik: jarak = kecepatan suara x waktu pulang-pergi / 2.

Kalibrasi dan noise

  1. Bandingkan pembacaan dengan nilai acuan.
  2. Filter dapat mengurangi variasi tetapi menambah keterlambatan.
Data mentahFilterData olahan
Contoh / pembahasan: Rata-rata beberapa sampel tidak memperbaiki semua jenis kesalahan.

Motor DC

  1. Motor memerlukan arus yang biasanya melebihi kemampuan GPIO.
  2. Driver mengatur daya, PWM dapat mengatur proporsi aktif.
GPIODriverMotor
Contoh / pembahasan: Arah putaran dua arah sering memakai H-bridge.

Motor stepper

  1. Urutan aktivasi fase menghasilkan langkah.
  2. Driver dan mode langkah memengaruhi gerak serta torsi.
Urutan faseDriverLangkah
Contoh / pembahasan: Jumlah langkah tidak menjamin posisi aktual tanpa mempertimbangkan kehilangan langkah.

Relay

  1. Kumparan relay memerlukan driver yang sesuai.
  2. Beban induktif memerlukan penanganan tegangan balik sesuai rangkaian.
GPIODriverRelay
Contoh / pembahasan: Demonstrasi kelas menggunakan beban tegangan rendah.

LCD dan OLED

  1. Tampilan menerima data melalui antarmuka yang didukung.
  2. Inisialisasi dan pengiriman data mengikuti controller tampilan.
ProgramAntarmukaTampilan
Contoh / pembahasan: Modul berukuran sama belum tentu memakai controller sama.

Debounce dan hysteresis

  1. Debounce mengurangi pembacaan ganda akibat kontak tombol.
  2. Hysteresis mencegah output berganti cepat di sekitar ambang.
Ambang ONDaerah stabilAmbang OFF
Contoh / pembahasan: Contoh kipas ON >=30 C dan OFF <=28 C.

Pengujian bertahap

  1. Uji sensor, keputusan, lalu aktuator secara terpisah.
  2. Catat data input dan perubahan output pada batas kondisi.
InputKeputusanOutput
Contoh / pembahasan: Uji tepat di bawah, sama dengan, dan di atas ambang.

Demonstrasi 1/4: Suhu rendah

Nilai awal berada di bawah ambang ON.

Suhu rendah

Progres demonstrasi

T=27 C, kipas OFF

Animasi bergerak: buka animasi/index.html, pilih pertemuan 13.

Suhu naikDaerah hysteresisSuhu turun

Demonstrasi 2/4: Suhu naik

Suhu mencapai ambang untuk menyalakan kipas.

Suhu rendah

Progres demonstrasi

T=30 C, kipas ON

Animasi bergerak: buka animasi/index.html, pilih pertemuan 13.

Suhu naikDaerah hysteresisSuhu turun

Demonstrasi 3/4: Daerah hysteresis

Suhu turun tetapi belum mencapai ambang OFF.

Suhu rendah

Progres demonstrasi

T=29 C, kipas tetap ON

Animasi bergerak: buka animasi/index.html, pilih pertemuan 13.

Suhu naikDaerah hysteresisSuhu turun

Demonstrasi 4/4: Suhu turun

Ambang OFF tercapai, output dinonaktifkan.

Suhu rendah

Progres demonstrasi

T=28 C, kipas OFF

Animasi bergerak: buka animasi/index.html, pilih pertemuan 13.

Suhu naikDaerah hysteresisSuhu turun

Aktivitas kelas / praktikum

  1. Rancang pengendali kipas dengan hysteresis.
  2. Gambar sensor, MCU, driver, dan motor.
  3. Susun tabel uji termasuk kegagalan sensor.

Cek pemahaman

  1. Mengapa motor membutuhkan driver?
  2. Apa guna hysteresis?
  3. Jika waktu echo 2 ms dan v=343 m/s, berapa jarak?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Motor memerlukan daya dan karakter beban yang tidak dapat langsung ditangani GPIO.
  2. Mencegah output cepat ON/OFF di sekitar satu ambang.
  3. 343 x 0,002 / 2 = 0,343 m atau 34,3 cm pada asumsi tersebut.

Inti pertemuan

Sensor menghasilkan data, program menentukan tindakan.

Driver menghubungkan sinyal kontrol dengan beban.

Pengujian batas dan hysteresis membuat perilaku lebih jelas.

Catatan pengajar dan referensi

Contoh ambang adalah rancangan pembelajaran, bukan spesifikasi alat komersial. Rumus

ultrasonik mengasumsikan kecepatan suara dan lintasan sederhana. Baca datasheet sensor serta

driver yang dipakai.

Acuan cakupan: RPS pengguna, minggu 13.

Microchip, ADC Code Width

https://developerhelp.microchip.com/xwiki/bin/view/products/data-converters/adc-specs/code-width/

Microchip, Timers

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8bit-pic/peripherals/timers/

Microchip, SPI Introduction

https://developerhelp.microchip.com/xwiki/bin/view/applications/SPI/

NXP, UM10204 rev. 7

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 14 β€” Embedded C dan Manipulasi Register (20 slide)

Embedded C dan Manipulasi Register

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Menggunakan mask untuk set, clear, toggle, dan test bit
  2. Menjelaskan akses register serta volatile
  3. Mengaitkan kode C dengan efek hardware

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

C dan hardware

  1. Embedded C menghubungkan operasi program dengan register perangkat.
  2. Alamat dan nama register berasal dari header serta datasheet.
Contoh / pembahasan: Contoh modul ini memakai register model generik, bukan alamat chip nyata.

Representasi bit

  1. Bilangan unsigned memudahkan operasi mask.
  2. Bit ke-n memiliki bobot 2^n.
REG00001000765432100x08 = 8 desimal
Contoh / pembahasan: Pilih tipe integer dengan lebar yang diketahui.

Set bit

  1. OR dengan mask memasang bit terpilih.
  2. Bit lain tetap sesuai nilai semula.
REG00011000765432100x18 = 24 desimal
Contoh / pembahasan: REG |= (1u << 3) memasang bit 3.

Clear bit

  1. AND dengan komplemen mask menghapus bit terpilih.
  2. Batasi lebar mask agar sesuai register.
REG00001000765432100x08 = 8 desimal
Contoh / pembahasan: Gunakan tipe unsigned dan cast lebar register bila diperlukan.

Toggle bit

  1. XOR membalik bit yang mask-nya 1.
  2. XOR dengan mask yang sama dua kali mengembalikan nilai.
REG00000000765432100x00 = 0 desimal
Contoh / pembahasan: REG ^= (1u << 3) membalik bit 3.

Test bit

  1. AND dengan mask menguji bit terpilih.
  2. Hasil nol berarti seluruh bit dalam mask tidak aktif.
REG00001000765432100x08 = 8 desimal
Contoh / pembahasan: if ((REG & mask) != 0u) memeriksa bit yang dipilih.

Field beberapa bit

  1. Hapus field lama sebelum memasang field baru.
  2. Geser nilai ke posisi field dan batasi dengan mask.
Clear fieldShiftOR
Contoh / pembahasan: Nilai field harus berada dalam rentang yang sah.

volatile

  1. volatile menjaga akses sesuai aturan objek volatile bahasa C.
  2. Ia tidak menjamin atomicity atau urutan seluruh transaksi hardware.
ProgramAkses objekPerangkat
Contoh / pembahasan: Gunakan header vendor dan aturan compiler untuk register nyata.

Read-modify-write

  1. REG |= mask biasanya membaca, mengubah, lalu menulis.
  2. ISR atau hardware dapat mengubah nilai di antara langkah.
ReadModifyWrite
Contoh / pembahasan: Gunakan register SET/CLR atau mekanisme atomik jika tersedia.

Perilaku register khusus

  1. Register dapat read-only, write-only, atau write-one-to-clear.
  2. Operasi mask biasa tidak cocok untuk semua perilaku.
DatasheetJenis aksesKode
Contoh / pembahasan: Jangan melakukan read-modify-write sembarang pada flag W1C.

Demonstrasi 1/4: Keadaan awal

Model register unsigned 8 bit dimulai pada 0x10.

REG=00010000

Animasi bergerak: buka animasi/index.html, pilih pertemuan 14.

Model register 8 bit00010000765432100x10 = 16 desimal

Demonstrasi 2/4: Set bit 3

OR dengan 0x08 memasang bit tanpa menghapus bit 4.

REG=00011000 / 0x18

Animasi bergerak: buka animasi/index.html, pilih pertemuan 14.

Model register 8 bit00011000765432100x18 = 24 desimal

Demonstrasi 3/4: Clear bit 4

Mask clear menghapus bit 4 pada lebar 8 bit.

REG=00001000 / 0x08

Animasi bergerak: buka animasi/index.html, pilih pertemuan 14.

Model register 8 bit00001000765432100x08 = 8 desimal

Demonstrasi 4/4: Toggle bit 3

XOR dengan 0x08 membalik bit 3 kembali ke nol.

REG=00000000 / 0x00

Animasi bergerak: buka animasi/index.html, pilih pertemuan 14.

Model register 8 bit00000000765432100x00 = 0 desimal

Aktivitas kelas / praktikum

  1. Tulis operasi set bit 2 dan clear bit 5 pada register uint8_t.
  2. Hitung hasil awal 0x20 setelah kedua operasi.
  3. Jelaskan apakah kode aman untuk register W1C.

Cek pemahaman

  1. Apa hasil 0x10 OR 0x08?
  2. Apa hasil 0x18 AND 0xEF?
  3. Mengapa volatile tidak cukup untuk ISR dan main?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. 0x18.
  2. 0x08.
  3. Operasi majemuk dapat terinterupsi, volatile tidak membuatnya atomik.

Inti pertemuan

Mask mengubah bit terpilih dengan operasi logika.

Lebar tipe dan perilaku register harus diketahui.

volatile, atomicity, dan sinkronisasi adalah hal berbeda.

Catatan pengajar dan referensi

Potongan C adalah model operasi uint8_t, bukan firmware siap flash. Contoh lengkap menyertakan

cast untuk lebar 8 bit. Pembelajaran harus tetap memakai datasheet target pada praktik hardware.

Acuan cakupan: RPS pengguna, minggu 14.

Microchip, AVR CPU Core

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/structure/core/

Microchip, AVR Interrupts

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/peripherals/interrupts/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 15 β€” Presentasi dan Demo Proyek Akhir (20 slide)

Presentasi dan Demo Proyek Akhir

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Mendemonstrasikan sistem sesuai rancangan
  2. Menjelaskan integrasi hardware dan software
  3. Menyajikan bukti uji serta keterbatasan proyek

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Tujuan demo

  1. RPS meminta demonstrasi alat atau simulasi yang dirancang.
  2. Demo harus memperlihatkan fungsi serta bukti pengujiannya.
Contoh / pembahasan: Simulasi merupakan pilihan yang disebut dalam RPS.

Rumusan masalah

  1. Jelaskan pengguna, kebutuhan, input, dan output.
  2. Nyatakan perilaku yang dapat diamati atau diukur.
KebutuhanPerilakuUkuran
Contoh / pembahasan: Contoh: kipas mengikuti suhu dengan dua ambang.

Diagram sistem

  1. Tampilkan sensor, prosesor/MCU, antarmuka, dan aktuator.
  2. Bedakan jalur data, sinyal kontrol, serta daya.
SensorMCUDriver
Contoh / pembahasan: Diagram blok tidak menggantikan skematik rinci.

Pilihan komponen

  1. Hubungkan pilihan komponen dengan kebutuhan sistem.
  2. Catat batas tegangan, memori, pin, dan komunikasi.
KebutuhanKomponenAlasan
Contoh / pembahasan: Beri alasan mengapa protokol tertentu dipakai.

Organisasi software

  1. Pisahkan inisialisasi, pembacaan, keputusan, dan output.
  2. Jelaskan polling, ISR, atau state machine yang digunakan.
InitInputOutput
Contoh / pembahasan: Nama fungsi sebaiknya sesuai tanggung jawabnya.

Rencana pengujian

  1. Setiap fungsi utama mempunyai input dan hasil harapan.
  2. Sertakan batas serta kegagalan yang dapat dimodelkan.
Input ujiHarapanAktual
Contoh / pembahasan: Tabel uji menyatakan lulus hanya jika bukti mendukung.

Demo yang dapat diulang

  1. Tetapkan keadaan awal sebelum menjalankan demonstrasi.
  2. Gunakan urutan kasus yang sama untuk perbandingan.
ResetKasus ujiHasil
Contoh / pembahasan: Demo acak dapat menyembunyikan kondisi gagal.

Analisis kegagalan

  1. Pisahkan kegagalan sensor, komunikasi, logika, dan output.
  2. Tunjukkan strategi pemulihan atau perilaku fallback.
GejalaPenyebabRespons
Contoh / pembahasan: Klaim perbaikan harus diuji ulang.

Laporan dan kontribusi

  1. Sertakan diagram, kode, tabel uji, dan kesimpulan.
  2. Jelaskan peran anggota serta kontribusi teknis.
ArtefakKontribusiPenjelasan
Contoh / pembahasan: Ketentuan kerja kelompok mengikuti dosen.

Umpan balik proyek

  1. Diskusikan ketepatan fungsi, alasan desain, dan bukti.
  2. Bobot proyek sesuai RPS 20%, rubrik detail ditetapkan dosen.
FungsiDesainBukti
Contoh / pembahasan: Kriteria di materi ini adalah panduan latihan, bukan rubrik resmi.

Demonstrasi 1/4: Keadaan awal demo

Reset dan nyatakan kondisi input sebelum demonstrasi.

Keadaan awal demo

Progres demonstrasi

Suhu=27 C, kipas OFF

Animasi bergerak: buka animasi/index.html, pilih pertemuan 15.

Kasus normalKasus batasBukti akhir

Demonstrasi 2/4: Kasus normal

Input mencapai kondisi yang dirancang.

Keadaan awal demo

Progres demonstrasi

Suhu=30 C, kipas ON

Animasi bergerak: buka animasi/index.html, pilih pertemuan 15.

Kasus normalKasus batasBukti akhir

Demonstrasi 3/4: Kasus batas

Input di antara ambang menguji hysteresis.

Keadaan awal demo

Progres demonstrasi

Suhu=29 C, kipas tetap ON

Animasi bergerak: buka animasi/index.html, pilih pertemuan 15.

Kasus normalKasus batasBukti akhir

Demonstrasi 4/4: Bukti akhir

Bandingkan respons dengan tabel uji dan jelaskan kesimpulan.

Keadaan awal demo

Progres demonstrasi

Suhu=28 C, kipas OFF

Animasi bergerak: buka animasi/index.html, pilih pertemuan 15.

Kasus normalKasus batasBukti akhir

Aktivitas kelas / praktikum

  1. Susun demo berdurasi sesuai waktu dari dosen.
  2. Siapkan tiga kasus fungsi dan satu kasus gagal.
  3. Lengkapi tabel hasil aktual serta bukti yang dapat ditinjau.

Cek pemahaman

  1. Apa perbedaan demo dan bukti uji?
  2. Mengapa keadaan awal perlu dicatat?
  3. Bagaimana menjelaskan keterbatasan proyek?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Demo memperlihatkan perilaku, bukti uji membandingkan input, harapan, dan hasil secara tercatat.
  2. Agar hasil dapat direproduksi dan dibandingkan.
  3. Nyatakan batas input, asumsi, serta kondisi yang belum diuji.

Inti pertemuan

Proyek menyatukan hardware dan software.

Demo yang dapat diulang memudahkan penilaian.

Bukti uji harus mendukung klaim fungsi.

Catatan pengajar dan referensi

Gunakan sesi ini untuk demonstrasi dan tanya jawab sesuai RPS. Jangan mengubah komposisi

penilaian. Bantu mahasiswa menghubungkan setiap klaim dengan bukti.

Acuan cakupan: RPS pengguna, minggu 15.

Keil, Debugger Simulation

https://www.keil.com/support/man/docs/uv4/uv4_dg_debug.asp

Microchip, ADC Code Width

https://developerhelp.microchip.com/xwiki/bin/view/products/data-converters/adc-specs/code-width/

Microchip, Timers

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8bit-pic/peripherals/timers/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

Pertemuan 16 β€” UAS - Evaluasi Integrasi Sistem (20 slide)

UAS - Evaluasi Integrasi Sistem

Mikroprosesor dan Mikrokontroler

Rekayasa Sistem Komputer

RSK-2104 - Materi sesuai RPS

Tujuan dan alur pertemuan

  1. Meninjau interfacing, interupsi, komunikasi, dan Embedded C
  2. Menganalisis kegagalan hardware-software
  3. Menyampaikan solusi beserta bukti uji

10 pokok bahasan, demonstrasi 4 langkah, latihan, dan pembahasan.

Cakupan UAS

  1. RPS mengevaluasi integrasi sistem, interfacing, dan pemecahan masalah.
  2. Bagian ini menyediakan latihan, bukan soal resmi.
Contoh / pembahasan: UAS dapat berupa proyek atau tertulis sesuai RPS.

Kasus arsitektur

  1. Pilih organisasi memori yang sesuai kebutuhan.
  2. Jelaskan jalur instruksi/data dan keterbatasannya.
KebutuhanOrganisasiAlasan
Contoh / pembahasan: Pembahasan harus menyebut asumsi dan karakter sistem.

Kasus MMIO

  1. Sensor tersedia melalui register status dan data.
  2. Rancang pembacaan dengan kesiapan dan timeout.
StatusDataTimeout
Contoh / pembahasan: Pembahasan: jangan menunggu tanpa batas bila perangkat gagal.

Kasus interupsi

  1. UART menerima data sementara main mengendalikan motor.
  2. Pisahkan pencatatan data cepat dari pengolahan panjang.
UARTISRBuffer
Contoh / pembahasan: Pembahasan: ISR singkat, buffer dan akses bersama dikelola.

Kasus UART

  1. Perangkat menggunakan baud atau framing berbeda.
  2. Tentukan pemeriksaan untuk data yang rusak.
BaudFramingLevel
Contoh / pembahasan: Pembahasan: cocokkan konfigurasi dan pola data uji.

Kasus SPI dan I2C

  1. SPI gagal jika sampling tidak cocok dengan mode target.
  2. I2C perlu alamat, ACK, dan kondisi bus yang benar.
Mode SPIAlamat I2CACK
Contoh / pembahasan: Pembahasan mengikuti datasheet masing-masing perangkat.

Kasus ADC

  1. Sinyal analog melebihi asumsi rentang ADC.
  2. Tentukan pembatasan, kalibrasi, dan pengujian yang diperlukan.
InputRentangKode
Contoh / pembahasan: Pembahasan: kode tidak cukup untuk menyimpulkan nilai fisik tanpa model sensor.

Kasus aktuator

  1. Keluaran GPIO tidak dapat langsung menggerakkan motor.
  2. Tentukan driver serta perilaku aman yang dirancang.
GPIODriverMotor
Contoh / pembahasan: Pembahasan membedakan sinyal kontrol dan daya beban.

Kasus Embedded C

  1. Main dan ISR mengubah register yang sama.
  2. Analisis read-modify-write serta atomicity.
ReadInterupsiWrite
Contoh / pembahasan: Pembahasan: volatile bukan pengganti operasi atomik.

Kasus pengujian

  1. Perangkat bekerja pada input normal tetapi gagal di batas.
  2. Susun uji bawah, sama dengan, dan atas ambang.
NormalBatasGagal
Contoh / pembahasan: Pembahasan harus menunjukkan hasil harapan dan aktual.

Demonstrasi 1/4: Gejala

Sensor tidak memperbarui nilai, program terlihat macet.

Gejala

Progres demonstrasi

STATUS.READY selalu 0

Animasi bergerak: buka animasi/index.html, pilih pertemuan 16.

HipotesisPerbaikan rancanganVerifikasi

Demonstrasi 2/4: Hipotesis

Periksa konfigurasi dan kemungkinan komunikasi gagal.

Gejala

Progres demonstrasi

Mode / kabel / status

Animasi bergerak: buka animasi/index.html, pilih pertemuan 16.

HipotesisPerbaikan rancanganVerifikasi

Demonstrasi 3/4: Perbaikan rancangan

Tambahkan timeout dan status error yang dapat diamati.

Gejala

Progres demonstrasi

Batas waktu tercapai

Animasi bergerak: buka animasi/index.html, pilih pertemuan 16.

HipotesisPerbaikan rancanganVerifikasi

Demonstrasi 4/4: Verifikasi

Uji kondisi normal dan gagal setelah perubahan.

Gejala

Progres demonstrasi

Normal pulih, gagal dilaporkan

Animasi bergerak: buka animasi/index.html, pilih pertemuan 16.

HipotesisPerbaikan rancanganVerifikasi

Aktivitas kelas / praktikum

  1. Analisis satu sistem sensor-MCU-driver-output.
  2. Tuliskan satu kegagalan pada tiap lapisan.
  3. Usulkan pengujian dan bukti untuk setiap perbaikan.

Cek pemahaman

  1. Mengapa ISR perlu singkat?
  2. Apa yang diperiksa saat I2C tidak ACK?
  3. Apa bukti minimum bahwa perbaikan berhasil?

Pembahasan tersedia di halaman berikutnya.

Pembahasan dan ringkasan

  1. Mengurangi latensi layanan lain dan menjaga respons sistem.
  2. Alamat, daya/level, wiring, pull-up, kondisi timing, dan status sesuai datasheet.
  3. Kasus gagal sebelumnya diuji ulang serta kasus normal tetap lulus.

Inti pertemuan

Integrasi yang benar memerlukan perangkat, program, dan timing yang cocok.

Diagnosis memisahkan gejala dari penyebab.

Kesimpulan akhir harus didukung hasil pengujian.

Catatan pengajar dan referensi

Laksanakan evaluasi sesuai ketentuan dosen. Materi ini merupakan ulasan dan latihan integrasi,

tidak menetapkan durasi, bobot butir, atau kunci ujian resmi.

Acuan cakupan: RPS pengguna, minggu 16.

Microchip, AVR Interrupts

https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/peripherals/interrupts/

Microchip, UART

https://www.microchip.com/en-us/products/microcontrollers/8-bit-mcus/peripherals/communication-connectivity/uart

Microchip, SPI Introduction

https://developerhelp.microchip.com/xwiki/bin/view/applications/SPI/

NXP, UM10204 rev. 7

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Microchip, ADC Code Width

https://developerhelp.microchip.com/xwiki/bin/view/products/data-converters/adc-specs/code-width/

Ilustrasi AI bersifat konseptual. Diagram dan contoh dirancang untuk pembelajaran.

PDF menampilkan tahap statis; animasi bergerak tersedia pada pendamping offline.

πŸ“š Referensi

  1. Hennessy, J. L. & Patterson, D. A. Computer Architecture: A Quantitative Approach. Morgan Kaufmann.
  2. Brey, B. B. The Intel Microprocessors: Architecture, Programming, and Interfacing. Pearson.
  3. Hall, D. V. Microprocessors and Interfacing: Programming and Hardware. McGraw-Hill.
  4. Intel. 8086 Family User's Manual; 8255A dan 8254 datasheets.

Definisi istilah

Disimpan di browser ini. Klik istilah yang ditandai untuk mengubah atau menghapus penjelasan.