BAB II
DASAR-DASAR MIKROPROSESOR
2.1 Pengertian Dasar Mikroprosesor
Sebelum
membahas tentang dasar mikroprosesor
perlu diketahui terlebih dahulu tentang pengertian
mikroprosesor, mikrokomputer dan mikrokontroler.
Mikroprosesor adalah
sebuah chip (keping) yang dapat melaksanakan operasi-operasi hitungan, operasi nalar, dan operasi
kendali secara elektronis
(digital). Biasanya mikroprosesor
dikemas dengan
plastik atau keramik. Kemasannya dilengkapi dengan pin-pin yang merupakan terminal masukan
dan keluaran dari chip.
Mikroprosesor merupakan rangkaian
terpadu (integreted circuit) dalam bentuk komponen chip VLSI (very large scale
integration) yang mampu menjalankan perintah secara berurutan dalam bentuk program sehingga
dapat bekerja sesuai yang diinginkan programer. Perintah atau instruksi yang diberikan pada suatu mikroprosesor
haruslah
dapat
dimengerti oleh mikroprosesor itu
sendiri. Pada
umumnya instruksi yang diberikan dalam bentuk besaran-besaran
biner atau dalam bahasa
mesin (machine language).
Gambar 2.1 Salah satu contoh mikroprosesor buatan intel
Setiap mikroprosesor memiliki kade instruksi yang berbeda- beda sesuai dengan yang
direncanakan oleh pabrik pembuatnya.
Sehingga suatu program yang ditulis dalam kode instruksi untuk mikroprosesor tertentu tidak dapat dijalankan
untuk semua jenis mikroprosesor yang ada.
Mikrokomputer adalah
suatu sistem mikroprosesor, yang minimum terdiri dari chip mikroprosesor
(CPU: Central Processing Unit), ROM (Read Only Memori)
yang berisi firmeware (Program kendali sistem uP), RAM (Random Access
Memori) yang berisi program atau data sementara, dan Piranti
input-output (I/O
device) yang berguna untuk komunikasi antara sistem mikroprosesor dengan piranti yang dikendalikan. (komunikasi dengan operator/user). Sistem tersebut
disusun pada suatu
PCB
(Printed Circuit Board).
Gambar
2.2 Mikroprosesor dirangkai menjadi mikrokomputer
Mikrokontroler Chip yang didalamnya terkandung sistem
interkoneksi antara Mikroprosesor, RAM,
ROM, I/O interface, dan beberapa peripheral. Mikrokontroler disebut
juga On-chip- Peripheral.
Gambar
2.3 Mikrokomputer yang dibuat chip
mikrokontroler
Namun demikian
terdapat beberapa jenis mikroprosesor yang kompatible satu arah saja, artinya ada program yang dapat dijalankan oleh suatu
mikroprosesor dapat dijalankan oleh
mikroprosesor yang berbeda, tetapi untuk kebalikannya maka program tersebut tidak dapat jalan.
Misalnya tipe mikroprosesor Z80 dapat menjalankan instruksi untuk mikroprosesor 8080 ataupun 8085, program yang menggunakan prosesor 8086 dapat dijalankan oleh prosesor yang lebih tinggi (80186, 80286, 80386, 80486 dan seterusnya) namun tidak dapat program (80186, 80286, 80386, 80486 tidak dapat dijalankan oleh
prosesor dibawahnya.
2.2 Saluran-Saluran pada Mikroprosesor
Secara fisik mikroprosesor memiliki beberapa saluran masukan maupun keluaran
yang digunakan
untuk sambungan dengan komponen-komponen pendukung sistem mikroprosesor. Saluran-saluran tersebut
dikelompokkan sebagai berikut:
o Bus
saluran Alamat (Address Bus)
o Bus saluran Data (Data Bus)
o Bus
saluran Kendali (Control Bus)
Secara blok
diagram saluran-saluran yang terdapat
pada
mikroprosesor Z80 dapat
digambarkan sebagai berikut:
Gambar
2.4 Saluran-saluran Mikroprosesor
2.2.1 Address Bus
Saluran alamat (address bus)
diperlukan untuk menentukan suatu
lokasi alamat memori maupun lokasi alamat dari
perangkat input/output (Input Output Interface) yang selalu digunakan dalam suatu sistem mikroprosesor itu sendiri,
sebab jumlah saluran yang ada langsung menentukan banyaknya alamat
memori (kapasitas memori) yang
dapat ditanganinya. Pada awal pengembangannya, mikroprosesor buatan Intel dengan tipe 8008
hanya meiliki empat buah saluran alamat, sehingga
total alamat memori yang dapat ditanganinya sebanyak 16384 alamat. Setelah mengalami pengembangan selanjutnya
sudah
mencapai 16 saluran alamat
sehingga mampu menangani 65536
alamat memori. Sifat saluran alamat adalah keluaran, sehingga
kendali dilakukan dari mikroprosesor menuju ke perangkat-perangkat
ingatan maupun perangkat-perangkat keluaran/masukan (input
output peripheral).
2.2.1.1 Memori Address
Pada mikroprosesor buatan Zilog dengan tipe
Z80 juga memiliki kapasitas
memori sebesar 64 kbyte. Pada
saat sekarang sebuah mikroprosesor sudah mampu menangani
memori lebih besar dari 1 Giga byte. Untuk mempermudah serta menyederhanakan
dalam pengaturan maupun
penyambungan pada perangkat
pendukung mikroprosesor, maka pengalamatnnya menggunakan sistem bilangan
biner. Sehingga jumlah penyemat
(pin) pada IC
menjadi
jauh
lebih
sedikit. Untuk menentukan jumlah total alamat/kapasitas memori yang dapat
ditangani oleh suatu mikroprosesor
adalah
dengan cara menggunakan
rumus sebagai berikut:
Jumlah
total
alamat
=
20
dimana
n = jumlah saluran alamat. Jadi misalkan suatu mikroprosesor memiliki jumlah
penyemat 16 saluran, maka kapasitas total alamat memori yang dapat ditangani oleh mikroprosesor tersebut adalah
216 = 65536
byte, sedangkan untuk mencari jumlah saluran dapat dihitung
dengan rumus sebagai berikut:
Jumlah saluran alamat = 2log jumlah total
memori
Penyemat saluran alamat pada suatu
mikroprosesor pada umumnya diberi
tanda dengan
huruf A, oleh karena jumlah saluran alamat ada 16 buah
dan masing-masing saluran memilki bobot yang berbeda, maka saluran alamat yang
berbobot paling rendah (least significant bit, LSB) diberi tanda A0 dan selanjutnya
urut hingga saluran
terakhir yang memiliki bobot
terbesar (most
significant bit, MSB) diberi tanda A15. dengan demikian
saluran alamat yang terdapat
pada mikroprosesor tipe Z80 yang
berjumlah
16 buah saluran, masing-masing diberi tanda A0, A1, A2, A,
A4,
A5, A6, .........................A15.
Untuk lebih jelasnya dapat dilihat
pada blok berikut:
Gambar
2.5 Diagram koneksi address bus dengan perangkat I/O
Bobot nilai pada masing-masing saluran alamat dapat ditentukan dengan cara menggunakan seperti menentukan bobot nilai posisi bit yang terdapat pada sistem bilangan biner.
A0
A1
A2
|
bobotnya bobotnya
bobotnya
|
= 20
= 21
= 22
|
=
=
=
|
1 alamat
2 alamat
4 alamat
|
A3
|
bobotnya
|
= 23
|
=
|
8 alamat
|
A4
|
bobotnya
|
= 24
|
=
|
16 alamat
|
A5
|
bobotnya
|
= 25
|
=
|
32 alamat
|
A6
|
bobotnya
|
= 26
|
=
|
64 alamat
|
A7
|
bobotnya
|
= 27
|
=
|
128 alamat
|
A8
|
bobotnya
|
= 28
|
=
|
256 alamat
|
A9
A10
|
bobotnya
bobotnya
|
= 29
= 210
|
=
=
|
512 alamat
1024 alamat
|
A11
|
bobotnya
|
= 211 = 2048
alamat
= 212 = 4096
alamat
= 213 = 8192
alamat
= 214 = 16384 alamat
= 215 = 32768 alamat
|
||
A12
|
bobotnya
|
|||
A13
|
bobotnya
|
|||
A14
|
bobotnya
|
|||
A15
|
bobotnya
|
Jumlah total adalah = 65535
+ alamat 0 = 65536 alamat. Dengan demikian nomor alamat pada
mikroprosesor Z80 dengan menggunakan besaran sistem bilangan
desimal adalah dari alamat
0 sampai dengan 65535.
Dari uraian diatas dapat digunakan
untuk menentukan lokasi suatu alamat memori ataupun
alamat perangkat input output yang akan disambungkan pada sebuah mikroprosesor. Pengalamatan pada sebuah
mikroprosesor umumnya dengan mengaktifkan jalur alamat dengan memberikan suatu instruksi
yang mampu mengkondisikan logika yang sesuai dengan besaran kode biner sebanyak 16 bit. Untuk mempersingkat serta untuk
mempermudah penandaan nomor alamat awal sampai dengan akhir adalah dengan cara menggunakan kode
hexadesimal.
Dengan demikian alamat untuk CPU Z80 terdiri dari 0000
sampai dengan FFFF. Keuntungan menggunakan kode hexadesimal adalah kemudahannya untuk diubah kembali
dalam kode biner atau sebaliknya.
Pengaturan penggunaan alamat memori dilakukan
oleh pemakai berdasarkan instruksi
yang diberikan dan alokasi pemasangan perangkat memaori
yang digunakan dalam sistem
dalam batasan 0000-FFFF. Selain itu yang perlu diingat
bahwa pada saat kondisi
awal (catu daya dihidupkan) atau setelah tombol reset ditekan, mikroprosesor akan selalu memulai pada alamat
0000, sehingga instruksi yang berada pada alamat tersebut akan selalu
dilaksanakan dahulu.
2.2.1.2 I/O Adress
Selain terdapat
alamat-alamat yang dapat digunakan
untuk menghubungi perangkat ingatan, pada CPU Z80
juga memiliki alamat-alamat yang digunakan
untuk keperluan penanganan perangkat-perangkat I/O sebanyak 256 alamat.
Sebagaimana pengaturan alamat pada sistem ingatan, maka alamat I/O
ditangani oleh address bus bagian bawah (A0 sampai A7) sebanyak 8 saluran.
Dalam kode heksadesimal alamat I/O adalah 00-FF. Sedangkan address bus bagian atas (A8-A15) digunakan
untuk buffer (penyangga) data. Jadi pada address bus memiliki fungsi ganda sebagai alamat ingatan dan alamat
masukan atau keluaran.
2.2.2 Data Bus
Data bus (saluran data) diperlukan sebagai
jalan masukan atau keluaran data yang berfungsi sebagai instruksi atau penyerta
instruksi antara perangkat ingatan
dan
perangkat I/O
dengan
CPU. Untuk mikroprosesor Z80 memiliki
8 buah saluran data (D0-
D7) atau
8
bit data. Sifat
dari saluran
data
adalah
dua arah (bidirectional), jadi
arahnya
dapat
bolak-balik
antara mikroprosesor dengan
perangkat ingatan maupun perangkat
masukan keluaran.
Dalam sistem mikrokomputer,
data bus dipakai bersama-
sama antara CPU
dengan
perangkat-perangkat lainnya agar pengawatan menjadi lebih praktis, sehingga cara penyambungannya secara paralel. Untuk
menghindari terjadinya
konflik data antara perangkat satu dengan
yang lainnya maka berlaku sistem bergantian
dan stanby atau kalau perlu keadaan
tersebut dapat diatur melalui CPU lewat saluran kendali bus.
2.2.3. Control Bus
Saluran kendali (Control Bus) digunakan untuk
melakukan pengendalian terhadap komponen-komponen
pendukung dalam sistem
mikroprosesor. Semua aktifitas lalu
lintas data maupun pengambilan instruksi ke perangkat ingatan, perangkat
keluaran masukan dan
lain-lainnya diatur dan dikendalikan lewat saluran
kendali tersebut. Pada mikroprosesor saluran-saluran
kendali ada dua kelompok yaitu:
o Saluran kendali yang bersifat keluaran, artinya
suatu pengendalian yang arahnya
dari mikroprosesor menuju ke perangkat pendukung (perangkat ingatan, I/O,
dekoder dan lain-lainnya).
o Saluran kendali yang bersifat masukan
artinya
suatu
pengendalian yang arahnya dari perangkat luar mikroprosesor menuju ke mikroprosesor tersebut.
2.3 Sifat-sifat Saluran pada Mikroprosesor
Untuk memperoleh
unjuk kerja yang optimal serta dapat
dihubungkan dengan perangkat-perangkat digital yang lain, maka
saluran-saluran yang terdapat pada mikroprosesor harus memiliki
sifat-sifat atau karakteristik tertentu yang
cocok
dengan perangkat-perangkat pendukung
lainnya. Adapun sifat-sifat
saluran sebagai berikut:
Kompatibel dengan sistem TTL, yaitu menyangkut level tegangan maupun arus pada kondisi logik 0 dan 1 adalah sesuai dengan sistem TTL. Dengan demikian dapat langsung dihubungkan dengan gerbang-gerbang TTL baik sebagai keluaran maupun sebagai masukan dalam batasan unit loadnya (diperhitungkan kemampuan Fan In dan Fan Out nya)
Bersifat three state yaitu dalam keadaan menunggu (sifat saluran selain dalam keadaan logik 0 atau logik 1) akan memiliki nilai impedansi yang tinggi terutama pada saluran yang bersifat dua arah, sehingga akan sangat menghemat serta menyederhanakan sistem pengawatan dengan komponen-komponen yang lain karena lalu lintas data tidak diperlukan pergantian saluran sehingga penyambungannya dapat diparalelkan.
Kompatibel dengan sistem TTL, yaitu menyangkut level tegangan maupun arus pada kondisi logik 0 dan 1 adalah sesuai dengan sistem TTL. Dengan demikian dapat langsung dihubungkan dengan gerbang-gerbang TTL baik sebagai keluaran maupun sebagai masukan dalam batasan unit loadnya (diperhitungkan kemampuan Fan In dan Fan Out nya)
Bersifat three state yaitu dalam keadaan menunggu (sifat saluran selain dalam keadaan logik 0 atau logik 1) akan memiliki nilai impedansi yang tinggi terutama pada saluran yang bersifat dua arah, sehingga akan sangat menghemat serta menyederhanakan sistem pengawatan dengan komponen-komponen yang lain karena lalu lintas data tidak diperlukan pergantian saluran sehingga penyambungannya dapat diparalelkan.
2.4 Rancang Bangun Mikroprosesor
Dalam
sebuah Mikroprosesor terdiri dari
bagian-bagian yang satu dengan yang lain saling melengkapi dan mendukung dalam
memproses serta menterjemahkan berbagai
macam intruksi yang diberikan kepadanya
untuk selanjutnya dikerjakan kemudian setiap menerima instruksi selanjutnya.
Susunan
dari bagian-bagian tersebut dikenal sebagai rancang bangun dari sebuah mikroprosesor (Mikroprosesor
Architectur). Untuk mikroprosesor tipe Z80 memiliki rancang bangun seperti
terlihat pada Gambar 2.3.
Dari
diagram
rancang
bangun
mikroprosesor Z80 pada
Gambar 2.3, setiap bagian dapat dijelaskan sebagai
berikut
ALU merupakan singkatan dari Arithmetic Logic Unit yaitu bagian yang berfungsi untuk memproses pengolahan intruksi yang berhubungan dengan proses aritmatika dan logika. Dan juga pada bagian ini merupakan jantung dari CPU serta didalamnya terdapat register A yang berfungsi sebagai accumulator untuk menyimpanhasil akhir dari proses-proses tersebut.
Gambar 2.6 Architecture mikroprosesor Z80
CPU Register
Pada
bagian ini terdiri dari register-register yang
dapat dipakai secara umum (general purpose register) yang dapat diakses secara langsung dan register-register yang dipakai secara khusus (special purpose register). Pada mikroprosesor Z80 memiliki 22 buah register yang terdiri dari tiga group.
Instruction Register
Pada bagian
ini berfungsi untuk menterjemahkan
kode-kode biner tertentu yang
masuk melalui data bus diubah menjadi
intruksi-intruksi yang dapat
dimengerti dan dapat diolah
pada unit pengolah pusat
(CPU)
dan
selanjutnya juga
akan mengendalikan bagian-bagian
terkait
yang
terdapat dalam mikroprosesor Z80 misalnya addres bus, data bus, control bus register-register dan lain-lainnya melalui CPU Control Signal
System.
CPU
Control Signal System
Pada
bagian ini berfungsi untuk memberikan sinyal-sinyal
kendali pada bagian-bagian yang terkait sehingga segala kendali baik secara hardwer maupun softwer
dapat dikendalikan lewat control signal system dengan
cara memberikan suatu level sinyal logika untuk dapat mengaktifkan bagian-bagian
yang terkait. Misalnya saluran reset diberikan logik 0
(diaktifkan), maka bagian control signal system ini akan
mereset isi register PC dan isinya
akan disalurkan saluran alamat, saluran data akan
difungsikan sebagai masukan untuk dapat menerima
data intruksi dari perangkat memori, sebaliknya jika ada intruksi yang berhubungan
dengan alamat, maka isi PC akan diset sesuai dengan
intruksi kemudian akan
disalurkan kesaluran alamat dapat
digunakan oleh intruksi selanjutnya.
Data
Bus Control
Pada
bagian ini berfungsi untuk mengendalikan saluran- saluran data sebanyak 8 bit
sesuai dengan sinyal kendali dari CPU control signal. Saluran bus
data dapat berfungsi sebagai saluran masukan (Input), saluramn keluaran (output)
dan dapat juga dalam keadaan floating (berimpedansi tinggi)
Address
Bus Control
Pada
bagian ini berfungsi untuk mengendalikan saluran- saluran alamat
sebanyak 16
bit
untuk digunakan dalam pengalamatan perangkat-perangkat memori,
perangkat input- output dan sebagainya
Dari konfigurasi penyemat pada
Gambar 2.4
dapat diuraikan secara singkat dari
fungsi masing-masing kelompok saluran sebagai berikut:
Address bus : Address Bus terdiri dari 16 saluran
yang diberikan notasi dari A0-A15 yang merupakan saluran keluaran untuk pengalamatan memori dengan kasitas sebanyak 65536
bytes atau 64 kb.
Data Bus : Data
bus terdiri
dari
8 saluran yang diberikan notasi D0-D7, berfungsi untuk saluran lalu lintas data maupun data instruksi
dari mikroprosesor
dan sebaliknya.
M 1 : Merupakan saluran sinyal
kontrol
keluaran yang apabila berlogika 0 menunjukkan bahwa siklus
yang sedang berlangsung adalah siklus pengambilan kode operasi dalam pelaksanaan suatu instruksi.
MREG : Singkatan dari memori request,
merupakan saluran sinyal kontrol keluaran yang
apabila berlogika 0 menunjukkan bahwa bus alamat berisi alamat
memori untuk pembacaan ataupun
penulisan memori.
IORQ : Singkatan dari
input output request, merupakan saluran keluaran yang apabila berlogika 0 menunjukkan bahwa bus alamat
rendah (A0-A7) berisi alamat I/O untuk pembacaan
atau penulisan. Sedangkan bus alamat tinggi
(A8-A15) berisi
data yang akan dikeluarkan dari akumulator (register A).
RD : Singkatan dari read
(membaca)
sebagai saluran sinyal keluaran yang berfungsi
untuk melakukan kendali pada
pembacaan memori ataupun perangkat I/O.
WR : Singkatan dari write (menulis) sebagai saluran sinyal keluaran yang berfungsi
untuk melakukan kendali pada penulisan memori ataupun perangkat I/O.
RFSH : Singkatan dari refresh (penyegaran) sebagai sinyal keluaran yang berfungsi untuk
memberikan sinyal
penyegaran pada memori RAM jenis dinamik.
HALT : Merupakan sinyal kontrol keluaran yang akan memberikan level 0 jika instruksi HALT
dilaksanakan pada saat halt CP akan dilaksanakan instruksi NOP (no
operation).
WAIT : Merupakan sinyal kontrol
masukan.
Jika
pada
saluran ini diberikan logik 0, akan
memberitahukan pada CPU bahwa data
dari
memori
ataupun perangkat I/O belum
siap
untuk
ditransfer ke saluran bus data.
INT : Merupakan sinyal kontrol
masukan.
Jika
pada
saluran ini diberikan logik 0, CPU akan diberitahu bahwa peralatan luar meminta suatu interupsi (sela). Permintaan sela akan ditahan hingga akhir siklus instruksi yang sedang berjalan, dengan syarat bahwa IFF (interupt flip-flop register diset) dan saluran BUSRQ sedang tidak
diaktifkan.
NMI : Merupakan saluran kontrol
masukan. Jika diberi logik 0 akan menyebabkan CPU melaksanakan outin dari NMI pada alamat memori 0066H. Interupsi ini tidak dapat dihalangi
baik secara hardware maupun
software.
RESET : Merupakan sinyal kontrol masukan.
Jika diberikan logik 0 akan mereset
CPU untuk mengisi register PC dengan
0000H dan semua IFF akan diseble, Register I dan R diisi 0000H. Semua bus dalam keadaan
floating. Setelah saluran
ini dinonaktifkan kembali maka berarti CPU akan melaksanakan instruksi awal memori seperti ketika sistem dihidupkan pertama
kali.
BUSRQ : Merupakan sinyal kontrol masukan. Jika diberikan log 0, berarti merupakan permintaan untuk saluran - saluran bus data, bus saluran alamat dan bus saluran kontrol untuk menjadi floating (dalam keadaan impedansi tinggi). Kondisi ini biasanya digunakan untuk trasfer data secara langsung antara perangkat-perangkat pendukung mikroprosesor, tanpa melalui CPU (DMA = Direct Memori Acses).
BUSRQ : Merupakan sinyal kontrol masukan. Jika diberikan log 0, berarti merupakan permintaan untuk saluran - saluran bus data, bus saluran alamat dan bus saluran kontrol untuk menjadi floating (dalam keadaan impedansi tinggi). Kondisi ini biasanya digunakan untuk trasfer data secara langsung antara perangkat-perangkat pendukung mikroprosesor, tanpa melalui CPU (DMA = Direct Memori Acses).
CLK : Merupakan saluran masukan untuk clock
sistem
yang digunakan oleh mikroprosesor dalam melaksanakan proses pengolahan
instruksi. Jadi secara total kecepatan kerja akan
ditentukan oleh frekuensi clock ini. Besaranya
frekuensi untuk mikroprosesor Z 80 adalah 2,5
MHz dan Z80A
adalah 4 MHz.
2.5 Soal Latihan
1. Jelaskan
perbedaan dari mikroprosesor, mikrokomputer dan mikrokontroler
?
2. Sebutkan dan jelaskan saluran-saluran yang terdapat pada mikroprosesor ?
3. Jelaskan
sifat
dari
masing-masing saluran pada
mikroprosesor tersebut ?
4. Pada address bus terdapat
memori
address
dan
I/O
address, jelaskan prinsip kerja hal tersebut ?
5. Dari
arsitektur mikroprosesor Z80
terdapat fungsi penting yaitu blok
ALU, berikan penjelasan dari blok
tersebut ?
6. Jelaskan
fungsi masing-masing
kelompok kaki atau pin dari mikroprosesor z80 ?
2.6 Referensi
1. Dauglas V. Hall, 1986,
Microproseor and Interfacing
Programing and Hardware. New York: Mc Graw Hill.
2. Harry Garland, 1979, Introduction
to Mocroprocessor
System Design,
New Jersey, : Mc Graw Hill.
3. Siswo Wardoyo, 2004, BPK Mikroprosesor, Surakarta:
POLITAMA.
4.
Yoyo Somantri
& Erik Haritman, 2006, Hand Out Bahan
Kuliah, Bandung: UPI.
Tidak ada komentar:
Posting Komentar