Sistem Mikroprosessor Kuliah Remedial

Sistem Mikroprosessor
Kuliah Remedial
Hasan Mayditia, S.Si

Materi
Pendahuluan
2. Mekanisme Kerja Mikroprosessor
3. Arsitektur dan Instruksi mikroprosessor
8051
4. Implementasi Instruksi Program
(Praktikum)
1.

Background Knowledge


Electronics, sistem elektronika analog dan
digital.




Number System and Codes, seperti sistem
bilangan Biner, Hexadesimal, Octal, ASCII dan
sistem konversinya



Digital Arithmetic, sistem operasi matematika
digital.

Sejarah
Bangsa Yunani kuno
menemukan bahwa Batu
“Amber” dapat menarik
benda-benda kecil
disekitarnya setelah
digosokan (600 SM)
Benjamin Franklin (1709)

Robert Andrews
Milikan (1909)


Teknologi Elektronika


Elektronika Analog





Komponen Pasif: Resistor,Kapasitor, induktor
Komponen Aktif :Dioda, Transistor, OP-AMP, IC, dll

Elektronika Digital





Komponen Dasar, gerbang-gerbang logika

MSI (Medium Scale Integrated Circuits), Bebagai
IC Enkoder, Dekoder, Multiplexer, Register
LSI (Large Scale Integrated Circuits), berbagai IC
Mikroprosessor
VLSI (Very Large Scale Integrated Circuits),
Berbagai IC Mikroprocessor dan mikrokontroller

Digital ICs

Rangkaian Internal Gerbang NOR

Mikroprosessor F-100
(Panjangnya hanya 0.6 cm)

Simulation
 Transistor

As a NOT Gate (Multisim)
R2
2.2kOhm_5%


V2
5 V

R1
V1
5 V

10.0kOhm_1%
J1

Key = Space

Q1
BC850B*

Simulation (III)
 Binary

Counter  Clock Operation-EWB


Perkembangan Elektronika
Technology Development

200 SM

Abad ke-17

Abad ke-19 Abad ke-20

Perkembangan Teknologi ICs
 Pengembangan

IC dengan densitas
yang sangat tinggi
 Mengurangi ukuran
 Menurunkan harga
 Meningkatkan kecepatan proses (MPU)

Komputer Digital






Merupakan kombinasi antara komponenkomponen digital dan rangkaian digital
yang dapat mengerjakan sekuens operasi
dengan minimum intervensi dari manusia.
Sekuens operasi tersebut disebut dengan
Program
Program merupakan sebuah set instruksi yang
dipahami oleh komputer digital dan tersimpan
dalam memori internalnya.

Bagaimana Komputer berfikir?






Komputer tidak berfikir!
Komputer secara sederhana hanya
merupakan mesin elektonik berkecepatan
tinggi yang dapat memanipulasi data,
menyelesaikan masalah, dan mengambil
keputusan yang kesemuanya dikontrol oleh
program.
Bagaimana Komputer Komputer dapat
mengeksekusi instruksi-instruksi
program? (Pertanyaan Seharusnya)

Komputer Digital
Data,
Informasi

Sinyal Kontrol
& Alamat
Data / Informasi

ALU

CPU
Output

Input

Control

Memory

Data,
Informasi

Setiap unit elemen memiliki fungsi spesifik, dan ke semuanya mengerjakan
instruksi yang diberikan dalam program.

Elemen Komputer







CPU (Central Processing Unit), CPU atau Mikroprosessor
merupakan otak dari sistem komputer tersusun atas banyak
rangkaian elektronik digital yang memiliki kemampuan mengambil
dan mengeksekusi instruksi, memanipulasi data, melakukan fungsi
aritmatika dan logika. CPU terdiri dari dua komponen besar, yakni
ALU dan Control Unit. CPU juga melakukan pengendalian dan
pengaturan seluruh aktifitas mesin.
ALU (Arithmetic Logic Unit), Semua operasi aritmatika dan logika
dilakukan pada bagian ini, yang kemudian hasil perhitungannya akan
disimpan di dalam elemen memori
Control unit, elemen ini berisi register-register kontrol, pointer, dan
program counter. Elemen ini mengambil instruksi yang tersimpan di
dalam memori program dalam suatu siklus clock (tergantung jenis
Kontroller), lalu menterjemahkannya ke dalam kontrol register.
Selanjutnya register-register tersebut akan mengeksekusi setiap
instruksi dan mengirim sinyal yang sesuai ke setiap elemen. Setiap
register memiliki fungsi berbeda satu dengan yang lainnya, jumlah
dan jenisnya bergantung dari struktur komputer itu sendiri.


Elemen Komputer (II)








Memori merupakan media penyimpanan instruksi program
maupun data. Memori dapat berupa Hard Disk, Disket, maupun
Random Access Memory (RAM). Memori dalam mikrokontroller
dapat berupa Flash Programmable and Erasable Read Only
Memory (PEROM), EEPROM dan RAM.
Port I/O merupakan media keluar masuk data dari dan ke sistem
komputer. Port I/O merupakan jalur komunikasi komputer dengan
Contoh komponen yang terhubung dengan Port I/O antara lain,
sensor, Keyboard, LCD, LED, Seven Segment, dan lain-lain.
Sistem Bus merupakan jalur konduktor yang memiliki fungsi

menghubungkan antara CPU, memori, dan I/O. Bus dapat
dikelompokkan berdasarkan fungsinya antara lain bus alamat,
bus data, dan bus kendali. Bus alamat membawa informasi
alamat suatu data atau komponen I/O, bus data membawa
informasi data instruksi atau data yang diolah, sedangkan bus
kendali berisi informasi kendali dari prosessor atau peralatan yang
terhubung ke prosessor.
Clock atau pewaktuan memberikan referensi waktu dan
sinkronisasi antar elemen.

Evolusi MPU
 Intel

4004 (MPU 4-bit)
 Intel 8008, 8080, 8085, dll (MPU 8-bit)
pada tahun 1970
 Intel 8086, 80x86, dll (MPU 32-bit)
 Keluarga 8051 (MPU 8-bit) menjadi
embrio bagi Embedded Microcontroller.

Secret Agent 89
1.
2.
3.

4.

Setiap informasi yang ada di dalam Box
dituliskan dalam bentuk kode
Buka Box 1 terlebih dahulu, kemudian
eksekusi instruksi yang ada di dalamnya
Lanjutkan ke Box yang lainnya dalam
sekuen kecuali terdapat instruksi di dalam
Box untuk perintah Jump / Return
Salah satu Box dihubungkan dengan BOM
dan akan meledak ketika dibuka

Analogi Operasi Komputer (1)
Secret Agent 89
1.

Jumlahkan nilai yang
disimpan dalam Box (9)
dengan 89

2.

Bagi nilai hasil sebelumnya
dengan nilai yang tersimpan
dalam Box (10)

3.

Kurangi dengan nilai yang
tersimpan dalam Box (8)

4.

Jika hasil nilainya tidak sama
dengan 30, lanjutkan ke Box
(7). Yang lainnya lanjutkan ke
Box selanjutnya

5.

Kurangi dengan 13

6.

Kembali ke awal untuk
instruksi selanjutnya

7.

BOM (Too Bad)

8.

20

9.

11

10.

2

Analogi Operasi Komputer (2)
Secret Agent 89
Analogi tersebut diberikan sebagai berikut:
1. Setiap Box seperti halnya memori dalam
komputer, dimana instruksi dan data
disimpan.
2. Box 1-6 berisi instruksi yang akan dieksekusi,
sedangkan Box 8-10 berisi data yang suatu
waktu dapat dipanggil oleh instruksi
3. Box 7 dikenal sebagai bagian memori yang
harus dihindari oleh instruksi
4. Nomer-nomer pada setiap Box seperti halnya
alamat-alamat lokasi pada memori

3 Kelompok Instruksi Berbeda
Dalam Box 1-6
Box 1, 2, 3 dan 5 disebut sebagai
Operasi Aritmatika
2. Box 4 berisi instruksi pembuat
keputusan (Decision Making) yang
disebut Conditional Jump atau
Conditional Branch.
3. Box 6 berisi instruksi Control Return
yang tidak membutuhkan data ataupun
acuan pada alamat lainnya.
1.

Pengorganisasian Komputer
Sinyal Kontrol
& Alamat

Data, Informasi
dari dunia luar

3

Data / Informasi

ALU
2

CPU
Input

10

1
12

5

Control

Output
9

7

6

11
4

8

Memory

Data, Informasi
ke dunia luar

Penjelasan Organisasi Komputer (1)


ALU (Arithmetic Logic Unit), Semua operasi
aritmatika dan logika dilakukan pada bagian
ini, yang kemudian hasil perhitungannya akan
disimpan di dalam elemen memori. Operasi
yang akan dilakukan oleh ALU ditentukan oleh
sinyal dari unit kontrol (Panah 1). Data yang
akan dioperasikan dalam ALU dapat berasal
dari unit memori (Panah 2) atau input
(Panah 3). Hasil dari operasi tersebut dapat
ditransfer ke memori untuk disimpan (Panah
4) atau ke output (panah 5)

Penjelasan Organisasi Komputer (2)


Unit Memori merupakan media penyimpanan
sekumpulan digit-digit biner (Words) yang
merepresentasikan instruksi-instruksi (program) yang
akan dioperasikan oleh komputer dan data-data yang
akan dikenai operasi. Memori dapat berupa Hard Disk,
Disket, maupun Random Access Memory (RAM).
Memori juga digunakan untuk penyimpanan sementara
ataupun hasil akhir dari operasi aritmatika (Panah 4).
Operasi dari memori dikontrol oleh unit kontrol (panah
6), yang mengatur sinyal untuk baca dan tulis. Lokasi
pada memori dapat diakses oleh unit kontrol melalui
pengalamatan yang sesuai (panah 7). Informasi dapat
ditulis ke dalam memori dari ALU atau pun unit
masukan (panah 8), di bawah kontrol unit kontrol.
Informasi yang tersimpan dapat dibaca oleh ALU (panah
2) atau unit output (panah 9)

Penjelasan Organisasi Komputer (3)


Unit Input terdiri dari semua alat atau komponen yang
digunakan untuk mengambil informasi dan data yang
berasal dari luar ke komputer dan menyimpannya ke
dalam unit memori (panah 8) atau ke ALU (panah
3). Unit kontrol akan mentukan kemana informasi input
tersebut akan dikirim/disimpan (panah 10). Unit input
digunakan juga untuk memasukkan program dan data
ke dalam memori untuk menginisialisasi sistem kerja
dari komputer. Beberapa jenis komponen input yang
banyak digunakan antara lain keyboard, saklar,
modem, disk magnetik, mouse, dan analog-to-digital
converter (ADCs)

Penjelasan Organisasi Komputer (4)


Unit Output terdiri dari alat atau komponen
yang digunakan untuk mentransfer data dari
komputer ke dunia luar. Peralatan output
dikontrol oleh unit kontrol (panah 12) dan
dapat menerima data dari memori (panah 9)
atau pun ALU (panah 5) dengan format data
yang disesuaikan terlebih dahulu untuk
penggunaan eksternal. Komponen output
yang sering digunakan antara lain LED,
printer, disket, monitor, dan digital-to-analog
converter (DACs)

Penjelasan Organisasi Komputer (5)


Interfacing. Semua alat atau komponen elektronik yang menyusun
unit input dan output disebut dengan Peripherals, karena
komponen-komponen tersebut menjadi jembatan antara komputer
dengan peralatan-peralatan eksternal. Hal yang paling penting
dalam peripheral adalah interfacing. Interfacing komputer secara
spesifik didefinisikan sebagai proses pentransmisian informasi digital
antara komputer dengan peripheral-nya dengan cara yang telah
disesuaikan (compatible) dan tersinkronisasi. Banyak komponen
I/O yang tidak secara langsung disesuai dengan komputernya,
karena terdapat perbedaan pada beberapa karakteristiknya seperti
kecepatan operasi (co: baudrate), format data (co: BCD, ASCII,
atau biner), mode transmisi data (co: serial, paralel), dan level
tegangan logikanya (co: TTL, RS232). Salah satu contoh umum
adalah video display terminal (VDT), yang berfungsi sebagai input
maupun output. VDT mengirim dan menerima data secara serial
(satu bit tiap waktu) sedangkan komputer dapat menangani data
dalam bentuk paralel, dengan demikian VDT membutuhkan
rangkaian interface untuk dapat mengirim dan menerima data dari
komputer.

Penjelasan Organisasi Komputer (6)


Unit Kontrol. Dari penjelasan-penjelasan di atas, fungsi dari
unit kontrol telah tampak. Unit ini menunjukkan arah operasi
dari semua unit lainnya dengan memberikan sinyal
pewaktuan (timing) dan kontrol. Unit ini tersusun dari
rangkaian logika dan pewaktuan yang dapat
membangkitkan sinyal yang sesuai yang dibutuhkan untuk
mengeksekusi setiap instruksi dalam program.Unit kontrol
mengambil (Fetches) tiap instruksi (satu-per-satu) dari
memori dengan mengirim sebuah alamat yang sesuai (panah
7) dan perintah membaca (panah 6) ke memori. Kata (Word)
instruksi yang tersimpan pada lokasi memori tersebut,
kemudian dikirimkan ke unit kontrol (panah 11). Kata
instruksi yang berbentuk kode biner ini kemudian
didekodekan oleh rangkaian logika yang terdapat di dalam unit
kontrol, untuk menentukan instruksi apa yang akan diaktifkan.
Unit kontrol akan menggunakan informasi ini untuk mengirim
sinyal-sinyal yang sesuai kepada unit-unit lainnya untuk
mengeksekusi operasi tertentu.

Penjelasan Organisasi Komputer (7)
Sekuen mengambil (fetching) dan mengeksekusi
(executing) tiap kode instruksi ini diulangi terus menerus
oleh unit kontrol (seperti pada gambar 1). Sekuen
berulang fetch/execute ini akan terus berlanjut hingga
komputer dimatikan atau tombol RESET diaktifkan.
RESET akan selalu membuat komputer untuk mem-fetch
instruksi pertama dalam program, pada umumnya di
alamat 0000.
Fetch

Execute

Gambar 1

Komputer vs Prosessor
Komputer (Komputer) berbeda dengan Prosessor Unit
(Central Processing Unit / MPU). Komputer tersusun atas
Prosessor + unit-unit penyusun komputer lainnya
(seperti: Unit I/O, Memori, dan Sistem Bus).
Unit Memori
RAM

ROM

Clocks

MPU

Input Interface

Output Interface

Input Devices

Output Devices

Komputer

Central Processing Unit (CPU)


CPU terdiri dari ALU dan Unit kontrol. Hal ini sering
dilakukan untuk membedakan “otak” sebenarnya
dengan unit-unit lainnya dalam komputer. Selain itu
CPU juga tersusun atas beberapa set register untuk
mengerjakan fungsi khususnya.

Beberapa Istilah
Mnemonic (kode operasi):
merupakan istilah untuk kode instruksi (perintah) dalam
bahasa assembly, seperti mov, add, jump, etc.
Register :
berfungsi untuk penyimpanan sementara (register serba
guna). Digunakan untuk 16 bit (X) dan 8 bit (H,L)
 Operand :
adalah suatu item data yang dimanipulasi.
 Assembler :
digunakan untuk menerjemahkan bahasa Assembly ke
dalam kode mesin (disebut juga dengan kode Objek).
Kuliah ini digunakan Turbo Assembler
mov AX, 56FCH
mov BX, 11100111B