P. 1
MAKALAH CPU

MAKALAH CPU

|Views: 1,669|Likes:
Published by mulianurliza

More info:

Published by: mulianurliza on Dec 08, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as RTF, PDF, TXT or read online from Scribd
See more
See less

04/02/2013

pdf

text

original

BAB I PENDAHULUAN

1.1 PENGERTIAN CPU CPU singkatan dari Central Processing Unit, yang merupakan komponen terpenting dari sistem komputer.CPU adalah komponen pengolah data berdasarkan instruksi - instruksi yang diberikan kepadanya. CPU tersusun atas beberapa komponen diantaranya: 1. Arithmetic and Logic Unit (ALU) Bertugas membentuk fungsi-fungsi pengolahan data komputer. Alu sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi-instruksi bahasa mesin yang diberikan kepadanya. ALU terdiri dari dua bagian yaitu :   Unit arithmetika Unit logika Boolean

2. Control Unit Bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya.Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut.

1

Registers Register adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data. unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan system lainnya. piranti masukkan/keluaran. Seperti memori utama.STRUKTUR Gambar 1. biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. Registers 2 .1 Struktur control unit 3. Memori ini bersifat sementara. yaitu ALU. CPU ALU Internal Bus Control Unit 4. CPU Interconnections Adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU.

yaitu : operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute). Lalu selanjutnya dari Output-storage. apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage. menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah. Apabila hasil pengolahan telah selesai. Siklus instruksi yang terdiri dari siklus fetch dan siklus eksekusi.2 CARA KERJA CPU Saat data dan instruksi dimasukkan ke processing-devices. sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. namun apabila berbentuk data ditampung di Working-storage). Jika pengerjaan keseluruhan telah selesai. pertama sekali diletakkan di RAM (melalui Input-storage). hasil pengolahan akan ditampilkan ke output-devices. maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di Generalpurpose register (dalam hal ini di Operand-register). 3 . Jika register siap untuk menerima pengerjaan eksekusi. Hasilnya ditampung di Accumulator. 1.1. Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah. Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika.3 FUNGSI CPU Fungsi CPU adalah menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi. maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register.

3. 2. 1.2. CPU. perpindahan data dari CPU ke modul I/O dan sebaliknya. Instruksi-instruksi ini dalam bentuk kode-kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan.Memori. Pengolahan Data. 4. Kontrol. Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU. CPU membentuk sejumlah operasi aritmatika dan logika terhadap data. PC akan menambah satu hitungannya setiap kali CPU membaca instruksi. 4 . yang disebut Program Counter (PC). CPU. Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya. perpindahan data dari CPU ke Memori dan sebaliknya. 5. Misalnya instruksi pengubahan urusan eksekusi.2. CPU awalnya akan membaca instruksi dari memori. merupakan instruksi untuk pengontrolan fungsi atau kerja.1 Siklus Fetch – Eksekusi Pada setiap siklus instruksi.1. Aksi-aksi ini dikelompokkan menjadi empat kategori.I/O. Instruksi –Instruksi yang dibaca akan dibuat dalam register instruksi (IR).2 Fungsi Interrupt Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi. yaitu: 1.

Pemrosesan pipeline dalam suatu komputer diperoleh dengan membagi suatu fungsi yang akan dijalankan menjadi beberapa sub fungsi yang lebih kecil dan merancang perangkat keras yang terpisah (STAGE).Langkah – langkah pengolahan instruksi pada pipeline : • • • Mengambil instruksi (Fetch Instruction – FI) : Membaca instruksi berikutnya kedalam suatu buffer. Operand dalam register tidak perlu di ambil.BAB II PEMBAHASAN 2. Pemrosesan pipeline adalah salah satu teknik yang mendorong peningkatan suatu system troughput yang cukup hebat. Kalkulasi operand (Calculate operand – CO) : Kalkulasi alamat efektif dari setiap sumber. untuk setiap sub fungsi. Pipelining instruksi disebut juga sebuah perangkat keras dan fasilitas-fasilitas perangkat lunak. Stage-stage itu kemudian bersama-sama membentuk pipeline tunggal untuk menjalankan fungsi asli. register tidak langsung. atau lainnya. Pemecahan kode instruksi ( Decode instruction – DI) : Menentukan spesifier opcode dan operand. Ini boleh melibatkan bentuk kalkulasi alamat penggantian. A. • Pengambilan Operand (Fetch operand _FO): Pengambilan setiap operand dari memori. Penilaian ini disebut dengan troughput = jumlah pemrosesan yang dapat dikerjakan dalam suatu interval waktu tertentu.1 PENGERTIAN PIPELINING INSTRUKSI Pipelining instruksi merupakan suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit pemrosesan. 5 .

flip flop mengambil nilai yang baru dan logika kemudian memerlukan masa waktu untuk memecahkan kode nilai-nilai yang baru itu. diperlukan ALU tiga buah fase: • • • I :Instructions Fetch E : Execute. seperti yang ditunjukkan oleh diagram yang diatas ( Vertikal ‘I’ Instruksi. Ketika clock jalan. dalam lokasi operand tujuan yang dispesifikasikan. Pipelining berasumsi bahwa instruksi berurutan pada suatu program beruntun akan tumpang-tindih pelaksanaan. Melakukan operasi ALU dengan input dan output register. Pipelining instruksi sering kali digunakan untuk meningkatkan kinerja. dan sebuah siklus instruksi memiliki dua buah fase berikut : • • I : Instructions Fetch ( Pengambilan Instruksi) E: excute (eksekusi). • Tulis Operand (Write operand – WO) : Menyimpan hasilnya didalam memori. Dengan cara ini periode clock dapat dikurangi. Dengan patahan logika ke dalam potongan lebih kecil dan memasukkan/menyisipkan flip flop antar potongan logika. Bagi operasi-operasi load dan store. Kemudian pulsa clock yang berikutnya jalan dan flip flop mengambil nilai-nilai baru itu. Sebagian besar instruksi merupakan operasi dari register ke register. CPU yang paling canggih dijalankan oleh clock. CPU berisi logika dan flip flop. Menghitung alamat memori. penundaan sebelum/di depan logika memberi keluaran sah dikurangi. dan begitu seterusnya. Sebagai contoh. horizontal ‘t’ waktu ). Operasi register ke memori atau dari memori ke register.• Eksekusi Instruksi (Execute instruction .EI) : Membentuk operasi yang di indikasikan dan menyimpan hasilnya bila ada. D : Memory. RISC saluran diterobos lima langkah-langkah 6 .

guntingan koran atau majalah jendela. jumlah penyangga atau bantalan gudang/penyimpanan adalah sering dimasuki/disisipi antar unsure-unsur. Saluran Unix adalah implementasi yang klasik tentang 7 . daftar yang mengambil. sedemikian sehingga keluaran satu unsur adalah masukan yang berikutnya. warna dan kalkulasi. dan lainnya ). unsur-unsur pengolahan adalah sirkuit yang logis yang menerapkan itu berbagai langkah-langkah dari suatu instruksi ( alamat yang memecahkan kode dan perhitungan. menyumbangkan dan lain-lain ).dengan satu set flip flop antar langkah masing-masing. 2. suatu saluran adalah satu set unsur-unsur pengolahan data menghubungkan secara urut. tempat menyembunyikan lookup. itu menerapkan berbagai langkah-langkah umum untuk menyumbangkan operasi ( proyeksi perspektif. atau melengkapi. menyudahi CPU. yang digunakan pengolah untuk mengijinkan pelaksanaan yang parallel dua atau lebih instruksi berurutan dari suatu secara nominal arus percontohan. Saluran Perangkat lunak Saluran perangkat lunak terdiri dari berbagai proses mengatur sedemikian sehingga arus keluaran satu proses secara otomatis dan dengan segera diberi arus masukan yang berikutnya. Di dalam perhitungan. Saluran Instruksi Saluran instruksi seperti RISC saluran yang klasik. 3. Saluran Grafik Saluran grafik yang ditemukan kebanyakan kartu grafik. di dalam beberapa kasus. yang terdiri dari berbagai unit perhitungan. Unsur-unsur suatu saluran adalah sering dieksekusi yang paralel atau di dalam pertunjukkan time-sliced. Saluran terkait dengan komputer meliputi : 1.

Waktu yang dihabiskan oleh data dalam latch untuk menyesuaikan diri dengan suatu penangguhan clock yang seragam 4. efisiensi suatu pipeline dapat berkurang jauh akibat suatu bottleneck. namun pada kenyataannya.2 SINKRONISASI PIPELINE Pada semua baris perakitan industri. Kendali yang diperlukan untuk penjadwalan input tersebut. Untuk menyamankan waktu yang diperlukan pada setiap stage maka stage-stage tersebut harus di sinkronisasi. menghabiskan waktu lebih lama dari stage lain. 2. 2.Dapat dilakukan dengan menyisipkan kunci-kunci sederhana antara stage-stage tersebut. 3.konsep ini. Tambahan kunci(latch) perangkat keras yang dibutuhkan. Bottleneck terjadi sewaktu pemrosesan pada suatu stage. karena itu idealnya kita menginginkan waktu yang sama. 2.4 BEBERAPA PENYEBAB HARGA PIPELINE 1.5 KLASIFIKASI PIPELINE 8 . 2.3 EFESIENSI PIPELINE Suatu fungsi pipeline hampir selalu lebih baik dari fungsi non-pipeline. Jumlah rata – rata input yang tersedia. harga pipeline sangat mempengaruhi kapan dan apakah fungsi – fungsi yang di pipeline kan lebih baik atau tidak. 2.

pipeline dapat memiliki banyak langkah sehingga instruksi-instruksi yang saling berkaitan diproses pada pipeline pada saat yang bersamaan dengan satu pemrosesan instruksi pada setiap tahapannya. Hal ini membuat adanyawaktu jeda pada aliran instruksi melalui pipeline karena prosesor tidak mengetahui instruksi yang selanjutnya sampai ketika selesai mengeksekusi instruksi percabangan tersebut. Instruksi percabangan adalah implementasi dari konsep if-then-else.7 BRANCH PREDICTORS 2. jika salah maka dilanjutkan dengan instruksi berikutnya.1 Prinsip Kerja Pada sebuah mikroprosesor sederhana semua instruksi ditangani dalam dua langkah yaitu mendekode dan mengeksekusi. Pada mikroprosesor yang lebih kompleks.7. prinsip ini dikenal dengan “pipelining”. 2. Ketika kondisi if benar maka akan melompat ke lokasi lain. Masalah akan timbul ketika prosesor menghadapi instruksi percabangan. Semakin panjang pipeline maka 9 . Pipelining menggambarkan seolah olah instruksi – instruksi yang akan dieksekusi ditempatkan pada barisan antrian yang menunggu untuk dirakit ataupun dibentuk dengan tahapan-tahapan pemrosesan tertentu. 2.• • A. Klasifikasi berdasarkan fungsi Pipelining Aritmatika adalah proses segmentasi fungsi dari ALU dari system yang muncul dalam kategori ini.6 PIPELINING PROSESSOR Pipeline prosessor adalah sewaktu stage dari suatu stage merupakan prosessor actual dan latch-latch saling berbagi memori antara prosessor – prosessor tersebut . Mikroprosesor dapat menghemat waktu dengan cara mendekode suatu instruksi ketika instruksi yang diproses sedang dieksekusi.

Alpha 21264. Jika prediksinya salah maka setiap perhitungan berdasarkan prediksi tadi akan diabaikan. spesifikasinya : • • Pipeline 8 tingkat (stage). 3 bit counters) 2. 10 bit PAg (1K entry BHT.2 Contoh Spesifikasi Ada bermacam-macam branch predictor yang digunakan dalam komputer. Mikroprosesor menentukan instruksi mana yang akan dimasukkan ke dalam pipeline berdasarkan prediksi ini. Sebagai contoh jika telah terjadi 4 kali percabangan pada kondisi percabangan yang sama. sebelum mikroprosesor benar-benar yakin akan hal tersebut.7. spesifikasinya : 10 . Setiap 4 instruksi untuk fetch block mengandung sebuah prediksi untuk block yang akan diambil (fetch) selanjutnya. 1K entry PHT. diantaranya adalah : 1. Mikroprosesor akan mencoba memprediksi apakah akan terjadi percabangan atau tidak berdasarkan rekaman yang telah dilakukan oleh proses percabangan ini sebelumnya. Solusinya adalah dengan menggunakan branch prediction. 2. Hal ini disebut dengan speculative execution. tetapi jika prediksi benar maka mikroprosesor akan sangat banyak menghemat waktu. Padamikroprosesor modern cenderungmempunyai pipeline yang panjang dan akan bertambah semakin panjang sehingga dibutuhkan penyelesaian akan masalah pipeline ini. • Hybrid predictor :12 bit GAg (4K entry PHT. UltraSPARC-III. Cache : 64 KBmenggunakan instruksi 2 arah dengan line dan way prediction bits(Fetch).semakin lama waktu total yang dibutuhkan pipeline untuk menunggu sampai mengetahui instruksi mana yang akan dimasukan ke dalam pipeline. 2 bit counters). maka besar kemungkinan akan terjadi percabangan juga pada pemrosesan berikutnya. dengan kerugian akibat kesalahan prediksi sebesar 7 siklus (cycles).

Return Address Stack (RAS) : 4/8 entries Branch Penalties / Kerugian: Untuk kasus dengan prediksi Not Taken (kondisi percabangan tidak perlu dieksekusi) dan terbukti benar : tidak ada penalty / kerugian. Untuk kasus kesalahan prediksi : kerugian sedikitnya 10 cycles. Untuk kasus kesalahan prediksi : paling sedikit 9 cycles.• • Pipeline 14 tingkat. predictor diakses saat proses fetch 2K entry bimodal. Untuk kasus dengan prediksi Taken dan terbukti benar : kerugian 1 cycle. 2K entry BTAC 12 entry RAS Branch Penalties: Untuk kasus dengan prediksi Taken dan terbukti benar : kerugian 1 cycle. • Menghindari antrian (queue) 3. Menggunakan tipe bimodalpredictor. 2. Menggunakan 4 bit history untuk menentukan arah. Gshare predictor : 16K entry 2 bit counters. Pentium III. paling banyak 26 cycles. Menggunakan static branch predictor untuk BTB yang miss.7. 15-stage fp pipeline. 4. spesifikasinya : • • • • • Menggunakan dynamic branch prediction 512 entry BTB (branch target buffer) untuk memprediksi arah dan target.3 Contoh Penggunaannya 11 . AMD Athlon K7. yaitu melakukan operasi XOR terhadap PC bits dan global history register (kecuali 3 bit urutan terbawah). spesifikasinya : • • • • 10 stage integer. branch prediction diakses saat instruksi fetch pada stage / tingkat 2-3. rata-rata 10-15 cycles.

Bimodal branch prediction memiliki sebuah tabel masukkan 2 bit yang berisi salah satu dari 4 state yang dimungkinkan yaitu: 00 : strongly not taken 01 : weakly not taken 10 : weakly taken 11 : strongly taken Isi tabel ini akan diupdate setiap kali memasuki kondisi percabangan tersebut. Pada UltraSPARC-III menggunakan bimodal branch prediction. Jadi trivial prediction selalu melakukan fetch instruksi pada urutan berikutnya.3 Cara Kerja Branch Predictors Stallings (2003) mendeskripsikan cara kerja teknik Branch Predictors.1 Bit smith counter saturation 2. Berikut ini adalah gambaran dari state diagram bimodal prediction : Gambar 2.Pada SPARC dan MIPS menggunakan trivial prediction. Trivial prediction memprediksi bahwa branch (percabangan) tidak akan diambil. yaitu prosessor melihat kode instruksi selanjutnya dari memori. kemudian 12 .7.

Branch Predictors mengalami perkembangan yang signifikan. Prediksi Branch predictors tidak hanya pada sebuah percabangan selanjutnya. Branch Predictor dinamis yang pertama untuk mengambil prediksi percabangan didasarkan pada history informasi lokal. Mengurangi hambatan melalui skema peng-indeks-an tabel yang lebih baik Gambar 2. Prediksi ini digunakan oleh mikroprosessor untuk menentukan instruksi yang akan dimasukkan ke dalam 13 . (1992) Gambar 2 memberikan ilustrasi metode untuk menintegrasikan data values ke dalam branch prediction yang dikenal sebagai speculative branch execution (Heil dkk. Apabila perkiraan prosessor benar pada bebarapa waktu tertentu. 1992). Teknik mengkombinasikan antara history global dan lokal 3. sehingga prosessor selalu dalam keadaan sibuk. Penambahan path global dan history informasi 2. Perkembangan branch predictor ditentukan diantaranya oleh 3 (tiga) kategori dasar (Heil dkk. Fog (2008) memberikan contoh ketika terjadi 4 (empat) kali percabangan pada kondisi yang sama. tetapi juga beberapa cabang berikutnya. Sejak itu.memprediksi percabangan atau kelompok instruksi yang mirip untuk diproses berikutnya. Sumber: Heil dkk. prosessor akan mengambil instruksi-instruksi yang benar dan menyimpannya di dalam buffer.. maka pada pemrosesan berikutnya juga diduga akan terjadi percabangan yang sama. yaitu: 1. Penelitian Branch prediction untuk mendukung performance prosessor modern dalam menangani percabanan instruksi telah banyak dilakukan. Branch Predictor melalui speculative execution. 1999).

Pada gambar 3 dapat diperhatikan gambaran “20 stage Misprediction Pipelines” Prosessor Intel 14 . 1992). Gambar 2 menunjukkan skema speculative branch execution menggunakan prediksi data-value dengan ukuran yang tidak terbatas.7. Dibandingkan dengan percabangan statis skema tersebut tingkat akurasinya lebih baik (Heil dkk. mispredicted pada 20 Stage pipelines. tetapi apabila prediksi benar maka waktu yang dibutuhkan untuk eksekusi instruksi menjadi lebih singkat (Fog. 2.).) Instruki yang bersifat spekulatif dibuang dari pipelines dan prosessor memulai eksekusi dari jalur setelah terjadinya mispredicted (Acιiçmez dkk.pipelines (buffer). Gambar 3. penggunaan data-values secara langsung untuk memprediksi percabangan. tetapi tidak dapat menggunakan keduanya. 2008). sebelum mikroprosesor benar-benar yakin terjadi percabangan pada instruksi. Semua perhitungan yang berdasarkan prediksi akan diabaikan jika prediksinya salah. Speculative branch execution membutuhkan satu atau dua akses terhadap tabel serial (tergantung pada data-value predictor yang digunakan) dan menggunakan history percabangan atau data-value.4 MISPREDICTED Gambar 4. Sumber: (Acιiçmez dkk.

Target alamat percabangan Prosessor mencoba menentukan percabangan ke dalam dua kategori Taken dan Not Taken. yang menunjukkan alamat ketika terjadi bottlenecks dan eksekusi instruksi spekulatif setelah percabangan. Informasi ini tidak langsung tersedia ketika terjadi percabangan. Pengambilan instruksi dari alamat target membutuhkan informasi alamat tersebut. Hasil percabangan Prosessor harus mengetahui hasil percabangan (Taken atau Not Taken) untuk mengeksekusi urutan instruksi yang benar. untuk itu prosessor harus mengeksekusi percabangan untuk memperoleh informasi stages selanjutnya di dalam pipelines untuk diekseskusi. maka instruksi pada alamat target diambil dan dikeluarkan. yang dikenal dengan Branch Target Buffer (BTB). Jika prediksi keluar dari Taken. 15 . target alamat juga dimungkinkan tidak tersedia secara langsung. prosessor membutuhkan informasi : 1. 2. Untuk itu. prosessor mencoba untuk memprediksi urutan instruksi yang akan dieksekusi selanjutnya. Prosessor akan mencoba untuk mengambil record target alamat percabangan sebelumnya yang dieksekusi pada pipelines (buffer). Ketika menunggu hasil percabangan.Pentium 4. Pada kondisi tersebut. Seperti halnya hasil percabangan. Prediksi ini didasarkan pada history percabangan yang sama/mirip antara percabangan sebelumnya yang telah dieksekusi dengan percabangan yang akan diproses.

prosessor cukup menyimpan nomor alamat target pada buffer atau menumpuk/mengganti alamat sebelumnya yang tersimpan di buffer. dan lain-lain (Acιiçmez dkk. and Branch Prediction Tables. Predictor adalah bagaian dari BPU yang melakukan prediksi hasil percabangan. Ketika ukuran buffer terbatas. BTB adalah buffer tempat prosessor menyimpan alamat target pada percabangan sebelumnya. fungsi dan arsitetektur BTB sangat mirip dengan cache biasa. Yang termasuk bagian-bagian predictor. yaitu BTB dan Predictor. yaitu Branch History Registers (BHR) seperti Global History Register atau Local History Registers. BAB III PENUTUP 16 . Arsitektur Branch Predictors. Gambar 5 mendeskripsikan Branch Prediction Units (BPU) yang terdiri dari 2 bagian utama.Gambar 5.). dan digunakan sebagai cache untuk melihat alamat target percabangan sebelumnya yang menunjuk ke alamat instruksi tertentu. Sumber: Acιiçmez dkk.

17 . prinsip ini dikenal dengan “pipelining”. maka unit pemrosesan selalu bekerja. Pipelining menggambarkan seolah olah instruksi – instruksi yang akan dieksekusi ditempatkan pada barisan antrian yang menunggu untuk dirakit ataupun dibentuk dengan tahapan-tahapan pemrosesan tertentu. Pada sebuah mikroprosesor sederhana semua instruksi ditangani dalam dua langkah yaitu mendekode dan mengeksekusi.3. Mikroprosesor dapat menghemat waktu dengan cara mendekode suatu instruksi ketika instruksi yang diproses sedang dieksekusi.1 SIMPULAN Dari hasil makalah ini dapat disimpulkan bahwa pipelining instruksi adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit pemrosesan. Dengan cara ini.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->