SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
MATA KULIAH:

ORGANISASI KOMPUTER

INSTRUKSI MESIN DAN
PROGRAM
PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER
JURUSAN PENDIDIKAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSAR
2013
1
CREATED BY:

FRANS RUMENGAN D.
1129040049
PTIK 02 2011

2
Bahasa Assembly
1. Assembler Directive
2. Assembler dan Eksekusi Program
3. Notasi Bilangan
Operasi input/output dasar
Stack dan Queu
Subroutine
1. Subroutine Nesting dan Stack Prosesor
2. Parameter Passing
3. Stack Frame
Instruksi Tambahan
1. Instruksi Logika
2. Instruksi Shift dan Rotate
3. Perkalian dan Pembagian
Program Contoh
1. Program Vector Dot Product
2. Program Byte-Sorting
3. Linked List
Encoding Instruksi Mesin
3
PENDAHULUAN
Instruksi Mesin dan Program membahas cara program
dieksekusi dalam komputer dari sudut pandang instruksi
mesin. Penekanannya adalah pada konsep dasar. Kita
menggunakan cara umum untuk mendeskripsikan instruksi
mesin dan metode pengalamatan operand yang biasanya
terdapat pada prosesor komersial. Sejumlah instruksi dan
metode pengalamatan diperkenalkan untuk membantu kita
menampilkan program realistik yang lengkap untuk
menjalankan suatu tugas sederhana. Program umum ini
ditetapkan pada tingkat bahasa assembly.
Bahasa assembly adalah representasi bahasa mesin yang
dapat dibaca untuk prosesor. Fitur hubungan antara bahasa
tingkat-tinggi dan bahasa mesin adalah pertimbangan utama
dalam desain komputer.
4
A. BAHASA ASSEMBLY
Set lengkap nama simbolik semacam dan aturan penggunaannya
membentuk bahasa pemrograman, yang biasanya disebut sebagai
bahasa assembly. Set aturan untuk menggunakan mnemonic
dalam spesifikasi instruksi dan program lengkap disebut syntax
bahasa.
Program yang ditulis dalam bahasa assembly dapat secara
otomatis ditranslasikan ke rangkaian instruksi mesin oleh suatu
program yang disebut assembler. Program assembler adalah salah
satu kumpulan program yang merupakan bagian dari software
sistem.
5
•ASSEMBLER DIRECTIVE

Selain menyediakan mekanisme untuk menyatakan instruksi
dalam suatu program, bahasa assembly memungkinkan
programer untuk menetapkan informasi lain yang diperlukan
untuk mentranslasikan source program ke dalam object
program.

6
7
8
•ASSEMBLY DAN EKSEKUSI PROGRAM
Source program yang ditulis dalam bahasa assembly harus
diassemblem menjadi object program bahasa mesin sebelum
dapat dieksekusi. Hal ini dilakukan oleh program assembler,
yang mengganti semua simbol untuk mode operasi dan
penggalamatan dengan kode biner yang digunakaa dalam
instruksi mesin, dan mengganti semua nama dan label dengan
nilai sebenarnya.

9
•NOTAS1 BILANGAN
Pada saat berhadapan dengan nilai numerik, seringkali lebih
mudah untuk menggunakan notasi desimal yang telah dikenal.
Tentu saja, nilai tersebut disimpan dalam komputer sebagai
bilangan biner. Pada beberapa situasi, lebih mudah untuk
menetapkan pola biner secara langsung. Kebanyakan
assembler memungkinkan bilangan numerik dinyatakan
dengan berbagai cara yang berbeda, menggunakan konvensi
yang ditetapkan oleh syntax bahasa assembly.

10
B. OPERASI INPUT/OUTPUT DASAR
Bagian sebelumnya dalam bab ini mendeskripsikan instruksi
mesin dan mode pengalamatan. Kita telah mengasumsikan bahwa
data yang dikenai operasi instruksi ini telah disimpan dalam
memori. Kita sekarang membahas sarana yang digunakan untuk
mentransfer data antara memori komputer dan dunia luar. Operasi
Input/Output (I/O) sangat penting, dan cara operasi tersebut
dijalankan dapat memiliki efek yang signifikan pada performa
komputer.

11
12
C. STACK DAN QUEU
Program komputer seringkali memerlukan subtask tertentu
yang menggunakan struktur subroutine yang umum. Untuk
mengatur hubungan kontrol dan infonnasi antara program utama
dan subrotine, maka digunakan suatu struktur data yang disebut
stack. Bagian ini akan mendeskripsikan stack, dan struktur data
yang berhubungan erat dengannya yang disebut queu.

13
14
15
D. SUBROUTINE

Pada suatu program, seringkali perlu untuk melakukan
subtask tertentu berulangkali pada nilai data yang berbeda.
Subtask semacam itu biasanya disebut subroutine. Misalnya,
suatu subroutine dapat mengevaluasi fungsi sinus atau
mensortir suatu list nilai menjadi urutan meningkat atau
menurun.
Instruksi Call hanyalah instruksi branch khusus yang melakukan
operasi berikut:
• Menyimpan isi PC dalam link register
• Branch ke alamat target yang ditetapkan oleh instruksi
Instruksi Return adalah instruksi branch khusus yang melakukan
operasi berikut:
• Branch ke alamat yang terdapat dalam link register.
16
•SUBROUTINE NESTING DAN STACK PROSESOR
Praktek pemrograman umum, yang disebut subroutine nesting,
adalah menggunakan satu sub routine untuk memanggil
subroutine lain. Dalam hat ini, return address call yang kedua juga
disimpan dalam link register, menghancurkan isi sebelumnya.

17
• PARAMETER PASSING

Pada saat calling suatu subroutine, suatu program harus
menyediakan parameter ke subroutine, yaitu operand atau
alamatnya, yang akan digunakan dalam komputasi.
Selanjutnya, subroutine mengembalikan parameter lain, dalam
hal ini, hasil komputasi tersebut. Pertukaran informasi antara
calling program dan subroutine disebut sebagai parameter
passing. Parameter passing dapat dilakukan dengan beberapa
cara. Parameter tersebut dapat ditempatkan dalam register atau
dalam lokasi memori, sehingga dapat diakses oleh subroutine.
Atau alternatif lainnya, parameter tersebut dapat ditempatkan
pada stack prosesor yang digunakan untuk menyimpan return
address.

18
19
•STACK FRAME
Sekarang amatilah bagaimana stack digunakan dalam contoh pada
Gambar 2.26. Selama eksekusi subroutine, enam lokasi pada puncak
stack berisi entri yang diperlukan oleh subroutine tersebut. Lokasi
ini merupakan ruang kerja privat untuk subroutine, dibuat pada saat
subroutine dimasuki dan dikosongkan pada saat subroutine
mengembalikan kontrol ke calling program. Ruang semacam itu
disebut stack frame. Jika subroutine memerlukan lebih banyak ruang
untuk variabel mernori lokal, maka dapat juga dialokasikan pada
stack.

20
21
22
23
E. INSTRUKSI TAMBAHAN
Sejauh ini kita telah memperkenalkan instruksi berikut:
Move, Load, Store, Clear, Add, Subtract, Increment,
Decrement, Branch, Testbit, Compare, Call, dan Return. 13
Instruksi ini, bersama dengan mode pengalamatan dalam
Tabel 2.1, telah memungkinkan kita untuk menuliskan
routine untuk mengilustrasikan operasi memory-mapped I/O
dasar.

24
a. INSTRUKSI LOGIKA
Operasi logika,seperti AND, OR, dan NOT yang diterapkan pada
bit individu, adalah blok bangunan dasar dari sirkuit digital,
sebagaimana dideskripsikan dalam Apendiks A. Juga akan
menggunakan instruksi yang menerapkan operasi ini ke semua bit
word atau byte secara mandiri dan paralel.
b. INSTRUKSI SHIF DAN ROTATE

Terdapat banyak aplikasi yang meminta bit suatu operand dishift sejumlah posisi bit tertentu ke kanan atau kiri. Detil
bagaimana shift tersebut dilakukan tergantung pada apakah
operand tersebut adalah bilangan bertanda atau beberapa
informasi binary-code yang lebih umum.
25
SHIFT LOGIKA
Diperlukan dua instruksi shift logika, satu untuk menggeser ke
kiri (LshiftL) dan yang lain untuk menggeser ke kanan (LshiftR).
Instruksi shift logika dan aritmatika

CONTOH DIGIT-PACKING

0

R0

C
Sebelum

0

0

1

1

1

Sesudah

1

1

1

0

. . . 0 1

(a.) Logical shift left

0

. . . 0

1

1

1

0

0

Lshift#2,R0

26
R0
Before :

0

1

1

After :

0

0 0

1

C

1

0

0 . . . 0

1

0 . . . 0 1

1 1

1

LShiftR #2,R0

(b) Logical shift right

R0
Before :

After :

C

1 0

0 1

1 . . . 0 1 0

0

1

1

0

1

1

0

(c) Arithmetic shift right

1

1

. . . 0

AShiftR #2,R0
27
SHIFT ARITMATIKA
Suatu studi tentang representasi bilangan biner 2’s-complement pada
Gambar 2.1 menyatakan bahwa pergeseran posisi bit nomor satu ke
kiri setara dengan mengalikannya dengan 2; dan menggesernya ke
kanan setara dengan membaginya dengan 2.

OPERASI ROTASI

Pada operasi pergeseran, bit yang bergeser di luar operand hilang,
kecuali bit terakhir yang digeser akan disimpan dalam flag Carry C.

28
Instruksi rotate

R0

C
Sebelum :

0

0

1 1

1 0

Sesudah :

1

1

1

. . . 0 1

0

. . . 0 1

(a) Rotate left without carry

1

0

1

1

RotateL #2,R0

R0

C
Sebelum :

C

0

1

1

1

0

. . . 0

1

1

Sesudah :

C

0

1

1

1

0

. . . 0

1

1

(b) Rotate left whith carry

RotateLC #2,R0

29
R0
Sebelum :

0

1 1

Sesudah :

1 1

1 0

0 1

C
1

0

. . . 0

1

. . . 0 1

1 1

0

(c) Rotate right without carry

RotateR #2,R0

R0

C

Sebelum :

0

1

1

1

0

. . . 0

Sesudah :

1

0

0

1

1

1

(d) Rotate right with carry

0

1

1

0

. . . 0

1

RotateRC #2,R0
30
F.. PROGRAM CONTOH
Pada bagian ini kita menampilkan tiga contoh yang
mengilustrasikan lebih lanjut penggunaan instruksi mesin.

•PROGRAM VECTOR DOT PRODUCT
Contoh pertama adalah aplikasi numerik yang merupakan
ekstensi program loop .

31
•PROGRAM BYTE-SORTING
Program byte-sorting menggunakan penyortiran straight-selection.
•Program bahasa-C untuk sorting

(j=n - 1 ; j > 0 ; j = j – 1)

For

{for (k = j – 1; k >= 0 ; k = k – 1)
{if (LIST [k] > LIST [j]

{ TEMP = LIST [k];
LIST[k] = LIST [j];
LIST[j] = TEMP;
}
}

}

32
•LINKED LIST
Banyak program aplikasi nonnumerik mensyaratkan bahwa list
informasi yang berurutan direpresentasikan dan disimpan dengan
suatu cara srhingga mudah untuk menambahkan item ke list
tersebut atau untuk menhapus item dari list pada posisi apapun
dengan tetap menjaga urutan item yang diinginkan

33
G. ENCODING INSTRUKSI MESIN
Kita telah memperhatikan instruksi yang menjalankan operasi seperti
penambahan, pengurangan, pemindahan, pergeseran, rotasi, dan
branch. Instruksi ini dapat menggunkana operand dengan ukuran
yang berbeda, seperti 32-bit dan 8-bit bilangan atau karakter 8-bit
ASCII-encoded. Tipe operasi yang dilakukan dan tipe operand yang
digunakan dapat ditentukan menggunakan pola biner ter-encode
yang disebut sebagai OP code untuk instruksi tertentu.

34
35

Weitere ähnliche Inhalte

Was ist angesagt?

Set intruksi
Set intruksiSet intruksi
Set intruksiryobroza
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelIcal Militanmannojack
 
Set instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturSet instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturFarhan Arrahman
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatanBuhori Muslim
 
Pertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan intelPertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan inteljumiathyasiz
 
Pertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaPertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaBuhori Muslim
 
Tipe dan format instruksi 1
Tipe dan format instruksi 1Tipe dan format instruksi 1
Tipe dan format instruksi 1Rosyid Ridlo
 
Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)rdbmn
 
Set intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatanSet intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatanDevry Berta
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatanlailalutfi
 
14684664 mikroprosesor
14684664 mikroprosesor14684664 mikroprosesor
14684664 mikroprosesorAbe Mubarok
 
Arsitektur dan desain set
Arsitektur dan desain setArsitektur dan desain set
Arsitektur dan desain setPrisca Renatha
 

Was ist angesagt? (19)

Set intruksi
Set intruksiSet intruksi
Set intruksi
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intel
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
SET INSTRUKSI
SET INSTRUKSISET INSTRUKSI
SET INSTRUKSI
 
Set instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturSet instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitektur
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatan
 
Pert.4 set instruksi arm
Pert.4 set instruksi armPert.4 set instruksi arm
Pert.4 set instruksi arm
 
Pertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan intelPertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan intel
 
Bahasa assembly
Bahasa assemblyBahasa assembly
Bahasa assembly
 
Pertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaPertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan juga
 
Tipe dan format instruksi 1
Tipe dan format instruksi 1Tipe dan format instruksi 1
Tipe dan format instruksi 1
 
Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)
 
Set intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatanSet intruksi berupa jenis intruksi teknik pengalamatan
Set intruksi berupa jenis intruksi teknik pengalamatan
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatan
 
4. bahasa-rakitan[3]
4. bahasa-rakitan[3]4. bahasa-rakitan[3]
4. bahasa-rakitan[3]
 
Prosessor SAP 1
Prosessor SAP 1Prosessor SAP 1
Prosessor SAP 1
 
14684664 mikroprosesor
14684664 mikroprosesor14684664 mikroprosesor
14684664 mikroprosesor
 
Arsitektur dan desain set
Arsitektur dan desain setArsitektur dan desain set
Arsitektur dan desain set
 

Ähnlich wie Pertemuan 3-instruksi-mesin-dan-program-bagian-23

Pertemuan 3 stack dan queu
Pertemuan 3 stack dan queuPertemuan 3 stack dan queu
Pertemuan 3 stack dan queujumiathyasiz
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKDidik Supriyono
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPURamandha Auryl
 
Assembler (Modul 4).pdf
Assembler (Modul 4).pdfAssembler (Modul 4).pdf
Assembler (Modul 4).pdfDesaSumbung
 
Alat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcAlat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcDeva Saputra
 
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdfMODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdfLalu Delsi Samsumar
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedFrance Rhezhek
 
Pertemuan 12-pipelining1
Pertemuan 12-pipelining1Pertemuan 12-pipelining1
Pertemuan 12-pipelining1France Rhezhek
 
Arsitektur komputer pertemuan 10
Arsitektur komputer pertemuan 10Arsitektur komputer pertemuan 10
Arsitektur komputer pertemuan 10Afrina Ramadhani
 
Pert 6
Pert 6Pert 6
Pert 6Wanti
 
143428387 modul-pelatihan-plc-doc
143428387 modul-pelatihan-plc-doc143428387 modul-pelatihan-plc-doc
143428387 modul-pelatihan-plc-dochendra firdaus
 

Ähnlich wie Pertemuan 3-instruksi-mesin-dan-program-bagian-23 (20)

Pertemuan 3 stack dan queu
Pertemuan 3 stack dan queuPertemuan 3 stack dan queu
Pertemuan 3 stack dan queu
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIK
 
Plc dasar
Plc dasarPlc dasar
Plc dasar
 
Modul praktikum instruksi dasar
Modul praktikum instruksi dasarModul praktikum instruksi dasar
Modul praktikum instruksi dasar
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPU
 
07 modul bahan ajar 04 0
07 modul bahan ajar 04 007 modul bahan ajar 04 0
07 modul bahan ajar 04 0
 
Assembler (Modul 4).pdf
Assembler (Modul 4).pdfAssembler (Modul 4).pdf
Assembler (Modul 4).pdf
 
Alat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcAlat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plc
 
Tp.plc
Tp.plcTp.plc
Tp.plc
 
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdfMODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1.pdf
 
ppt-plc.ppt
ppt-plc.pptppt-plc.ppt
ppt-plc.ppt
 
Pertemuan 14-sistem-embedded
Pertemuan 14-sistem-embeddedPertemuan 14-sistem-embedded
Pertemuan 14-sistem-embedded
 
Pertemuan 12-pipelining1
Pertemuan 12-pipelining1Pertemuan 12-pipelining1
Pertemuan 12-pipelining1
 
Arsitektur komputer pertemuan 10
Arsitektur komputer pertemuan 10Arsitektur komputer pertemuan 10
Arsitektur komputer pertemuan 10
 
Pert 6
Pert 6Pert 6
Pert 6
 
Plc
PlcPlc
Plc
 
Bab ii
Bab iiBab ii
Bab ii
 
Pertemuan 9 orkom
Pertemuan 9 orkomPertemuan 9 orkom
Pertemuan 9 orkom
 
Bab IV.ppt
Bab IV.pptBab IV.ppt
Bab IV.ppt
 
143428387 modul-pelatihan-plc-doc
143428387 modul-pelatihan-plc-doc143428387 modul-pelatihan-plc-doc
143428387 modul-pelatihan-plc-doc
 

Mehr von France Rhezhek

Pertemuan 12 dasar dasar pemograman
Pertemuan 12 dasar dasar pemogramanPertemuan 12 dasar dasar pemograman
Pertemuan 12 dasar dasar pemogramanFrance Rhezhek
 
Pertemuan 10 sistem bilangan
Pertemuan 10 sistem bilanganPertemuan 10 sistem bilangan
Pertemuan 10 sistem bilanganFrance Rhezhek
 
Pertemuan 9 alat output
Pertemuan 9 alat outputPertemuan 9 alat output
Pertemuan 9 alat outputFrance Rhezhek
 
Pertemuan 7 alat proses
Pertemuan 7 alat prosesPertemuan 7 alat proses
Pertemuan 7 alat prosesFrance Rhezhek
 
Pertemuan 6 alat input
Pertemuan 6 alat inputPertemuan 6 alat input
Pertemuan 6 alat inputFrance Rhezhek
 
Pertemuan 5 penggolongan komputer
Pertemuan 5 penggolongan komputerPertemuan 5 penggolongan komputer
Pertemuan 5 penggolongan komputerFrance Rhezhek
 
Pertemuan 3 perkembangan perangkat lunak
Pertemuan 3 perkembangan perangkat lunakPertemuan 3 perkembangan perangkat lunak
Pertemuan 3 perkembangan perangkat lunakFrance Rhezhek
 
Pertemuan 4 penerapan komputer
Pertemuan 4 penerapan komputerPertemuan 4 penerapan komputer
Pertemuan 4 penerapan komputerFrance Rhezhek
 
Pertemuan 2 perkembangan perangkat keras
Pertemuan 2 perkembangan perangkat kerasPertemuan 2 perkembangan perangkat keras
Pertemuan 2 perkembangan perangkat kerasFrance Rhezhek
 
Pertemuan 1 gambaran umum komputer
Pertemuan 1 gambaran umum komputerPertemuan 1 gambaran umum komputer
Pertemuan 1 gambaran umum komputerFrance Rhezhek
 
Pertemuan 11-aritmatika
Pertemuan 11-aritmatikaPertemuan 11-aritmatika
Pertemuan 11-aritmatikaFrance Rhezhek
 
Pertemuan 9-sistem-memori1
Pertemuan 9-sistem-memori1Pertemuan 9-sistem-memori1
Pertemuan 9-sistem-memori1France Rhezhek
 
Pertemuan 7-sistem-bus1
Pertemuan 7-sistem-bus1Pertemuan 7-sistem-bus1
Pertemuan 7-sistem-bus1France Rhezhek
 
Pertemuan 13-prosessor-super-skalar1
Pertemuan 13-prosessor-super-skalar1Pertemuan 13-prosessor-super-skalar1
Pertemuan 13-prosessor-super-skalar1France Rhezhek
 
Pertemuan 10-sistem-memori2
Pertemuan 10-sistem-memori2Pertemuan 10-sistem-memori2
Pertemuan 10-sistem-memori2France Rhezhek
 
Pertemuan 6-organisasi-input-dan-output1
Pertemuan 6-organisasi-input-dan-output1Pertemuan 6-organisasi-input-dan-output1
Pertemuan 6-organisasi-input-dan-output1France Rhezhek
 
Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001France Rhezhek
 
Pertemuan 2-instruksi-mesin-dan-program3
Pertemuan 2-instruksi-mesin-dan-program3Pertemuan 2-instruksi-mesin-dan-program3
Pertemuan 2-instruksi-mesin-dan-program3France Rhezhek
 
Pertemuan 1-struktur-dasar-komputer1
Pertemuan 1-struktur-dasar-komputer1Pertemuan 1-struktur-dasar-komputer1
Pertemuan 1-struktur-dasar-komputer1France Rhezhek
 

Mehr von France Rhezhek (20)

Pertemuan 12 dasar dasar pemograman
Pertemuan 12 dasar dasar pemogramanPertemuan 12 dasar dasar pemograman
Pertemuan 12 dasar dasar pemograman
 
Pertemuan 10 sistem bilangan
Pertemuan 10 sistem bilanganPertemuan 10 sistem bilangan
Pertemuan 10 sistem bilangan
 
Pertemuan 9 alat output
Pertemuan 9 alat outputPertemuan 9 alat output
Pertemuan 9 alat output
 
Pertemuan 7 alat proses
Pertemuan 7 alat prosesPertemuan 7 alat proses
Pertemuan 7 alat proses
 
Pertemuan 6 alat input
Pertemuan 6 alat inputPertemuan 6 alat input
Pertemuan 6 alat input
 
Pertemuan 5 penggolongan komputer
Pertemuan 5 penggolongan komputerPertemuan 5 penggolongan komputer
Pertemuan 5 penggolongan komputer
 
Pertemuan 3 perkembangan perangkat lunak
Pertemuan 3 perkembangan perangkat lunakPertemuan 3 perkembangan perangkat lunak
Pertemuan 3 perkembangan perangkat lunak
 
Pertemuan 4 penerapan komputer
Pertemuan 4 penerapan komputerPertemuan 4 penerapan komputer
Pertemuan 4 penerapan komputer
 
Pertemuan 2 perkembangan perangkat keras
Pertemuan 2 perkembangan perangkat kerasPertemuan 2 perkembangan perangkat keras
Pertemuan 2 perkembangan perangkat keras
 
Pertemuan 1 gambaran umum komputer
Pertemuan 1 gambaran umum komputerPertemuan 1 gambaran umum komputer
Pertemuan 1 gambaran umum komputer
 
Pertemuan 11-aritmatika
Pertemuan 11-aritmatikaPertemuan 11-aritmatika
Pertemuan 11-aritmatika
 
Pertemuan 9-sistem-memori1
Pertemuan 9-sistem-memori1Pertemuan 9-sistem-memori1
Pertemuan 9-sistem-memori1
 
Pertemuan 8-mid-tes1
Pertemuan 8-mid-tes1Pertemuan 8-mid-tes1
Pertemuan 8-mid-tes1
 
Pertemuan 7-sistem-bus1
Pertemuan 7-sistem-bus1Pertemuan 7-sistem-bus1
Pertemuan 7-sistem-bus1
 
Pertemuan 13-prosessor-super-skalar1
Pertemuan 13-prosessor-super-skalar1Pertemuan 13-prosessor-super-skalar1
Pertemuan 13-prosessor-super-skalar1
 
Pertemuan 10-sistem-memori2
Pertemuan 10-sistem-memori2Pertemuan 10-sistem-memori2
Pertemuan 10-sistem-memori2
 
Pertemuan 6-organisasi-input-dan-output1
Pertemuan 6-organisasi-input-dan-output1Pertemuan 6-organisasi-input-dan-output1
Pertemuan 6-organisasi-input-dan-output1
 
Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001
 
Pertemuan 2-instruksi-mesin-dan-program3
Pertemuan 2-instruksi-mesin-dan-program3Pertemuan 2-instruksi-mesin-dan-program3
Pertemuan 2-instruksi-mesin-dan-program3
 
Pertemuan 1-struktur-dasar-komputer1
Pertemuan 1-struktur-dasar-komputer1Pertemuan 1-struktur-dasar-komputer1
Pertemuan 1-struktur-dasar-komputer1
 

Pertemuan 3-instruksi-mesin-dan-program-bagian-23

  • 1. MATA KULIAH: ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2013 1
  • 2. CREATED BY: FRANS RUMENGAN D. 1129040049 PTIK 02 2011 2
  • 3. Bahasa Assembly 1. Assembler Directive 2. Assembler dan Eksekusi Program 3. Notasi Bilangan Operasi input/output dasar Stack dan Queu Subroutine 1. Subroutine Nesting dan Stack Prosesor 2. Parameter Passing 3. Stack Frame Instruksi Tambahan 1. Instruksi Logika 2. Instruksi Shift dan Rotate 3. Perkalian dan Pembagian Program Contoh 1. Program Vector Dot Product 2. Program Byte-Sorting 3. Linked List Encoding Instruksi Mesin 3
  • 4. PENDAHULUAN Instruksi Mesin dan Program membahas cara program dieksekusi dalam komputer dari sudut pandang instruksi mesin. Penekanannya adalah pada konsep dasar. Kita menggunakan cara umum untuk mendeskripsikan instruksi mesin dan metode pengalamatan operand yang biasanya terdapat pada prosesor komersial. Sejumlah instruksi dan metode pengalamatan diperkenalkan untuk membantu kita menampilkan program realistik yang lengkap untuk menjalankan suatu tugas sederhana. Program umum ini ditetapkan pada tingkat bahasa assembly. Bahasa assembly adalah representasi bahasa mesin yang dapat dibaca untuk prosesor. Fitur hubungan antara bahasa tingkat-tinggi dan bahasa mesin adalah pertimbangan utama dalam desain komputer. 4
  • 5. A. BAHASA ASSEMBLY Set lengkap nama simbolik semacam dan aturan penggunaannya membentuk bahasa pemrograman, yang biasanya disebut sebagai bahasa assembly. Set aturan untuk menggunakan mnemonic dalam spesifikasi instruksi dan program lengkap disebut syntax bahasa. Program yang ditulis dalam bahasa assembly dapat secara otomatis ditranslasikan ke rangkaian instruksi mesin oleh suatu program yang disebut assembler. Program assembler adalah salah satu kumpulan program yang merupakan bagian dari software sistem. 5
  • 6. •ASSEMBLER DIRECTIVE Selain menyediakan mekanisme untuk menyatakan instruksi dalam suatu program, bahasa assembly memungkinkan programer untuk menetapkan informasi lain yang diperlukan untuk mentranslasikan source program ke dalam object program. 6
  • 7. 7
  • 8. 8
  • 9. •ASSEMBLY DAN EKSEKUSI PROGRAM Source program yang ditulis dalam bahasa assembly harus diassemblem menjadi object program bahasa mesin sebelum dapat dieksekusi. Hal ini dilakukan oleh program assembler, yang mengganti semua simbol untuk mode operasi dan penggalamatan dengan kode biner yang digunakaa dalam instruksi mesin, dan mengganti semua nama dan label dengan nilai sebenarnya. 9
  • 10. •NOTAS1 BILANGAN Pada saat berhadapan dengan nilai numerik, seringkali lebih mudah untuk menggunakan notasi desimal yang telah dikenal. Tentu saja, nilai tersebut disimpan dalam komputer sebagai bilangan biner. Pada beberapa situasi, lebih mudah untuk menetapkan pola biner secara langsung. Kebanyakan assembler memungkinkan bilangan numerik dinyatakan dengan berbagai cara yang berbeda, menggunakan konvensi yang ditetapkan oleh syntax bahasa assembly. 10
  • 11. B. OPERASI INPUT/OUTPUT DASAR Bagian sebelumnya dalam bab ini mendeskripsikan instruksi mesin dan mode pengalamatan. Kita telah mengasumsikan bahwa data yang dikenai operasi instruksi ini telah disimpan dalam memori. Kita sekarang membahas sarana yang digunakan untuk mentransfer data antara memori komputer dan dunia luar. Operasi Input/Output (I/O) sangat penting, dan cara operasi tersebut dijalankan dapat memiliki efek yang signifikan pada performa komputer. 11
  • 12. 12
  • 13. C. STACK DAN QUEU Program komputer seringkali memerlukan subtask tertentu yang menggunakan struktur subroutine yang umum. Untuk mengatur hubungan kontrol dan infonnasi antara program utama dan subrotine, maka digunakan suatu struktur data yang disebut stack. Bagian ini akan mendeskripsikan stack, dan struktur data yang berhubungan erat dengannya yang disebut queu. 13
  • 14. 14
  • 15. 15
  • 16. D. SUBROUTINE Pada suatu program, seringkali perlu untuk melakukan subtask tertentu berulangkali pada nilai data yang berbeda. Subtask semacam itu biasanya disebut subroutine. Misalnya, suatu subroutine dapat mengevaluasi fungsi sinus atau mensortir suatu list nilai menjadi urutan meningkat atau menurun. Instruksi Call hanyalah instruksi branch khusus yang melakukan operasi berikut: • Menyimpan isi PC dalam link register • Branch ke alamat target yang ditetapkan oleh instruksi Instruksi Return adalah instruksi branch khusus yang melakukan operasi berikut: • Branch ke alamat yang terdapat dalam link register. 16
  • 17. •SUBROUTINE NESTING DAN STACK PROSESOR Praktek pemrograman umum, yang disebut subroutine nesting, adalah menggunakan satu sub routine untuk memanggil subroutine lain. Dalam hat ini, return address call yang kedua juga disimpan dalam link register, menghancurkan isi sebelumnya. 17
  • 18. • PARAMETER PASSING Pada saat calling suatu subroutine, suatu program harus menyediakan parameter ke subroutine, yaitu operand atau alamatnya, yang akan digunakan dalam komputasi. Selanjutnya, subroutine mengembalikan parameter lain, dalam hal ini, hasil komputasi tersebut. Pertukaran informasi antara calling program dan subroutine disebut sebagai parameter passing. Parameter passing dapat dilakukan dengan beberapa cara. Parameter tersebut dapat ditempatkan dalam register atau dalam lokasi memori, sehingga dapat diakses oleh subroutine. Atau alternatif lainnya, parameter tersebut dapat ditempatkan pada stack prosesor yang digunakan untuk menyimpan return address. 18
  • 19. 19
  • 20. •STACK FRAME Sekarang amatilah bagaimana stack digunakan dalam contoh pada Gambar 2.26. Selama eksekusi subroutine, enam lokasi pada puncak stack berisi entri yang diperlukan oleh subroutine tersebut. Lokasi ini merupakan ruang kerja privat untuk subroutine, dibuat pada saat subroutine dimasuki dan dikosongkan pada saat subroutine mengembalikan kontrol ke calling program. Ruang semacam itu disebut stack frame. Jika subroutine memerlukan lebih banyak ruang untuk variabel mernori lokal, maka dapat juga dialokasikan pada stack. 20
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. E. INSTRUKSI TAMBAHAN Sejauh ini kita telah memperkenalkan instruksi berikut: Move, Load, Store, Clear, Add, Subtract, Increment, Decrement, Branch, Testbit, Compare, Call, dan Return. 13 Instruksi ini, bersama dengan mode pengalamatan dalam Tabel 2.1, telah memungkinkan kita untuk menuliskan routine untuk mengilustrasikan operasi memory-mapped I/O dasar. 24
  • 25. a. INSTRUKSI LOGIKA Operasi logika,seperti AND, OR, dan NOT yang diterapkan pada bit individu, adalah blok bangunan dasar dari sirkuit digital, sebagaimana dideskripsikan dalam Apendiks A. Juga akan menggunakan instruksi yang menerapkan operasi ini ke semua bit word atau byte secara mandiri dan paralel. b. INSTRUKSI SHIF DAN ROTATE Terdapat banyak aplikasi yang meminta bit suatu operand dishift sejumlah posisi bit tertentu ke kanan atau kiri. Detil bagaimana shift tersebut dilakukan tergantung pada apakah operand tersebut adalah bilangan bertanda atau beberapa informasi binary-code yang lebih umum. 25
  • 26. SHIFT LOGIKA Diperlukan dua instruksi shift logika, satu untuk menggeser ke kiri (LshiftL) dan yang lain untuk menggeser ke kanan (LshiftR). Instruksi shift logika dan aritmatika CONTOH DIGIT-PACKING 0 R0 C Sebelum 0 0 1 1 1 Sesudah 1 1 1 0 . . . 0 1 (a.) Logical shift left 0 . . . 0 1 1 1 0 0 Lshift#2,R0 26
  • 27. R0 Before : 0 1 1 After : 0 0 0 1 C 1 0 0 . . . 0 1 0 . . . 0 1 1 1 1 LShiftR #2,R0 (b) Logical shift right R0 Before : After : C 1 0 0 1 1 . . . 0 1 0 0 1 1 0 1 1 0 (c) Arithmetic shift right 1 1 . . . 0 AShiftR #2,R0 27
  • 28. SHIFT ARITMATIKA Suatu studi tentang representasi bilangan biner 2’s-complement pada Gambar 2.1 menyatakan bahwa pergeseran posisi bit nomor satu ke kiri setara dengan mengalikannya dengan 2; dan menggesernya ke kanan setara dengan membaginya dengan 2. OPERASI ROTASI Pada operasi pergeseran, bit yang bergeser di luar operand hilang, kecuali bit terakhir yang digeser akan disimpan dalam flag Carry C. 28
  • 29. Instruksi rotate R0 C Sebelum : 0 0 1 1 1 0 Sesudah : 1 1 1 . . . 0 1 0 . . . 0 1 (a) Rotate left without carry 1 0 1 1 RotateL #2,R0 R0 C Sebelum : C 0 1 1 1 0 . . . 0 1 1 Sesudah : C 0 1 1 1 0 . . . 0 1 1 (b) Rotate left whith carry RotateLC #2,R0 29
  • 30. R0 Sebelum : 0 1 1 Sesudah : 1 1 1 0 0 1 C 1 0 . . . 0 1 . . . 0 1 1 1 0 (c) Rotate right without carry RotateR #2,R0 R0 C Sebelum : 0 1 1 1 0 . . . 0 Sesudah : 1 0 0 1 1 1 (d) Rotate right with carry 0 1 1 0 . . . 0 1 RotateRC #2,R0 30
  • 31. F.. PROGRAM CONTOH Pada bagian ini kita menampilkan tiga contoh yang mengilustrasikan lebih lanjut penggunaan instruksi mesin. •PROGRAM VECTOR DOT PRODUCT Contoh pertama adalah aplikasi numerik yang merupakan ekstensi program loop . 31
  • 32. •PROGRAM BYTE-SORTING Program byte-sorting menggunakan penyortiran straight-selection. •Program bahasa-C untuk sorting (j=n - 1 ; j > 0 ; j = j – 1) For {for (k = j – 1; k >= 0 ; k = k – 1) {if (LIST [k] > LIST [j] { TEMP = LIST [k]; LIST[k] = LIST [j]; LIST[j] = TEMP; } } } 32
  • 33. •LINKED LIST Banyak program aplikasi nonnumerik mensyaratkan bahwa list informasi yang berurutan direpresentasikan dan disimpan dengan suatu cara srhingga mudah untuk menambahkan item ke list tersebut atau untuk menhapus item dari list pada posisi apapun dengan tetap menjaga urutan item yang diinginkan 33
  • 34. G. ENCODING INSTRUKSI MESIN Kita telah memperhatikan instruksi yang menjalankan operasi seperti penambahan, pengurangan, pemindahan, pergeseran, rotasi, dan branch. Instruksi ini dapat menggunkana operand dengan ukuran yang berbeda, seperti 32-bit dan 8-bit bilangan atau karakter 8-bit ASCII-encoded. Tipe operasi yang dilakukan dan tipe operand yang digunakan dapat ditentukan menggunakan pola biner ter-encode yang disebut sebagai OP code untuk instruksi tertentu. 34
  • 35. 35