Tampilkan postingan dengan label Tugas. Tampilkan semua postingan
Tampilkan postingan dengan label Tugas. Tampilkan semua postingan

Selasa, 10 November 2009

Transmission Control Protocol (TCP)

TCP/IP TCP singkatan dari 'Transmission Control Protocol' dan hampir semua sistem operasi modern kompatibel dengan protocol ini. TCP adalah dasar dari koneksi, Hal ini berarti melakukan suatu koneksi langsung antara dua komputer untuk melakukan transfer data antara kedua host. Suatu paket mengandung header dan data gram, pada bagian header dari paket akan mengandung informasi penting tentang :

· Source Port

· Destination Port

· Sequence number

· Acknowledgement number

· Header Length (Standard 20 Bytes)

· Flags (syn, ack, psh, fin, rst, urg)

· Window size

· Checksum

· IP_v4 or IP_v6

· Header Length

· DSF

· Total Length

· Identification

· Flags (Set Fragment bit or not)

· Fragment Offset

· TTL

· Protocol (this case TCP)

· Header checksum

· Source IP

· Destination IP

Karakteristik TCP

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.

TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.

UDP (User Datagram Protocol)

Adalah TCP yang connectionless. Hal ini berarti bahwa suatu paket yang dikirim melalui jaringan dan mencapai computer lain tanpa membuat suatu koneksi. Sehingga dalam perjalanan ke tujuan paket dapat hilang karena tidak ada koneksi langsung antara kedua host dalam jarigan yang menggunakan TCP/IP. Jadi UDP sifatnya tidak realibel, tetapi UDP lebih cepat dari pada TCP dalam mengirimkan suatu paket karena UDP tidak membutuhkan koneksi langsung.

Karakteristik UDP

UDP memiliki karakteristik – karakteristik berikut:

a. Connectionless (tanpa koneksi)

Pesan – pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak bertukar informasi.

b. Unrealible (Tidak andal)

Pesan – pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protocol lapisan aplikasi yang berjalan di atas keandalannya mereka masing – masing, atau mengirim pesan secara periodic atau dengan menggunakan waktu yang telah didefinisikan.

c. UDP menyediakan mekanisme untuk mengirim pesan – pesan ke sebuah protocol lapisan aplikasi atau proses tertentu di dalam jaringan yang menggunakan TCP/IP. Header UDP berisi Field Source Process dan Destination Process Indentification.

d. UDP menyediakan perhitungan checksum berukuran 16 – bit terhadap keseluruhan pesan UDP.

UDP tidak menyediakan layanan – layanan antar host berikut:

a. UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protocol lapisan aplikasi yang berjalan di atas UDP.

b. UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen – segmen data, seperti yang terjadi dalam protocol TCP. Karena itulah, protocol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maksimum Transfer Unit / MTU) yang dimiliki oleh sebuah antarmuka di mna data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bias saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.

c. UDP tidak menyediakan mekanisme flow – control , seperti yang dimiliki TCP.

Penggunaan UDP

UDP sering digunakan dalam beberapa tugas berikut:

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

b. Protokol lapisan apliksi 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).

c. Protokol yag tidak membutuhkan keandalan.

Contoh protokol ini adalah protokol Routing Information Protocol (RIP).

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

Port UDP

Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.

Nomor Port UDP

Digunakan Oleh

53

Domain Name System (DNS) Name Query

67

BOOTP Client (Dynamic Host Configuration Protocol [DHCP])

68

BOOTP Server (DHCP)

69

Trivial File Transfer Protocol (TFTP)

137

NetBIOS Name Service

138

NetBIOS Datagram Service

161

Simple Network Management Protocol (SNMP)

445

Server Message Block (SMB)

520

Routing Information Protocol (RIP)

1812/1813

Remote Authentication Dial – in User Service (RADIUS)

Daftar Pustaka:
WIKIPEDIA

Telnet

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 TELNET (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.

Domain Name Server (DNS)

DNS adalah Domain Name Server, yaitu server yang digunakan untuk mengetahui IP Address suatu host lewat host name-nya. Dalam dunia internet, komputer berkomunikasi satu sama lain dengan mengenali IP Address-nya.

Namun bagi manusia tidak mungkin menghafalkan IP address tersebut, manusia lebih mudah menghapalkan kata-kata seperti www.yahoo.com, www.google.com, atau www.friendster.com. DNS berfungsi untuk mengkonversi nama yang bisa terbaca oleh manusia ke dalam IP addresshost yang bersangkutan untuk dihubungi.

Struktur DNS

DNS merupakan sebuah hiraki pengelompokan domain berdasarkan nama yang terbagi menjadi beberapa bagian, diantaranya:

  1. Root Level Domain

    Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level, dan level yang paling atas disebut dengan root domain. root doamain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (".")

  2. Top Level Domain

    Berikut ini adalah contoh dari top level domain:

  • .com → Organisasi Komersial

  • .edu → Institusi pendidikan atau universitas

  • .org → Organisasi non profit

  • .net → Network (Backbone Internet)

  • .gov → Organisasi pemerintah non militer

  • .mil → Organisasi pemerintah militer

  • dll

  1. Second Level Domain

    Second Level Domain dapat berisi host dan domain lain, yang disebut dengan sub domain. Sebagai contoh nya adalah sebagai berikut:

  • Domain eepis-its
  • Domain .detik
  • Domain .cisco
  1. Host Names

    Domain name yang digunakan dengan host nama akan menciptakan dully qualified domain name (FQDN) untuk setiap komputer. Sebagai contoh, jika terdapat fileserver.eepis-its.edu, dimana fileserver adalah host name dan eepis-its.edu adalah domain name.

Cara kerja DNS adalah sebagai berikut:

Bagian resolver adalah bagian dari program aplikasi yang berfungsi menjawab setiap pertanyaan tentang domain. Untuk menjawab pertanyaan, resolver dapat mencari jawabannya dengan memeriksa isi cache dan meneruskan pertanyaan ke server DNS atau bertanya langsung ke server DNS. Cache adalah bagian yang menyimpan pertanyaan-pertanyaan tentang domain yang pernah diajukan sebelumnya. Setiap aplikasi internet yang ingin menghubungi host lain pasti akan berinteraksi dengan server DNS melalui resolver.

Jika server DNS tidak memiliki jawaban dari pertanyaan domain (name server bukan authoritative name server dari domain yang ditanyakan), maka server DNS akan meneruskan pertanyaan tersebut ke name server yang dianggapnya lebih tahu. Proses pengalihan ke name server (NS) lain (proses name resolution) ni merupakan proses iteratif yang berlangsung hingga diperoleh alamat lengkap sebuah host.

Sebagai contoh jika ada user yang ingin menghubungi lecturer.eepis-its.edu, maka mula-mula NS akan menghubungi root server. Karena root server tidak memiliki informasi untuk host lecturer.eepis-its.edu, maka root server akan memberikan referensi kepada NS untuk menghubungi authoritative name server terdekat yaitu name server untuk domain edu. Proses ini terus berlangsung hingga NS memperoleh informasi lengkap tentang host lecturer.eepis-its.edu.

Setiap request domain akan disimpan di dalam cache untuk jangka waktu tertentu. Hal ini bertujuan untuk mempercepat proses name resolution. Sebagai contoh jika sebelumnya ada user yang me-request informasi untuk lecturer.eepis-its.edu, maka untuk user yang me-request fileserver.eepis-its.edu akan diarahkan ke name server yang memiliki korelasi terdekat dengan domain yang pernah di-request yang tersimpan di dalam cache, yaitu name server eepis-its.edu.

FlowChart DNS Server

Simple Mail Transfer Protocol (SMTP)

Komunikasi dengan e-mail mungkin saat ini merupakan salah satu aplikasi yang paling luas dipakai pada internet. Ada beberapa protokol yang dapat digunakan untuk melayani transfer e-mail, tetapi yang paling umum digunakan adalah Simple Mail Transfer Protocol (SMPT). SMPT mampu menangani pesan berupa teks kode ASCII yang akan dikirim kedalam kotak surat (mail-boxes) pada host TCP/IP yang telah ditentukan untuk melayani e-mail.

Pada gambar di atas menunjukkan mekanisme SMTP, dimana user yang ingin mengirimkan e-mail berinteraksi dengan mail-system lokal lewat komponen user-agent (UA) pada mail-system. e-mail yang akan dikirim terlebih dahulu disimpan sementara dalam outgoing-mail-box, selanjutnya SMTP pengirim memproses e-mail yang dikumpulkan pada outgoing-mail-box secara periodi. Jika pengirim SMTP menemukan e-mail pada outgoing-mail-box, maka secara langsung akan membuat koneksi TCP dengan host yang dituju untuk mengirim e-mail. Penerima SMTP dalam proses sebagai tujuan yang harus menerima koneksi TCP, selanjutnya e-mail dikirim pada koneksi ini. Pada penerima SMTP ini e-mail disimpan dalam host tujuan pada masing - masing mail-box sesuai dengan alamat tujuan. Jika mail-box dengan nama tidak sesuai dengan nama mail-box yang adapada host tujuan, maka e-mail dikirim kemabali yang menunjukkan mail-bok tidak ada. Alamat e-mail yang dipakai pada SMTP menggunakan standart RFC 882, dan informasi yang dikirim ditambahakan beberapa header yang sering disebut dengan "882 headers". Contoh alatmat e-mail misalnya:

edys@student.eepis-its.edu

teks sebelum simbol "@" adalah nama mail-box, sedangkan teks sesudah simbol "@" adalah nama host, jika pada alamat e-mail edys@student.eepis-its.edu berarti nama mail_box adalah edys yang terdapat pada host student.eepis-its.edu. Jika mail-box menggunakan karakter atau simbol khusus (misalnya tanda %), maka nama mail-box diberikan untuk encoding khusus agar SMTP dapat menggunakan sebagai mail-gateway.

Protokol SMTP menginginkan host tujuan yang akan menerima e-mail dalam keadaan on-line, jika tidak maka hubungan TCP dengan host tujuan tidak dapat dilakukan. Pada sistem jaringan komputer maka host SMTP selalu dalam keadaan On dan tersambung ke jaringan, sedangkan workstation yang berbeda pada user dapat berinteraksi dengan host SMTP untuk membaca atau mengirim e-mail menggunakan client/server mail protocol, contohnya post office protocol versi 3 sesuai yang dijabarkan dalam RFC 1460, atau yang sering disebut POP3.

POP (Post Office Protocol)

Suatu protocol yang dirancang untuk mengirimkan pesan e-mail dari server ke mail cilent. User yang mempunyai mail menyimpan dalam mailbox pada server. User dalam hal ini adalah POP client mengakses pesan yang disimpan menggunakan POP. Menjawab atau membuat mail baru digerakkan oleh client yang menyimpannya melalui SMTP. Mail dikirim dari client yang tidak memerlukan host yang lain untuk mengirimkan mail atau mengirim mail langsung ke penerima jarak jauh. POP server juga tidak relay mail untuk client.


Trivial File Transfer Protocol (TFTP)

File Transfer Protocol menggunakan TCP untuk mendapatkan komunikasi dalam jaringan yang dapat diandalkan. Jika jaringan sudah cukup dapat diandalkan, seperti umumnya pada jaringan LAN maka dapat dipergunakan File Transfer Protocol yang lebih sederhana, yaitu dapat digunakan user datagram ptotocol (UDP) untuk mendasari protocol transport (host to host). Sebagai contoh file transfer Protocol yang menggunakan UDP adalah trivial File Transfer Protocol (TFTP).
Pada gambar di atas ditunjukkan tahapan TFTP yang dipakai untuk transfer file diantara dua host. TFTP dapat dipakai untuk transfer file antara dua host tanpa memerlukan pengenalan (authentication) terhadap user yang memakai. File dapat di transfer dengan hanya menunjukkan nama file tersebut. Oleh karena user account dan password tidak diperlukan untuk transfer file dengan TFTP, maka beberapa system administrator mematikan fasilitas TFTP ini, atau membatasi jenis file yang dapat ditransfer, demikian juga implementasinya untuk akses dapat ditolak kecuali setiap user yang berada pada host dapat mengakses file.
TFTP kebanyakan dipakai untuk menghubungkan workstation yang tidak memiliki diskdrive maupun harddisk ke server untuk mendownload boot-image dari sistem operasi pada saat booting. Protokol TFTP cukup kecil dan efisien utnuk diterapkan pada Boot ROM di dalam card jaringan yang dipasang pada workstation. Workstation Unix dari Sun Microsystem menggunakan TFTP untuk menghubungkan dengan RARP atau BOOTP yang dapat dipergunakan untuk menentukan alamat IP dari workstation tersebut pada saat meng-download sistem operasi untuk booting.

Senin, 06 Juli 2009

Tugas 5 : Prosesor Paralel

Berikut ini adalah file presentasi materi Arsitektur Komputer tentang Prosesor Paralel [format .PPT]

Mata kuliah : Arsitektur Komputer
Dosen : Sigit Wasista, M.Kom
File Link : Download

Selasa, 23 Juni 2009

Arsitektur Komputer Berbasis Superscalar

Artikel ini merupakan bagian 3 (ketiga) dari pembahasan tentang arsitektur komputer berbasis RISC, CISC dan Superscalar.

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.

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

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
  • Tujuan (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

Arsitektur Komputer Berbasis CISC

Artikel ini merupakan bagian 2 (kedua) dari pembahasan tentang arsitektur komputer berbasis RISC, CISC dan Superscalar.

CISC (baca : ’sisk’ ) merupakan satu jenis arstiktur computer yang terdiri atas perintah-perintah yang cukup komplek, sesuai dengan namanya Complex Instruction Set Computing. Tujuan dasar dari dibuatnya sebuah prosesor berbasis CISC adalah agar dalam ekskusi suatu perintah cukup dengan menggunakan sedikit bahasa mesin. Hal ini dapat dicapai dengan membuat hardware yang mampu memahami dan menjalankan beberapa rangkaian operasi. Contoh dari instruksi pada prosesor CISC adalah MULT, yakni sebuah perintah yang mampu melaksanakan operasi perkalian.

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 kompiler 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. [1]

Perbedaan RISC dengan CISC

Berikut ini adalah gambar perbandingan ekskusi instruksi antara RISC dan CISC
Dan berikut adalah tabel perbandingan antar prosesor berbasis RISC dan CISC


Perbedaan mencolok antara RISC dan CISC adalah bahwa RISC lebih hemat daya dibandingkan dengan CISC. Dari sisi fisik kedua prosesor ini mengemisikan panas hanya saja pada CISC dibutuhkan sistem pendinginan. Metode pengalamatan RISC lebih unggul dalam kecepatan dengan menggunakan pengalamatan secara langsung. Interrupt pada RISC lebih mudah diterapkan dan lebih cepat. Dengan jumlah instruksi yang lebih sedikit maka jumlah transistor yang dibutuhkan semakin sedikit yang tentu saja berujung pada murahnya sistem ini dibandingkan dengan CISC. 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 pipeline, untuk CISC sendiri eksekusi dilakukan secara sekuensial.

Sementara keunggulan CISC terletak pada kecepatan komputasinya dan dalam pengimplementasian menggunakan software dimana akan lebih memudahkan programmer, dimana untuk RISC software yang dibuat akan jauh lebih kompleks dikarenakan instruksinya yang sedikit dibandingkan dengan RISC. Hanya saja, karena kompleksitasnya prosesor CISC ini menjadi sangat mahal dibandingkan dengan RISC. [2]

Jadi mana yang lebih bagus ? Jawabannya ada pada kebutuhan Anda masing-masing dan komputer mana yang Anda gunakan.

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

Note : Bagian berikutnya tentang Arsitektur Komputer Berbasis Superscalar

Arsitektur Komputer Berbasis RISC

Artikel ini merupakan bagian 1 (pertama) dari pembahasan tentang arsitektur komputer berbasis RISC, CISC dan Superscalar.
Ide dasar dari sebuah arsitektur prosesor (CPU) berbasis RISC adalah penyusunan yang tidak rumit dan membatasi jumlah instruksi (instruction set) hanya pada yang dibutuhkan saja.
RISC, atau Reduced Instruction Set Computer. Adalah sebuah tipe arsitektur computer yang memiliki set instruksi yang sedikit, efisien, dan lebih sederhana karena menggunakan instruksi dasar dibandingkan dengan is jenis arsitektur yang lain. [1]

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) [2]

John Cocke [3], seorang peneliti yang mengembangkan arsitektur RISC, menyampaikan bahwa sebenarnya kekhasan dari komputer tidaklah harus menggunakan banyak instruksi untuk menyelesaikan pekerjaan yang komplek, akan tetapi instruksi yang komplek tersebut cukup diselesaikan oleh rangkaian sirkuit, sehingga menghemat jumlah instruksi.

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. [2]

Karekteristik

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

Plus Minus

RISC mempunyai beberapa kelebihan dan kekurangan, antara lain:
[+] Plus
  • 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.
[-] Minus
  • 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. [4]

Pustaka
1. Shopomore College, CSE Stanford
2. Total.or.id : RISC
3. Wikipedia : John Cocke
4. Iskandar Zulkarnain : RISC

Note : Bagian berikutnya tentang Arsitektur Komputer Berbasis CISC

Minggu, 21 Juni 2009

Tugas 1 : Sistem Operasi (OS)

Berikut ini adalah file presentasi materi Arsitektur Komputer tentang Sistem Operasi (OS) [format .PPT]

Mata kuliah : Arsitektur Komputer
Dosen : Sigit Wasista, M.Kom
File Link : http://edybilanghai.googlepages.com/tugas_os_arkom.rar

Anggota kelompok:
(7107040013) Irawan Kholfanani
(7107040015) Fadjar Aditia
(7107040017) Edy Supangat
(7107040025) Salman ALfarisi