22 Desember 2016

MODUL BAB II DASAR MIKROPROSESOR by. Siswo Wardoyo



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   mamp 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 21= 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:
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   tertent 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.

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).
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