struktur dan fungsi cpu

11

Click here to load reader

Upload: fadly

Post on 18-Jun-2015

8.395 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Struktur Dan Fungsi CPU

Struktur dan Fungsi CPUII.1. Organisasi ProcessorOrganisasi Processor terdiri dari :ALU (Arithmatic and Logical Unit) : untuk melakukan komputasi atau pengolahan data aktualCu (Control Unit) : untuk mengontrol perpindahan data dan instruksi ke / dari CPU dan juga mengontrol operasi ALU.Register : memory internal CPU

Page 2: Struktur Dan Fungsi CPU

Hal-hal yang dilakukan CPUFetch Instruction (Mengambil instruksi) : CPU membaca instruksi dari memoryInterpret Instruction (Menterjemahkan instruksi) : CPU menterjemahkan instruksi untuk menentukan aksi yang diperlukan.Fetch Data (Mengambil data) : eksekusi instruksi mungkin memerlukan pembacaan data dari memory atau dari modul I/OProcess Data (Mengolah data) : eksekusi instruksi memerlukan operasi aritmatik atau logika.Write data (Menulis data) : Hasil eksekusi mungkin memerlukan penulisan data ke memory atau ke modul I/O

Page 3: Struktur Dan Fungsi CPU

II.2. Organisasi RegisterOrganisasi register terdiri dari :User Visible register : register yang isinya dapat diketahui oleh pemrogram, register ini juga dapat meminimalkan referensi ke main memory Control and Status register : register yang digunakan oleh CU, kontrol operasi CPU dan oleh sistem operasi untuk kontrol eksekusi program.

Page 4: Struktur Dan Fungsi CPU

II.2.1. User Visible Register Kategori-kategorinya :General purposes : dapat melaksanakan berbagai fungsi oleh pemrogram, antara lain berisi operand dari sembarang opcode, fungsi pengalamatan.Data : hanya dapat digunakan untuk menampung data dan tidak dapat digunakan untuk kalkulasi dan alamat operand. Alamat : dapat digunakan untuk mode pengalamatan tertentu, antara lain :

Segment pointer : untuk menyimpan alamat basis segmen.Register index : untuk menyimpan alamat-alamat yang terindeks.Stack Pointer : merupakan register yang dedicated menunjuk kebagian teratas stack.

Kode-kode Kondisi (flag) : untuk menyimpan kode-kode kondisi berupa bit-bit yang disetel CPU sebagai hasil operasi (positif, negatif, nol atau overflow)

Page 5: Struktur Dan Fungsi CPU

II.2.2. Control and Status Register

Terdapat 4 register antara lain :Program Counter (PC) : pencacah program , berisi alamat instruksi berikutnya yang akan diambilInstruction Register (IR) : berisi instruksi terakhir yang diambil.Memory Address Register (MAR) : berisi alamat sebuah lokasi dalam memory.Memory Buffer Register (MBR) : berisi sebuah word data yang akan ditulis ke / dibaca dari memory.

Page 6: Struktur Dan Fungsi CPU

II.3. Program Status Word (PSW)Register yang berisi kode kondisi dan informasi status, yang terdiri dari :Sign : berisi bit tanda dari hasil operasi aritmatika terakhir.Zero : Disetel bila hasil operasi sama dengan nolCarry : Untuk operasi multi word, berupa carry (penambahan) ke bit yang lebih tinggi, atau borrow (pengurangan) ke bit yang lebih rendah.Equal : Disetel apabila hasil perbandingan logikanya sama.Overflow : Digunakan untuk indikasi overflow aritmatikInterrupt Enable / Disable : Digunakan untuk mengijinkan / menolak interupsiSupervisor : Mengindikasikan CPU sedang mengeksekusi instruksi dalam mode supervisor atau user.

Page 7: Struktur Dan Fungsi CPU

II.4. Siklus InstruksiSiklus Instruksi meliputi subsiklus-subsiklus :Fetch : membaca instruksi berikutnya dari memory ke dalam CPUExecute : Menginterpretasi opcode dan melakukan operasi yang diindikasikanInterrupt : Apabila interrupt diaktifkan dan telah terjadi, maka simpan status proses saat itu dan layani interrupt

Page 8: Struktur Dan Fungsi CPU

II.5. Pipelining InstruksiPipeline memiliki dua tahapan independen yaitu fetch dan execution.Tahap pertama, mengambil instruksi dan mem-buffer-kannyaKetika tahap kedua bebas, tahapan pertama mengirimkan mengirimkan instruksi yang dibufferkan.Pada saat tahap kedua sedang mengeksekusi instruksi, tahap pertama dapat mengambil dan membufferkan instruksi berikutnyaDiharapkan terjadi penggandaan kecepatan eksekusiTetapi :

Umumnya waktu eksekusi lebih lama dibandingkan dengan waktu pengambilan instruksiInstruksi pencabangan bersyarat membuat alamat instruksi berikutnya yang akan diambil tidak diketahui.

Page 9: Struktur Dan Fungsi CPU

Menangani PencabanganMultiple stream : melakukan peniruan pipeline awal dan membiarkan pipeline untuk mengambil kedua instruksi dengan menggunakan dua buah stream.Masalah :

Terdapat delay akibat persaingan mengakses register dan memoryInstruksi pencabangan tambahan dapat masuk ke pipeline sebelum keputusan pencabangan sebenarnya dilakukan

Prefetch branch target : bila pencabangan bersyarat telah diketahui, maka dilakukan prefetch (mendahului pengambilan) target pencabangan

Page 10: Struktur Dan Fungsi CPU

Loop buffer : diimplementasikan dalam bentuk memory berukuran kecil yang berkecepatan tinggi yang digunakan oleh tahapan pengambilan yangterbaru secara berurutanBranch prediction : memprediksi apakah pencabangan dilaksanakan atau tidak.Teknik-teknik yang dilakukan :

Predict never taken : mengasumsikan bahwa pencabangan tidak akan dilakukan dan melanjutkan pengambilan instruksi secara berurutanPredict always taken : mengasumsikan akan dilakukan dan selalu mengambil target pencabanganPredict by opcode : mengasumsikan pencabangan akan dilakukan untuk opcode pencabangan tertentu, dan tidak dilakukan terhadap opcode yang lain.

Page 11: Struktur Dan Fungsi CPU

Taken /not taken switch : dilakukan dengan merekam sejarah instruksi pencabangan bersyarat dalam suatu program. Tiap pencabangan direfleksikan dalam sebuah bit yang nantinya digunakan sebagai switch untuk mengambil instruksinya.Branch history table : dimplemantasikan dalam cache memory kecil yang mencatat alamat instruksi pencabangan, status pemakaian instruksi dan instruksi target.

Delayed branch : instruksi pencabangan diatur ulang dengan lebih lambat sampai terjadi keseimbangan dengan instruksi yang lain.