IBP WIDJA, MT
Struktur CPU
Pengambilan (fetch) Instruksi Menginterpretasi Instruksi Fetch Data Memproses Data operasi aritmetika atau logika Menulis Data
Register
CPU harus memiliki wilayah kerja (working space) yg berupa temporary storage Temporary storage disebut dng register-register Fungsi dan Jumlahnya bervariasi tergantung desain prosessor Merupakan salah satu desain utama yg diputuskan Merupakan level puncak dari hirarki memory
Memungkinkan pemrograman dng bahasa mesin atau bahasa assembly untuk memperkecil acuan memory utama dng mengoptimalkan penggunaan register Digunakan oleh unit kontrol untuk mengontrol operasi CPU dan program Sistem Operasi
General Purpose (Tujuan Umum) Data Address (Alamat) Condition Codes (Kode kondisi)
Biasanya 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
Meningkatkan flexibilitas dan opsi programmer Meningkatkan ukuran instruksi dan kompleksitas Instruksi Lebih kecil (lebih cepat) Flexibility berkurang
Jumlah yg optimum diantara 8 - 32 Jumlah lebih kecil = acuan memori lebih banyak Jumlah lebih banyak tidak akan mengurangi jumlah acuan memori secara berarti Ada suatu pendekatan baru dng ratusan register pada sistem RISC (Reduce Instruction Set Computer)
GP seberapa besar?
Cukup besar untuk memuat full address Cukup besar untuk memuat full word Sering dimungkinkan untuk mengkombinasi dua register data :
Kode Kondisi adalah set bit oleh CPU sebagai hasil operasi, juga dikenal sebagai flag. contoh:
Suatu operasi aritmetika dapat menghasilkan hasil positif, negatif, nol atau overflow
Bit-bit kode kondisi ini dikumpulkan pada satu atau lebih register yg membentuk register kontrol Dapat dibaca secara implisit oleh program tetapi programer tidak dapat mengubahnya
Terdapat 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 Instruction Register Memory Address Register Memory Buffer Register
Semua 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 Kondisi Sign dari hasil akhir Zero Carry Equal Overflow Interrupt enable/disable Supervisor
Mode Supervisor
Merupakan Mode Kernel Memungkinkan untuk mengeksekusi instruksi khusus (privileged) Digunakan oleh Sistem Operasi Tidak tersedia untuk user program
Register lain
Siklus Instruksi
Mungkin memerlukan akses memory untuk mengambil (fetch) operand Indirect Addressing memerlukan akses memory lebih Kita dapat berpikir tentang pengalamatan tidak langsung ini sebagai satu lagi subsiklus instruksi
Diagram Keadaan
PC berisi alamat dari instruksi berikutnya Alamat pindah ke MAR Alamat menempai Bus Alamat Control Unit (CU) meminta pembacaan memori Hasil ditempatkan ke Bus data, dikopi ke MBR, kemudian ke IR Sementara itu PC nilainya bertambah 1 (increment)
N bit paling kanan dari MBR ditransfer ke MAR Control Unit (CU) meminta pembacaan memori Result (address dari operand) berpindah ke MBR
Aliran Eksekusi
Bentuknya dapat beraneka ragam tergantung pada instruksi yang tereksekusi Dapat mengandung:
Aliran Interrupt
Sederhana
PC yg sekarang di-save untuk memungkinkan reasumsi setelah interrupt Isi PC di-copy ke MBR Lokasi memory spesial (misal: pointer stack) di load ke MAR MBR ditulis ke memory PC di load dengan alamat Rutin handling Interrupt Instruksi berikutnya dapat di fetch
Prefecth
Siklus Fetch akan mengakses memori utama Siklus Eksekusi biasanya tidak akan mengakses memori utama Sehingga dapat dilakukan fetch instruksi selanjutnya selama eksekusi instruksi yg sekarang Kegiatan ini disebut dengan prefetch instruksi
Meningkatkan performa
Tiap ada jump ke cabang, berarti instruksi prefetch bukan merupakan instruksi yg diperlukan jadi harus dibuang untuk instruksi baru
Pipelining Instruksi
Pengolahan instruksi sedemikian rupa sehingga beberapa komponen instruksi dapat dilakukan secara serempak Dekomposisi pengolahan instruksi:
Fetch instruction Decode instruction Calculate Operands Fetch Operands Execute Instructions Write Operand
Timing Pipeline
Register Pentium 4
Register EFLAGS
Register Kontrol