orkom

Upload: didik-prasetya

Post on 19-Jul-2015

43 views

Category:

Documents


0 download

TRANSCRIPT

Nama:GALIH ADTYA NPM:11312293 MATA KULIAH:ORKOM TUGAS Studi Kasus Mikroprosesor secara Umum

Proses Kerja suatu cPu Urutan kerja yang harus dilakukan oleh CU dalam mengerjakan suatu instruksi tergantung pada desainnya. Arsitektur VLI (Variable Length Instruction) seperti pada x86 menggunakan 3 tahapan sebagai berikut : 1. Penjemputan Instruksi (IF = Instruction Fetch) IR ! Mem[CS+IP] Proses kerja dimulai dengan penjemputan instruksi baru, bagian operation codenya (opcode) dari memori ke Instruction Register (IR). Untuk dapat menjemput opcode instruksi baru tersebut, Control Unit (CU) harus menerjemahkan isi dari register Code Segment dan Instruction Pointer (CS+IP) untuk menentukan letak dari instruksi baru tersebut di memori. Hasil terjemahan isi CS+IP ini dikirim CU ke pengontrol memori melalui bus alamat, yang kemudian oleh pengontrol memori, isi dari cell memori yang bersesuaian diletakkan di bus data. CU kemudian memasukkannya ke IR. 2. Dekoding Instruksi (ID = Instruction Decode) Isi baru dari IR tersebut kemudian diterjemahkan oleh CU untuk mengetahui apa saja yang diinginkan oleh instruksi baru tersebut. Untuk penterjemahan ini, CU menggunakan bantuan tabel instruksi untuk memahami isi dari opcode tersebut. Karena belum tentu opcode yg ada di IR tersebut adalah instruksi lengkapnya, maka ada kemungkinan akan terjadi penjemputan kembali ke memori untuk melengkapi instruksinya. Contoh : PUSH AX = 50 " instruksi 1 byte yg berarti tidak perlu lagi penjemputan ke memori MOV AX,0007 = B8 07 00 " hanya opcode = B8 yg dijemput pada tahap IF. Ini menyebabkan perlunya pengaksesan memori kembali untuk menjemput data 07 00 3. Eksekusi Instruksi (EX = Execution) Tergantung dari hasil penterjemahan instruksi diatas, CU akan melaksanakan satu dari tiga fungsi, yaitu : Data Transfer: CU akan memindahkan data dari suatu elemen memori ke elemen memori lainnya, contoh : MOV, PUSH, POP

Aritmetika dan Logika: CU akan meminta ALU (Arithmetic and Logic Unit) untuk melakukan kalkulasi, contoh : ADD, SUB, XOR, AND Control: CU akan melompat ke suatu lokasi memori dengan cara mengubah isi register CS dan IP, contoh : JMP, JE, JZ, CALL, RET Set Instruksi Di dalam CPU terdapat daftar instruksi yang dapat dikerjakan hanya oleh CPU itu sendiri. Daftar ini sering disebut sebagai microcode dan setiap kali CPU menerima sebuah instruksi, CPU akan menterjemahkan kode instruksi tersebut (decoding) dan kemudian melihat arti dari masing-masing pecahan tersebut di microcode. Ini menunjukkan bahwa tidak semua CPU memiliki microcode yg sama. Beda arsitektur berarti berbeda juga microcodenya. Sebagai contoh, program yang dapat dijalankan di IBM PC tidak akan jalan di Apple Macintosh. Tipe-tipe instruksi dapat dikategorikan menjadi 8, yaitu : No Type Instruksi Contoh 1 Data Transfer Load-Stores (memindahkan informasi dari dan ke CPU dengan pengalamatan memori) 2 Arithmetic & Logic Aritmetika integer dan operasi logika : ADD, AND 3 Control Branch, Jump, Procedure call dan return, Traps 4 System Operating System call, manajemen virtual memory 5 Floating Point Operasi floating point : tambah, kali 6 Decimal Penjumlahan/Perkalian desimal, Konversi desimal-ke-karakter 7 String String move, String compare, String search 8 Graphics Operasi pixel, Operasi kompresi/dekompresi Semua CPU menyediakan fasilitas pengoperasian terhadap ketiga tipe pertama. Sedangkan support untuk tipe instruksi keempat System berbeda jauh pada tiap-tiap arsitektur. Sedangkan empat tipe terakhir akan berbeda untuk masing-masing arsitektur dari tidak ada sama sekali sampai pengembangan secara khusus. Contoh: AMD K6/2 dengan 3Dnow! yang merupakan tambahan instruksi untuk operasi Graphics.

Pada arsitektur Intel 80x86, berdasarkan pengukuran dengan SPECint92, pada umumnya terdapat penggunaan extensive pada beberapa tipe instruksi tertentu.

Top 10 instruksi yang paling sering dijalankan pada 80x86 :

Rank Instruksi 80x86 % total dijalankan

1 Load 22 % 2 Conditional branch 20 % 3 Compare 16 % 4 Store 12 % 5 Add 8 % 6 And 6 % 7 Sub 5 % 8 Move register-register 4 %

9 Call 1 % 10 Return 1 % 10 Return 1 % Addressing Mode Jika CPU mengerjakan instruksi yang memerlukan pengalamatan, instruksi tersebut pasti termasuk ke salah satu jenis pengalamatan (addressing mode) di bawah ini : Jenis Contoh instruksi Arti Register Add R4, R3 Reg[R4] ! Reg[R4] + Reg[R3] Immediate Add R4, #3 Reg[R4] ! Reg[R4] + 3 Displacement Add R4, 100(R1) Reg[R4] ! Reg[R4] + Mem[100+Reg[R3]] Register Indirect Add R4, (R1) Reg[R4] ! Reg[R4] + Mem[Reg[R1]] Indexed Add R3, (R1+R2) Reg[R3] ! Reg[R4] + Mem[Reg[R1]+Reg[R2]] Direct or Absolute Add R1, (1001) Reg[R1] ! Reg[R1] + Mem[1001] Memory Indirect Add R1, @(R3) Reg[R1] ! Reg[R4] + Mem[Mem[Reg[R3]]] Autoincrement Add R1, (R2)+ Reg[R1] ! Reg[R1] + Mem[Reg[R2]] Reg[R2] ! Reg[R2] + d Autodecrement Add R1, -(R2) Reg[R2] ! Reg[R2] d Reg[R1] ! Reg[R1] - Mem[Reg[R2]] Scaled Add R1, 100(R2)[R3] Reg[R1] ! Reg[R1] + Mem[100+Reg[R2]+Reg[R3]*d]

CPU adalah singkatan dari Central Processing Unit, yaitu perangkat keras komputer (harware) yang bertugas melaksanakan perintah dan mengolah data dari perangkat lunak. Sering disebut sebagai prosesor, atau otaknya komputer. CPU itu sendiri adalah komponen internal komputer. CPU bentuknya kecil dan persegi, berisi beberapa konektor logam pada bagian bawahnya untuk dimasukkan secara langsung ke soket CPU pada motherboard. Setiap motherboard hanya mendukung jenis tertentu dari CPU sehingga anda harus memeriksa spesifikasi motherboard sebelum mencoba untuk mengganti atau meng-upgrade CPU. Berbarengan dengan CPU umumnya juga dilekatkan heat sink dan kipas kecil yang terpasang langsung di atas CPU untuk membantu menjaga agar tidak terlalu panas. Komponen CPU CPU terdiri atas tiga komponen, yaitu:

Processor - Control Unit, atau Unit Kontrol, bertugas sebagai pusat dari pengendalian komputer yaitu mengambil berbagai data dan instruksi dari memori untuk diproses, menyeleksi instruksi yang berhubungan dengan fungsi logika dan aritmetika dan mengirimkannya ke bagian ALU untuk diproses, mengawasi kerja ALU, mengatur alat-alat input output, dan membawa kembali hasil (output) pemrosesan ke memori utama. - ALU (Arithmetic and Logical Unit), berfungsi melakukan proses perhitungan aritmatika dan logika sesuai dengan instruksi program. - Register, berfungsi sebagai memori tempat penyimpanan data atau instruksi yang akan diproses. Data dari memori utama (RAM) diambil kemudian ditempatkan di register, selanjutnya data dari registerlah yang diproses.

Metode Kerja

Cara Kerja Saat sebuah program akan dieksekusi, maka isi program tersebut yang berada di dalam harddisk diambil dan di masukkan ke RAM. Control Unit membedakan instruksi dan data, instruksi ditempatkan ke Program-Storage sedangkan data ditempatkan di Working-Storage. Selanjutnya instruksi dan data tersebut di ambil oleh Control Unit di simpan di Register. Bila instruksi merupakan perhitungan logika atau aritmatika, maka ia dibawa ke ALU untuk diproses. Hasilnya akan ditampung di Accumulator. Control Unit akan mengambilnya dan membawanya kembali ke RAM yang kemudian di tampilkan hasilnya ke alat output.

Tabel Instruksi Set JENIS OPERASI URAIAN Memindah data dari sumber ke tujuan Memindah data dari prosesor ke memori Memindah data dari memori ke prosesor Menukar data sumber dengan data tujuan Memindah data 0 ke tujuan Memindah data 1 ke tujuan Memindah data dari sumber ke bagian paling atas stack Memindah data dari bagian paling atas stack ke tujuan

MOVE STORE LOAD Transfer EXCHANGE data CLEAR SET PUSH POP

ADD SUBSTRACT MULTIPLY Aritmatika DIVIDE ABSOLUTE NEGATE INCREMENT DECREMENT

Menghitung jumlah dua buah operand Menghitung pengurangan dua buah operand Menghitung perkalian dua buah operand Menghitung pembagian dua buah operand Mengganti operand dengan nilai absolutnya Mengganti tanda operand Menambah 1 ke operand Mengurang 1 ke operand

Logika

AND OR NOT Exclusive-OR TEST COMPARE SHIFT ROTATE

Melakukan operasi logika terhadap bit Meiakukan operasi logika terhadap bit Melakukan operasi logika terhadap bit Melakukan operasi logika terhadap bit Menguji kondisi tertentu; setting flag berdasarkan hasil Membandingkan logika atau aritmatika dua buah operand Menggeser bit ke kanan/kiri Menggeser ke kanan/kiri dengan ujung terjalin

Pemindahan

kontrol

JUMP JUMP Bersyarat JUMP ke Subrutine RETURN EXECUTE HALT WAIT NO OPERATION

Pemindahan tanpa syarat Pemindahan dengan syarat Melompat ke program lain diluar program utama Kembali ke program utama, biasanya akhir dari subi utin Mengambil operand dari lokasi tertentu dan mengeksekusi Menghentikan eksekusi program Menghentikan eksekusi, melanjutkan program bila syarat terpenuhi Tidak ada operasi tapi eksekusi jalan terus

Input/ output

INPUT (read) OUTPUT(write) START I/O TEST I/O

Memindah data dari perangkat I/O ke alamat tertentu Mengirim data dari sumber tertentu ke perangkat I/O Memindah instruski ke prosesor I/O untuk mengawali operasi I/O Mengirim status dari sistem I/O ke tujuan tertentu