Central Processing Unit (CPU)

  

Arsitektur & Instruksi

Mikroprosesor Hasan Mayditia, S.Si

  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).

  Unit Memori RAM ROM Clocks MPU

Input Interface Output Interface Central Processing Unit (CPU) 

  CPU terdiri dari ALU dan Unit kontrol. Hal ini sering dilakukan untuk membedakan “otak” sebenarnya dengan unit-unit lainnya dalam komputer. Selain itu CPU juga tersusun atas beberapa set register untuk mengerjakan fungsi khususnya. 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,

  seperti RESET dan interrupt

  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

tingkat tinggi , karena dalam penggunaannya

tidak perlu mengetahui detail internal arsitektur CPU 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 ,

  56FC H

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

  

  Letak Operand : Memori, register, dan peralatan I/O

  P (contin….1) Jenis Operasi yang dilakukan : 

  Data Processing / Pengolahan Data (ALU atau Arithmetic Logic Unit) 

  Data Movement / Perpindahan Data 

  Control / Kontrol (Instruksi Pemeriksaan dan perekayasaan)

  P (contin….2) Data Processing Kontrol

Set Instruksi :

  • Transfer Data (Data Movement)
  • Logika
  • Aritmatika
  • Kontrol
  • String

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,

DX digunakan untuk pusat data pada operasi I/O

  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

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 (

Register (Con….3)

  CS : Segmen Instruksi

  • DS : Segmen Data
  • SS : Segmen Stack (Penumpukan)
  • ES : Segmen Data Ekstra
  • e) Register IP :

    Digunakan untuk menunjukkan alamat perintah

    yang sedang dieksekusi

Register

  Extra Segment (Reg Segmen) ES

  16 Stack Segment (Reg Segmen) SS

  16 Data Segment (Reg Segmen) DS

  16 Code Segment (Reg Segmen) CS

  16 Destination Index DI

  16 Source Index SI

  16 Base Pointer BP

  16 Stack Pointer SP

  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 AX

  16

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 # Mode Pengalamatan Langsung (Data di

memori dan ditunjuk langsung alamatnya) Mode Pengalamatan (Cont…)

  (Data di memori

  # Mode Pengalamatan tak Langsung

  dan ditunjuk alamatnya dengan isi register) Contoh : mov ah,[SI]

  (Data di memori dan

  # Mode Pengalamatan Berindex

  ditunjuk dengan reg index + bilangan) Contoh : mov AX,[SI+6]

  (Data di memori dan

  # Mode Pengalamatan Berbasis

  ditunjuk dengan reg BP / BX + bilangan) Contoh : mov AX,[BP+2]

  # Mode Pengalamatan String

  Contoh : movsb [ES:DI] [DS:SI]

  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

   Out Port Akumulator <Output>

  Contoh : Out 10H,AL

  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

  <Sama dengan operasi AND tapi hasil operasi tidak disimpan. Hanya untuk mengubah status bendera>

  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&gt; Contoh : SHL AL,1

  Instruksi Logika (Cont…2)

  

3

X

  X Before

  1 X

  2 X

  

3

X

  4 X

  5 X

  6 X

  7 X

  7 X

  X

  1 X

  2 X

  4 X

  CF

  5 X

  6 X

  7 X

  X

  1 X

  2 X

  3 X

  

4

X

  5 X

  6 X

  7 X

  X

  After SHL After SAL Instruksi Logika (Cont…3) 

  RCL Tujuan,banyak-putaran &lt;Rotate with Carry Left&gt;

  

RCR Tujuan,banyak-putaran &lt;Rotate with

Carry Right&gt;

  

ROL Tujuan,banyak-putaran &lt;Rotate Left&gt;

   ROR Tujuan,banyak-putaran &lt;Rotate Right&gt; Contoh : RCL AL,1 ROL [0100],CL

  

Instruksi Logika (Cont…4)

  2 X

  X

  1 X

  2 X

  

3

X

  4 X

  5 X

  6 X

  7 X

  7 X

  X

  F

  1 X C

  

3

X

  CF

  4 X

  5 X

  6 X

  7 X

  X

  1 X

  2 X

  3 X

  

4

X

  5 X

  6 X

  7 X

  X

  7 Before After RCL After ROL Instruksi Aritmetika  Penjumlahan

  ADD Tujuan, Sumber ADD AX,BX ADC Tujuan, Sumber ADC AX,BX

  INC Tujuan, Sumber

  

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)

AAS (ASCII Adjust Subtraction)

  

Instruksi Aritmetika (Cont…1)

 Perkalian

  MUL Sumber &lt;AX  AL x Sumber 8 bit&gt; MUL BX &lt;DX,AX

   AX x Sumber 16bit&gt;

  IMUL Sumber &lt;Untuk Bilangan bertanda&gt;

   Pembagian DIV Sumber

  IDIV Sumber  Pengaturan

  CWB &lt;Convert Byte to Word&gt; (MSB dari AL AH)

  CWD &lt;Convert Word to Double Word&gt; (MSB dari AX DX)

  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) JNS Operand (Jump Not Sign) Instruksi Kontrol (Cont…1)  Looping Loop Short-Label &lt;melompat ke Short-Label jika CX  0&gt;

  Contoh : Mov CX,10 lagi INC AX DEC CX Loop lagi PUSH Sumber Untuk menyimpan data dari register ke memori stack PUSH AX mengakibatkan (SP-1) AH (SP-2) AL SP  SP-2 POP Tujuan Untuk mengambil kembali data yang tersimpan di stack

  POP AX hasilnya AL  [SP] AH  [SP+1] SP  SP+2 Instruksi Kontrol (Cont…2) 

  CALL Operand

  Untuk memanggil prosedur (subrutin)

   RET

  Untuk Mengakhiri Prosedur dan kembali ke rutin pemanggil

  CALL NearLabel [SP-1]  IP H

  [SP-2]  IP

  L

  SP  SP-2

  IP  NearLabel

  RET

  IP  [SP]

  L

  IP  [SP+1]

  H

  SP  SP+2 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 00000 Devide by Zero 1 00004 Single Step 2 00008 NMI “ “ “ “ “ “

  255 003FF “ Instruksi Kontrol (Cont…4) 

  Interupsi Software (Cont…) dan untuk kembali digunakan perintah IRET

  CLD (Clear Direction Flag)

  

  HALT berhenti

  

  CLI (Clear Interrupt Flag)

  

  STI (Set Interrupt Flag)

  

  

  

  STD (Set Direction Flag)

  

  CMC (Complement Carry Flag)

  

  CLC (Clear Carry Flag)

  

  STC (Set Carry Flag)

  NOP (No Operation)

  Instruksi Kontrol (Cont…5) 

  STOS Tujuan &lt;menyimpan data dari AL/AX ke memori&gt; STOSB STOSW STOSW DS:[DI+1:DI]AX

   REP &lt;Instruksi Pengulangan&gt;

REP MOVS  ulangi instruksi ini

sampai register CX bernilai 0 REP STOSB  STOSB : CX  CX-1 ulangi sampai CX = 0

  Instruksi String String adalah rangkaian data pada memori baik dalam byte atau word

  

 MOVS Tujuan, Sumber &lt;memindahkan blok memori&gt; Tujuan dan

sumber berupa label MOVSB &lt;Byte&gt; ES:DI

   Tujuan MOVSW &lt;Word&gt; 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 &lt;membandingkan blok memori&gt;  Load Sumber &lt;mengambil data dari memori ke register

  AL/AX&gt;

Dokumen yang terkait

Pengolahan Limbah Udang untuk Memperoleh Bahan Pakan Sumber Protein Hewani Pengganti Tepung Ikan Shrimp Head Waste Processing to Obtain Feedstuffs Sources of Animal Protein Fishmeal Substitutes

0 0 10

Analysis Development Regional of Cattle Beef in Support Meat Self-Sufficiency in Central Java

0 0 7

Kajian Kelayakan Pengembangan Usaha Ternak Sapi Tebu di Kabupaten Majalengka The Feasibilty Study of Developing Integrated Beef Cattle, Sugar Cane Plantation and Sugar Processing Plant in Majalengka, West Java

0 0 10

Analisis Kualitas Pelayanan Pajak Kendaraan Bermotor Pada Unit Pelayanan Pendapatan Daerah Pontianak Wilayah I Abstrak - Analisis Kepuasan Nasabah Terhadap Kualitas Pelayanan Di P.T. Pegadaian Syariah Cabang A. Yani Pontianak

0 0 6

Analisis Kualitas Pelayanan Unit Usaha Simpan Pinjam Koperasi Wanita Kenanga Pontianak

0 0 9

Analisis Pengaruh Motivasi Kerja Terhadap Kinerja Pegawai Unit Pemeliharaan JalanDan Jembatan Pada Dinas Pekerjaan Umum Provinsi Kalimantan Barat Abstrak - Analisis Pengaruh Motivasi Kerja Terhadap Kinerja Pegawai Unit Pemeliharaan JalanDan Jembatan Pada

0 0 6

5. Processing Crime and Incident Scenes

0 0 91

The Perception of Perhumas Central Java Members on Principles of PR Performance in Islam Persepsi Anggota Perhumas Jateng tentang Prinsip Kinerja PR dalam Islam

0 0 11

The Role of Islamic Preachers in Social Construction of Society of Palangka Raya Central Kalimantan Province (Review of the Islamic Religious Speech Materials) - Digital Library IAIN Palangka Raya

0 0 7

Public Perception of the Mother's Role in Children's Education (Sociological Study of Kahayan Riverside Society In Palangka Raya City of Central Kalimantan) - Digital Library IAIN Palangka Raya

0 0 6