Sabtu, 25 Oktober 2008

JAM DIGITAL

Mungkin bagi sebagian pembaca Jam Digital merupakan hal yang sangat sederhana atau sudah terlalu umum, tapi dari Jam Digital bisa dipelajari prinsip-prinsip dasar kontrol dengan microcontroller, antara lain sistem tampilan 7 ruas dan pemakaian ti­mer.




Rangkaian lengkap Jam Digital ini terlihat pada Gambar 1, dilengkapi 4 buah tampilan 7 ruas LED untuk menampilkan waktu, terdiri atas angka-angka puluhan jam, satuan jam, puluhan menit dan satuan menit. Tombol SW1 dan SW2 dipakai untuk mengatur tampilan waktu, saat SW1 ditekan angka pada tampilan jam akan bertambah setiap detik, sedangkan SW2 dipakai untuk mengatur angka tampilan menit dengan cara yang sama.

Kristal 12 MHz dan kapasitor C1 dan C2 membentuk rangkaian oscilator pembangkit frekuensi kerja AT89C2051, rangkaian ini merupakan rangkaian baku, artinya bentuk rangkaian oscilator ini selalu seperti ini untuk semua rangkaian AT89C51, kecuali untuk keperluan yang lain nilai kristalnya saja yang mungkin berbeda.

Kombinasi kapasitor C3 dan tahanan R8 juga merupakan rangkaian baku, komponen ini dipakai untuk membentuk rangkaian ‘power on reset’, artinya rangkaian yang akan otomatis me-reset AT89C2051 setiap kali AT89C2051 mulai menerima sumber daya listrik.

Melihat rangkaian pada Gambar 1, memang tidak bisa dijelaskan bagaimana Jam Digital ini bekerja, karena rangkaian itu hanyalah bagian tampilan dan tombol pengatur waktu waktu saja, ‘Jam’ yang sesungguh­nya berupa program yang disimpan di dalam ROM yang ada di dalam IC AT89C2051.


Sistem tampilan 7 ruas
Untuk menampilkan waktu dipakai 4 buah tampilan 7 ruas LED yang dibentuk dengan IC2 dan IC3 (masing-masing IC berisikan 2 tampilan angka), dengan demikian untuk menampilkan 4 buah angka diperlukan 28 LED, kalau ke-28 LED ini dinyala-padamkan dengan cara biasa, maka diperlukan 28 saklar dan rangkaian menjadi rumit sekali. Cara yang umum dipakai adalah sistem tampilan 7 ruas yang di-multiplek seperti nampak dalam Gambar 1, sedangkan Gambar 2 memperlihatkan detil sistem tampilan ini.




Setiap tampilan angka dibentuk dengan 7 buah LED (Light Emitting Diode), masing-masing diode itu ditandai sebagai ruas ‘a’ sampai dengan ‘g’, anode dari ketujuh LED itu sudah dihubungkan jadi satu di dalam IC. Katode ruas ‘a’ dari angka puluhan jam dihubungkan dengan katode ruas ‘a’ dari angka satuan jam dan seterusnya. Demikian pula dengan ruas ‘b’; ruas ‘c’ dan lain sebagainya.

Saklar Ruas P10..P16 dipakai untuk menentukan ruas mana yang akan dinyalakan, misalkan untuk membentuk angka 1 maka saklar P11 (ruas b) dan saklar P12 (ruas c) dalam posisi ‘on’. Sedangkan Skalar Digit dipakai untuk menentukan tampilan angka mana yang dipakai, misalkan angka 1 tadi ingin ditampilkan pada tampilan puluhan jam, maka posisi skalar pada Q1.

Jika posisi ‘on’ pada Saklar Digit digilir dari Q1, Q2, Q3 dan Q4 kemudian kembali ke Q1 dan seterusnya secara cepat, maka angka 1 di atas akan nampak pada semua tampilan angka!

Selanjutnya, andaikan sebelum merubah posisi Saklar Digit kombinasi Skalar Ruas diatur terlebih dulu, maka angka yang tertampil dalam sistem tampilan 7 ruas ini bisa diatur dengan tepat.

Dalam Gambar 1 terlihat Saklar Ruas dibentuk dengan kaki P1.0 sampai kaki P1.6 AT89C2051, sedangkan Saklar Digit dibentuk dengan sebuah transistor PNP dan sebuah tahanan yang masing-masing dikendalikan lewat kaki P3.0 sampai kaki P3.3.

Proses pengaturan sistem tampilan seperti yang dibahas diatas, diatur oleh AT89C2051 lewat potongan program yang biasanya dinamakan sebagai ScanDisplay seperti berikut :

1 ScanDisplay:

2 MOV P1,RuasJam10

3 MOV P3,#%11110111

4 ACALL TungguSebentar

5 ;

6 MOV P1,RuasJam1

7 MOV P3,#%11111011

8 ACALL TungguSebentar

9 ;

10 MOV P1,RuasMenit10

11 MOV P3,#%11111101

12 ACALL TungguSebentar

13 ;

14 MOV P1,RuasMenit1

15 MOV P3,#%11111110

16 ACALL TungguSebentar

17 SJMP ScanDisplay


Potongan program di atas bisa dijelaskan sebagai berikut : RuasJam10, RuasJam1, RuasMenit10 dan RuasMenit1 merupakan variabel tempat menampung kombinasi ruas dari angka yang akan ditampilkan, isi dari variabel ini akan dirubah dibagian lain dari program sesuai dengan perubahan waktu. Isi variabel–variabel ini diumpankan langsung ke Port 1 (baris 2, 6, 10 dan 14 pada potongan program di atas), untuk mengendalikan Saklar Ruas.

Saklar Digit dibentuk dengan transistor PNP, jadi untuk meng-on-kan diperlukan tegangan ‘0’ pada salah satu kaki Port 3, seperti terlihat pada baris 3, 7, 22 dan 15. Perhatikan posisi angka ‘0’ pada keempat baris itu, akan nampak ‘0’ tersebut ber-‘jalan’ dari kiri ke kanan yang setara dengan Saklar Digit bergilir ‘on’ dari Q1 sampai Q4.

TungguSebentar merupakan sub-rutin yang berfungsi untuk menunda waktu (delay), agar angka yang ditampilkan bisa tertahan sesaat sebelum berganti. Pada baris 17, aliran program di alihkan kembali ke baris 1, sehingga potongan program ini akan bekerja terus menerus tanpa henti menampilkan angka.


Jam Digital

Jam Digital dalam proyek ini, sesungguhnya hanya berupa program. Pada dasarnya Jam Digital adalah sistem pencacah (counter) bertingkat, dimulai dari pencacah menit yang mencacah dari 0 sampai 59 dan melimpah kembali ke 0, dan pencacah jam dari 0 sampai 23 yang mencacah setiap kali ada limpahan dari pencacah menit, hal ini bisa direalisasikan dengan program berikut:

1 JamDigital:

2 INC Menit

3 MOV A,Menit

4 CJNE A,#60,Keluar

5 MOV Menit,#0

6 INC JAM

7 MOV A,Jam

8 CJNE A,#24,Keluar

9 MOV Jam,#0

10 Keluar:

11 RET

Menit dan Jam pada potongan program ini, adalah variabel yang berfungsi sebagai pencacah menit dan pencacah jam. Sub-rutin JamDigital ini akan dijalankan setiap menit sekali, sehingga perubahan nilai pada variable Menit dan variable Jam persis mencerminkan perubahan waktu.

Interupsi Timer

Setelah membentuk sub-rutin JamDigital di atas, persoalan berikutnya adalah bagaimana agar sub-rutin itu benar-benar bisa dijalankan satu kali setiap menit, untuk keperluan ini dipakai fasilitas timer yang dimiliki AT89C2051.

Jam Digital yang dibuat selalu menjalankan program ScanDisplay terus menerus tanpa henti, dengan mengggunakan fasilitas interupsi dari timer, program ScanDisplay di atas dihentikan sebentar setiap 50 mili detik, pada saat itu AT89AT2051 menggerakan untaian pencacah 20 dan pencacah 60, pencacah 20 akan melimpah sekali per detik, dan pencacah 60 akan melimpah sekali per menit. Pada saat terjadi limpahan pencacah 60, AT89C2051 akan menjalankan sub-rutin JamDigital di atas.

1 TimerInterrupt:

2 MOV TL0,#-50000

3 MOV TH0,#>-50000/256

4 DJNZ Pencacah20,Terus

5 MOV Pencacah20,#20

6 DJNZ Pencacah60,Terus

7 MOV Pencacah60,#60

8 ACALL JamDigital

9 Terus:

10 RETI

Baris 2 dan 3 di atas yang mempertahankan agar AT89C2051 menjalankan rutin TimerInterrupt setiap 20 mili detik, baris 4 sampai 7 merupakan untaian pencacah 20 dan pencacah 60, saat pencacah 60 melimpah pada baris 8 AT89C2051 menjalankan sub-rutin JamDigital.

Agar mekanisme interupsi timer ini bisa bekerja seperti apa yang diharapkan, pada awal program ditambahkan potongan program berikut :

1 ANL TMOD,#%11110000

2 ORL TMOD,#000001

3 MOV TL0,#-50000

4 MOV TLH,#-50000/256

5 SETB ET0

6 SETB EA

7 SETB TR0









Jumat, 10 Oktober 2008

GERBANG LOGIKA

2.1 Gerbang Dasar Gerbang dasar logika terdiri dari 3 macam gerbang, yaitu : gerbang DAN (AND), gerbang ATAU (OR) dan gerbang Tidak (NOT).


2.1.1 Gerbang DAN (AND)

Pernyataan Logika logika dari g
erbang AND : Apabila semua masukan berlogik “1”, maka keluarannya akan berlogik “1”, dan hanya jika salah satu masukanya berlogik “0”, maka keluaranya akan berlogik “0”.


































2.1.2 Gerbang ATAU (OR)

Pernyataan Logika logika dari
gerbang OR : Apabila salah satu masukan berlogik “1”, maka keluarannya akan berlogik “1”, dan hanya jika semua masukan berlogik “0”, maka keluaranya akan berlogik “0”.

















2.1.2 Gerbang TIDAK (NOT)

Pernyataan Logika logika dari gerbang NOT :
Apabila masukan berlogik “0”, maka keluarannya akan berlogik “1”, dan jika semua masukan berlogik “1”, maka keluaranya akan berlogik “0”.



















2.2 Gerbang Kombinasi
Gerbang kombinasi dibentuk dari kombinasi antar gerbang dasar, diantaranya adalah gerbang TIDAK DAN ( NAND ), gerbang TIDAK ATAU ( NOR ), gerbang ANTIVALEN ( EX-OR ), gerbang AQUVALEN ( EX-NOR ), gerbang INHIBIT dan gerbang IMPLIKASI

2.2.1 Gerbang TIDAK DAN ( NAND )

Pernyataan Logika dari gerbang NAND :
Apabila semua masukan berlogik “1”, maka keluarannya akan berlogik “0”, dan hanya jika salah satu masukanya berlogik “0”, maka keluaranya akan berlogik “1”. Pembentukan gerbang NAND adalah menggabungkan secara seri gerbang AND dengan gerbang NOT seperti terlihat pada (gambar 2.14)














2.2.2 Gerbang TIDAK ATAU ( NOR )

Pernyataan Logika dari gerbang NOR : Apabila semua masukan berlogik “0”, maka keluarannya akan berlogik “1”, dan hanya jika salah satu masukanya berlogik “1”, maka keluaranya akan berlogik “0”. Pembentukan gerbang NOR adalah menggabungkan secara seri gerbang OR dengan gerbang NOT seperti terlihat pada (gambar 2.19)


















2.2.3 Gerbang EX-OR ( Antivalen )

Pernyataan Logika logika dari gerbang EX-OR :
Apabila variabel masukan berlogik “tidak sama”, maka keluarannya akan berlogik “1”, dan hanya jika variabel masukan berlogik “sama”, maka keluaranya akan berlogik “0”.


















2.2.4 Gerbang EX-NOR ( Aquivalen )

Pernyataan Logika logika dari gerbang EX-NOR :
Apabila variabel masukan berlogik “sama”, maka keluarannya akan berlogik “1”, dan hanya jika variabel masukan berlogik “tidak sama”, maka keluaranya akan berlogik “0”. Pembentukan gerbang EX-NOR adalah dengan menggabungkan gerbang dasar AND, OR dan NOT seperti terlihat pada (gambar 2.30)

















Gerbang INHIBIT-A

Pernyataan Logika dari gerbang INHIBIT-A :
Apabila variabel masukan A berlogik “0” dan variabel masukan B berlogik “1”, maka keluarannya akan berlogik “1”. Pembentukan gerbang INHIBIT-A adalah dengan menggabungkan gerbang dasar AND dan NOT yang terhubung dengan masukan A seperti terlihat pada (gambar 2.35)




















Gerbang INHIBIT-B

Pernyataan Logika dari gerbang INHIBIT-B :
Apabila variabel masukan B berlogik “0” dan variabel masukan A berlogik “1”, maka keluarannya akan berlogik “1”. Pembentukan gerbang INHIBIT-B adalah dengan menggabungkan gerbang dasar AND dan NOT yang terhubung dengan masukan B seperti terlihat pada (gambar 2.40)















Gerbang IMPLIKASI-A

Pernyataan Logika dari gerbang IMPLIKASI-A :
Apabila variabel masukan A berlogik “1” dan variabel masukan B berlogik “0”, maka keluarannya akan berlogik “0”. Pembentukan gerbang IMPLIKASI-A adalah dengan menggabungkan gerbang dasar OR dan NOT yang terhubung dengan masukan A seperti terlihat pada (gambar 2.45)
















2.2.5 Ger
bang IMPLIKASI-B
Pernyataan Logika dari gerbang IMPLIKASI-B :
Apabila variabel masukan B berlogik “1” dan variabel masukan A berlogik “0”, maka keluarannya akan berlogik “0”. Pembentukan gerbang IMPLIKASI-B adalah dengan menggabungkan gerbang dasar OR dan NOT yang terhubung dengan masukan B seperti terlihat pada (gambar 2.50)

PENGERTIAN DASAR DIGITAL

Pengertian Dasar Apakah yang dimaksud dengan "digital"?. Suatu pertanyaan yang logis dari para pembaca yang ingin mengetahui atau mempelajari pengetahuan tentang Teknik Digital. Untuk menjawab pertanyaan diatas akan lebih mudah dipahami kalau kita ulas tentang perbedaan antara besaran analog dengan besaran digital. Sebagai gambaran sementara kita dapat melihat jam sebagai alat ukur waktu dimana tampilannya ditentukan oleh jarum penunjuk yang gerakannya selalu berubah secara kontinyu, jam seperti ini dapat disebut jam analog. Disisi lain kita juga melihat jam yang tampilannya berupa angka-angka, hal seperti ini dapat dikatakan jam digital.

1.1. Besaran Analog

Pada sistim analog sinyal keluarannya berubah setiap sa'at secara kontinyu sesuai dengan sinyal masukannya, sebagai contoh pengaruh temperatur terhadap
tegangan seperti (gambar 1.1) dibawah ini.


V dan A ked
uanya menunjukkan sinyal analog, dimana setiap titik mempunyai perubahan yang sama.

1.2 Besaran Digital
Pada sistim digital sinyal keluarannya berupa diskrit-diskrit yang berubah secara melompat-lompat yang terga
ntung dari sinyal masukannya, sebagai contoh sistim transfer dari tegangan analog ke tegangan digital (gambar 1.2).











1.3. Keadaan Logika
Besaran d
igital mempunyai dua, tiga atau lebih keadaan logika, seperti terlihat pada (gambar 1.3), dimana menunjukkan 3 kemungkinan keadaan logika, yaitu ; 10 v, 5 V dan 0 V

Tapi pada dasarnya peralatan-peralatan digital hapir selalu menggunakan 2 keadaan, misalnya pada pulsa-pulsa listrik yang mempunyai keadaan ada atau tidak ada pulsa. Contoh lain pada bentuk tegangan listrik yang mempunyai 2 harga, yaitu harga atas atau harga bawah dengan toleransi pada harga-harga tersebut seperti terlihat pada (gambar 1.4)

Tegangan 4,5 V - 5,5 v dapat dikatakan kondisi H (High) atau logik “1”, sedangkan tegangan 0 V - 0,8 V adalah kondisi L (Low) atau logik”0”,sedangkan daerah 0,8 V - 4,5 V tidak di kondisikan. 1.4.


Perbandingan Sinyal Analog dengan Sinyal Digital

Perbandingan sinyal analog dengan sinyal digital dapat diamati dari besaran tegangan pada sumber tegangan searah
Tegangan searah berupa sinyal analog mempunyai nilai atau harga berupa besaran tegangan yang mempunyai harga batas maksimum dan minimum misalnya + 10 volt, sedangkan besaran tegangan searah pada sinyal digital mempunyai nilai atau harga yang pasti, mislalnya + 10 volt, 0 volt dan - 10 volt. Untuk lebih jelasnya dapat dilihat gambar rangkaian listrik dibawah ini (gambar 1.5).

Harga besaran analog mempunyai daerah batas maksimum dan minimum, sedangkan pada harga besaran digital hanya mempunyai 2 kemungkinan keadaan seperti :

•Skelar tertutup atau sakelar terbuka.
•Transistor menghantar atau transistor menyumbat

•Tegangan Hight atau tegangan Low.

1.6 Penggunaan Teknik Digital.
Teknik Digital digunakan untuk menampilkan mengirim dan memproses informasi data menggunakan bilangan (biner). Hampir semua rangkaian digital direncanakan untuk beroperasi pada dua pernyataan dan berbentuk gelombang kotak (pulsa). Kalau dua pernyataan disamakan dengan tegangan maka akan didapat dua besaran tegangan yang berbeda pada dua pernyataan tersebut.
Pada umumnya rangkaian digital menggunakan komponen DTL (Dioda Transistor Logik), TTL (Transistor-Transistor Logik), dan CMOS (Complementry Metal Oxide Semiconductor).
Rangkaian digital biasanya terdiri dari berbagai gerbang yang mempunyai fungsi logika yang berbeda. Tiap gerbang yang mempunyai satu atau lebih masukan dan keluaran .Yang paling penting dari gerbang-gerbang tersebut apa yang dinamakan dangan gerbang dasar (Basic Gates) terdiri dari gerbang fungsi logika DAN, ATAU, TIDAK (AND, OR, NOT Gates). Dengan menghubungkan gerbang-gerbang pada berbagai cara, bisa membangun rangkaian berfungsi Aritmatik atau fungsi lainnya sesuai dengan kemampuan intelegensi personalnya.
Kalau ditinjau lagi dua pernyataan pada tek
nik digital ini dalam kehidupan sehari - hari akan ditemui hal-hal sebagai berikut:

Kamis, 09 Oktober 2008

SISTEM BILANGAN

SISTEM BILANGAN

Lembar Informasi
Sistem Bilangan
Secara umum dalam sistem mikroprosesor sistem bilangan yang digunakan ada empat jenis yaitu:
•Sistem Bilangan Desimal
•Sistem Bilangan Biner
•Sistem Bilangan Heksadesimal , dan
•Sistem Bilangan Oktal
Ke empat sistem bilangan ini satu sama lain dibedakan oleh sebuah nilai yang disebut dengan BASIS. Sistem bilangan desimal menggunakan basis 10, Biner menggunakan basis 2, Heksa-desimal menggunakan basis 16, dan Oktal menggunakan basis 8.

Bilangan Desimal
Bilangan desimal adalah bilangan berbasis sepuluh. Dalam desimal
dikenal sepuluh simbol bilangan yaitu ; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Nilai sebuah angka ditentukan oleh posisi angka tersebut. Dalam sistem desimal dikenal nilai posisi :
•10^0 = 1 = satuan
•10^1 = 10 = puluhan
•10^2 = 100 = ratusan
•10^3 = 1000 = ribuan
•10^4 = 10000 = puluhan ribu
•10^5 = 100000 = ratusan ribu
•dan seterusnya berdasarkan nilai basis dan pangkat
contoh :
1011 = 1 x 10^3 + 0 x 10^2 + 1 x 10^1 + 1 x 10^0
= 1000 + 0 + 10 + 1 ? dibaca seribu sebelas.
Bilangan Biner
Bilangan biner adalah bilangan berbasis dua. Dalam biner dikenal dua simbol bilangan yaitu ; 0, 1. Nilai sebuah angka ditentukan oleh posisi angka tersebut. Dalam sistem biner dikenal nilai posisi :
•2^0 = 1 = satuan
•2^1 = 2 = duaan
•2^2 = 4 = empatan
•2^3 = 8 = delapanan
•2^4 = 16 = enam-belasan
•2^5 = 32 = tiga-puluh-duaan
•2^6 = 64 = enam-puluh-empatan
•2^7 = 128 = seratus-dua-puluh-delapanan
•dan seterusnya berdasarkan nilai basis dan pangkat
Contoh :
1011 2 = 1 x 2^3 + 0 x 2^2 + 1 x 2^1 + 1 x 2^0
= 8 + 0 + 2 + 1
= 11
jadi nilai bilangan 10112 = 1110

Bilangan Heksa Desimal
Bilangan heksa-desimal adalah bilangan berbasis enambelas. Dalam heksa-desimal dikenal enambelas simbol bilangan yaitu ; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Dimana A = 10; B = 11; C = 12; D = 13; E = 14; dan F = 15. Nilai sebuah angka ditentukan oleh posisi angka tersebut. Dalam sistem Heksa-desimal dikenal nilai posisi :
•16^0 = 1 = satuan
•16^1 = 16 = enam-belasan
•16^2 = 256 = dua-ratus-lima-puluh-enaman
•16^3 = 4096 = empat-ribu-sembilan-puluh-enaman
•dan seterusnya berdasarkan nilai basis dan pangkat
Contoh:
1011 16 = 1 x 16^3 + 0 x 16^2 + 1 x 16^1 + 1 x 16^0
= 4096 + 0 + 16 + 1
= 4113
Jadi nilai bilangan 101116 = 4113 10.

Bilangan Oktal
Bilangan oktal adalah bilangan berbasis delapan. Dalam oktal dikenal delapan simbol bilangan yaitu ; 0, 1, 2, 3, 4, 5, 6, 7. Nilai sebuah angka ditentukan oleh posisi angka tersebut. Dalam sistem Oktal dikenal nilai posisi :
•8^0 = 1 = satuan
•8^1 = 8 = delapanan
•8^2 = 64 = enam-puluh-empatan
•8^3 = 512 = lima-ratus-dua-belasan
•dan seterusnya berdasarkan nilai basis dan pangkat
Contoh:
10118 = 1 x 8^3 + 0 x 8^2 + 1 x 8^1 + 1 x 8^0
= 512 + 0 + 8 + 1
= 521
Jadi nilai bilangan 10118 = 521 10

KONVERSI BILANGAN
Sebuah bilangan dapat dinyatakan dalam empat penyajian angka atau simbol berbeda. Untuk mendapatkan nilai suatu bilangan atau padanan suatu bilangan dalam satu basis ke basis lainnya digunakan
cara konversi bilangan. Ada dua teknik konversi yaitu :
•Teknik bagi
•Teknik kurang


Konversi Bilangan Desimal ke Biner
Contoh : 4410 = ……………..2
Dengan teknik bagi dua
44 : 2 = 22 sisa : 0 LSB
22 : 2 = 11 sisa : 0
11 : 2 = 5 sisa : 1
5 : 2 = 2 sisa : 1
2 : 2 = 1 sisa : 0
1 : 2 = 0 sisa : 1 MSB
Jadi : 4410 = 101100 2.

Dengan teknik pengurangan :
44 - 128 = K bit : 0 MSB
44 - 64 = K bit : 0
44 - 32 = 12 bit : 1
12 - 16 = K bit : 0
12 - 8 = 4 bit : 1
4 - 4 = 0 bit : 1
0 - 2 = K bit : 0
0 - 1 = K bit : 0 LSB
Jadi : 4410 = 001011002
Catatan : Jika bilangan yang dikurangkan nilainya lebih kecil dari bilangan pengurang maka nilai bit sama dengan 0. Jika bilangan yang dikurangkan nilainya lebih besar dari bilangan pengurang maka nilai bit sama dengan 1.

Konversi Bilangan Desimal ke Heksa-Desimal
Contoh : 4410 = ……………..16
Dengan teknik bagi 16
44 : 16 = 2 sisa : 12
1210 = C16
Jadi : 4410 = 2C 16
Konversi Bilangan Desimal ke Oktal
Contoh : 4410 = ……………..8
Dengan teknik bagi 8
44 : 8 = 5 sisa : 4 LSB
Jadi : 4410 = 54 8

Konversi Bilangan Biner ke Heksa-Desimal dan Oktal
Konversi bilangan biner ke Heksa-Desimal menggunakan satuan 4 bit sedangkan konversi bilangan biner ke oktal menggunakan satuan 3 bit. Tabel berikut menunjukkan tabel konversi biner ke Heksa-Desimal dan Oktal.
BILANGAN BINER TAK BERTANDA 8 BIT
Bilangan biner tak bertanda 8 bit dapat menyajikan bilangan sebanyak 256 nilai dari 0 sampai dengan 255. Berdasarkan satuan dan proses konversi maka dapat disusun tabel konversi desimal ke biner dan
Heksa-Desimal sebagai berikut:

Rabu, 08 Oktober 2008

MIKROPROSESOR INPUT OUTPUT UNIT


Unit Input dan Output

Input Output (I/O) merupakan komponen pokok dari sistem mikroprosesor. Informasi di luar CPU harus dikumpulkan dan diproses. Begitu diproses informasi harus disajikan dan dikirim untuk mengendalikan berbagai alat Input Output. Perkembangan mikroelektronika telah mendukung perkembangan I/O dari unprogrammable ke programmable sistem. Beberapa komponen I/O terprogram yang sangat populer dalam dunia sistem mikroprosesor adalah Z-80 PIO dan PPI 8255 .

I/O PARALEL
Z-80 PIO (Programmable Input Output)
IC Z-80 PIO adalah IC I/O paralel terprogram yang prilakunya dapat disetel menggunakan program. Z-80 PIO adalah salah satu chip yang diproduksi untuk pasilitas antar muka dengan Z-80 CPU. Z-80 PIO memiliki kelengkapan :
•Dua periperal port antar muka paralel 8 bit independent dengan kendali jabat tangan.
•Penggerak I/O terinterupsi.
•Empat mode operasi
1.Mode 0 : Byte Output dengan jabat tangan
2.Mode 1 : Byte Input dengan jabat tangan
3.Mode 2 : Byte Bidirectional dengan jabat tangan (hanya untuk Port A)
4.Mode 3 : untuk Bit Control
•Logika interupsi dengan prioritas daisy chain.
•Semua input dan output kompatibel dengan TTL.

Z-80 PIO terdiri dari dua port yaitu Port A dan Port B. Masing-masing port dilengkapi dengan pena-pena jabat tangan. Dengan 40 pin dalam dua lajur fungsi masing-masing pin dapat dikelompokkan dalam empat kelompok :
1.Kelompok Bus Data
a.D0 – D7 adalah bus data 8 bit dua arah digunakan sebagai saluran data dan kata perintah.
b.A0 - A7 adalah saluran dua arah untuk transfer data atau status dan sinyal kontrol antara peralatan I/O dan Port A.
c.B0 – B7 merupakan saluran dua arah untuk transfer data atau status dan sinyal kontrol antara I/O dan Port B.

2.Kelompok Kontrol
a.B/A* sel adalah pin saluran sinyal pemilih port. Pada kondisi rendah (0) yang aktif adalah Port A, dan Port B aktif jika pin ini berkondisi tinggi (1).
b.C/D* sel adalah pin saluran sinyal pemilih register kontrol atau register data. Jika C/D* = 0 register yang aktif adalah register data dan C/D* = 1 register yang aktif adalah register perintah.
c.CE* adalah sinyal aktif rendah yang berfungsi sebagai pin pengaktif chip Z-80 PIO.
d.M1* adalah sinyal aktif rendah bekerja mensinkronkan kerja interrupt logic. Pada saat M1* dan RD* aktif, Z-80 CPU melakukan fetching sebuah instruksi ke memori. Sebaliknya pada saat M1* dan IORQ* aktif, CPU melakukan pengenalan interupsi. Dan jika M1* aktif tanpa IORQ* atau RD*, Z-80 PIO ada dalam keadaan reset.
e.IORQ* adalah sinyal Input Output Request aktif rendah bekerja pada saat CPU mentransfer perintah atau data ke Z-80 CPU.
f.READ* adalah sinyal aktif rendah yang menunjukkan CPU membaca data dari I/O.

3.Kelompok Interrupt
a.INT* adalah sinyal interrupt aktif rendah yang digunakan oleh PIO untuk memintan layanan interupsi.
b.IEI adalah sinyal Interrupt Enable Input aktif tinggi yang menunjukkan PIO siap menerima layanan interupsi.
c.IEO adalah sinyal Interrupt Enable Output aktif tinggi yang menunjukkan PIO telah melayani interupsi.
4.Kelompok Status Kontrol Port
a.ASTB* adalah sinyal strobe Port A, aktif rendah yang operasinya tergantung pada mode operasi yang dipilih.
•Mode 0 : menunjukkan keadaan peralatan I/O telah menerima data yang dikirim oleh PIO.
•Mode 1 : menunjukkan keadaan data telah dikirim ke register Port A oleh peralatan I/O.
•Mode 2 : menunjukkan keadaan data dari register Port A telah diletakkan pada bus data dan kemudian data telah diterima oleh peralatan I/O.
•Mode 3 : pulsa ini secara internal ditahan oleh PIO (tidak dimanfaatkan).
b.A RDY adalah sinyal ready aktif tinggi untuk Port A bekerja tergantung mode operasi sebagai berikut :
•Mode 0 : menunjukkan register Port A berisi data byte dan
•telah disiapkan pada saluran bus data untuk ditransfer ke peralatan I/O.
•Mode 1 : menunjukkan keadaan register data Port A kosong dan siap menerima data word berikutnya.
•Mode 2 : menunjukkan keadaan register data Port A telah siap untuk diambil oleh peralatan I/O. Data akan dikeluarkan jika ada sinyal STB*.
•Mode 3 : tidak dimanfaatkan

c.B STB* adalah sinyal masukan strobe untuk Port B aktif rendah dimana operasinya sama dengan sinyal A STB*
d.B RDY adalah sinyak keluaran ready aktif tinggi untuk Port B dengan operasi kerja sama dengan A RDY.0
Masing-masing Port dilengkapi dengan dua register, yaitu register data dan register perintah. Selengkapnya register pada Z-80 PIO terdapat empat buah register yaitu:
•Register Data A
•Register Data B
•Register Perintah A
•Register Perintah B
Register data digunakan untuk memegang data dan register perintah digunakan untuk mengatur mode kerja dan perilaku masing-masing port. Pemilihan register-register pada Z-80 CPU dikerjakan melalui pena port B/A dan pena Control/Data.

PPI 8255
8255 adalah chip Programmable Peripheral Interface, berfungsi untuk antar muka paralel dengan perilaku dapat diatur dengan program. PPI 8255 terdiri dari tiga port I/O 8 bit yaitu : Port A, Port B, dan Port C. Masing-masing port dapat dibuat menjadi port masukan maupun port keluaran. Gambar 8. menunjukkan diagram blok bagian dalam dari PPI 8255.



PPI 8255 memiliki buffer bus data dua arah, yang berarti dapat berfungsi baik sebagai port input maupun port output. Arah aliran data dapat dijelaskan menggunakan pengaturan logika Read/Write. Secara mudah dapat diuraikan dengan tabel berikut :




PPI 8255 bekerja dalam tiga mode, yaitu :
1. Mode 0 : Port A, Port B, dan Port C bekerja sebagai port I/O sederhana tanpa jabat tangan. Pada mode ini CPU sama sekali tidak memperhatikan status 8255. CPU mentransfer data tanpa mempersoalkan apa yang terjadi pada 8255. Port A dan Port B bekerja sebagai port 8 bit sedangkan Port C dapat dibuat bekerja dalam 8 bit atau berdiri sendiri dalam 4 bit lower dan 4 bit upper secara terpisah.



2. Mode 1 : Port A, Port B bekerja sebagai port I/O dengan jabat tangan menggunakan sebagian dari pena Port C. Saluran PC0, PC1, dan PC2 berfungsi sebagai saluran jabat tangan untuk Port B sedangkan Port A menggunakan saluran PC3, PC4, dan PC5 sebagai sinyal jabat tangan. PC6 dan PC7 dapat digunakan untuk saluran I/O

3. Modus 2 : Hanya Port A dapat dibuat sebagai port I/O dua arah dengan jabat tangan. Port A dapat digunakan sebagai port untuk transfer data dua arah dengan jabat tangan. Ini artinya data dapat masuk atau keluar dari saluran yang sama. Mode ini mengembangkan sistem saluran (bus) ke mikroprosesor atau mentransfer byte data ke dan dari floppy disk controller. Pada mode 2 saluran PC3 sampai PC7 digunakan sebagai saluran jabat tangan untuk Port A.


I/O SERIAL
I/O serial adalah unit masukan keluaran yang bekerja atas dasar prinsip urut/seri. Dalam hal ini diperlukan proses konversi dari data paralel ke bentuk serial. Ada dua teknik konversi yang ditawarkan yaitu :
•Teknik perangkat lunak
•Teknik perangkat keras.

I/O Serial Perangkat Lunak
Serialisasi dan deserialisasi suatu data diselenggarakan oleh suatu perangkat program. Pada masukan program menunggu sampai menerima suatu bit start, kemudian membaca bit data. Pada keluaran program mengirim suatu urutan bit demi bit.

Prinsip utama serialisasi adalah merakit data 8 bit (atau lebih) di akumulator dan menggeser keluar bit demi bit pada frekuensi tertentu. Cara yang sederhana adalah mengeluarkan isi akumulator ke salah satu saluran dari port I/O (Port 0). Akumulator kemudian digeser ke kanan satu bit, diimplemen suatu tunda dan bit selanjutnya dikeluarkan sampai semua bit data paralel dikeluarkan.
Sebaliknya deserialisasi dilakukan dengan membaca bit 0 dan merekamnya ke akumulator. Akumulator di geser kekiri satu posisi dengan tunda tertentu. Kemudian bit 0 dibaca lagi dan dilakukan proses pencatatan dan penggeseran akumulator sampai data byte terselesaikan.
Keuntungan I/O terprogram terletak pada ketersederhanaannya dan tidak perlu harus menyiapkan perangkan keras. Kelemahannya terletak pada masalah waktu yaitu lambatnya proses.

I/O Serial Perangkat Keras
Salah satu komponen LSI standar adalah Universal Asynchronous Receiver-Transmitter (UART). UART bekerja mengubah data serial ke paralel dan data paralel ke serial. UART paling sering digunakan untuk ope rasi kecepatan rendah ke sedang. Sedangkan untuk transmisi kecepatan tinggi digunakan jenis Universal Synchronous Receiver Transmitter (USRT).
Fungsi UART adalah pada pengubahan serial – paralel.
Dua fungsi pokok UART adalah :
•Mengambil data paralel dan mengubah menjadi arus bit serial dengan diawali bit start, bit data, bit paritas, dan karakter penghenti.
•Mengambil arus bit serial dan mengubahnya menjadi bit paralel.
Sebuah UART standar mempunyai tiga seksi yaitu : sebuah penerima, sebuah pengirim, dan sebuah seksi pengendali.

UART memerlukan baik port masukan maupun port keluaran untuk perantaraan dengan sistem mikroprosesor. Dua diantara piranti UART adalah :
•MC 8650 Asynchronous Comunication Interface Adaptor (ACIA) dari Motorolla.
•8251 Universal Synchronous and Asynchronous Receiver Transmitter (USART) dari Intel.

Motorolla 6850 ACIA
6850 tersusun dari sejumlah register serial paralel masukan keluaran dan rangkaian pengendali standar EIA RS 232.
Penghantaran 6850 pada saluran/bus dari sistem dapat digambarkan seperti Gambar 17. Data serial yang masuk dan keluar adalah sinyal kompatibel TTL dan harus di bufer untuk memberikan tingkatan yang diperlukan untuk menggerakkan alat-alat serial.


Intel 8251 USART
8251 dirancang oleh Intel yang memiliki pasilitas sebagai UART dan juga USRT. Dengan kata lain 8251 dapat dipakai baik sebagai alat tak serempak maupun alat serempak. Sehingga 8251 diberi nama USART. 8251 menyediakan pasilitas pengiriman dan penerimaan data sinkron dan tak sinkron.

METODE PENGENDALIAN I/O
Pengaturan alih data dari alat luar dengan sistem komputer/sistem mikroprosesor menerapkan suatu strategi penjadwalan. Pada pengendalian alat I/O dikenal adanya tiga metode yaitu :
•Metode Polling
•Metode Interupsi
•Metode Akses Memori Langsung (AML)

Metode Polling
Metode polling merupakan metode pengendalian I/O melalui program. Semua pengalihan data dari dan ke alat I/O diselengarakan oleh program. Prosesor mengirim dan meminta data sepenuhnya dibawah kendali program. Pengalihan data dapat dilaksanakan baik melalui mekanisme jabat tangan maupun tanpa jabat tangan. Dalam mekanisme jabat tangan isyarat diperiksa secara terus menerus. Program terus menerus berputar lewat sejumlah pengetesan untuk menentukan apakah masukan atau keluaran dapat diselenggarakan pelayanannya atau tidak. Bila ditemukan alat yang memerlukan pelayanan, rutin pelayanan diaktifkan dan pemilihan saluran diproses. Gambar 19. menunjukkan diagram alir pengendalian I/O dengan metode polling. Metode polling adalah metode pengendalian I/O yang paling sederhana dan paling umum digunakan. Metode ini tidak memerlukan perangkat keras khusus dan semua pengalihan I/O dikendalikan oleh program. Pengalihan semacam ini disebut pengalihan serempak dengan program.


Metode Interupsi
Pengendalian I/O dengan metode polling mempunyai dua kelemahan :
•Pemborosan waktu prosesor karena status semua periferal diperiksa terus menerus secara berurutan.
•Karena harus memeriksa status semua alat I/O maka waktu kerjanya menjadi lambat. Ini merupakan kelemahan dalam sistem waktu nyata (Real Time), dimana satu periferal mengharap layanan dalam satu waktu tertentu.

Kelemahan ini diatasi dengan menggunakan layanan waktu tak sinkron menggunakan interupsi. Tiap alat I/O atau pengendalinya dihubungkan ke sebuah saluran interupsi. Saluran interupsi menggerbangkan sebuah permintaan interupsi ke mikroprosesor. Bilamana sebuah alat I/O memerlukan layanan , alat akan membangkitkan pulsa interupsi atau status suatu tingkatan saluran untuk menarik perhatian mikroprosesor. Mikroprosesor akan memberikan layanan pada alat I/O jika ada interupsi dan jika tidak ada interupsi mikroprosesor melakukan instruksi selanjutnya.

Begitu permintaan interupsi diterima dan disetujui oleh mikroprosesor, alat I/O harus dilayani. Untuk melayani alat I/O, maka mikroprosesor melaksanakan suatu routin pelayanan khusus. Ada dua masalah yang muncul pada saat melakukan layanan interupsi :
•Bagaimana status program yang dilaksanakan pada mikroprosesor pada saat interupsi harus diperilahara dalam stack.
•Bagaimana mikroprosesor dapat mengenali secara tepat alat I/O mana yang membangkitkan interupsi. Identifikasi ini dapat dilakukan dengan perangkat keras, perangkat lunak, atau kombinasi perangkat keras dan perangkat lunak. Pencabangan ke alamat alat I/O disebut Pemvektoran Interupsi. Rutin perangkat lunak menetapkan identitas alat yang meminta layanan interupsi. Rutin identifikasi interupsi akan memilih saluran setiap alat yang dihubungkan dengan sistem. Setelah dikenal alat mana yang mencetuskan interupsi maka ia kemudian bercabang ke alamat rutin penanganan interupsi yang sesuai. Metode ke dua yang digerakkan oleh perangkat lunak, tetapi dengan pertolongan beberapa perangkat keras tambahan. Metode ini menggunakan rantai beranting (daisy chain) untuk mengenal alat yang mencetuskan interupsi. Metode tercepat adalah interupsi yang divektorkan. Adalah menjadi tanggung jawab pengendali alat I/O untuk memberikan baik interupsi maupun pengenal alat yang menyebabkan interupsi atau lebih baik lagi alamat pencabangan bagi rutin penanganan interupsi. Bila pengendali hanya memberikan pengenal alat, adalah tugas perangkat lunak mencari tabel alamat pencabangan bagi tiap alat. Ini sederhana bagi perangkat keras tapi tak mencapai performansi tertinggi.
•Prioritas
Beberapa interupsi dapat dibangkitkan serentak. Mikroprosesor diberi tugas untuk memutuskan bagaimana urutan pelayanannya. Setiap alat diberikan suatu prioritas. Mikroprosesor melayani setiap alat sesuai prioritasnya. Dalam dunia komputer prioritas 0, menurut konvensi memiliki prioritas. tertinggi, prioritas 1 yang kedua demikian seterusnya. Prioritas dapat diset baik pada perangkat keras maupun perangkat lunak. Pengaturan prioritas dengan perangkat keras dikerjakan oleh suatu piranti yang disebut Programmable Interrupt Controller (PIC)

Akses Memori Langsung
Interupsi menjamin tanggapan yang paling cepat dari proses pengendalian data pada I/O. Akan tetapi pelayanan pada alat masih diselenggarakan oleh perangkat lunak. Kecepatan transfer paralel sebuah mikroprosesor dibatasi oleh overhead perangkat lunak yang terlibat dalam pengiriman kata-kata berurutan. Ini mungkin masih tidak cukup cepat bagi pengolahan yang melibatkan alih memori cepat. Kembali disini menggantikan perangkat lunak dengan perangkat keras. Rutin perangkat lunak yang menyelenggarakan alih data antara memori dengan alat I/O
digantikan oleh prosesor perangkat keras khusus yang disebut dengan Direct Memory Access Controller (DMAC). Sebuah DMAC adalah prosesor khusus yang dirancang untuk menyelenggarakan alih data berkecepatan tinggi antara memori dengan alat luar. Dalam akses memori langsung digunakan dua teknik untuk berhubungan dengan memori :
•Prosesor dihentikan atau ditangguhkan oleh DMAC. DMAC memegang pengendalian bus dan membiarkan alat I/O berhubungan langsung dengan memori.
•DMAC mencuri satu siklus memori dari mikroprosesor, memberinya kepada pengiriman data antara memori dan alat I/O.
DMAC adalah prosesor khusus yang memutuskan hubungan atau mengisolasi MPU dari bus-bus dan mengatur pengiriman yang diperlukan antara memori dan alat I/O. Gambar 22. menunjukkan diagram blok kerja DMAC.
Pada saat sistem bekerja, saklar pada posisi atas sehingga saluran terhubung dari mikroprosesor ke sistem memori dan peripheral. Untuk membaca file ke disk diperlukan sejumlah perintah ke disk controller, memerintahkan untuk mencari dan membaca blok data yang dari disk. Jika disk controller telah menemukan byte pertama dari blok data, disk controller mengirim sinyal DMA request (DREQ) ke DMAC. Jika DMAC tidak dalam terhalang maka DMAC mengirim sinyal hold request (HRQ) ke mikroprosesor melalui pin HOLD. Mikroprosesor menanggapi masukan ini dengan mengambangkan saluran/bus dan mengirim sinyal hold acknowledge (HLDA) ke DMAC. Jika DMAC menerima sinyal HLDA, akan mengirim sinyal untuk menghubungkan bus/saluran ke posisi DMAC.
Pada saat DMAC mengontrol saluran, ia mengirim alamat memori dimana byte pertama dari disk controller di tulis. Selanjutnya DMAC mengirim sinyal DMA acknowledge (DACK) ke disk controller untuk memberitahukan kesiapan mengeluarkan byte. Akhirnya DMAC mengaktifkan saluran MEMW* dan IOR* pada saluran kontrol.


UNIT MEMORI MIROPROSESOR



Memori

Memori merupakan komponen utama yang harus ada pada setiap sistem mikroprosesor. Dalam sistem digital memori adalah kumpulan dari beberapa sel yang dapat menyimpan informasi. Dalam hal ini memori adalah rangkaian elektronik yang dapat menyimpan dan memberikan/menyajikan kembali data atau informasi.
Ditinjau dari sistem akses ada dua jenis memori yaitu :
1.Random Access Memory (RAM)
Memori yang bisa diakses secara acak. Dalam hal ini RAM menyediakan layanan akses disembarang alamat tanpa syarat harus melewati alamat sebelumnya. Semua memori elektronik adalah RAM.

2.Serial / Sequential Access Memory (SAM)
Memori jenis ini ada yang memberi nama serial memori dan ada juga yang memberi sebutan sekuensial memori. Memori jenis ini menyediakan layanan akses secara seri. Artinya jika pada suatu waktu akses berada pada suatu lokasi alamat “n” ingin melanjutkan melakukan akses ke lokasi alamat “n+5” maka ia harus melalui akses alamat “n+ 1 sampai dengan alamat “n+4” baru masuk ke alamat “n+5”. Pita kaset audio adalah contoh memori kategori SAM.

Kemudian ditinjau dari jenisnya, memori elektronik ada :
1.Read Only Memory (ROM)
yaitu memori yang hanya bisa dibaca. Memoy jenis ini digunakan untuk menyimpan program atau data sehingga sering disebut dengan ROM BIOS yaitu jenis memori yang digunakan untuk menyimpan program basic input output. Memori yang tersipan pada ROM sifatnya permanen atau dalam istilah Non Volatile artinya isi memori tetap kendati sumber arus listrik tidak ada lagi. ROM hanya dapat diisi atau diprogram oleh pabrik. pembuatnya. Kelemahannya ROM tidak pleksibel untuk digunakan dalam berbagai keperluan.

2.Programmable Read Only Memory (PROM)
Memori jenis ini memperbaiki kelemahan yang ada pada ROM. Pabrik dapat membuat ROM yang masih kosong dan dapat diprogram oleh user. Kelemahannya jika user ingin memperbaharui program atau data sudah tidak bisa lagi.

3.Erasable Programmable Read Only Memory (EPROM)
Memori jenis menyempurnakan kelemahan dari PROM, program yang sudah diisikan dapat dihapus menggunakan sinar ultra violet dan dapat diisi atau diprogram kembali. Alat yang digunakan untuk menghapus data pada EPROM disebut UV Eraser. Ciri fisik dari EPROM ada celah jendela kaca pada bagian punggung IC. Sedangkan alat yang digunakan untuk memperogram EPROM dinamakan EPROM Programmer. Biasanya EPROM Programmer sudah berbasis komputer PC.

4.Electrical Erasable Programmable Read Only Memory (EEPROM).
adalah jenis mem
ori yang menyempurnakan kekurangan EPROM yang membutuhkan alat khusus untuk memprogram dan menghapus isi memorinya. EEPROM tidak memerlukan alat khusus untuk menghapus atau memprogram. EEPROM menggunakan pulsa listrik untuk menghapus dan memprogram. EEPROM tidak memilki celah jendela kaca.

5.Read Write Memory (RWM)
jenis memori yang sifatnya volatile dimana informasinya akan hilang jika sumber arus listrik yang diberikan padam.
Random Access Memory
Informasi biner dalam sebuah memori disimpan dalam sejumlah kelompok bit. Setiap kelompok bit disebut Word. Word adalah entitas bit yang bergerak ke dalam atau k eluar unit memori. Kebanyakan komputer menggunakan Word dalam kelipatan 8 bit yang disebut dengan Byte.
•Bit : Binary Digit = angka biner
•Byte : Susunan dari 8 angka biner (bit)
•Nibble : Susunan dari 4 angka biner (bit)
Komunikasi diantara memori dengan alat luar menggunakan :
•Saluran/bus, yaitu data input output dua arah
•Saluran/bus alamat terpilih
•Saluran kendali khusus yang menentukan arah aliran /transfer data.
Sejumlah n saluran data input digunakan sebagai saluran layanan penyimpanan dan pengeluaran informasi. Sejumlah saluran kmenentukan sel-sel alamat yang diakses.
Satu unit memori secara khusus menyatakan jumlah word yang dapat disimpan dan jumlah bit dari tiap-tiap wordnya. Saluran alamat memilih salah satu word. Setiap word di dalam memori ditemukenali oleh sejumlah saluran yang disebut Address. Alamat sebuah memori berada diantara 0 s/d 2 k – 1, dimana k=jumlah saluran address buss.
seperti gambar disamping :



Operasi Penulisan dan Pembacaan

RAM dapat membentuk dua operasi yaitu :
•Operasi Penulisan (Write) yaitu operasi pengalihan atau transfer data baru ke dalam sel-sel memori
•Operasi Pembacaan (Read) adalah operasi pengalihan atau transfer data dari sel-sel memori ke luar.
Tiga langkah yang harus dilakukan pada saat operasi penulisan :
1.Berikan alamat biner dari sel-sel word yang dituju pada saluran address buss.
2.Berikan bit-bit data yang akan disimpan pada saluran data buss
3.Aktifkan input Write
Dua langkah yang harus dilakukan pada saat operasi pembacaan :
1.Berikan alamat biner dari sel-sel word yang diambil pada saluran address buss.
2.Aktifkan input Read.

UNIT MIKROPROSESOR




Arsitektur Mikroprosesor

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.
Ada tiga jenis arsitektur mikroprosesor :
•Arsitektur I/O terisolasi
•Arsitektur I/O terpetakan dalam Memori
•Arsitektur Harvard

1. Arsitektur I/O Terisolasi
Mikroprosesor dengan arsitektur I/O terisolasi menggunakan disain pengalamatan atau pemetaan I/O terpisah atau terisolasi dengan pengalamatan atau pemetaan memori. Pengalamatan I/O menggunakan sebagian dari jumlah saluran alamat (address buss) sedangkan pengalamatan memori menggunakan semua saluran alamat (address buss).
Metode I/O terisolasi menggunakan akumulator pada CPU untuk menerima informasi dari I/O atau mengeluarkan informasi ke bus I/O selama operasi input output. Tidak ada register lain selain akumulator yang terpakai untuk akses I/O. Metode I/O terisolasi disebut juga dengan I/O akumulator. Konsep ini memiliki pengaruh penting pada program komputer yaitu :
•Instruksi yang digunakan hanya dua kode operasi yaitu IN dan OUT.
•Informasi/data yang ada pada akumulator harus dialihkan pada suatu lokasi penyimpanan sementara sebelum ada operasi I/O berikutnya.
•Perlu ada tambahan instruksi pada program pengalihan data/informasi pada akumulator.
Keuntungan metode I/O terisolasi :
•Komputer dapat mengalihkan informasi/data ke atau dari CPU tanpa menggunakan memori. Alamat atau lokasi memori untuk rangkaian memori bukan untuk operasi I/O.
•Lokasi memori tidak terkurangi oleh sel-sel I/O Instruksi I/O lebih pendek sehingga dapat dengan mudah dibedakan dari instruksi memori.
•Pengalamatan I/O menjadi lebih pendek dan perangkat keras untuk pengkodean alamat lebih sederhana.
Kerugian metode I/O terisolasi :
Lebih banyak menggunakan penyemat pengendalian pada mikroprosesornya. Mikroprosesor buatan Intel dan mikroprosesor buatan Zilog menggunakan arsitektur I/O terisolasi..

2.Arsitektur I/O Terpetakan dalam Memori
Mikroprosesor dengan arsitektur I/O terpetakan dalam memori menyatukan sel-sel I/O dalam pengalamatan yang bersama dengan sel-sel memori. I/O yang terpetakan dalam memori menunjukkan penggunaan instruksi tipe memori untuk mengaksesalat-alat I/O.
I/O yang dipetakan dalam memori memungkinkan CPU menggunakan instruksi yang sama untuk alih memori seperti yang digunakan untuk alih I/O. Sebuah pintu I/O diperlakukan seperti sebuah lokasi memori. Keuntungan sistem ini adalah instruksi yang dipakai untuk pembacaan dan penulisan memori dapat digunakan untuk memasukkan dan mengeluarkan data pada I/O.
Kerugiannya pertama tiap satu pintu I/O mengurangi satu lokasi memori yang tersedia. Kedua alamat lokasi I/O memerlukan 16 bit saluran. Ketiga instruksi I/O yang dipetakan dalam memori lebih lama dari instruksi I/O terisolasi.

3.Arsitektur Harvard
Arsitektur Harvard menggunakan disain yang hampir sama dengan arsitektur I/O terisolasi. Perbedaannya pada arsitektur harvard antara memori program dan memori data dipisahkan atau diisolasi.
Pemisahan antara memori program dan memori data menggunakan perintah akses memori yang berbeda. Harvard arsitektur ditinjau dari kemampuan jumlah memori lebih menguntungkan.

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.

Berikut adalah keterangan konfigurasi mikroprosesor Z-80
•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 jika CPU sedang mengambil sandi operasi instruksi dari memori. Pada saat ini bus alamat berisi alamat memori seperti data yang ada pada register PC, dan data bus mengarah masuk.
•MREQ* (Memori Request = pesan memori) merupakan pin Keluaran aktif rendah pada waktu saluran alamat berisi alamat memori.
•IORQ* (Input Output Request =pesan Input Output) Keluaran aktif rendah pada waktu saluran alamat A0 s/d A7 berisi alamat I/O.
•RD* (Read = Baca) Keluaran aktif rendah 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.

Z-80 CPU dalam menggendalikan sistem menggunakan enam pin kendali dan empat diantaranya digunakan untuk berkomunikasi dengan Memori dan I/O. Cara berkomunikasinya menggunakan status bit seperti tabel berikut :

SISTEM DASAR MIKROPROSESOR


Sistem Mikroprosesor


Sistem Mikroprosesor dapat dipahami dari dua kata pembangunnya yaitu :

* Sistem adalah gabungan dari beberapa elemen atau komponen yang membangun suatu fungsi tertentu.
* Mikroprosesor adalah sebuah komponen rangkaian terintegrasi (IC) mikroelektronika dalam paduan skala yang sangat besar yang di disain bekerja sebagai pusat pengolah data digital yang lebih dikenal dengan sebutan Central Processing Unit (CPU).

Jadi Sistem Mikroprosesor adalah gabungan dari beberapa komponen dalam hal ini Memory Unit, Input, Output Unit, dan CPU yang bekerja sebagai pengolah data elektronik digital. Sebuah mikroprosesor agar dapat berfungsi memerlukan sebuah sistem yang disebut sistem mikroprosesor.

Komponen utama sebuah sistem mikroprosesor tersusun dari lima unit pokok : unit mikroprosesor atau Microprocessor Unit ( MPU) atau CPU, unit memori baca atau Read Only Memory (ROM), unit memori baca tulis atau Read Write Memory (RWM), unit masukan keluaran terprogram atau Programmable Input Output(PIO) dan unit detak/Clock.



MPU adalah sebuah CPU yang tersusun dari tiga bagian pokok yaitu :

* Control Unit (CU)
* Arithmetic Logic Unit (ALU)
* Register Unit (RU)

Sebagai CPU, MPU bekerja dan melakukan fungsi dasar yaitu fungsi logika dan aritmetika. Fungsi logika antara lain fungsi AND, OR, XOR, CPL, dan NEG. Sedangkan fungsi Aritmetika antara lain : ADD, SUB, ADC, SBC, INC, dan DEC.

Disamping fungsi pengolahan aritmetika dan logika MPU juga melakukan fungsi pengalihan data dengan menggunakan perintah MOV, atau LOAD, EXCHANGE, PUSH, dan POP. Untuk menyimpan program dan data yang digunakan pada sistem mikroprosesor harus dilengkapi dengan Memori. Jadi memori mutlak diperlukan dalam sistem mikroprosesor. Tanpa ada memori sistem mikroprosesor tidak dapat bekerja terutama memori program dalam ROM.

I/O unit dipersiapkan untuk menghubungkan MPU dengan alat-alat input-output luar seperti keyboard. Monitor, Printer, Mouse, dan sebagainya.

Sistem Bus

Mikroprosesor berkomunikasi dengan unit memori, unit I/O menggunakan saluran yang disebut dengan BUSS. Setiap mikroprosesor dilengkapi dengan tiga bus sebagai berikut:



Alih data diantara MPU dengan komponen luar berlangsung pada Bus Data. Mikroprosesor standar memiliki saluran bus data 8 bit dua arah artinya alih data atau informasi berlangsung pada 8 saluran paralel dari MPU ke unit lain diluar MPU atau dari unit lain di luar ke MPU.

Untuk menetapkan kemana data itu dikirim atau dari mana data itu diambil digunakan bus alamat. Bus alamat bertugas menetapkan dan memilih satu lokasi memori atau satu lokasi I/O yang hendak diakses.
Bus Kendali adalah seperangkat bit pengendali yang berfungsi mengatur: (1) Penyerempakan memori, (2) Penyerempakan I/O, (3) Penjadualan MPU, Interupsi, DMA , (4) Pembentuk clock, dan reset.



Perkembangan Mikroprosesor

Mikroprosesor sebagai komponen utama dalam sistem mikroprosesor dapat dikelompokkan menurut : (a) Teknologi yang digunakan ; (b) Jumlah Bit Data ; (c) Kemampuan atau Karakteristik Mikroprosesor. Tabel berikut menunjukkan pengelompokan perkembangan mikroprosesor.



Disamping teknologi PMOS (Metal-Oxide Semiconductor kanal P) dan teknologi NMOS (Metal-Oxide Semiconductor kanal N) yang paling banyak digunakan sebagai teknologi pembuatan mikroprosesor masih ada teknologi lain yaitu :

* Teknologi CMOS (Complementary Metal-Oxide Semiconductor )
* Teknologi CMOS-SOS (teknologi CMOS menggunakan subtrat Sphir- Silicon – On – Sapphire)
* Teknologi bipolar jenis ECL (Emitter – Coupled – Logic)
* Teknologi Bipolar jenis Schottky
* Teknologi Bipolar jenis I2L (Integrated – Injection – Logic)

Mengingat makin banyaknya macam dan jenis mikroprosesor yang ada sampai saat ini, maka sebagai pemakai kita perlu menentukan macam komponen yang paling sesuai dengan keperluan kita. Dalam memilih komponen mikroprosesor beberapa hal pertimbangan perlu dikaji misalnya:

* Pertimbangan Sistem meliputi karakteristik sistem, jumlah supplier, harga, dan ketersediaan.
* Pertimbangan hardware meliputi jumlah bit data, macam, kemampuan dan waktu instruksi dan macam bahasa.

Clock

Merupakan bagian dari sistem mikroprosesor yang mengatur denyut kerja MPU. Sehingga frekuensi clock berkaitan dengan kecepatan kerja komputer. Beberapa jenis MPU ada yang menggunakan detak sistem tunggal dan ada juga sistem ganda (dua fase). Detak dapat dibangkitkan menggunakan sistem diskrit atau IC khusus. Intel memperkenalkan IC 8224 untuk penggerak detak..

Pengendalian Sistem Mikroprosesor

MPU dalam suatu sistem mikroprosesor dalam fungsinya sebagai pengendali sistem bekerja sebagai :

* Pengendali sistem
* Pengendali bus/saluran
* Dikendalikan oleh alat luar.
Pada Tabel berikut digambarkan ekivalensi sinyal-sinyal kendali beberapa jenis mikroprosesor :


Penyerempakan memori dan penyerempakan I/O pada pokoknya analogis. Digunakan prosedur jabat tangan. Dalam operasi “baca” suatu status sinyal “siap’ (ready) akan menunjukkan tersedianya data. Kemudian data dialihkan ke bus data. Pada beberapa alat I/O dibangkitkan suatu sinyal “pengakuan” (ackowledge) untuk memberitahukan penerimaan data. Pembangkitan sinyal pengakuan ini menggunakan sistem tak serempak (Asinkron). Pada sistem sinkron tidak diperlukan adanya pembangkitan sinyal pengakuan.

Ciri dari sistem sinkron adalah :

* Kecepatan yang lebih tinggi
* Jumlah saluran bus pengendali lebih sedikit
* Pembatasan kecepatan pada alat-alat I/O.

Pada sistem asinkron tercirikan adanya :

* Jumlah saluran bus pengendali lebih banyak
* Memungkinkan penggunaan piranti berkecepatan berbeda dalam satu sistem yang sama.
Terima kasih atas kunjungan anda di blog ini, moga ada manfaat yang anda peroleh dari blog ini tentunya. saran dari dari anda sangat saya harapkan untuk perbaikan blog ini kedepannya. contact saya di "laarman87@gmail.com" terimakasih.. penulis.... Thank You Myspace Comments