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

Post on 03-Feb-2016

94 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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 CPU

CPU seharusnya dapat melakukan: Pengambilan (fetch) Instruksi Menginterpretasi Instruksi Fetch Data Memproses Data – operasi aritmetika atau logika Menulis Data

CPU dengan Bus Sistem

Struktur Internal CPU

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

Peran Register pd CPU

Register terlihat oleh user (programer) Memungkinkan pemrograman dng bahasa mesin

atau bahasa assembly untuk memperkecil acuan memory utama dng mengoptimalkan penggunaan register

Register Kontrol dan Status Digunakan oleh unit kontrol untuk mengontrol

operasi CPU dan program Sistem Operasi

Register terlihat oleh user

General Purpose (Tujuan Umum) Data Address (Alamat) Condition Codes (Kode kondisi)

General Purpose Register

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

General Purpose Register...

Jika register ini dibuat sebagai general purpose maka akan: Meningkatkan flexibilitas dan opsi programmer Meningkatkan ukuran instruksi dan kompleksitas

Jika register ini dibuat lebih mengkhusus Instruksi Lebih kecil (lebih cepat) Flexibility berkurang

Berapa banyak GP register?

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 : C programming double int a; long int a;

Register Kode Kondisi

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 contoh: Jump if zero

Register Kontrol dan Status

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 (PC) Instruction Register (IR) Memory Address Register (MAR) Memory Buffer Register (MBR)

Program Status Word

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

Mungkin 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 Tambahan

Siklus Tidak Langsung 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

Siklus instruksi tak langsung

Diagram Keadaan

Aliran Fetch Instruksi

Tergantung dari desain CPU Aliran Fetch secara Umum

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)

Aliran Data, Siklus Fetch

Aliran Fetch Data indirect

IR di evaluasi Jika pengalamatanya tidak langsung, siklus

indirect akan melakukan: N bit paling kanan dari MBR ditransfer ke MAR Control Unit (CU) meminta pembacaan memori Result (address dari operand) berpindah ke MBR

Aliran Data, Siklus Indirect

Aliran Eksekusi

Bentuknya dapat beraneka ragam tergantung pada instruksi yang tereksekusi

Dapat mengandung: Memory read/write Input/Output Register transfers ALU operations

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

Aliran Data, Siklus Interrupt

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

Tidak menjadi dua kali (double): Waktu Fetch biasanya lebih cepat dari waktu

eksekusi Apakah 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 Instruksi

Pengolahan instruksi sedemikian rupa sehingga beberapa komponen instruksi dapat dilakukan secara serempak

Dekomposisi 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 LaindeskripsiPipeline

Faktorakselerasi

denganPipelineInstruksi

Contoh PipelineInstruksi80486

Register Pentium 4

Register EFLAGS

Register Kontrol

top related