Senin, 09 Juni 2014

Mikro Prosesor, Arsitektur Komputer dan Desain CPU

Mikro Prosesor
Apa itu mikro prosesor?
Sebuah mikroprosesor (sering dituliskan: µP atau uP) adalah sebuah central processing unit (CPU) elektronik komputer yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor.
Sebelum berkembangnya mikroprosesor, CPU elektronik terbuat dari sirkuit terintegrasi TTL terpisah; sebelumnya, transistor individual; sebelumnya lagi, dari tabung vakum. Bahkan telah ada desain untuk mesin komputer sederhana atas dasar bagian mekanik seperti gear,shaftlever, 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.
Jadi, prosesor mikro adalah suatu komponen yang berbentuk chip IC (Integrated Circuit) yang terdiri dari beberapa rangkaian yaitu ALU (Arithmatic Logic Unit), CU ( Control Unit), dan Register. Mikroprosesor juga disebut juga sebagai CPU (Central Processing Unit) dan merupakan komponen yang sangat penting di dalam sistem komputer. Mikroprosesor berfungsi sebagai pusat untuk memproses data di dalam sistem komputer.
Bagian terpenting dari prosesor terbagi menjadi 3 yaitu :
  • Aritcmatics Logical Unit (ALU), adalah alat yang melakukan pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan "kerja" yang nyata;
  •  Control Unit (CU), merupakan suatu alat pengontrolan yang berada dalam komputer yang memberitahukan unit masukan mengenai jenis data, waktu pemasukan, dan tempat penyimpanan didalam primary storage. Control unit juga bertugas memberitahukan kepada arithmatic logic unit mengenai operasi yang harus dilakukan, tempat data diperoleh, dan letak hasil ditempatkan Perangkat-perangkat alat proses bersertaperlengkapan;
  • Memory Unit (MU), merupakan bagian dari processor yang menyimpan alamat-alamat register data yang diolah oleh ALU dan CU.
Sejarah Perkembangan Mikroprocessor 
  • 1971: 4004 Microprocessor : pada tahun 1971 munculah microprocessor pertama Intel, microprocessor 4004 ini digunakan pada mesin kalkulator Busicom. Dengan penemuan ini maka terbukalah jalan untuk memasukkan kecerdasan buatan pada benda mati.
  • 1972: 8008 Microprocessor : pada tahun 1972 munculah microprocessor 8008 yang berkekuatan 2 kali lipat dari pendahulunya yaitu 4004.
  • 1974: 8080 Microprocessor : menjadi otak dari sebuah komputer yang bernama Altair, pada saat itu terjual sekitar sepuluh ribu dalam 1 bulan
  • 1978: 8086-8088 Microprocessor : sebuah penjualan penting dalam divisi komputer terjadi pada produk untuk komputer pribadi buatan IBM yang memakai prosesor 8088 yang berhasil mendongkrak nama intel.
  • 1982: 286 Microprocessor : intel 286 atau yang lebih dikenal dengan nama 80286 adalah sebuah processor yang pertama kali dapat mengenali dan menggunakan software yang digunakan untuk processor sebelumnya.
  • 1985: Intel386™ Microprocessor : intel 386 adalah sebuah prosesor yang memiliki 275.000 transistor yang tertanam diprosessor tersebut yang jika dibandingkan dengan 4004 memiliki 100 kali lipat lebih banyak dibandingkan dengan 4004
  • 1989: Intel486™ DX CPU Microprocessor : processor yang pertama kali memudahkan berbagai aplikasi yang tadinya harus mengetikkan command-command menjadi hanya sebuah klik saja, dan mempunyai fungsi komplek matematika sehingga memperkecil beban kerja pada processor.
  • 1993: Intel® Pentium® Processor : processor generasi baru yang mampu menangani berbagai jenis data seperti suara, bunyi, tulisan tangan, dan foto.
  • 1995: Intel® Pentium® Pro Processor : processor yang dirancang untuk digunakan pada aplikasi server dan workstation, yang dibuat untuk memproses data secara cepat, processor ini mempunyai 5,5 jt transistor yang tertanam.
  • 1997: Intel® Pentium® II Processor : processor Pentium II merupakan processor yang menggabungkan Intel MMX yang dirancang secara khusus untuk mengolah data video, audio, dan grafik secara efisien. Terdapat 7.5 juta transistor terintegrasi di dalamnya sehingga dengan processor ini pengguna PC dapat mengolah berbagai data dan menggunakan internet dengan lebih baik.
  • 1998: Intel® Pentium II Xeon® Processor : processor yang dibuat untuk kebutuhan pada aplikasi server. Intel saat itu ingin memenuhi strateginya yang ingin memberikan sebuah processor unik untuk sebuah pasar tertentu.
  • 1999: Intel® Celeron® Processor : processor Intel Celeron merupakan processor yang dikeluarkan sebagai processor yang ditujukan untuk pengguna yang tidak terlalu membutuhkan kinerja processor yang lebih cepat bagi pengguna yang ingin membangun sebuah system computer dengan budget (harga) yang tidak terlalu besar. Processor Intel Celeron ini memiliki bentuk dan formfactor yang sama dengan processor Intel jenis Pentium, tetapi hanya dengan instruksi-instruksi yang lebih sedikit, L2 cache-nya lebih kecil, kecepatan (clock speed) yang lebih lambat, dan harga yang lebih murah daripada processor Intel jenis Pentium. Dengan keluarnya processor Celeron ini maka Intel kembali memberikan sebuah processor untuk sebuah pasaran tertentu.
  • 1999: Intel® Pentium® III Processor : processor Pentium III merupakan processor yang diberi tambahan 70 instruksi baru yang secara dramatis memperkaya kemampuan pencitraan tingkat tinggi, tiga dimensi, audio streaming, dan aplikasi-aplikasi video serta pengenalan suara.
  • 1999: Intel® Pentium® III Xeon® Processor : intel kembali merambah pasaran server dan workstation dengan mengeluarkan seri Xeon tetapi jenis Pentium III yang mempunyai 70 perintah SIMD. Keunggulan processor ini adalah ia dapat mempercepat pengolahan informasi dari system bus ke processor , yang juga mendongkrak performa secara signifikan. Processor ini juga dirancang untuk dipadukan dengan processor lain yang sejenis.
  • 2000: Intel® Pentium® 4 Processor : processor Pentium IV merupakan produk Intel yang kecepatan prosesnya mampu menembus kecepatan hingga 3.06 GHz. Pertama kali keluar processor ini berkecepatan 1.5GHz dengan formafactor pin 423, setelah itu intel merubah formfactor processor Intel Pentium 4 menjadi pin 478 yang dimulai dari processor Intel Pentium 4 berkecepatan 1.3 GHz sampai yang terbaru yang saat ini mampu menembus kecepatannya hingga 3.4 GHz.
  • 2001: Intel® Xeon® Processor : processor Intel Pentium 4 Xeon merupakan processor Intel Pentium 4 yang ditujukan khusus untuk berperan sebagai computer server. Processor ini memiliki jumlah pin lebih banyak dari processor Intel Pentium 4 serta dengan memory L2 cache yang lebih besar pula.
  • 2001: Intel® Itanium® Processor : itanium adalah processor pertama berbasis 64 bit yang ditujukan bagi pemakain pada server dan workstation serta pemakai tertentu. Processor ini sudah dibuat dengan struktur yang benar-benar berbeda dari sebelumnya yang didasarkan pada desain dan teknologi Intel’s Explicitly Parallel Instruction Computing ( EPIC ).
  • 2002: Intel® Itanium® 2 Processor : itanium 2 adalah generasi kedua dari keluarga Itanium
  • 2003: Intel® Pentium® M Processor : chipset 855, dan Intel® PRO/WIRELESS 2100 adalah komponen dari Intel® Centrino™. Intel Centrino dibuat untuk memenuhi kebutuhan pasar akan keberadaan sebuah komputer yang mudah dibawa kemana-mana.
  • 2004: Intel Pentium M 735/745/755 processors : dilengkapi dengan chipset 855 dengan fitur baru 2Mb L2 Cache 400MHz system bus dan kecocokan dengan soket processor dengan seri-seri Pentium M sebelumnya.
  • 2004: Intel E7520/E7320 Chipsets : 7320/7520 dapat digunakan untuk dual processor dengan konfigurasi 800MHz FSB, DDR2 400 memory, and PCI Express peripheral interfaces.
  • 2005: Intel Pentium 4 Extreme Edition 3.73GHz : sebuah processor yang ditujukan untuk pasar pengguna komputer yang menginginkan sesuatu yang lebih dari komputernya, processor ini menggunakan konfigurasi 3.73GHz frequency, 1.066GHz FSB, EM64T, 2MB L2 cache, dan HyperThreading.
  • 2005: Intel Pentium D 820/830/840 : processor berbasis 64 bit dan disebut dual core karena menggunakan 2 buah inti, dengan konfigurasi 1MB L2 cache pada tiap core, 800MHz FSB, dan bisa beroperasi pada frekuensi 2.8GHz, 3.0GHz, dan 3.2GHz. Pada processor jenis ini juga disertakan dukungan HyperThreading.
  • 2006: Intel Core 2 Quad Q6600 : processor untuk type desktop dan digunakan pada orang yang ingin kekuatan lebih dari komputer yang ia miliki memiliki 2 buah core dengan konfigurasi 2.4GHz dengan 8MB L2 cache (sampai dengan 4MB yang dapat diakses tiap core ), 1.06GHz Front-side bus, dan thermal design power ( TDP )
  • 2006: Intel Quad-core Xeon X3210/X3220 : processor yang digunakan untuk tipe server dan memiliki 2 buah core dengan masing-masing memiliki konfigurasi 2.13 dan 2.4GHz, berturut-turut , dengan 8MB L2 cache ( dapat mencapai 4MB yang diakses untuk tiap core ), 1.06GHz Front-side bus, dan thermal design power (TDP)
Berikut  ini adalah karakteristik penting dari mikroprosesor :
  1. Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.
  2. Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuktransfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.
  3. Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
  4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
  5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.
Faktor lain yang mempengaruhi kecepatan adalah :
  •  Dual-Core mampu memproses beberapa aplikasi secara paralel. Dengan Hyper-Threading, beberapa tugas dijalankan melalui satu arus, tapi dengan dual-core, tugas-tugas ini dipisah menjadi dua arus dan tiap arus diproses sendiri-sendiri.
  • Hyper-Threading (HT) memungkinkan 2 pekerjaan untuk dijalankan pada saat yang sama (paralel). Dengan HT, anda bisa menjalankan beberapa aplikasi sekaligus tanpa merasakan lagging/lamban.
  • L2 Cache: memori kecepatan tinggi tempat menyimpan data yang sering dipakai oleh CPU. RAM juga memori tetapi aksesnya lebih lamban. PC dengan L2 Cache yang besar memungkinkan lebih banyak data yang bisa diakses dari memori ini sehingga keseluruhan sistem bekerja lebih cepat. Cache ini disebut juga secondary cache dan mempunyai chip sendiri; sedangkan primary cache biasanya didalam CPU itu sendiri. Ukurang cache ada yang 512Kb sampai 2Mb atau lebih.
  • Front Side Bus: Mempengaruhi kecepatan data transfer dari CPU ke RAM dan graphics card dan sebaliknya. PC dengan FSB yang tinggi cocok untuk games dan digital media.
  • Execute Disable Bit: Menurunkan ancaman sekuriti dari virus seperti memory buffer overflow dimana aplikasi anti-virus tidak bisa menanggulangi.
  • Enhanced Intel SpeedStep: Menyediakan kemampuan yang maksimal jika diperlukan dan mengurangi jika tidak. Lebih sering dipakai di laptop atau notebook untuk mengirit penggunaan listrik dari baterai.
  • Extended Memory 64 (64-bit): Sistem dengan 32-bit CPU mempunyai maksimum kapasitas 4GB untuk RAM. Untuk menjalankan aplikasi yang besar dan memerlukan memori lebih besar dari 4GB, data extra akan ditulis di hard-disk sehingga memperlambat prosesnya.
Jenis-jenis Processor :
  • Socket, yaitu berbentuk kotak persegi yang terdapat pin (kaki) konektor;
  • Slot, yaitu berbentuk batangan yang ditancapkan pada port yang khusus disediakan untuk processor model slot. Pada umumnya processor jenis slot banyak ditemukan untuk komputer Pentium II dan Pentium III.
Sumber :

Arsitektur Komputer
Dalam bidang teknik komputer, 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.
Arsitektur komputer juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya.
Arsitektur komputer ini paling tidak mengandung 3 sub-kategori:
  • Set instruksi (ISA)
  • Arsitektur mikro dari ISA, dan
  • Sistem desain dari seluruh komponen dalam perangkat keras komputer ini.

Tingkatan Dalam Arsitektur Komputer
Ada sejumlah tingkatan dalam konstruksi dan organisasi sistem komputer. Perbedaan paling sederhana diantara tingkatan tersebut adalah perbedaan antara hardware dan software.
Tingkatan Dasar Arsitektur Komputer
Pada tingkatan ini Hardware sebagai tingkatan komputer yang paling bawah dan paling dasar, dimana pada hardware ini “layer” software ditambahkan. Software tersebut berada di atas hardware, menggunakannya dan mengontrolnya. Hardarwe ini mendukung software dengan memberikan atau menyediakan operasi yang diperlukan software.
Multilayerd Machine
Tingkatan dasar arsitektur komputer kemudian dikembangkan dengan memandang sistem komputer keseluruhan sebagai “multilayered machine” yang terdiri dari beberapa layer software di atas beberapa layer hardware.
  1. CPU (Central processing Unit), yang mengendalikan semua unit sistem komputer yang lain dan mengubah input menjadi output.
  2. Unit Input, memasukkan data ke dalam primary storage
  3. Secondary storage (penyimpanan sekunder), menyediakan tempat untuk menyimpan program dan data saat tidak digunakan
  4. Unit Output, mencatat hasil pengolahan

Peralatan Input
Perangkat input merupakan peralatan yang dapat digunakan untuk menerima data yang akan diolah ke dalam komputer. Perangkat ini yang digunakan oleh pengguna untuk melakukan interaksi dengan komputer agar komputer melaksanakan perintah yang diberikan oleh penggunanya. Prinsip kerja yang dilakukan perangkat input adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang dipahami oleh komputer (machine readable form), ini berarti mengubahkan perintah dalam bentuk yang dipahami oleh manusia kepada data yang dimengerti oleh komputer yaitu dengan kode-kode binary (binary encoded information).
Pemrosesan Pusat dan Penyimpanan Sekunder
CPU atau satuan merupakan tempat pemrosesan instruksi-instruksi program. Pada komputer mikro, processor ini disebut  microprocessor. CPU terdiri dari dua bagian utama, yaitu unit kendali ( control unit) dan unit Aritmatika dan logika (arithmethic logic unit). Disamping dua bagian utama tersebut, CPU mempunyai beberapa simpanan yang berukuran kecil yang disebut register.
Penyimpanan sekunder (secondary storage)
Penyimpanan sekunder (juga dikenal sebagai memori eksternal atau penyimpanan tambahan), berbeda dari penyimpanan utama dalam hal itu tidak langsung dapat diakses oleh CPU. Komputer biasanya menggunakan input / saluran output untuk mengakses penyimpanan sekunder dan transfer data yang diinginkan dengan menggunakan daerah menengah dalam penyimpanan utama. Penyimpanan sekunder tidak kehilangan data bila perangkat dimatikan-itu adalah non-volatile. Per unit, itu biasanya juga dua lipat lebih murah dari penyimpanan utama. Akibatnya, sistem komputer modern biasanya memiliki dua perintah besarnya lebih penyimpanan sekunder dari penyimpanan primer dan data disimpan untuk waktu yang lebih lama disana.
 Peralatan Output
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.
Peralatan output dapat berupa:
  • Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
  • Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan imagepada media lunak yang berupa sinyal elektronik.
  • Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.
Sumber :

Desain CPU

Processor merupakan pengolah utama dari komputer, dan merupakan bagian dari Central Processing Unit(CPU). Melakukan proses data dengan berbagai perangkat pendukung. Alat ini digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas. Oleh karena itu processor menjadi tolok ukur setiap komputer. Beberapa processor yang terkemuka adalah produk-produk Intel, AMD, Celleron dan lain-lain.

Processor atau yang lebih dikenal dengan sebutan CPU (Central Processing Unit), merupakan bagian dari komputer yang berfungsi sebagai pusat untuk memproses segala sesuatu yang akan dilakukan oleh komputer. Boleh dikatakan bahwa processor merupakan otak dari sebuah komputer. Apapun aktivitas yang dilakukan oleh komputer, yang memprosesnya adalah processor.

Fungsi sebuah processor dalam komputer sangatlah penting, karena processor merupakan pusat untuk mengontrol dan memproses kerja sebuah komputer. Sebagai contoh fungsi dari processor adalah ketika Anda hendak menjalankan sebuah aplikasi seperti memutar lagu pada sebuah player seperti Winamp. Pertama-tama tentunya Anda akan mengklik icon Winamp untuk memainkan lagu yang Anda inginkan. Ketika Anda klik Winamp, mouse memberikan sinyal kepada komputer Anda melalui kabel mouse menuju mainboard Anda. Kemudian mainboard melalui jalur khusus, sinyal tersebut diteruskan melalui sebuah jalur BUS yang akan menuju ke Memori Utama, setelah diregister di memori utama, baru kemudian diteruskan menuju Processor untuk diolah sinyal yang dikirimkan tersebut. Setelah processor memproses sinyal tersebut (pengecekan request sinyal tersebut dapat dipenuhi atau tidak), processor akan mengirimkan sinyal kembali kepada komponen-komponen lainnya yang diperlukan untuk menjalankan program Winamp tersebut (seperti harddisk, memory dan sebagainya). Barulah program Winamp akan tampil di monitor Anda.

Processor hanya dapat mengenali instruksi dengan notasi bilangan Biner (ex.01010001010). Merupakan notasi untuk perangkat elektronik dimana bilangan NOL (0) menandakan tidak terdapat sinyal listrik, dan bilangan SATU (1) menandakan adanya sinyal listrik. Tentunya urutan proses tersebut tidak dapat dibayangkan hanya sekejap mata saja, karena kecepatan processor yang dapat mencapai 3,2 GHz (3200 Juta getaran perdetik), jadi prosesnya sangat cepat hanya sepersekian mili detik saja.
Prosesor berfungsi seperti kalkulator, hanya saja dengan kemampuan pemrosesan data yang jauh lebih besar. Fungsi utamanya adalah melakukan operasi aritmatika dan logika terhadap data.
Data tersebut diambil dari memori atau diperoleh dari alat input yang dioperasikan oleh operator seperti papan ketik (keyboard), mouse dan lainnya. Kerja prosesor ini dikontrol oleh sekumpulan instruksi software. Software tersebut diperoleh atau dibaca dari media penyimpan seperti harddisk, disket, CD, dan lainnya. Kemudian instruksi-instruksi tadi disimpan dalam RAM. Setiap instruksi diberi alamat unik yang disebut alamat memori. Untuk selanjutnya, processor akan mengakses data-data yang ada pada RAM, dengan cara menentukan alamat data yang dikehendaki
Unit Processor berfungsi sebagai "otak" dan "Badan" dari sistem komputer yang bertugas memproses instruksi program, menghubungkan serta mengatur lalu lintas data pada seluruh sistem.

Komponen penyusun unit processor terdiri atas:
  1. Processor
  2. Motherboard
  3. Memory
  4. Power Supply
  5. Casing

Processor atau CPU (Central Processing Unit) merupakan otak dari komputer yang melakukan pemerosesan dan operasi perhitungan dan logika terhadap instruksi program yang diberikan ke komputer.
Chip processor dibuat dari keping silikon murni sebesar kuku jari berisi rangkaian terintegrasi dari ribuan hingga jutaan transistor yang mengimplementasikan fungsi dari processor. Rangkaian processor dihubungkan dengan kaki-kaki yang terdapat di bawah chip untuk jalur komunikasi sinyal masuk dan keluar dari rangkaian.

Kinerja dari setiap jenis processor bervariasi dan dipengaruhi oleh faktor-faktor berikut:
  • Kecepatan Clock
  • Lebar register/data bus internal
  • Lebar data bus eksternal
  • Kapasitas cache memori (L1 dan L2)

Menurut sejarah, processor telah banyak mengalami revolusi/perubahan, baik dari segi bentuk/arsitektur, fungsi dan juga kecepatan. Dari jaman processor keluaran Intel yaitu processor Intel 4004 (Generasi awal tapi bukan yang pertama) hingga saat ini yaitu Intel Core 2 Processor. Perbedaannya tentu sangat-sangat jauh baik dari segi bentuk, fungsi dan kecepatan. Intel 4004 memiliki clock speed sebesar 108KHz, jumlah transistor 2300, belum terdapat cache, bus speed 108 KHz, dan berfungsi untuk manipulasi aritmatika dasar. Processor Intel Core 2 Processor memiliki clock speed sebesar 3,2 GHz, jumlah transistor sebanyak 820 juta, cache sebesar 12 MB, bus speed 1600 MHz, dan memiliki fungsi yang sangat kompleks untuk multimedia, komputasi dan sebagainya (fungsi komputer saat ini).

Definisi Processor

Merupakan bagian utama dari computer karena processor berfungsi untuk mengatur semua aktivitas yang ada pada computer. Satuan kecepatan dari processor adalah MHz ( Mega Hertz ) atau GHz ( 1000 MegaHertz ), dimana semakin besar nilainya semakin cepat proses eksekusi pada computer. Processor dapat kita analogikan sebagai otak dari computer. Hardware ini berfungsi untuk melakukan segala macam proses dalam system computer. Sehingga processor sangat menentukan kecepatan dan performa system computer.

Cara Kerja Processor

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices. di Program Counter.

Langkah-langkah yang dilakukan dalam suatu proses desain CPU:
  1. Mendeskripsikan RTN : pada tahap ini setiap instruction set didefinisikan secara jelas dengan menggunakan register transfer notation.
  2. Menentukan Data Path : koleksi/kumpulan register tambahan dan register penghubung yang diperlukan dalam proses pengeksekusian suatu instruksi, yang termasuk dalam instruction set, secara keseluruhan. Pada tahap menentukan data path ini, penggunaan RTN akan sangat diperlukan untuk menjelaskan langkah-langkah yang terjadi dalam proses pengeksekusian masing-masing instruksi. Pada tahap ini kita juga harus membuat asumsi tentang bagaimana komponen-komponen hardware bekerja. Kumpulan asumsi-asumsi yang dibuat akan dijadikan spesifikasi bagi disain logika dari perangkat keras data path.
  3. Mendesain perangkat keras, sesuai dengan spesifikasi data path : untuk melaksanakan tahap ini, desainer harus memikirkan sinyal-sinyal kontrol yang harus di-generate agar suatu langkah dalam urutan proses pengeksekusian suatu instruksi dapat berlangsung, seperti "strobe" untuk me-load register ke bus, dsb.
  4. Membuat Control Unit : membuat Control Unit yang akan menghasilkan dan mengatur sinyal-sinyal kontrol dalam urutan yang tepat sehingga langkah-langkah dalam urutan proses pengeksekusian instruksi dapat berlangsung dengan benar.
Hal yang harus dipahami dan diingat dengan baik dalam keseluruhan proses desain CPU adalah bahwa setiap langkah menghasilkan spesifikasi-spesifikasi yang harus dipenuhi pada langkah selanjutnya.

Konsep awal yang sangat penting adalah perbedaan antara abstract RTN dan concreate RTN:
  • Abstarct RTN menjelaskan perubahan pada programmer-visible registers yang disebabkan oleh pengeksekusian suatu instruksi.
  • Concreate RTN menjelaskan secara detail langkah-langkah register transfer yang terjadi pada data path sehingga menghasilkan perubahan pada programmer-visible registers secara keseluruhan.
Unit kerja dari suatu abstract RTN adalah eksekusi instruksi, sementara langkah-langkah pada concreate RTN berhubungan dengan pulsa clock prosesor.

Sumber :

Senin, 02 Juni 2014

Konsep CISC (Complex Instruction Set Computing)

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
  1. Arsitektur komputer dengan kumpulan perintah yang sederhana (Reduced Instruction Set Computer = RISC)
  2. Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set Instruction Computer = CISC)
Complex instruction set computing atau Complex Instruction-Set Computer (CISC; "Kumpulan instruksi komputasi kompleks") 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.
Contoh-contoh prosesor CISC adalah System/360, VAXPDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.

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

Definisi CISC
CISC adalah singkatan dari Complex Intruction Set Computer dimana prosessor tersebut memiliki set instruksi yang kompleks dan lengkap. Contoh-contoh prosesor CISC adalah System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.CISC memang memiliki instruksi yang complex dan memang dirasa berpengaruh pada kinerjanya yang lebih lambat. CISC menawarkan set intruksi yang powerful, kuat, tangguh, maka tak heran jika CISC memang hanya mengenal bahasa asembly yang sebenarnya ia tujukan bagi para programmer. Oleh karena itu ,CISC hanya memerlukan sedikit instruksi untuk berjalan.
Sistem mikrokontroler selalu terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Perangkat lunak ini merupakan deretan perintah atau instruksi yang dijalankan oleh prosesor secara sekuensial. Instruksi itu sendiri sebenarnya adalah bit-bit logik 1 atau 0 (biner) yang ada di memori program. Angka-angka biner ini jika lebarnya 8 bit disebut byte dan jika 16 bit disebut word. Deretan logik biner inilah yang dibaca oleh prosesor sebagai perintah atau instruksi. Supaya lebih singkat, angka biner itu biasanya direpresentasikan dengan bilangan hexa (HEX). Tetapi bagi manusia, menulis program dengan angka biner atau hexa sungguh merepotkan. Sehingga dibuatlah bahasa assembler yang direpresentasikan dengan penyingkatan kata-kata yang cukup dimengerti oleh manusia.
Jadi, CISC 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, tetapi konsep ini menyulitkan dalam penyusunan compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin.
Sumber :

Konsep RISC (Reduced Instruction Set Computing)


Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
  1. Arsitektur komputer dengan kumpulan perintah yang sederhana (Reduced Instruction Set Computer = RISC)
  2. Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set Instruction Computer = CISC)

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.

Definisi RISC
ISC, yang jika diterjemahkan berarti "Komputasi Kumpulan Instruksi yang Disederhanakan", 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.
Selain RISC, desain Central Processing Unit yang lain adalah CISC (Complex Instruction Set Computing), yang jika diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi Kumpulan Instruksi yang kompleks atau rumit.

Elemen Penting RISC
Beberapa elemen penting pada RISC :
  1. Set instruksi yang terbatas dan sederhana
  2. Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
  3. Penekanan pada pengoptimalan pipeline instruksi.

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.

Ciri-ciri Prosesor RISC
Sebenarnya, prosesor RISC tidak sekedar memiliki instruksi-instruksi yang sedikit dan sederhana seperti namanya tetapi juga mencakup banyak ciri-ciri lain yang tidak semuanya disepakati oleh kalangan perancang sendiri. Meskipun demikian, banyak yang telah bersepakat bahwa prosesor memiliki ciri-ciri tertentu untuk membedakannya dengan prosesor bukan RISC.
Pertama, prosesor RISC mengeksekusi instruksi pada setiap satu siklus detak (Robinson, 1987 : 144; Johnson, 1987 : 153). Hasil penelitihan IBM (International Business Machine) menunjukkan bahwa frekuensi penggunaan instruksi-instruksi kompleks hasil kompilasi sangat kecil dibanding dengan instruksi-instruksi sederhana. Dengan perancangan yang baik instruksi sederhana dapat dibuat agar bisa dieksekusi dalam satu siklus detak. Ini tidak berarti bahwa dengan sendirinya prosesor RISC mengeksekusi program secara lebih cepat dibanding prosesor CISC. Analogi sederhananya adalah bahwa kecepatan putar motor (putaran per menit) yang makin tinggi pada kendaraan tidaklah berarti bahwa jarak yang ditempuh kendaraan (meter per menit) tersebut menjadi lebih jauh, karena jarak tempuh masih bergantung pada perbandingan roda gigi yang dipakai.
Kedua, instruksi pada prosesor RISC memiliki format-tetap, sehingga rangkaian pengontrol instruksi menjadi lebih sederhana dan ini berarti menghemat penggunaan luasan keping semikonduktor. Bila prosesor CISC (misalnya Motorola 68000 atau Zilog Z8000) memanfaatkan 50% - 60% dari luas keping semikonduktor untuk rangkaian pengontrolnya, prosesor RISC hanya memerlukan 6%-10%. Eksekusi instruksi menjadi lebih cepat karena rangkaian menjadi lebih sederhana (Robinson, 1987 : 144; Jonhson 1987 : 153).
Ketiga, instruksi yang berhubungan dengan memori hanya instruksi isi (load) dan instruksi simpan (store) , instruksi lain dilakukan dalam register internal prosesor. Cara ini menyederhanakan mode pengalamatan (addressing) dan memudahkan pengulangan kembali instruksi untuk kondisi-kondisi khusus yang dikehendaki (Robinson, 1987 : 144; Jonhson, 1987: 153). Dengan ini pula perancang lebih menitikberatkan implementasi lebih banyak register dalam cip prosesor. Dalam prosesor RISC, 100 buah register atau lebih adalah hal yang biasa. Manipulasi data yang terjadi pada register yang umumnya lebih cepat daripada dalam memori menyebabkan prosesor RISC berpotensi beroperasi lebih cepat.
Keempat, prosesor RISC memerlukan waktu kompilasi yang lebih lama daripada prosesor RISC. Karena sedikitnya pilihan instruksi dan mode pengalamatan yang dimiliki prosesor RISC, maka diperlukan optimalisasi perancangan kompilator agar mampu menyusun urutan instruksi-instruksi sederhana secara efisien dan sesuai dengan bahasa pemrograman yang dipilih. Keterkaitan desain prosesor RISC dengan bahasa pemrograman memungkinkan dirancangnya kompilator yang dioptimasi untuk bahasa target tersebut.

Fase Awal Perkembangan Prosesor RISC
Ide Dasar
Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh Von Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar berfungsi atau karena frekuensi penggunaannya cukup tinggi (Heudin, 1992 : 18). Jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.
Hal yang sama dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun 1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa penggunaan register sebagai tempat manipulasi data menyebabkan rancangan instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak membuat instruksi-instruksi yang merujuk ke memori daripada ke register seperti rancangan Seymour Cray. Sampai akhir tahun 1980-an komputer-komputer rancangan Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi.
Pada tahun 1975, kelompok peneliti di IBM di bawah pimpinan George Radin, memulai merancang komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah meneliti frekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk memperoleh prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor bila instruksi tersebut dapat dibuat dari instruksi-instruksi sederhana yang telah dimilikinya. Kelompok IBM ini menghasilkan komputer 801 yang menggunakan instruksi format-tetap dan dapat dieksekusi dalam satu siklus detak (Robinson, 1987 : 143). Komputer 801 yang dibuat dengan teknologi ECL (emitter coupled logic) , 32 buah register, chace terpisah untuk memori dan instruksi ini diselesaikan pada tahun 1979.

Prosesor RISC Berkeley
Kelompok David Patterson dari Universitas California memulai proyek RISC pada tahun 1980 dengan tujuan menghindari kecenderungan perancangan prosesor yang perangkat instruksinya semakin kompleks sehingga memerlukan perancangan rangkaian kontrol yang semakin rumit dari waktu ke waktu. Hipotesis yang diajukan adalah bahwa implementasi instruksi yang kompleks ke dalam perangkat instruksi prosesor justru berdampak negatif pemakaian instruksi tersebut dalam kebanyakan program hasil komplikasi (Heudin, 1992 : 22). Apalagi, instruksi kompleks itu pada dasarnya dapat disusun dari instruksi-instruksi sederhana yang telah dimiliki.
Rancangan prosesor RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena popularitasnya dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2 mikron. Hasilnya adalah sebuah cip rangkaian terpadu dengan 44.500 buah transistor (Heudin, 1992 : 230). Cip RISC-1 selesai dibuat pada musim panas dengan kecepatan eksekusi 2 mikrosekon per instruksi (pada frekuensi detak 1,5 MHz), 4 kali lebih lambat dari kecepatan yang ditargetkan. Tidak tercapainya target itu disebabkan terjadinya sedikit kesalahan perancangan, meskipun kemudian dapat diatasi dengan memodifikasi rancangan assemblernya.
Berdasarkan hasil evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan mengandung kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa C lebih cepat dari beberapa prosesor CISC, yakni MC68000, Z8002, VAX-11/780, dan PDP-11/70.
Hampir bersamaan dengan proses fabrikasi RISC-1, tim Berkeley lain mulai bekerja untuk merancang RISC-2. Cip yang dihasilkan tidak lagi mengandung kesalahan sehingga mencapai kecepatan operasi yang ditargetkan, 330 nanosekon tiap instruksi (Heudin, 1992 : 27-28).
RISC-2 hanya memerlukan luas cip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih banyak register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan mikroarsitektur perangkat kerasnya. RISC-2 memiliki 138 buah register yang disusun sebagai 8 jendela register, dibandingkan dengan 78 buah register yang disusun sebagai 6 jendela register. Selain itu, juga terdapat perbedaan dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki alur-pipa dua tingkat sederhana dengan penjeputan (fetch) dan eksekusi instruksi yang dibuat tumpang-tindih, sedangkan RISC-2 memiliki 3 buah alur-pipa yang masing-masing untuk penjemputan instruksi, pembacaan operan dan eksekusinya, dan penulisan kembali hasilnya ke dalam register.
Sukses kedua proyek memacu tim Berkeley untuk mengerjakan proyek SOAR (Smalltalk on RISC) yang dimulai pada tahun 1983. Tujuan proyek ini adalah untuk menjawab pertanyaan apakah arsitektur RISC bekerja baik dengan bahasa pemrograman Smalltalk? Jadi proyek SOAR ini merupakan upaya pertama menggunakan pendekatan RISC untuk pemrosesan simbolik.
Versi pertama mikroprosesor SOAR diimplementasikan dengan menggunakan teknologi NMOS 4 mikron. Cip yang dihasilkan memiliki 35.700 buah transistor dan bekerja dengan kecepatan 300 nanosekon tiap instruksi. Versi kedua yang dirancang pada 1984-1985 menggunakan teknologi CMOS (Complementary Metal-oxide Semiconductor). Beberapa prosesor berarsitektur RISC banyak yang dipengaruhi oleh rancangan mikroprosesor SOAR, misalnya mikroprosesor SPARC (dari Sun Microsystems Inc.) dan KIM20 yang dirancang Departemen Pertahanan Perancis.
Mengikuti proyek SOAR, kelompok Berkeley kemudian mengerjakan proyek SPUR (Symbolic Processing Using RISC) yang dimulai tahun 1985. Proyek SPUR bertujuan untuk merancang stasiun-kerja (workstation) multiprosesor sebagai bagian dari riset tentang pemrosesan paralel (Robinson, 1987 : 145). Selain itu, proyek SPUR juga melakukan penelitian tentang rangkaian terpadu, arsitektur komputer, sistem operasi, dan bahasa pemrograman. Sistem prosesor SPUR dibangun dengan 6-12 prosesor berkinerja tinggi yang dihubungkan satu sama lain, serta dihubungkan dengan memori dan peranti masukan/keluaran melalui Nubus yang telah dimodifikasi. Unjuk kerja sistem diperbaiki dengan menambahkan chace sebesar 128 kilobyte pada tiap prosesor untuk mengurangi kepadatan lalu lintas data pada bus dan mengefektifkan pengaksesan memori (Heudin, 1992 : 31).

Prosesor RISC Stanford
Sementara proyek RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas California, pada tahun 1981 itu juga John Hennessy dari Universitas Stanford mengerjakan proyek MIPS (Microprocessor without Interlocked Pipeline Stages) . Pengalaman riset tentang optimasi kompilator digabungkan dengan teknologi perangkat keras RISC merupakan kunci utama proyek MIPS ini. Tujuan utamanya adalah menghasilkan cip mikroprosesor serbaguna 32-bit yang dirancang untuk mengeksekusi secara efisien kode-kode hasil kompilasi (Heudin, 1992: 34).
Perangkat instruksi prosesor MIPS terdiri atas 31 buah instruksi yang dibagi menjadi 4 kelompok, yakni kelompok instruksi isi dan simpan, kelompok instruksi operasi aritmetika dan logika, kelompok instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan lima tingkat alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga kode yang dieksekusi harus benar-benar bebas dari konflik antar alur-pipa.
Direalisasi dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita luas cip dua kali lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS memiliki 16 register dibandingkan dengan 138 buah register pada RISC-2. Hal ini bukan masalah penting karena MIPS memang dirancang untuk mebebankan kerumitan perangkat keras ke dalam perangkat lunak sehingga menghasilkan perangkat keras yang jauh lebih sederhana dan lebih efisien. Perangkat keras yang sederhana akan mempersingkat waktu perancangan, implementasi, dan perbaikan bila terjadi kesalahan.
Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan merancang mikroprosesor yang lebih canggih, yakni MIPS-X. Perancangan dilakukan oleh tim riset MIPS sebelumnya ditambah 6 orang mahasiswa, dan dimulai pada musim panas tahun 1984. Rancangan MIPS-X banyak diperbaruhi oleh MIPS dan RISC-2 dengan beberapa perbedaan utama :
  1. Semua instruksi MIPS-X merupakan operasi tunggal dan dieksekusi dalam satu siklus detak
  2. Semua instruksi MIPS-X memiliki format tetap dengan panjang instruksi 32-bit
  3. MIPS-X dilengkapi pendukung koprosesor yang efisien dan sederhana
  4. MIPS-X dilengkapi pendukung untuk digunakan sebagai prosesor dasar dalam sistem multiprosesor memori-bersama (shared memory)
  5. MIPS-X dilengkapi chace instruksi dalam-cip yang cukup besar (2 kilobyte)
  6. MIPS-X difabrikasi dengan teknologi CMOS 2 mikron.
Sama seperti MIPS, MIPS-X merupakan prosesor dengan alur-pipa tanpa saling-kunci (interlock) perangkat keras. Perangkat lunaknya dirancang untuk mengikuti pewaktuan instruksi agar tidak terjadi konflik antar alur-pipa (Heudin, 1992 : 36-37).
Cip pertama yang dihasilkan bekerja baik dengan detak 16 MHz, lebih rendah dari target yang dicanangkan setinggi 20 MHz, akibat tidak sempurnanya instruksi percabangan. Versi 25 MHz dibuat dengan menggunakan teknologi CMOS 1,6 mikron. Ditambah dengan chace yang diintregrasikan pada cip prosesor, MIPS-X berisi hampir 150.000 transistor di atas keping seluas 8 x 8,5 mm (Heudin, 1992 : 38).

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