BAHASA MESIN

advertisement
Pengolahan Data Elektronik
________________________________________________________________________________________
BAHASA MESIN
Instruksi dalam bahasa mesin berada dalam bentuk kode biner yang disebut juga kode
mesin , dan disebut instruksi mesin. Set instruksi mesin yang dapat dijalankan oleh suatu
komputer disebut set instruksi.. Segala operasi yang tidak dijalankan hardware, dan oleh
karenanya tidak berada dalam set instruksi itu, hanya dapat dijalankan dengan
menggunakan lebih dari satu instruksi.
Ukuran set instruksi akan mempengaruhi :
a. biaya mesin
b. kecepatan dan efisiensi
c. pilihan ukuran word dan format instruksi
Format instruksi : ukuran dan pengaturan komponen, dimana komponen utama adalah
kode fungsi ( op code ) yang menentukan fungsi atau operasi yang dijalankan, dan alamat
operand yang menentukan lokasi dari opearnd yang digunakan.
Format alamat : bagian dari format instruksi yang mengurus penentuan alamat operand
a. format tiga-alamat
menetapkan alamat dua operand dan memberikan alamat selanjutnya untuk hasil operasi
itu
contoh
Fungsi
Alamat
Alamat
Alamat
b. format dua-alamat :
menentukan alamat dari dua operand, hasil dari suatu operasi penambahan akan
mengganti salah satu adari dua operand itu.
Contoh
Fungsi
Alamat
Alamat
c. format alamat satu dan setengah :
satu operand disangga dalam register atau akumulator khusus yang sebelumnya telah
dijemput dan ditempatkan disana.
Contoh
Fungsi
D3-Manajemen Informatika
Alamat
atau
Fungsi
AC
Alamat
Page 1
Pengolahan Data Elektronik
________________________________________________________________________________________
d. antar operasi-operasi akumulator :
format satu dan setengah alamat dapat digunakan untuk menjempit atau memuatkan
operand ke dalam akumulator dari penyimpanan utama , namun setelah itu instruksi
tersebut hanya dapat menentukan dua atau tiga akumulator yang akan digunakan untuk
operand dan hasilnya.
Contoh
Fungsi
AC
AC
AC = nomor akumulator
 JENIS INSTRUKSI
Operasi (instruksi) aritmatika dan logika
Instruksi yang menggunakan ALU
Operasi arimatika
a. penambahan, pengurangan, perkalian dan pembagian
b. operasi inkremen dan dekremen ( penambahan dan pengurangan )
c. negasi dan komplemensi
d. shift aritmatika
Contoh shift aritmatika :
a. shift ariamatika satu tempat ke kiri
before
after
0
0
0
1
+1
0
0
1
0
+2
1
1
1
1
-1
1
1
1
0
-2
b. shift aritmatika satu tempat ke kanan
before
after
0
0
1
0
+2
0
0
0
1
+1
1
1
1
0
-2
1
1
1
1
-1
Operasi logis
a. operasi boolean , misal AND, OR
b. negasi boolean, NOT
D3-Manajemen Informatika
Page 2
Pengolahan Data Elektronik
________________________________________________________________________________________
c. rotasi (shift logis), memindahkan bit ke kiri atau ke kanan, namun mengganti tiap bit
yang ada di ujung sebelah satunya dari register tersebut
Contoh :
a. shift logis (dengan rotasi) satu tempat ke kiri
before
1
0
after
1
1
0
1
1
1
0
1
1
0
1
0
b. shift logis (dengan rotasi) satu tempat ke kanan
before
1
0
after
1
1
1
1
c. shift logis (tanpa rotasi) satu tempat ke kiri
before
1
0
after
1
1
0
1
d. shift ( tanpa rotasi) satu tempat ke kanan
before
1
0
after
1
1
0
1
Swap: mengubah setengah dari word bagian kanan dan sebelah kiri
Instruksi transfer kontrol atau cabang :
Instruksi yang mengubah rangkaian yang dianut oleh instruksi. Eksekusinya menyebabkan
jump (lompatan) ke instruksi yang lain.
Instruksi jump terdiri dari :
a. transfer kontrol tak-kondisional. Jump selalu terjadi
b. transfer kontrol kondisional. Jump hanya akan terjadi jika hasil dari suatu operasi
mempunyai nilai tertentu.
Instruksi pemuatan (penjemputan) dan penyimpanan
Menyebabkan terjadinya transfer data antara akumulator dan memori
Instruksi input/opuput
Mengimplementasikan transfer data antara peripheral dan memori, atau antara peripheral
dan akumulator.
D3-Manajemen Informatika
Page 3
Pengolahan Data Elektronik
________________________________________________________________________________________
Insruksi referensi memori
Operasi yang memerlukan akses ke memori selama eksekusinya, karenanya mencakup
instruksi load dan store ( pemuatan dan penyimpanan)
Instruksi referensi prosesor
Instruksi yang tidak memerlukan memori dan tidak melibatkan penginputan dan
pengoutputan.
 BAGAIMANA INSTRUKSI DIPATUHI
a. menjemput instuksi yang diperlukan
i.
MAR dimuatkan dengan alamat instruksi yang akan dijalankan
ii.
Kontrol SCR kemudian dinaikkan sebesar 1, hingga siap untuk penjemputan
berikutnya
iii.
Penjemputan diselesaikan dengan memuatkan instruksi ke dalam CIR melalui
MDR
b. mengeksekusi operasi
i.
opcode atau bagian fungsi dari instruksi didekode oleh unit kontrol
 BAHASA MESIN IMAGINER
Alat bantu bagi programmer
a. kode simbolik dan MNEMONIC
b. kode biner dapat dikonversi ke oktal atau heksadesimal
c. program khusus yang disebut assembler, dimana akan mengkonversi program dalam
bentuk sinbolis dan mnemonic menjadi kode mesin. Program mnemonic dan simbolis
disebut program sumber dan kode mesin yang dihasilkan assembler disebut program
obyek.
D3-Manajemen Informatika
Page 4
Pengolahan Data Elektronik
________________________________________________________________________________________
 METODE PENGALAMATAN
Metode pengalamatan utama
a. Pengalamatan langsung ( direct addressing )
Digunakan jika bilangan yang diberikan dalam bagian operand suatu instruksi
adalah alamat sebenarnya dari operand yang akan digunakan. Pengalamatan
langsung bersifat sederhana, cepat dan afektif namun jumlah lokasi yang bisa
dialamati terbatas.
b. Pengalamatan tak langsung ( deffered addrassing )
Bila pengalamatan lagsung digunakan yang dibebrikan dalam bagian alamat suatu
instruksi bukan alamat dari operand yang diperlukan. Bagaian alamat ini adalah
alamat dari lokasi yang berisi alamat yang diperlukan. Suatu alamat dapat langsung
atau tidak langsung.
c. Pengalamatan terindeks
Alamat yang diperlukan diperoleh dengan menambahkan isi bagian alamat instruksi
ke bilangan yang disimpan dalam register khusus yang disebut register indeks atau
register modifier
d. Pengalamatan termodifikasi
Jika suatu instruksi dimodifikasi hingga satu fungsi yang sama dijalankan berulangulang pada suatu operand dalam alamat yang berbeda , maka disebut menggunakan
alamat termodifikasi. Metode yang digunakan :
1. menggunakan pengalamatan terindeks dan mengubah isi register indeks sebelum
instruksi diulang
2. mengubah bagian alamat instruksi
e. Pengalamatan relatif
Bagian alamat dari instruksi digunakan untuk memberikan displacement dari
beberapa alamat yang dinyatakan. Di satu sisi alamat indeks akan menjadi alamat
relatif sebab bagian alamat instruksi memberikan lokasi operand agar banyak tempat
melewati lokasi yang dinyatakan dalam register indeks.
Alamat base : alamat yang menjadi referensi alamat relatif.
D3-Manajemen Informatika
Page 5
Pengolahan Data Elektronik
________________________________________________________________________________________
f. Pengalamatan page
Digunakan bila panjang word membatasi ukuran field alamat. Bentuk khusus dari
pengalamatan relatif. Area penyimpanan utama dibagi menjadi unit-unit ( page)
berukuran sama dan dinomori 0,1,2,3….
g. Pengalamatan immediate
Jika kita tidak memberikan lokasi data dalam bagian alamat dari instruksi, maka
dikatakan meggunakan pengalamatan immediate, yakni bagian alamat digunakan
sebagai operand.
h. Pengalamatan sinbolis
Pengalamatan simbolis tidak mungkin dalam kode mesin, namun digunakan
progremmer ketika menggunakan simbol alfa-numerik untuk menetapkan suatu
alamat.
 Fasilitas lain dari mesin imajiner
Register status
Mempunyai isi sendiri yang diset oleh perangkat hardware seperti ALU dan digunakan oleh
unit kontrol.
Pointer stack
Menyangga alamat dari suatu lokasi dalam memori dimana data dapat ditempatkan secera
sementara. Data ini diorganisasi dan diakses dalam struktur data yang disebut stack.
Dalam hal ini dikenal istilah push ( item dimasukkan ke stack ) dan pop ( item dikeluarkan
dari stack )
Tiga penggunaan pokok stack pada tingkat mesin :
1. digunakan dalam komputasi sederhana untuk menyangga hasil-hasil intermediate
2. menangani call subprogram
3. menangani interrupt
 Memuat dan menyimpan program dalam kode mesin
Loader akan mengambil program yang ditulis dalam kode mesin dan dalam bentuk input
yang sesuai. Loader biasanya secara permanen ada dalam memori utama.
Informasi mengenai prosesor dapat ditampilakn pada panel khusus yang disebut console.
D3-Manajemen Informatika
Page 6
Pengolahan Data Elektronik
________________________________________________________________________________________
Loader bootstrap atau bootstrap adalah loader yang sangat sederhana yang mungkin
ditempatkan dalam memori secara manual dengan menggunakan console atau ditempatkan
dalam memori dengan bagian hardware khusus.
Alamat absolut : alamat yang ditemntukan oleh hardware
Program absolut : program yang selalu dimuatkan ke lokasi fixed yang sama dalam lokaslokasi yang berbeda dalam penyimpanan utama yang mejadi pedoman diketahuinnya
alamat absolut.
Program relocatable : program yang bisa dimuatkan ke dalam lokasi-lokasi yang berbeda
dalam penyimpanan utama tiap kali dijalankan.
D3-Manajemen Informatika
Page 7
Pengolahan Data Elektronik
________________________________________________________________________________________
BAHASA TINGKAT RENDAH
 Pemrograman bahasa mesin
Instruksi mesin akan ditunjukkan dalam oktal dan juga biner untuk menunjukkan
bagaimana pengkodean oktal membantu programmer.
Dalam pemulisan MNEMONICS notasi alamat akan ditunjukkan sebagai berikut :
1. STA 7 : simpan isi akumulator dalam lokasi 7
2. STA @ 7 : simpan isi akumulator dalam lokasi 7 (@ menunjukkan alamat tak langsung)
3. STA 5, X : tanda X menunjukkan register index akan digunakan , simpan akumulator
dalam lokasi yang diberikan oleh +5
Catatan :
1. LDN 6 : menghasilkan bilangan 6 yang sedang dumuatkan dengan akumulatoor
2. ADD @ 5 menghasilka alamat dari data yang sedang dicari dalam lokasi 5.
 Bahasa tingkat rendah
Adalah bahasa yang berorientasi mesin, dimana tiap instruksi sama atau menyerupai
instruksi mesin.
Fasilitas umum bahasa tingkat rendah :
1. kode MNEMONICS digunakan sebagai pengganti kode mesin
2. alamat simbolis seringkali digunakan sebagai pengganti alamat mesin sebenarnya.
Bahasa tingkat rendah harus diterjemahkan ke dalam bahasa mesin cebelum digunakan,
sebab walau programmer lebih mudah bekerja dengannya namun ia tidak dapat digunakan
oleh mesin dalam bentuk simbolis/ mnemonics.
Bahasa assembly
a. tiap pabrikan komputer biasanya membuat bahasa tingkat rendah yang mendekati
kesesuaiannya dengan bahasa mesin tertentu yang digunakan pabrikan tersebut, bahasa
ini disebut bahasa assembly. Pabrikan tersebut memberikan suatu program yang disebut
assembler atau assembeler program yang menterjemahkan assembly language ke
dalam machine code.
b. Program yang ditulis dalam assembly language disebut source program, program yang
telah diterjemahkan dalam machine code disebbut object program
D3-Manajemen Informatika
Page 8
Pengolahan Data Elektronik
________________________________________________________________________________________
Bahasa psoudo-assembly
Bahasa assembly yang tergantung mesin yang dibuat untuk tujuan pendidikan.
 Masalah ilustratif dalam bahasa assembly
Format instruksi :
Label :
Misal A
:
function code operand or operand address
LDA
5
Label berifat opsional dan dapat digunakan untuk memberi instruksi alamat simbolis atau
memberi nilai nimerik suatu alamat simbolis
Alamat operand bisa mengambil bentuk :
1. alamat langsung operand, misal 5
2. alamat indeks langsung, misal 5, X
3. alamat tak langsung , misal @ 5, X
contoh :
LDA 5
LDA 5, X
: memuati akumulator dengan isi
: memuati isi lokasi 5 + (X) dimana (X) berarti isis dari register indeks
 Subbroutine
Adalah set instruksi program yang membentuk bagian suatu program dan digunakan untuk
menjalankan tugas tertentu.
Ada dua cara umum untuk kembali dari subroutine ketika tidak ada fasilitas hardware
eksplisit, yaitu dengan cara menggunakan pengalamatan tak langsung atau dengan
pemodifikasiana alamat.
Subroutine open dan close
Subroutine open adalah bagian dari program utama dan disisipkan atau dimasukkan ke
dalam program bila diperlukan.
Subroutine close bukan bagian dari program utama. Ia dihubungkan ke program utama
dengan prosedur entri dan return.
D3-Manajemen Informatika
Page 9
Pengolahan Data Elektronik
________________________________________________________________________________________
 Instruksi makro
Adalah intruksi tunggal yang dituliskan sebagi bagian dari bahasa program sumber, yang
bila digabungkan akan menggenerasi banyak instruksi kode mesin.
Contoh :
Makro yang menambah 1 ke isi lokasi N
MACRO INSTRUCTION ditulis sebagai ADD 1 (N)
ADD 1 (N) generasi S : 0
menyimpan isi akumulator pada saat itu
STA S
LDN 1
ADD N
mengADD N
STA N
menambah 1 ke lokasi N
LDA S
mengganti isi akumulato asli
D3-Manajemen Informatika
Page 10
Pengolahan Data Elektronik
________________________________________________________________________________________
SUBSISTEM INPUT OUTPUT
Buffer (penyangga) adalah area penyimpanan temporer yang menyangga data selama
berbagai tahapan penginputan dan pengoutputan. Buffer terdir dari 2 jenis :
a. area buffer internal
area pemyimpanan utama yang dirancang sebagian untuk menyangga data yang sedang
menunggu pengoutputan atau data yang saat itu diinput namun belum diproses.
b. register buffer
register ini dilokasikan pada berbagai posisi sepanjang lintasan data antara perangkat
I/O dan prosesor.
Channel : lintasan sepanjang yang dilalui arus sinyal data I/O
Bus ( highway) : item data hardware yang ada dalam prosesor sebagai tempat berlalunya
sinyal data dari salah satu sumber ke salah satu satu tujuan.
Interface : item hardware yang dilokasikan pada tiap channel yang bersebelahan dengan
prosesor. Ia mengubah sinyal kontrol dan sinyal data dari prosesor yang ada dalam bentuk
standard menjadi bentuk yang dapat digunakan oleh peraangkat yang dikoneksikan ke
interface itu. Ia juga mengubah semua input peripheral ke satu bentuk standard untuk
prosesor.
Bagian interface yang dikoneksikan ke perangkat, ada device-control circuitry, sebagian
merupakan bagian terpadu dari interface. Control circuitry mampu malakukan autonomous
operation dalam jumlah besar, namun bekerja dengan melakukan respon terhadap kondisi
yang ditetapkan atau dibangun oleh I/O control circuitry.
( gambar 33.1 )
Metode I / O sederhana
Tiga register khusus yang ada dalam card interface :
a. data buffer atau daata buffer register
menyangga satu karakter yang telah diterima dari perangkat atau yang akan dikirim ke
perangkat
D3-Manajemen Informatika
Page 11
Pengolahan Data Elektronik
________________________________________________________________________________________
b. busy register atau control bit register
register bit tunggal yang ada dibaawah kendali kontrol I/O, tidak dipengaruhi oleh
perangkat tersebut. Diset 1 saat channel terbuka sampai dapat memulai pentrasferan,
diset 0 jika channel tidak akan digunakan
c. done register atau device status register
register bit tunggal yang biasanya diset 0 selagi bit busy diset ke 1. Register ini diset 1
jika sinyal diterima dari perangkat, kareana ia menyelesaikan transfer antara dirinya
sendiri dan register buffer data. Register bit tunggal jenis ini sering disebut flag.
Gambar typical input output
Console panel lights
+ Switch
Main Store
Buffer +
Circuit
Main Store
Access
Controller
ALU
Channels
(data channel)
Accumulators
Multiplexor
I/O Control
I/O Bus and I/O
Channel Control
Channel 1
Channel 2
Channels
(data channel)
Channel
I/O Control
Channel 3
Interface
Interface
Interface
Interface
Interface
Interface
Device control
Device control
Device control
Device control
Device control
Device control
Device 1
Device 2
Device 3
Device 4
Device 5
Device 6
Keterangan : Device 1- 5 digunakan misalnya untuk card readers, Line printers, VDU, dan Typewriter terminal
Device 6 digunakan untuk fast devices seperti disk unit, tape unit, drum unit
Merupakan data paths
D3-Manajemen Informatika
Page 12
Pengolahan Data Elektronik
________________________________________________________________________________________
I/O sederhana dengan perangkat lain
a. document reader
instruksi ekstra dibutuhkan untuk tindakan non-read seperti pengeluaran dokumen dari
hopper. Register status-perangkat bukan hanya register flag tunggal namun mrnyangga
kode-kode yang memberi informasi mengenai kapan dokumen ada di bawah stasiun
read, kapan tidak ada dokumen yang ditinggalkan atau kapan dokumen dilompatkan.
b. line printer
register penyangga data akan menyangga sejumlah karakter yang bersesuaian dengan
bagian dari suatu jalur atau keseluruhan jalur.
c. graph plotter
meliputi tindakan menaikkan dan menurunkan pena, menggerakkan pen satu unit
menurut arah Y, menggerakkan pena satu unit menurut arah X.
Penyanggaan ( buffering )
Adalah pentransferan data ke dalam penyimpanan temporer sebelum diproses atau di
output, hingga memungkinkan pengoperasian perangkat-perangkat secara serentak.
READ
Document 1
PROCESS
PRINT
Document 2
Document 3
Document
1
Document
2
Document 1
Document
3
Document 2
Document 3
waktu
waktu yang dibutuhkan setelah pembacaan
dokumen
pertama, semua pembacaan,
pemrosesan dan pencetakan berikutnya dapat ditumpangtindih, dengan demikian waktu
total yang diperlukan sedikit melebihi kecepatan perangkat yang terlamban.
D3-Manajemen Informatika
Page 13
Pengolahan Data Elektronik
________________________________________________________________________________________
Multipleksing
Melibatkan pentransmisian kode karakter dari jumlah perangkat sepanjang satu channel.
Perangkat hardware yang menjalankan tugas ini disebut multiplexor.
Multiplexor
Devices
I/O Channel
Multiplexor mempunyai register penyangga sendiri yang digunakan untuk menerima
karakter dari perangkat yang dikoneksikan ke multiplexor. Multiplexor dapat bertindak
secara sinkron ( transfer data pada frekwensi waktu yang teratur ) atau secara sinkron (
mentransfer data bila telah siap ).
Multiplexor komunikasi
Mentransmisikan data dari sejumlah terminal yang dikoneksikan kepadanya.
Channel data
Channel data mencuri siklus memori dari instruksi yanag saat ini sedang dijalankan agar
daapat melakukan transfer. Karena hanya 1 akses memori yang dapat ditangani tiap kali,
maka akses oleh channel data memperlambat kecepatan akses memori program.
Menggunakan channel data denagn unit disk magnetis
1. menset register pencacah
alamat memori untuk menetapkan lokasi pertama area
penyangga internal.
2. Hardware mencuri siklus memori selagi mentransfer blok data
3. Memilih head baca/tulis permukaan
4. Menggerakkan head di atas track yang sesuai.
Kontrol sistem
a. sistem pengoperasian
adalah tempat program yang melakukan pengontrolan atas
operasi komputer
D3-Manajemen Informatika
Page 14
Pengolahan Data Elektronik
________________________________________________________________________________________
b. sistem pengoperasian minimum dan pusat suatu sistem yang besar merupan program
executive atau supervisor yang mengontrol dan menjadwal penggunaan hardware
c. program yang memrlukan penginputan dan pengoutputan data melakukan pekerjaan
melalui sistem pebgoperasian.
Interrupt
Adalah pemutusan terhadap kontrol berangkai otomatis normal hingga dari pada mejemput
instruksi berikutnya sebagai bagian dari pelaksanaan silkus penjemputan-eksekusi, unit
kontrol menjemput instruksi pertama program lain atau menjemput instruksi dari bagian
lain dari program yang sama.
Penggunaan interrupt dalam I/O
a. melakukan request intrrupt dengan menset flag done ke 1.
b. Sebelum menjemput instruksi berikutnya selama perangkat instruksi normal, hardware
proseesor secara otomatis mengecek untuk melihat pakaha terdapat interrupt request.
c. Pengecekan intrrupt hanya akan dilakukan jika sistem interrupt diaktifkan
d. Karena ada lebih dari satu perangkat yang dapar melakukan request pada waktu
tertentu, maka tiap perangkat diberi posisi prioritas.
e. Program yang ingin mengoutput data dapat merequest interrupt dengan menggunakan
suatu instruksi yang mensetnbit intrrupt khusus ke 1.
Paeranan supervisor
a. Satu lokasi tertentu digunakan untuk menyangga alamat instruksi pertama daaalam
program supervisor.
b. Request interrupt menyebabkan hardware prosesor malakukan jump tak kondisional ke
instruksi yang alamatnya ditetapkan dalam lokasi nol.
c. Ketika dimasukkan supervisor melakukan :
1. menyimpan link untuk kembali ke program utama
2. menyimpan isi semua akumulator hingga diganti sebelum kembali ke program
utama
D3-Manajemen Informatika
Page 15
Pengolahan Data Elektronik
________________________________________________________________________________________
3. jika interrupt
terjadi selama pengeksekusian suatu routine, yang ia sendir I
menangani I/O dari perangkat, akan meyebabkan hilangnya data
4. jika sistem intrrupt dibiarkan selagi menangani satu interrupt, dimungkinkan bahwa
interrupt lain akan terjadi.
Kecepatan perangkat
Perangkat berprioritas rendah cenderung menunggu lama untuk mendapatkan layanan.
Perangkat lamban jika diberi priorotas rendah akan menghalangi aktivitas pemrosesan
karena tidak dapat menginput data yang cukup. Karena itu umumnya perangkat
berkecepatan rendah diberi priorotas yang lebih tinggi.
D3-Manajemen Informatika
Page 16
Download