Top Banner
DASAR-DASAR MIKROPROSESOR A. Pengertian Mikroprosesor (P) Mikroprosesor secara umum dapat diterjemahkan sebagai pemroses mikro/pengolah mikro. Secara fisik mikroprosesor adalah sebuah keping (chip) yg merupakan perpaduan dari suatu rangkaian elektronika yang rumit yang dirancang / dibuat untuk mengolah / memproses pekerjaan-pekerjaan yang cukup kompleks. Jadi, istilah mikro pada mikroprosesor sangat berkait dengan ukuran fisik mikroprosesor yang terbilang kecil. B. Perkembangan Mikroprosesor. Sejarah mencatat bahwa orang-orang Babilonia kuno telah memakai Abacus (alat hitung yang terbuat dari manik-manik) sekitar 500SM. Lalu sekitar tahun 1642 Blaise Pascal menciptakan mesin hitung yang menggunakan prinsip gigi roda (cikal bakal kalkulator sekarang). Perkembangan berikutnya adalah dengan diciptakannya mesin hitung raksasa (1940-1950), yang dibangun dari relai-relai dan tabung-hampa (vaccum-tube) berukuran raksasa. Perkembangan berikutnya, memanfaatkan transistor dan komponen zat padat (solid-state electronic) digunakan untuk membangun mesin serupa yang berukuran lebih kecil. Akhirnya, perkembangan rangkaian terpadu/terintegrasi (IC=Integrated Circuit) sekitar 1960, telah mengantar ke pengembangan mikroprosesor dan sistem komputer berbasis mikroprosesor (Microprocessor Based Computer System). 1. Mikroprosesor 4 bit Pada 1971, Intel Corporatioan & Marcion G.Hoff memperkenalkan mikroprosesor pertama kali yaitu mikroprosesor 4 bit seri 4004, yang memiliki 4096 alamat, masing-masing 4 bit memori dan memiliki 45 buah instruksi yang berbeda serta hanya digunakan untuk keperluan terbatas, misal video game dan beberapa alat kendali (controller) sederhana. 2. Mikroprosesor 8 bit Akhir 1971, dengan menyadari bahwa mikroprosesor adalah produk komersial, Intel Corporation kembali meluncurkan mikroprosesor 8 bit pertama yaitu 8008, dengan memori yang lebih besar (16 KB x 8 bit) dan jumlah instruksi yang lebih banyak (48 instruksi). Oleh karena pemakaian mikroprosesor 8008 yang makin meningkat dan meluas maka memori dan jumlah instruksi tersebut menjadi kurang memadai, sehingga Intel Corp tahun 1973 meluncurkan mikroprosesor 8080 (mikroprosesor 8 bit modern pertama). Setelah itu banyak 1
16

Dasar Dasar Mikroprosesor

Dec 29, 2015

Download

Documents

naitsuga

mikroposesor
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dasar Dasar Mikroprosesor

DASAR-DASAR MIKROPROSESOR

A. Pengertian Mikroprosesor (P)

Mikroprosesor secara umum dapat diterjemahkan sebagai pemroses

mikro/pengolah mikro. Secara fisik mikroprosesor adalah sebuah keping (chip) yg

merupakan perpaduan dari suatu rangkaian elektronika yang rumit yang dirancang /

dibuat untuk mengolah / memproses pekerjaan-pekerjaan yang cukup kompleks.

Jadi, istilah mikro pada mikroprosesor sangat berkait dengan ukuran fisik

mikroprosesor yang terbilang kecil.

B. Perkembangan Mikroprosesor.

Sejarah mencatat bahwa orang-orang Babilonia kuno telah memakai Abacus

(alat hitung yang terbuat dari manik-manik) sekitar 500SM. Lalu sekitar tahun 1642

Blaise Pascal menciptakan mesin hitung yang menggunakan prinsip gigi roda (cikal

bakal kalkulator sekarang).

Perkembangan berikutnya adalah dengan diciptakannya mesin hitung raksasa

(1940-1950), yang dibangun dari relai-relai dan tabung-hampa (vaccum-tube)

berukuran raksasa. Perkembangan berikutnya, memanfaatkan transistor dan

komponen zat padat (solid-state electronic) digunakan untuk membangun mesin

serupa yang berukuran lebih kecil. Akhirnya, perkembangan rangkaian

terpadu/terintegrasi (IC=Integrated Circuit) sekitar 1960, telah mengantar ke

pengembangan mikroprosesor dan sistem komputer berbasis mikroprosesor

(Microprocessor Based Computer System).

1. Mikroprosesor 4 bit

Pada 1971, Intel Corporatioan & Marcion G.Hoff memperkenalkan

mikroprosesor pertama kali yaitu mikroprosesor 4 bit seri 4004, yang memiliki

4096 alamat, masing-masing 4 bit memori dan memiliki 45 buah instruksi yang

berbeda serta hanya digunakan untuk keperluan terbatas, misal video game dan

beberapa alat kendali (controller) sederhana.

2. Mikroprosesor 8 bit

Akhir 1971, dengan menyadari bahwa mikroprosesor adalah produk

komersial, Intel Corporation kembali meluncurkan mikroprosesor 8 bit pertama

yaitu 8008, dengan memori yang lebih besar (16 KB x 8 bit) dan jumlah instruksi

yang lebih banyak (48 instruksi).

Oleh karena pemakaian mikroprosesor 8008 yang makin meningkat dan

meluas maka memori dan jumlah instruksi tersebut menjadi kurang memadai,

sehingga Intel Corp tahun 1973 meluncurkan mikroprosesor 8080

(mikroprosesor 8 bit modern pertama). Setelah itu banyak perusahaan-

perusahaan lain yang juga mengeluarkan mikroprosesor 4 bit & 8 bit mereka

yang pertama. Keistimewaan mikroprosesor ini, selain alamat memori dan

jumlah instruksinya yang lebih besar, peningkatan juga terdapat kecepatan

(speed) yang fantastis dibanding dengan mikroprosesor 8008. Mikroprosesor

8008 melakukan satu operasi internal (kecepatan eksekusi) dalam 20mS, sedang

mikroprosesor 8080 hanya membutuhkan 2,0mS.

Versi yang lebih baru dari 8080, yaitu 8085 yang diluncurkan oleh Intel Corp

tahun 1977, hanya sedikit peningkatan kinerja yang dimiliki oleh 8085 bila

1

Page 2: Dasar Dasar Mikroprosesor

dibandingkan dengan 8080 (alamat memori dan jumlah instruksinya sama, clock-

nya 1.3 mS).

3. Mikoprosesor 16 bit

Pada 1978 Intel Corp meluncurkan mikroprosesor 8086. Setahun kemudian

melepas mikroprosesor 8088 ke pasaran. Keduanya adalah 16 bit, dengan

kecepatan eksekusi 400 ns, kapasitas alamat (1 Mb x 8 bit) atau 512 x 16

bit.satu kemajuan penting yang dicapai oleh mikroprosesor 16 bit ini adalah

kemampuan melakukan perkalian dan pembagian secara perangkat keras

(hardware multiplication and division) kemampuan ini tidak dimiliki oleh

mikroprosesor 8 bit, kecuali Motorola MC 6809 yang mampu melakukan

perkalian, tapi tidak untuk pembagian.

Perkembangan mikroprosesor 16 bit tidak berhenti di sini, Intel Corp

kemudian memproduksi 80186, versi 80186 yang lebih canggih (lebih banyak

untuk pemakaian pengendalian). Versi terakhir dari mikroprosesor 80186 adalah

80286 yang memiliki alamat memori 16 Mb, kecepatan clock-nya juga

mengalami peningkatan menjadi 16 MHz.

4. Mikroprosesor 32 bit

Setelah sukses dengan mikroprosesor 16 bit, Intel Corp meluncurkan 2 versi

mikroprosesor 32 bit, yaitu 80386 dan 80486. Kecepatan clock yang lebih tinggi

menjadi kelebihan mikroprosesor ini, selain bus datanya yang lebih lebar dan

ruang memori yang lebih besar (4 Gb).

Mikroprosesor 80486 adalah hasil pengembangan dari mikroprosesor 80386,

dengan prosesor tambahan Co-Processor, untuk keperluan arithmatika, dan 8 Kb

internal cache memory. Mikroprosesor 80386 mengeksekusi sebagian besar

instruksinya dalam 2 clock, sedang 80486 dalam 1 clock. Generasi berikutnya

dari Intel Corp adalah mikroprosesor Pentium, Pentium II dan seterusnya.

C. Arsitektur Dasar Komputer

Arsitektur komputer berhubungan dengan perancangan blok-blok dasar

(memory, processor & input/output device) dan bagaimana interaksi antar blok

tersebut.

Arsitek komputer memilih dan membangun interkoneksi antar blok dengan

mempertimbangkan, antara lain : kecepatan, harga dan kehandalannya. Komputer

berarsitektur Von Neuman terdiri dari 3 komponen utama yaitu : Central Processing

Unit (CPU), memory, dan I/O device (piranti masukan/keluaran).

2

Page 3: Dasar Dasar Mikroprosesor

Gambar 1. Arsitektur Dasar Komputer Van Neuman

Keterangan :

1. CPU, adalah otak dari sistem komputer dan berfungsi mengorganisasikan semua

operasi yang terjadi di dalam komputer. Operasi tersebut meliputi operasi

perpindahan/transfer data, operasi aritmatika & logika, serta operasi pengendalian

I/O device serta seluruh sumber daya (resources) yang dikendalikan oleh CPU.

2. Memory, berfungsi sebagai penyimpan data maupun instruksi-instruksi program.

Memori terdapat 2 jenis, yaitu:

a. RAM, untuk menyimpan data dan instruksi-instruksi program yang sedang

dijalankan oleh komputer dan bersifat sementara (temporary), yaitu

data/instruksi akan hilang jika catu daya dimatikan.

b. ROM, untuk menyimpan instruksi-instruksi initial boot up (yaitu instruksi-

instruksi yang dijalankan ketika komputer baru dihidupkan). Instruksi-instruksi

tersebut berfungsi untuk mempersiapkan komputer agar dapat digunakan

sebagaimana mestinya. Instruksi-instruksi tersebut bersifat permanent.

3. Input-Output Devices, berfungsi sebagai piranti penghubung dengan dunia luar

(piranti eksternal). Adapun piranti-piranti tersebut adalah:

Layar Monitor

Printer

Mouse

Keyboard

Scanner, dan lain-lain.

Ketiga komponen itu saling dihubungkan dengan 3 bus yang disebut struktur bus,

yaitu:

Data bus, untuk melewatkan data

Control bus, untuk melewatkan sinyal kendali

Addres bus, untuk melewatkan alamat data

Untuk lebih memperjelas mengenai CPU dapat dijabarkan sbb:

3

Page 4: Dasar Dasar Mikroprosesor

Gambar 2. Arsitektur Internal Mikroprosesor (CPU)

a. ALU, berfungsi untuk menangani operasi-operasi aritmatika dan operasi logika.

b. Control Unit, berfungsi mengatur semua proses internal (transfer data, interupsi,

pengendalian jalannya program, control I/O device, serta semua resources pada

mikro prosesor).

c. Register, pada dasarnya register adalah memori yang dapat di akses dengan

sangat cepat. Operasi-operasi aritmatika & logika yang komplek membutuhkan

tempat penyimpan sementara, untuk meyimpan hasil dari tahapan operasi

tersebut. Proses transfer data dari memori ke media penyimpan perlu

penampung sementara.

SISTEM BERDASAR MIKROPROSESOR

A. Mikroprosesor

Mikroproseor adalah merupakan piranti VLSI yang dapat diprogram untuk

melaksanakan sejumlah fungsi dan instruksi. Dalam sebuah sistem mikroprosesor

chip ini disebut unit pengolah pusat / CPU/MPU. CPU terdiri dari dua bagian :

1. Arithmatic and Logic Unit (ALU)

2. Control Unit (CU)

ALU berfungsi melakukan operasi–operasi yang sesuai dengan instruksi yang

diberikan, sedang CU berfungsi dan bertangguang jawab untuk melakukan

penyesuaian pada operasi sejumlah unit di dalam sistem, termasuk mikroprosesornya

dan mengatur pewaktuan instruksi serta aliran data di dalam CPU, juga antara CPU

dengan unit lainnya di dalam sistem. Mikroperosesor ada yang dikemas dalam

bentuk DIL (Dual In-Line) 40 pin. Kapasitas atau ukuran bit, dari suatu mikroprosesor

chip ditentukan oleh jumlah cacah bit data yang dapat ditanganinya. Chip 4 bit

memiliki kapasitas data 4 bit sedang chip 8 bit memiliki kapasitas data 8 bit dan

seterusnya. Jenis yang paling paling banyak digunakan adalah mikroprosesor 8 bit

untuk PC yaitu prosesor Z-80 dari Zilog, 6502 dari Intel dan 6800 dari Motorola.

Mikroprosesor 16 bit seperti Z-80 dari Zilog, 8086 dari Intel dan 6800 dari

Motorola, juga banyak digunakan dalam PC atau komputer pribadi serta piranti-piranti

4

Page 5: Dasar Dasar Mikroprosesor

pengendali mini. Organisasi dasar sistem berdasar mikroprosesor 8 bit dapat pada

Gambar 1 di bawah ini :

Gambar : system berdasar mikroprosesor 8-bit

Gambar 1. Organisasi dasar sistem berdasar mikroprosesor (8 bit)

Gambar 1. Menunjukan hubungan antar elemen yang satu dengan elemen yang

lain, dalam sebuah sistem yang umum. Sistem tersebut terdiri dari :

1. CPU (Central Processing Unit)

2. Memory Chip (RAM & ROM)

3. Address Decoder Chip

4. Input-Output Interface Chip ( PIO & UART)

5. Struktur Bus

CPU adalah chip tunggal yang berisi semua rangkaian yang diperlukan untuk

mengartikan dan melaksanakan instruksi program dalam bentuk manipulasi data,

operasi logika dan aritmatika, pewaktuan dan pengendalian sistem.

RAM & ROM adalah berisi sejumlah lokasi memori dimana data dalam bentuk bit

tersimpan. Secara normal setiap lokasi memori akan menyimpan karakter

sebanyak 8-bit (1 byte). Setiap lokasi memori mempunyai alamat unik 16-bit

sehingga memiliki kawasan alamat antara 0000 sampai FFFF atau 216 = 65536 =

64K alamat. Dengan jumlah halaman memori 28 = 256, dan setiap halaman

memori berisi 28 = 256 lokasi memori.

Input-Output Interface Chip, akan menghubungkan sistem ke piranti eksternal,

dalam Gambar 1. diperlihatkan dua tipe piranti I/O yaitu PIO (Parallel Input-Output)

atau sering disebut PIA (Parallel Interface adapter) yang berfungsi sebagai antar-

muka I/O yang dapat diprogram dan bertindak sebagai antar-muka paralel. UART

(Universal Asynchronous Receiver-Transmitter) yang menyediakan antar-muka

seri. Unit I/O interface bersifat bi-directional, yang menyediakan sambungan dari

dan ke sistem dengan piranti-piranti pheriperal seperti untuk keyboard, VDU

(Visual Display Unit) dan transducer atau unit penggerak motor stepper, LED dan

relay.

Address Decoder Chip, akan memilih chip yang sesuai untuk dialamati CPU.

Struktur Bus, bus adalah sekelompok kawat penghubung yang digunakan

sebagai jalur informasi digital yang memiliki fungsi umum. Terdapat tiga jenis bus

dalam sistem berdasar mikroprosesor :

a. Bus Data (Data Bus) berfungsi untuk mentransfer data antara CPU

dan elemen-elemen lain di dalam sistem. Oleh sebab itu, data harus

5

Page 6: Dasar Dasar Mikroprosesor

dimasukkan dan dikeluarkan dari mikroprosesor maka bus data harus bersifat

bi-directional.

b. Bus Alamat (Address Bus) berfungsi untuk membawa data alamat

dari lokasi memori, untuk mengambil data agar dapat dibaca, atau untuk

menyimpan agar dapat ditulis ke lokasi memori. Bus alamat juga difungsikan

untuk mengalamati elemen-elemen lain di dalam sistem seperti unit I/O

interface. Bus alamat adalah uni-directional yaitu mampu membawa informasi

digital 16 bit secara serentak .

c. Bus Control (Control Bus), berfungsi membawa semua isyarat kontrol dari CPU.

Jumlah jalur kontrol bergantung pada mikroprosesor yang digunakan dan juga

rancangan sistemnya.

Bus kontrol melakukan 4 fungsi utama:

1. Penyesuai memori

2. Penyesuai I/O

3. Penjadwalan CPU, misalnya : interupsi

4. Tugas lain seperti untuk reset dan detak.

Interupsi

Pada piranti pheriperal seperti printer perlu didahulukan maka program utama

dapat di interupsi secara sementara oleh isyarat kontrol interupsi. Setelah selesai

melayani piranti pheriperal tersebut CPU akan kembali ke program semula yang

dimulai dari titik setelah interupsi. Interupsi ada dua yaitu :

1. Interupsi

IRQ (Interrupt Request) yaitu CPU akan menyelesaikan instruksi yang sedang

dikerjakan sebelum menanggapi instruksi tersebut.

Halt, merupakan jenis lain dari isyarat yang terinterupsi yang akan menghentikan

program utama untuk sementara sehingga sumber luar atau piranti lain dapat

menjalankan program yang berbeda.

2. Reset

Reset merupakan jenis interupsi yang menolak semua masukan dan

menghentikan pelaksanaan program di dalam CPU serta mengawali kembali

mikroprosesor. Gambar 2 menunjukkan rangkaian reset untuk sebuah

mikroprosesor. Jika, tombol Reset ditekan, maka C1 akan dilucuti muatannya dan

pin reset akan bernilai/berlogika 0, sehingga operasi baca dan tulis akan

dihentikan. Jika tombol reset dilepas maka C1 akan terisi muatan lagi melalui R1

sehingga pin reset akan bernilai 1, dan mikroprosesor akan melakukan urutan awal

sehingga CPU akan ke awal program.

Baca dan Tulis

CPU akan menentukan arah transfer data dari dan ke mikroprosesor. Fungsi ini

dilakukan dengan cara membaca dan menulis ke jalur kontrol. Pada operasi baca

yaitu pada saat CPU menerima data dari memori, jalur baca akan aktif sehingga

memungkinkan data dapat ditransfer ke CPU. Pada operasi tulis yaitu pada saat CPU

mengirim data ke memori, jalur tulis akan aktif sehingga data dapat dikirim dari CPU

ke memori.

6

Page 7: Dasar Dasar Mikroprosesor

Gambar 2. Rangkaian reset CPU

Isyarat Pulsa Detak

Crystal-controlled oscillator digunakan untuk pulsa detak pewaktuan dari sistem

mikroprosesor. Isyarat kontrol detak menyesuaikan gerakan data dan menentukan

kecepatan operasinya.

Gambar 3. Rangkaian Osilator Detak

Frekuensi detak bervariasi dari kecepatan yang relatif rendah (1 MHz pada

mikroprosesor 6502) sampai yang lebih tinggi (12MHz untuk chip 16 bit 6800).

B. Arsitektur CPU

Gambar 4. Arsitektur CPU Internal (dari mikroprosesor 8 bit disederhanakan)

7

Page 8: Dasar Dasar Mikroprosesor

Hubungan ke chip lain dalam sistem dilakukan lewat data bus, address bus &

control bus. Mikroprosesor merupakan inti dari sistem, bekerja menurut daur umpan

dan eksekusi (Fetch and Execute).

Selama fase umpan CPU menerima instruksi dari lokasi memori (tempat

program disimpan). Umpan diterima mikroprosesor yang akan menempatkan alamat

dari lokasi memori pada address bus, sehingga akan mengaktifkan jalur kontrol baca

bekerja. Address decoder chip akan memilih memory chip yang sesuai untuk

meletakkan isi alamat (yaitu instruksi dalam bentuk kata 8 bit tersandi) yang disebut

Op-Code pada data bus. CPU menerima instruksi & menyimpannya ke dalam register

internal yang disebut instruction register (IR).

Selama fase eksekusi, instruksi yang diterima CPU akan disandikan dan

dieksekusi. Yang dilakukan dengan cara CPU membangkitkan isyarat pewaktuan &

kontrol yang diperlukan untuk melaksanakan instruksi tersebut. Dalam fase eksekusi

tersebut terdapat operasi aritmatika sederhana (seperti penjumlahan / pengurangan

atau transfer data yang lebih rumit dari dan ke piranti pheriperal / memory).

Kedua fase fetch and execute, memerlukan waktu >1 pulsa detak (lebih dari

satu pulsa detak). Saat suatu instruksi selesai dilaksanakan alamat bus yang memulai

kembali daur-umpan dan eksekusi (fetch and execute).

1) Penyangga bus

Dalam sistem, bus berfungsi menghubungkan mikroprosesor ke semua

piranti memori dan interface, tapi mikroprosesor dari MOS sering tidak memadai

untuk sistem yang besar, sehingga digunakan penyangga bus, untuk

mempertinggi kemampuan dari penyangga bus. Ada dua jenis penyangga /

penggerak bus, yaitu pengirim (transmitter) untuk menggerakkan bus & penerima

(receiver) untuk mendengarkan bus. Pada bus dua arah (seperti data bus,

pengirim/penerima disebut penyangga dua arah/transreceiver) sering di gunakan

juga.

Gambar 5. Penyangga data dan alamat

Penyannga tiga kondisi juga sering dipakai untuk memutuskan bus dari

mikroprosesor. Cara ini dipakai jika piranti eksternal digunakan untuk

mengendalikan sistem dari CPU on-board. Di dalam CPU hubungan antara elemen-

elemen yang ada dilakukan melaluai data bus internal 8 bit & jalur kontrol dari blok

pewaktuan & logika kontrol. Data bus internal dihubungkan dengan data bus

sistem, lewat penyangga dua arah (transreceiver) logika kontrol dan pewaktuan

dilakukan oleh isyarat kontrol untuk keseluruhan sistem. Satu-satunya isyarat

kontrol diumpankan ke CPU adalah interupsi yang masuk ke dalam instruction

decoder (ID) untuk menghentikan operasi mikroprosesor.

8

Page 9: Dasar Dasar Mikroprosesor

2) Unit Aritmatika dan Logika

Berfungsi melakukan fungsi aritmatika dan fungsi logika (seperti operasi

NAND atau OR) pada 2 bilangan, sehingga ALU harus memiliki dua input yaitu :

Input A untuk bilangan 1, & Input B untuk bilangan 2. Kedua bilangan tersebut

pertama kali disimpan dalam 2 register 8 bit, accumulator (ACC) untuk input A dan

sebuah register sementara (Temp) untuk input B setelah operasi ALU selesai,

hasilnya akan disimpan dalam ACC menggantikan isi yang lama.

3) Instruction Register (IR)

IR merupakan register 8 bit yang digunakan untuk menyimpan instruksi

tersandi, yaitu saat instruksi tersebut digunakan atau sampai instruksi berikutnya

diumpankan dan disimpan, begitu seterusnya.

4) Instruction Decoder (ID)

ID yaitu berupa instruksi tersandi adalah kata 8 bit yang dinamakan

Operational Code (Op-Code). Setiap instruksi (seperti tambah atau simpan)

memiliki sandi atau kode yang berbeda atau dengan kata lain setiap

mikroprosesor memilki Op-Code yang berbeda yang disajikan dalam bentuk

instruction set. Op-Code yang tersimpan akan diumpankan ke ID dari IR. Decoder

akan merinci sandi / kode tersebut dan menginstruksikan “ TIMING AND CONTROL

LOGIC” Untuk membangkitkan isyarat pewaktuan dan kontrol yang diperlukan

untuk melaksanakan instruksi tersebut.

5) Program Counter (PC)

PC atau pencacah program digunakan untuk melacak program dan

meyakinkan bahwa CPU menerima instruksi yang sesuai dengan urutan yang

ditentukan oleh program.

Telah diketahui bahwa mikroprosesor akan melaksanakan tugas menurut

urutan tertentu yang disebut program. Program adalah berisi sejumlah instruksi,

dan setiap instruksi berisi Op-Code, sedang data yang akan diproses disebut

Operand. Instruksi-instruksi disusun dalam urutan logika tertentu dan disimpan

secara berurutan pada lokasi memori, yang disebut alamat program. Tabel bawah

ini menggambarkan konstruksi dari program :

PC berupa register 16 bit yang berisi alamat lokasi program, berikut ini

merupakan penjelasan dari tabel di atas :

Untuk memulai program, CPU menempatkan alamat awal (Starting Address)

0A20 (tempat operator 1 disimpan) dalam program, yang selanjutnya akan

ditempatkan pada address bus untuk mengumpan instruksi pertama. Instruksi

9

Page 10: Dasar Dasar Mikroprosesor

1 akan diumpankan ke CPU lewat data bus & disimpan dalam IR. Pada kondisi

ini pencacah program akan bertambah menjadi 0A20 + 1 = 0A21, operator 1

tidak memiliki data, sehingga segera dapat dilaksanakan. Setelah instruksi 1

selesai dilaksanakan maka CPU memberitahu pencacah program untuk

mendapatkan isi (0A21) ke dalam bus alamat (address bus) untuk

mengumpankan instruksi 2, dan menyimpannya dalam IR. Jika ini terjadi

pencacah program akan bertambah menjadi 0A21 + 2 = 0A22, yang berisi

data (operand 2). Operator 2 akan disampaikan, tapi tidak bisa diselesaikan

tanpa data yang sesuai yaitu berupa bilangan yang tersimpan dalam suatu

lokasi atau ditambahkan ke bilangan lain yang sudah ada dalam ACC lalu

operand 2 akan diumpankan dengan menempatkan isi pencacah program,

0A22 pada address bus. Operand 2 muncul pada data bus, saat pencacah

program bertambah menjadi 0A23 (0A22 + 1). Saat instruksi 2 selesai

dilaksanakan, pencacah program akan meletakkan isinya yang baru, 0A23 ke

address bus untuk mengumpan instruksi 3, dan seterusnya.

Sebuah instruksi dapat berisi lebih dari 1 operand 8 bit sebagai contoh dua

operand 8 bit diperlukan untuk mengakomodasi alamat 16 bit.

6. General Purpose Register (Register Multi Guna)

Setiap mikroprosesor memiliki sejumlah register multi guna (biasa memiliki

lebar 8 bit, tapi ada yang 16 bit) sebagai tempat penyimpan sementara data /

alamat selama program berlangsung.

C. UART

UART (Universal Asynchronous Receiver-Transmiter) disebut juga ACIA

(Asyncnronous Comunication interface Adapter) memiliki dua mode operasi, yaitu:

a. Mode Transmiter (pegiriman), yaitu UART akan mengambil data paralel dan

mengubahnya dalam aliran data seri yang berisi karakter star, stop dan karakter

yang sama.

b. Mode Receiver (penerimaan), yaitu UART akan mengambil aliran bit seri dan

mengubahnya ke dalam data paralel.

Gambar 7. Sambungan CPU, UART & piranti periperal seperti printer

CPU akan menentukan mode operasi dari UART :

a. Saat mode pengiriman UART menerima data paralel dari CPU & mengubahnya ke

dalam data seri untuk piranti pheriperal.

b. Saat mode penerimaan UART menerima data seri dari CPU dan mengubahnya ke

dalam data paralel untuk piranti pheriperal.

Untuk meyakinkan bahwa pengiriman terjadi saat pheriperal siap menerima

data, maka dalam rangkaian tersebut ditambahkan jalur handshaking. Sebelum CPU

10

Page 11: Dasar Dasar Mikroprosesor

mulai mengirim informasi ke piranti pheriperal, maka dikirim dulu pesan Request to

Send, dan pada saat piranti siap menerima data, piranti tersebut akan mengirim

pesan Clear to Send. CPU akan mengosongkan data ke dalam register UART.

Demikian juga sebaliknya saat piranti pheriperal akan mengirim data ke CPU pesan

IRQ (Interrupt Request) dikirimkan ke UART & selanjutnya diteruskan ke CPU.

Berdasarkan diagram blok fungsional dasar di atas, UART terdiri dari 3 elemen

yaitu pengirim, penerima & kontrol logika.

Pengirim, terdiri atas sebuah lanch untuk menjaga data parallel sebelum diubah

kealiran data seri & sebuah register geser (Shift Register) untuk melakukan

pengubahan data paralel ke seri.

Gambar 8. Diagram Blok UART

Penerima, terdiri atas shift register untuk mengubah data seri ke paralel & sebuah

latch untuk menjaga data seri agar stabil sampai CPU memerlukannya.

UART dapat diprogram secara penuh khususnya untuk menentukan mode

operasinya (mode pengiriman atau penerimaan). UART adalah piranti asinkron

yang memerlukan bit awal & akhir untuk setiap kata digital yang dikirimkan dari

dan ke CPU. Operasi sinkron dapat dilakukan jika bit awal & akhir tidak diperlukan.

USART (Universal Synchronous / Asynchronous Receiver-Transmitter) menyediakan

fasilitas untuk sinkron.

D. PIO

Chip Parallel Input-Output menyediakan jalur paralel yang disebut port,

sehingga memungkinkan CPU dapat berinteraksi dengan piranti periperal (yang

memerlukan bit data paralel).

11

Page 12: Dasar Dasar Mikroprosesor

Gambar 9. Sambungan antara CPU, PIO & piranti periperal

Pada Gambar 9. tersebut ditunjukkan input/output port 8 bit (P1 s/d P7),

meskipun biasanya terdapat dua atau tiga (input/output) port 8 bit. I/O port bersifat

dua arah dimana setiap bit dapat deprogram sebagai bit keluaran atau bit masukan,

jalur handshake dimanfatkan seperti halnya pada UART.

Pemrograman PIO dapat dilaksanakan dengan menyusun port-prot PIO agar

menyerupai alamat memori, sehingga sebagian ruang memori dipakai secara eksklusif

untuk operasi unit I/O. Teknik ini disebut sebagai memory mapped I/O, digunakan oleh

mikroprosesor seperti 6502 & 6800.

Mikroprosesor lain seperti Z-80 dan 8080 menggunakan instrruksi I/O khusus

untuk menginstruksikan PIO agar melakukan transfer data antara sistem

mikroprosesor dan piranti periperal. Selain itu transfer data dapat dilakukan tanpa

intervensi langsung dari CPU, teknik ini disebut sebagai Direct Memory Access (DMA),

yang memanfaatkan chip pengendali DMA yang memberikan transfer data yang

sangat cepat.

Gambar 10. Diagram Blok PIO

Gambar 10. di atas menunjukkan diagram blok internal dari chip PIO memory

mapped, DDR adalah register 8 bit yang digunakan untuk menentukan arah tiap bit

dari port PIO, apakah bertindak sebagai masukan / keluaran. Contoh di dalam sistem

12

Page 13: Dasar Dasar Mikroprosesor

mikroprosesor 6502 logika 0 di dalam DDR menentukan bit tersebut sebagai

masukan, dan logika 1 sebagai keluaran.

Lebih lanjut, OF (hex) akan menentukan P0 – P3 sebagai masukan dan P4 – P7

sebagai keluaran. Output data register berfungsi untuk menjaga data parallel tetap

stabil untuk dibaca piranti periperal, input data register berfungsi untuk menjaga agar

data parelel yang datang tetap stabil sampai CPU siap membacanya.

Himpunan instruksi(Instruction Set), instruksi-instruksi tersebut diumpankan ke

mikroprosesor chip dalam bentuk bilangan biner 8 bit disebut Operational Code (Op-

Code) berikut datanya yang disebut operand. Menulis program dengan sandi mesin

merupakan pekerjaan panjang & menjemukan biasanya program ditulis dengan

menggunakan alphabet, lalu diterjemahkan ke serangkaian Op-Code & operand.

Bentuk paling sederhana dari terjemahannya adalah assembler, yang memanfaatkan

bahasa pemrograman rakitan (Assembly Programing Language).

Dalam bahasa assembler, tiap Op-Code memiliki sandi mnemonic, seperti :

a. LDA untuk load accumulator

b. ADC untuk Add With Carry

c. JMP untuk Jump, dan seterusnya.

Instruction set dapat dikelompokkan menjadi tiga kelompok (sub himpunan)

1. Pengiriman data yang memuat pergerakan data antara CPU dan lokasi memori,

contoh

a. Memuat accumulator dengan isi memory (LDA).

b. Menyimpan isi accumulator ke dalam memory (STA).

c. Memuat register X dengan isi memori (LDX).

2. Aritmatika & logika berisi instruksi-instruksi untuk melakukan operasi aritmatika &

logika, Contoh:

a. Menjumlahkan dua bilangan dengan carry (ADC).

b. Mengurangi dua bilangan dengan carry (SBC).

c. Mengoprasikan AND pada dua bilangan (AND).

d. Mengoprasikan EXOR pada dua bilangan (XOR).

e. Menggeser kanan secara logika (LSR).

f. Menggeser kiri secara aritmatika (ASL).

3. Tes & cabang menyediakan fasilitas bagi mikroprosesor untuk melakukan

serangkaian operasi dengan cara melompat atau mencabang ke bagian lain dari

program, contoh

a. Melompat ke subrutin (JSR).

b. Mencabang jika hasilnya negatif (BMI).

c. Mencabang jika sama (BEQ).

13