Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

4/24/20151 Central Processing Unit. 4/24/20152 CPU* adalah  Pusat pengolahan (pemrosesan) didalam sebuah sistem komputer.  Tempat berlangsungnya eksekusi.

Presentasi serupa


Presentasi berjudul: "4/24/20151 Central Processing Unit. 4/24/20152 CPU* adalah  Pusat pengolahan (pemrosesan) didalam sebuah sistem komputer.  Tempat berlangsungnya eksekusi."— Transcript presentasi:

1 4/24/20151 Central Processing Unit

2 4/24/20152 CPU* adalah  Pusat pengolahan (pemrosesan) didalam sebuah sistem komputer.  Tempat berlangsungnya eksekusi program. * prosesor atau mikroprosesor II.1 Konsep Dasar I1I1 I2I2 I3I3 I4I4 : : Program Main Memory CPU IjIj Program dieksekusi dengan satu per satu mengeksekusi instruksi2 penyusun program

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

4 4/24/20154  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. Contoh : Instruksi ADD R1, [ Mem  ] Interpretasi : Operasi penjumlahan data yg tersimpan di dalam register R1 dengan data yg tersimpan dialamat memory Mem , hasil penjumlahan disimpan di register R1. CUIR IR : Instruction Register, tempat penampungan instruksi yg akan diinterpretasikan c0c0 c1c1 cKcK

5 4/24/20155  Arithmetic & Logic Unit (ALU) ALU berfungsi melaksanakan operasi2 aritmatika dan operasi2 logika sesuai dengan perintah yang terkandung dalam tiap instruksi. Sinyal kendali:  membaca data dari memory dan data dari register  mengaktifkan operasi penjumlahan (di dalam ALU)  menyimpan hasil penjumlahan ke register. AdderMultiplier ComparatorAND c0c0 c1c1 c3c3 Bus internal CPU ALU c i : sinyal kendali i

6 4/24/20156  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, 1. Register2 untuk keperluan khusus (special purpose) 2. Register2 untuk keperluan umum (general purpose) PC IR ACC MAR MBR R0R0 R1R1 RKRK R1R1 Register2 khusus Register2 umum PSW

7 4/24/20157 CU ALU Instruction Register Memory Adress Register Memory Data Register Program Counter Processor Status Word R0R0 R1R1 R2R2 R N-1 ke Bus Kendali ke Bus Datake Bus Alamat ke komponen internal CPU CPU Clock Bus Data internal CPU

8 4/24/20158  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.

9 4/24/20159  Accumulator (ACC) 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 SZVI...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

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

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

12 4/24/  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 Ada dua jenis stack :  user stack (untuk data milik user)  system stack (untuk data milik sistem)

13 4/24/ (a) stack kosongb)stack berisi 1 data (c) stack berisi 2 data (d) stack berisi 3 data TOS : top of stack alamat Operasi penulisan data kedalam stack

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

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

16 4/24/ Clock 1 Clock Cycle t (detik) T clk 1 Frekuensi clock : f clk = Cycle/detik ( atau Hertz ) T clk  Clock Clock adalah sinyal penyinkron untuk sinkronisasi operasi operasi di dalam CPU dan operasi antar CPU dengan memory dan I/O unit.

17 4/24/ Intel 8085 CPU CU

18 4/24/ Intel 8085 Signals

19 lts0519 EKSEKUSI PROGRAM oleh CPU Statement 1 Statement 2 Statement 3 Statement N Program dalam bahasa level tinggi (source code) Instruksi 1 Instruksi 2 Instruksi 3 Instruksi M Program dalam bahasa level assembly Compiler - di main memory - dieksekusi oleh CPU M > N N statement level tinggi M instruksi level assembly kode I 1 kode I 2 kode I 3 kode I M assembler Program dalam bahasa mesin, menggunakan kode 0,1

20 lts0520  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 I1I1 I2I2 I3I3 I4I4 I5I I1I1 I2I2 I3I3 I4I4 I5I , 10, 11, 12, 13,... 9, 10, 11, 12, 9, 10, 11, 12, 9... urutan pembacaan alamat I 4 bukan instruksi percabangan I 4 instruksi perca- bangan, misalkan instruksi JUMP 9

21 lts0521 Program sederhana, penjumlahan (A + B) MNEMONICHex code STOP STORE (006) ADD (005) LOAD (004) B0 0 5 Hasil penjumlahan A dan B0 0 6 A0 0 4 StopF Simpan isi akumulator (hasil A + B) ke lokasi Jumlahkan B ke accumulator Copy A ke accumulator KeteranganInstruksiLokasi di memor y program data

22 lts0522 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)

23 lts0523 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 1 instruction cycle IF : Instruction Fetch ID : Instruction Decoding OF : Operand Fetch EX : Execute t

24 lts0524 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 IF OF MDR AC + EX c1c1 c0c0 ckck c0c0 c1c1 cXcX PC MAR MEMORYMEMORY MDR

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

26 4/24/ 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 b N- 1 b N- 2 b2b2 b1b1 b0b0 1 word-length = N bit Kinerja CPU

27 4/24/ II. 3 Operasi CPU Operasi utama CPU adalah mengeksekusi program. Eksekusi program dilakukan dengan mengeksekusi instruksi – instruksi didalam program tersebut satu per-satu. I1I1 I2I2 I3I3 I4I4 : : Program Eksekusi Program : Eks. I 1 Eks. I 2 Eks. I 3 Eks. I 4 1 instruction-cycle  Setiap instruksi dieksekusi dalam 1 instruction cycle I i : Instruksi ke-i

28 4/24/  Secara umum 1 instruction-cycle terdiri dari 2 fase. Instruction Cycle 1. Instruction Fetch2. 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.

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

30 4/24/ 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 Contoh : data di dalam register R1 dan data di memory, pada alamat  ADD R1, Mem  CU operandopcode Format instruksi : (1) (2)

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

32 4/24/ R1  R1 + Mem   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. Contoh : Eksekusi instruksi ADD R1, Mem a

33 4/24/ 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 1 instruction cycle IF : Instruction Fetch ID : Instruction Decoding OF : Operand Fetch EX : Execute t

34 4/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 IF OF MDR AC + EX c1c1 c0c0 ckck c0c0 c1c1 cXcX PC MAR MEMORYMEMORY MDR

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

36 END OF SESSION Any Questions? 4/24/201536


Download ppt "4/24/20151 Central Processing Unit. 4/24/20152 CPU* adalah  Pusat pengolahan (pemrosesan) didalam sebuah sistem komputer.  Tempat berlangsungnya eksekusi."

Presentasi serupa


Iklan oleh Google