Selasa, 20 Januari 2015

Mikro Kontroler Atmega 16

0 komentar

Mikro Kontroler Atmega 16     

      
       Mikrokontroler AVR (Alf and Vegard’s Risc processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar intruksi dieksekusi dalam 1(satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan MCS51 berteknologi CISC (Complex Intruction Set Computing).

       AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga Attiny, keluarga AT902xx, keluarga Atmega, dan keluarga AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Silahkan buka www.atmel.com untuk informasi lebih lanjut tentang berbagai variasi AVR. Untuk mikrokontroler AVR yang berukuran lebih kecil, silahkan mencoba Atmega8, Attiny2313 dengan ukuran Flash Memory 2KB dengan dua input analog.

       Mikrokontroler pada dasarnya diprogram dengan bahasa assembler. Tetapi  Saat ini mikrokontroler dapat deprogram dengan menggunakan bahasa tingkat tinggi sepert BASIC, PASCAL atau C.Bahasa tingkat tinggi tersebut memiliki beberapa keuntungan dibandingkan dengan bahasa asembler :

  1. Lebih mudah membangun program dengan menggunakan bahasa tingkat tinggi
  2. Perbaikan program lebih mudah jika program dibangun menggunakan bahasa tingkat tinggi
  3. Testing program didalam bahasa tingkat tinggi lebih mudah
  4. Bahasa tingkat tinggi lebih banyak dikenal dan error program yang dibuat dapat dihindari
  5. Mudah mendokumentasikan sebuah program tingkat tingggi

      Meskipun demikian, bahasa tingkat tinggi juga memiliki beberapa kelemahan, contohnya ukuran kode memori biasanya besar, dan program yang dibangun menggunakan bahasa asembler biasanya bekerja cepat dibangdingkan dengan program yang dibangun menggunakan bahasa tingkat tinggi.

Didalam mikrokontroler Atmega16 terdiri dari:

  1. Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.
  2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.
  3. Tiga buah Timer/Counter dengan kemampuan perbandingan.
  4. CPU yang terdiri dari 32 register.
  5. 131 intruksi andal yang umumnya hanya membutuhkan 1 siklus clock.
  6. Watchdog Timer dengan oscilator internal.
  7. Dua buah Timer/Counter 8 bit.
  8. Satu buah Timer /Counter 16 bit.
  9. Tagangan operasi 2.7 V - 5.5 V pada Atmega16.
  10. Internal SRAM sebesar 1KB.
  11. Memory Flash sebesar 16KB dengan kemampuan Read While Write.
  12. Unit interupsi internal dan eksternal.
  13. Port antarmuka SPI.
  14. EEPROM sebesar 512 byte dapat diprogram saat operasi.
  15. Antar muka komparator analog.
  16. 4 channel PWM.
  17. 32x8 general purpose register.
  18. Hampir mencapai 16 MIPS pada Kristal 16 MHz.
  19. Port USART programmable untuk komunikasi serial.


Konfigurasi Pin ATmega16

         Atmega 16 memepunyai kaki standart 40 pin PID yang mempunyai fungsi sendiri-sendiri. Untuk lebih jelas tentang konigurasi Pin Atmega 16 bisa di lihat pada gambar berikut.



        Gambar di atas merupakan susunan kaki standar 40 pin mikrokontroler AVR Atmega16. Berikut penjelasan umum susunan kaki Atmega16 tersebut:

  1. VCC merupakan pin masukan positif catudaya. Setiap peralatan elektronika digital tentunya butuh sumber catu daya yang umumnya sebesar 5 V, itulah sebabnya di PCB kit rangkaian mikrokontroler selalu dipasang IC regulator 7805.
  2. GND sebagai PIN ground.
  3. Port A (PA0 ... PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai pin masukan ADC.
  4. Port B (PB0 ... PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, Komparator Analog, dan SPI.
  5. Port C (PC0 ... PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator.
  6. Port D (PD0 ... PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.
  7. Reset merupakan pin yang digunakan untuk me-reset mikrokontroler ke kondisi semula.
  8. XTAL 1 dan XTAL 2 sebagai pin masukan clock eksternal. Suatu mikrokontroler membutuhkan sumber detak (clock) agar dapat mengeksekusi intruksi yang ada di memori. Semakin tinggi  nilai kristalnya, maka semakin cepat pula mikrokontroler tersebut dalam mengeksekusi program.
  9. AVCC sebagai pin masukan tegangan untuk ADC.
  10. AREF sebagai pin masukan tegangan referensi.


Port sebagai input/output digital

        ATMega16 mempunyai empat buah port yang bernama  PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur  bidirectional dengan pilihan  internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka  Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor  pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah  tri-state setelah kondisi reset.

       Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi  tri-state  (DDxn=0, PORTxn=0) ke kondisi  output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled  (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah  strong high driver  dengan sebuah  pull-up. Untuk lebih jelasnya, dapat dilihat pada gambar berikut.



Peta Memori

       AVR ATMega16 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 1kb SRAM internal.

      Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler,
seperti kontrol register, timer/counter, fungsi – fungsi I/O, dan sebagainya. Alamat memori berikutnya yang digunakan untuk SRAM 1kb, yaitu pada lokasi $60 sampai dengan $45F. Konfigurasi memori data ditunjukan pada gambar berikut.



      Mikrokontroler disini digunakan sebagai komunikasi antara computer dengan Plant, dimana digunakan komunikasi serial RS232 sebagai komunikasi antara Mikrokontroler dengan Komputer. (Wardhana.L ,2006).



Pulse Width Modulation (PWM)

       PWM atau modulasi lebar pulsa adalah salah satu keunggulan dari Timer/Counter yang terdapat pada ATMega16. Ketiga jenis Timer/Counter pada ATMega32 dapat menghasilkan pulsa PWM. Pulsa PWM adalah sederetan pulsa yang lebar pulsanya dapat diatur. Pulsa PWM berfungsi mengatur kecepatan motor DC, mengatur gelap terang LED dan lain sebagainya.

        Untuk memahami penggunaan PWM, disini digunakan Timer/Counter  1 sebagai PWM. PWM adalah Timer Mode Output Compare yang canggih. Mode PWM timer juga dapat mencacah turun yang berlawanan dengan mode Timer lainya yang hanya mencacah naik. Pada mode PWM tersebut, Timer  mencacah naik hingga mencapai nilai TOP, yaitu 0xFF untuk PWM 8 bit. Timer/Counter 1 memiliki PWM 9 bit dan PWM 10 bit, selain PWM 8 bit. Pemilihan Timer Mode PWM diseting melalui bit WGM01 dan bit WGM00 pada register TCCR0. Tabel Konfigurasi Bit WGM01 dan WGM00 dapat dilihat pada tabel berikut.



       Sebagai penggunaan mode PWM Timer / Counter 0, keluaran sinyal PWM terletak pada pin OC0 sehingga pada contoh ini LED diletakkan pada pin OC0. Ketika nilai TCNT0 sama dengan nilai pada OCR0, maka output pada OC0 akan berlogika nol atau berlogika satu, tergantung pada pemilihan mode PWM. Anda dapat memilih mode normal atau mode inverted PWM. Pemilihan mode PWM diseting melalui bit COM01 dan bit COM00 pada register TCCR0 yang konfigurasinya seperti tabel berikut.

Tabel Konfigurasi Bit COM01 dan COM00 Compare Output Mode Phase Correct PWM

      Dari tabel diatas  dapat diketahui saat COM00 clear dan COM01 set, pin OC0 clear saat timer mencacah diatas Compare Match dan pin OC0 set saat timer mencacah dibawah Compare Match atau non-inverting PWM. Kebalikannya, saat COM00 set dan COM01 juga set, maka pin OC0 set saat timer mencacah diatas Compare Match dan pin OC0 clear saat mencacah dibawah Compare Match atau disebut juga inverting PWM. Untuk lebih jelasnya, perhatikan gambar berikut.

Read full post »

Arithmetic Logic Unit (ALU) & Slot Ekspansi

0 komentar


Arithmetic Logic Unit (ALU) & Slot Ekspansi


1.    ARITHMETIC LOGIC UNIT (ALU)
A. PENGERTIAN
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner (two’s complement). ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU.
B. OPERASI PADA ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan operasi aritmatika yang lainnya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.
C. TUGAS DAN FUNGSI ALU
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)
Arithmatic Logical Unit (ALU) Juga Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri. Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain. Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic.
ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
D. STRUKTUR DAN CARA KERJA PADA ALU
ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Control Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatu perintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
ALU (Arithmethic and Logic Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner. ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi. Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU. Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1. ubah angka 18 menjadi biner (00010010)b
2. karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3. kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4. kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.
E. ADDER
Adder merupakan rangkain ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan. Karena adder digunakan untuk memproses operasi aritmatika, maka adder juga sering disebut rangkaian kombinasional aritmatika. Ada 3 jenis Adder, yaitu:
1. Rangkaian adder yang hanya menjumlahkan dua bit disebut Half Adder.
2. Rangkaian adder yang hanya menjumlahkan tiga bit disebut Full Adder.
3. Rangkaian adder yang menjumlahkan banyak bit disebut Paralel Adder.
1. Half Adder
Rangkain half adder merupakan dasar bilangan biner yang masing-masing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.
1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
2. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 1.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. Dengan nilai pindahan Cy (Carry Out) = 1.
Dengan demikian, half adder memiliki dua masukan (A dan B), dan dua keluaran (S dan Cy).
Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan gerbang logika AND. Dari tabel diatas, dapat dibuat rangkaian half adder.
2. Full Adder
Full adder adalah mengolah data penjumlahan 3 bit bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel dibawah ini.
full adder
3. Paralel Adder
Paralel Adder adalah rangkaian Full Adder yang disusun secara paralel dan berfungsi untuk menjumlahkan bilangan biner berapa pun bitnya, tergantung jumlah Full Adder yang diparalelkan. Gambar dibawah ini menunjukan Paralel Adder yang terdiri dari 4 buah Full Adder yang disusun paralel sehingga membentuk sebuah penjumlahan 4 bit.
2.   SLOT EKSPANSI
slot
A. Pengertian
Slot ekspansi adalah soket pada sebuah motherboard yang berfungsi sebagai tempat memasang kartu ekspansi. Kartu ekspansi sendiri merupakan Papan sirkuit yang menyediakan memori tambahan atau berfungsi sebagai pengendali perangkat peripheral.
Slot Expansi juga berfungsi untuk mengembangkan tingkat performance pada suatu PC sesuai dengan perkembangan teknologi. Komunikasi dan lalu lintas data di dalam motherboard berada didalam saluran Bus. Saluran bus ini dikelompokan atas tiga bagian berikut ini : Banyaknya saluran dalam Data Bus dan Control Bus dinyatakan dalam satuan bit. Bus data yang terdiri dari 8 saluran disebut bus data 8 bit. 16 saluran disebut bus data 16 bit, dan seterusnya yang hingga saatini terdapat bus data 128 atau 128 bit. Slot expansi dibedakan atas jumlah saluran bus data yangdigunakannya, misal slot expansi 8 bit itu berarti card yang digunakan adalah card 8 bit.
B. Jenis – Jenis Slot Ekspansi
1. ISA (Industry Standard Architecture)
Industry Standard Architecture (ISA) adalah slot ekspansi 16-bit yang dikembangkan oleh IBM. Slot ISA ini mentransfer data dengan motherboard pada 8 MHz (kecepatan rendah). Slot ISA sekarang sudah out of date. ISAdigantikan oleh slot PCI di dalam sistem yang baru. Bagaimanapun, banyak pembuat motherboard yangmasih meng-include-kan satu atau dua ISA untuk kecocokan dengan card eskpansi jenis lama. 8-bit ISA memiliki nilai transfer rate 0,625 MB/sec. Sedangkan sistem yang banyak dipakai saat ini lebih banyakmenggunakan 16-bit ISA yang memiliki nilai transfer rate 2 MB/sec. Sebenarnya nilai ini tidak jugadikatakan besar. Namun berhubung card yang terpasang rata-rata tidak memerlukan kecepatan yanglebih dari ini, maka slot ini dianggap masih cukup kompatibel.
2 . Slot PCI
Slot PCI berfungsi untuk transportasi data kecepatan tinggi, biasanya digunakan untuk menghubungkan kartu grafis, kartu suara, dan kartu jaringan berkecepatan tinggi.
3. Slot AGP
Slot ini berfungsi untuk menghubungkan kartu grafis 3 dimensi.
C. Jenis –Jenis Kartu Ekspansi
  • Kartu Suara (Sound Card) – untuk speaker dan output audio.
  •  Kartu Grafis (Graphic Card) – untuk monitor
  • Kartu Modem (Modem Card) – untuk komunikasi melalui saluran telepon
  • LAN Card (Kartu LAN) – untuk komunikasi melalui kabel.
D. Port dan Kabel
Port adalah tempat untuk menghubungkan perangkat peripheral seperti monitor, printer, modem dengan komputer. Port berupa sebuah soket yang berada di bagian luar “casing” komputer yang berhubungan dengan motherborad didalam “casing” komputer. Pada intinya, port digunakan untuk menghubungkan perangkat periferal dengan otak komputer yang berada di dalam komputer sehingga terjadi komunikasi antara komputer dan perangkat lain yang terpasang pada port.
Ada beberapa tipe port :
1. Serial Port
– mengirimkan data (bits) satu per satu dalam satu garis. Terutama digunakan untuk jalur komunikasi (COM port). Alat yang terhubung : Modem dan mouse.
2. Paralel Port
- terutama digunakan untuk menghubungkan printer dengan komputer. Paralel port mengirim data 8 bit secara paralel atau bersamaan, sehingga lebih cepat daripada port serial yang mengirim data satu per satu.
3. SCSI Port
- Mampu mengirim data dengan kecepatan tinggi antara komputer dan perangkat yang kompatibel dengan SCSI seperti Scanner dan CD-ROM. Apabila beberapa perangkat SCSI dihubungkan bersama melalui sebuah kabel, ini disebut “DAISY CHAIN”.
4. USB Port
- Mampu menghubungkan lebih dari 127 perangkat melalui sistem “DAISY CHAIN”.
5. Dedicated Port
Port untuk tujuan khusus misalnya untuk keyboard dan mouse.
6. Infared Port
Port untuk menghubungkan perangkat yang mempunyai fasilitas infra red. Hubungan antara komputer dan perangkat tidak menggunakan kabel.
Read full post »

Metode Pengelamatan

0 komentar

METODE PENGALAMATAN

30OCT
A.      Metode pengalamatan
Metode pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing.
1. Direct Addresing
Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Kelebihan dan kekurangan dari Direct Addresing antara lain :
  • Kelebihan
  • Field alamat berisi efektif address sebuah operand
  • Kelemahan
  • Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
2. Indirect Addresing
Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke akumulator. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM internal.
Kelebihan dan kekurangan dari Indirect Addresing antara lain :
  • Kelebihan
  • Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
  • Kekurangan
  • Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi
3. Immediate Addresing
Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Kelebihan dan kekurangan dari Immedieate Addresing antara lain :
  • Keuntungan
  • Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
  • Menghemat siklus instruksi sehingga proses keseluruhan akan cepat
  • Kekurangan
  • Ukuran bilangan dibatasi oleh ukuran field alamat
  • B.       Pengenalan pada Register Addressing
Register adalah merupakan sebagian memori dari mikro prosessor yang dapat diakses dengan kecepatan tinggi. Metode pengalamatan register ini  mirip dengan mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose.
Kelebihan dan kekurangan Register Addressing :
  • Keuntungan pengalamatan register
  • Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
  • Akses ke regster lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
  • Kerugian
  • Ruang alamat menjadi terbatas
Register Indirect Addressing
Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung  Perbedaannya adalah field alamat mengacu pada alamat register. Letak operand berada pada memori yang dituju oleh isi register.
Kelebihanan dan kekurangan pengalamatan register tidak langsung adalah sama dengan pengalamatan tidak langsung
  • Keterbatasan field alamat  diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak
  • Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung
  1. C.       Pengenalan Displacement Addressing dan Stack Addresing
Displacement Addressing adalah menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit.
Field eksplisit bernilai A dan field implisit mengarah pada register.
Ada tiga model displacement : Relative addressing, Base register addressing, Indexing
  • Relative addressing
Register yang direferensi secara implisit adalah progra counter (PC)
  • Alamat efektif relative addresing didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat
  • Relativ addressing memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya
  • Base register addresing, register yang direferensi berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu
  • Referensi register dapat eksplisit maupun implisit
  • Memanfaatkan konsep lokalitas memori
  • Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut
  • Merupakan kebalikan dari mode base register
  • Field alamat dianggap sebagai alamat memori dalam indexing
  • Manfaat penting dari indexing adalah untuk eksekusi program-program iterative
Stack adalah array lokasi yang linier = pushdown list = last-in-first-out. Stack merupakan blok lokasi yang terbalik. Butir ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsial. Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack. Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack. Stack pointer tetap berada dalam register
Read full post »
 

Copyright © 2012 Dwi Elinda Putri Design by George Robinson | Blogger Theme by BTDesigner Published..Blogger Templates | Proudly powered by Blogger