1. 1. Organisasi Organisasi Processor Processor
PERTEMUAN
Hal-hal Hal-hal yang yangperlu perludilakukan dilakukanCPU CPU adalah adalah:: 1. 1.Fetch FetchInstruction Instruction== mengambil mengambil instruksi instruksi 2. 2.Interpret InterpretInstruction Instruction== Menterjemahkan Menterjemahkaninstruksi instruksi 3. 3.Fetch FetchData Data== mengambil mengambil data data 4. 4.Process Process Data Data== mengolah mengolah data data 5. 5.Write Writedata data== menulis menulis data data
•• Agar Agar dapat dapat melakukan melakukan hal-hal hal-hal diatas diatas maka maka CPU CPU perlu perlu menyimpan menyimpan data data untuk untuk sementara sementara waktu waktu •• CPU CPU harus harus dapat dapat mengingat mengingat lokasi lokasi instruksi instruksi terakhir terakhir sehingga sehingga CPU CPU akan akan dapat dapat mengambil mengambil instruksi instruksi berikutnya. berikutnya. •• CPU CPU perlu perlu menyimpan menyimpan instruksi instruksi dan dan data data untuk untuk sementara sementara waktu waktu pada pada saat saat instruksi instruksi sedang sedang di di eksekusi. eksekusi. •• Dengan Dengan kata kata lain lain CPU CPU memerlukan memerlukan memori memori internal internal berukuran berukurankecil. kecil.
2. 2. Organisasi Organisasi Register Register •• •• ••
Register Register dalam dalam CPU CPU memiliki memiliki dua duafungsi fungsi :: 1. 1.User-visible User-visibleRegister Register 2. 2.Control Control and andstatus status Register Register
• Terdiri dari : A. A. User-Visible User-Visible Register Register •• Adalah Adalah register register yang yang dapat dapat direferensikan direferensikan dengan dengan menggunakan menggunakan bahasa bahasa mesin mesin yang yang dieksekusi dieksekusi CPU CPU
– General Purpose =dapat berisi operand sembarang op-code – Data = hanya dapat dipakai untuk menampung data – Alamat = dapat di gunakan untuk mode pengalamatan tertentu – Kode-kode kondisi (flag) = bit-bit yang di setel perangkat keras CPU sebagai hasil operasi
1
Terdapat empat buah register yang penting B. B. Control Control dan dan Status Status Register Register •• Adalah Adalahregister-register register-register yang yangdigunakan digunakanoleh olehunit unitkontrol kontrol untuk untuk mengontrol mengontrol operasi operasi CPU CPU dan dan oleh olehprogram program sistem sistem operasi operasi untuk untuk mengontrol mengontrol eksekusi eksekusi program program
• Semua rancangan CPU mencakup sebuah register atau sekumpulan register sering kali disebut Program Status Word (PSW) yang berisi informasi status. • Biasanya PSW berisi kode kondisi dan informasi status lainnya
–– Equal Equal == disetel disetel apabila apabilahasil hasil pembandingan pembandingan logikanya logikanyasama sama –– Overflow Overflow== digunakan digunakanuntuk untuk mengindikasikan mengindikasikan overflow overflowaritmetika aritmetika –– Interrupt Interruptenable enable// disable disable== di di gunakan gunakanuntuk untuk mengizinkan mengizinkanatau ataumencegah mencegahinterrupt interrupt –– Supervisor Supervisor == mengindikasikan mengindikasikanapakah apakahCPU CPU sedang sedangmengeksekusi mengeksekusi dalam dalam mode modesupervisor supervisor atau atau dalam dalam mode modeuser. user.
1. 1.Program Program Counter Counter (PC) (PC) berisi berisi alamat alamatinstruksi instruksi yang yangakan akandi di ambil ambil
2. 2.Instructions InstructionsRegister Register (IR) (IR) berisi berisi instruksi instruksi yang yang terakhir terakhir diambil diambil
3. 3.Memory MemoryAddress Address Register Register (MAR) (MAR) Berisi Berisi alamat alamatsebuah sebuah lokasi lokasi di di dalam dalam memori memori
4. 4.Memory MemoryBuffer Buffer Register Register (MBR) (MBR) Berisi Berisi sebuah sebuah word word data data yang yangakan akandituliskan dituliskan kedalam kedalam memori memori atau atau word word yang yangterakhir terakhir di di baca baca
Common Common field field atau atau flag flag meliputi meliputi hal-hal hal-hal berikut berikut ini ini –– Sign Sign== berisi berisi bit bittanda tanda hasil hasil operasi operasi aritmetika aritmetikaterakhir terakhir –– Zero Zero== disetel disetel bila bilahasil hasil sama samadengan dengannol nol –– Carry Carry== disetel disetel apabila apabilaoperasi operasi yang yang dihasilkan dihasilkan didalam didalam carry carry(penambahan) (penambahan) kedalam kedalam bit bityang yanglebih lebih tinggi tinggi atau atauborrow borrow(pengurangan) (pengurangan) dari dari bit bit yang yanglebih lebih tinggi tinggi
3. Siklus Instruksi
2
A. A. Proses Proses Tak Tak Langsung Langsung
•• Eksekusi Eksekusi sebuah sebuahinstruksi instruksi melibatkan melibatkansebuah sebuahoperand operand atau ataulebih lebihdi di dalam dalam memori, memori,yang yangmasing-masing masing-masing operand operandmemerlukan memerlukanakses aksesmemori memori •• Apabila Apabila digunakan digunakanpengalamatan pengalamatantak tak langsung, langsung,maka maka diperlukan diperlukanakses akses memori memori tambahan tambahan
•• Kita Kita dapat dapat menganggap menganggap pengambilan pengambilan alamatalamatalamat alamat tak tak langsung langsung sebagai sebagai sebuah sebuah sub sub instruksi atau lebih. instruksi atau lebih. •• Kegiatan Kegiatan utamanya utamanya terdiri terdiri dari dari aktifitas-aktifitas aktifitas-aktifitas pengambilan pengambilan instruksi instruksi dan dan pengeksekusian pengeksekusian instruksi. instruksi. •• Operand Operand yang yang dibutuhkan dibutuhkan diambil diambil dengan dengan menggunakan menggunakanpengalamatan pengalamatantak tak langsung langsung •• Setelah eksekusi dilakukan, interrupt Setelah eksekusi dilakukan, interrupt dapat dapat diproses sebelum mengambil instruksi diproses sebelum mengambil instruksi berikutnya berikutnya
Aliran Aliran data data :: •• Pada Padasaat saatpengambilan pengambilaninstruksi instruksi di di baca bacadari dari memori memori •• Dalam Dalam CPU, CPU, PC PC berisi berisi alamat alamat berikutnya berikutnya yang yang akan akan diambil diambil •• Alamat Alamat ini ini di di pindahkan pindahkan ke ke MAR MAR dan dan ditaruh ditaruh di di bus bus alamat alamat •• Unit Unit control control meminta meminta pembacaan pembacaan memori memori dan dan hasilnya hasilnya disimpan disimpan di di bus bus data data dan dan disalin disalin ke ke MBR MBR dan dan kemudian kemudian di di pindahkan pindahkanke keIR IR
4. 4. Pipelining Pipelining Instruksi Instruksi •• Efesiensi Efesiensi sebuah sebuahsistem sistem komputer komputer dinilai dinilai berdasarkan berdasarkan kecepatan kecepatanperangkat perangkatkeras keras dan danfasilitas-fasilitas fasilitas-fasilitas perangkat perangkatlunak. lunak. •• Penilaian Penilaianini ini disebut disebutdengan dengantroughput troughput== jumlah jumlah pemrosesan pemrosesan yang yangdapat dapat dikerjakan dikerjakandalam dalam suatu suatuinterval interval waktu waktutertentu. tertentu.
•• Sementara Sementara itu itu PC PC naik naik nilainya nilainya 1, 1, sebagai sebagai persiapan persiapan untuk untuk pengambilan pengambilanselanjutnya. selanjutnya. •• Bila Bila siklus siklus pengambilan pengambilan telah telah selesai, selesai, Unit Unit kontrol kontrol memeriksa memeriksa isi isi IR IR untuk untuk menentukan menentukan apakah apakah IR IR berisi berisi operand operand specifier specifier yang yang menggunakan menggunakanpengalamatan pengalamatantak tak langsung langsung •• Apabila Apabila berisi berisi operand operand maka maka dilakukan dilakukan siklus siklus tak tak langsung langsung
•• Salah Salah satu satu teknik teknik yang yang mendorong mendorong peningkatan peningkatan suatu suatu sistem sistem troughput troughput yang yang cukup cukup hebat hebat disebut disebut sebagai sebagai pemrosesan pemrosesanPIPELINE PIPELINE •• Pemrosesan Pemrosesan Pipeline Pipeline dalam dalam suatu suatu komputer komputer diperoleh diperoleh dengan dengan membagi membagi suatu suatu fungsi fungsi yang yang akan akan dijalankan dijalankan menjadi menjadi beberapa beberapa sub sub fungsi fungsi yang yang lebih lebih kecil kecil dan dan merancang merancang perangkat perangkat keras keras yang yang terpisah terpisah(STAGE), (STAGE),untuk untuk setiap setiapsub subfungsi. fungsi. •• Stage-stage itu kemudian bersama-sama Stage-stage itu kemudian bersama-sama membentuk membentuk pipeline pipeline tunggal tunggal untuk untuk menjalankan menjalankan fungsi fungsi asli asli
3
Sinkronisasi Sinkronisasi Pipeline Pipeline
•• Pada Pada semua semua baris baris perakitan perakitan industri, industri, efesiensi efesiensi suatu suatu pipeline pipeline dapat dapatberkurang berkurangjauh jauhakibat akibat suatu suatubottleneck. bottleneck. •• Bottleneck Bottleneck terjadi terjadi sewaktu sewaktu pemrosesan pemrosesan pada pada suatu suatu stage, stage, menghabiskan menghabiskan waktu waktu lebih lebih lama lama dari dari stage stage yang yang lain lain
Efesiensi Efesiensi Pipeline Pipeline
•• Suatu Suatu fungsi fungsi pipeline pipeline hampir hampir selalu selalu lebih lebih baik baik dari dari pada padafungsi fungsi non-pipeline non-pipeline •• Namun Namun pada pada kenyataannya, kenyataannya, harga harga pipeline pipeline tersebut tersebut sangat sangat mempengaruhi mempengaruhi kapan kapan dan dan apakah fungsi-fungsi yang di pipeline-kan apakah fungsi-fungsi yang di pipeline-kan lebih lebih baik baik atau atautidak. tidak.
•• Karena Karena itu itu idealnya idealnya kita kita menginginkan menginginkan pada pada semua semuastage stagemenghabiskan menghabiskan waktu waktu yang yangsama. sama. •• Untuk Untuk menyamakan menyamakan waktu waktu yang yang diperlukan diperlukan pada pada setiap setiap stage stage maka maka stage-stage stage-stage tersebut tersebut harus harus di di sinkronisasi. sinkronisasi. •• Dapat Dapat dilakukan dilakukan dengan dengan menyisipkan menyisipkan kunci-kunci kunci-kunci sederhana sederhanaantara antarastage-stage stage-stagetersebut tersebut
Beberapa Beberapa penyebab penyebab harga harga pipeline pipeline :: 1. 1. Tambahan Tambahankunci kunci (latch) (latch) perangat perangatkeras keras yang yang dibutuhkan. dibutuhkan. 2. 2. Kendali Kendali yang yang diperlukan diperlukanuntuk untuk penjadwalan penjadwalaninput input tersebut. tersebut. 3. 3. Waktu Waktu yang yangdihabiskan dihabiskanoleh oleh data data dalam dalam latch latchuntuk untuk menyesuaikan menyesuaikandiri diri dengan dengansuatu suatupenangguhan penangguhanclock clock yang yangseragam seragam 4. 4. Jumlah Jumlahrata-rata rata-ratainput input yang yangtersedia tersedia
Pipelining Pipelining Instruksi Instruksi Klasifikasi Klasifikasi Pipeline Pipeline ::
•• A. A.Klasifikasi Klasifikasiberdasarkan berdasarkan Fungsi Fungsi •• Pipelining Pipelining Aritmatika Aritmatika== Proses Proses segmentasi segmentasi fungsi fungsi dari dari ALU ALU dari dari sistem sistem yang yangmuncul muncul dalam dalam kategori kategori ini. ini.
•• Proses Proses fetch fetch pada pada instruksi instruksi tidak tidak akan akan dimulai dimulai sampai sampai eksekusi eksekusi tidak tidak akan akan dimulai dimulai sampai sampai eksekusi eksekusi instruksi instruksi sebelumnya sebelumnyaselesai. selesai. •• Untuk Untuk mem-pipelinekan mem-pipelinekan fungsi fungsi ini, ini, instruksi-instruksi instruksi-instruksi yang yang berdampingan berdampingan di di fetch fetch dari dari memori memori ketika ketika instruksi instruksi yang yang sebelumnya sebelumnyadi di decode decodedan dandi di jalankan. jalankan. •• Proses Proses pipelining pipelininginstruksi instruksi disebut disebutinstructions instructions
4
Pipelining Pipelining Prosessor Prosessor •• Sewaktu Sewaktu stage stage dari dari suatu suatu stage stage merupakan merupakan merupakan merupakan prosessor prosessor aktual aktual dan dan latch-latch latch-latch saling saling berbagi berbagi memori memori antara antara prosessor-prossor prosessor-prossor tersebut tersebut maka maka pipeline pipeline itu itu disebut disebutsebagai sebagai pipeline pipelineprossor. prossor.
4. Register-register Processor Pentium
UNIT INTEGER
Jenis
Jumlah
Panjang (Bit)
UNIT FLOATING POINT
Kegunaan Jenis
General
8
32
General purpose user register
Segment
6
16
Berisi pemilih pemilih segment
Flag
1
32
Bit-bit status dan kontrol
Pointer Instruksi
1
32
Pointer instruksi
Juml ah
Panjang (Bit)
Kegunaan
Numerik
8
80
Menampung bilangan-bilangan floating point
Kontrol
1
16
Bit-bit kontrol
Status
1
16
Bit-bit status
Tag Word
1
16
Men-spesifikasi-kan numerik
Pointer Instruksi
1
48
Menunjuk ke instruksi yang di interupsi oleh exception
Pointer Data
1
48
Menunjuk ke operand yang di interupsi oleh exception
register
Soal Latihan 1. Berisi bit tanda hasil operasi aritmetika terakhir disebut ….. a. Sign c. Carry b. Zero d. Semua jawaban salah 2. Operasi yang dihasilkan didalam carry (penambahan) kedalam bit yang lebih tinggi atau borrow (pengurangan) dari bit yang lebih tinggi disebut …. a. Sign c. Carry b. Zero d. Semua jawaban salah
2. Operasi yang dihasilkan didalam carry (penambahan) kedalam bit yang lebih tinggi atau borrow (pengurangan) dari bit yang lebih tinggi disebut …. a. Sign c. Carry b. Zero d. Semua jawaban salah 3. Dalam CPU, PC berisi alamat berikutnya yang akan diambil, kemudian di pindah kan ke ….. a. Program Counter (PC) b. Memory Address Register (MAR) c. MBR d. Semua jawaban salah
5
3. Dalam CPU, PC berisi alamat berikutnya yang akan diambil, kemudian di pindah kan ke ….. a. Program Counter (PC) b. Memory Address Register (MAR) c. MBR d. Semua jawaban salah
4. Berisi sebuah word data yang akan dituliskan kedalam memori atau word yang terakhir di baca a. Program Counter (PC) b. Memory Address Register (MAR) c. MBR d. Semua jawaban salah
4. Berisi sebuah word data yang akan dituliskan kedalam memori atau word yang terakhir di baca a. Program Counter (PC) b. Memory Address Register (MAR) c. MBR d. Semua jawaban salah
5. Register berisi instruksi yang terakhir diambil adalah fungsi dari …. a. Instructions Register (IR) b. Program Counter (PC) c. Memory Address Register (MAR) d. MBR
5. Register berisi instruksi yang terakhir diambil adalah fungsi dari …. a. Instructions Register (IR) b. Program Counter (PC) c. Memory Address Register (MAR) d. MBR 1. Berisi bit tanda hasil operasi aritmetika terakhir disebut ….. a. Sign c. Carry b. Zero d. Semua jawaban salah
6