minggu pertama

24
SISTEM KOMPUTER

Upload: daudi-lazarus

Post on 02-Jul-2015

877 views

Category:

Education


2 download

DESCRIPTION

ini adalah bagian dari mata kuliah Organisasi komputer bagi mahasiswa sem 3 POLNEP

TRANSCRIPT

Page 1: Minggu pertama

SISTEM KOMPUTER

Page 2: Minggu pertama

Saya ucapkan selamat datang bagi

seluruh mahasiswa/i semester 3

jurusan Teknik Elektronika, program

studi D3 Teknik elektronika Industri.

Pada awal tahun ajaran ini, anda akan

memasuki “NERAKA”, untuk itu harap

mempersiapkan diri anda sebaik-

baiknyaMata kuliah Sistem Komputer akan dilaksanakan pada hari

Selasa, jam 13.30 hingga 16.00, di lab Elk 4.

Penilaian akan dilaksanakan secara ketat, sehingga setiap

mahasiswa yang tidak berkompeten akan di Drop

Out, untuk proses penyaringan mahasiswa. Sistem

penilaian adalah: a. keaktifan 10%; b. Tugas 20%; c. UTS

30%, dan UAS 40%.

Page 3: Minggu pertama

Siswa harus datang tepat waktu, keterlambatan akandikenakan hukuman: a. push up (pria); b. scott jump (wanita); sebanyak 15 x per menit terlambat.

Siswa tidak diperkenankan mengaktifkan HP selamakuliah berlangsung. Jika HP berdering selamakuliah,maka akan dikenakan hukuman: a. push up (pria); b. scott jump (wanita); sebanyak 100 x

Siswa tidak diperkenankan merokok baik selama ataudiluar jam perkuliahan, didalam maupun luarlingkungan kampus. Pelanggaran dikenakanhukuman: a. push up (pria); b. scott jump (wanita); sebanyak 250 x

Siswa harus membawa kalkulator ilmiah selamaperkuliahan, tidak diperkenankan meminjam keteman.

Page 4: Minggu pertama

Kinerja dari sebuah program amat tergantung pada

kombinasi antara: 1. algoritma yang digunakan, 2.

software yang digunakan dan menerjemahkan

bahasa pemograman ke dalam instruksi bahasa

mesin;dan 3. keefektifan komputer melakukan

ekseskusi.Komponen Hardware atau

software

Efek terhadap performa

Algoritma Menunjuk pada 1.jumlah statement

level sumber, 2.jumlah operasi I/O

yang telah dikerjakan

Bahasa pemograman, kompiler

atau arsitektur

Menunjuk pada jumlah instruksi

bahasa mesin untuk setiap

statement level sumber

Sistem prosesor dan memory Menunjuk pada kecepatan

perintah-perintah dapat dikerjakan

Sistem I/O (sistem operasi dan

perangkat keras)

Menunjuk pada kecepatan

pperintah I/O yang akan dikerjakan

Page 5: Minggu pertama

Software sistem: software yang menyediakanservis yang secara umum berguna, mis. Sistemoperasi, kompiler dan asembler.

Sistem Operasi,melakukan pengawasanterhadap program yang mengatur sumber-sumber pada komputer untuk keuntunganprogram yang berjalan pada mesin

Kompiler: sebuah program yang dapatmenerjemahkan statement2 bahasa tingkat tinggike dalam statement bahasa asembler

Bilangan biner atau bit: salah satu bilanganberbasis dua (0 atau 1) yang berisi komponeninformasi

Page 6: Minggu pertama

Asembler: sebuah program yang

menerjemahkan simbol-simbol instruksi

menjadi bilangan biner

Bahasa mesin: sebuah simbol yang

mewakiliinstruksi mesin

Bahasa pemograman tingkat tinggi: sebuah

basa pemograman (seperti C,Fortran,Java)

yang terdiri dari kata dan nota algebra yang

dapat diterjemahkan oleh kompiler menjadi

bahsa mesin

Page 7: Minggu pertama

Untuk berkomunikasi dengan peralatan

elektronika, yang dibutuhkan adalah

mengirimkan sinyal listrik. Salah satu bentuk

sederhana dari sinyal adalah “hidup” dan

“mati”, sehingga bahasa mesin terdiri 2 angka

(biner).

Komputer menejermahkan perintah (disebut

instruksi), dari bahasa tingkat tinggi menjadi

kumpulan bit yang dimengeti oleh komputer.

Contoh : 1000110010100000

Berarti instruksi yang memberi perintah

kepada komputer untuk menjumlahkan 2

angka

Page 8: Minggu pertama

Pada masa awal, penterjemahan dilakukansecara manual,sehingga banyak menimbulkankesalahan. Untuk itu diciptakan bahasapemograman pertama, yang dinamakan bahasaasembler. Contoh: programer menulis (asembler)

Add A,B

Dan assembler akan menerjemahkan menjadi

1000110010100000

Meskipun demikian, asembler mengharuskanprogramer menuliskan satu baris untuk setiapinstruksi yang akan dikerjakan olehmesin,sehingga programmer harus berpikirseperti mesin

Page 9: Minggu pertama

Untuk itu diciptakan bahasa pemograman tingkat

tinggi dan kompiler yang dapat menerjemahkan

program dalam bahasa manusia ke dalam

instruksi

Contoh: programer menulis (bahasa tingkat tinggi)

A + B

Kompiler akan mengubahnya menjadi statement bahasa

asembler

Add A,B

Dan assembler akan menerjemahkan menjadi

1000110010100000

Gambar berikut menunjukan tingkat hubungan

antar bahasa pemograman

Page 10: Minggu pertama

Program C diterjemahkan ke bahasa

Asembler dan dikodekan ke bahasa

mesin

Bahasa

tingkat

tinggi (C)

Swap (int v[ ]. Int k){ int temp:

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

}

Bahasa

Asembler

(MIPS)

Swap muli $2, $5, 4add $2, $4, $2lw $15, 0 ($2)lw $16, 4 ($2)sw $16, 0 ($2)sw $15, 4($2)jr $31

KOM

PILE

R

ASE

MBL

ER

Program

bahasa mesin

biner (MIPS)

00000000101000010000000011000111000001100110001000010001100111100001

Page 11: Minggu pertama

Setiap komputer dapat melakukan

operasi aritmatika, notasi bahasa

asembler MIPS

add a, b, c

Memberi perintah kepada komputer untuk

melakukan penjumlahan 2 variabel, b

dan c, dan menyimpan hasilnya pada

variabel a

Setiap instruksi aritmatika MIPS hanya

melakukan 1 operasi dan harus berisi

tepat 3 variabel.

Page 12: Minggu pertama

Sebagai contoh, kita akan menjumlah

variabel b,c,d dan e pada variabel a

add a,b,c # hasil penjumlahan b dan c disimpan di a

add a,a,d # hasil penjumlahan b ,c dan d disimpan di a

add a,a,e # hasil penjumlahan b, c, d dan e disimpan di a

Page 13: Minggu pertama

CONTOH

a = b + c;

d = a – e;add a,b,c # hasil penjumlahan b dan c

disimpan di a

sub d,a,e # hasil pengurangan a dengan e disimpan di d

Page 14: Minggu pertama

f = (g + h) – (i+j);

add t0,g,h #hasil penjumlahan g dan h disimpan pada variabelsementara t0

add t1, i,j #hasil penjumlahan i dan j disimpan pada variabelsementara t1

sub f,t0,t1 #hasil pengurangan t0 dengan t1 disimpan divariabel f

Page 15: Minggu pertama

KATEGORI INSTRUKSI CONTOH ARTI KOMENTAR

ARITMATIKA

add Add a,b,c A = b+ c Selalu 3

operand

subtract Sub a,b,c A = b-c Selalu 3

operandTidak seperti program pada bahasa tingkat

tinggi, operand pada instruksi aritmatika

pada asembler sangat terbatas, mereka

harus berasal dari suatu bilangan terbatas

di lokasi khusus yang dibangun secara

langsung didalam hardware dan dinamakan

register. Besarnya register pada arsitektur

MIPS adalah 32 bit, sekelompok 32 bit

register yang kerap kali muncul dinamakan

Page 16: Minggu pertama

Pembatasan jumlah 32 register dikarenakan semakin besar jumlah register maka clock cycle time (waktu putaran jam) akan bertambah karena untuk berpindah ke tempat yang lebih jauh memerlukan sinyal elektronik yang lebih panjang.

Meskipun dapat secara langsung menulis instruksi menggunakan angka untuk register, 0 sd 31, konvensi MIPS menggunakan tanda dolar diikuti oleh 2 karakter nama,untuk merepresentasikan register.

$s0, $s1,….untuk register yang berhubungan dengan variabel pada program C dan Java

$t0, $t1,…..untuk register temporary yang dibutuhkan untuk mengkompile program menjadi instruksi MIPS

Page 17: Minggu pertama

f = (g + h) – (i+j);

Variabel f,g,h,I dan j dihubungkandengan register $s0, $s1, $s2, $s3 dan $s4

add $t0,$s1,$s2 #register t0 berisi g + h

add $t1,$s3,$s4 #register t1 berisi i+j

sub $s0,St0,t$1 #hasil pengurangan t0 dengan t1 disimpan divariabel f

Page 18: Minggu pertama

MIPS harus menyertakan instruksi yang

mentransfer data antara memory dan register, hal

tersebut dinamakan data transfer instruction.

Untuk mengakses sebuah word dalam memory,

instruksi harus menyediakan alamat

PROCESSO

R

MEMORY

100

10

101

1

ALAMAT DATA

3

2

1

0

Page 19: Minggu pertama

Instruksi transfer data yang melakukan kopi data

dari memori ke register dinamakan load.

Formatnya adalah nama operasi diikuti oleh

register yang akan disimpan, kemudian konstanta

dan register untuk mengakses memori. Nama

MIPS untuk instruksi ini adalah lw, kepanjangan

dari load word

Instruksi untuk menyimpan data dinamakan store,

ini melakukan kopi data dari register ke memori.

Format sama dengan load. Nama MIPS untuk

instruksi ini adalah sw, kepanjangan dari store

word

Page 20: Minggu pertama

Anggaplah, A adalah array dari 100 word dan

kompiler berhubungan dengan variabel g dan h

melalui register $s1 dan $s2. asumsikan pula

alamat awal atau base address dari array adalah

$s3.

g = h + A[8]

Salah satu dari operand adalah memori sehingga

hal pertama yang harus dilakukan adalah

memindahkan A[8] ke sebuah register. Alamat

dari elemen array ini adalah jumlah alamat awal

($s3) ditambah bilangan yang digunakan untuk

menunjuk elemen 6. data harus disimpan ke

dalam register temporay

Page 21: Minggu pertama

lw $t0,8($s3) #reg temporay $t0 mendapat A[8]

Instruksi harus menambahkan h (yang ada di

$s2) ke A[8]($t0) dan menaruh hasilnya pada

register yang berkaitan dengan g (dihubungkan

dengan $s1)

add $s1,$s2,$t0 #g = h + a[8]

Konstanta dalam instruksi transfer data

dinamakan offset dan register yang ditambahkan

untuk membentuk alamat dinamakan register

dasar base register

Page 22: Minggu pertama

Anggaplah, variabel h berhubungan dengan register $s2 dan alamat awal atau base address dari array adalah $s3. A [12] = h + A[8]

Instruksi berikutnya sama dengan instruksi pada load, hanya saja saat ini digunakan ofset yang asli untukpengalamatan byte pada instruksi lw untuk memilihA[8],dan menaruh hasilnya di $t0

lw $t0,32($s3) #reg temporary $t0 mendapatA[8]

add $t0, $s2,$t0 #reg temporary $t0 mendapat h + A[8]

sw $t0,48($s3) #menyimpan h+A[8] kembali keA12]

Instruksi akhir menimpan hasil ke A[12] menggunakanoffset 48 dan $s3 sebagai base

Page 23: Minggu pertama

Jika ingin mengambil konstanta (konstanta selalu

ditaruh di memori ketika program dipanggil) dari

memori, contoh: menambah konstanta 4 ke register $s3

lw $t0, AddrConstant4($s1) # $t0 = konstanta 4

add $s3, $s3, $t0 # $s3 = $s3 + $t0 ($t0 == 4)

Asumsikan bahwa AddrConstant4 adalah alamat

memori konstanta 4

Alternatif lain adalah menggunakan instruksi

penjumlah cepat dengan satu konstanta

operand, atau yang dikenal sebagai add immediate

atau addi

add $s3, $s3, 4 # $s3 = $s3 + 4

Page 24: Minggu pertama

NAMA CONTOH KOMENTAR

32

register

$s0, $s1, …

$t0, $t1, …

Lokasi cepat untuk data. Dalam

MIPS, data harus terdaftar,untuk dpt

melakukan operasi aritmatika

230

memory

word

Memory[0],

Memory[4],…,

Memory[4294967292]

Diakses hanya oleh instruksi transfer

data dalam MIPS. MIPS

mempergunakan pengalamatan byte,

sehingga urutan pengalamatan word

per 4. memori memegang struktur

data, array dan register terbuang

KATEGO

RIINSTRUKSI CONTOH ARTI KOMENTAR

ARITMATIK

A

ADD Add

$s1,$s2,$s3

$s1=$s2+$s3 3 operand, data

di register

SUBTRACT Sub

$s1,$s2,$s3

$s1=$s2-$s3 3 operand, data

di register

ADD

IMMEDIATE

Addi

$s1,$s2,100

$s1=$s2+100 Penambahan

konstanta

TRANSFE

R DATA

LOAD WORD lw

$s1,100($s2)

$s1=memory

[$s2+100]

Data dari memori

ke register

STORE

WORD

sw

$s1,100($s2)

memory

[$s2+100] =$s1

Data dari register

ke memori