organisasi & arsitektur komputer 2 struktur & fungsi cpu ibp widja, mt

of 41/41
ORGANISASI & ARSITEKTUR KOMPUTER 2 STRUKTUR & FUNGSI CPU IBP WIDJA, MT

Post on 03-Feb-2016

84 views

Category:

Documents

4 download

Embed Size (px)

DESCRIPTION

ORGANISASI & ARSITEKTUR KOMPUTER 2 STRUKTUR & FUNGSI CPU IBP WIDJA, MT. Struktur CPU. CPU seharusnya dapat melakukan: Pengambilan (fetch) Instruksi Menginterpretasi Instruksi Fetch Data Memproses Data – operasi aritmetika atau logika Menulis Data. CPU dengan Bus Sistem. - PowerPoint PPT Presentation

TRANSCRIPT

  • ORGANISASI & ARSITEKTUR KOMPUTER 2

    STRUKTUR & FUNGSI CPU

    IBP WIDJA, MT

  • Struktur CPUCPU seharusnya dapat melakukan:Pengambilan (fetch) Instruksi Menginterpretasi InstruksiFetch Data Memproses Data operasi aritmetika atau logikaMenulis Data

  • CPU dengan Bus Sistem

  • Struktur Internal CPU

  • RegisterCPU harus memiliki wilayah kerja (working space) yg berupa temporary storage Temporary storage disebut dng register-registerFungsi dan Jumlahnya bervariasi tergantung desain prosessorMerupakan salah satu desain utama yg diputuskanMerupakan level puncak dari hirarki memory

  • Peran Register pd CPURegister terlihat oleh user (programer) Memungkinkan pemrograman dng bahasa mesin atau bahasa assembly untuk memperkecil acuan memory utama dng mengoptimalkan penggunaan registerRegister Kontrol dan StatusDigunakan oleh unit kontrol untuk mengontrol operasi CPU dan program Sistem Operasi

  • Register terlihat oleh userGeneral Purpose (Tujuan Umum)DataAddress (Alamat)Condition Codes (Kode kondisi)

  • General Purpose RegisterBiasanya digunakan untuk tujuan umum (yang dapat berisi opcode & operand)Kemungkinan jenis Register ini juga digunakan secara restricted (misalnya untuk floating point dan stack)Kemungkinan juga digunakan untuk data dan pengalamatan

  • General Purpose Register...Jika register ini dibuat sebagai general purpose maka akan:Meningkatkan flexibilitas dan opsi programmerMeningkatkan ukuran instruksi dan kompleksitasJika register ini dibuat lebih mengkhususInstruksi Lebih kecil (lebih cepat) Flexibility berkurang

  • Berapa banyak GP register?Jumlah yg optimum diantara 8 - 32Jumlah lebih kecil = acuan memori lebih banyakJumlah lebih banyak tidak akan mengurangi jumlah acuan memori secara berartiAda suatu pendekatan baru dng ratusan register pada sistem RISC (Reduce Instruction Set Computer)

  • GP seberapa besar?Cukup besar untuk memuat full addressCukup besar untuk memuat full wordSering dimungkinkan untuk mengkombinasi dua register data :C programmingdouble int a;long int a;

  • Register Kode KondisiKode Kondisi adalah set bit oleh CPU sebagai hasil operasi, juga dikenal sebagai flag. contoh: Suatu operasi aritmetika dapat menghasilkan hasil positif, negatif, nol atau overflowBit-bit kode kondisi ini dikumpulkan pada satu atau lebih register yg membentuk register kontrolDapat dibaca secara implisit oleh program tetapi programer tidak dapat mengubahnyacontoh: Jump if zero

  • Register Kontrol dan StatusTerdapat bermacam-macam register CPU yg dapat melakukan Kontrol Operasi CPU yg pada sebagian mesin tidak terlihat oleh user.Empat Register Penting untuk eksekusi instruksi:Program Counter(PC)Instruction Register(IR)Memory Address Register(MAR)Memory Buffer Register(MBR)

  • Program Status WordSemua rancangan CPU meliputi sekelompok register dan sering dikenal sebagai word status program (Program Status Word PSW)PSW secara umum terdiri dari kode kondisi ditambah informasi status lainnnya yg meliputi:Kode KondisiSign dari hasil akhirZeroCarryEqualOverflowInterrupt enable/disableSupervisor

  • Mode SupervisorMerupakan Mode Kernel Memungkinkan untuk mengeksekusi instruksi khusus (privileged)Digunakan oleh Sistem OperasiTidak tersedia untuk user program

  • Register lainMungkin memiliki register yg pointing ke:Process control blocks (lihat: S/O)Interrupt Vectors (lihat: S/O)

    N.B: Desain CPU dan Sistem Operasi berhubungan sangat dekat

  • Contoh Organisasi Register

  • Siklus Instruksi

  • Siklus Instruksi TambahanSiklus Tidak LangsungMungkin memerlukan akses memory untuk mengambil (fetch) operandIndirect Addressing memerlukan akses memory lebihKita dapat berpikir tentang pengalamatan tidak langsung ini sebagai satu lagi subsiklus instruksi

  • Siklus instruksi tak langsung

  • Diagram Keadaan

  • Aliran Fetch InstruksiTergantung dari desain CPUAliran Fetch secara UmumPC berisi alamat dari instruksi berikutnyaAlamat pindah ke MARAlamat menempai Bus AlamatControl Unit (CU) meminta pembacaan memoriHasil ditempatkan ke Bus data, dikopi ke MBR, kemudian ke IRSementara itu PC nilainya bertambah 1 (increment)

  • Aliran Data, Siklus Fetch

  • Aliran Fetch Data indirectIR di evaluasiJika pengalamatanya tidak langsung, siklus indirect akan melakukan:N bit paling kanan dari MBR ditransfer ke MARControl Unit (CU) meminta pembacaan memoriResult (address dari operand) berpindah ke MBR

  • Aliran Data, Siklus Indirect

  • Aliran EksekusiBentuknya dapat beraneka ragam tergantung pada instruksi yang tereksekusiDapat mengandung:Memory read/writeInput/OutputRegister transfersALU operations

  • Aliran InterruptSederhana

    PC yg sekarang di-save untuk memungkinkan reasumsi setelah interruptIsi PC di-copy ke MBRLokasi memory spesial (misal: pointer stack) di load ke MARMBR ditulis ke memoryPC di load dengan alamat Rutin handling InterruptInstruksi berikutnya dapat di fetch

  • Aliran Data, Siklus Interrupt

  • PrefecthSiklus Fetch akan mengakses memori utamaSiklus Eksekusi biasanya tidak akan mengakses memori utamaSehingga dapat dilakukan fetch instruksi selanjutnya selama eksekusi instruksi yg sekarangKegiatan ini disebut dengan prefetch instruksi

  • Meningkatkan performaTidak menjadi dua kali (double):Waktu Fetch biasanya lebih cepat dari waktu eksekusiApakah prefetch bisa lebih dari satu instruksi?Tiap ada jump ke cabang, berarti instruksi prefetch bukan merupakan instruksi yg diperlukan jadi harus dibuang untuk instruksi baru Untuk meningkatkan performa maka diperlukan lebih banyak keadaan (stage)

  • 2 Langkah Pipeline Instruksi

  • Pipelining InstruksiPengolahan instruksi sedemikian rupa sehingga beberapa komponen instruksi dapat dilakukan secara serempakDekomposisi pengolahan instruksi:Fetch instruction (FI)Decode instruction(DI)Calculate Operands (CO)Fetch Operands(FO)Execute Instructions(EI)Write Operand(WO)

  • Timing Pipeline

  • Pencabangan dlm pipeline

  • Flow ChartPipeline

  • Cara Lain deskripsi Pipeline

  • FaktorakselerasidenganPipelineInstruksi

  • Contoh PipelineInstruksi80486

  • Register Pentium 4

  • Register EFLAGS

  • Register Kontrol