Tuesday, July 24, 2007

Sirkuit Digital

Gerbang logika atau gerbang logik adalah suatu entitas dalam elektronika dan matematika Boolean yang mengubah satu atau beberapa masukan logik menjadi sebuah sinyal keluaran logik. Gerbang logika terutama diimplementasikan secara elektronis menggunakan dioda atau transistor, akan tetapi dapat pula dibangun menggunakan susunan komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik.

Flip-flop adalah rangkaian digital yang digunakan untuk menyimpan satu bit secara semi permanen sampai ada suatu perintah untuk menghapus atau mengganti isi dari bit yang disimpan. Prinsip dasar dari flip-flop adalah dari gerbang logika yang bekerja secara sekuensial.

Penghitung atau pencacah (dlm bahasa Inggris: counter) adalah rangkaian sirkuit digital atau kadang-kadang berbentuk chip yang bisa dipakai untuk menghitung pulsa/sinyal digital (yang umumnya dihasilkan dari oskilator). Penghitung ini bisa menghitung pulsa secara biner murni (binary counter), atau bisa menghitung secara desimal-terkodekan-secara-biner (BCD atau decimal counter).
Dalam penghitung biner murni, angka 9 dinyatakan dalam bentuk bilangan biner 1001, dan berikutnya angka 10 dinyatakan dalam bentuk biner 1010. Sedangkan dalam penghitung desimal-terkodekan-secara-biner (BCD atau Binary-Coded Decimal), angka 9 adalah biner 1001 (sama dengan penghitung biner murni), tetapi angka 10 dinyatakan dalam bentuk: 0001 0000.

Sebagai salah satu contoh lagi, angka desimal 100 dalam biner murni adalah 1100100, sedangkan dalam BCD adalah 0001 0000 0000 (3 buah digit desimal masing-masing dari kelompok 4 bit).

Untuk jelasnya, angka desimal 0 sampai 17 (yang kita kenal sehari-hari), jika dinyatakan dalam bilangan biner murni dan biner BCD ( dengan 5 bit), akan nampak seperti di bawah ini. Angka 0 sampai 9 mempunyai bentuk biner murni dan biner BCD yang sama, tetapi mulai dari angka 10 keduanya berlainan.
Rangkaian penghitung ini kebanyakan dipakai dalam alat penghitung pulsa putaran mesin, atau putaran roda kendaraan. Berdasarkan jumlah pulsa yang terhitung per detik atau per menit, kita dapat menentukan kecepatan putaran mesin, kecepatan jalannya kendaraan, jarak yang ditempuh, dll. Misalnya, kalau jumlah putaran per detik dari roda kendaraan adalah 10, dan panjang busur lingkaran (keliling) roda ban itu = 1 meter, maka kendaraan itu berjalan sepanjang 10 meter per detik. Dengan kata lain jika dinyatakan dalam km/jam, kecepatan kendaraan itu menjadi 10*60*60 = 36.000 meter per jam, atau 36 km/jam.

Alat penghitung ini (baik yang biner maupun desimal BCD) merupakan bagian penting dalam sistem peralatan digital dan penggunaannya dalam bidang industri. Selain untuk menghitung pulsa putaran, penghitung/pencacah juga dipakai untuk menghitung pulsa waktu, alat yang penting dalam bidang telekomunikasi yaitu untuk mencatat lama pembicaraan. Penghitung bisa dipakai juga untuk mengontrol robot kapan harus aktif (pada jam berapa, atau setelah berapa menit lagi). Banyak contoh lain yang bisa disebutkan mengenai penggunaan penghitung ini dalam bidang kontrol dan elektronika digital.
Bagi masyarakat awam, penghitung bisa diartikan sebagai kalkulator yang dipakai untuk menghitung untuk keperluan sehari-hari. Ada dua macam kalkulator: penghitung sederhana, dan penghitung ilmiah (scientific calculator). Dalam penghitung sederhana, kita hanya bisa menghitung: + - * / % kwadrat, 1/x, dan operasi memori saja (cukup untuk keperluan penghitung rumah tangga sehari-hari). Sedangkan pada scientific calculator, kita bisa menghitung rumus matematika yang lebih rumit, seperti: pangkat, exp, ln, sin, cosin, tg, dll. Kebanyakan dari kita sekarang tidak perlu membeli kalkulator ini, karena dalam komputer PC kita (MS Windows dan MS Office) di dalamnya sudah disediakan icon calculator.

Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.

Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.

Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

Register terbagi menjadi beberapa kelas:

  • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
  • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
  • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
  • Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
  • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.
Multiplekser atau disingkat MUX adalah alat atau komponen elektronika yang bisa memilih input (masukan) yang akan diteruskan ke bagian output (keluaran). Pemilihan input mana yang dipilih akan ditentukan oleh signal yang ada di bagian kontrol (kendali) Select.
Komponen yang berfungsi kebalikan dari MUX ini disebut Demultiplekser (DEMUX). Pada DEMUX, jumlah masukannya hanya satu, tetapi bagian keluarannya banyak. Signal pada bagian input ini akan disalurkan ke bagian output (channel) yang mana tergantung dari kendali pada bagian SELECTnya.

Penjumlah atau Adder adalah komponen elektronika digital yang dipakai untuk menjumlahkan dua buah angka dalam sistem bilangan biner. Dalam komputer dan mikroprosesor, Adder biasanya berada di bagian ALU (Arithmetic Logic Unit). Sistem bilangan yang dipakai dalam proses penjumlahan, selain bilangan biner, juga 2's complement untuk bilangan negatif, bilangan BCD (binary-coded decimal), dan excess-3. Jika sistem bilangan yang dipakai adalah 2's complement, maka proses operasi penjumlahan dan operasi pengurangan akan sangat mudah dilakukan.
Pembicaraan mengenai Adder biasanya dimulai dari Half-Adder, kemudian Full-Adder, dan yang ketiga adalah Ripple-Carry-Adder. Pada Half-Adder, berdasarkan dua input A dan B, maka output Sum, S dari Adder ini akan dihitung berdasarkan operasi XOR dari A dan B. Selain output S, ada satu output yang lain yang dikenal sebagai C atau Carry, dan C ini dihitung berdasarkan operasi AND dari A dan B. Pada prinsipnya output S menyatakan penjumlahan bilangan pada input A dan B, sedangkan output C menyatakan MSB (most significant bit atau carry bit) dari hasil jumlah itu.

Subtraktor atau pengurang (Bahasa Inggris : substractor) adalah rangkaian elektronika digital yang dipakai untuk melakukan operasi pengurangan dari dua buah bilangan biner. Proses operasi pengurangan ini menggunakan prinsip dasar yang sama dengan rangkaian Adder (rangkaian penjumlah). Jika dua buah angka: Xi dan Yi, dikurangkan satu sama lain membentuk XiYi, maka akan kita perolah dua buah hasil di bagian outputnya: bit Beda (Difference) Di dan bit Pinjaman (Borrow) Bi + 1. Jika kita juga mengikutkan bit pinjaman, Bi dari bagian MSB (Most Significant Bit), operasi pengurangan yang lengkap adalah BiXiYi.

Pengganda atau Multiplier adalah rangkaian elektronika digital yang berfungsi untuk mengalikan dua buah bilangan dalam sistem bilangan dwi-an atau biner (binary). Jenis rangkaian ini biasanya merupakan bagian dari ALU (Arithmetic Logical Unit) di dalam mikroprosesor atau CPU (Central Processing Unit) atau otak dari sebuah komputer. Namun demikian, rangkaian ini bisa dibuat secara tersendiri untuk keperluan tertentu, dan bisa diprogram secara perangkat keras di dalam FPGA.

Beberapa macam teknik atau cara dapat dipakai untuk merealisasikan operasi perkalian aritmatika ini. Salah satunya adalah dengan mengalikan secara parsiel masing masing bit, kemudian menjumlahkan semua hasil dari perkalian parsiel tersebut. Hal ini mirip dengan proses perkalian bilangan desimal (bilangan basis-10) yang dilakukan oleh murid Sekolah Dasar.

Jika dua buah bilangan biner, a dan b, masing-masing 2 bit (membentuk angka 00, 01, 10, dan 11) dikalikan satu sama lain, maka akan kita peroleh hasil perkalian dalam bentuk bilangan biner 4 bit, seperti nampak pada tabel di bawah ini. Bilangan a ada di kolom paling kiri, dan bilangan b ada di baris paling atas, sementara hasil kalinya ada di dalam masing-masing sel.

Sebuah mikroprosesor (disingkat ┬ÁP atau uP) adalah sebuah central processing unit (CPU) elektronik komputer yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor.

Sebelum berkembangnya mikroprosesor, CPU elektronik terbuat dari sirkuit terintegrasi TTL terpisah; sebelumnya, transistor individual; sebelumnya lagi, dari tabung vakum. Bahkan telah ada desain untuk mesin komputer sederhana atas dasar bagian mekanik seperti gear, shaft, lever, Tinkertoy, dll.

Evolusi dari mikroprosesor telah diketahui mengikuti Hukum Moore yang merupakan peningkatan performa dari tahun ke tahun. Teori ini merumuskan bahwa daya penghitungan akan berlipat ganda setiap 18 bulan, sebuah proses yang benar terjadi sejak awal 1970-an; sebuah kejutan bagi orang-orang yang berhubungan. Dari awal sebagai driver dalam kalkulator, perkembangan kekuatan telah menuju ke dominasi mikroprosesor di berbagai jenis komputer; setiap sistem dari mainframe terbesar sampai ke komputer pegang terkecil sekarang menggunakan mikroprosesor sebagai pusatnya.

Field-Programmable Gate Array (FPGA) adalah komponen elektronika dan semikonduktor yang mempunyai komponen gerbang terprogram (programmable logic) dan sambungan terprogram. Komponen gerbang terprogram yang dimiliki meliputi jenis gerbang logika biasa (AND, OR, XOR, NOT) maupun jenis fungsi matematis dan kombinatorik yang lebih kompleks (decoder, adder, subtractor, multiplier, dll). Blok-blok komponen di dalam FPGA bisa juga mengandung elemen memori (register) mulai dari flip-flop sampai pada RAM (Random Access Memory).

Pengertian Terprogram (programmable) dalam FPGA adalah mirip dengan interkoneksi saklar dalam breadboard yang bisa diubah oleh pembuat desain. Dalam FPGA, interkoneksi ini bisa diprogram kembali oleh pengguna maupun pendesain di dalam lab atau lapangan (field). Oleh karena itu jajaran gerbang logika (Gate Array) ini disebut field-programmable. Jenis gerbang logika yang bisa diprogram meliputi semua gerbang dasar untuk memenuhi kebutuhan yang manapun.

Secara umum FPGA akan lebih lambat jika dibandingkan dengan jenis chip yang lain seperti pada chip Application-Specific Integrated Circuit (ASIC). Hal ini karena FPGA menggunakan power/daya yang besar bentuk desain yang kompleks. Beberapa kelebihan dari FPGA antara lain adalah harga yang murah, bisa diprogram mengikuti kebutuhan, dan kemampuan untuk di program kembali untuk mengkoreksi adanya bugs. Jenis FPGA dengan harga murah biasanya tidak bisa diprogram dan dimodifikasi setelah proses desain dibuat (fixed-version). Chip FPGA yang lebih kompleks dapat diperoleh dari jenis FPGA yang dikenal dengan CPLD (Complex-Programmable Logic Device).

Digital Signal Processor atau DSP adalah sejenis mikroprosesor yang didesain/dirancang khusus untuk pemrosesan isyarat digital (digital signal processing). Biasanya komponen elektronika digital ini dipakai untuk komputer yang memerlukan waktu tanggap (response time) yang cepat (untuk real-time applications).

Ciri khas dari DSP meliputi:

  • dipakai untuk pemrosesan real-time
  • mempunyai ADC (Analog to Digital Converter) pada bagian input dan DAC pada bagian output
  • mempunyai kinerja (performance) yang optimal untuk streaming-data
  • menggunakan arsitektur Harvard (memori program dan data terpisah)
  • memiliki instruksi khusus untuk pemrosesan SIMD (Single Instruction, Multiple Data)
  • tidak memerlukan hardware khusus untuk operasi multitasking
  • mempunyai kemampuan DMA (Direct Memory Access) jika dipakai sebagai host system.
Semua operasi DSP sebetulnya bisa dilakukan pada mikroprosesor umum (general-purpose microprocessor). Akan tetapi, DSP memiliki sistem arsitektur yang telah di-optimasikan untuk lebih dapat mempercepat pemrosesan signal (isyarat). Optimasi ini juga penting sekali artinya dalam kaitannya untuk menekan biaya, penghantaran panas (heat emission), dan penggunaan daya (power consumption).

Pengendali mikro (Inggris: microcontroller) adalah sistem mikroprosesor lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena sebuah mikrokontroler umumnya telah berisi komponen pendukung sistem minimal mikroprosesor, yakni memori dan antarmuka I/O.

No comments: