Anda di halaman 1dari 12

A.

Instruksi pada Komputer

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat dimengerti
oleh sebuah CPU dengan sebuah kamus berisi daftar perintah apa saja yang dapat dilakukan
(didukung) oleh sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur prosesor
tertentu (misal x86, x64). Instruksinya berbentuk machine code (bahasa mesin), aslinya
seluruhnya dalam bilangan biner. Untuk programmer, biasanya digunakan representasi yang
lebih mudah dimengerti bahasa yang dapat dimengerti manusia, dikenal dengan bahasa
Assembly.

 Karakteristik Mesin Instruksi

• Elemen-elemen instruksi mesin

• Operation Code (OP Code) yaitu kode operasi berbentuk kode biner
• Source Operand Reference yaitu operand adalah input operasi
• Result Operand Reference yaitu merupakan hasil atau keluaran operasi
• Next Instruktion Reference elemen ini menginformasikan CPU posisi instruksi
berikutnya yang harus diambil dan dieksekusi.

Operand dari suatu system operasi dapat berada pada:

• Memori Utama atau memori virtual

• Register CPU

• Perangkat I/O

 Format Instruksi

1. Format instruksi 3 alamat


Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu
alamat hasil dan dua alamat operand.

Contoh: SUB Y,A,B  Y := A – B

Arti : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. Bentuk bentuk
pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada
pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.

Contoh:
A, B, C, D, E, T, Y adalah register

Program: Y = (A – B) / ( C + D × E)

SUB Y, A, B Y := A – B

MPY T, D, E T := D × E

ADD T, T, C T := T + C

DIV Y, Y, T Y := Y / T

Memerlukan 4 operasi.

2. Format instruksi 2 alamat

Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap
operand, satu alamat operand.

Contoh: SUB Y,B  Y:= Y – B

Arti : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasilnya di reg Y. Bentuk bentuk
format ini masih digunakan di komputer sekarang, untuk mengoprasikan lebih sedikit register,
tapi panjang program tidak bertambah terlalu banyak.

Contoh :

A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)

MOVE Y, A Y := A

SUB Y, B Y := Y – B

MOVE T, D T := D

MPY T, E T := T × E

ADD T, C T := T + C

DIV Y, T Y:= Y / T

Memerlukan 6 operasi.

3. Format instruksi 1 alamat

Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di
accumulator

Contoh : SUB B  AC:= AC – B

Arti : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk
format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu
register, tapi panjang program semakin bertambah.

Contoh :

A, B, C, D, E, Y adalah register

Program: Y = (A – B) / ( C + D × E)

LOAD D AC := D

MPY E AC := AC × E

ADD C AC := AC + C

STOR Y Y := AC
LOAD A AC := A

SUB B AC := AC – B

DIV Y AC := AC / Y

STOR Y Y := AC

Memerlukan 8 operasi.

4. Format instruksi 0 alamat

Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit,
disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil
isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik :
S[top]:=S[top1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas
dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk
mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.

Contoh :

A, B, C, D, E, Y adalah register

Program: Y = (A – B) / ( C + D × E)

PUSH A S[top] := A

PUSH B S[top] := B

SUB S[top] := A – B

PUSH C S[top] := C

PUSH D S[top] := D

PUSH E S[top] := E

MPY S[top] := D × E

ADD S[top] := C + S[top]


DIV S[top] := (A - B) /S[top]

POP Y Out := S[top]

Memerlukan 10 operasi.

 Jenis-Jenis Instruksi 1. Data procecessing: Arithmetic dan Logic Instruction

Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau
pengetahuan. Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara
otomatis. Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan
dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai
sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data
mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan
sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai
produk keluaran.

2. Data storage: Memory instructions

Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat
komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk
beberapa interval waktu. Penyimpanan data komputer menyediakan salah satu tiga fungsi inti
dari komputer modern, yakni mempertahankan informasi. Ia merupakan salah satu komponen
fundamental yang terdapat di dalam semua komputer modern, dan memiliki keterkaitan dengan
mikroprosesor, dan menjadi model komputer yang digunakan semenjak 1940-an. Dalam
penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan
berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM), dan
kadang-kadang dalam bentuk lainnya yang lebih cepat tapi hanya dapat menyimpan data secara
sementara. Akan tetapi, istilah “computer storage” sekarang secara umum merujuk kepada media
penyimpanan massal, yang bisa berupa cakram optis, beberapa bentuk media penyimpanan
magnetis (seperti halnya hard disk) dan tipe-tipe media penyimpanan lainnya yang lebih lambat
ketimbang RAM, tapi memiliki sifat lebih permanen, seperti flash memory.
3. Data Movement: I/O instructions

Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data –
data dari database yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru.
Tempat baru ini bisa ke dalam database baru atau memang untuk dibackup saja.

Data movement terdiri dari 2 bagian besar yaitu :

• Load & Upload : difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri
alias isi dari database tersebut.

• Export & Import : memindahkan data secara lengkap, mulai dari grand, schema, dan
seluruhnya.

Jika dilihat, load tersebut behubungan dengan import dan upload berhubungan dengan export.
Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat dikatakan juga insert,
replace, atau update. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file.
Kelemahan load adalah dalam prosesnya bisa saja terjadi data yang tidak berpindah secara
sempurna.

Upload Parameter

• Limit : membatasi beberapa record.

• Sample : mencari sample yang telah ditentukan.

• When : berdasarkan kondisi.

Dan pada upload, hanya satu parameter saja yang dapat berjalan alias tak bisa berjalan
bersamaan apabila parameternya lebih dari 1.

Bulk Data Movement (Software Pendukung)

• ETL (Extra Transform Load), software yang focus terhadap data warehouse.

• Replication and Propagation, software yang memonitoring source database dan target, dan yang
dihasilkan oleh software ini adalah pencatatatn log.
Perlu diperhatikan juga hak akses dalam load & unload, import & export minimal adalah akses
select.

4. Control: Test and branch instructions

Unit kendali (bahasa Inggris: Control Unit – CU) adalah salah satu bagian dari CPU yang
bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian
ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur
aktivitas dari bagian lainnya dari perangkat CPU tersebut.

Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah
untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan
di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih
oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung
mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register,
ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern,
setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai
pemantaunya (supervisor).
B. Interupsi pada Komputer

Sebuah Komputer dapat melayani beberapa peralatan (device). Ada dua cara untuk
memberikan layanan, yaitu dengan interupsi dan polling. Pada metode Interupt, kapan saja
device butuh layanan, maka CPU akan sedapat mungkin untuk segera melayani, device akan
memberitahukan pada CPU dengan mengirim sinyal interupsi. Setelah sinyal interupsi ini
diterima, CPU akan berhenti mengerjakan tugasnya dan segera melayani device tadi. Program
(instruksiinstruksi) dimana yang berisi layanan interupsi, disebut dengan Interupt Service
Routine ( ISR )atau juga Interupt Handler.

Interupsi atau interrupt adalah suatu permintaan khusus pada mikroprocessor untuk
melakukan sesuatu, jika terjadi interupsi maka komputer akan menghentikan dahulu apa yang
sedang dikerjakan dan melakukan apa yang diminta oleh yang menginterupsi, setelah selesai
maka aliran program akan kembali ke pernyataan program sebelum terjadinya interupsi. Interupsi
merupakan subrutin yang sudah tersedia dalam memori komputer.

Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 s/d 255.
Nomor interupsi 0 s/d 1Fh disediakan oleh ROM BIOS yaitu suatu IC di dalam komputer yang
mengatur operasi dasar komputer. Jadi jika terjadi interupsi dengan nomor 0 s/d 1Fh maka secara
default computer akan beralih ke ROM BIOS dan melaksanakan program yang terdapat di sana.
Program yang melayani suatu interupsi dinamakan Interrupt Handler dan hanya dijalankan jika
terjadi suatu kejadian khusus (event). Kejadian ini bisa berupa timer yang mengalami overflow,
penerimaan karakter melalui port serial, mengirimkan karakter melalui port serial, atau salah satu
dari dua kejadian eksternal. Setiap interrupt akan mengekseskusi interrupt handler-nya masing
masing berdasarkan nomornya. Sedangkan alamat dari masing-masing interrupt handler tercatat
di memori dalam bentuk array yang besar elemennya masing-masing 4 byte. Keempat byte ini
dibagi lagi yaitu 2 byte pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode
segmen dari alamat interrupt handler
yang bersangkutan. Jadi besarnya array itu adalah 256 elemen dengan ukuran elemen
masingmasing 4 byte. Total keseluruhan memori yang dipakai adalah sebesar 1024 byte
(256x4=1024) atau 1 KB dan disimpan dalam lokasi memori absolut 0000h sampai 3FFh. Array
sebesar 1 KB ini disebut interrupt vector table. Nilai-nilai yang terkandung pada interrupt vector
table ini tidak akan sama di satu komputer dengan yang lainnya.

• Interrupt Service Routine

Untuk setiap interupsi, harus selalu ada Interrupt Service Routine (ISR). Ketika interupsi sedang
diminta, mikrokontroler akan menjalankan Interrupt Service Routine. Untuk setiap interupsi,
selalu ada lokasi pada memory yang menyimpan alamat dari ISR itu sendiri.

• Fungsi interupsi adalah sebagai berikut :


1. Secara umum untuk manajemen pengeksekusian routine intruksi agar efektif dan efisien
antar CPU dan modul – modul I/O maupun memori.
2. Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan,
tetapi kendali terletak pada CPU di samping itu kecepatan eksekusi masing – masing
modul berbeda.
3. Dapat sebagai sinkronisasi kerja antar modul.

 Langkah-langkah dalam mengeksekusi Interupsi

Pada saat mengaktifkan sebuah interupsi, mikrokontroler melewati tahap-tahap berikut ini:

a. Komputer menyelesaikan instruksi yang sedang dieksekusinya dan menyimpanalamat


dari instruksi selanjutnya dari tumpukan instruksi-instruksi yang ada.
b. Komputer juga menyimpan status saat ini dari setiap interupsi didalamnya.
c. komputer langsung mengakses ke lokasi memori yang menyimpan alamat dari ISR.
d. Setelah mendapat alamat dari ISR, mikrokontroler mulai mengeksekusi interrupt
subroutine sampai mencapai instruksi terakhir dari subroutine tersebut atau disebut
dengan RETI (return from interrupt)
e. Pada saat mengeksekusi instruksi dari RETI, mikrokontroler akan kembali ke
tempatdimana dia disela terakhir kali. Pertama, mikrokontroler mendapatkan alamat
Program Counter (PC) dari tumpukan instruksi yang ada dengan cara memunculkandua

bit teratas dari tumpukan instruksi ke dalam PC. Kemudian Komputer mulai
mengeksekusinya dari alamat yang didapatnya.

• Struktur Interupsi

Fasilitas interupsi yang disediakan oleh Komputer ada 5 buah interupsi, yang masingmasing
dikelompokkan menjadi interupsi timer, eksternal dan serial. Kapan masing-masing interupsi
akan dilayani, bergantung pada posisi saklar. Sebagai contoh, bila diinginkan layanan interupsi
TIMER 0 (TF0), maka posisi saklar ET0 dan EA harus ditutup yang dilakukan secara software.
Agar layanan TIMER 0 ini mendapatkan prioritas utama maka saklar PT0 harus diposisikan ke
UP.

• Vektor Interupsi

Setiap interrupt akan mengeksekusi interrupt handlernya masing-masing berdasarkan


nomornya. Sedangkan alamat dari masing- masing interupt handler tercatat di memori dalam
bentuk array yang besar elemennya masing-masing 4 byte. Keempat byte ini dibagi lagi yaitu 2
byte pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode segmen dari alamat
interupt handler yang bersangkutan.

Jadi besarnya array itu adalah 256 elemen dengan ukuran elemen masing-masing 4 byte.
Total keseluruhan memori yang dipakai adalah sebesar 1024 byte (256 x 4 = 1024) atau 1 KB
dan disimpan dalam lokasi memori absolut 0000h sampai 3FFh. Array sebesar 1 KB ini disebut
Interupt Vector Table (Table Vektor Interupsi).
Nilai-nilai yang terkandung pada Interupt Vector Table ini tidak akan sama di satu komputer
dengan yang lainnya. Interupt yang berjumlah 256 buah ini dibagi lagi ke dalam 2 macam yaitu:

1. Interupt 00h – 1Fh (0 – 31 ) adalah interrupt BIOS dan standar di semua komputer baik
yang menggunakan sistem operasi DOS atau bukan. Lokasi Interupt Vector Table-nya
ada di alamat absolut 0000h-007Fh.
2. Interupt 20h – FFh (32 – 255) adalah interrupt DOS. Interrupt ini hanya ada pada
komputer yang menggunakan sistem operasi DOS dan Interupt Handler-nya di-load ke
memori oleh DOS pada saat DOS digunakan. Lokasi Interupt Vector Table-nya ada di
alamat absolut 07Fh-3FFh.

 Jenis-jenis Interupsi
a. Internal HW interruptions
1) Ditimbulkan/digenerasi oleh peristiwa tertentu yang terjadi pada waktu/selama
eksekusi program
2) Diatur oleh HW dan tidak dapat dirubah

b. External HW interruption
1) Ditimbulkan/digenerasi oleh devais peripheral, seperti keyboard, printer, mouse, dsb.
2) Biasa juga ditimbulkan/digenerasi oleh co-processor
3) Tidak mungkin mendeaktivekan
4) Tidak dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi untuk meng-
handle secara eksklusif interrupts ini.

c. Software interruption
1) Diaktifkan langsung oleh assembler melalui sejumlah interupsi yang diharapkan dengan
intruksi INT
2) Terdapat 2 jenis : DOS interrupstions & BIOS interruptions. Perbedaannya, DOS
interruptions lebih mudah digunakan, namun lebih lambat, karena interruptions jenis ini
menggunakan BIOS. BIOS interruptions lebih cepat, namun banyak kerugiannya Karena
BIOS bagian HW dan HW-specific. Pemilihan interrupt tergantung pada karakteristik
yang akan kita berikan pada program.

Anda mungkin juga menyukai