Reduced Instruction Set Computer (RISC)
Complex Instruction Set Computer (CISC)


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

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1. Arsitektur komputer dengan kumpulan perintah yang rumit
(Complex Instruction Set Computer = CISC)
2. Arsitektur komputer dengan kumpulan perintah yang sederhana
(Reduced Instruction Set Computer = RISC)
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 kompiler
bahasa pemrograman tingkat tinggi.
Dalam CISC banyak terdapat perintah bahasa mesin.
RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam
penyusunan kompiler yang pada akhirnya dapat memaksimumkan
kinerja program yang ditulis dalam bahasa tingkat tinggi.

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.


Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat
tentang karakteristik eksekusi instruksi.

Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat
tentang karakteristik eksekusi instruksi.

Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.: 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. Eksekusi Instruksi
Waktu eksekusi dapat dirumuskan sbb.:

Waktu eksekusi = N x S x T

Dengan
N adalah jumlah perintah
S adalah jumlah rata-rata langkah per perintah
T adalah waktu yang diperlukan untuk melaksanakan satu langkah

Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari
ketiga varisbel di atas.
Arsitektur CISC berusaha menurunkan nilai N, sedangkan
Arsitektur RISC berusaha menurunkan nilai S dan T. o Proses pipeline dapat digunakan untuk membuat nilai efektif S
mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam
satu siklus waktu CPU.
o Nilai T dapat diturunkan dengan merancang perintah yang sederhana.

Operand
Penelitian yang dilakukan Patterson terhadap frekuensi dinamik
terjadinya kelas-kelas variabel dalam program pascal dan C
menunjukkan bahwa mayoritas referensi menuju ke variable-variable
skalar. Lebih dari 80% skalar bersifat variabel lokal. Penelitian tersebut menyatakan bahwa jenis arsitektur berpengaruh pada
kecepatan pengaksesan operand.
Procedure Calls Prosedur call dan return merupakan aspek yang penting dalam program-
program HLL. Tabel 4.2 menunjukkan bahwa prosedur call dan return merupakan
operasi yang paling banyak membutuhkan waktu dalam program-
program yang dikompilasi. Dua aspek yang lain adalah jumlah parameter dan variabel yang
berkaitan dengan prosedur, dan kedalaman pensarangan (nesting).

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.

Penggunaan File Register Besar
Terdapat statement assignment yang jumlahnya banyak dalam program-
program HLL, dan banyak diantaranya berupa statement assignment

sederhana seperti A = B.
Di samping itu, terdapat pula akses operand per statement HLL dalam

jumlah yang cukup besar.
Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa
sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat

mungkin kita memerlukan penyimpanan register yang besar.
Alasan diperlukannya penyimpanan register adalah register merupakan
perangkat penyimpanan yang paling cepat, yang lebih cepat

dibandingkan dengan memori utama dan memori cache.
Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu

berdasarkan perangkat lunak dan perangkat keras.
Pendekatan perangkat lunak mengandalkan kompiler untuk
memaksimalkan pemakaian register. Pendakatan ini membutuhkan

algoritma analisis program yang canggih.
Pendekatan perangkat keras dilakukan hanya dengan
memperbanyak jumlah register sehingga akan lebih banyak
variabel yang dapat ditampung di dalam register dalam periode
waktu yang lebih lama.

Register Windows
Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap.
Register-register parameter
menampung parameter-parameter yang dilewatkan dari prosedur.
Register-register lokal
Digunakan untuk variable lokal, setelah di-assign oleh kompiler. Register-register tenporer
Digunakan untuk pertukaran parameter. verlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa
erpindahan aktual data.

iabel-variabel Globaleknik Register Windows memberikan organisasi yang efisien untuk
enyimpanan variable skalar lokal di dalam register. kan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan
ariabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya,
ariabel COMMON dalam FORTRAN). erdapat dua pilihan untuk memenuhi hal tersebut. Pertama,
Variabel-variabel yang dideklarasikan sebagai global pada HLL
dapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang
sering mengakses variabel-variabel global, teknik tersebut tidaklah
efisien. Alternatifnya adalah melibatkan kumpulan register global di dalam
CPU. Register-register ini harus memiliki jumlah yang tetap dan
dapat dipakai oleh semua prosedur.

ngapa CISC?mlah instruksi yang banyak dan instruksi yang lebih kompleks. ua alasan utama yang menjadi motivasi kecenderungan ini : adanya
einginan untuk menyederhanakan kompiler dan keinginan untuk
eningkatkan kinerja. lasan penting lainnya adalah harapan bahwa CISC akan menghasilkan yang terbaru, yang dikenal sebagai Pentium, memiliki beberapa
karakteristik RISC.

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 aritmetika (misalnya, penambahan dari memori, penambahan ke memori).

Prosesor Superscalar

Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel. Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini. Standar pipeline yang digunakan adalah untuk pengolahan bilangan matematika integer (bilangan bulat, bilangan yang tidak memiliki pecahan), kebanyakan CPU juga memiliki kemampuan untuk pengolahan untuk data floating point (bilangan berkoma). Pipeline yang mengolah integer dapat juga digunakan untuk mengolah data bertipe floating point ini, namun untuk aplikasi tertentu, terutama untuk aplikasi keperluan ilmiah CPU yang memiliki kemampuan pengolahan floating point dapat meningkatkan kecepatan prosesnya secara dramatis. Peristiwa menarik yang bisa dilakukan dengan metoda superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan buat program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankankannya. Program yang terdiri dari kelompok perintah bercabang ini sering digunakan dalam pemrograman. Contohnya dalam menentukan aktifitas yang dilakukan oleh suatu sistem berdasarkan umur seseorang yang sedang diolahnya, katakanlah jika umur yang bersangkutan lebih dari 18 tahun, maka akan diberlakukan instruksi yang berhubungan dengan umur tersebut, anggaplah seseorang tersebut dianggap telah dewasa, sedangkan untuk kondisi lainnya dianggap belum dewasa. Tentu perlakuannya akan dibedakan sesuai dengan sistem yang sedang dijalankan. Lalu apa yang dilakukan oleh CPU untuk hal ini? Komputer akan membandingkan nilai umur data yang diperolehnya dengan 18 tahun sehingga komputer dapat menentukan langkah dan sikap yang harus diambilnya berdasarkan hasil perbandingan tersebut. Sikap yang diambil tentu akan diambil berdasarkan pencabangan yang ada. Pada CPU yang mendukung perintah pencabangan ini, CPU membutuhkan lumayan banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya. Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut. Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya.. Dalam hal speculative execution, artinya CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer. Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya, sedangkan jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut. Teknik yang digunakan untuk pipeline dan superscalar ini bisa melaksanakan branch prediction dan speculative execution tentunya membutuhkan ekstra transistor yang tidak sedikit untuk hal tersebut. Sebagai perbandingan, komputer yang membangkitkan pemrosesan pada PC pertama yang dikeluarkan oleh IBM pada mesin 8088 memiliki sekitar 29.000 transistor. Sedangkan pada mesin Pentium III, dengan teknologi superscalar dan superpipeline, mendukung branch prediction, speculative execution serta berbagai kemampuan lainnya memiliki sekitar 7,5 juta transistor. Beberapa CPU terkini lainnya seperti HP 8500 memiliki sekitar 140 juta transistor.

0 Responses so far.

Posting Komentar