Tuesday, June 10, 2014

RISC (Reduced Instruction Set Computing)

Sejarah RISC
Reduced Instruction Set Computing (RISC) atau "Komputasi set instruksi yang disederhanakan" pertama kali digagas oleh John Cocke, 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 ,merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Biasanya digunakan pada komputer berkinerja tinggi seperti komputer vektor.

Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas kompiler.

Set-set instruksi yang kompleks tersebut dimaksudkan untuk :
  • Memudahkan pekerjaan kompiler
  • Meningkatkan efisiensie ksekusi, karena operasi yang kompleks dapat diimplementasikan didalam mikrokode.
  • Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.


RISC mempunyai karakteristik :
  • 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.
  • Pipelining  adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan. Sehingga proses instruksi lebih efiisien
  • Large number of registers: Jumlah register yang sangat banyak
  • RISC didesain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
  • Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas dibandingkan dengan CISC.
  • RISC memiliki keunggulan dalam hal kecepatannya sehingga banyak digunakan untuk aplikasi-aplikasi yang memerlukan kalkulasi secara intensif.


Contoh penerapan RISC :
  • Komputer vektor
  • Mikroprosesor Intel 960
  • Itanium (IA64) dari Intel Corporation
  • Power PC dari International Business Machine, dll.




Referensi :
http://id.wikipedia.org/wiki/RISC
http://rachmatsn.blogspot.com/2013/05/cisc-dan-risc-pada-saat-iniada-dua.html

CISC (Complex Instruction Set Computing)

Sejarah CISC

Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik", yaitu bagaimana cara itil membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi "level tinggi" seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg "sarat informasi" ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.

Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.

Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur-arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah transistor cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 - IBMs)

Istilah RISC dan CISC saat ini kurang dikenal, setelah melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel, AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa "operasi-mikro" internal yang lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih besar.

Pengertian CISC

Complex instruction-set computing atau Complex Instruction-Set Computer adalah sebuah arsitektur dari set instruksi komputer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu instruksi cukup dengan beberapa baris bahasa mesin yang relatif pendek sehingga implikasinya hanya sedikit saja RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut. Arsitektur CISC menekankan pada perangkat keras karena filosofi dari arsitektur CISC yaitu bagaimana memindahkan kerumitan perangkat lunak ke dalam perangkat keras.

Karakteristik CISC
  • Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
  • Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan


Ciri-ciri
  • Jumlah instruksi banyak
  • Banyak terdapat perintah bahasa mesin
  • Instruksi lebih kompleks

Contoh dari penerapan CISC :
  • 1. Prosesor system/360
  • 2. Prosesor VAX
  • 3. Prosesor PDP-11
  • 4. CPU AMD
  • 5. Intel x86, dll.



Referensi :
http://id.wikipedia.org/wiki/CISC
http://malica29.blogspot.com/2013/05/perbedaan-cisc-dan-risc.html

Arsitektur Komputer & Mikroprosesor



Arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah arsitektur von Neumann, CISC, RISC, blue Gene, dll.


1. CPU (Central Processing Unit)


Ini adalah unit pengendali. Fungsi utama unit pengendali (CU) adalah mengambil, mengkode, dan melaksanakan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali mengatur urutan operasi seluruh sistem. Unit ini juga menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi, juga aliran dan instruksi program.


Unit ini berfungsi melaksanakan operasi aritmatik serta operasi-operasi logika.

2. Memory Unit (Unit Penyimpan)

Unit-unit ini mengandung program-program yang bersangkutan dan data yang sedang diolah.

3. I/O (Unit Pengontrol Masukan dan Pengeluaran)

Unit ini melakukan hubungan dengan peripheral. Bila sebuah komputer dibangun dalam sebuah PCB tunggal maka disebut minikomputer. Dan sebuah CPU yang dipakai dalam sebuah chip semikonduktor disebut mikroprosessor. Mikrokomputer sendiri adalah sebuah komputer yang dikonstruksi dari sebuah mikroprosesor dengan ditambahkan unit memori serta sistem I/O. Sistem mikrokomputer sama dengan yang terdapat pada sistem komputer. Untuk menanggulangi berbagai macam kerja yang harus dilakukan, biasanya diberikan “logika tambahan” atau rangkaian logika lain misalnya tri-state buffer, buffer, decoder, multiplexer.
Ciri utama sistem mikrokomputer : hubungan yang berbentuk “bus”. (Istilah bus diambil dari bahasa latin omnibus yang berarti kepada/untuk semua). Bus menunjukkan hubungan antara komponen-komponen secara elektris. Bus meneruskan data, alamat-alamat (address) atau sinyal pengontrol.





Bagian-Bagian Sistem Mikrokomputer


1. CPU/Mikroprosesor 
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. 



Berikut adalah karakteristik penting dari mikroprosesor :



2. Memori






RAM adalah unit memori yang dapat dibaca dan/atau ditulisi. Data dalam RAM bersifat volatile (akan hilang bila power mati). RAM hanya digunakan untuk menyimpan data sementara, yaitu data yang tidak begitu penting (tidak masalah bila hilang akibat aliran daya listrik terputus). Ada dua macam RAM yaitu RAM statik dan RAM dinamik. RAM statik adalah flipflop yang terdiri dari komponen seperti resistor, transistor, dioda dan sebagainya. Setiap 1 bit informasi tersimpan hingga sel “dialamatkan” dan “ditulis-hapuskan”. Keuntungan dari RAM statik adalah akses atau jalan masuk yang bebas ke setiap tempat penyimpanan yang diinginkan, dan karena itu kecepatan masuk ke dalam memori terhitung relatif tinggi. RAM dinamik menyimpan bit informasi sebagai muatan. Sel memori elementer dibuat dari kapasistansi gerbang-substrat transistor MOS. Keuntungan RAM dinamik adalah sel-sel memori yang lebih kecil sehingga memerlukan tempat yang sempit, sehingga kapasistas RAM dinamik menjadi lebih besar dibanding RAM statik. Kerugiannya adalah bertambahnya kerumitan pada papan memori, karena diperlukannya rangkaian untuk proses penyegaran (refresh). Proses penyegaran untuk kapasitor ini dilakukan setiap 1 atau 2 mili detik.

b. ROM (Read Only Memory)

ROM merupakan memori yang hanya dapat dibaca. Data tidak akan terhapus meskipun aliran listrik terputus (non-volatile). Karena sifatnya, program-program disimpan dalam ROM. Beberapa tipe ROM:


  
c. Input/Output (I/O)
Piranti Input/Output (I/O interface) dibutuhkan untuk menghubungkan piranti di luar sistem. I/O dapat menerima/memberi data dari/ke mikroprosesor. Untuk menghubungkan antara I/O interface dengan mikroprosesor dibutuhkan piranti address. Dua macam I/O interface yang dipakai yaitu: serial dan paralel. Piranti serial (UART/universal asynchronous receivertransmitter) merupakan pengirim-penerima tunggal (tak serempak). UART mengubah masukan serial menjadi keluaran paralel dan mengubah masukan paralel menjadi keluaran serial. PIO (paralel input output) merupakan pengirim-penerima serempak. PIO dapat diprogram dan menyediakan perantara masukan dan keluaran dasar untuk data paralel 8 bit.




Sumber :
http://id.wikipedia.org/wiki/Mikroprosesor
http://id.wikipedia.org/wiki/Arsitektur_komputer
http://madegapur.blogspot.com/2014/02/arsitektur-mikrokomputer.html