• Tidak ada hasil yang ditemukan

Central Processing Unit (CPU)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Central Processing Unit (CPU)"

Copied!
31
0
0

Teks penuh

(1)

Arsitektur & Instruksi

Mikroprosesor

(2)

Komputer vs

Prosessor

Komputer (Komputer) berbeda dengan Prosessor Unit (Central Processing Unit / MPU). Komputer tersusun atas

Prosessor + unit-unit penyusun komputer lainnya (seperti: Unit I/O, Memori, dan Sistem Bus).

(3)

Central Processing Unit (CPU)

(4)

CPU cont…

CPU merupakan jantung dari komputer, dan melakukan beberapa fungsi berikut:

Memberikan sinyal-sinyal pewaktuan (Clock) dan kontrol untuk semua elemen dalam komputer

1.Mengambil instruksi dan data dari memori

2.Mentransfer data menuju dan dari memori dan elemen

I/O

3.Men-dekode (menterjemahkan) instruksi

4.Melakukan operasi-operasi aritmatika & logika yang

diminta oleh instruksi

5.Merespon sinyal-sinyal kontrol yang diberikan oleh I/O,

(5)

Bahasa Assembly

Bahasa

Assembly

adalah

bahasa

pemrograman

tingkat

rendah,

karena

kemampuannya berinteraksi langsung dengan

perangkat keras (

hardware

) komputer. Disebut

juga dengan bahasa mesin (

machine language

)

karena terdiri dari logika 0 dan 1 (sistem biner)

Bahasa

C,

Basic,

Pascal,

dll

merupakan

beberapa contoh dari bahasa pemrograman

(6)

Beberapa Istilah

Mnemonic (kode operasi):

merupakan istilah untuk kode instruksi (perintah) dalam bahasa assembly, seperti mov, add, jump, etc.

Register :

berfungsi untuk penyimpanan sementara (register serba guna). Digunakan untuk 16 bit (X) dan 8 bit (H,L)

Operand :

adalah suatu item data yang dimanipulasi.

Assembler :

digunakan untuk menerjemahkan bahasa Assembly ke dalam kode mesin (disebut juga dengan kode Objek). Kuliah ini digunakan Turbo Assembler

mov AX, 56FCH

(7)

Microprocessor (

P)

 Pada dasarnya P hanyalah kumpulan register (hardware) yang operasinya ditentukan oleh instruksi mesin yang dapat dieksekusi (software)

 Kumpulan fungsi yang dapat dieksekusi P disebut set instruksi (instruction set)

 Instruksi mesin (machine instruction) terdiri dari kode operasi dan operand yang dispesifikasi dalam kode biner

 Jenis Operand : Alamat, Bilangan, Karakter, dan Data logika

(8)

P

(contin….1)

Jenis Operasi yang dilakukan :

Data Processing / Pengolahan Data

(ALU atau Arithmetic Logic Unit)

Data Movement / Perpindahan Data

Control / Kontrol (Instruksi Pemeriksaan

(9)

Set Instruksi

:

-

Transfer Data (Data Movement)

-

Logika

-

Aritmatika

-

Kontrol

-

String

P

(contin….2)

Data Processing

(10)

REGISTER

Pada CPU, register digunakan untuk menyimpan

informasi sementara. Informasi ini dapat berupa

satu atau dua byte untuk memproses data atau

alamat. Register-register tersebut antara lain:

AX

digunakan sebagai akumulator 2 byte,

BX

sebagai basis pengalamatan register,

CX

digunakan sebagai counter dalam bentuk

operasi,

(11)

Register (Con….1)

a) Fungsi khusus:

-

AX : Akumulator Perkalian, pembagian, … 16

bit. Dibagi menjadi AH dan AL yang

masing-masing 8 bit

-

BX : Penunjuk memori tak langsung terhadap

Data Segment (DS). Dibagi menjadi BH dan

BL

-

CX : Pencacahan / looping. Dibagi menjadi CH

dan CL. CL dimanfaaatkan untuk penggeseran

bit

-

DX : Pengalamatan I/O tak langsung. Dibagi

(12)

Register (Con….2)

b) Register penunjuk (BP, SP) :

Sebagai penunjuk offset dalam mengalamati memori pada operasi stack (penumpukan)

SS : SP SS : BP

c) Register Index :

Digunakan untuk menahan alamat offset untuk istruksi yang menjangkau data yang tersimpan di memori

- SI untuk menyimpan alamat operand sumber (DS : SI)

- DI untuk menyimpan alamat lokasi tujuan operand (DS :

(13)

Register (Con….3)

d) Register Segment :

Digunakan untuk penunjukan alamat memori.

-

CS : Segmen Instruksi

-

DS : Segmen Data

-

SS : Segmen Stack (Penumpukan)

-

ES : Segmen Data Ekstra

e) Register IP :

(14)

Register

Instruction Pointer

IP 16

Flag Register

FR 16

Extra Segment (Reg Segmen)

ES 16

Stack Segment (Reg Segmen)

SS 16

Data Segment (Reg Segmen)

DS 16

Code Segment (Reg Segmen)

CS 16

Data (General Purpose Register) DL 8

DH 8

DX 16

Count (General Purpose Register) CL 8

CH 8

CX 16

Base (General Purpose Register) BL 8

BH 8

BX 16

Akumulator (General Purpose Register) AL 8

AH 8

(15)

Mode Pengalamatan

Menspesifikasikan alamat suatu operand

#

Mode Pengalamatan segera

(Data bilangan

langsung disertakan dengan OpCode)

Contoh : mov AX,

4477

H

#

Mode Pengalamatan Register

(Data sumber

ada dalam register

P)

Contoh : mov AX,

BX

(16)

Mode Pengalamatan (Cont…)

#

Mode Pengalamatan tak Langsung

(Data di memori dan ditunjuk alamatnya dengan isi register)

Contoh : mov ah,[SI]

#

Mode Pengalamatan Berindex

(Data di memori dan ditunjuk dengan reg index + bilangan)

Contoh : mov AX,[SI+6]

#

Mode Pengalamatan Berbasis

(Data di memori dan ditunjuk dengan reg BP / BX + bilangan)

Contoh : mov AX,[BP+2]

#

Mode Pengalamatan String

(17)

Instruksi Transfer Data

 MOV Tujuan,Sumber <movement/pindah> Contoh : mov [0000H],AL

mov AX,BX mov AL,27H

 XCHG Tujuan,Sumber <Exchange/Tukar> Contoh : xchg AX,BX

xchg [0100],BH  In Akumulator Port <Input>

Contoh : In AL,10H In AX,DX

(18)

Instruksi Logika

 AND Tujuan,Sumber AND BX,DX

 OR Tujuan,Sumber OR AH,[0100]

 XOR Tujuan,Sumber XOR AL,01010101

 NOT Tujuan NOT AX

<Hasil operasi disimpan di tujuan>

 TEST Tujuan,Sumber TEST BX,DX

 And Tujuan,Sumber AND BX,DX

(19)

Instruksi Logika (Cont…1)

SHL Tujuan,banyak-geseran

<Shift Logical

Left>

SHL Tujuan,banyak-geseran

<Shift Logical

Right>

SAL Tujuan,banyak-geseran

<Shift Arithmetic

Left>

SAR Tujuan,banyak-geseran

<Shift Arithmetic

Right>

Contoh : SHL AL,1

(20)

Instruksi Logika (Cont…2)

CF X7 X6 X5 X4 X3 X2 X1 X0

X7 X6 X5 X4 X3 X2 X1 X0 0

X7 X7 X6 X5 X4 X3 X2 X1 X0 X0

Before

After

SHL

After

(21)

Instruksi Logika (Cont…3)

RCL Tujuan,banyak-putaran

<Rotate with

Carry Left>

RCR Tujuan,banyak-putaran

<Rotate with

Carry Right>

ROL Tujuan,banyak-putaran

<Rotate Left>

ROR Tujuan,banyak-putaran

<Rotate Right>

Contoh : RCL AL,1

(22)

Instruksi Logika (Cont…4)

CF X7 X6 X5 X4 X3 X2 X1 X0

X7 X6 X5 X4 X3 X2 X1 X0 C

F

X7 X7 X6 X5 X4 X3 X2 X1 X0 X7

Before

After

RCL

After

(23)

Instruksi Aritmetika

 Penjumlahan

ADD Tujuan, Sumber ADD AX,BX

ADC Tujuan, Sumber ADC AX,BX

INC Tujuan, Sumber INC CX

DAA (Decimal Adjust Addition)

AAA (ASCII Adjust Addition)

 Pengurangan

SUB Tujuan, Sumber SUB SI,BX

SBB Tujuan, Sumber SUB [SI],CH

DEC Tujuan DEC CL

NEGTujuan NEG AL

DAS (Decimal Adjust Subtraction)

(24)

Instruksi Aritmetika (Cont…1)

 Perkalian

MUL Sumber <AX  AL x Sumber 8 bit>

MUL BX <DX,AX AX x Sumber 16bit>

IMUL Sumber <Untuk Bilangan bertanda> IMUL CX

 Pembagian

DIV Sumber IDIV Sumber

 Pengaturan

CWB <Convert Byte to Word> (MSB dari ALAH)

(25)

Instruksi Kontrol

 Lompatan tanpa kondisi

JMP Operand  JMP Lagi JMP BX

Operand : Short-Label/Near-Label Mem16, Reg16  Intrasegment

Far-Label, Mem32, reg32  Intersegment

 Lompatan dengan Kondisi

Lompatan terjadi jika kondisi terpenuhi Kondisi mengacu pada register flag

Contoh : JZ Operand (Jump Zero)

JNZ Operand (Jump Not Zero) JS Operand (Jump Sign)

(26)

Instruksi Kontrol (Cont…1)

Looping

Loop Short-Label

<melompat ke Short-Label jika CX  0> Contoh : Mov CX,10

lagi INC AX DEC CX Loop lagi

PUSHSumber

Untuk menyimpan data dari register ke memori stack

PUSH AX mengakibatkan (SP-1)AH (SP-2)AL SP  SP-2

POPTujuan

Untuk mengambil kembali data yang tersimpan di stack

(27)

Instruksi Kontrol (Cont…2)

 CALL Operand

Untuk memanggil prosedur (subrutin)

 RET

Untuk Mengakhiri Prosedur dan kembali ke rutin pemanggil

CALL NearLabel [SP-1] IPH [SP-2] IPL

SP  SP-2

IP  NearLabel RET IPL  [SP]

(28)

Instruksi Kontrol (Cont…3)

Interupsi Software

INT Tipe  Tipe bernilai 0-255

Jika interupsi dijalankan, P akan menyimpan isi flag, CS, IP ke stack lalu mengambil nilai baru untuk CS dan IP dari tabel

Interupsi (Interupt Vector) yang terletak pada alamat memori 00000H – 003FFH (1kByte)

Tipe Alamat Fungsi

0 00000 Devide by Zero 1 00004 Single Step

2 00008 NMI

“ “ “

“ “ “

(29)

Instruksi Kontrol (Cont…4)

 Interupsi Software (Cont…)

dan untuk kembali digunakan perintah IRET

 STC (Set Carry Flag)

 CLC (Clear Carry Flag)

 CMC (Complement Carry Flag)

 STD (Set Direction Flag)

 CLD (Clear Direction Flag)

 STI (Set Interrupt Flag)

 CLI (Clear Interrupt Flag)

 HALT berhenti

(30)

Instruksi Kontrol (Cont…5)

STOS Tujuan <menyimpan data dari AL/AX

ke memori>

STOSB

STOSW

STOSW

DS:[DI+1:DI]

AX

REP

<Instruksi Pengulangan>

REP MOVS

ulangi instruksi ini

sampai register CX bernilai 0

REP STOSB

STOSB : CX

CX-1

(31)

Instruksi String

String adalah rangkaian data pada memori baik dalam byte atau word

 MOVS Tujuan, Sumber <memindahkan blok memori> Tujuan dan sumber berupa label

MOVSB <Byte> ES:DI  Tujuan MOVSW <Word> DS:SI  Sumber MOVSB  ES:[DI]  DS:[SI]

Jika DF = 0 maka DI  DI+1 SI  SI+1 DF = 1 maka DI  DI-1

SI  SI-1

 CMPS Tujuan, Sumber <membandingkan blok memori>

Referensi

Dokumen terkait

Pembeli akan memilih kantin mana yang akan dilakukan pemesanan makanan setelah itu pelanggan akan diberikan kartu RFID dengan kode kartu yang sesuai dengan menu

5.9.3 Kesesuaian Sistem Distribusi Karbon Dioksida pada Gas Turbin, Generator , Auxiliary PLTGU dan Gudang 4 PLTU

Pada tahap ini dilakukan penyempurnaan dan pemantapan gerak tari dengan musik iringan agar memperoleh keserasian dengan gerak yang dibawakan penari, sehingga garapan tari Sang

Petunjuk Pengisian : Jawablah pertanyaan atau pernyataan berikut ini dengan mengisi jawaban pada titik-titik yang telah disediakan1. atau dengan memberi tanda cek

Nah yang kedua adalah tentukan apa yang ingin Anda lakukan , Anda perlu menentukan apa yang Anda ingin capai di dalam hidup ini, selama saya melakukan coaching

 berhubungan dengan komplikasi yang umumnya terjadi. 3 3 Diseluruh dunia diperkirakan antara Diseluruh dunia diperkirakan antara 16–16,6 juta kasus baru demam tifoid ditemukan

• Saham - saham yang kami suka dalam dua minggu ke depan adalah BKSL yang masih dalam pergerakan Uptrend, MEDC yang saat ini sudah sangat berpotensi membentuk Bottom dan akan

Berdasarkan bangsa sapi potong dan sebaran umur dari kelompok sapi dengan jumlah sampel lebih dari 10 ekor, ternyata tingkat abnormalitas primer spermatozoa tertinggi ditemukan