RISC
(Reduced Instruction Set Computer)
RISC
adalah singkatan dari Reduced Instruction Set Computer yang artinya prosesor
tersebut memiliki set instruksi program yang lebih sedikit. Karena perbedaan
keduanya ada pada kata set instruksi yang kompleks atau sederhana (reduced).
Konsep RISC pertama kali dikembangkan oleh IBM pada era 1970-an. Komputer
pertama yang menggunakan RISC adalah komputer mini IBM 807 yang diperkenalkan
pada tahun 1980. Dewasa ini, RISC digunakan pada keluarga processor buatan
Motorola (PowerPC) dan SUN Microsystems (Sparc, UltraSparc).
RISC dikembangkan melalui seorang penelitinya yang bernama John Cocke, beliau
menyampaikan bahwa sebenarnya kekhasan dari komputer tidaklah menggunakan
banyak instruksi, namun yang dimilikinya adalah instruksi yang kompleks yang
dilakukan melalui rangkaian sirkuit.
Pada desain chip mikroprosesor jenis ini, pemroses diharapkan dapat
melaksanakan perintah-perintah yang dijalankannya secara cepat dan efisien
melalui penyediaan himpunan instruksi yang jumlahnya relatif sedikit, dengan
mengambil perintah-perintah yang sangat sederhana, akibatnya arsitektur RISC
membatasi jumlah instruksinya yang dipasang ke dalam mikroprosesor tetapi
mengoptimasi setiap instruksi sehingga dapat dilaksanakan dengan cepat.
Dengan demikian instruksi yang sederhana dapat dilaksanakan lebih cepat apabila
dibandingkan dengan mikroprosesor yang dirancang untuk menangan susunan
instruksi yang lebih luas.
Dengan demikian chip RISC hanya dapat memproses instruksi dalam jumlah
terbatas, tetapi instruksi ini dioptimalkan sehingga cepat dieksekusi. Meski
demikian, bila harus menangani tugas yang kompleks, instruksi harus dibagi
menjadi banyak kode mesin, terutama sebelum chip RISC dapat menanganinya.
Karena keterbatasan jumlah instruksi yang ada padanya, apabila terjadi
kesalahan dalam pemrosesan akan memudahkan dalam melacak kesalahan tersebut.
Beberapa elemen penting pada arsitektur RISC :
- Set instruksi yang terbatas dan sederhana
- Register general-purpose yang berjumlah banyak, atau penggunaan
- Teknologi kompiler untuk mengoptimalkan pemakaian registernya
- Penekanan pada pengoptimalan pipeline instruksi
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sebagai berikut:
- Operasi-operasi yang dilakukan: Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori
- Operand-operand yang digunakan: Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya
- Pengurutan eksekusi: Hal ini akan menentukan kontrol dan organisasi pipeline Implikasi
Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga buah
elemen yang menentukan karakter arsitektur RISC
- Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand
- Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien
- Ketiga, terdapat set instruksi yang disederhanakan (dikurangi)
Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan
merupakan solusi Reduced Instruction Set.
Ciri-ciri RISC :
- Instruksi berukuran tunggal Ukuran yang umum adalah 4 byte
- Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah
- Tidak terdapat pengalamatan tak langsung
- Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika (misalnya, penambahan dari memori, penambahan ke memori)
CISC
(Complex Intruction Set Computer)
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 sebenarn ya 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 sebenarnya tujuan utama dari arsitektur CISC adalah melaksanakan suatu
perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin.
Mikroprosesor
Mikroprosesor 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.
Arsitektur
Komputer
Arsitektur Komputer adalah sebuah ilmu untuk tujuan
perancangan sintem komputer. Tujuan seorang arsitek komputer adalah merancang
sebuah sistem dengan kinerja yang tinggi dengan biaya yang layak, memenuhi
persyaratan-persyaratan lainnya. “Arsitektur Komputer” memberikan berbagai
atribut pada sistem komputer yang dibutuhkan oleh seorang perancang software
sistem untuk mengembangkan suatu progaram.
Arsitektur komputer mengacu pada rancangan internal
dari rangkaian komputer. Termasuk di dalamnya jumlah dan tipe komponen yang
menampilkan kemampuan komputasi. Arsitektur komputer sangat tergantung pada
kegunaan komputer itu sendiri. Kecepatan pemrosesan diukur dari jumlah
instruksi yang dapat diproses oleh computer setiap detiknya, biasanya dalam
satuan million instruksi per detik (MIPS). Untuk mempermudah pengenalan
kecepatan pemrosesan sering dicantumkan berupa angka frekuensi, misalnya 233
MHz, 400 MHz, 533B MHz dan yang terbaru yang beredar di pasaran dikeluarkan
Intel adalah 3,2 GHz. Memori utama mengacu pada penyimpan internal komputer
sehingga bisa digunakan untuk mengakses dan menjalankan program. Memori utama
bisa mengakses dengan lebih baik jika ditopang dengan media penyimpanan yang
besar. Hal tersebut berkaitan dengan adanya virtual memory pada media
penyimpanan yang biasanya digunakan untuk pengaksesan suatu program (swap).
Pada jaman modern saat ini, hampir
semua komputer mengadopsi arsitektur yang dibuat oleh John von Neumann (1903-1957).
Kunci utama arsitektur von Neumann adalah unit pemrosesan sentral (CPU), yang memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal.
Kunci utama arsitektur von Neumann adalah unit pemrosesan sentral (CPU), yang memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal.
Pada dasarnya komputer arsitektur Von Neumann adalah
terdiri dari elemen sebagai berikut:
Terdapat 4 komponen utama yang saling berhubungan
satu sama lain, yaitu:
- Central Processing Unit (CPU): Bertugas untuk melakukan kontrol dari setiap operasi yang berjalan pada komputer, terkadang secara mudah CPU dapat dikatakan sebagai processor.
- Main memory: Penyimpanan data.
- I/O: Merupakan penghubung komponen komputer dengan lingkungan seperti keyboard, mouse yang digunakan oleh pengguna.
- System interconnection: Mekanisme yang memberikan layanan untuk berkomunikasi antara CPU, Main memory dan I/O. Contoh system interconnection adalah system bus.
Desain CPU
Langkah-langkah yang dilakukan dalam suatu proses
desain CPU:
- Mendeskripsikan RTN
Pada tahap ini setiap instruction set didefinisikan secara jelas
dengan menggunakan register transfer notation.
- Menentukan Data Path
Data path adalah 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.
- 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.
- 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.