Karakteristik RISC & Arsitektur Set Instruksi, Mode Pengalamatan dan Indeks Otomatis
RISC (Reduce Instruction Set Computer)
RISC Reduced Instruction Set Computingatau "Komputasi set instruksi
yang disederhanakan. 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 :
1. Memudahkan pekerjaan kompiler
2. Meningkatkan efisiensie ksekusi, karena operasi yang kompleks dapat diimplementasikan didalam mikrokode.
3. Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.
RISC mempunyai karakteristik :
1. One cycle execution time : satu putaran eksekusi.
2.
Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per
instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan
setiap instruksi pada CPU.
3.
Pipelining adalah sebuah teknik yang memungkinkan dapat melakukan
eksekusi secara simultan. Sehingga proses instruksi lebih efiisien
4. Large number of registers: Jumlah register yang sangat banyak
5.
RISC didesain dimaksudkan untuk dapat menampung jumlah register yang
sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang
berlebih dengan memory.
6. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas dibandingkan dengan CISC.
7.
RISC memiliki keunggulan dalam hal kecepatannya sehingga banyak
digunakan untuk aplikasi-aplikasi yang memerlukan kalkulasi secara
intensif.
Karakteristik khas yang dimiliki arsitektur set instruksi RISC ialah :
1. Siklus mesin.
Krakteristik ini ditentukan oleh waktu yang digunakan untuk mengambil
dua buah operand dari register, melakukan operasi ALU, dan menyimpan
hasil operasinya kedalam register, dengan demikian instruksi mesin RISC
tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat
mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi
sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode
atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi
seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang
lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram
saat eksekusi instruksi berlangsung.
2. Operasi.
Operasi ini terbentuk dari register-ke register yang hanya terdiri dari
operasi load dan store yang mengakses memori . Fitur rancangan ini
menyederhanakan set instruksi sehingga menyederhanakan pula control
unit. Keuntungan lainnya memungkinkan optimasi pemakaian register
sehingga operand yang sering diakses akan tetap ada di penyimpan
berkecepatan tinggi. Penekanan pada operasi register ke register
merupakan hal yang unik bagi perancangan RISC.
3. Penggunaan mode pengalamatan sederhan.
Hampir sama dengan instruksi menggunakan pengalamatan register.
Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat
dimasukkan selain itu banyak mode kompleks dapat disintesis pada
perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan
sel instruksi dan unit kontrol.
4. Penggunaan format-format instruksi sederhana.
Panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur
ini memiliki beberapa kelebihan karena dengan menggunakan field yang
tetap pendekodean opcode dan pengaksesan operand register dapat
dilakukan secara bersama-sama.
Contoh computer yang menggunakan arsitektur RISC antara lain :
» mikroprosesor Intel 960
» Itanium (IA64) dari Intel Corporation
» Alpha AXP dari DEC, R4x00 dari MIPS Corporation
» PowerPC dan Arsitektur POWER dari International Business Machine
RISC juga umum dipakai pada :
» Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale)
» SPARC dan UltraSPARC dari Sun Microsystems
» PA-RISC dari Hewlett-Packard
» mini IBM 807
» Motorola (PowerPC)
» SUN Microsystems (Sparc, UltraSparc).
MODE PENGALAMATAN
1. Immediate Addressing (Pengalamatan Segera)
Suatu proses penyalinan data yang berukuran byte atau word langsung ke
dalam register tujuan. Data yang dimaksud di sini adalah suatu nilai
atau bilangan tertentu atau bisa juga berupa sebuah konstanta
(didefinisikan dengan instruksi EQU). Perlu dicatat bahwa data segera
merupakan data konstan, sedangkan data yang dipindahkan dari register
adalah data berubah (variable).
Contoh :
MOV AL,11h menyalin bilangan 11h ke dalam register AL
MOV AX,1234h menyalin 1234h ke dalam register AX
A EQU 25h mendefinisikan konstanta A
MOV AX,A menyalin 25h ke dalam register AX
MOV AX,1234h menyalin 1234h ke dalam register AX
A EQU 25h mendefinisikan konstanta A
MOV AX,A menyalin 25h ke dalam register AX
Huruf ‘h’ ditambahkan dibelakang bilangan untuk menunjukkan bahwa itu
adalah bilangan heksadesimal (bedakan dengan penulisan angka di debug).
Ketika bilangan heksadesimal dimulai dengan suatu huruf, assembler
memerlukan data yang dimulai dengan angka ‘0’, jika tidak (diberi angka
‘0’) maka assembler akan menganggap bilangan tersebut sebagai variable,
jadi kompiler akan mengeluarkan pesan kesalahan.
Contoh :
MOV AX,FFh contoh yang salah
MOV AX,0FFh ini yang benar
MOV AX,0FFh ini yang benar
Untuk karakter atau kode – kode ASCII dapat direpresentasikan dalam
bentuk immediate jika data ASCII ditutup dengan tanda apostrof (‘).
Contoh :
MOV AL,’A’ menyalin huruf ‘A’ (41h) ke dalam register AL
Yang terlarang dalam mode pengalamatan segera adalah memberikan nilai
untuk segmen register (SS, CS, DS, ES). Untuk memecahkan hal ini, kita
bisa menggunakan register general purpose (AX, BX, CX, DX) sebagai
perantara.
Contoh :
MOV ES,0FFh salah, yang benar ada 2 langkah di bawah ini
MOV AX,0FFh disalin ke AX dulu
MOV ES,AX baru kemudian disalin ke ES
MOV AX,0FFh disalin ke AX dulu
MOV ES,AX baru kemudian disalin ke ES
2. Direct Addressing (Pengalamatan Langsung)
Suatu proses penyalinan data pada register dan suatu alamat efektif
(Effective Address, Alamat ini disimpan pada byte berikut setelah opcode
instruksi).
Contoh :
MOV AX,[100h] menyalin data pada alamat 100h ke AX
A DB 89h mendefinisikan variable A
.
.
MOV AL,A direct addressing
A DB 89h mendefinisikan variable A
.
.
MOV AL,A direct addressing
Sebenarnya huruf ‘A’ di atas lebih tepat disebut lokasi memori yang
memiliki offset A, yaitu 89h, pada segmen data (DS). Jadi ‘A’ di sini
bisa dibilang sama dengan sebuah nama variable pada bahasa pemrograman
tingkat tinggi (C, C++, Pascal, Basic, dsb), hanya untuk memudahkan
dalam pemahaman. Penyalinan data langsung antarmemori tidak diijinkan.
Untuk memecahkan hal ini, kita bisa menggunakan register general purpose
sebagai perantara.
Contoh :
A DB 10h
B DB ? definisi variable B, nilai ditentukan / diisi kemudian
.
.
MOV B,A
.
MOV B,A
salah, harusnya dengan perantara sebagai berikut ..
MOV AX,A direct addressing
MOV B,AX register addressing
MOV B,AX register addressing
3. Register Direct Addressing
Suatu proses penyalinan data (bisa byte atau word) dari register ke
register atau ke suatu lokasi memori. Proses tersebut harus menggunakan
dua buah operand yang berukuran sama, misalnya AX dan BX, AL dan BH
(tapi ada beberapa instruksi tertentu yang dikecualikan, misalnya : SHL
DX,CL
Contoh :
MOV AX,BX untuk operasi 16 bit data (word)
MOV AL,BL untuk operasi 8 bit data (byte)
MOV AL,BL untuk operasi 8 bit data (byte)
Perlu diwaspadai bahwa ada beberapa penyalinan data yang terlarang pada
pengalamatan ini. Misalnya instruksi MOV pada register segmen ke
register segmen (SS, CS, DS, ES). Untuk memecahkan hal ini, kita bisa
menggunakan register general purpose (AX, BX, CX, DX) sebagai perantara.
Contoh :
MOV ES,DS
salah, yang benar ada 2 langkah di bawah ini :
MOV AX,DS disalin dulu ke AX
MOV ES,AX baru kemudian disalin ke ES
MOV ES,AX baru kemudian disalin ke ES
Selain dengan cara di atas, kita juga bisa menggunakan stack sebagai perantara.
Contoh :
PUSH DS PUSH (masukkan) nilai DS ke dalam stack
POP ES POP (keluarkan) nilai dari dalam stack ke ES
Perhatikan juga bahwa register segmen kode (CS) tidak mungkin diubah
oleh instruksi MOV, karena alamat instruksi berikutnya sudah ditentukan
oleh IP dan CS (ingat pasangan CS:IP). Jika hanya CS yang diubah, maka
alamat instruksi berikutnya tidak dapat diprediksi. Oleh karena itu,
pengubahan register CS dengan instruksi MOV tidak diijinkan. Register
Addressing dapat juga hanya terdiri atas sebuah register seperti pada
perintah INC CX.
4. Register Indirect Addressing
Register indirect addressing ini hampir sama dengan direct addressing,
bedanya hanya alamat efektif dari operand tidak disimpan di byte berikut
setelah opcode instruksi, tetapi disimpan pada salah satu dari register
indeks atau register basis, yaitu BX,BP,SI atau DI. Register Indirect
Addressing biasanya digunakan untuk mengakses suatu data yang banyak
(misalnya sebuah array atau string) dengan mengambil alamat efektif dari
data tersebut. Untuk mendapatkan alamat efektif dari suatu data bisa
digunakan perintah LEA (Load Effective Addres) dengan syntax : LEA
Register,Data
Untuk mengakses data yang ditunjukkan oleh Register, setelah
didapatkannya alamat efektif harus digunakan tanda kurung siku (‘[]‘).
Jika pada perintah pengaksesannya tidak disebutkan segmennya, maka yang
digunakan adalah segment default. Seperti bila digunakan register BX,
DI, atau SI sebagai penunjuk offset, maka segment DS yang digunakan.
Sedangkan bila digunakan register BP sebagai penunjuk offset, maka
segment SS yang digunakan.
Contoh :
MOV AX,[BX]
menyalin isi dari lokasi memori yang offsetnya disimpan di dalam
register BX (16 bit) pada segmen data (DS) ke register AX. Misalnya BX =
1000h, ketika instruksi di atas dilakukan, isi dari DS (yang berukuran
word) pada alamat offset 1000h disalin ke dalam register AX. Perhatikan
bahwa isi dari 1000h disalin ke AL dan isi dari 1001h disalin ke AH.
LEA SI,String muat offset String (String adalah variable yang berisi
kumpulan karakter / string) MOV AL,[SI] menyalin isi dari lokasi memori
yang offsetnya disimpan di dalam register SI (8 bit) pada segmen data
(DS) ke register AL
Pada direct addressing di atas sudah dikatakan bahwa tidak diijinkan
menyalin data langsung antarmemori. Hal tersebut juga berlaku pada
Register indirect addressing.
Contoh :
MOV [DI],[BX]
salah, menyalin dari memori ke memori tidak diijinkan, kecuali dengan instruksi string.
Pada beberapa kasus, pengalamatan tidak langsung memerlukan ukuran data
khusus yang ditetapkan dengan direktif assembler khusus BYTE PTR, WORD
PTR, atau DWORD PTR. Direktif ini menunjukkan ukuran data memori yang
dialamatkan oleh penunjuk memori (PTR).
Contoh:
MOV AL,[DI]
jelas merupakan instruksi penyalinan data berukuran byte (tandanya memakai register AL sebagai tujuannya).
MOV [DI],10h
salah, karena instruksi ini tidak jelas, apakah mengalamatkan lokasi
memori yang berukuran byte, word, atau dword . Assembler tidak
menentukan ukuran 10h tersebut. Yang benar seperti contoh berikut.
MOV BYTE PTR [DI],10h
jelas menentukan lokasi yang dialamatkan oleh DI sebagai lokasi memori yang berukuran byte.
5. Indirect Addressing
Merupakan mode pengalamatan tak langsung. Field alamat
mengacu pada alamat word di dalam memori, yang pada gilirannya akan
berisi alamat operand yang panjang atau untuk mentransfer DATA/byte/word
antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu
register.
Contoh
MOV [BX], AX Þ Pindahkan isi register AX ke dalam alamat memori yang ditunjukkan oleh isi register BX
Contoh
ADD (A) Þ tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
Keuntungan yang diperoleh adalah ruang bagi alamat menjadi besar
sehingga semakin banyak alamat yang dapat referensi. Sedangkan
kerugiannya adalah diperlukan referensi memori ganda dalam satu fetch
sehingga memperlambat proses operasi.
6. Displacement Addressing
Merupakan mode pengalamatan yang menggabungkan kemampuan pengalamatan
langsung dan pengalamatan register tidak langsung (Register Indirect
Addressing). Metode ini mensyaratkan intruksi memiliki dua buah field
alamat, sedikitnya sebuah field yang eksplisit (field eksplisit bernilai
A dan field implisit mengarah pada register).
Operand berada pada alamat A ditambah isi register.
Tiga model displacement:
a. Relative Addressing
Register yang direferensi secara implisit adalah program counter (PC).
Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke
field alamat. Memanfaatkan konsep lokalitas memori untuk menyediakan
operand-operand berikutnya.
b. Base Register Addressing
Register yang direferensikan berisi sebuah alamat memori, dan field
alamat berisi perpindahan dari alamat itu. Referensi register dapat
eksplisit maupun implisit. Memanfaatkan konsep lokalitas memori.
c. Indexing
Indexing adalah field alamat mereferensi alamat memori utama, dan
register yang direferensikan berisi pemindahan positif dari alamat
tersebut. Merupakan kebalikan dari model base register. Field alamat
dianggap sebagai alamat memori dalam indexing. Manfaat penting dari
indexing adalah untuk eksekusi program-program iteratif.
7. Stack Addressing
Stack adalah array lokasi yang linier, yang merupakan blok lokasi yang
terbalik (butir ditambahkan ke puncak stack sehingga setiap saat blok
akan terisi secara parsial)
Yang berkaitan dengan stack adalah pointer yang nilainya merupakan
alamat bagian paling atas stack. Dua elemen teratas stack dapat berada
di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke
elemen ketiga stack. Stack pointer tetap berada di dalam register.
Dengan demikian, referensi-referensi ke lokasi stack di dalam memori
pada dasarna merupakan pengalamatan register tidak langsung.
Funsgi Indeks Otomatis atau Keuntungan Indeks Otomatis:
- Mempermudah penataan pada tulisan
- Penempatan Daftar Isi secara Otomatis di Word sangat memudahkan kita untuk berpindah dari halaman yang satu ke halaman yang lainnya, hanya dengan mengklik pada bagian daftar isi. Selain itu, juga memudahkan pengeditan yang akan kita lakukan. Semoga bermanfaat, pada tulisan selanjutnya akan dibahas cara mempublikasikan file Word ke PDF lengkap dengan Daftar Isi.
Sumber : http://rbsetiawan.blogspot.co.id/2015/01/karakteristik-risc-arsitektur-set.html
Tidak ada komentar:
Posting Komentar