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.
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.
Tahun
Prosesor
Bit
Transistor
Memori
Catatan
1971
4004
4-bit
2.300
640 byte
Mikroprosesor pertama di dunia, oleh Intel
1972
8008
8-bit
3.500
16 KB
Prosesor 8-bit pertama Intel
1974
8080
8-bit
6.000
64 KB
Digunakan di komputer Altair 8800
1976
8085
8-bit
6.500
64 KB
Versi penyempurnaan 8080, hanya perlu +5V
1978
8086
16-bit
29.000
1 MB
Cikal bakal arsitektur x86
1979
8088
16-bit*
29.000
1 MB
Bus data 8-bit, dipakai IBM PC
1982
80286
16-bit
134.000
16 MB
Protected mode pertama
1985
80386
32-bit
275.000
4 GB
Arsitektur 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:
Aspek
Mikroprosesor
Mikrokontroler
MPU
SoC
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 AlamatMenentukan lokasi memori/I/O yang akan diakses. Unidireksional (CPU → Memori/I/O). Pada 8086 berukuran 20 bit.
Bus DataMembawa data antara CPU dan memori/I/O. Bidireksional. Pada 8086 berukuran 16 bit.
Bus KontrolMembawa 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
.stack100h.data
pesan db'HELLO WORLD$'; string diakhiri karakter '$'.codemulai:MOVAX, @data; isi AX dengan alamat segmen dataMOVDS, AX; set DS agar menunjuk ke segmen dataMOVAH, 09h; AH = 09h: fungsi tampilkan string DOSLEADX, pesan ; DX = alamat string "HELLO WORLD"INT21h; panggil interupsi DOSMOVAH, 4Ch; AH = 4Ch: fungsi akhiri programINT21h; panggil interupsi DOSend mulai ; akhir program, titik masuk: 'mulai'
Kode 1.1: Program "Hello World" dalam Assembly 8086.
Penjelasan Singkat (Preview)
.model smallMenentukan model memori. small = satu segmen kode (64KB) + satu segmen data (64KB).
.stack 100hMengalokasikan 256 byte (100 heksadesimal) untuk stack.
.dataAwal segmen data — tempat mendeklarasikan variabel dan konstanta.
db '...$'db = define byte. Karakter $ adalah penanda akhir string untuk fungsi 09h.
.codeAwal segmen kode — tempat menulis instruksi program.
MOV AX, @dataMengisi register AX dengan alamat segmen data. Detailnya di Bab 4 dan 6.
INT 21hInterupsi 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?
Hard disk adalah media penyimpanan sekunder, bukan komponen inti sistem mikroprosesor. Komponen utama adalah CPU, memori, I/O, dan bus.
2. Intel 8086 diperkenalkan pada tahun berapa?
Intel 8086 diperkenalkan pada tahun 1978 sebagai prosesor 16-bit pertama dari Intel dan cikal bakal arsitektur x86.
3. Arsitektur Harvard memisahkan memori untuk...
Arsitektur Harvard memisahkan memori instruksi dan memori data, masing-masing dengan bus sendiri, sehingga bisa mengakses keduanya secara simultan.
4. Berapa lebar bus data pada Intel 8086?
8086 memiliki bus data 16 bit. Yang 8 bit adalah 8088 (varian murahnya). Yang 20 bit adalah bus alamatnya.
5. Contoh mikrokontroler adalah...
ATmega328P adalah mikrokontroler 8-bit dari Atmel (sekarang Microchip) yang digunakan di Arduino Uno. Core i7 dan Ryzen adalah mikroprosesor.
6. Bus alamat pada 8086 memiliki lebar berapa bit?
Bus alamat 8086 berukuran 20 bit, memungkinkan akses ke 2^20 = 1.048.576 alamat (1 MB memori).
7. Apa keuntungan utama arsitektur Harvard dibandingkan Von Neumann?
Karena memiliki dua bus data terpisah, arsitektur Harvard bisa mengambil instruksi dan data secara bersamaan, menghilangkan bottleneck Von Neumann.
8. Intel 8088 berbeda dari 8086 dalam hal apa?
8088 secara internal identik dengan 8086 (16-bit), namun bus data eksternalnya hanya 8 bit. Ini mengurangi jumlah pin dan biaya produksi, sehingga dipilih IBM untuk PC pertama.