Selasa, 30 April 2013

Bilangan Biner Tak Bertanda 8 Bit

BILANGAN BINER TAK BERTANDA 8 BIT DALAM SISTEM MIKROPROSESOR

     Melanjutkan pembahasan kita tentang sistem bilangan dan konversi bilangan pada pertemuan sebelumnya, maka pada pertemuan keenambelas untuk sesi sistem mikroprosesor kali ini kita akan membahas tentang bilangan biner tak bertanda 8 bit dalam sistem mikroprosesor. Oke langsung saja kita ikuti dan simak uraian berikut ini.
          Bilangan biner tak bertanda 8 bit dapat menyajikan bilangan sebanyak 256 nilai dari 0 sampai dengan 255. Berdasarkan satuan dan proses konversinya, maka dapat disusun tabel konversi desimal ke biner dan Heksa-Desimal sebagai berikut :

Tabel 1. Konversi Bilangan Tak Bertanda 8 Bit

          Dari tabel 1 di atas dapat dibuat garis bilangan dengan bilangan terkecil 00000000  = 010 = 0016 dan bilangan terbesar 11111111 = 25510 = FF16.


a. Penjumlahan dan Pengurangan Bilangan Biner
          Dalam penjumlahan bilangan biner berlaku kaidah sebagai berikut :

Tabel 2. Penjumlahan Bilangan Biner

Penjumlahan bilangan biner dimulai dari bit LSB menuju bit MSB
Contoh  :

          Dalam pengurangan bilangan biner berlaku kaidah sebagai berikut :

Tabel 3. Pengurangan Bilangan Biner

Pengurangan bilangan biner dimulai dari bit LSB menuju bit MSB
Contoh  :

b. Pengurangan dengan Metoda Komplemen
          Pengurangan suatu bilangan dapat dilakukan dengan penjumlahan bilangan tersebut dengan komplemen bilangan pengurangnya (A-B) = A + (-B). Dalam desimal dikenal istilah komplemen 9, sedangkan dalam biner dikenal istilah komplemen 1.

Tabel 4. Pengurangan dengan Metode Komplemen

          Dalam desimal disamping komplemen 9 dikenal komplemen 10 yaitu komplemen 9 + 1, sedangkan dalam biner disamping komplemen 1dikenal komplemen 2 yaitu komplemen 1 + 1.

Senin, 29 April 2013

Konversi Bilangan

KONVERSI BILANGAN DALAM SISTEM MIKROPROSESOR

          Melanjutkan pembahasan kita tentang sistem bilangan pada pertemuan sebelumnya, maka pada pertemuan kelimabelas untuk sesi sistem mikroprosesor kali ini kita akan membahas konversi bilangan dalam sistem mikroprosesor. Oke langsung aja kita simak uraian berikut ini :
          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 bilangan yaitu :
Teknik Bagi
Teknik Kurang.

a. Konversi Bilangan Desimal ke Biner
Contoh  :  
Bilangan dengan basis 10 berapakah nilainya jika dkonversi ke bilangan dengan basis 2 seperti contoh bilangan di bawah ini : 
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.

b. Konversi Bilangan Desimal ke Heksa-Desimal
Contoh  :  
Bilangan dengan basis 10 berapakah nilainya jika dikonversi ke bilangan dengan basis 16 seperti contoh bilangan di bawah ini :
4410 = ……………..16

Dengan teknik bagi 16
44 : 16 = 2 sisa : 12
1210 = C16
Jadi : 4410 = 2C 16

c. Konversi Bilangan Desimal ke Oktal
Contoh   :  
Bilangan dengan basis 10 berapakah nilaninya jika dikonversi ke bilangan dengan basis 8 seperti contoh bilangan di bawah ini :
4410 = ……………..8

Dengan teknik bagi 8
44 : 8 = 5 sisa : 4 LSB
Jadi : 4410 = 54 8

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

Tabel 1. Dasar Konversi Bilangan

Minggu, 28 April 2013

Sistem Bilangan

SISTEM BILANGAN DALAM SISTEM MIKROPROSESOR

          Pada pertemuan keempatbelas untuk sesi sistem mikroprosesor kali ini marilah kita bahas tentang sistem bilangan dalam sistem mikroprosesor, karena sistem bilangan inilah yang mendasari proses bekerjanya teknologi digital pada umumnya dan sistem mikroprosesor pada khususnya yang berkembang saat ini. Secara umum dalam sistem mikroprosesor sistem bilangan yang digunakan ada empat jenis yaitu :
Sistem Bilangan Desimal
Sistem Bilangan Biner
Sistem Bilangan Heksadesimal
Sistem Bilangan Oktal.

          Keempat sistem bilangan ini satu sama lain dibedakan oleh sebuah nilai yang disebut dengan BASIS. Sistem bilangan desimal menggunakan basis 10, Bilangan biner menggunakan basis 2, Bilangan heksa-desimal menggunakan basis 16, dan bilangan oktal menggunakan basis 8.

a. 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        ---> baca seribu sebelas

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

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

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

Sabtu, 27 April 2013

Bahasa & Pengembangan Program Mikroprosesor

BAHASA DAN PENGEMBANGAN PROGRAM MIKROPROSESOR

          Pada pertemuan ketigabelas untuk sesi sitem mikroprosesor kali ini kita akan membahas tentang bahasa dan pengembangan program mikroprosesor. Kebanyakan orang berpikir bahwa komputer adalah sebuah peralatan yang sangat komplek, sulit dipelajari, dan dapat berfikir melebihi manusia. Pernyataan ini  tidak salah tetapi terlalu berlebihan, karena komputer hanya dapat bekerja jika ada perintah yang diberikan yang disebut program.
          Program adalah susunan atau urutan perintah-perintah sederhana yang diberikan kepada komputer untuk memecahkan beberapa permasalahan. Jika sebuah program telah ditulis dan dilakukan debugging, komputer akan dapat mengeksekusi program tersebut dengan sangat cepat dan dengan cara yang sama setiap saat tanpa kesalahan.
       Disinilah kehebatan komputer, meskipun program tersusun dari perintah-perintah yang sangat sederhana, hasil akhir sangat menakjubkan sebab komputer dapat bekerja dengan kecepatan tinggi. Kebanyakan mikroprosesor memiliki kesamaan dalam perintah atau instruksi. Intsruksi transfer data dapat menggunakan perintah LOAD atau MOVE, Instruksi matematika sederhana menggunakan perintah ADD, SUBTRACT, MULTIPLY, DEVIDE.

1. Langkah-Langkah Pengembangan Program
          Menurut Douglas ada empat langkah yang harus dilakukan dalam mengembangkan program komputer yaitu :
Pendefinisian permasalahan,
- Representasi kerja program,
- Penemuan instruksi-instruksi yang benar,
- Penulisan program.

2. Pendefinisian Permasalahan
          Langkah pertama yang harus dilakukan dalam menulis program adalah memikirkan secara cermat permasalahan yang ingin diselesaikan menggunakan program komputer. Dengan kata lain apa yang ingin dikerjakan oleh sebuah program. Jika anda telah berpikir tentang permasalahan, ini merupakan ide yang yang sangat baik dalam menulis apa yang dinginkan dalam membuat program. Sebagai contoh ilustrasi masalah menyeberang di jalan yang sangat ramai/sibuk.

3. Representasi Kerja Program
Sekuen atau formula kerja yang digunakan untuk memecahkan masalah pemrograman disebut Algoritma program. Programmer harus menggunakan daftar urutan pekerjaan. Sebagai contoh dalam kasus /permasalahan menyeberang jalan yang sangat ramai step perintah-perintah sederhana dapat dinyatakan sebagai berikut :
- Step 1 : Berjalanlah ke sudut jalan dan berhenti
- Step 2 : Lihat dan cermati lampu pengatur lalu lintas
- Step 3 : Apakah pada arah anda lampu menyala hijau
- Step 4 : Jika lampu pada arah anda menyala merah, kembali ke Step 2 (Untuk keadaan lain teruskan ke Step 5)
- Step 5 : Lihat ke arah kiri
- Step 6 : Apakah masih ada kendaraan yang lewat
- Step 7 : Jika ia, kembali ke Step 5
- Step 8 : Lihat ke arah kanan
- Step 9 : Apakah masih ada kendaraan yang lewat
- Step 10 : Jika ia, kembali ke Step 8
- Step 11 : Menyeberanglah dengan hati-hati.
         Kesebelas langkah ini adalah bahasa bayi atau bahasa aras rendah, yang pada kenyataannya dilakukan pada setiap menyeberang jalan yang sangat ramai/sibuk dan ada lampu pengatur lalu lintas. Kesebelas sekuen perintah ini disebut juga dengan  Algoritma Program.

4. Flow Chart
          Flow chart atau diagram alir adalah cara yang sangat sederhana untuk menunjukkan aliran proses sebuah program. Untuk menyajikan jenis operasi sebuah program digunakan bentuk-bentuk grafis. Ada delapan jenis bentuk grafis yang digunakan untuk menyusun flow chart seperti yang ditunjukkan pada Gambar 1 berikut ini:

Gambar 1. Bemtuk-Bentuk Grafis Untuk Menyusun Flow Chart

          Sebagai contoh dari sebelas step algoritma program di atas dapat disusun flow chart kasus menyeberang jalan yang sangat ramai seperti ditunjukkan pada Gambar 2 berikut ini.

Gambar 2. Flow Chart Untuk Kasus Menyeberang Jalan Yang Sangat Ramai

          Contoh yang lain, di bawah ini merupakan algoritma program dan flow chart dari kasus/permasalahan mengisi gelas dengan air dari keran.
Algoritma Program :
- Step 1 : Letakkan gelasdi bawah keran
- Step 2 : Hidupkan air
- Step 3 : lihat gelas
- Step 4 : Apakah sudah penuh
- Step 5 : Jika tidak kembali ke step 3 (Untuk keadaan lain teruskan ke Step 6)
- Step 6 : Matikan air
- Step 7 : Pindahkan gelas dari bawah keran

Flow Chrat :
Gambar 3. Flow Chart Untuk Kasus Mengisi Gelas Dengan Air Dari Kran

Jumat, 26 April 2013

Sistem Kontrol Berbasis Mikroprosesor

PENGENALAN SISTEM KONTROL BERBASIS MIKROPROSESOR

          Pada pertemuan keduabelas untuk sesi sistem mikroprosesor kali ini kita lanjutkan dengan pembahasan tentang pengenalan sistem kontrol berbasis mikroprosesor. Pabrik atau industri modern saat ini sangat memerlukan kendali automatik, karena kendali automatik memegang peranan penting pada setiap proses dalam pabrik atau industri. Tujuan penerapan kendali automatik pada proses permesinan di industri modern adalah untuk :
Peningkatkan produktivitas
Peningkatkan ketelitian
Kemudahan pengoperasian
Pengurangan keterlibatan tenaga kerja (manusia)
Keamanan pekerja
          Dengan kendali otomatis kualitas sebuah produk atau proses menjadi lebih baik, jumlah atau kuantitas produk menjadi lebih banyak dan lebih teliti, serta tenaga kerja lebih mudah bekerja dan lebih aman dari faktor bahaya resiko kerja. Sebuah sistem kendali dapat dibagi dalam empat bagian konstituen yaitu:
Input
Controller/Pengendali
Processing
Output
Gambar 1. Elemen Sebuah Sistem Kendali (Control)

1. Bagian Input
          Sinyal input biasanya dibangkitkan menggunakan sensor atau transduser. Sensor adalah sebuah piranti elektronik yang peka terhadap cahaya, suhu, frekuensi, impedansi listrik, atau tingkat radiasi dan menghasilkan sinyal untuk keperluan pengukuran atau peralatan kendali. Sensor bekerja mengkonversi besaran fisik menjadi sinyal listrik. Transduser didefinisikan sebagai piranti yang bekerja menerima suatu bentuk energi dari suatu sistem dan memancarkan kembali ke bentuk yang berbeda pada sistem lain.Data yang diperoleh dari input merupakan data hasil pengukuran. 
         Data tersebut digunakan sebagai data masukan pada kontroler dalam melakukan proses pengendalian. Bagian Input dari suatu sistem kendali berfungsi menyalurkan informasi besaran yang diukur ke bagian controller (Pengendali). Bergantung jenis transduser informasi yang dihasilkan dapat dalam bentuk discontinuous on/off (binary) atau continuous (analog) seperti Tabel 1 berikut ini :

Tabel 1. Jenis Transduser Pada Input

2. Bagian Controller
          Bagian ini merupakan bagian pokok pengolah sinyal masukan dari  bagian input, dan kemudian membangkitkan resultan aksi pada plant. Berdasarkan informasi dari input, sistem kendali otomatis membangkitkan sinyal tanggapan untuk control plant (peralatan yang dikontrol).Ada dua cara yang dapat digunakan untuk mengendalikan peralatan yaitu:
Hard-wired control
Programmable control
          Sistem kendali Hard-wired bekerja atas dasar fungsi yang tetap sedangkan kendali Programmable bekerja atas dasar program yang disimpan pada unit memori. Kendali Programmable menggunakan mikroprosesor sebagai komponen utama pengolah sinyal dan pengambil keputusan. Sistem kendali yang menggunakan mikroprosesor sebagai komponen utama pengolah sinyal disebut Sistem Kendali Berbasis Mikroprosesor.
          Dalam implementasinya sebuah mikroprosesor tidak dapat berdiri sendiri. Ia memerlukan unit memori dan unit I/O yang dibangun dalam suatu sistem yang disebut Sistem Mikroprosesor. Dalam perkembangan pemakaiannya sistem mikroprosesor diimplemtasikan dalam sebuah  rangkaian terintegrasi yang dikenal dengan sebutan MicrocontrollerSecara diagram sistem kendali berbasis Mikroprosesor dapat digambarkan seperti gambar 2.

Gambar 2. Diagram Blok Sistem Kendali (Control) Berbasis Mikroprosesor

          Mikrokontroler disebut juga dengan komputer dalam satu chip adalah jenis peralatan elektronik yang bekerja berdasarkan program untuk tujuan yang sangat umum dan luas. Mikrokontroler adalah sebuah sistem mikroprosesor yaitu sebuah sistem yang memadukan mikroprosesor sebagai Central Processing Unit, Memori, dan Unit Input Output yang didesain dalam sebuah chip.
          Penggunaan Mikrokontroler sebagai alat kendali sangat memudahkan dan memberi keleluasaan dalam implementasi dan aplikasinya. Mikrokontroler dapat digunakan untuk aplikasi yang sangat variatif karena perubahan pengimplementasiannya cukup dilakukan dengan merubah data atau progam yang diberikannya.


3. Bagian Processing atau Plant
                  Sistem kendali harus dapat menjalankan proses yang diatur. Plant adalah seperangkat peralatan yang digunakan untuk melakukan suatu operasi tertentu. Obyek fisik dikendalikan menggunakan piranti seperti pompa, motor, relay, pistons, lampu display, dan sebagainya dalam sebuah sistem disebut plant.  Motor sebagai salah satu contoh bekerja mengkonversi sinyal listrik menjadi gerakan putar. Secara umum konverter listrik menjadi fisik disebut actuator.

Tabel 2. Jenis Peralatan Penggerak Output


4. Bagian Output
              Bagian output dari suatu sistem kendali adalah hasil dari proses pengendalian berdasarkan nilai acuan atau referensi yang ditetapkan. Dalam sistem kendali berbasis mikroprosesor keluaran hasil pengendalian dapat diukur melalui sensor atau transduser sehingga hasil pengukuran output dapat dibandingkan dengan nilai setting yang ditetapkan. Dalam sistem pendingin misalnya, suhu 18 derajat Celsius merupakan setting output yang harus dicapai oleh sistem kendali. Setelah melalui proses pengendalian hasil pada output diukur apakah sudah sama dengan nilai setting 18 derajat Celsius atau belum, selanjutnya bagian kontrol dapat melakukan langkah pengaturan sesuai dengan kebutuhannya.

Kamis, 25 April 2013

Pemilihan Chip/Komponen Dalam Perakitan Mikroprosesor

METODE PEMILIHAN CHIP/KOMPONEN DALAM PERAKITAN 
SISTEM MIKROPROSESOR

          Seperti yang telah kita singgung pada pembahasan sebelumnya bahwa dalam pemilihan chip dikenal tiga metode yaitu :
Pemilihan Linier
Pemilihan Parsial
Pemilihan Penuh
Nah pada pertemuan kesebelas untuk sesi sistem mikroprosesor kali ini kita akan bahas ketiga metode pemilihan chip/komponen tersebut, untuk itu langsung saja ikuti dan simak uraian berikut ini.

a. Pemilihan Linier 
         Metode ini baik digunakan untuk sistem dengan kepadatan rendah (Sistem minimum). Pemilihan linier menghubungkan saluran alamat sendiri-sendiri kemasukan pemilih chip. Misalnya bila bit MSB (b15) dihubungkan ke chip select (CS) maka chip tersebut dipilih bila bit MSB berkeadaan 1. Keuntungan dasar pemilihan linier adalah kesederhanaannya. Tak diperlukan gerbang logika khusus untuk memilih chip. Sebagai ilustrasi dapat dilihat pada contoh di bawah ini.


Tabel 1. Pemetaan Memori Pemilihan Linier

Dari tabel 1 di atas dapat dibuat sistem pengalamatan memori seperti ditunjukkan pada gambar 1 berikut ini.

Gambar 1. Rangkaian Address Decoder Pemilihan Linier

          Pada gambar 1 di atas terlihat hubungan sistem pemilihan chip linier dimana A0 hingga A9 dihubungkan langsung pada masing chip sedangkan A10 dihubungkan ke CS ROM, A11 dihubungkan ke CS RAM1 dan A12 dihububgkan ke CS RAM2. Bit addres A13, A14, dan A15 tidak digunakan. Dari gambar 1 di atas juga terlihat kesederhanaan sistem pemilihan chip linier dimana tidak memerlukan gerbang logika.

b. Pemilihan Parsial
          Pemilihan parsial adalah pemilihan chip yang hanya menggunakan sebagian dari pin bus alamat. Untuk keperluan pemilihan chip diperlukan gerbang logika. Metode pemilihan dapat dilihat pada contoh berikut :


Tabel 2. Pemetaan Memori Pemilihan Parsial


Gambar 2. Rangkaian Address Decoder Pemilihan Parsial

          Sistem pemilihan parsial menyediakan kemungkinan pemakaian gerbang logika yang tidak terlalu banyak.

c. Pemilihan Chip Dikodekan Sepenuhnya
          Yang disebut dengan pemilihan chip yang dikodekan sepenuhnya adalah metode pemilihan chip dimana semua bit alamat pada addres bus digunakan. Oleh karena dikodekan secara penuh maka semua alamat digunakan secara penuh. Dengan demikian sisitim ini sangat baik untuk sistem besar.


Tabel 3. Pemetaan Memori Pemilihan Dikodekan Sepenuhnya


Gambar 3. Rangkaian Addresd Decoder Pemilihan Dikodekan Penuh

Rabu, 24 April 2013

Perakitan Mikroprosesor

PERAKITAN SISTEM MIKROPROSESOR

          Pada pertemuan yang kesepuluh untuk sistem mikroprosesor kali ini, kita akan membahas tentang perakitan sistem mikroprosesor. Tapi sebelum menuju pada perakitan sistem mikroprosesor, kita harus kembali memperhatikan adanya dua perangkat pembentuk sistem mikroprosesor yaitu perangkat keras dan perangkat lunak. Sebagai suatu sistem, perangkat keras dan perangkat lunak sama-sama pentingnya. Dalam perencanaan dan pengembangan sistem kedua perangkat tersebut harus dirancang dan dikembangkan secara bersama-sama.

Arsitektur Sistem
          Mikroprosesor sebagai suatu sistem arsitekturnya dapat digambarkan seperti pada gambar 1 di bawah ini. Masing-masing komponen dari sistem dihubungkan satu sama lain melalui tiga saluran bus.


Gambar 1. Arsitektur Sistem Mikroprosesor

Peta Memori
          Mikroprosesor sebagai pusat unit pemroses yang kemudian dikenal dengan sebutan Central Processing Unit (CPU) hanya dapat berkomunikasi dengan unit memori (RWM atau ROM) dan unit I/O apabila unit-unit ini memiliki alamat tertentu. Untuk keperluan ini maka dikembangkan suatu peta yang disebut Peta Memori. Peta memori adalah suatu peta yang menunjukkan lokasi alamat suatu unit memori. Peta ini sangat penting artinya bagi CPU dalam mengenali lokasi-lokasi suatu unit memori. Peta memori menunjukkan :
Bagian dari memori yang dapat digunakan untuk program
Bagian memori read only
Program pengendalian sistem
Tempat dimana memori diinstalasi
Daftar alamat piranti memori
Daerah memori yang masih kosong (jika ada).
          Pada Gambar 2 terlihat di sebelah kiri peta ada angka-angka yang menunjukkan alamat memori. EPROM 2532 berada pada alamat 0000h – 0FFFh. Sedangkan RAM 6116 berada pada alamat 1800h – 1FFFh dan EPROM 2732 berada pada alamat 2000h – 2FFFh.

Gambar 2. Peta Memori

          Luasan daerah alamat suatu memori menentukan kapasitas memorinya. EPROM 2532 berada pada alamat 0000h – 0FFFh memiliki kapasitas 4 Kbyte. Kapasitas ini dicari dengan mengurungkan bit alamat akhir terhadap bit alamat awal. Kemudian dihitung jumlah bit (n) yang menunjukkan angka biner 1. Kapasitas memori suatu memori sama dengan dua pangkat n.
          Dari hasil pengurangan di atas diperoleh 11 bit angka 1 sehingga diperoleh 2 11 = 2 K. Alamat 1000h – 17FFh tidak digunakan, alamat 2000h – 2FFFh digunakan untuk pengembangan memori. Pada sistem memori ini bus alamat memiliki jumlah saluran 16 bit, sehingga CPU memiliki kemampuan 2 16 = 64 Kb. Untuk menentukan kode pengalamatan masing-masing komponen digunakan suatu table 1 sebagai berikut.

Tabel 1. Pemetaan Memori


Pemilihan Chip / Komponen
          Masing-masing komponen pada sistem mikroprosesor biasanya dilengkapi minimal dengan satu pin untuk pemilihan chip. Pin ini biasanya disebut chip select (CS) atau juga dikenal dengan chip enable (CE). CS (tanpa tanda sles) artinya sebuah chip akan aktif jika pin itu berlogika tinggi (1). Sedangkan CS menunjukkan sebuah chip akan berkeadaan aktif apabila pada pin CS diberi keadaan logika rendah (0). Dalam pemilihan chip dikenal tiga metode yaitu :
Pemilihan Linier
Pemilihan Parsial
Pemilihan Penuh.
          Ketiga metode pemilihan chip/komponen tersebut tidak diuraikan di sini, tapi akan kita bahas pada pertemuan selanjutnya.

Pembufferan Bus
          Bus mikroprosesor harus berhubungan dengan setiap chip masukan keluaran pheriferal dan memori sistem. Semua mikroprosesor MOS kurang kemampuan penggerakkan keluarannya yang diperlukan dalam sistem besar. Karena itu dipakai buffer atau penggerak untuk menaikkan daya penggerakan bus. Ada pengirim bus untuk menggerakkan bus dan ada penerima bus untuk menerima bus dan menggerakkan mikroprosesor. Gambar 3 di bawah ini menunjukkan pembufferan saluran alamat dan saluran pengendali
          Tiap masukan sebuah alat merupakan beban pada keluaran yang menggerakkannya. Sebagian besar komponen menggerakkan mulai dari satu sampai dua puluh komponen lainnya. Setiap komponen harus diperiksa karakteristik penggerakan serta pembebanan masukan keluarannya.

Gambar 3.Pembuffferan Saluran Alamat dan Pengendali

          Dalam gambar 3 melukiskan penggunaan pengirim untuk pembufferan bus pengendali dan bus alamat. Saluran-saluran pada bus pengendali bersifat satu arah. Pada gambar  4 ditunjukkan cara pembufferan bus data. Data harus lewat pada dua arah, jadi dipakai baik sebagai pengirim maupun sebagai penerima.

Gambar 4. Pembufferan Bus Data
Menghubungkan Memori dan I/O

          Sebagai bagian dari suatu sistem mikroprosesor memori dan I/O merupakan komponen pokok. Perakitan memori dan I/O mengacu pada rancangan sistem berupa pengembangan peta memori dan peta I/O.
         Sebagai suatu kasus berikut diuraikan cara-cara perakitan Z80-CPU dengan memori dan I/O. Z-80-CPU adalah mikroprosesor 8 bit produksi Zilog. Dengan memperhatikan sinyal-sinyal pengendali yang ada pada CPU, saluran alamat, dan saluran data serta rancangan sistemnya maka perakitan sistem mikroprosesor dapat dikerjakan seperti Gambar 5.

Gambar 5. Rangkaian Hubungan CPU dengan Memori dan I/O


Selasa, 23 April 2013

Metode Pengendalian I/O

METODE PENGENDALIAN INPUT OUTPUT ( I / O )

          Sobat blogger, kita masih dalam pembahasan unit input output, pada pertemuan kesembilan untuk sesi sistem mikroprosesor kali ini kita lanjutkan dengan membahas metode pengendalian input output (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).

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

 Gambar 1. Diagram Alir Pengendalian I/O Metode Polling


b. 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. Logika pengendalian I/O dengan metode interupsi ditunjukkan pada diagram alir Gambar 2.

Gambar 2. Diagram Alir Pengendalian I/O Metode Interupsi

          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. Secara 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). Struktur dasar logika PIC dapat digambarkan seperti Gambar 3.

Gambar 3. Struktur Dasar Logika PIC

c.  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 4 menunjukkan diagram blok kerja DMAC.

Gambar 4. Diagram Blog 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.