ARSITEKTUR SET INTRUKSI DALAM PERORGANISASIAN KOMPUTER

JENIS-JENIS INTRUKSI KOMPUTER


1. Komputer SISD

Gambar 1.a menyajikan arsitektur mesin komputer SISD (Single Instruction Single
Data) dari model Von Neumann. Jenis ini merupakan komputer sekuensial dengan ciri
pokok hanya memiliki satu prosesor (Schendel, 1984).
Skema kerja prosesor menurut gambar tersebut menunjukkan bahwa kemampuan
mesin sekuensial dalam menjalankan eksekusi program, setiap operasi aritmatika ataupun
logika dilakukan dalam satu unit kalkulasi. Hal ini disebabkan dalam setiap instruksi,
mesin hanya mampu membaca data dalam sekali kerja. Oleh sebab itu dapat disimpulkan
bahwa penggunaan mesin ini pada bidang aplikasi sangat terbatas, sebab kemampuan dari
prosesornya terbatas. Contoh dari kelompok ini adalah jenis personal komputer (PC) dan
mini komputer.

2. Komputer SIMD
Gambar 1.b menyajikan arsitektur mesin komputer SIMD (Single Instruction Multiple
Data) dari jenis komputer paralel. Dari skema dapat dicirikan bahwa tipe ini terdapat N
prosesor yang masing-masing prosesor dihubungkan dengan memori lokal sehingga data
94
Majalah Matematika dan Statistika
Volume 1, No. 2, April 2001 : 92-99
dan program dapat disimpan. Selain itu semua prosesor dikendalikan oleh satu unit
kontrol (Knob, 1990).
Kemampuan pokok yang dimiliki oleh mesin ini menunjukkan bahwa pada saat yang
sama, setiap prosesor mampu mengeksekusi instruksi-instruksi yang sama dari data yang
berbeda. Mesin yang dapat dimasukkan dalam tipe ini antara lain ILLIAC IV, STAR-100,
DRAY-1, STARAN IV dan ILC (memiliki 4096 prosesor).
. . . . . . . .
. . . . . . . .
a. SISD b. SIMD
….. …..
….. …..
…..
c. MISD d. MIMD
Keterangan:
C : Unit Kontrol P : Prosesor
M : Memori N : Organisasi Jaringan Data (Memori Global)
Gambar 1: Arsitektur Komputer
C
P
M
C
P1 P2 Pn
N
M1 M2 Mn
C C
C1 C2 Cn C1 C2 Cn
P1 P2 Pn P1 P2 Pn
N N
M M1 M2 Mn
95
Majalah Matematika dan Statistika

3. Komputer MISD
Jenis yang ketiga adalah komputer paralel MISD (Multiple Instruction Single Data).
Dalam gambar 1.c, mesin MISD memiliki satu unit memori. Kemampuan yang dimiliki
untuk mengeksekusi program menunjukkan bahwa pada setiap saat, satu data dari
memori dioperasikan oleh setiap prosesor menurut instruksi-instruksi dari setiap unit
kontrol. Jadi secara paralel, satu data yang sama dapat diproses oleh prosesor-prosesor
yang berlainan.
Secara struktural, mesin ini nampak ekivalen dengan mesin SISD. Hanya karena
memiliki prosesor bebas lebih dari satu, maka mesin ini dapat dikatakan sebagai mesin
multi-prosesor yang kemampuannya relatif masih terbatas untuk digunakan di bidangbidang
aplikasi.

4. Komputer MIMD
Model komputer MIMD (Multiple Instruction Multiple Data) merupakan jenis
komputer paralel yang disajikan pada gambar 1.d. Mesin ini memiliki N prosesor bebas
dan masing-masing prosesor mempunyai satu unit kontrol, sehingga mesin ini dapat kita
sebut sebagai mesin multikomputer. Ciri lain yang ada pada mesin tersebut adalah
prosesor-prosesornya saling bekerja sama dalam unit Input-Output dan memori utama,
sehingga mesin ini dapat dikategorikan sebagai mesin multiprosesor.
Kemampuan mesin MIMD menunjukkan bahwa pada setiat saat, secara serentak
prosesor-prosesor dapat menjalankan instruksi-instruksi yang berlainan secara paralel.
Dari model susunan prosesornya, dapat disimpulkan bahwa komputer semacam ini dapat
dimanfaatkan untuk aplikasi khusus guna memecahkan masalah yang membutuhkan


SET INTRUKSI



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.

Beberapa contoh dari arsitektur komputer ini adalah:
arsitektur von Neumann
CISC
RISC
blue Gene, dll.

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.

Dan dalam artikel ini akan membahas mengenai set intruksi atau Instruction Set Architectura(ISA) beserti operasi-operasinya.

Instruction Set Architecture(ISA)

Set Instruksi atau Instruction Set Architecture (ISA) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).

ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

Dalam set instruksi memiliki berbagai macam operasi-operasi yang terdiri dari:

Operasi set instruksi untuk mentransfer data
MOVE: memindahkan word atau blok dari sumber ke tujuan
STORE: memindahkan word dari prosessor ke memori
LOAD: memindahkan word dari memori ke prosessor
EXCHANGE: menukar isi sumber ke tujuan
CLEAR/RESET: memindahkan word ke 0 tujuan
SET: memindahkan word 1 ke tujuan
PUSH: memindahkan word dari sumber ke bagian paling atas stack
POP: memindahkan word dari bagian paling atas sumber

Operasi set instruksi untuk Aritmethic
ADD: penjumlahan
SUBTRACT: pengurangan
MULTIPLY: perkalian
DIVIDE: pembagian
ABSOLUTE
NEGATIVE
DECREMENT
INCREMENT

Urutan 5 sampai 8 merupakan instruksi operand tunggal.

Operasi set instruksi untuk operasi logical
AND, OR, NOT, EXOR
COMPARE: melakukan perbandingan logika
3TEST: menguji kondisi tertentu
SHIFT: operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit
ROTATE: operand menggeser ke kiri atau kanan dengan ujung yang terjalin

Operasi set instruksi untukM konversi
TRANSLATE: menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel korespondensi
CONVERT: mengkonversi suatu word dari suatu bentuk ke bentuk lainnya

Operasi set instruksi input/output
INPUT: memindahkan data dari perangkat I/O tertentu ke tujuan
OUTPUT: memindahkan data dari sumber tertentu ke perangkat I/O
START I/O: memindahkan instruksi ke prosessor I/O untuk mengawali operasi I/O
TEST I/O: memindahkan informasi dari sistem I/O ke tujuan

Operasi set instruksi untuk transfer control
JUMP(cabang): pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu
JUMP BERSYARAT: menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan
JUMP SUBRUTIN: melompat ke alamat tertentu
RETURN: mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu
EXECUTE: mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi
SKIP: menambah PC sehingga melompati instruksi berikutnya
SKIP BERSYARAT: melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan
HALT: menghentikan eksekusi program
WAIT(HOLD): melanjutkan eksekusi pada saat persyaratan dipenuhi
NO OPERATION: tidak ada operasi yang dilakukan


PENGALAMATAN KOMUTER

Kumpulan intruksi intel menyediakan cara yang bervariasi untuk menemukan lokasi memori. Cara cara ini disebut mode pengalamatan. Cara ini dapat memudahkan pemrosesan list dan untuk mengacu struktur data yang komplek. Juga, compile bahasa tingkat tinggi memerlukannya untuk membuat intruksi mesin yang lebih sedikit ketika set intruksi CPU menggunakan cara yang baik dalam pengacuan data.
Terdapat lima mode pengalamatan, ditunjukan dalam table mode pengalamatan dibawah. Dalam table, displacement berupa angka atau offset variable. Effective address operand mengacu pada offset (jarak) data dari awal segmen. BX dan BP adalah register basis, dan SI serta DI adalah register index. Setiap contoh berikut mengacu pada isi memori pada alamat efektif.

Mode
Contoh
Keterangan

Direct
Op l
bytelist
[200]
Alamat efektif adalah displacement

Register Indirect
[bx]
[si]
[di]
EA adalah isi basis atau index

Based or Indexed
List [bx]
[si+list]
[bp+4]
List [di]
[bp-2]
EA adalah penjumlahan register basi atau index dengan displacement

Base - indexed
[bx+si]
[bx][di]
[bp-di]
EA adalah penjumlahan register basis dan register index

Base – indexed with displacement
[bx+si+2]
List [bx+si]
List [bx][si]
EA adalah penjumlahan register basis, register index dan displacement



Table Mode Pengalamatan
Ø Operand register
Operand register mungkin berupa register 8 atau 16 bit. Secara umum,mode pengalaman register adalah paling efisien karena register adalah bagian dari CPU dan tidak memerlukan pengaksesan memori. Beberapa contoh menggunakan instruksi MOV sebagai berikut:
mov ax,bx
mov cl,al
mov si,ax
Ø Operand Immedite
Operand immediate adalah ekspresi konstan, seperti angka, karakter atau ekspresi aritermetik. Assembler harus menentukan nilai operand immediate pada waktu assembly. Nilainya disisipkan langsung kedalam intruksi mesin. Contoh operand immediate ditunjukan sebagai berikut. Contoh terakhir, (2+3)/5, adalah ekspresi yang dievaluasi pada saat assembly.


Contoh
Ukuran (bit)

10
‘A’
‘AB’
65535
(2+3)/5
8
8
16
16
8



Ø Operand Direct
Operand Direct mengacu pada isi memori offset variable. Assembler menjaga nilai offset setiap label, membuatnya memungkinkan untuk menghitung alamat efektif operand direct. Pada contoh, isi memori pada lokasi count dipindah ke AL:
Count db 20


Mov al, count ; AL= 20
Ø Operand Offset
Ketika diperlukan pemindahan offset label kedalam register atau variable, digunakan operator offset. Oleh karena assembler mengetahui offset setiap label sebagai program yang sedang di-assembly maka mudah untuk menggantikan nilai offset ke dalam intruksi. Misalkan, offset variable a word dalam contoh berikut adalah 0200h; intruksi MOV akan memindahkan 200h ke dalam BX langsung:
aWord dw 1234

Mov bx, offset a Word
Ø Operand tidak langsung
Jika offset variable yang ditempatkan dalam register atau variable, untuk variable yang mengandung element tunggal, dia akan mempunyai nilai yang kecil; tetapi untuk daftar item, pointer mungkin akan ditambah untuk menunjuk setiap elemen.
Ø Based dan Indexed Operand
Operand basis dan indekx pada dasrnya sama; register ditambahkan pada displacement untuk mendapatkan alamat efektif. Register yang dipakai harus SI, DI, BX dan BP. Displacement adalah angka atau label yang offsetnya diketahui pada waktu assembly. Notasi mungkin dalam bentuk yang sama:
Register ditambahkan ke offset:
Mov dx, array[bx]
Mov dx, [di+array]
Mov dx, [array+si]
Register ditambahkan konstan :
Mov ax, [bp+2]
Mov dl, [di-2]
Mov dx, 2[si]
Ø Base-indexed Operand
Alamat efektif operand dibangun oleh penggabungan register basis dengan register index. Misalkan BX=2002h dan SI=6. Intruksi berikut akan menghitung alamat efektif 208h:
Mov al, [bx+si]
Teknik ini sering berguna untuk array dua dimensi, dimana BX dapat menunjuk offset baris dan SI offset kolom. Contoh berikut, alamat efektif yang dibangun oleh [bx+si] adalah 0157:
CODE :
Array db 10, 20, 30, 40, 50
Db 60, 70, 80, 90, A0
Db B0, C0, D0, E0, F0
….
Mov bx, offset array ; menunjuk pada array (0150)
Add bx, 5 ; memilih baris kedua
Mov si, 2 ; memilih kolom ke tiga
Mov al, [bx+si] ;mengambil nilai pada alamat efektif 0157
Ilustrasi
0150

10
20
30
40
50
60
70
80
90







[BX] [SI]


Ø Base-indexed dengan displacement
Alamat efektif operand dibangun dengan menggabungkan register basis, register index dan displacement. Contohnya sebagai berikut:
Mov dx, array [bx] [si]
Mov ax, [bx+si+array]
Add dl, [bx+si+3}
Sub cx, array [bp+si]
Ø Penjumlahan serangkaian bilangan
Contoh program berikut menunjukan bagaimana bermacam macam mode pengalamatan bisa digunakan ketika mengakses elemen sebuah array. Array berada pada offset 150, dan hasil penjumlahan akan disimpan pada offset 153. Program berikut mungkin di assemble dan dijalankan dalam Debug.
A 150
Db 10, 20, 30, 0

A 100
Mov bx, 150
Mov si, 2
Mov al, [bx]
Add al, [bx+1]
Add al, [bx+si]
Mov [153], al
Int 20
t
.
.
D 150, 153

Komentar

Postingan populer dari blog ini

PT.GEARINDO PRAKASA

Penjelasan Gambar Menggunakan Aplikasi Solid Works

Miss world