© 2001, Arry Akhmad Arman
Laboratory for Signal & Systems Electrical Engineering Department Bandung Institute of Technology
email : [email protected]Ù Ù
Pengantar Sistem Mikroprosesor Pengantar Sistem Mikroprosesor
Pengertian Mikroprosesor Pengertian Mikroprosesor
l Mikroprosesor adalah suatu pemroses mikro yang dapat menjalankan suatu urutan instruksi (program) untuk mencapai suatu tujuan/fungsi tertentu.
l Untuk menjalankan fungsinya, suatu mikroprosesor biasanya memerlukan dukungan
n
ROM (Read Only Memory), untuk menyimpan program
nRAM (Random Access Memory), untuk menyimpan data
nI/O unit, sebagai interface untuk mengambil data dari luar dan
mengeluarkan data hasil proses
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 3
Saluran
Saluran Standar Standar Mikroprosesor Mikroprosesor
l Bus adalah kumpulan saluran yang memiliki fungsi sejenis
l Bus alamat menentukan kapasitas memori yang dapat diakses
l Bus data menentukan lebar saluran untuk transfer data dari/ke mikroprosesor l Bus Kontrol terdiri dari
saluran untuk mengatur komunikasi dengan device pendukung mikroprosesor
Mikro- prosesor
Bus Alamat
Bus Data
Bus Kontrol Clock
Sumber Tegangan
Faktor Penentu Kinerja Mikroprosesor Faktor Penentu Kinerja Mikroprosesor
l Clock Speed (mis : Pentium 100 MHz, Pentium 1.3 GHz) l Lebar Bus Data
l Lebar Bus Alamat l Bus Speed
l Arsitektur (cache memory, pipeline, dll)
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 5
Evolusi Mikroprosesor Evolusi Mikroprosesor
l Intel : 4004, 8008, 8086, 80286, 80486, Pentium, Pentium Pro l Motorola :
l Zilog : Z80, Z8000
Konfigurasi Standar Konfigurasi Standar Sistem Mikroprosesor Sistem Mikroprosesor
Mikro- prosesor
RAM
ROM
I/O
BUS DATABUS KONTROL BUS ALAMAT
Keyboard
Display
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 7
Saluran-Saluran Pada Bus Alamat Saluran-Saluran Pada Bus Alamat
l Bus alamat terdiri dari N buah saluran alamat l Bus alamat yang terdiri
dari N buah saluran dapat mengakses (2 pangkat N) lokasi alamat yang berlainan.
l Bus alamat digunakan untuk menentukan alamat memori atau I/O yang ingin diakses.
Mikro- prosesor
Bus Kontrol Bus Data Clock
Sumber Tegangan
Bus Alamat
A0 A1 A2 ...
A(N-1)
Saluran-Saluran Pada Bus Data Saluran-Saluran Pada Bus Data
l Bus data biasanya terdiri dari 8 bit (1 byte) atau kelipatan dari 8 bit l Bus data digunakan untuk
lalu lintas data dari/ke mikroprosesor
Mikro- prosesor
Bus Kontrol Bus Alamat Clock
Sumber Tegangan
Bus Data
D0 D1 D2 ...
D8
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 9
Saluran-Saluran Penting Saluran-Saluran Penting Pada Bus Kontrol
Pada Bus Kontrol
l Berikut ini adalah beberapa contoh saluran penting yang selalu ada dalam bus kontrol suatu mikroprosesor
l MEMRQ = Memory Request, menyatakan adanya instruksi akses memory
l IORQ = IO Request, menyatakan adanya instruksi input atau output l READ = operasi baca l WRITE = operasi tulis l INTR = Interupsi
Mikro- prosesor
Bus Alamat
Bus Data
Bus Kontrol Clock
Sumber Tegangan
MEMRQ IORQ READ WRITE
INTR
Baca Tulis Memori dan I/O Baca Tulis Memori dan I/O
Mikro- prosesor
Bus Kontrol
MEMRQ IORQ READ WRITE
INTR
WRITE Aktif
READ Aktif MEMRQ
aktif Operasi tulis
Ke memori Operasi baca Ke memori IORQ
aktif Operasi tulis
Ke I/O Operasi tulis Ke I/O Bus Alamat
Bus Data
l Pada saat membaca atau menulis, bus alamat akan memberikan informasi mengenai lokasi alamat yang ingin ditulis atau dibaca.
l Data akan ditransfer melalui bus data
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 11
Contoh Instruksi dan Status Saluran Contoh Instruksi dan Status Saluran
Kode Instruksi Penjelasan Kondisi Saluran-Saluran Mikroprosesor IN $0A Baca data dari saluran I/O dengan
alamat $0A (data disimpan dalam ACC)
IORQ dan READ aktif Saluran alamat = 0000 1010 Saluran data siap menerima data Data yang dibaca disimpan di ACC OUT $15, $FF Keluarkan data dengan nilai $FF di
saluran I/O alamat $15
IORQ dan WRITE aktif Saluran alamat = 0001 0101 Saluran data = 1111 1111 READ $2000 Baca data dari lokasi memori
dengan alamat $2000 MEMRQ dan READ aktif
Sal alamat = 0010 0000 0000 0000 Sal data siap menerima data Data yang dibaca disimpan di ACC WRITE $200F,$3E Tulis data $3E ke lokasi memori
dengan alamat $200F MEMRQ dan WRITE aktif
Sal alamat = 0010 0000 0000 0010 Sal data = 0011 1110
RAM RAM
l RAM adalah memori yang biasanya bersifat volatile (hanya berfungsi sebagai memori pada saat ada tegangan kerja) l RAM digunakan untuk
menyimpan data selama sistem mikroprosesor dioperasikan.
l Kapasitas RAM ditentukan oleh jumlah saluran alamat RAM
Random Access Memory
Bus Alamat
Bus Data
ENABLE
READ WRITE
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 13
Saluran Penting RAM Saluran Penting RAM
l Bus alamat menentukan lokasi memori yang akan diakses
l Bus data digunakan untuk transfer data
l Bus Kontrol n ENABLE untuk
menentukan terjadi tidaknya akses memori n READ untuk operasi baca
daa
n WRITE untuk operasi penulisan data
l Pada saat ENABLE tidak aktif, bus data akan Hi-Z, sehingga tidak
mengganggu status bus.
Random Access Memory
Bus Alamat
Bus Data
ENABLE
READ WRITE
Hubungan RAM dengan Mikroprosesor Hubungan RAM dengan Mikroprosesor
Mikro- prosesor
Bus Kontrol MEMRQ
IORQ READ WRITE
INTR
Bus Alamat
Bus Data
Random Access Memory
ENABLE
READ WRITE
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 15
ROM ROM
l ROM adalah memori yang hanya dapat dibaca saja, tidak dapat ditulis atau diubah isinya.
l ROM bersifat non-volatile l ROM biasanya digunakan
untuk menyimpan program
l ROM diisi dengan cara tertentu sebelum dipasang pada sistem mikroprosesor,
selanjutnya isinya tidak pernah berubah.
Read Only Memory
Bus Alamat
Bus Data
ENABLE
READ
Saluran
Saluran Penting Memori (ROM) Penting Memori (ROM)
l Bus alamat menentukan lokasi memori yang akan diakses
l Bus data digunakan untuk transfer data
l Bus Kontrol n ENABLE untuk
menentukan terjadi tidaknya akses memori n READ untuk operasi baca
data
Read Only Memory
Bus Alamat
Bus Data
ENABLE
READ
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 17
Hubungan ROM dengan Mikroprosesor Hubungan ROM dengan Mikroprosesor
Mikro- prosesor
Bus Kontrol MEMRQ
IORQ READ WRITE
INTR
Bus Alamat
Bus Data
Read Only Memory
ENABLE
READ
Hubungan RAM, ROM dengan Hubungan RAM, ROM dengan Mikroprosesor
Mikroprosesor
l Jika lebih dari satu unit memori dihubungkan pada suatu mikroprosesor, hubungannya menjadi tidak sederhana.
l Untuk menghindari “tabrakan akses”, harus ada pemisahan lokasi alamat untuk setiap unit memori (peta memori).
l Misalkan ada ROM dengan kapasitas 4 byte dan RAM dengan kapasitas 4 byte.
RAM ROM 0000
0004 0003
0007
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 19
Penentuan address decoder Penentuan address decoder
Device
0000H 0001H 0002H 0003H 0004H 0005H 0006H 0007H
0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0010 0000 0000 0000 0011 0000 0000 0000 0100 0000 0000 0000 0101 0000 0000 0000 0110 0000 0000 0000 0111 Alamat A3 A2 A1 A0
ROM
RAM
A15
RAM ROM 0000
0004 0003
0007
DECODER 2 ke 4 I0-I1
EN Y0
Y1 Y2 Y3 A3 A2
untuk mengaktifkan ROM
untuk mengaktifkan RAM
Rangkaian Lengkap Rangkaian Lengkap
RAM ROM 0000
0004 0003
0007
Mikroprosesor
R A M 4 byte R O M 4 byte DECODER
2 ke 4
A0-A1
READ A2-A3 MEMRQ
I0-I1
EN Y0
Y1
A0-A1
READ
READ A0-A1
EN
EN
DATA DATA DATA
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 21
Kapasitas RAM dan ROM Kapasitas RAM dan ROM
l Pada kenyataannya, kapasitas RAM dan ROM tidak sekecil seperti contoh yang sudah kita bahas (4 byte)
l RAM dan ROM biasanya berkisar mulai ratusan byte sampai dengan ratusan kilobyte atau bahkan mega byte.
Hubungan dengan unit I/O Hubungan dengan unit I/O
l Hubungan mikroprosesor dengan unit I/O dilakukan dengan cara yang sama seperti penentuan hubungan memori
l Kapasitas alamat I/O biasanya jauh lebih kecil daripada memori, berkisar antara beberapa lokasi (kurang dari 10) sampai dengan puluhan atau ratusan lokasi alamat.
l Beberapa informasi penting :
n
Untuk besaran digital, pada prinsipnya dapat dihubungkan langsung dengan unit I/O
n
Untuk besaran analog, harus ditambahkan unit A/D atau D/A converter
n
Untuk tegangan/arus tinggi biasanya dilakukan isolasi supaya tidak
merusak mikroprosesor
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 23
Pemrograman Pemrograman
l Dalam sistem mikroprosesor, semua bagian sistem dikendalikan oleh mikroprosesor.
l Mikroprosesor harus dilengkapi dengan program untuk menentukan “bagaimana sistem harus bekerja”
l Program biasanya dibuat dalam bahasa mesin atau asembler, disimpan dalam ROM
Mikrokontroler Mikrokontroler
l Untuk bekerja, mikroprosesor perlu dukungan RAM, ROM dan unit I/O, sehingga jumlah chip yang dibutuhkan tidak “satu” dan perlu interkoneksi eksternal yang tidak sederhana.
l Mikrokontroler adalah mikroprosesor yang sudah dilengkapi dengan RAM, ROM dan I/O yang dikemas dalam kemasan “single chip”.
l Mikrokontroler digunakan secara luas pada berbagai aplikasi.
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB 25
Contoh Aplikasi Contoh Aplikasi
Mikro- prosesor
RAM
ROM
I/O
BUS DATABUS KONTROL
BUS ALAMAT
A/D
konverter
Sensor Tempr