Senin, 21 Desember 2009

(CARRIER SENSE MULTIPLE ACCESS PROTOCOLS)

CSMA

Suatu teknik kontrol akses media untuk media transmisi multiple access. Sebuah stasiun yang ingin melakukan transmisi pertama-tama harus mengetahui kondisi media dan baru bisa melakukan transmisi bila media dalam satu idle.
  • Propagasi waktu sangat sedikit dibanding waktu transmisi
  • Semua stasiun mengetahui bahwa suatu transmisi telah dimulai hampir dengan seketika
  • Pertama dengarkan untuk medium jelas bersih (pengangkut merasakan)
  • Jika medium kosong, memancarkan
  • Jika dua stasiun start pada saat yang bersamaan, terjadi benturan
  • Nunggu waktu layak ( perjalanan pulang pergi ACK perkelahian lebih)
  • Tidak ada ACK kemudian memancarkan kembali
  • Max Pemanfaatan tergantung pada waktu propagasi ( panjangnya medium) dan membingkai panjangnya
  • Bingkai lebih panjang dan propagasi lebih pendek memberi pemanfaatan lebih baik
Dengan CSMA, sebuah station yang ingin melakukan transmisi, pertama-tama menentukan terlebih dahulu apakah station yang lain sedang menggunakan kanal. Bila medianya sedang digunakan, station harus menunggu. Bila media tidak dalam keadaan sibuk, barulah station bisa melakukan transmisi.yang akan terjadi adalah dua station atau lebih akan berusaha melakukan transmisi pada saat yang sama. Bila hal ini terjadi, maka muncullah collision, data dari kedua transmisi tersebut akan kacau dan tidak bisa diterima dengan baik. Untuk menghindari hal ini, station menunggu beberapa saat yang memungkinkan setelah melakukan transmisi agar mendapat balasan. Bila tidak ada balasan, station mengasumsikan telah terjadi collision dan harus dilakukan transmisi ulang.



Gambar CSMA/CD


Addressing (pengalamatan)

Setiap komputer, device atau stasion dalam LAN memiliki NIC (Network Interface Card). NIC ini memiliki 6-byte alamat fisik (physical address).

Data rate (laju data)

Ethernet LAN dapat mendukung laju data antara 1 sampai 10 Mbps, sedangkan Fast Ethernet mendukung hingga 100 Mbps dan yang terakhir GigaBit Ethernet hingga 1Gbps.

Frame Format (format bingkai)

Pada Gambar berikut ini dapat dilihat sebuah Ethernet frame. Sebagai catatan tambahan, bahwa Ethernet tidak menyediakan suatu mekanisme untuk acknowledge frame yang diterima, sehingga hal ini bisa dikatakan sebagai media yang unreliabel. Namun demikian acknowledgement diimplementasikan pada layer di atasnya. Sebagai keterangan isi bingkai ethernet adalah sbb:

  • Preamble : memuat 7 byte (56 bit) rangkaian bolak-balik bit 0 dan 1. Kegunaannya untuk sinkronisasi pada komputer penerima.
  • Start frame delimiter : berisi 1 byte dengan nilai (10101011). Digunakan sebagai flag dan sinyal mulainya frame.
  • Destination address : Berisi 6 byte yang memuat physical address untuk komputer yang dituju.
  • Source address : Berisi 6 byte yang memuat physical address untuk komputer pengirim.
  • Type : berisi informasi yang menentukan jenis data yang dibungkus (encapsulated) pada frame.
  • Data : berisi data dari lapisan di atasnya. Panjang data harus berkisar antara 46 dan 1500 byte. Apabila data yang didapat dari lapisan di atasnya kurang dari 46 byte, maka ditambahkan byte2 yg disebut padding sehingga melengkapi jumlah minimum yakni 46 byte. Namun apablia besar data lebih dari 1500 byte, maka lapisan di atasnya harus mengfargmentasikannya dalam pecahan-pecahan 1500 byte.
  • Cyclic redudancy check : berisi 4 byte sebagai error detection. Jenis CRC yang digunakan adalah CRC-32.

GAMBAR Format Frame Ethernet



Operasi CSMA/CD

CSMA meskipun lebih efisien dibanding ALOHA dan slotted ALOHA, masih memiliki satu inefisiensi yang menyolok. Bila dua frame saling bertabrakan, media menjadi tidak bisa digunakan selama durasi pentransmisian frame-frame yang mengalami kerusakan. Untuk frame-frame yang panjang, yang dibandingkan dengan waktu perambatan, jumlah kapasitas yang terbuang percuma bisa dipertimbangkan. Kapasitas yang terbuang percuma ini bisa dikurangi jika station terus memperhatikan media sembari melakukan transmisi.
Hal ini membawa beberapa aturan untuk CSMA/CD:
  • Bila media dalam status tidak sibuk, lakukan transmisi, jika sibuk, langsung ke tahap 2.
  • Bila media dalam keadaan sibuk, terus memperhatikan sampai kanal dalam status tidak sibuk, kemudian lakukan transmisi.
  • Bila collision terdeteksi selama masa transisi, sinyal gangguan singkat ditransmisikan untuk memastikan bahwa seluruh station mengetahui bahwa telah terjadi collision dan transmisi berhenti.
  • Setelah mentransmisikan sinyal gangguan, menunggu beberapa waktu random, kemudian barulah berupaya melakukan transmisi lagi (mulai dari tahap 1 lagi).

Minggu, 25 Oktober 2009

TCP dan UDP

TCP (Transmission Control Protocol)

TCP memiliki karakteristik sebagai berikut:

Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.


Beberapa port dalam TCP




Fungsi TCP

TCP bertugas memecah pesan-pesan menjadi beberapa segment, menyatukan kembali (reassemble) pada stasiun tujuan, mengirimkan kembali apapun yang tidak diterima, dan menyatukan kembali pesan-pesan tersebut dari beberapa segment.
TCP menyediakan sirkuit virtual antara aplikasi end-user.

Keuntungan:

Menawarkan suatu teknologi untuk menghubungkan sistem-sistem yang tidak serupa. TCP/IP
termasuk routable dan dapat dihubungkan ke jaringan-jaringan berbeda melalui gateway.
Memungkinkan untuk melakukan server framework atau client yang termasuk cross-platform,
scalable, dan robust. Microsoft TCP/IP menawarkan WinSock interface, yang sangat ideal untuk
mengembangkan aplikasi-aplikasi client/server yang dapat beroperasi pada WinSock-compliant
stack dari vendor-vendor lain.
Memberikan suatu metode untuk memperoleh akses ke Internet. Dengan berhubungan ke
Internet, sebuah VPN (virtual private network) atau extranet dapat ditentukan, yang bisa
menghasilkan akses jarak jauh yang tidak mahal.

UDP (User Datagram Protocol)
 

UDP adalah sebuah connectionless transport protocol yang tidak memiliki connection setup, flow control, congestion control dan juga tidak reliable. Terlepas dari ketidakreliableannya, UDP mampu mengirim data dengan rate berapa saja walaupun tentu saja tidak djiamin data pasti akan sampai di penerima (ada kemungkinan terjadi data loss).

UDP memiliki karakteristik sebagai berikut:

Membutuhkan response yang cepat. UDP tidak memiliki connection state dan connection establishment sehingga mampu memberikan response yg cepat atas setiap request dari client.
Mentolerir data loss. Beberapa applikasi tidak terlalu sensitive terhadap kehilangan data (selama kehilangan tersebut tidak significant), sehingga ketidak reliablean UDP tidak begitu masalah bagi applikasi seperti ini
Membutuhkan kontrol yang lebih baik atas apa yang akan dikirim dan kapan data akan dikirim. Mekanisme kontrol koneksi yg dimiliki TCP akan membuat applikasi menjadi tidak luwes untuk menentukan kapan saat yg tepat untuk mengirim data sehingga bisa menimbulkan delay yg tidak dapat ditoleransi. Di samping itu, TCP akan tetap berusaha mengirimkan data (walaupun akan membutuhkan waktu yg lama) ketika terjadi kongesti, padahal beberapa aplikasi membutuhkan rate pengiriman yang
Memerlukan pengiriman data pada lebih dari 1 client, baik applikasi broadcast ataupun multicast. TCP tidak mampu melakukan broardcast ataupun multicast.

Beberapa port dalam UDP



Fungsi UDP sebagai berikut:
Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

Keuntungan:

UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat.


Perbedaan antara TCP dan UDP


Senin, 05 Oktober 2009

DNS, Telnet, SMPT, TFTP

DNS (Domain Name System)

Merupakan layanan di Internet untuk jaringan yang menggunakan TCP/IP. Layanan ini digunakan untuk mengidentifikasi sebuah komputer dengan nama bukan dengan menggunakan alamat IP (IP address). Singkatnya DNS melakukan konversi dari nama ke angka. DNS dilakukan secara desentralisasi, dimana setiap daerah atau tingkat organisasi memiliki domain sendiri. Masing-masing memberikan servis DNS untuk domain yang dikelola. Suatu sistem database yang mengizinkan aplikasi TCP/IP menterjemahkan nama host ke dalam satu IP address. DNS (Domain Name Service) merupakan servis di Internet untuk network yang menggunakan TCP/IP. Servis ini digunakan untuk mengidentifikasi sebuah komputer dengan nama bukan dengan menggunakan nomor (alamat Internet). Komputer di Internet diidentifikasikan dengan angka, yaitu nomor IP. Misalnya, sebuah komputer memiliki nomor IP {192.168.1.1}. Komputer lebih mudah bekerja dengan angka, sedangkan manusia lebih mudah mengingat nama. Komputer dalam contoh ini dapat diberi nama {gareng}, misalnya. Singkatnya DNS melakukan konversi dari nama ke angka.
DNS dilakukan secara desentralisasi, dimana setiap daerah atau tingkat organisasi memiliki domain sendiri. Masing-masing memberikan servis DNS untuk domain yang dikelola. Untuk mengetahui nomor IP dari sebuah mesin (komputer) di Internet dapat digunakan beberapa program. Di sistem UNIX ada program host, Nslookup, dan dig.




TELNET ( Terminal Emulation)

Telnet adalah aplikasi remote login Internet. Telnet digunakan untuk login ke komputer lain di Internet dan mengakses berbagai macam pelayanan umum, termasuk katalog perpustakaan dan berbagai macam database. Telnet memungkinkan pengguna untuk duduk didepan komputer yang terkoneksi ke internet dan mengakses komputer lain yang juga terkoneksi ke internet. Dengan kata lain koneksi dapat terjadi ke mesin lain di satu ruangan, satu kampus, bahkan setiap komputer di seluruh dunia. Setelah terkoneksi, input yang diberikan pada keyboard akan mengontrol langsung ke remote computer tadi. Akan dapat diakses pelayanan apapun yang disediakan oleh remote machine dan hasilnya ditampilkan pada terminal lokal. Dapat dijalankan session interaktif normal (login, eksekusi command), atau dapat diakses berbagai service seperti: melihat catalog dari sebuah perpustakaan, akses ke teks dari USA today, dan masih banyak lagi service yang disediakan oleh masing-masing host pada di network. Telnet menggunakan 2 program, yang satu adalah client (telnet) dan server (telnetd). Yang terjadi adalah ada dua program yang berjalan, yaitu software client yang dijalankan pada komputer yang meminta pelayanan tersebut dan software server yang dijalankan oleh computer yang menghasilkan pelayanan tadi.




Gambar 1. Interaksi TELNET (Parker, 1994:117)




Gambar 2. Koneksi mesin ketika terjadi TELNER (Parker, 1994:118)



Tugas dari client adalah:
• Membuat koneksi network TCP (Transfer Control Protocol) dengan server.
• Menerima inputan dari user
• Menformat kembali inputan dari user kemudian mengubah dalam bentuk format standard
dan dikirim ke server.
• Menerima output dari server dalam format standard.
• Mengubah format output tadi untuk ditampilkan pada layar.

Sedangkan tugas dari server adalah:
• Menginformasikan software jaringan bahwa komputer itu siap menerima koneksi.
• Menunggu permintaan dalam bentuk format standard.
• Melaksanakan permintaan tersebut.
• Mengirim kembali hasil ke client dalam bentuk format standard.
• Menunggu permintaan selanjutnya.



SMTP (Simple Mail Transport Protocol)


SMTP (Simple Mail Transport Protocol) mendefinisikan cara bagaimana suatu Message Transport Agent (MTA) saling menukar e-mail dengan MTA yang lain. Prosesnya dapat dijelaskan sebagai berikut: pemakai (user) berinteraksi dengan User Agent (UA), yang kemudian pada gilirannya UA ini akan berinteraksi dengan MTA. MTA inilah yang kemudian akan meneruskan e-mail kepada MTA lainnya, dan juga MTA ini akan menerima pesan dari MTA lain untuk diserahkan kepada pemakai (user) melalui User Agent (UA).
E-mail client membuka sesi dengan melakukan inisialisasi sirkuit TCP/IP ke port 25, server SMTP kemudian memberikan respon dengan sebuah nomor ID dan status. Jika server tersedia untuk mentransfer pesan maka client dapat meneruskan sesi dan mentransfer pesan. Setelah koneksi TCP diinisialisasikan kemudian e-mail client mengirim perintah "HELO" bersama-sama dengan nama domainnya, hal ini bertujuan untuk memperkenalkan identitasnya kepada server sehingga bila server menerima perintah ini maka server akan menjawab bersama-sama dengan nama domainnya. Kemudian e-mail client akan mengirim perintah "MAIL FROM:". Selanjutnya e-mail client akan mengirimkan perintah "RCPT TO:".
Bila seluruh alamat e-mail dari penerima telah dikirim dan diterima oleh server, client kemudian mengirim perintah "DATA". Pesan tersebut akan dikirim oleh client jika server telah memberikan konfirmasi yang menyatakan siap untuk menerima data dari pesan e-mail tersebut. Bila telah selesai, selanjutnya client akan mengirim perintah terakhir yang akan menunjukkan bahwa pesan telah dikirim yaitu berupa titik("."), setelah server mengirimkan jawaban yang menyatakan bahwa pesan telah diterima maka client akan diberikan kesempatan untuk mengirim pesan lagi atau mengakhiri sesi tersebut yaitu dengan perintah "QUIT".


TFTP (Trivial File Transfer Protocol)


TFTP (Trivial File Transfer Protocol) adalah sebuah aplikasi File Transfer dengan menggunakan protokol UDP. Aplikasi ini dapat dipakai sebagai Server File Transfer Protokol dimana kita bisa menyimpan beberapa file, contohnya seperti menyimpan Running-config ataupun CISCO IOS dari peralatan Jaringan seperti CISCO. Selain itu TFTP juga banyak sekali keuntungannya, antara lain:
Trivia File Transfer Protocol (TFTP) merupakan dua file transfer protocol yang populer di dalam jaringan IP
TFTP melakukan perbaikan satu blok data application layer pada satu waktu
TFTP menggunakan kode lebih sedikit. Ia didesain agar sederhana (trivial), dengan jumlah memory yang sedikit untuk menjalankan kodenya. Karena protokol ini sangatlah sederhana, maka implementasi protokol ini dalam komputer yang memiliki memori yang kecil sangatlah mudah. Hal ini memang pertimbangan yang sangat penting pada saat itu. Akhirnya, TFTP pun digunakan untuk melakukan booting komputer seperti halnya router jaringan komputer yang tidak memiliki perangkat penyimpanan data. Protokol ini kini masih digunakan untuk mentransfer berkas-berkas kecil antar host di dalam sebuah jaringan, seperti halnya ketika terminal jarak jauh X Window System atau thin client lainnya melakukan proses booting dari sebuah host jaringan atau server

Minggu, 21 Juni 2009

SUPERSCALAR

Definisi dan Perkembangan Superscalar[1]

Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.

Pipeline sendiri adalah meningkatkan kinerja komputer dengan cara saling overlap tahapan dari instruksi yang berbeda.

Pada pipenline untuk melakukan proses (stages) overlapping dibutuhkan paling tidak setengah clock. Sedangkan superscalar mengijinkan proses untuk bekerja secara bersamaan pada saat clock yang sama.

Superscalar ini menerapkan suatu bentuk paralel disebut-tingkat instruksi paralel dalam satu prosesor, sehingga memungkinkan lebih cepat. Sebuah prosesor superscalar melaksanakan lebih dari satu instruksi selama satu jam secara bersamaan dengan siklus dispatching beberapa petunjuk ke membazir fungsional unit pada prosesor. Setiap unit fungsional tidak terpisah CPU inti, tetapi sebuah sumber daya eksekusi dalam satu CPU seperti aritmetika logis unit, sedikit Shifter, atau kelipatan.

Perkembangan superscalar pertama kali diawali oleh Seymour Cray's CDC 6600 dari 1965 sering disebut sebagai pertama superscalar desain. Intel i960CA (1988) dan seri AMD 29000-29050 (1990) mikro yang komersial pertama chip tunggal superscalar mikro. CPU RISC seperti ini membawa konsep superscalar untuk mikro komputer RISC karena hasil desain yang sederhana inti, agar mudah instruksi dispatch dan keterlibatan beberapa unit fungsional (seperti ALUs) pada satu CPU dalam rancangan peraturan yang terpaksa waktu. Ini adalah alasan yang RISC desain yang lebih cepat dari CISC desain melalui ke dalam tahun 1980-an dan 1990-an.[2]

Kecuali untuk digunakan dalam beberapa CPU-daya baterai perangkat, pada dasarnya semua tujuan-CPU umum dikembangkan sejak 1998 adalah superscalar. Diawali dengan "P6" (Pentium Pro dan Pentium II) pelaksanaan, Intel x86 arsitektur mikro yang telah menerapkan CISC pada set instruksi RISC superscalar mikro. Kompleks petunjuk yang diterjemahkan secara internal ke-RISC seperti "micro-ops" set instruksi RISC, prosesor yang memungkinkan untuk mengambil keuntungan dari performa yang lebih tinggi-prosesor yang melandasi tetap kompatibel dengan prosesor Intel sebelumnya.[2]

Contoh Penerapan Superscalar [1]

Contoh CPU yang telah menerapkan arsitektur superscalar :

Intel Processors
• 486, Pentium, Pentium Pro

Superscalar Processor Design
• Use PowerPC 604 as case study
• Speculative Execution, Register Renaming, Branch Prediction

More Superscalar Examples
• MIPS R10000
• DEC Alpha 21264

Berikut perbandingan superscalar dengan system i386
Cycles Per Instruction
Instruction Type 386 Cycles 486 Cycles
Load 4 1
Store 2 1
ALU 2 1
Jump taken 9 3
Jump not taken 3 1
Call 9 3

Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat
– Keduanya instruksi yang sederhana
– I1 tidak melakukan proses jump
– Tujuan (destination) dari I1 bukan sumber (source) dari I2
– Tujaun (destinition) dari I1 bukan tujuan (destination) dari I2

Jika kondisi diatas tidak dapat dipenuhi
– I1 melakukan proses U-pipe
– I2 dijalankan di cycle berikutnya.


Pustaka:
[1] Superscalar VS Pipelining
[2] Superscalar Processor

CISC (Complex Instruction Set Computing)

Definisi dan Perkembangan CISC [1]

Complex Instruction Set Computing disingkat CISC (baca : “sisk”) merupakan rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang kompleks. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar.

MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan.
Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.

Pada dasarnya CISC merupakan kebalikan dari RISC, biasanya digunakan pada keluarga processor untuk PC (AMD, Cyrix). Para pesaing Intel seperti Cyrix dan AMD juga telah menggunakan chip RISC tetapi ia telah dilengkapi dengan penukar (converter) CISC.

Para perancang mikroprosesor mencari kinerja lebih bagus di dalam keterbatasan teknologi kontemporer. Pada tahun 1970-an misalnya, memori diukur dengan kilobyte dan sangat mahal saat itu. CISC merupakan pendekatan dominan karena menghemat memori.
Pada arsitektur CISC seperti Intel x86, yang diperkenalkan pada tahun 1978, bisa terdapat ratusan instruksi program - perintah-perintah sederhana yang menyuruh sistem menambah angka, menyimpan nilai dan menampilkan hasilnya. Bila semua instruksi panjangnya sama, instruksi sederhana akan memboroskan memori. Instruksi sederhana membutuhkan ruang penyimpanan 8 bit, sementara instruksi yang paling kompleks mengkonsumsi sebanyak 120 bit.

Walaupun instruksi dengan panjang bervariasi lebih sulit diproses oleh chip, instruksi CISC yang lebih panjang akan lebih kompleks. Bagaimanapun, untuk memelihara kompatibilitas software, chip x86 seperti Intel Pentium III dan AMD Athlon harus bekerja dengan instruksi CISC yang dirancang pada tahun 1980-an, walaupun keuntungan awalnya yaitu menghemat memori tidaklah penting sekarang.

Perbedaan RISC dan CISC[2]

Secara umum perbedaan antara RISC dan CISC dapat terlihat pada tabel di bawah ini:




















Terlihat beberapa perbedaan yang mencolok antara keduanya, pada daya yang dibutuhkan RISC membutuhkan sedikit daya dibandingkan dengan CISC. Kecepatan komputasi CISC jauh lebih unggul, kemudian dengan metode pengalamatan RISC lebih unggul dalam kecepatan dengan menggunakan pengalamatan secara langsung. Harga CISC puluhan kali lipat dari RISC karena kompleksotas dari CISC. Keduanya mengemisikan panas hanya saja pada CISC dibutuhkan sistem pendinginan. Untuk interrupt pada RISC lebih mudah diterapkan dan lebih cepat. Keuntungan dari CISC pada sistem operasi yang lebih mudah pengimplementasiannya dibandingkan dengan RISC.

Secara umum kelebihan dari RISC yaitu kesederhanaan dari instruksinya. Dengan jumlah instruksi yang lebih sedikit maka jumlah transistor yang dibutuhkan semakin sedikit yang tentu saja berujung pada murahnya sistem ini dibandingkan dengan seterunya. Selain itu dengan lebih sedikitnya instruksi hanya pada instruksi yang sering digunakan saja maka waktu komputasi computer akan semakin sedikit. Kelebihan utama dari RISC adalah fasilitas prefatch dan pipe line, untuk CISC sendiri eksekusi dilakukan secara sekuensial. Sedangkan untuk CISC, kelebihannya terdapat dalam pengimplementasian menggunakan software dimana akan lebih memudahkan programmer, dimana untuk RISC software yang dibuat akan jauh lebih kompleks dikarenakan instruksinya yang sedikit.


Pustaka :
[1] Kamus Komputer dan Teknologi Informasi
[2] RISC VS CISC

RISC (Reduced Instruction Set Computing)

Definisi dan Perkembangan RISC [1]

Pada dasarnya RISC merupakan rancangan arsitektur CPU yang mempunyai arti filosofi bahwa setiap prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Rancangan ini berawal dari pertimbangan dan analisa model perancangan yang kompleks sehingga harus ada pengurangan set instruksinya. Konsep RISC pertama kali dikembangkan oleh IBM pada era 1970-an. Komputer pertama yang menggunakan RISC adalah komputer mini IBM 807 yang diperkenalkan pada tahun 1980. Dewasa ini, RISC digunakan pada keluarga processor buatan Motorola (PowerPC) dan SUN Microsystems (Sparc, UltraSparc).

RISC dikembangkan melalui seorang penelitinya yang bernama John Cocke, beliau menyampaikan bahwa sebenarnya kekhasan dari komputer tidaklah menggunakan banyak instruksi, namun yang dimilikinya adalah instruksi yang kompleks yang dilakukan melalui rangkaian sirkuit.

Pada desain chip mikroprosesor jenis ini, pemroses diharapkan dapat melaksanakan perintah-perintah yang dijalankannya secara cepat dan efisien melalui penyediaan himpunan instruksi yang jumlahnya relatif sedikit, dengan mengambil perintah-perintah yang sangat sederhana, akibatnya arsitektur RISC membatasi jumlah instruksinya yang dipasang ke dalam mikroprosesor tetapi mengoptimasi setiap instruksi sehingga dapat dilaksanakan dengan cepat.

Dengan demikian instruksi yang sederhana dapat dilaksanakan lebih cepat apabila dibandingkan dengan mikroprosesor yang dirancang untuk menangan susunan instruksi yang lebih luas.

Dengan demikian chip RISC hanya dapat memproses instruksi dalam jumlah terbatas, tetapi instruksi ini dioptimalkan sehingga cepat dieksekusi. Meski demikian, bila harus menangani tugas yang kompleks, instruksi harus dibagi menjadi banyak kode mesin, terutama sebelum chip RISC dapat menanganinya. Karena keterbatasan jumlah instruksi yang ada padanya, apabila terjadi kesalahan dalam pemrosesan akan memudahkan dalam melacak kesalahan tersebut.

Pada tahun 1980-an kapasitas modul memori meningkat dan harganya turun. Penekanan pada desain CPU bergeser ke kinerja, dan RISC menjadi trend baru. Contoh arsitektur RISC meliputi SPARC dari Sun Microsystems; seri MIPS Rxxxx dari MIPS Technologies; Alpha dari Digital Equipment; PowerPC yang dikembangkan bersama oleh IBM dan Motorola; dan RISC dari Hewlett-Packard.



Karekteristik RISC[2]

RISC mempunyai beberapa karakteristik, antara lain adalah

  • Siklus instruksi, merupakan siklus mesin yang ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU dan menyimpan hasil operasi ke dalam register. Dan instruksi ini biasa dibatasi dengan instruksi dasar saja.

  • Operasi Pertukaran Data, pertukaran data ini biasanya berbentuk register ke register yang mana mengoptimalkan penggunaan memori register agar siklus operasinya semakin cepat. Penggunaan register ini dikarenakan register merupakan memori yang paling cepat dibandingkan cache maupun memori utama.

  • Mode pengalamatan, fitur rancangan ini juga dapat menyederhanakan sel instruksi dan unit control. Yang mana dengan mode pengalamatan yang sederhana akan didapatkan operasi pengambilan data dan penyimpanan data semakin cepat.

  • Format instruksi, umumnya hanya digunakan sebuah format atau beberapa format saja untuk menyederhanakan implementasi perangkat kerasnya.


Ciri - Ciri RISC:[2]

  1. Instruksi berukuran tunggal.

  2. Ukuran yang umum adalah 4 byte.

  3. Jumlah pengalamatan data sediki, biasanya kurang dari 5 buah.

  4. Tidak terdapat pengalamatan tidak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.

  5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.

  6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi.

  7. Tidak mendukung perataan sembarang bagi data untuk operasi load/store.

  8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuh instruksi.

  9. Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.

  10. Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.




KELEBIHAN DAN KEKURANGAN TEKNOLOGI RISC[2]
RISC mempunyai beberapa kelebihan dan kekurangan, antara lain:


KELEBIHAN

  • Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL.

  • Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan konsepnya.

  • Pekerjaan mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.

  • Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih menekankan pada referensi register dibanding referensi memori, dan referensi register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi lebih cepat.

  • Kecenderungan operasi register ke register akan lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan menyebabkan operand-operand yang sering diakses akan tetap berada dipenyimpan berkecepatan tinggi.

  • Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.

KEKURANGAN

  • Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).

  • Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.

  • Program yang berukuran lebih besar akan menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil. Selain itu,Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar.





Pustaka :
[1] Kamus Komputer dan Teknologi Informasi
[2] ARSITEKTUR REDUCED INSTRUCTION
SET COMPUTERS (RISC)

Sabtu, 20 Juni 2009

DAMPAK POSITIF GREEN HOUSE

Global warming adalah suatu peristiwa yang disebabkan meningkatnya efek rumah kaca (green house effect). Sebenarnya efek rumah kaca bukanlah suatu hal yang buruk, justru dengan adanya efek rumah kaca bumi kita bisa tetap hangat, bahkan memungkinkan kita bisa survive hingga sekarang.

Kamu bisa mengibaratkan bumi kita seperti mobil yang sedang diparkir dalam cuaca yang cerah. Kamu pasti akan berpikir bahwa temperature di dalam mobil pasti akan lebih panas dibandingkan temperature di luar mobil. Sinar matahari memasuki mobil tersebut melalui celah-celah pada kaca jendela dan secara otomatis panas dari sinar matahari akan diserap oleh jok, karpet, dashboard serta benda-benda lain yang berada di dalam mobil. Ketika semua objek tersebut melepaskan kembali panas yang diserapnya, tidak semua panas tersebut akan bisa keluar melalui celah jendela, sebagian justru akan dipantulkan kembali- panas tersebut akan diradiasikan kembali oleh benda-benda yang ada di dalam mobil dengan panjang gelombang yang berbeda-beda. Sehingga sejumlah energy panas akan tetap tinggal di dalam mobil, dan hanya sebagian kecil dari energy tersebut yang bisa melepaskan diri. Pada akhirnya, mobil tersebut akan mengalami peningkatan temperature secara berkala, semakin lama akan semakin panas.[1]


PUSTAKA

[1] klik