Rabu, 08 April 2009

MICROCOMPUTER - MICROCONTROLER

MIKROKOMPUTER

Definisi :

Mikrokomputer adalah interkoneksi antara mikroprosesor (CPU) dengan memori utama (main memory) dan antar muka input-output (I/O interface) yang dilakukan dengan menggunakan sistem interkoneksi bus.



Sistem Interkoneksi Bus

Ø Bus alamat : Kumpulan konduktor, yang membawa kode-kode alamat dari mikroprosesor keunit-unitnya, dan memiliki sifat aliran satu arah.

Ø Bus data : Kumpulan konduktor, yang membawa kode-kode instruksi atau data dari mikroprosesor ke unit-unitnya atau sebaliknya, dan memiliki sifat aliran dua arah.

Ø Bus kontrol : Kumpulan konduktor, yang membawa sinyal-sinyal kontrol.



Memory



Elemen memory sangat menentukan dalam sistem mikrokomputer. Memory ini diperlukan untuk menyimpan program yang ada pada komputer dan data. Berbagai macam tipe memory dibedakan menurut ukuran , mode operasi, teknologi dan lain sebagainya . Memori dalam sistem mikrokomputer dapat juga dikatakan sebagai elemen penyimpanan matriks dua dimensi yang dibentuk dari flip– flop.

Kapasitas 1kilobit = 1 k = 210 bits = 1024 bits = 1024 elemen memory Organisasi 256 x 4, contoh 256 = 28 jalur dari setiap 4 bits Secara garis besar, memory dibagi menjadi 2 macam tipe :

1. Memory baca/tulis

Memory ini memilki fungsi untuk menulis data yang nantinya akan

di baca kembali. Jenis memori seperti ini disebut juga dengan RAM

(Random Access Memory ).

2. Memory hanya baca ( Read Only Memory )

Atau yang disingkat ROM.

Data dapat diisikan ke dalam memory ketika proses pembuatan dan kemudian data dapat dibaca oleh pengguna.

Memory dapat dibedakan berdasarkan teknologinya seperti misalnya bipolar, MOS (Metal Oxide Semiconductor) atau sepertihalnya RAM, perlu tidaknya merefresh simpanan data secara periodic baik dengan operasi dinamik maupun statis. Pada jenis memory dinamik, elemen penyimpan pada prinsipnya adalah ssuatu kapasitor yang diisi dan direfresh secara periodic . Pada jenis memory statis, elemen penyimpan data pada prinsipnya adalah suatu flip-flop yang tidak memerlukan refreshing.

Ada dua jenis ROM, yaitu :

- PROM ( Programmable Read Only Memory ) yang hanya dapat

diprogram satu kali oleh pengguna.

- EPROM ( Eraseble Programmable Read Only Memory )



Memory chip terdiri dari sejumlah sel memory dimana bit data dapat disimpan atau ditulis. Data yang disimpan dapat dicari/dibaca kembali(retrieve).Sel Memory dikelompokkan menjadi 2 bit,4 bit atau 8 bit.karakter yang terdiri dari 4 bit disebut NIBBLE ,8 (delapan) bit disebut BYTE,setiap lokasi mempunyai satu kode biner yang unik yang disebut ADDRESS yang digunakan untuk identifikasi. Memory yang dapat menyimpan 2 10 = 1024 lokasi disebut memiliki memory 1 K. Piranti ini memerlukan 10 digit (A0,A1,A2,A3….A9) sehingga memory chip yang memiliki 1024 lokasi yang masing-masing memiliki 8 cel memory memiliki kapasitas 8 x 1024 = 1 K Byte, bila lokasi memiliki 4 cel disebut 1 K Nibble .

Memory dikelompokan menjadi VOLATIL dan NON VOLATIL bila dilihat dari cara menyimpan data. VOLATIL data hilang bila catu daya mati,NON VOLATIL data tidak hilang bila catu mati. Memory dikenal ROM,PROM,EPROM,EEPROM dan RAM.

Memory chip ROM 1 K byte adalah 1 K x 8 bit memiliki pin address 10 dan pin data 8 ( 8 x 2 10 )



Cel yang dapat dialamati sejumlah 1024 cel, digit Addres

( A0,A1,A2,A3,A4,A5,A6,A7,A8,A9 ) misal : 00 1011 0101 dapat disederhanakan dengan Hexadecimal 0B5H, 000H addres cel pertama, 3FFH addres cel terakhir. H menunjukan bilangan dalam Hexadecimal.

8 bit processors can read/write 1 byte at a time and can directly address 256 bytes.16 bit processors can read/write 2 bytes at a time, and can address 65,536 bytes (64 Kilobytes).32 bit processors can read/write 4 bytes at a time, and can address 4,294,967,295 bytes (4 Gigabytes). 64 bit processors can read/wite 8 bytes at a time, and can address 2.30584301 × 10^18 bytes (2 Exabytes )


Pemrograman untuk RAM

Perhatikan gambar RAM 6116 diatas, masukan data berasal dari register saklar alamat nibble ( A3,A2,A1,A0) mulai 0000 sampai 1111. untuk mulai program pastikan saklar RUN-PROG pada posisi PROG, CE pada level L ( 0 ).

Saklar pada READ-WRITE pada posisi WRITE, WE pada level L ( 0 ) atau Ground. Sekarang tinggal memasukan program pada alamat dan Data.


ALAMAT DATA

(A3,A2,A1,A0) ( D3,D2,D1,D0)

0000 1111

0001 1110

0002 1101 , dst


Untuk setiap pergantian program READ-WRITE dikembalikan pada posisi READ Agar data dapat disimpan.Selanjutnya untuk program diulangi seperti semula dengan WRITE.

Untuk Program pada Memory yang lebih besar kapasitasnya ,misal 8 bit dengan alamat 10 (A9,A8,A7,A6,A5,A4,A3,A2,A1,A0 ) dapat menyimpan 1 K Byte. Maka karakternya perlu disederhanakan dengan Hexadecimal.

Pada pemrograman Microkomputer digunakan bahasa mesin dan bahasa assembli sebagai perangkat instruksi.


Intruksi ini dapat digunakan untuk memecahkan masalah perhitungan seperti dibawah ini :

16 + 20 + 24 – 32 = ……. ? 28

Alamat 9H diisi dengan 10 H , 10 H = 16 decimal

Alamat AH diisi dengan 14 H , 14 H = 20 desimal dst. Sehingga programnya adalah sebagai berikut :


Misal program untuk microkomputer ( SAP 1 ) :

Program diatas ditulis dalam bahasa assembly ,tetapi juga dapat ditulis dalam bahasa mesin seperti dibawah ini :

Intruksi ini dapat digunakan untuk memecahkan masalah perhitungan seperti dibawah ini :

16 + 20 + 24 – 32 = ……. ? 28

Alamat 9H diisi dengan 10 H , 10 H = 16 decimal

Alamat AH diisi dengan 14 H , 14 H = 20 desimal dst. Sehingga programnya adalah sebagai berikut :




Selasa, 07 April 2009

MICROPROCESSOR MIKROKOMPUTER

MULTYPLEXER

Multyplexer adalah piranti elektronis yang berfungsi seperti saklar putar pemilih yang cepat dan tepat.

Multyplexer adalah pensaklaran dengan alamat pemilihan ( adresses ) yang bekerja dengan waktu /kecepatan tertentu yang disebut time multyplexing. IC yang digunakan misalnya 74151 atau 74157

Gambar multyplexer dengan 4 chanel masukan dan 2 bit counter

Aplikasi Multyplexer banyak pada sambungan telephone atau komunikasi lain.

Multiplekser adalah suatu rangkaian logika yang memiliki banyak masukan dan satu keluaran. Fungsinya adalah seprti saklar pilih yang dapat dikontrol. Keluaran bergantung dari sinyal kontrol Si, dan hanya satu dari masukan Xi yang tersambung ke keluaran. Dimana sinyal masukan yang terdiri dari lebih dari satu jalur diproses sehingga didapatkan satu keluaran.Jika multiplexer memiliki 4 masukan x0, x1, x2 dan x3 maka sinyal kontrol yang diperlukan sebanyak dua masukan s0 dan s1 sehingga secara keseluruhan semua masukan multiplexer berjumlah 6 masukan.

Tabel kebenaran

Kontrol masukan Keluaran

S1 S0 y

0 0 x0

0 1 x1

1 0 x2

1 1 x3

Gambar input 15 karakter dan counter 4 bit

Multyplexer dapat digunakan sebagai pengubah seri ke paralel,misalnya karakter 4 bit tersedia secara paralel Io menyajikan bit bo, I1 menyajikan b1 dan seterusnya . Dengan menggunakan pencacah 2 bit sandi pemilih alamat secara kontinyu akan bertambah dari 00 untuk waktu t1,01 untuk t2 dan seterusnya. Masing –masing menghasilkan keluaran b0 ,b1 dan b2… dst.menyebabkan data masukan paralel menjadi bentuk seri.

Demultyplexer

Untuk menerima karakter yang terkirim termultyplexer harus dikembalikan seperti semula dengan perangkat yang disebut Demultyplexer.


Hexadecimal

Konversi Biner Ke Heksadesimal untuk penyederhanaan karakter ,hexadecimal akan banyak sekali digunakan untuk mengganti bit biner yang panjang menjadi lebih sederhana.Oleh karena itu Hexadesimal banyak diterapkan dalam Mikroprossesor,mikrokomputer dan mikrocontroler. Dibawah ini contoh menuliskan angka dengan biner 16 bit dapat disederhanakan menjadi 4 bit.

Dasar bilangan untuk Hexadecimal :


Biner code Hexadicimal

0 0 0 0 0

0 0 0 1 1

0 0 1 0 2

0 0 1 1 3

0 1 0 0 4

0 1 0 1 5

0 1 1 0 6

0 1 1 1 7

1 0 0 0 8

1 0 0 1 9

1 0 1 0 A

1 0 1 1 B

1 1 0 0 C

1 1 0 1 D

1 1 1 0 E

1 1 1 1 F


Mengkonversi bilangan biner ke bilangan heksadesimal sangat mudah dilakukan dengan cara mengelompokkan bilangan biner per empat digit kemudian setiap kelompok empat digit dikenversi sendiri-sendiri seperti

contoh berikut :


D F 3 5

Biner 1101 1111 0011 0101

Heksa D F 3 5 Jadi 1101111100110101 biner

Bilangan Hexadecimal dapat menyederhanakan 16 bit menjadi 4 bit yang gampang difahami,sehingga banyak diterapkan pada teknik komputer.


MICROPROCESSOR

Dasar Microprocessor

Terdapat tiga pengertian yang harus dibedakan yakni:

Ø Mikroprosesor ( CU,ALU,REGISTER)

Ø Mikrokomputer(MP,MEMORY,I/O)

Ø Mikrokontroler(MP,MEMORY,I/O,Periferal)

Definisi: Mikroprosesor adalah suatu chip (IC=integrated circuits) yang didalamnya terkandung rangkaian ALU (arithmetic-logic unit), rangkaian CU (control unit), dan register-register. Mikroprosesor disebut juga dengan CPU (Central Processing Unit) ALU : menyediakan fungsi pengolahan

CU : mengontrol fungsi prosesor

Register : penyimpan sementara dalam mikroprosesor

Microprocessor unit




Gambaran atau Features dari sebuah Mikroprosesor dapat dipelajari dengan baik melalui pemahaman dan pengkajian Internal Hardware Design, yang disebut juga dengan istilah Architecture. Internal Hardware design berkaitan dengan masalah-masalah Jenis, Jumlah, dan Ukuran Register serta komponen lainnya.

Sedangkan untuk dapat menginstalasikan sebuah mikroprosesor dengan komponen lainnya seperti RAM, ROM, dan I/O sebagai komponen utama dan rangkaian Clock, Reset, Buffer, dan lain-lain sebagai komponen pendukung diperlukan pemahaman sistem bus yang dimiliki oleh setiap Mikroprosesor.

Register

Register geser yang digunakan pada sistem mikroprosesor sebagai memori penyangga



Prinsip dari operasi rangkaian ini ialah, dengan memakai input kontrol S0,S1, ke 4 multiplekser akan dapat dinyalakan salah satu dari ke 4 masukannya. Kemudian data yang telah dipilih pada input akan muncul pada keluaran. Contohnya , jika masukan paralel E3 sampai E0 dipilih maka data masukan akan dihadirkan secara parallel pada masukan D dari flip-flop. Dengan tepi clock positif selanjutnya, data dimasukkan ke flip-flop dan akan ditampilkan pada keluaran Q3 sampai dengan Q0. Data ini akan tersimpan hingga adanya pulsa clock yang membawa data baru

pada E3 s/d E0 ke dalam register. Dengan kombinasi kontrol S0, S1 yang lain. Input sebelah kanan pada multiplekser dapat dihubungkan ke Output. Data yang akan dimasukkan pada sebelah kiri rangkaian dapat dimasukkan secara serial ke dalam register. Prosesnya adalah sebagai berikut :

jika kombinasi serial 1010 ada pada masukan sebelah kiri, maka pada saat clock pertama nilai 1 akan muncul pada keluran Q0 dan pada masukan yang telah dipilih pada multiplekser selanjutnya. Pada saat clock kedua, keluaran akan menjadi Q0 = 0 dan Q1 =1, sedangkan pada clock ketiga Q0 = 1, Q1 = 0, dan pada Clock ke 4 Q0 = 0, Q1 = 1 , Q2 = 0 dan Q3 = 1.

Kombinasi masukan serial ini telah dibacakan ke register yang ada di sebelah kiri. Data serial yang ada pada masukan sebelah kanan akan di bawa secara analog. Masukan x3 sampai x0 tidak dimasukkan pada contoh ini. Sering untuk menghapus semua flip flop secara bersama sama adalah dengan cara mengeset semua masukan x3 sampai x0 ke logika 0. Jika masukan x semuanya dipilih melalui S0, S1 setelah pulsa clock berikutnya akan mengeset semua keluarn x3 sampai x0 ke logika 0.

Clock

Merupakan bagian dari Sistim Mikroprosesor yang mengatur denyut kerja MPU. Sehingga Frekuensi Clock berkaitan dengan kecepatan kerja komputer. Beberapa jenis MPU ada yang menggunakan detak sistim tunggal dan ada juga sistim ganda (dual fase). Detak dapat dibangkitkan menggunakan sistim diskrit atau IC khusus. Intel memperkenalkan IC 8224 untuk penggerak detak.

ALU DESIGN

Agar mikroprosesor tidak hanya dapat melakukan operasi aritmatika tetapi juga dapat juga melakukan operasi fungsi logika, maka kita harus mengembangkan rangkaian adder/subtractor dengan menambahkan gerbang logika EXOR, OR dan AND serta sebuah multipekser. Dengan adanya tambahan tiga gerbang logika tersebut sekarang operasi logika XOR, OR dan AND dapat dilakukan misalnya

A AND B

A OR B

A XOR B

Masukan kontrol S6 dan S5 adalah kontrol multiplekser yang dipergunakan untuk memilih operasi aritemetika atau logika. Jika S6 = 0 dan S5 = 0 operasi adalah fungsi aritmetika. Pada saat S6 dan S5 pada kondisi yang lain maka operasi adalah fungsi logika dan selama fungsi logika maka kontrol S4 sampai dengan S0 tidak berpengaruh karena kontrol S4 sampai dengan S0 adalah kontrol untuk operasi aritmetika.

Pada prinsipnya dengan kontrol sebanyak 7 bit (S6 sampai dengan S0) sehaarusnya terdapat 27 = 128 variaPerhatikan tabel fungsi adder/subtracter terdapat 32 fungsi dan terjadi pengulangan fungsi yang sama dan sebagian besar tidak begitu penting. Untuk itu kita harus membatasi fungsi yang penting saja dengan cara menggunakan ROM. Didalam ROM disimpan data-data kontrol untuk S6 sampai S0 pada alamat alamat tertentu. Pada rancangan ALU ini kita batasi fungsi yang disediakan adalah 13 fungsi dan dikodekan dalam 4 masukan kontrol

saja yaitu U3 sampai U0. Sesungguhnya dalam ROM U3 smapai U0 ini adalah jalur alamat sedangkan kode operasi adalah data pada suatu lokasi memory. Contoh

untuk instruksi aritmetika A + B kode instruksi dalam table fungsi ALU

adalah U3 = 0, U2 = 1, U1 = 1 dan U0 = 0, kalau kita cermati maka kode

tersebut adalah alamat pada ROM 01012 sedangkan untuk operasi A + Bsi fungsi tetapi tidak semua variasi tersebut diperlukan.



Tabel fungsi ALU

U3 U2 U1 U0 Fungsi keluaran

0 0 0 0 A

0 0 0 1 1

0 0 1 0 A

0 0 1 1 B

0 1 0 0 0

0 1 0 1 A + 1

0 1 1 0 A - 1

0 1 1 1 A + B

1 0 0 0 A - B

1 0 0 1 A AND B

1 0 1 0 A OR B

1 0 1 1 A XOR B

1 1 0 0 - 1

1 1 0 1

1 1 1 0

1 1 1 1



Gambar simbol ALU dan System eksekusi untuk ALU

Aritmatic Logic Unit adalah perangkat yang penting dalam sistem digital untuk pengambilan keputusan yang ada hubungannya dengan arimatika komputer. Dasar hitungan yang mendasari adalah penjumlahan ( adder),pengurangan( subtractor),Multyplier ( pengali) ,pembagi ( divider),sum (jumlah) ,Average (rata-rata) dan lain-lain.


Rangkaian untuk aritmatic logic unit

MICRO PROCESSOR Z 80

Chip microprocessor Z 80



Kemasan Mikroprosesor

Ada empat jenis bentuk kemasan Mikroprosesor:

· PDIP: Pastic Dual Inline Package

· PLCC: Plastic J-Lieded Chip Carrier

· TQFP: Plastic Gull Wing Quad Flat Package

· SOIC: Plastic Gull-wing Small Outline.

Pada perencanaan jalannya program dapat dituangkan dalam bentuk aliran program (Flow Chart). Hal yang penting untuk menghindari banyak kesalahan pada flow chart, bahwa masing-masing blok mempunyai sebuah masukan dan sebuah keluaran. Blok masukan-keluaran diagram alir ( flow chart ) Pada struktur program ada 2 bentuk yang boleh digunakan sebagai bangun program.

1. Struktur linier (berurutan/sequens)

2. Struktur Pengulangan (Loop)

Pengulangan program bagian yang dapat dijalankan berulang-ulang disebut sebagai tubuh dari pengulangan. Pada masing-masing pengulangan, minimal ada satu syarat loncat dan pada setiap pelaksanaan pengulangan, syarat loncat tersebut harus diuji.a

b


Susunan dan Konfigurasi Pin Z-80 CPU


Keterangan adalah sebagai berikut:

· Mikroprosesor 8 bit dengan arsitektur I/O Terisolasi

· 16 bit Address Bus dengan kemampuan: pengalamatan memori 64 Kbyte, Pengalamatan I/O 256 byte

· 148 instruksi

· 8 buah Register 8 bit sebagai Regiter utama, buah register 8 bit sebagai Register alternatif, 4 buah Register 16 bit, 2 buah Register 8 bit fungsi khusus.

· Frekuensi Clock 2,5 MHz - 4 Mhz

· Komsumsi Daya: Aktif 150 mA

· Kemasan PDIP

Kendali CPU menjalankan fungsi-fungsi sebagai berikut:

· M1* (Machin Cycle One: satu siklus mesin) merupakan pin keluaran aktif rendah/Low jika CPU sedang mengambil sandi operasi instruksi dari memori. Pada saat ini bus alamat berisi alamat memori seperti data yang ada pada Register PC (program counter), dan data bus mengarah masuk.

· MREQ* (Memori Request: pesan memori) merupakan pin Keluaran aktif rendah/Low pada waktu saluran alamat berisi alamat memori

· IORQ* (Input Output Request: pesan Input Output) Keluaran aktif rendah/Low pada waktu saluran alamat A0 s/d A7 berisi alamat I/O

· RD* (Read: Baca) Keluaran aktif rendah/Low pada waktu CPU melakukan operasi baca/memasukkan data

· WR* (Write: Tulis) Keluaran aktif rendah pada waktu CPU melakukan operasi tulis/mengeluarkan data

· RFSH* (Refresh: Penyegaran) Keluaran aktif rendah jika CPU mengeluarkan alamat memori untuk menyegarkan memori mekanik

· HALT* Keluaran aktif rendah pada saat CPU melaksanakan instruksi Halt/berhenti

· WAIT* Masukan dibuat aktif rendah oleh alat luar yang menyela kerja CPU

· INT* (Interrupt: interupsi) Masukan aktif rendah jika ada luar yang meminta layanan interupsi

· NMI* (Non Mascable Interrupt: interupsi yang tidak bisa dihalang) Masukan aktif rendah jika ada selaan yang yang tak dapat dihalangi

· RESET* Masukan dibuat aktif rendah oleh alat luar untuk membuat CPU ada dalam keadaan awal

· BUSRQ* (Buss Request: pesan bus) Sinyal masukan yang dibuat aktif rendah jika ada alat luar yang meminjam bus sistem

· BUSAK* (Bus Akcnowledge) Keluaran aktif rendah yang menandakana CPU mengijinkan peminjaman bus sistem.