Kamis, 19 September 2013

Universal Serial Bus (USB)



Universal Serial Bus (USB)


Konektor USB (Tipe A dan B)
 

Konektor USB Tipe A

Universal Serial Bus (USB) adalah standar bus serial untuk perangkat penghubung, biasanya kepada komputer namun juga digunakan di peralatan lainnya seperti konsol permainan, ponsel dan PDA.
Sistem USB mempunyai desain yang asimetris, yang terdiri dari pengontrol host dan beberapa peralatan terhubung yang berbentuk pohon dengan menggunakan peralatan hub yang khusus.
Desain USB ditujukan untuk menghilangkan perlunya penambahan expansion card ke ISA komputer atau bus PCI, dan memperbaiki kemampuan plug-and-play (pasang-dan-mainkan) dengan memperbolehkan peralatan-peralatan ditukar atau ditambah ke sistem tanpa perlu mereboot komputer. Ketika USB dipasang, ia langsung dikenal sistem komputer dan memroses device driver yang diperlukan untuk menjalankannya.
USB dapat menghubungkan peralatan tambahan komputer seperti mouse, keyboard, pemindai gambar, kamera digital, printer, hard disk, dan komponen networking. USB kini telah menjadi standar bagi peralatan multimedia seperti pemindai gambar dan kamera digital.

Sejarah versi

Standard USB telah berevolusi kebeberapa versi:

Pre-rilis

  • USB 0.7: dirilis November 1994.
  • USB 0.8: dirilis December 1994.
  • USB 0.9: dirilis April 1995.
  • USB 0.99: dirilis August 1995.
  • USB 1.0 Release Candidate: dirilis November 1995.

USB versi 1

USB versi 1 dirilis Januari 1996.

USB versi 2

USB versi 2.0 dirilis April 2000. Perbedaan paling mencolok dengan versi sebelumnya, yaitu pada versi 2.0 adalah kecepatan transfer yang jauh meningkat. Kecepatan transfer data USB dibagi menjadi tiga, antara lain:
  • Super speed data dengan frekuensi clock 4,800.00Mb/s
  • High speed data dengan frekuensi clock 480.00Mb/s dan tolerasi pensinyalan data pada ± 500ppm.
  • Full speed data dengan frekuensi clock 12.000Mb/s dan tolerasi pensinyalan data pada ±0.25% atau 2,500ppm.
  • Low speed data dengan frekuensi clock 1.50Mb/s dan tolerasi pensinyalan data pada ±1.5% atau 15,000ppm.

USB versi 3

USB versi 3.0 dirilis November 2008. Beberapa perubahan telah diimplementasikan di USB 3.0 seiring dengan peningkatan penggunaan perangkat eksternal dan kebutuhan kecepatan lebih tinggi. Kecepatan transfer data USB 3.0 sekitar 3.2 Gbps (400 MB/s), dan secara teori dapat mencapat 4.8 Gbps. Kecepatan ini 6 sampai 10x lebih cepat dari maksimal kecepatan USB 2.0. USB 3.0 mengenalkan teknologi transfer data dua arah (full duplex), sehingga dapat membaca dan menulis data secara bersamaan (simultan). USB 2.0 dan sebelumnya belum mendukung teknologi bi-directional ini. Tegangan listrik diturunkan dari 4.4V menjadi 4V, kemudian arus juga ditingkatkan (menjadi 150mA), sehingga selain lebih hemat energi, sebuah port USB 3.0 dapat digunakan 4-6 perangkat. Power managemen lebih baik dibanding USB 2.0, sehingga mendukung idle, sleep dan suspend. Ujung USB 3.0 akan sama dengan USB 2.0 (standard), tetapi kabel didalamnya akan lebih banyak, ada tambahan 4 jalur kabel dibanding USB 2.0 (total ada 9 jalur kabel).

Protokol USB

Persinyalan USB

USB adalah host-centric bus di mana host/terminal induk memulai semua transaksi. Paket pertama/penanda (token) awal dihasilkan oleh host untuk menjelaskan apakah paket yang mengikutinya akan dibaca atau ditulis dan apa tujuan dari perangkat dan titik akhir. Paket berikutnya adalah data paket yang diikuti oleh handshaking packet yang melaporkan apakah data atau penanda sudah diterima dengan baik atau pun titik akhir gagal menerima data dengan baik.
Setiap proses transaksi pada USB terdiri atas:
  • Paket token/sinyal penanda (Header yang menjelaskan data yang mengikutinya)
  • Pilihan paket data (termasuk tingkat muatan) dan
  • Status paket (untuk acknowledge/pemberitahuan hasil transaksi dan untuk koreksi kesalahan)
Nomor kaki (dilihat pada soket):

Penetapan kaki
Kaki
Fungsi

1
VBUS (4.75–5.25 V)

2
D−

3
D+

4

Shell


Paket data umum USB

Data di bus USB disalurkan dengan cara mendahulukan Least Significant Bit(LSB). Paket-paket USB terdiri dari data-data berikut ini:
  • Sync
Semua paket harus diawali dengan data sync. Sync adalah data 8 bit untuk low dan full speed atau data 32 bit untuk high speed yang digunakan untuk mensinkronkan clock dari penerima dengan pemancar. Dua bit terakhir mengindikasikan dimana data PID dimulai.
  • PID (Packet Identity/Identitas paket)
Adalah field untuk menandakan tipe dari paket yang sedang dikirim. Tabel dibawah ini menunjukkan nilai-nilai PID:
Group
Nilai PID
Identitas Paket
Token
0001
OUT Token
Token
1001
IN Token
Token
0101
SOF Token
Token
1101
SETUP Token
Data
0011
DATA0
Data
1011
DATA1
Data
0111
DATA2
Data
1111
MDATA
Handshake
0010
ACK Handshake
Handshake
1010
NAK Handshake
Handshake
1110
STALL Handshake
Handshake
0110
NYET (No Response Yet)
Special
1100
PREamble
Special
1100
ERR
Special
1000
Split
Special
0100
Ping

Ada 4 bit PID data, supaya yakin diterima dengan benar, 4 bit di komplementasikan dan diulang, menjadikan 8 bit data PID. Hasil dari pengaturan tersebut adalah sebagai berikut.
PID0
PID1
PID2
PID3
nPID0
nPID1
nPID2
nPID3
  • ADDR (address)
Bagian alamat dari peralatan dimana paket digunakan. Dengan lebar 7 bit, 127 peralatan dapat disambungkan. Alamat 0 tidak sah, peralatan yang belum terdaftar harus merespon paket yang dikirim ke alamat 0.
  • ENDP (End point)
Titik akhir dari field yang terdiri dari 4 bit, menjadikan 16 kemungkinan titik akhir. Low speed devices, hanya dapat mempunyai 2 tambahan end point pada puncak dari pipe default. (maksimal 4 endpoints)
  • CRC
Cyclic Redundancy Check dijalankan pada data di dalam paket yang dikirim. Semua penanda (token) paket mempunyai sebuah 5 bit CRC ketika paket data mempunyai sebuah 16 bit CRC.
  • EOP (End of packet)
Akhir dari paket yang disinyalkan dengan satu angka akhir 0 (Single Ended Zero/SEO) untuk kira-kira 2 kali bit diikuti oleh sebuah J 1 kali.
Data yang dikirim dalam bus USB adalah salah satu dari 4 bentuk, yaitu control, interrupt, bulk, atau isochronous.

Perancangan peralatan yang menggunakan USB

Untuk membuat suatu peralatan yang dapat berkomunikasi dengan protokol USB tidak perlu harus mengetahui secara rinci protokol USB. Bahkan kadang tidak perlu pengetahuan tentang USB protokol sama sekali. Pengetahuan tentang USB protokol hanya diperlukan untuk mengetahui spesifikasi yang dibutuhkan untuk alat kita. Pada kenyataannya untuk mengimplemetasikan USB protokol di FPGA ataupun perangkat bantu lain sangat tidak efisien dan banyak waktu terbuang untuk merancangnya. Menggunakan kontroler USB sangat lebih dianjurkan dalam membuat alat yang dapat berkomunikasi melalui protokol ini. Kontroler USB mempunyai banyak macam bentuk, dari microcontroller berbasis 8051 yang mempunyai input output USB secara langsung sampai pengubah protocol dari serial seperti I2C bus ke USB.
USB controller biasanya dijual dengan disertai berbagai fasilitas yang mempermudah pengembangan alat, diantaranya manual yang lengkap, driver untuk windows XP, contoh code aplikasi untuk mengakses USB, contoh code untuk USB controller, dan skema rangkaian elektronikanya.
Dalam sisi pengembangan software aplikasi dalam personal computer, komunikasi antar hardware di dalam perangkat keras USB tidak terlalu diperhatikan karena Windows ataupun sistem operasi lain yang akan mengurusnya. Pengembang perangkat lunak hanya memberikan data yang akan dikirim ke alat USB di buffer penyimpan dan membaca data dari alat USB dari buffer pembaca. Untuk driver pun kadang-kadang Windows sudah menyediakannya, kecuali untuk peralatan yang mempunyai spesifikasi khusus kita harus membuatnya sendiri.


Kelebihan dan kekurangan USB
Kelebihan USB:
1.    Kecepatan yang lebih tinggi
Pada USB versi 1.1 (versi USB yang masih banyak digunakan) 64 byte paket tersebut dapat ditransfer dengan kecepatan hingga 12 Mbps(mega bit per second) atau 100 kali lebih cepat dari serial port dan 6 kali lebih cepat dari port paralel. Pada versi USB yang lebih baru, yaitu USB versi 2.0, kecepatannya telah meningkat hingga 480 Mbps, menjadikan USB versi 2.0 dapat digunakan oleh peralatan yang membutuhkan bandwith tinggi.
2.     Fleksibel dalam penggunaan
Sebuah bus USB dapat dikoneksikan dengan sejumlah USB devais, baik langsung melalui port USB pada CPU atau melalui alat yang disebut hub USB. Selanjutnya sebuah hub USB dapat dihubungkan kembali dengan hub USB baru membentuk rantai hub USB dan devais USB.
Kekurangan USB:

Jumlah 127 devais USB sepertinya sulit untuk dibuktikan. Masalah yang sering menjadi kendala utama adalah masalah konsumsi listrik.



Sumber : http://id.wikipedia.org/wiki/Universal_Serial_Bus 
                

Hukum Moore



Sekilas tentang GORDON MOORE


GORDON MOORE
Chairman Emeritus Intel Corporation
Penemu Hukum Moore

Gordon E. Moore adalah Chairman Emeritus perusahaan mikroprosesor terkenal di jagad ini, yaitu Intel Corporation. Moore adalah salah satu pendiri Intel pada tahun 1968, dengan jabatan pertama kali sebagai Executive Vice President. Ia menjabat sebagai President dan Chief Executive Officer pada tahun 1975 hingga tahun 1979 diadakan pemilihan Chairman dan Chief Executive Officer (CEO) kembali. Ia memegang jabatan tersebut hingga 1987 dan kemudian menduduki jabatan Chairman Emeritus tahun 1997.
Gordon Moore dikenal luas sebagai penemu “Moore’s Laws (Hukum Moore)”, yang mana isi hukum tersebut menyatakan bahwa jumlah transistor yang dapat ditempatkan dalam sebuah chip komputer akan bertambah 2 kali setiap 18 bulan (2 kali masa kandungan manusia). Hukum Moore ini menjadi acuan utama bagi industri penghasil chip semikonduktor untuk menghasilkan chip yang powerful dengan biaya rendah.
Moore yang dilahirkan di San Fransisco, California, 3 Januari 1929 ini menyandang gelar B.S. bidang Kimia dari Universitas California, Berkeley, dan gelar Ph.D bidang Kimia dan Fisika dari Institut Teknologi California.
Moore pernah menjabat sebagai direktur Gilead Sciences Inc, anggota National Academy of Engineering dan anggota IEEE. Moore juga anggota Dewan Komisaris Institut Teknologi California. Ia menerima penghargaan National Medal of Technology dari mantan presiden George Bush tahun 1990.

Hukum Moore adalah salah satu hukum yang terkenal dalam industri mikroprosesor yang menjelaskan tingkat pertumbuhan kecepatan mikroprosesor. Diperkenalkan oleh Gordon E. Moore salah satu pendiri Intel. Ia mengatakan bahwa pertumbuhan kecepatan perhitungan mikroprosesor mengikuti rumusan eksponensial.
Perkembangan teknologi dewasa ini menjadikan HUKUM MOORE semakin tidak Relevan untuk meramalkan kecepatan mikroprossesor. Hukum Moore, yang menyatakan bahwa kompleksitas sebuah mikroprosesor akan meningkat dua kali lipat tiap 18 bulan sekali, sekarang semakin dekat ke arah jenuh. Hal ini semakin nyata setelah Intel secara resmi memulai arsitektur prosesornya dengan code Nehalem. Prosesor ini akan mulai menerapkan teknik teknologi nano dalam pembuatan prosesor, sehingga tidak membutuhkan waktu selama 18 bulan untuk melihat peningkatan kompleksitas tapi akan lebih singkat
Akan tetapi, saat ini Hukum Moore telah dijadikan target dan tujuan yang ingin dicapai dalam pengembangan industri semikonduktor. Peneliti di industri prosesor berusaha mewujudkan Hukum Moore dalam pengembangan produknya. Industri material semikonduktor terus menyempurnakan produk material yang dibutuhkan prosesor, dan aplikasi komputer dan telekomunikasi berkembang pesat seiring dikeluarkannya prosesor yang memiliki kemampuan semakin tinggi.
Secara tidak langsung, Hukum Moore menjadi umpan balik (feedback) untuk mengendalikan laju peningkatan jumlah transistor pada keping IC. Hukum Moore telah mengendalikan semua orang untuk bersama-sama mengembangkan prosesor. Terlepas dari alasan-alasan tersebut, pemakaian transistor akan terus meningkat hingga ditemukannya teknologi yang lebih efektif dan efisien yang akan menggeser mekanisme kerja transistor sebagaimana yang dipakai saat ini.
Meskipun Gordon Moore bukanlah penemu transistor atau IC, gagasan yang dilontarkannya mengenai kecenderungan peningkatan pemakaian jumlah transistor pada IC telah memberikan sumbangan besar bagi kemajuan teknologi informasi. Tanpa jasa Moore mungkin kita belum bisa menikmati komputer berkecepatan 3GHz seperti saat ini.

Sumber : 
  1. http://kuliahinformatika.wordpress.com/2008/12/14/gordon-moore-hukum-moore-intel-corporation/
  2. http://id.wikipedia.org/wiki/Hukum_Moore

Apa itu RISC dan CISC

RISC & CISC


1.    RISC (Reduced Instruction Set Computing)
RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk mengatur istruksi dalam komunikasi diantara arsitektur yang lainnya. RISC  atau  Reduced  Instruction  Set  Computing pertama  kali  digagas  oleh  John Cocke,  seorang peneliti  dari  IBM  di  Yorktown,  New  York  pada  tahun  1974. Saat  ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80%  dari  keseluruhan  kerjanya.  Komputer  pertama  yang  menggunakan konsep  RISC  ini  adalah  IBM  PC/XT  pada  era  1980-an.  Istilah  RISC  sendiri  pertama kali  dipopulerkan  oleh  David  Patterson,  pengajar  pada  University  of  California  di Berkely.

RISC  berarti  "komputasi  kumpulan  instruksi  yang  disederhanakan".  RISC merupakan  sebuah  arsitektur  komputer atau  arsitektur  komputasi  modern  dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada  komputer  dengan  kinerja  tinggi,  seperti  komputer  vektor.  Selain  digunakan dalam  komputer vektor, desain ini  juga  diimplementasikan pada prosesor  komputer lain,  seperti  pada  beberapa  mikroprosesor  Intel  960,  Itanium (IA64)  dari  Intel Corporation,  Alpha  AXP dari  DEC,  R4x00 dari  MIPS  Corporation,  PowerPC dan Arsitektur  POWER dari  International Business  Machine. Selain itu, RISC  juga umum
dipakai  pada  Advanced  RISC  Machine  (ARM) dan  StrongARM (termasuk  di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.

RISC mempunyai karakteristik :
a.    one cycle execution time : satu putaran eksekusi. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
b.    pipelining:adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efisien.
c.    large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.

Ciri-Ciri Prosessor RISC :
a.    Prosessor RISC mengeksekusi instruksi pada setiap siklus detak (Robinson 1987:144, Johnson 1987:153).
b.    Instruksi  pada  prosesor  RISC  memiliki  format  tetap,  sehingga  rangkaian pengontrol  instruksi  menjadi  lebih  sederhana.  Dengan  kata  lain  dapat menghemat penggunaan luasan keping semikonduktor.
c.    Instruksi yang berhubungan dengan memori hanya instruksi isi (load) dan instruksi  simpan  (store),  dan  instruksi  lain  dilakukan  dalam  register internal prosesor.
d.    Prosesor  RISC  memerlukan  waktu  kompilasi  yang  lebih  lama  daripada prosesor CISC.
Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada  waktu  untuk  melakukan  pekerjaan  yang  sama  dengan  menggunakan perintah yang lebih rumit.  Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi  program  yang  lebih  besar.  IBM  801  adalah  prosesor  komersial pertama yang menggunakan pendekatan RISC.          


2.    CISC (Complex Instruction-Set Computer)
CISC  atau  Complex  Instruction-Set  Computer  berarti  “kumpulan  instruksi komputasi kompleks". CISC adalah sebuah arsitektur dari set instruksi dimana setiap instruksi  akan  menjalankan  beberapa  operasi  tingkat  rendah,  seperti  pengambilan dari  memory,  operasi  aritmetika,  dan  penyimpanan  ke  dalam  memory,  semuanya sekaligus  hanya  di  dalam  sebuah  instruksi.  Karakteristik  CISC  dapat  dikatakan bertolak-belakang dengan RISC.
Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan, tetapi  konsep  ini  menyulitkan  dalam  penyusunan  kompiler  bahasa  pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.
Ciri-ciri Prosesor CISC :
a.    Jumlah instruksi yang banyak dan instruksi yang lebih kompleks.
b.    CISC akan menghasilkan program yang lebih kecil dan lebih cepat.
c.    Ukuran  program-program  yang  dihasilkan  akan  menjadi  relatif  lebih  kecil,  dan penggunaan memory akan semakin berkurang.
Contoh-contoh  prosesor  CISC  adalah  System/360,  VAX,  PDP-11,  varian Motorola 68000 , dan CPU AMD dan Intel x86.
Perbedaan RISC dengan CISC dilihat dari segi instruksinya
·         RISC ( Reduced Instruction Set Computer )
Menekankan pada perangkat lunak, dengan sedikit transistor
Instruksi sederhana bahkan single
Load / Store atau memory ke memory bekerja terpisah
Ukuran kode besar dan kecapatan lebih tinggi
Transistor didalamnya lebih untuk meregister memori

·         CISC ( Complex Instruction Set Computer )
Lebih menekankan pada perangkat keras, sesuai dengan takdirnya untuk programer.
Memiliki instruksi komplek. Load / Store atau Memori ke Memori bekerjasama
Memiliki ukuran kode yang kecil dan kecepatan yang rendah.
Transistor di dalamnya digunakan untuk menyimpan instruksi – instruksi bersifat komplek

Kesimpulan
      CISC Complex Instruction Set Computer sedangkan RISC merupakan kepanjangan dari Reduced Instruction Set Computer. Chip RISC dibangun mulai pertengahan tahun 1980 sebagai pengganti chip CISC. Pada dasarnya karakteristik CISC yg "sarat informasi" memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Hal inilah yang menyebabkan komputer-komputer pada saat itu memiliki harga yang murah. 
        Filosofi RISC berada dalam tidak satu pun chip yang menggunakan bahasa instruksi assembly yang complex, seperti yang digunakan di CISC. Untuk itulah, instruksi yang simple dan lebih cepat akan lebih baik daripada besar, complex dan lambat seperti CISC. Keuntungan RISC lainnya karena adanya instruksi yang simple, maka chip RISC hanya memiliki beberapa transistor, yang akan membuat RISC mudah didesain dan murah untuk diproduksi untuk menulis compiler yang powerful. RISC memberikan kemudahan di hardware, namun lebih kompleks di software

RISC vs CISC

RISC (Apple) versus CISC (Intel) adalah topic yang cukup populer ketika diperbincangkan di Net. CISC (sisk-red), merupakan kepanjangan dari Complex Instruction Set Computer. Kebanyakan PC menggunakan CPU berdasarkan arsitektur CISC ini, seperti contoh AMD CPU dan Intel. Chip CISC memiliki jumlah chip yang berbeda dan instruksi yang complex. Filosofi CISC berada di balik hardware yang selalu lebih cepat berkembang dibanding software. Untuk itu, diperlukan set instruksi yang powerful, yang dapat menyediakan programmer, beberapa instruksi assembly dengan program pendek. Pada umumnya, chip CISC berjalan lebih lambat per instruksi dibandingkan RISC, namun menggunakan sedikit instruksi ketimbang RISC.
RISC (risk-red), merupakan kepanjangan dari Reduced Instruction Set Computer. Chip RISC dibangun mulai pertengahan tahun 1980 sebagai pengganti chip CISC. Filosofi RISC berada dalam tidak satu pun chip yang menggunakan bahasa instruksi assembly yang complex, seperti yang digunakan di CISC. Contoh penggunaan chip RISC adalah pada CPU Apple. Untuk itulah, instruksi yang simple dan lebih cepat akan lebih baik daripada besar, complex dan lambat seperti CISC. Keuntungan RISC lainnya karena adanya instruksi yang simple, maka chip RISC hanya memiliki beberapa transistor, yang akan membuat RISC mudah didesain dan murah untuk diproduksi untuk menulis compiler yang powerful.
RISC memberikan kemudahan di hardware, namun lebih kompleks di software. Pengembang software di RISC harus menulis banyak line untuk task yang sama. Oleh karena itu, desain arsitektur RISC mungkin bukan yang terbaik di masa depan, setelah kemunculan chip CISC yang lebih cepat dan lebih murah. Namun, RISC telah eksis lebih dari 10 tahun dan telah menghantam pasar CISC. Menurut tomax7.com, sekitar 75 persen processor berbasis arsitektur CISC, dan kebanyakan dari mereka adalah standard x86. Namun, sekarang ini chip RISC juga memiliki instruksi yang banyak, hampir sama dengan chip CISC. Sebagai contoh, PowerPC 601 berbasis arsitektur RISC, support lebih banyak instruksi dibandingkan Pentium yang menggunakan chip CISC.
      Sumber : http://anotherlocalhero.blogspot.com/2013/01/risc-dan-cisc.html