Saturday, July 21, 2001
Pengantar Sistem Mikroprosesor © 2001, Arry Akhmad Arman Laboratory for Signal & Systems Electrical Engineering Department Bandung Institute of Technology email :
[email protected]
Ù
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 n RAM (Random Access Memory), untuk menyimpan data n I/O unit, sebagai interface untuk mengambil data dari luar dan mengeluarkan data hasil proses
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
2
1
Saturday, July 21, 2001
Saluran Standar Mikroprosesor l Bus adalah kumpulan Bus Alamat
Clock
Bus Data Sumber Tegangan
Mikroprosesor
Bus Kontrol
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
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
3
Faktor Penentu Kinerja Mikroprosesor l l l l l
Clock Speed (mis : Pentium 100 MHz, Pentium 1.3 GHz) Lebar Bus Data Lebar Bus Alamat Bus Speed Arsitektur (cache memory, pipeline, dll)
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
4
2
Saturday, July 21, 2001
Evolusi Mikroprosesor l Intel : 4004, 8008, 8086, 80286, 80486, Pentium, Pentium Pro l Motorola : l Zilog : Z80, Z8000
5
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
Konfigurasi Standar Sistem Mikroprosesor OL AT TR AM ATA N D KO S S S BU BU BU AL
RAM
Mikroprosesor
ROM
Keyboard
I/O Display
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
6
3
Saturday, July 21, 2001
Saluran-Saluran Pada Bus Alamat Bus Alamat A0 A1 Clock
A2 ...
Sumber Tegangan
Mikroprosesor
A(N-1)
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 Bus Data
untuk menentukan alamat memori atau I/O yang ingin diakses.
Bus Kontrol
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
7
Saluran-Saluran Pada Bus Data Bus Data D0 D1 Clock
D2 ...
Sumber Tegangan
Mikroprosesor
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
D8
Bus Alamat
Bus Kontrol
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
8
4
Saturday, July 21, 2001
Saluran-Saluran Penting Pada Bus Kontrol Bus Alamat Bus Data
Clock
Bus Kontrol Sumber Tegangan
l Berikut ini adalah
Mikroprosesor
l
MEMRQ IORQ
l
READ WRITE
l l l
INTR
beberapa contoh saluran penting yang selalu ada dalam bus kontrol suatu mikroprosesor MEMRQ = Memory Request, menyatakan adanya instruksi akses memory IORQ = IO Request, menyatakan adanya instruksi input atau output READ = operasi baca WRITE = operasi tulis INTR = Interupsi 9
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
Baca Tulis Memori dan I/O 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
Bus Kontrol
Mikroprosesor
MEMRQ IORQ READ WRITE INTR
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
10
5
Saturday, July 21, 2001
Contoh Instruksi dan Status Saluran Kode Instruksi
Penjelasan
IN $0A
Baca data dari saluran I/O dengan IORQ dan READ aktif alamat $0A (data disimpan dalam Saluran alamat = 0000 1010 ACC) Saluran data siap menerima data Data yang dibaca disimpan di ACC Keluarkan data dengan nilai $FF di IORQ dan WRITE aktif saluran I/O alamat $15 Saluran alamat = 0001 0101 Saluran data = 1111 1111
OUT $15, $FF
Kondisi Saluran-Saluran Mikroprosesor
READ $2000
Baca data dari lokasi memori dengan alamat $2000
WRITE $200F,$3E
Tulis data $3E ke lokasi memori dengan alamat $200F
MEMRQ dan READ aktif Sal alamat = 0010 0000 0000 0000 Sal data siap menerima data Data yang dibaca disimpan di ACC MEMRQ dan WRITE aktif Sal alamat = 0010 0000 0000 0010 Sal data = 0011 1110
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
11
RAM Bus Alamat
l RAM adalah memori yang biasanya bersifat volatile (hanya berfungsi sebagai memori pada saat ada tegangan kerja)
Bus Data
ENABLE
Random Access Memory
l RAM digunakan untuk
menyimpan data selama sistem mikroprosesor dioperasikan.
READ WRITE
l Kapasitas RAM ditentukan oleh jumlah saluran alamat RAM
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
12
6
Saturday, July 21, 2001
Saluran Penting RAM l Bus alamat menentukan
Bus Alamat
lokasi memori yang akan diakses l Bus data digunakan untuk transfer data l Bus Kontrol
Bus Data
n ENABLE untuk menentukan terjadi tidaknya akses memori n READ untuk operasi baca daa n WRITE untuk operasi penulisan data
Random Access Memory
ENABLE
READ WRITE
l Pada saat ENABLE tidak
aktif, bus data akan Hi-Z, sehingga tidak mengganggu status bus. 13
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
Hubungan RAM dengan Mikroprosesor Bus Alamat Bus Data
Bus Kontrol
Mikroprosesor
MEMRQ
ENABLE
IORQ READ
READ
WRITE
WRITE
Random Access Memory
INTR
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
14
7
Saturday, July 21, 2001
ROM Bus Alamat
l ROM adalah memori yang
Bus Data
ENABLE
Read Only Memory
READ
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.
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
15
Saluran Penting Memori (ROM) Bus Alamat
l Bus alamat menentukan
Bus Data
ENABLE
READ
Read Only Memory
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
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
16
8
Saturday, July 21, 2001
Hubungan ROM dengan Mikroprosesor Bus Alamat Bus Data
Bus Kontrol
Mikroprosesor
MEMRQ
Read Only Memory
ENABLE
IORQ READ
READ
WRITE INTR
17
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
Hubungan RAM, ROM dengan 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.
0000 ROM 0003 0004 RAM 0007
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
18
9
Saturday, July 21, 2001
Penentuan address decoder Device
0000 ROM 0003
ROM
0004 RAM 0007
RAM
Alamat 0000H
A15 A3 A2 A1 A0 0000 0000 0000 0000
0001H 0002H 0003H 0004H 0005H
0000 0000 0000 0001 0000 0000 0000 0010 0000 0000 0000 0011 0000 0000 0000 0100 0000 0000 0000 0101
0006H 0007H
0000 0000 0000 0110 0000 0000 0000 0111
A3 A2
I0-I1
Y0
untuk mengaktifkan ROM
DECODER
EN 2 ke 4 Y1
untuk mengaktifkan RAM
Y2 Y3 19
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
Rangkaian Lengkap I0-I1
Y0
0000
DECODER 2 ke 4
EN
ROM 0003
Y1
0004 A2-A3
MEMRQ
RAM A0-A1
DATA
A0-A1 EN ROM 4 byte DATA
READ
READ
Mikroprosesor
A0-A1
0007
EN
RAM 4 byte READ DATA WRITE
WRITE
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
20
10
Saturday, July 21, 2001
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.
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
21
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
22
11
Saturday, July 21, 2001
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
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
23
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
24
12
Saturday, July 21, 2001
Contoh Aplikasi BU
S
A AL
M
BU
S
AT TA DA BU
S
K
T ON
RO
L
A/D konverter
Sensor Tempr
RAM Biner ke 7-segmen Mikroprosesor
ROM
I/O
Driver
FAN
Driver
Alarm
© 2001, ARRY AKHMAD ARMAN - Electrical Engineering Dept. of ITB
25
13