Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Central Processing Unit

Presentasi serupa


Presentasi berjudul: "Central Processing Unit"— Transcript presentasi:

1 Central Processing Unit
4/14/2017

2 II.1 Konsep Dasar CPU* adalah I1 I2 I3 I4 : Ij CPU
Pusat pengolahan (pemrosesan) didalam sebuah sistem komputer. Tempat berlangsungnya eksekusi program. * prosesor atau mikroprosesor Main Memory I1 I2 I3 I4 : Ij CPU Program Program dieksekusi dengan satu per satu mengeksekusi instruksi2 penyusun program 4/14/2017

3 II.2 Struktur CPU Didalam CPU terdapat elemen elemen :
ALU (Arithmetic Logic Unit) CU (Control Unit) Register register Bus internal, untuk komunikasi didalam CPU Clock , untuk sinkronisasi operasi di dalam dan di luar CPU. II.2 Struktur CPU CPU ALU Register2 Control Unit Clock Bus Sistem Bus internal CPU 4/14/2017

4 Control Unit (CU) CU berfungsi mengendalikan seluruh operasi perangkat keras komputer, melalui Interprestasi instruksi2 dalam program yang sedang dieksekusi Pembangkitan sinyal2 kendali berdasarkan hasil interpretasi tsb. IR : Instruction Register , tempat penampungan instruksi yg akan diinterpretasikan c0 IR CU c1 cK Contoh : Instruksi ADD R1 , [ Mem a ] Interpretasi : Operasi penjumlahan data yg tersimpan di dalam register R1 dengan data yg tersimpan dialamat memory Mem a , hasil penjumlahan disimpan di register R1. 4/14/2017

5 Arithmetic & Logic Unit (ALU)
Sinyal kendali: membaca data dari memory dan data dari register mengaktifkan operasi penjumlahan (di dalam ALU) menyimpan hasil penjumlahan ke register. Arithmetic & Logic Unit (ALU) ALU berfungsi melaksanakan operasi2 aritmatika dan operasi2 logika sesuai dengan perintah yang terkandung dalam tiap instruksi. Adder Multiplier Comparator AND c0 c1 c3 Bus internal CPU ALU ci : sinyal kendalii 4/14/2017

6 Register-register Register adalah elemen pengingat didalam CPU , sebagai tempat penyimpanan sementara bagi data atau parameter2 yang diperlukan dalam operasi CPU. Terdapat dua kelompok register, Register2 untuk keperluan khusus (special purpose) Register2 untuk keperluan umum (general purpose) Register2 khusus Register2 umum PC R0 IR R1 ACC R1 PSW MAR RK MBR 4/14/2017

7 CPU CU ALU Instruction Register Memory Adress Memory Data
Program Counter Processor Status Word R0 R1 R2 RN-1 ke Bus Kendali ke Bus Data ke Bus Alamat ke komponen internal CPU CPU Clock Bus Data internal CPU 4/14/2017

8 Memory Address Register (MAR)
Berisi alamat memory dari mana data/instruksi akan dibaca (operasi Read Memory) atau alamat memory kemana data akan dituliskan (operasi Write Memory). Pada operasi I/O (read I/O atau Write I/O) , MAR berisi alamat I/O. Memory Data/Buffer Register (MDR/MBR) Berisi data/instruksi yang baru saja dibaca dari memory , atau data yang akan dituliskan ke memory. Pada operasi I/O (read I/O atau Write I/O) , MDR berisi data dari/ ke modul I/O. Instruction Register (IR) Menyimpan instruksi yang dibaca dari memory, dan yg akan dieksekusi. Program Counter (PC) Menyimpan alamat instruksi yang akan dieksekusi berikutnya. 4/14/2017

9 Accumulator (ACC) S Z V I ... C
Akumulator adalah register data khusus , sebagai tempat penyimpanan data hasil operasi ALU (tidak semua prosesor memiliki ACC). Program/Processor Status Word (PSW) PSW adalah register yang akan mencatat informasi status sebuah prosesor. PSW juga disebut sebagai Flag Register. Bit bit didalam register PSW berisi informasi mengenai hasil suatu operasi dan status prosesor S Z V I ... C PSW Bit S : informasi apakah hasil operasi pos atau neg Bit Z : informasi apakah hasil operasi = 0 atau =/= 0 Bit V : informasi apakah hasil operasi meluap Bit I : informasi apakah prosesor dapat diinterupsi 4/14/2017

10 0/1 . . . bit-bit status (flag) Interrupt Enable/Disable (I - flag)
I = 1 , CPU tidak melayani interupsi I = 0 , CPU melayani interupsi Supervisor Flag (V – flag) V = 1 , CPU dalam mode “sistem” V = 0 , CPU dalam mode “user” Zero Flag ( Z – flag ) Z = 1 , hasil operasi ALU = 0 Z = 0 , hasil operasi ALU =/= 0 Sign Flag (S – flag) S = 0 , hasil operasi ALU positif S = 1 , hasil operasi ALU negatif 4/14/2017

11 Register Y sebagai buffer bagi operand sumber pada operasi ALU.
Register register ALU Register Y sebagai buffer bagi operand sumber pada operasi ALU. Register Z sebagai buffer bagi data hasil operasi ALU Z ALU dari register-data/ register-alamat ke register-data/ register-alamat Y 4/14/2017

12 Stack adalah tempat penyimpanan data
Stack Pointer Stack adalah tempat penyimpanan data yang aksesnya diorganisasikan secara LIFO (Last In First Out). Data yang disimpan terakhir akan dibaca lebih dahulu. Stack dapat diimplementasikan sebagai : Satu set lokasi didalam main memory atau Satu set register didalam CPU memory stack CPU stack Ada dua jenis stack : user stack (untuk data milik user) system stack (untuk data milik sistem) 4/14/2017

13 Operasi penulisan data kedalam stack
alamat alamat alamat alamat 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 (a) stack kosong stack berisi 1 data (c) stack berisi 2 data (d) stack berisi 3 data TOS : top of stack 4/14/2017

14 Operasi pembacaan data dari dalam stack
alamat alamat alamat alamat 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 stack berisi 5 data (b) stack berisi 4 data (c) stack berisi 3 data (d) stack berisi 2 data TOS : top of stack 4/14/2017

15 Operasi penulisan dilakukan pada
Stack Pointer (dalam CPU) berfungsi menunjukkan alamat bagian teratas stack (Top of Stack) Stack Pointer memory a a TOS a - 1 Operasi penulisan dilakukan pada alamat yg sesuai dengan isi stack-pointer. Operasi pembacaan dilakukan pada alamat (stack-pointer - 1 ) 4/14/2017

16 Clock t Tclk Clock adalah sinyal penyinkron untuk sinkronisasi operasi
operasi di dalam CPU dan operasi antar CPU dengan memory dan I/O unit. Clock t (detik) Tclk 1 Clock Cycle 1 Frekuensi clock : fclk = Cycle/detik ( atau Hertz ) Tclk 4/14/2017

17 Intel CPU Students can look at the remaining slides in their own time if there is insufficient time in lecture. CU 4/14/2017

18 Intel 8085 Signals 4/14/2017

19 EKSEKUSI PROGRAM oleh CPU
Program dalam bahasa level tinggi (source code) Program dalam bahasa mesin, menggunakan kode 0,1 Program dalam bahasa level assembly Compiler assembler Instruksi1 Instruksi2 Instruksi3 InstruksiM kode I1 kode I2 kode I3 kode IM Statement1 Statement2 Statement3 StatementN N statement level tinggi M instruksi level assembly - di main memory - dieksekusi oleh CPU lts05 M > N

20 Eksekusi program dilakukan per instruksi
Setiap instruksi akan dieksekusi oleh CPU dalam satu instruction-cycle Urutan eksekusi instruksi ditentukan oleh logika program. Urutan eksekusi instruksi = urutan pembacaan alamat penyimpanan instruksi I4 bukan instruksi percabangan 1 9 10 11 12 13 1 9 10 11 12 13 I4 instruksi perca-bangan, misalkan instruksi JUMP 9 I1 I1 I2 I2 I3 I3 urutan pembacaan alamat I4 I4 I5 I5 lts05 9, 10, 11, 12, 13 , . . . 9, 10, 11, 12, 9, 10, 11, 12,

21 Program sederhana, penjumlahan (A + B)
MNEMONIC Hex code STOP STORE (006) ADD (005) LOAD (004) B 0 0 5 Hasil penjumlahan A dan B 0 0 6 A 0 0 4 Stop F 0 0 0 0 0 3 Simpan isi akumulator (hasil A + B) ke lokasi 006 0 0 2 Jumlahkan B ke accumulator 0 0 1 Copy A ke accumulator 0 0 0 Keterangan Instruksi Lokasi di memory program data lts05

22 sinyal sinyal kendali hasil interpretasi instruksi MAR
Isi Program Counter (PC) : Alamat instruksi yang akan dibaca dari memory Control Unit sinyal sinyal kendali hasil interpretasi instruksi MAR MDR 4000 alamat bag.opcode bag.operand (address) lts05

23 Instruction Cycle (Fetch-Execute Cycle)
Eksekusi 1 instruksi dilakukan dalam 1 instruction cycle, yang terdiri dari langkah langkah sbb : (1) Baca (Fetch) instruksi yang akan di eksekusi dari memory ke CPU. (2) Interpretasikan (Decode) opcode dari instruksi tersebut. (3) Baca operand dari memory (bila instruksi tsb melibatkan operand yang ada di memory) (4) Laksanakan (Execute) instruksi dan simpan hasilnya (kalau ada). (5) Ulangi langkah 1 untuk instruksi berikutnya. Instruction Cycle (Fetch-Execute Cycle) IF ID OF EX IF ID OF EX 1 instruction cycle IF : Instruction Fetch ID : Instruction Decoding OF : Operand Fetch EX : Execute t lts05

24 PC  MAR MDR  IR IR[address]  MAR A + MDR  A PC + 1  PC
Eksekusi instruksi penjumlahan operand dari memory dengan isi akumulator, mode pengalamatan langsung. IF OF EX ID alamat instruksi berikutnya ADDA address MAR Instruction Decoding IR MDR AC + c1 c0 ck cX PC M E O R Y lts05

25 PC  MAR MDR  IR IR[address]  MAR A  MDR PC + 1  PC
Eksekusi instruksi untuk menyimpan isi akumulator ke memory dengan mode pengalamatan langsung. PC  MAR MDR  IR IR[address]  MAR A  MDR PC + 1  PC IF IF ID IR STOA address M E O R Y EX MAR Instruction Decoding ID MDR tidak ada OF EX AC lts05

26 Kinerja CPU Kinerja CPU sering dinyatakan berdasarkan
Kecepatan pengolahannya, yang dinyatakan dalam jumlah clock-cycles rata rata untuk mengeksekusi sebuah instruksi mesin atau dinyatakan oleh frekuensi clocknya. Contoh : CPI (Cycle per Instruction), jumlah clock cycle rata rata yang diperlukan oleh prosesor untuk mengeksekusi 1 instruksi . Frekuensi clock prosesor ( dalam M.Hz , G.Hz , ... ) Word length atau panjang-kata dari data yang dapat diolah dalam satu operasi di dlm prosesor  sering dikaitkan dengan lebar bus-datanya. Contoh : Prosesor 32 bit , Prosesor 64 bit bN-1 bN-2 b2 b1 b0 1 word-length = N bit 4/14/2017

27 II. 3 Operasi CPU Operasi utama CPU adalah mengeksekusi program. Eksekusi program dilakukan dengan mengeksekusi instruksi – instruksi didalam program tersebut satu per-satu. Eksekusi Program : Eks. I1 1 instruction-cycle Program I1 I2 I3 I4 : Eks. I2 1 instruction-cycle Eks. I3 1 instruction-cycle Eks. I4 1 instruction-cycle Ii : Instruksi ke-i 4/14/2017 Setiap instruksi dieksekusi dalam 1 instruction cycle

28 Fase Instruction-Fetch
Instruction Cycle Secara umum 1 instruction-cycle terdiri dari 2 fase. 1. Instruction Fetch 2. Eksekusi 1 instruction cycle Fase Instruction-Fetch Pada Instruction Fetch , CPU membaca 1 instruksi dari main memory dibawa ke Instruction Register. Selanjutnya instruksi diinterpretasikan, apa operasinya (opcode) , data (operand) apa saja yang dilibatkan dalam operasi tersebut . 4/14/2017

29 Operasi operasi didalam fase IF
CU (5) Update PC [PC]  MAR [M]  MDR [MDR]  IR Decode IR Increment PC (4) PC 123 IR ADD R1 , Mem a (1) (3) MAR 123 MDR ADD R1 , Mem a update isi PC untuk persiapan instruction- cycle berikutnya (1) (2) ADD R1 , Mem a alamat 123 4/14/2017 Main Memory

30 Dari interpretasi instruksi diketahui :
1. Tipe operasi yang diinginkan Contoh : Operasi penjumlahan data yang tersimpan di register dengan data yang tersimpan di main- memory , hasil penjumlahan disimpan di register. 2. Operand (data) yang dioperasikan data di dalam register R1 dan data di memory, pada alamat a CU ADD R1 , Mem a Format instruksi : opcode operand (1) (2) 4/14/2017

31 Fase Eksekusi Dari hasil interpretasi instruksi , Control Unit membangkitkan sinyal sinyal kendali untuk melaksanakan (eksekusi) instruksi ybs. Fase Eksekusi terdiri dari operasi operasi : Fetch Data : Pembacaan data (operand) dari main memory atau dari register, atau modul I/O. Process Data : Operasi (yg diinginkan oleh instruksi) dilaksanakan (eksekusi). Untuk operasi aritmatik atau logika , eksekusi dikerjakan di ALU. Write Data: Menyimpan data hasil eksekusi ke main memory atau ke register atau ke modul I/O (sesuai instruksinya) 4/14/2017

32 Contoh : Eksekusi instruksi ADD R1 , Mem a
R1  R1 + Mem a Transfer isi R1 ke ALU via bus internal. Baca isi alamat a (di memory) , transfer ke ALU Aktifkan modul penjumlah (ADDER) pada ALU Simpan hasil penjumlahan ke R1. 4/14/2017

33 Instruction Cycle (Fetch-Execute Cycle)
Eksekusi 1 instruksi dilakukan dalam 1 instruction cycle, yang terdiri dari langkah langkah sbb : (1) Baca (Fetch) instruksi yang akan di eksekusi dari memory ke CPU. (2) Interpretasikan (Decode) opcode dari instruksi tersebut. (3) Baca operand dari memory (bila instruksi tsb melibatkan operand yang ada di memory) (4) Laksanakan (Execute) instruksi dan simpan hasilnya (kalau ada). (5) Ulangi langkah 1 untuk instruksi berikutnya. Instruction Cycle (Fetch-Execute Cycle) IF ID OF EX IF ID OF EX 1 instruction cycle IF : Instruction Fetch ID : Instruction Decoding OF : Operand Fetch EX : Execute t 4/14/2017

34 PC  MAR MDR  IR IR[address]  MAR A + MDR  A PC + 1  PC
Eksekusi instruksi penjumlahan operand dari memory dengan isi akumulator, mode pengalamatan langsung. IF OF EX ID alamat instruksi berikutnya ADDA address MAR Instruction Decoding IR MDR AC + c1 c0 ck cX PC M E O R Y 4/14/2017

35 PC  MAR MDR  IR IR[address]  MAR A  MDR PC + 1  PC
Eksekusi instruksi untuk menyimpan isi akumulator ke memory dengan mode pengalamatan langsung. PC  MAR MDR  IR IR[address]  MAR A  MDR PC + 1  PC IF IF ID IR STOA address M E O R Y EX MAR Instruction Decoding ID MDR tidak ada OF EX AC 4/14/2017

36 Any Questions? End of Session 4/14/2017


Download ppt "Central Processing Unit"

Presentasi serupa


Iklan oleh Google