Minggu 1 Teori Dasar

Bab 1: Pengantar Sistem Mikroprosesor

Memahami apa itu mikroprosesor, bagaimana posisinya dalam sistem komputasi, dan membedakannya dari komponen sejenis.

Capaian Pembelajaran Bab Ini

Setelah mempelajari bab ini, mahasiswa mampu menjelaskan perbedaan mikroprosesor, mikrokontroler, dan komponen sejenis; mendeskripsikan arsitektur Von Neumann dan Harvard; serta mengidentifikasi komponen-komponen utama dalam sistem mikroprosesor beserta fungsinya.

1.1 Apa Itu Mikroprosesor?

Mikroprosesor adalah sebuah Integrated Circuit (IC) yang mengandung seluruh fungsi Central Processing Unit (CPU) di dalam satu chip silikon. Mikroprosesor bertugas menjalankan instruksi-instruksi program yang tersimpan di memori, melakukan operasi aritmatika dan logika, serta mengendalikan alur data dalam sistem komputer.

Istilah "mikro" merujuk pada dimensi fisiknya yang sangat kecil. Seluruh CPU yang pada era komputer generasi pertama membutuhkan sebuah ruangan besar penuh tabung vakum, kini bisa muat dalam satu keping silikon berukuran beberapa milimeter persegi.

"Mikroprosesor adalah otak dari setiap sistem komputer. Tanpa mikroprosesor, tidak ada smartphone, laptop, atau perangkat digital modern."

— Barry B. Brey, The Intel Microprocessors

Dalam mata kuliah ini, kita menggunakan Intel 8086 sebagai mikroprosesor rujukan. Alasannya: instruksinya klasik dan mudah dipelajari, banyak simulator gratis tersedia, dan arsitekturnya menjadi fondasi arsitektur x86 yang masih digunakan hingga hari ini di processor modern (Intel Core, AMD Ryzen, dan lainnya).

Mengapa 8086, bukan yang lebih baru? Memulai dari 8086 memberikan pemahaman fundamental yang kuat. Setelah memahami 8086, Anda akan lebih mudah memahami processor modern karena banyak konsep dasarnya tetap sama (register, instruksi, mode pengalamatan, interupsi).

1.2 Evolusi Mikroprosesor

Memahami sejarah membantu kita menghargai kompleksitas mikroprosesor modern dan melihat mengapa 8086 menjadi tonggak penting dalam dunia komputasi.

TahunProsesorBitTransistorMemoriCatatan
197140044-bit2.300640 byteMikroprosesor pertama di dunia, oleh Intel
197280088-bit3.50016 KBProsesor 8-bit pertama Intel
197480808-bit6.00064 KBDigunakan di komputer Altair 8800
197680858-bit6.50064 KBVersi penyempurnaan 8080, hanya perlu +5V
1978808616-bit29.0001 MBCikal bakal arsitektur x86
1979808816-bit*29.0001 MBBus data 8-bit, dipakai IBM PC
19828028616-bit134.00016 MBProtected mode pertama
19858038632-bit275.0004 GBArsitektur 32-bit (x86-32/i386)

*8088 secara internal merupakan prosesor 16-bit, namun bus data eksternalnya hanya 8-bit, sehingga mengurangi biaya produksi. Ini yang membuat IBM memilihnya untuk PC pertama.

4004
'71
8008
'72
8080
'74
8085
'76
8086
'78
8088
'79
286
'82
386
'85
Tinggi bar proporsional terhadap jumlah transistor (skala ilustrasi)

1.3 Mikroprosesor vs Mikrokontroler vs MPU vs SoC

Istilah-istilah ini sering membingungkan mahasiswa. Berikut perbandingan jelasnya dalam satu tabel:

AspekMikroprosesorMikrokontrolerMPUSoC
Definisi CPU saja dalam satu chip CPU + memori + I/O dalam satu chip Istilah umum untuk processor di perangkat mobile Seluruh sistem komputer dalam satu chip
Komponen Hanya ALU, CU, Register CPU, RAM, ROM, Timer, UART, GPIO CPU + cache + MMU CPU, GPU, RAM, NPU, modem, dll.
Memori Eksternal Wajib Tidak wajib (built-in) Wajib Tidak wajib
Harga per unit Mahal (Rp500rb–10jt+) Murah (Rp5rb–100rb) Mahal Mahal
Contoh 8086, Core i7, Ryzen 8051, ATmega328, STM32 Snapdragon 8 Gen 3 Apple M-series, Snapdragon
Aplikasi PC, server, laptop Embedded system, IoT, robotika Smartphone, tablet Smartphone, Raspberry Pi, TV

Catatan: Batas antara MPU dan SoC semakin blur di era modern. Qualcomm Snapdragon 8 Gen 3 misalnya, sering disebut sebagai SoC karena mengintegrasikan CPU, GPU, NPU, ISP, modem 5G, dan WiFi dalam satu chip.

Analogi Sederhana

Mikroprosesor = Otak di meja kerja

Butuh lemari arsip terpisah (RAM), buku manual terpisah (ROM), dan asisten terpisah (I/O) untuk bekerja.

Mikrokontroler = Otak di dalam robot

Sudah membawa memori kecil dan kemampuan gerak di dalam tubuhnya sendiri. Mandiri, tapi kapasitas terbatas.

1.4 Arsitektur Von Neumann vs Harvard

Ada dua arsitektur dasar yang menjadi fondasi desain mikroprosesor. Pemahaman ini penting karena mempengaruhi performa dan kompleksitas sistem.

Arsitektur Von Neumann

CPU (ALU + CU + Register)
Alamat
Data
Kontrol
Memori Utama
Instruksi + Data (campuran)
  • Satu memori untuk instruksi DAN data
  • Satu bus data bersama → Von Neumann Bottleneck
  • Desain lebih sederhana dan murah
  • Digunakan: 8086, PC umum, laptop

Arsitektur Harvard

CPU (ALU + CU + Register)
Bus Instruksi
Memori Instruksi
Bus Data
Memori Data
  • Memori terpisah untuk instruksi dan data
  • Dua bus data → lebih cepat, tidak ada bottleneck
  • Desain lebih kompleks dan mahal
  • Digunakan: DSP, Arduino (ATmega), ARM

Apa itu Von Neumann Bottleneck?

Pada arsitektur Von Neumann, CPU tidak bisa mengambil instruksi dan membaca/menulis data secara bersamaan karena keduanya menggunakan satu bus data yang sama. Ini seperti satu jalan yang dipakai bergantian oleh dua arah kendaraan — harus antri.

Fetch instruksi
→ lalu →
Baca/tulis data

Tidak bisa simultan — harus bergantian

1.5 Komponen Sistem Mikroprosesor

Sebuah sistem mikroprosesor yang lengkap dan fungsional terdiri dari empat komponen utama yang saling terhubung melalui bus sistem:

1

Mikroprosesor (CPU)

Otak sistem. Melakukan fetch (ambil), decode (terjemah), dan execute (jalankan) instruksi. Mengandung ALU untuk operasi aritmatika/logika, CU untuk kendali, dan register untuk penyimpanan sementara.

2

Memori (RAM & ROM)

RAM (Random Access Memory) menyimpan data dan instruksi sementara saat program berjalan — isinya hilang saat power dimatikan (volatile). ROM/EPROM menyimpan program boot dan data permanen — tetap ada meski power dimatikan (non-volatile).

3

Perangkat I/O (Input/Output)

Keyboard, monitor, printer, sensor, aktuator, motor, LED, dan lainnya. Mikroprosesor berkomunikasi dengan perangkat I/O melalui chip antarmuka khusus seperti 8255 (PPI untuk I/O paralel) atau 8251 (USART untuk komunikasi serial).

4

Bus Sistem

Jalur komunikasi paralel yang menghubungkan semua komponen. Terdiri dari tiga sub-bus:

  • Bus Alamat Menentukan lokasi memori/I/O yang akan diakses. Unidireksional (CPU → Memori/I/O). Pada 8086 berukuran 20 bit.
  • Bus Data Membawa data antara CPU dan memori/I/O. Bidireksional. Pada 8086 berukuran 16 bit.
  • Bus Kontrol Membawa sinyal kendali (READ, WRITE, CLK, INT, RESET). Unidireksional.

1.6 Diagram Blok Sistem Mikroprosesor

Berikut diagram blok umum sistem mikroprosesor 8086 yang menunjukkan bagaimana keempat komponen utama terhubung melalui tiga bus:

MIKROPROSESOR 8086
EU + BIU + Register Internal
Bus Alamat (20 bit)
Bus Data (16 bit)
Bus Kontrol
RAM
Data & Instruksi
(Volatile)
ROM
Program Boot
(Non-Volatile)
Port I/O
8255, 8251
(Chip Antarmuka)
↓   ↓   ↓
Keyboard
Mouse
Monitor
Printer
LED, Motor
Sensor, ADC

Gambar 1.1: Diagram blok sistem mikroprosesor 8086 dengan komponen pendukung dan perangkat I/O.

1.7 Contoh Aplikasi Mikroprosesor

Mikroprosesor ada di mana-mana dalam kehidupan modern. Berikut beberapa contoh nyata:

Komputer Desktop & Laptop

Intel Core, AMD Ryzen — turunan langsung arsitektur x86 yang dimulai dari 8086.

Server & Data Center

Intel Xeon, AMD EPYC — menangani miliaran instruksi per detik untuk melayani internet.

Konsol Game

PS5 (AMD Zen 2), Xbox (custom x86) — menggunakan arsitektur x86 yang sama.

Sistem Kendali Industri

PLC, CNC machine — menggunakan prosesor khusus untuk kontrol real-time.

Embedded x86

Mesin ATM, ticketing system, mesin POS — sering menggunakan prosesor x86 embedded.

Mikrokontroler (perbandingan)

Arduino, ESP32 — ini menggunakan mikrokontroler, bukan mikroprosesor. Tapi prinsip dasarnya sama.

1.8 Program Pertama: Hello World

Berikut program Assembly 8086 pertama yang menampilkan teks "HELLO WORLD" di layar menggunakan interupsi DOS (INT 21H). Anda belum perlu memahami setiap baris — ini hanya untuk memberi gambaran seperti apa kode Assembly yang akan kita pelajari di bab-bab berikutnya.

Assembly 8086
.model small
.stack 100h

.data
    pesan  db 'HELLO WORLD$'     ; string diakhiri karakter '$'

.code
mulai:
    MOV  AX, @data          ; isi AX dengan alamat segmen data
    MOV  DS, AX              ; set DS agar menunjuk ke segmen data

    MOV  AH, 09h             ; AH = 09h: fungsi tampilkan string DOS
    LEA  DX, pesan           ; DX = alamat string "HELLO WORLD"
    INT  21h                 ; panggil interupsi DOS

    MOV  AH, 4Ch             ; AH = 4Ch: fungsi akhiri program
    INT  21h                 ; panggil interupsi DOS

end mulai                     ; akhir program, titik masuk: 'mulai'

Kode 1.1: Program "Hello World" dalam Assembly 8086.

Penjelasan Singkat (Preview)

.model small Menentukan model memori. small = satu segmen kode (64KB) + satu segmen data (64KB).
.stack 100h Mengalokasikan 256 byte (100 heksadesimal) untuk stack.
.data Awal segmen data — tempat mendeklarasikan variabel dan konstanta.
db '...$' db = define byte. Karakter $ adalah penanda akhir string untuk fungsi 09h.
.code Awal segmen kode — tempat menulis instruksi program.
MOV AX, @data Mengisi register AX dengan alamat segmen data. Detailnya di Bab 4 dan 6.
INT 21h Interupsi DOS — memanggil layanan sistem operasi. AH menentukan layanan mana (09h=tulis, 4Ch=selesai). Detailnya di Bab 12.

Jangan khawatir jika belum memahami semua kode di atas. Pada bab-bab berikutnya, setiap instruksi (MOV, LEA, INT) akan dibahas satu per satu secara mendetail.

1.9 Soal Latihan

Kerjakan soal-soal berikut untuk menguji pemahaman Anda. Klik "Lihat jawaban" setelah mencoba menjawab sendiri.

Soal 1. Jelaskan perbedaan utama antara arsitektur Von Neumann dan Harvard. Sebutkan masing-masing satu contoh prosesor yang menggunakannya.

Lihat jawaban

Von Neumann menggunakan satu memori tunggal untuk menyimpan instruksi dan data, dengan satu bus data yang menjadi bottleneck. Contoh: Intel 8086. Harvard menggunakan memori terpisah untuk instruksi dan data, dengan dua bus data sehingga bisa mengambil instruksi dan data secara simultan. Contoh: ATmega328P (Arduino Uno).

Soal 2. Mengapa Intel 8086 dipilih sebagai prosesor rujukan dalam pembelajaran, padahal sudah ada prosesor yang jauh lebih modern?

Lihat jawaban

Karena (1) set instruksi 8086 relatif sederhana dan mudah dipahami sebagai fondasi, (2) arsitekturnya menjadi fondasi x86 yang masih digunakan processor modern sehingga konsepnya relevan, (3) banyak simulator gratis tersedia (emu8086), dan (4) komunitas dan referensinya sangat melimpah dibandingkan prosesor lain.

Soal 3. Sebutkan tiga jenis bus dalam sistem mikroprosesor dan jelaskan fungsi masing-masing.

Lihat jawaban

Bus Alamat: Menentukan lokasi memori atau port I/O yang akan diakses. Unidireksional (dari CPU ke memori/I/O). Lebar bus alamat menentukan kapasitas memori yang dapat diakses.
Bus Data: Membawa data yang dibaca atau ditulis antara CPU dan memori/I/O. Bidireksional. Lebar bus data menentukan berapa bit data yang dapat ditransfer sekaligus.
Bus Kontrol: Membawa sinyal kendali seperti READ, WRITE, clock, interrupt, reset. Mengkoordinasikan timing dan operasi seluruh sistem.

Soal 4. Apa perbedaan antara mikroprosesor dan mikrokontroler? Berikan contoh masing-masing.

Lihat jawaban

Mikroprosesor hanyalah CPU saja dalam satu chip — membutuhkan komponen eksternal (RAM, ROM, I/O) untuk berfungsi. Contoh: Intel Core i7, AMD Ryzen. Mikrokontroler sudah mengintegrasikan CPU, RAM, ROM, timer, UART, dan GPIO dalam satu chip sehingga bisa berdiri sendiri. Contoh: ATmega328P (Arduino Uno), STM32, ESP32.

Soal 5. Hitung berapa jumlah alamat memori yang dapat diakses oleh prosesor dengan bus alamat 20-bit. Nyatakan dalam KB dan MB.

Lihat jawaban

Bus alamat 20-bit menghasilkan 220 = 1.048.576 alamat unik. Dalam kilobyte: 1.048.576 / 1024 = 1.024 KB. Dalam megabyte: 1.024 / 1024 = 1 MB. Inilah mengapa 8086 disebut mampu mengakses memori 1 MB.

1.10 Kuis Bab 1

Uji pemahaman Anda. Pilih satu jawaban yang paling tepat. Setelah memilih, jawaban benar akan ditandai dan penjelasan muncul.

1. Manakah yang BUKAN merupakan komponen sistem mikroprosesor?

2. Intel 8086 diperkenalkan pada tahun berapa?

3. Arsitektur Harvard memisahkan memori untuk...

4. Berapa lebar bus data pada Intel 8086?

5. Contoh mikrokontroler adalah...

6. Bus alamat pada 8086 memiliki lebar berapa bit?

7. Apa keuntungan utama arsitektur Harvard dibandingkan Von Neumann?

8. Intel 8088 berbeda dari 8086 dalam hal apa?