PIPELINE PERANAN MEMORI CACHE

Ukuran: px
Mulai penontonan dengan halaman:

Download "PIPELINE PERANAN MEMORI CACHE"

Transkripsi

1 PIPELINE PERANAN MEMORI CACHE Tiap stage dalam pipeline diharapkan menyelesaikan operasinya dalam satu clock cycle. Karenanya, periode clock harus cukup lama untuk menyelesaikan tugas yang sedang dilakukan pada tiap stage. Jika unit yang berbeda memerlukan jumlah waktu yang berbeda, maka periode clock harus memungkinkan tugas terlama dapat diselesaikan. Suatu unit yang menyelesaikan tugasnya lebih awal akan idle selama sisa periode clock. Karenanya, pipelining paling efektif dalam meningkatkan performa jika tugas yang sedang dilakukan dalam stage yang berbeda memerlukan jumlah waktu yang sama. Pertimbangan ini terutama penting untuk langkah pengambilan instruksi (instruct:c'! fetch), yang menetapkan sate periode clock pada Gambar 8.2a. Clock cycle harus setara a.= lebih besar daripada waktu yang diperlukan untuk menyelesaikan operasi pengambilan. Ah.:-., tetapi, waktu akses memori utama mungkin sepuluh kali lebih besar daripada waktu yang diptlukan untuk menjalankan operasi pipeline stage dasar dalam prosesor, misalnya penambar2m dua bilangan. Jadi, jika tiap pengambilan instruksi memerlukan akses ke memori utama, rr.a."a pipelining tidak akan begitu berguna. Penggunaan memori cache menyelesaikan persoalan akses memori. Secara khusus, p :: saat cache disertakan pada chip yang sama dengan prosesor, maka waktu akses ke cache bias ya sama dengan waktu yang diperlukan untuk menjalankan operasi dasar lain di dalam pro:. sor. Hal ini memungkinkan membagi pengambilan dan pengolahan instruksi ke dalam langk langkah dengan durasi yang lebih kurang setara. Tiap langkah dilakukan dengan pipeline s:.=..~ yang berbeda, dan periode clock dipilih untuk disesuaikan dengan yang paling panjang PERFORMA PIPELINE Prosesor pipelined pada Gambar 8.2 menyelesaikan pengolahan satu instruksi pada tiap c:, cycle, yang berarti kecepatan pengolahan instruksi tersebut empat kali lebih besar dari op e. berurutan. Peningkatan potensial dalam performa yang dihasilkan dari pipelining proporj,_m dengan jumlah pipeline stage. Akan tetapi, peningkatan ini hanya akan dicapai jika ope pipelined seperti yang digambarkan pada Gambar 8.2a dapat dipertahankan tanpa inter melalui eksekusi program. Sayangnya,

2 ini bukanlah masalahnya. Untuk berbagai alasan, salah satu pipeline stage mungkin tidak dapat menyelesaikan pengolahan instruksinya dalam waktu yang ditentukan. Misalnya, stage E dalam four-~ pipeline pada Gambar 8.2b bertanggung jawab untuk operasi aritmatika dan logika, dan clock cycle ditetapkan untuk tugas ini. Sekalipun ini mungkin cukup untuk sebagian besar rasi, beberapa operasi, misalnya pembagian, mungkin memerlukan waktu penyelesaian lebih banyak. Gambar 8.3 menunjukkan contoh dimana penyelesaian operasi yang ditendalam instruksi I Z memerlukan tiga cycle, dari cycle 4 hingga cycle 6. Jadi, pada cycle 6, Write stage tidak boleh melakukan apapun, karena tidak memiliki data untuk dikes Sementara itu, informasi dalam buffer B, harus tetap lengkap hingga Execute stage telah M lesaiakan operasinya. Ini berarti stage 2 dan, selanjutnya, stage 1 diblok agar tidak men instruksi baru karena informasi dalam B, tidak dapat di-overwrite. Jadi, langkah D 4 dan F; ditunda seperti yang ditunjukkan. Operasi pipelined pada Gambar 8.3 dikatakan stalled selama dua clock cycle. pipelined normal dimulai lagi pada cycle 7. Tiap kondisi yang menyebabkan pipeline stall but hazard. Kita baru saja memperhatikan contoh data hazard. Data hazard adalah tiap k dimana source atau destination operand suatu instruksi tidak tersedia pada waktu diperl dalam pipeline. Akibatnya beberapa operasi harus di tunda dan pipeline mengalami stab. Pipeline juga dapat di-stall karena jeda dalam ketersediaan instruksi. Misalnya, hal ini dapat merupakan akibat dari suatu miss dalam cache, yang meminta instruksi diambil dari memori utama. Hazard tersebut sering disebut control hazard atau instruction hazard. Efek cache miss pada operasi pipelined diilustrasikan pada Gambar 8.4. Instruksi I I diambil dari cache pada cycle 1, dan eksekusinya berjalan secara normal. Akan tetapi, operasi fetch untuk instruksi 129 yang dimulai pada cycle 2, menghasilkan cache miss. Unit pengambilan instruksi sekarang harus menangguhkan tiap request pengambilan berikutnya dan menunggu I Z tiba. Kita 8.4b. Gambar ini menunjukkan fungsi yang dijalankan oleh tiap pipeline stage dalam tiap clock cycle. Perhatikanlah bahwa unit Decode idle pada cycle 3 hingga 5, unit Execute idle pada cycle 4 hingga 6, dan unit Write idle pada cycle 5 hingga 7. Periode idle tersebut disebut stall. Sering disebut juga sebagai bubble dalam pipeline. Setelah terbentuk akibat jeda pada salah satu pipeline stage, maka bubble bergerak menurun hingga mencapai unit terakhir. Tipe hazard ketiga yang mungkin ditemui dalam operasi pipelined dikenal sebagai structural hazard. Ini adalah situasi pada saat dua instruksi

3 perlu menggunakan resource hardware tertentu pada waktu yang sama. Kasus paling umum dimana hazard ini muncul adalah pada akses ke memori. Satu instruksi mungkin perlu mengakses memori sebagai bagian dari Execute atau Write stage pada saat instruksi lain sedang diambil. Jika instruksi dan data berada pada unit cache yang sama, maka hanya satu instruksi yang dapat dilakukan dan instruksi lain ditunda. Banyak prosesor menggunakan cache instruksi dan data terpisah untuk menghindari jeda ini. Contoh structural hazard ditunjukkan pada Gambar 8.5. Gambar ini menunjukkan bagaimana instruksi load Load X(R1),R2 dapat diakomodasi dalam contoh 4-stage pipeline kita. Alamat memori, X+ [R1], dihitun pada langkah E Z pada cycle 4, kemudian akses memoriberlangsung pada cycle S. OpeYandyan dibaca dari memori dituliskan ke dalam register R2 pada cycle 6. Ini berarti langkah ekseku~: instruksi ini memerlukan dua clock cycle (cycle 4 dan 5). Hal ini menyebabkan pipeline star= selama satu cycle, karena instruksi I Z dan 1 3 memerlukan akses ke register file pada cycle 6 Sekalipun instruksi dan datanya tersedia, pipeline distall karena satu resource hardware, yai%w register file, tidak dapat menangani dua operasi sekaligus. Jika register file memiliki dua poinput, yaitu, j ika memungkinkan dua operasi tulis simultan, maka pipeline tidak akan di-star Secara umum, structural hazard dicegah dengan menyediakan resource hardware yang cukldalam chip prosesor. Sangat penting untuk memahami bahwa pipelining tidak menyebabkan instruksi indiv.,aa. dieksekusi lebih cepat; sebaliknya, pipelining meningkatkan throughput, dimana through: diukur dari kecepatan penyelesaian eksekusi instruksi. Setiap kali salah satu dari stage pipeline tidak dapat menyelesaikan operasinya dalam satu clock cycle, maka pipeline stall. terjadi beberapa degradasi dalam performa. Jadi, level performa penyelesaian satu ins pada tiap clock cycle sebenarnya adalah Batas atas untuk throughput yang dapat dicapai da:. prosesor pipelined yang diatur seperti pada Gambar 8.2b. Tujuan penting dalam mendesain prosesor adalah untuk mengidentifikasi semua h yang dapat menyebabkan pipeline stall dan menmukan cara meminimalisasi pengaruhn;.b. Pada bagian selanjutnya kita membahas berbagai hazard, mulai dari data hazard, dilanju ~dengan control hazard. Pada tiap kasus kits menampilkan beberapa teknik yang digunakan

4 untuk mengurangi pengaruh negatifnya pada performa. Kita kembali ke persoalan penilaian performa pada Bagian DATA HAZARD Data hazard adalah situasi dimana pipeline di-stall karena data yang akan dikenai operasi ditunda dengan beberapa alasan, seperti yang diilustrasikan pada Gambar 8.3. Kita sekarang akan menganalisa persoalan ketersediaan data dalam beberapa detil. Perhatikan suatu program yang berisi dua instruksi, I, diikuti oleh I 2. Pada saat program ini dieksekusi dalam pipeline, eksekusi I Z dapat mulai sebelum eksekusi I, diselesaikan. Hal ini berarti hasil I, mungkin tidak tersedia untuk digunakan oleh I 2. Kita harus memastikan bahwa hasil yang diperoleh pada saat istruksi dieksekusi dalam prosesor pipelined identik dengan yang diperoleh pada saat instruksi yang sama dieksekusi secara berurutan. Potensi mendapatkan hasil yang tidak tepat pada saat operasi dilakukan secara konkuren dapat ditunjukkan dengan contoh sederhana berikut. Asumsikan A =5, dan perhatikan dua operasi berikut: AF--3+A BF-4xA Pada saat operasi tersebut dilakukan dalam urutan tersebut, maka hasilnya adalah B=32. Tetapi keduanya dilakukan secara konkuren, nilai A yang digunakan dalam menghitung B adalah nilai awal, 5, sehingga memberikan hasil yang tidak tepat. Jika dua operasi ini dilakukan oleh instruksi dalam suatu program, maka instruksi tersebut harus dieksekusi satu demi satu, karena data yang digunakan pada instruksi kedua tergantung pada hasil instruksi pertama. Sebaliknya, dua operasi Ate- 5 x C B< C dapat dilakukan secara konkuren, karena operasi tersebut Baling bebas. Time Clock cycle Instruksi 1 1 (Mul) 1 2 (Add) Gambar 8.6 = ~c-eilne di-stall oleh :ata dependency irara D2 dan W1.

5 Contoh ini mengilustrasikan batasan dasar yang: harus dilakukan untuk menjamin hasil yang tepat. Pada saat dua operasi saling tergantung satu sama lain, maka keduanya harus dilakukan secara berurutan dalam urutan yang benar. Kondisi ini jelas memiliki konsekuensi yang mendalam. Memahami implikasinya adalah kunci untuk memahami berbagai alternatif desain dan pertukaran yang dihadapi dalam komputer pipelined. Perhatikan pipeline pada Gambar 8.2. Data dependency yang barn saja dideskripsikan muncul pada saat destinasi satu instruksi digunakan sebagai source pada instruksi berikutnya. Misalnya, dua instruksi Mul R2,R3,R4 Add R5,R4,R6 menghasilkan data dependency. Hasil dari instruksi perkalian ditempatkan dalam register R4, yang kemudian merupakan salah satu dari dua source operand pada instruksi Add. Dengan mengasumsikan bahwa operasi perkalian memerlukan satu clock cycle untuk selesai, maka eksekusi akan dilakukan seperti yang ditunjukkan pada Gambar 8.6. Pada scat unit Decode men-decode instruksi Add pada cycle 3, unit tersebut mengetahui bahwa R4 digunakan sebagai source operand. Karenanya, langkah D pada instruksi tersebut tidak dapat diselesaikan hingga langkah W pada instruksi multiply telah diselesaikan. Penyelesaian langkah D Z harus ditunda hingga clock cycle 5, dan ditunjukkan sebagai langkah D2A pada gambar tersebut. Instruksi 1 3 diambil pada cycle 3, tetapi decoding-nya harus ditunda karena langkah D 3 tidak dapat mendahului D Z. Karenanya, eksekusi pipelined di-stall selama dua cycle OPERAND FORWARDING Data hazard yang baru saja dideskripsikan muncul karena satu instruksi, instruksi I Z pada Gambar 8.6, menunggu data dituliskan dalam register file. Akan tetapi, data tersebut tersedia pada output ALU pada saat Execute stage menyelesaikan langkah E,. Karenanya, jeda dapat dikurangi, atau mungkin dihilangkan, jika kita mengatur agar basil instruksi I l di-forward langsung untuk digunakan pada langkah E 2.

6 ter file. Pengaturan ini mirip dengan struktur tiga-bus pada Gambar 7.8, kecuali bahwa telah ditambahkan register SRC1, SRC2, dan RSLT. Register tersebut merupakan interstage buffer yang diperlukan untuk operasi pipelined, seperti yang diilustrasikan pada Gambar 8.7b. Dengan mengacu ke Gambar 8.2b, register SRC 1 dan SRC2 adalah bagian dari buffer B2 dan RSLT adalah bagian B3. Mekanisme data forwarding disediakan oleh jalur koneksi berwarna biru. Dua multiplexer yang dihubungkan pada input ke ALU memungkinkan data pada bus destinasi lebih dipilih daripada isi register SRC 1 atau SRC2. Pada saat instruksi pada Gambar 8.6 dieksekusi dalam datapath pada Gambar 8.7, maka operasi yang dilakukan pada tiap clock cycle adalah sebagai berikut. Setelah decoding instruksi I Z dan mendeteksi data dependency, maka dibuat suatu keputusan untuk menggunakan data forwarding. Operand tidak terlibat dalam dependency tersebut, register R2, dibaca dan di-load ke dalam register SRC 1 pada clock cycle 3. Pada clock cycle berikutnya, hash dari instruksi I I tersedia dalam register RSLT, dan karena koneksi forwarding, maka hash tersebut dapat digunakan pada langkah E 2. Karenanya, eksekusi I Z dilakukan tanpa interupsi MENANGANI DATA HAZARD DALAM SOFTWARE Pada Gambar 8.6, kita mengasumsikan data dependency ditemukan oleh hardware pada scat instruksi di-decode. Hardware kontrol menunda pembacaan register R4 hingga cycle 5, sehingga memunculkan 2-cycle stall kecuali jika digunakan operand forwarding. Suatu pendekatan alternatif adalah dengan menyerahkan tugas pendeteksian data dependency dan penanganannya pada software. Dalam hal ini, compiler dapat menyatakan jeda dua-cycle yang diperlukan antara instruksi I, dan I Z dengan menyesipkan instruksi NOP (No-operation), sebagai berikut: i i : Mu 1 R2, R3, R4 NOP NOP 1 2 : Add R5, R4, R6 Jika tanggung jawab untuk mendeteksi dependency tersebut sepenuhnya diserahkan pada software, maka kompiler harus menyisipkan instruksi NOP untuk mendapatkan hash yang tepat. Kemungkinan ini mengilustrasikan link tertutp antara kompiler dan hardware. Suatu fitur khusus dapat diimplementasikan dalam hardware atau diserahkan pada

7 kompiler. Penyerahan tugas seperti penyisipan instruksi NOP ke kompiler menghasilkan hardware yang lebih sederhana. Dengan menyadari kebutuhan terhadap jeda, maka kompiler dapat mencoba menyusun ulang instruksi untuk melakukan tugas yang berguna dalam slot NOP, dan dengan demikian mencapai performa yang lebih baik. Sebaliknya, penyisipan instruksi NOP menghasilkan ukuran kode yang lebih besar. Juga, sering terjadi arsitektur suatu prosesor memiliki beberapa implementasi hardware, yang menawarkan fitur berbeda. Instruksi NOP yang disisipkan untuk memenuhi persyaratan satu implementasi mungkin tidak diperlukan dan, karenanya, akan menggurangi performa implementasi yang berbeda. x.2.3 EFEK SAMPING Data dependency yang ada pada contoh sebelumnya eksplisit dan mudah dideteksi karena register yang terlibat dinamai sebagai destinasi dalam instruksi I, dan source dalam I Z. Kadangkadang suatu instruksi mengubah isi register selain yang disebut sebagai destinasi. contohnya adalah instruksi yang menggunakan mode pengalamatan autoincrement atau autodecrement. Selain untuk menyimpan data barn dalam lokasi destinasinya, instruksi tersebut mengubah isi source register yang digunakan untuk mengakses salah satu operandnya. Semua tindakan pencegahan untuk menangani data dependency yang melibatkan lokasi destinasi harus juga diterapkan pada register yang dipengaruhi oleh operasi autoincrement atau autodecrement. Pada saat lokasi selain yang secara eksplisit disebut dalam satu instruksi sebagai operand destinasi dipengaruhi, maka instruksi tersebut dikatakan memiliki efek samping (side effect). Misalnya, instruksi stack, seperti push dan pop, menghasilkan efek samping yang serupa karena instruksi tersebut secara implisit menggunakan mode pengalamatan autoincrement dan autodecrement. Efek samping lain yang melibatkan condition code flag, adalah yang digunakan oleh instruksi seperti conditional branch dan add-with-carry. Misalkan register R1 dan R2 menyimpan bilangan integer double-precision yang akan kita tambahkan ke bilangan double-precision yang lain dalam register R3 dan R4. Hal ini dapat dicapai sebagai berikut: Add R1, R3 AddWithCarry R2,R4 Dependency implisit ada diantara dua instruksi ini melalui carry flag. Flag ini diset oleh instruksi pertama dan digunakan pada instruksi kedua, yang menjalankan operasi

8 R4 F-- [R2] + [R4] + carry Instruksi yang memiliki efek samping meningkatkan banyaknya data dependency, yang menghasilkan peningkatan substantial kompleksitas hardware atau software yang diperlukan untuk menyelesaikannya. Untuk alasan ini, desain instruksi untuk eksekusi pada pipelined hardware sebaiknya memiliki beberapa efek samping. Idealnya, hanya isi lokasi destinasi, lokasi register atau memori, yang dipengaruhi oleh tiap instruksi. Efek samping, seperti setting condition code flag atau updating isi address pointer, dijaga pada minimum. Akan tetapi, Bab 2 menunjukkan bahwa mode pengalamatan autoincrement dan autodecrement secara potensial berguna. Condition code flag juga diperlukan untuk mencatat informasi penghasil carry atau penyebab overflow dalam operasi aritmatika. Pada Bagian 8.4 kita menunjukkan bagaimana fungsi tersebut dapat disediakan oleh sarana lain yang konsisten dengan organisasi pipelined dan dengan persyaratan optimizing compiler. 8.3 INSTRUCTION HAZARD Tujuan unit pengambilan instruksi fetch adalah untuk menyediakan arus instruksi tetap bagi unit eksekusi. Kapanpun arus ini diinterupsi, maka pipeline stall, seperti pada Gambar 8.4 yang mengilustrasikan kasus cache miss. Instruksi branch dapat pula menyebabkan pipeline menjadi stall. Sekarang kita akan menganalisa efek instruksi branch dan teknik yang dapat digunakan untuk mengurangi pengaruhnya. Kita mulai dengan unconditional branch UNCONDITIONAL BRANCH Gambar 8.8 menunjukkan rangkaian instruksi yang dieksekusi dalam two-stage pipeline. Instruksi 1 1 hingga 1 3 disimpan pada alamat memori yang berurutan, dan I Z adalah instruks: branch. Misalkan branch target adalah instruksi IV Pada clock cycle 3, operasi pengambilan untuk instruksi 1 3 berjalan pada scat yang sama dengan instruksi branch yang sedang di-decode dan alamat target yang dihitung. Pada clock cycle 4, prosesor harus membuang I 3, yang telah diambil secara tidak tepat, dan mengambil instruksi I k. Sementara itu, unit hardware yang bertanggung jawab untuk langkah Execute (E) harus diberitahu untuk tidak melakukan apapun selama periode clock tersebut. Jadi, pipeline di-stall selama satu clock cycle. Waktu yang hilang karena instruksi branch sering disebut branch penalty. Pada Gamb~:: 8.8, branch penalty adalah satu clock cycle. Untuk pipeline yang lebih panjang, branch penal - µ bisa lebih tinggi. Misalnya, Gambar 8.9a menunjukkan efek instruksi branch pada four-staff. pipeline. Kita telah mengasumsikan bahwa alamat branch dihitung pada langkah E2. Instrul I 3 dan 1 4 harus

9 dibuang, dan instruksi target, I k, diambil pada clock cycle 5. Jadi, branch penal-_% adalah dua clock cycle. Pengurangan branch penalty dilakukan dengan menghitung alamat branch lebih awal dalam pipeline. Biasanya, unit pengambilan instruksi memiliki dedicated hardware untuk mengide tifikasi instruksi branch dan menghitung alamat branch target secepat mungkin setelah siu:'-m instruksi diambil. Dengan hardware tambahan ini, kedua tugas tersebut dapat dilakukan p langkah D2, menghasilkan rangkaian kejadian yang ditunjukkan pada Gambar 8.9b. Dalam ini, branch penalty hanya satu clock cycle. Queue dan Prefetching Instruksi Cache miss atau instruksi branch men-stall pipeline selama satu clock cycle atau lebih. Untuk mengurangi efek interupsi tersebut, banyak prosesor menggunakan unit pengambilan yang canggih yang dapat mengambil instruksi sebelum diperlukan dan meletakkannya dalam queue. Biasanya, queue instruksi dapat menyimpan beberapa instruksi. Suatu unit terpisah, yang kite sebut unit dispatch, mengambil instruksi dari bagian depan queue den mengirimkannya ke un'eksekusi. Hal ini menghasilkan organisasi seperti yang ditunjukkan pada Gambar ULdispatch juga melakukan fungsi decoding. Agar efektif, unit pengambilan harus memiliki kemampuan decoding den pengola yang cukup untuk mengenali dan mengeksekusi instruksi branch. Unit tersebut menjaga ql:je instruksi tetap terisi sepanjang waktu untuk mengurangi pengaruh jeda occasional pada mengambil instruksi. Pada seat pipeline stall karena data hazard, misalnya, unit dispatch ~: dapat mengeluarkan instruksi dari queue instruksi. Akan tetapi, unit pengambilan terus rt - :: ambil instruksi den menambahkannya ke queue. Sebaliknya, jika terdapat jeda dalam pen_= bilan instruksi karena branch atau cache miss, make unit dispatch terus mengeluarkan instr dari queue instruksi. Gambar 8.11 mengilustrasikan bagaimana panjang queue berubah den bagaimana pe-_ ruhnya terhadap hubungan antara pipeline stage yang berbeda. Kite telah mengasurn;bahwa queue pada awalnya berisi satu instruksi. Setiap operasi pengambilan menam - satu instruksi ke queue den setiap operasi dispatch mengurangi panjang queue sebesar Karenanya, panjang queue tetap same dalam empat clock cycle pertama. (Terdapat lar-_ F den D dalam tiap cycle tersebut.) Misalkan instruksi I, memunculkan 2- cycle stall. h.i. a tersedia ruang dalam queue tersebut, make unit pengambilan terus mengambil instruk-s.: panjang queue meningkat menjadi 3 pada clock cycle 6. Instruksi I S adalah instruksi branch. Instruksi targetnya, I k, diambil pada cycle 7.,;a struksi 1 6 dibuang. Instruksi branch biasanya akan menyebabkan stall pada cycle 7 akiba: buangan instruksi I 6. Sebaliknya,

10 instruksi 1 4 di-dispatch dari queue ke decoding stage. ~!-_ discarding I 6, panjang queue menurun hingga 1 pada cycle 8. Panjang queue akan berad.: nilai ini hingga menemui stall lain. Sekarang amati rangkaian penyelesaian instruksi pada Gambar Instruksi I... I.. ;* den I k menyelesaikan eksekusi dalam dock cycle yang berurutan. Karenanya, instruksi ~ _ tidak meningkatkan waktu eksekusi secara keseluruhan. Hal ini karena unit pengmab.:.=struksi mengeksekusi instruksi branch (dengan menghitung alamat branch) secara kodengan eksekusi instruksi lain. Teknik ini disebut sebagai branch folding. Perhatikanlah branch folding hanya terjadi jika pada saat memasuki instruksi branch, setidaknya tersedia satu instruksi dalam queue selain instruksi branch. Jika hanya instruksi branch yang terdapat dalam queue, maka eksekusi akan dilakukan seperti pada Gambar 8.9b. Oleh karena itu, diinginkan untuk mengatur queue agar selalau penuh sepanjang waktu, untuk menjamin suplai instruksi yang cukup untuk pengolahan. Hal ini dapat dicapai dengan meningkatkan kecepatan unit pengambilan membaca instruksi dari cache. Pada banyak prosesor, lebar koneksi antara unit pengambilan dan cache instruksi memungkinkan pembacaan lebih dari satu instruksi pada tiap clock cycle. Jika unit pengambilan mengisi queue instruksi segera setelah terjaadi branch, maka probabilitas terjadinya branch folding akan meningkat. Adanya queue instruksi juga bermanfaat dalam menangani cache miss. Pada saat terjadi cache miss, unit dispatch terus mengirim instruksi untuk eksekusi sepanjang queue instruksi tidak kosong. Sementara itu, blok cache yang dimaksud dibaca dari memori utama atau dari cache sekunder. Pada scat operasi pengambilan dilanjutkan, queue instruksi diisi ulang. Jika queue tidak kosong, maka cache miss tidak akan berpengaruh pada kecepatan eksekusi instruksi. Secara ringkas, queue instruksi mengurangi pengaruh instruksi branch pada performa melalui prows branch folding. Dan juga memiliki efek yang sama pada stall yang disebabkan oleh cache miss. Keefektifan teknik ini ditingkatkan pada saat unit pengambilan instruksi dapat membaca lebih dari satu instruksi pada satu waktu dari cache instruksi CONDITIONAL BRANCH DAN BRANCH PREDICTION Instruksi conditional branch menimbulkan hazard tambahan yang disebabkan oleh ketergantungan kondisi branch pada hash instruksi sebelumnya. Keputusan untuk branch tidak dapat dibuat hingga eksekusi instruksi tersebut telah selesai.

11 Instruksi branch sering terjadi. Sebenarnya, instruksi tersebut menggambarkan sekitar 20 persen count instruksi dinamik pada kebanyakan program. (Count dinamik adalah jumlah eksekusi instruksi, yang memperhitungkan fakta bahwa beberapa instruksi program dieksekusi berulang kali karena loop.) Karena branch penalty, persentase yang besar ini akan mengurangi perolehan performa yang diharapkan dari pipelining. Untungnya, instruksi branch dapat ditangani dengan beberapa cara untuk mengurangi pengaruh negatifnya pada kecepatan eksekusi instruksi. Delayed Branch Pada Gambar 8.8, prosesor mengambil instruksi 1 3 sebelum menentukan apakah instruksi tersebut, 1 2, adalah instruksi branch. Pada scat eksekusi I Z diselesaikan dan dibuat suatu branch, maka prosesor harus membuang I 3 dan mengambil instruksi pada branch target. Lokasi setelah instruksi branch disebut branch delay slot. Mungkin terdapat lebih dari satu branch delay slot, tergantung pada waktu yang diperlukan untuk mengeksekusi instruksi branch. Misalnya, terdapat dua branch delay slot pada Gambar 8.9a dan satu delay slot pada Gambar 8.9b. Instruksi pada delay slot selalu diambil dan setidaknya telah dieksekusi sebagian sebelum keputusan branch dibuat dan alamat target branch dihitung. Suatu teknik yang disebut delayed branching dapat meminimalisasi penalty yang terjadi sebagai akibat instruksi conditional branch. Ide tersebut sederhana. Instruksi dalam delay slot selalu diambil. Oleh karena itu, kita akan mengaturnya agar dieksekusi sepenuhnya baik dilakukan branch atau tidak. Tujuannya adalah untuk dapat menempatkan instruksi yang berguna dalam slot tersebut. Jika tidak ada instruksi berguna yang bisa ditempatkan dalam delay slot, maka slot ini harus diisi dengan instruksi NOP Situasi ini tepat sama dengan kasus data dependency yang dibahas pada Bagian 8.2. Perhatikan rangkaian instruksi yang dinyatakan pada Gambar 8.12a. Register R2 digunakan sebagai counter untuk menentukan berapa kali isi register R1 digeser ke kiri. Untuk prosesor dengan satu delay slot, instruksi tersebut dapat disusun ulang seperti yang ditunjukkan pada Gambar 8.12b. Instruksi shift diambil pada saat instruksi branch dieksekusi. Setelah mengevaluasi branch condition, prosesor mengambil instruksi pada LOOP atau pada NEXT, tergantung pada apakah masing-masing branch condition benar atau salah. Pada kasus lain, prosesor menyelesaikan eksekusi instruksi shift. Rangkaian kejadian selama dua lewatan terakhir dalam loop diilustrasikan pada Gambar Operasi pipelined tidak diinterupsi kapanpun, dan tidak ada idle cycle. Secara logika, program tersebut dieksekusi seakan instruksi branch berada setelah instruksi shift. Branching terjadi satu instruksi lebih awal daripada yang ditampilkan dalam rangkaian instruksi dalam memori, sehingga bernama "delayed branch." LOO (a) Loop program awal Decremen R2 Branch=O LO

12 R1 Shift left R NEX Add l (b) Instruksi yang disusun ulang Keefektifan pendekatan delayed branch tergantung pada seberapa Bering pengaturan ulang instruksi dimungkinkan seperti dalam Gambar Data eksperimen yang dikumpulkan dari banyak program mengindikasikan bahwa teknik kompilasi yang rumit dapat menggunakan satu branch delay slot pada maksimal 85 persen kasus. Untuk prosesor dengan dua branch delay slot, kompiler mencoba menemukan dua instruksi sebelum instruksi branch yang dapat dipindahkannya ke delay slot tanpa menimbulkan error logika. Kesempatan untuk menemukan dua instruksi semacam itu lebih sedikit dari kemungkinan untuk menemukan satu. Jadi, jika peningkatan jumlah pipeline stage melibatkan peningkatan jumlah branch delay slot, maka peningkatan potensial dalam performa tidak akan sepenuhnya tampak. Prediksi Branch Teknik lain untuk mengurangi branch penalty yang berhubungan dengan conditional branch adalah dengan mencoba memprediksikan apakah suatu branch akan dilakukan atau tidak. Bentuk paling sederhana dari prediksi branch adalah dengan mengasumsikan bahwa branch tersebut tidak akan terjadi dan terus mengambil instruksi dengan susunan alamat yang berurutan. Hingga branch condition dievaluasi, eksekusi instruksi disepanjang jalur yang diprediksikan harus dilakukan pada basis spekulatif. Eksekusi speculatif berarti instruksi tersebut dieksekusi sebelum prosesor yakin bahwa dia berada dalam rangkaian eksekusi yang tepat. Karenanya, harus diperhatikan bahwa tidak ada register prosesor atau lokais memori yang di-update hingga ada konfirmasi bahwa instruksi tersebut sebaiknya dieksekusi. Jika keputusan branch mengindikasikan sebaliknya, instruksi tersebut dan semua data yang berhubungan dengannya dalam unit eksekusi harus disingkirkan, dan instruksi yang tepat diambil dan dieksekusi. Branch terprediksi yang tidak tepat diilustrasikan pada Gambar 8.14 untuk four-stag: pipeline. Gambar tersebut menunjukkan instruksi Compare diikuti oleh instruksi Branch: Prediksi branch terjadi di cycle 3, pada saat instruksi 1 3 sedang diambil. Unit pengambila:~ memprediksikan bahwa branch tersebut tidak akan dilakukan, dan kemudian melanjutkan u--tuk mengambil instruksi 1 4 pada saat 13 memasuki Decode stage. Hasil dari operasi compare tersedia pada akhir cycle 3. Dengan mengasumsikan bahwa hasil tersebut diteruskan dengue segera ke unit pengambilan instruksi,

13 maka branch condition dievaluasi pada cycle 4. Pada ti-.~i ini, unit pengambilan instruksi mengetahui bahwa prediksi tersebut tidak tepat, dan dua ir:struksi dalam execution pipe disingkirkan. Instruksi barn, I k, diambil dari alamat branch tang=_ pada clock cycle 5. Jika keluaran branch random, maka setengah branch akan dilakukan. Jadi pendekat.:sederhana dengan mengasumsikan bahwa branch tidak akan dilakukan akan menghemat -5: persen waktu yang dibuang untuk melakukan conditional branch. Akan tetapi, performa leltbaik dapat dicapai jika kita mengatur beberapa instruksi branch yang diprediksikan untuk ~_lakukan dan yang lain untuk tidak dilakukan, tergantung pada kelakuan program yang diharzkan. Misalnya, instruksi branch pada akhir loop menyebabkan branch ke awal loop untuk set: lewatan melalui loop kecuali yang terakhir. Karenanya, sangat menguntungkan untuk mengasumsikan bahwa branch akan dilakukan dan unit pengambilan instruksi mulai mengambil ---struksi pada alamat traget branch. Sebaliknya, untuk instruksi branch pada awal loop progra_ - _. h lebih menguntungkan untuk mengasumsikan bahwa branch tidak akan dilakukan. Keputusan tentang cara mana yang digunakan untuk memprediksi hasil branch da y dibuat pada hardware dengan mengamati apakah alamat target branch lebih rendah atau let", tinggi daripada alamat instruksi branch. Pendekatan yang lebih fleksibel adalah menggunak ;m kompiler untuk memutuskan apakah suatu instruksi branch sebaiknya diprediksi untuk dilak_ kan atau tidak. Instruksi branch pada beberapa prosesor, seperti SPARC, menyertakan bran., prediction bit, yang diset ke 0 atau 1 oleh kompiler untuk mengindikasikan kelakuan v diharapkan. Unit pengambilan instruksi mameriksa bit ini untuk memprediksi apakah bran.-i tersebut akan dilakukan atau tidak. Dengan salah satu skema tersebut, keputusan prediksi branch selalu sama setiap kali sly instruksi dieksekusi. Tiap pendekatan yang memiliki karakteristik ini disebut prediksi brae statik (static branch prediction). Pendekatan lain dimana keputusan prediksi (prediction de: sion) dapat berubah tergantung pada sejarah eksekusinya disebut prediksi branch dinamik i namic branch prediction). 8.4 PENGARUH PADA SET INSTRUKSI

14 Kita telah melihat bahwa beberapa instruksi lebih sesuai untuk eksekusi pipelined daripa:* yang lain. Misalnya, efek samping instruksi dapat menyebabkan data dependency yang c: ; diinginkan. Dalam bagian ini, kita menganalisa hubungan antara fitur eksekusi pipelined I instruksi mesin. Kita membahas dua aspek utama instruksi mesin-mode pengalamatan condition code flag MODE PENGALAMATAN Mode pengalamatan sebaiknya menyediakan sarana untuk mengakses berbagai struktur data secara mudah dan efisien. Mode penggalamatan yang baik antara lain index, indirect, autoincrement, dan autodecrement. Banyak prosesor menyediakan berbagai kombinasi mode tersebut untuk meningkatkan fleksibilitas set instruksinya. Mode pengalamatan complex, misalnya yang melibatkan double indexing, sering sekali ditemui. Dalam memilih mode pengalamatan untuk diimplementasikan dalam prosesor pipelined, kita harus memperhatikan efek tiap mode pengalamatan pads aliran instruksi dalam pipeline. Dua pertimbangan penting yang berkaitan dengan hal ini adalah efek samping mode seperti autoincrement dan autodecrement dan tingkat dimana mode pengalamatan complex menyebabkan pipeline menjadi stall. Faktor penting lain adalah apakah suatu mode akan lebih dipilih oleh suatu kompiler. Untuk membandingkan berbagai pendekatan, kita mengasumsikan model sederhana untuk mengakses operand di dalam memori. Instruksi Load X(R1),R2 memerlukan lima cycle untuk menyelesaikan eksekusi, seperti yang diindikasikan pada Gambar 8.5. Akan tetapi, instruksi Load (R1),R2 dapat diatur untuk sesuai dengan four-stage pipeline karena tidak diperlukan perhitungan alamat. Akses ke memori dapat berlangsung pada stage E. Mode pengalamatan yang lebih kompleks mungkin memerlukan beberapa akses ke memori untuk mencapai operand yang dimaksud. Misalnya, instruksi Load (X(R1)),R2 mungkin dieksekusi seperti pada Gambar 8.16a, dengan mengasumsikan bahwa index offset, X, dinyatakan dalam word instruksi. Setelah menghitung alamat pada cycle 3, prosesor perlu mengakses memori dua kali-pertama untuk membaca lokasi X +[R1] pada clock cycle 4 dan kemudian untuk membaca lokasi [X +[R1]] pada cycle 5. Jika R2 adalah source operand pada instruksi berikutnya, maka instruksi tersebut akan di-stall selama tiga cycle, yang dapat direduksi hingga dua cycle dengan operand forwarding, seperti yang ditunjukkan.

15 Untuk menerapkan operasi Load yang sama hanya menggunakan mode pengalamatan sederhana memerlukan beberapa instruksi. Misalnya, pada komputer yang memungkinkan tiga alamat operand, kita dapat menggunakan Add #X, R1, R2 Load (R2),R2 Load (R2),R2 Instruksi Add menjalankankan operasi R2 +- X +[R1]. Dua instruksi Load tersebut mengambil alamat dan kemudian operand dari memori. Rangkaian instruksi ini memerlukan sejur -lah clock cycle yang tepat sama dengan aslinya, instruksi Load tunggal, seperti pada Gamy: 8.16b. Contoh ini mengindikasikan bahwa, dalam prosesor pipelined, mode pengalamatan kornpleks yang melibatkan beberapa akses ke memori tidak selalu menghasilkan eksekusi yal= lebih cepat. Keuntungan utama mode tersebut adalah mengurangi jumlah instruksi yang dipz-lukan untuk melakukan togas tertentu dan dengan demikian mengurangi ruang program yazz diperlukan dalam memori utama. Kerugian utamanya adalah waktu eksekusinya yang lat-.t menyebabkan pipeline stall, sehingga mengurangi keefektifannya. Mode tersebut memerluk hardware yang lebih kompleks untuk men-decode dan mengeksekusinya. Juga, tidak cots untuk bekerja dengan kompiler. Set instruksi prosesor modern didesain untuk memanfaatkan semaksimal mungkin ha: ware pipelined. Karena mode pengalamatan kompleks tidak cocok untuk eksekusi pipelines aka harus dihindari. Mode pengalamatan yang digunakan dalam prosesor modern ser g memiliki fitur berikut: W Akses ke operand tidak memerlukan lebih dari satu akses ke memori. Hanya instruksi load dan store yang mengakses memory operand. Mode pengalamatan yang digunakan tidak memiliki efek samping. Tiga mode pengalamatan dasar yang memiliki fitur tersebut adalah register, register rect, dan index. Dua yang pertama tidak memerlukan perhitungan alamat. Pada mode i alamat tersebut dapat dihitung dalam satu cycle, baik nilai index dinyatakan dalam inset atau dalam register. Memori diakses pada cycle berikut. Tidak satupun dari mode ini mers, -'efek samping, dengan kemungkinan satu pengecualian. Beberapa arsitekstur, misalnya. memungkinkan alamat dihitung dalam mode index untuk dituliskan kembali ke index regz... Ini adalah efek samping yang tidak akan diijinkan sesuai petunjuk diatas. Perhatikanlah bahwa pengalamatan relative dapat

16 digunakan; ini adalah kasus khusus pengalamatan ind dimana program counter digunakan sebagai index register. Tiga fitur yang baru dirinci di atas pada awalnya dinyatakan sebagai bagian dari ko prosesor RISC. Arsitektur prosesor SPARC, yang sesuai dengan petunjuk tersebut, ditampi" pada Bagian OPERASI SUPERSKALAR Pipelining memungkinkan eksekusi instruksi secara konkuren. Beberapa instruksi terdapat dalam pipeline pada waktu yang sama, tetapi berada dalam stage eksekusi yang berbeda. Pada saat satu instruksi melakukan operasi ALU, instruksi lain di-decode dan yang lain lagi diambil dari memori. Instruksi memasuki pipeline dalam urutan program yang ketat. Tanpa hazard, satu instruksi memasuki pipeline dan satu instruksi menyelesaikan ekskeusi pada tiap clock cycle. Ini berarti throughput maksimum prosesor pipelined adalah satu instruksi per clock cycle. Pendekatan yang lebih agresif adalah dengan mernperlengkapi prosesor dengan banyak unit pengolahan untuk menangani beberapa instruksi secara paralel pada tiap stage pengolahan. Dengan pengaturan ini, beberapa instruksi memulai eksekusi pada clock cycle yang sama, dan prosesor disebut menggunakan multiple-issue. Prosesor tersebut mampu mencapai throughput eksekusi instruksi lebih dari satu instruksi per cycle. Dikenal sebagai prosesor superskalar. Banyak prosesor performa-tinggi menggunakan pendekatan ini. Kita memperkenalkan ide queue instruksi pada Bagian 8.3. Kita menekankan agar queue instruksi tetap terisi, maka prosesor harus dapat mengambil lebih dari satu instruksi pada satu waktu dari cache. Untuk operasi superskalar, pengaturan ini sangat penting. Operasi multipleissue memerlukan jalur yang lebih lebar ke cache dan unit multiple execution. Unit eksekusi terpisah disediakan untuk instruksi integer dan floating-point. Gambar 8.19 menunjukkan contoh prosesor dengan dua unit eksekusi, sate untuk integer dan satu untuk operasi floating-point. Unit Pengambilan instruksi mampu membaca dua instruksi pada satu waktu dan menyimpannya dalam queue instruksi. Pada tiap clock cycle, unit Dispatch mengambil dan me-decode sampai dengan dua instruksi dari bagian depan queue. Jika terdapat satu instruksi integer, satu instruksi floating-point, dan tidak ada hazard, maka kedua instruksi tersebut dikirim pada clock cycle yang sama.

17 Pada prosesor superskalar, efek yang merusak pada performa dari berbagai hazard menjadi semakin nyata. Kompiler dapat menghindari banyak hazard melalui pemilihan yang bijaksana dan penyusunan instruksi. Misalnya, untuk prosesor pada Gambar 8.19, kompiler harus berusaha untuk meng-interleave instruksi floating-point dan integer. Hal ini akan meng-enable unit dispatch untuk mempertahankan agar unit integer dan floating-point sibuk sepanjang waktu. Secara umum, performa tinggi dicapai jika kompiler dapat mengatur instruksi program untuk memanfaatkan secara maksimum unit hardware yang tersedia. Pipeline timing ditunjukkan pada Gambar 'Bayangan biru tersebut mengindik operasi dalam unit floating-point. Unit floatingpoint memerlukan tiga clock cycle untuk lesaikan operasi floatingpoint yang ditetapkan dalam I I. Unit integer menyelesaikan eksei:.:: dalam satu clock cycle. Kita juga telah mengasumsikan bahwa unit floating-point diatur >e internal sebagai tiga-stage pipeline. Jadi, masih dapat menerima instruksi barn pada tiap eli cycle. Karenanya, instruksi 1 3 dan 1 4 memasuki unit dispatch pada cycle 3, dan keduanya dikirms pada cycle 4. Unit integer dapat menerima instruksi baru karena isntruksi I z telah mend Write stage. Instruksi I, masih dalam fase eksekusi, tetapi telah pindah ke stage kedua p pipeline internal dalam unit floating-point. Oleh karena itu, instruksi 1 3 dapat memasuki std pertama. Dengan mengasumsikan tidak ada hazard yang ditemui, maka instruksi men}el:saikan eksekusi seperti yang ditunjukkan EKSEKUSI OUT-OF-ORDER Pada Gambar 8.20, instruksi dikirim pada urutan yang sama seperti dalam program. AkaL tetapi eksekusinya diselesaikan tidak sesuai dengan urutan tersebut. Apakah hal ini menimbulkan persoalan? Kita telah membahas persoalan yang muncul dari ketergantungan antar instruksi. Misalnya, jika instruksi I Z tergantung pada hasil dari I p maka eksekusi I Z akan ditunda. Sepanjang ketergantungan tersebut ditangani dengan tepat, maka tidak ada alasan untuk menunda eksekusi suatu instruksi. Akan tetapi, komplikasi baru muncul pada saat kita mempertimbangkan kemungkinan suatu instruksi yang menyebabkan exception. Exception dapat disebabkan oleh error bus selama pengambilan operand atau operasi ilegal, misalnya usaha membagi dengan nol. Hasil I Z ditulis kembali ke dalam register file pada cycle 4. Jika instruksi I, menyebabkan exception, maka eksekusi program berada dalam keadaan tidak konsisten (inconsistent state). Program counter menunjuk ke instruksi dimana terjadi exception. Akan tetapi, satu atau lebih

18 instruksi yang berurutan telah dieksekusi hingga selesai. Jika situasi tersebut diijinkan, maka prosesor disebut memiliki imprecise exception. Untuk menjamin keadaan konsisten (consistent state) pada saat terjadi exception, maka hash eksekusi instruksi harus dituliskan ke dalam lokasi destinasi sesuai dengan urutan program. Ini berarti kita harus menunda langkah W2 pada Gambar 8.20 hingga cycle 6. Selanjutnya, unit eksekusi integer harus menyimpan hash instruksi 129 dan karenanya tidak dapat menerima instruksi 1 4 hingga cycle 6, seperti pada Gambar 8.21a. Jika terjadi exception dalam suatu instruksi, maka semua instruksi berikutnya yang telah dieksekusi sebagian dibuang. Ini disebut precise exception. Lebih mudah untuk menyediakan precise exception dalam hal interrupt eksternal. Pada saat interrupt eksternal diterima, unit Dispatch berhenti membaca instruksi baru dari queue instruksi, dan instruksi yang berada dalam queue dibuang. Semua prosesor yang eksekusinya ditunda dilanjutkan hingga selesai. Pada titik ini, prosesor tersebut dan semua registernya berada dalam keadaan konsisten, dan pengolahan interrupt dapat dimulai PENYELESAIAN EKSEKUSI Dengan menggunakan eksekusi out-of-order, unit eksekusi bebas untuk mengeksekusi instruksi lain dengan segera. Pada saat yang sama, instruksi harus diselesaikan sesuai dengan urutan program untuk memungkinkan precise exception. Persyaratan yang tampaknya bertentangan ini dapat diselesaikan jika eksekusi dapat dilakukan seperti pada Gambar 8.20, tetapi hasilnya ditulis ke register temporer. Isi register tersebut selanjutnya ditransfer ke register permanen dalam urutan program yang tepat. Pendekatan ini diilustrasikan pada Gambar 8.21b. Langkah TW adalah penulisan ke register temporer. Langkah W adalah langkah terakhir dimana isi register temporer ditransfer ke dalam register permanen yang sesuai. Langkah ini sering disebut langkah komitmen (commitment) karena efek instruksi tidak dapat dibalik setelah titik tersebut. Jika suatu instruksi menyebabkan exception, maka hasil tiap instruksi selanjutnya yang telah dieksekusi akan tetap berada dalam register temporer dan dapat dengan aman dibuang. Register temporer mengasumsikan peranan register permanen yang datanya disimpan dan diberi nama sama. Misalnya, jika register destinasi I Z adalah R5, maka register temporer yang digunakan dalam langkah TW2 diperlakukan sebagai R5 selama clock cycle 6 dan 7. Isinya akan di-forward ke tiap instruksi berikutnya yang mengacu ke R5 selama periode tersebut. Karena fitur ini, maka teknik ini disebut register renaming. Perhatikanlah bahwa register temporer hanya digunakan untuk

19 instruksi setelah I Z dalarn urutan program. Jika suatu instruksi yang mendahului I l perlu membaca R5 pada cycle 6 atau 7, maka instruksi tersebut akan mengakses register aktual R5, yang masih berisi data yang belum dimodifikasi oleh instruksi I 2. Pada scat eksekusi out-of-order diijinkan, diperlukan suatu unit kontrol khusus untuk menjamin komitmen in-order. Ini disebut unit komitmen. Unit tersebut menggunakan queue yang disebut reorder buffer untuk menentukan instruksi mana yang sebaiknya ditetapkan berikutnya. Instruksi dimasukkan ke dalam queue sesuai dengan urutan program pada saat instruksi tersebut dikirim untuk eksekusi. Pada saat instruksi mencapai puncak queue dan eksekusi instruksi tersebut telah selesai maka basil yang tepat ditransfer dari register temporer ke register permanen dan instruksi tersebut dihapus dari queue. Semua resource yang ditetapkan untuk instruksi tersebut, termasuk register temporer, dibebaskan. Instruksi itu dinyatakan telah diberhentikan (retired) pada titik ini. Karena suatu instruksi hanya diberhentikan pada saat berada pada puncak queue, maka semua instruksi yang dikirim sebelumnya juga telah diberhentikan. Karenanya, instruksi dapat menyelesaikan eksekusi out of order, tetapi instruksi tersebut diberhentikan sesuai urutan program.

MATA KULIAH: PIPELINING PERTEMUAN 12

MATA KULIAH: PIPELINING PERTEMUAN 12 MATA KULIAH: 1 PERTEMUAN 12 PIPELINING PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 BY AYU ANGGRIANI H BY AYU ANGGRIANI

Lebih terperinci

ORGANISASI KOMPUTER MATA KULIAH: Prosesor Superskalar PERTEMUAN 13

ORGANISASI KOMPUTER MATA KULIAH: Prosesor Superskalar PERTEMUAN 13 MATA KULIAH: 1 ORGANISASI KOMPUTER PERTEMUAN 13 Prosesor Superskalar PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011

Lebih terperinci

CHAPTER 16 INSTRUCTION-LEVEL PARALLELISM AND SUPERSCALAR PROCESSORS

CHAPTER 16 INSTRUCTION-LEVEL PARALLELISM AND SUPERSCALAR PROCESSORS CHAPTER 16 INSTRUCTION-LEVEL PARALLELISM AND SUPERSCALAR PROCESSORS Apa itu superscalar? Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor Suatu rancangan untuk meningkatkan

Lebih terperinci

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3. PERTEMUAN 1. Organisasi Processor #1 Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3. Fetch Data = mengambil data

Lebih terperinci

ARSITEKTUR DAN ORGANISASI KOMPUTER

ARSITEKTUR DAN ORGANISASI KOMPUTER ARSITEKTUR DAN ORGANISASI KOMPUTER PART 3: THE CENTRAL PROCESSING UNIT CHAPTER 12: PROCESSOR STRUCTURE AND FUNCTION PRIO HANDOKO, S.KOM., M.T.I. CHAPTER 12: PROCESSOR STRUCTURE AND FUNCTION Kompetensi

Lebih terperinci

Organisasi Komputer II STMIK AUB SURAKARTA

Organisasi Komputer II STMIK AUB SURAKARTA Organisasi Komputer II STMIK AUB SURAKARTA Fetch : membaca instruksi berikutnya dari memori ke dalam CPU Execute : menginterpretasikan opcode dan melakukan operasi yang diindikasikan Interrupt : Apabila

Lebih terperinci

Meningkatkan Kinerja dengan Pipelining

Meningkatkan Kinerja dengan Pipelining Meningkatkan Kinerja dengan Pipelining Topik hari ini: Pipeline 5-tahap Hazard dan penjadwalan instruksi Prediksi branch Eksekusi out-of-order 1 Prosesor Siklus Ganda Unit memori tunggal di-share oleh

Lebih terperinci

Hanif Fakhrurroja, MT

Hanif Fakhrurroja, MT Pertemuan 12 Organisasi Komputer Pipeline, Processor RISC dan CISC Hanif Fakhrurroja, MT PIKSI GANESHA, 2013 Hanif Fakhrurroja @hanifoza hanifoza@gmail.com http://hanifoza.wordpress.com Sub-siklus Instruksi

Lebih terperinci

Organisasi Sistem Komputer

Organisasi Sistem Komputer LOGO Organisasi Sistem Komputer OSK 10 Reduced Instruction Set Computer Pendidikan Teknik Elektronika FT UNY Perkembangan Komputer RISC Family concept melepaskan arsitektur mesin dari implementasinya.

Lebih terperinci

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register PERTEMUAN. Organisasi Processor Hal-hal yang perlu dilakukan CPU adalah ::.. Fetch Instruction = mengambil instruksi 2. 2. Interpret Instruction = Menterjemahkan instruksi 3. 3. Fetch Data = mengambil

Lebih terperinci

STRUKTUR CPU. Arsitektur Komputer

STRUKTUR CPU. Arsitektur Komputer STRUKTUR CPU Arsitektur Komputer Tujuan Mengerti struktur dan fungsi CPU yaitu dapat melakukan Fetch instruksi, interpreter instruksi, Fetch data, eksekusi, dan menyimpan kembali. serta struktur dari register,

Lebih terperinci

10. Konsep Operasional Prosessor dan Memori

10. Konsep Operasional Prosessor dan Memori 10. Konsep Operasional Prosessor dan Memori 10.1. Hubungan antara prosessor dan memori Pada modul ini, akan dipelajari prinsip dasar dari hubungan antara prosessor dan memori. Dimulai dengan lokasi memori

Lebih terperinci

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS : MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI Nama : Annisa Christyanti Kelas : XI TJA 3 NIS : 3103113017 TEKNIK JARINGAN AKSES SMK TELKOM SANDHY PUTRA PURWOKERTO TAHUN AJARAN 2014/2015 Mode dan Format

Lebih terperinci

From M.R Zargham s book (Chapter 3.1)

From M.R Zargham s book (Chapter 3.1) PIPELINE HAZARD From M.R Zargham s book (Chapter 3.1) Pada Bab ini pembahasan akan meliputi: Struktur Pipeline Pengukuran Performance Jenis-jenis Pipeline Instruksi Pipeline Aritmatika Pipeline 1. Struktur

Lebih terperinci

CENTRAL PROCESSING UNIT CPU

CENTRAL PROCESSING UNIT CPU CENTRAL PROCESSING UNIT CPU edywin 1 Central Processing Unit CPU terdiri dari : - Bagian data (Datapath) yang berisi register register untuk penyimpanan data sementara dan sebuah ALU untuk melaksanakan

Lebih terperinci

Diktat Kuliah - Pipeline

Diktat Kuliah - Pipeline Mikroprosesor dan Antarmuka Diktat Kuliah - Pipeline Nyoman Bogi Aditya Karna Sisfo IMTelkom bogi@imtelkom.ac.id http://bogi.blog.imtelkom.ac.id Institut Manajemen Telkom http://www.imtelkom.ac.id Proses

Lebih terperinci

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I) Pertemuan 2 Organisasi Komputer II Struktur & Fungsi CPU (I) 1 Menjelaskan tentang komponen utama CPU dan Fungsi CPU Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

Lebih terperinci

14.1. SYNCHRONOUS B US

14.1. SYNCHRONOUS B US 13. BUS Prosesor, memori utama, dan perangkat I/O dapat diinterkoneksikan dengan rnenggunakan bus bersama yang fungsi utamanya adalah menyediakan jalur komunikasi untuk transfer data. Bus tersebut menyertakan

Lebih terperinci

Struktur Sistem Komputer

Struktur Sistem Komputer Struktur Sistem Komputer ARSITEKTUR UMUM SISTEM KOMPUTER Sistem Komputer Sistem komputer terdiri atas CPU dan sejumlah perangkat pengendali yang terhubung melalui sebuah bus yang menyediakan akses ke memori

Lebih terperinci

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ 1. Tempat penyimpanan primer yang bersifat mudah hilang (volatile) dikarenakan hilang saat listrik padam adalah... a. Random Access Memory b. Read Only Memory

Lebih terperinci

Kumpulan instruksi lengkap yang dimengerti

Kumpulan instruksi lengkap yang dimengerti Set Instruksi: 1 Set instruksi? Kumpulan instruksi lengkap yang dimengerti oleh CPU Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut

Lebih terperinci

Hanif Fakhrurroja, MT

Hanif Fakhrurroja, MT Pertemuan 6 Organisasi Komputer CPU dan Sistem Bus Hanif Fakhrurroja, MT PIKSI GANESHA, 2013 Hanif Fakhrurroja @hanifoza hanifoza@gmail.com Agenda Pertemuan 6 1 CPU 2 Sistem Bus Pendahuluan Video CPU CPU

Lebih terperinci

Pipelining. EdyWin 1

Pipelining. EdyWin 1 Pipelining EdyWin 1 Pipelining adalah teknik pemrosesan dengan mengoverlapkan eksekusi beberapa sub-proses. Tenik pemrosesan : (a) Sekuensial, (b) Paralel (c) Pipeline Contoh : Proses pencucian baju. Ani,

Lebih terperinci

ARSITEKTUR KOMPUTER SET INSTRUKSI

ARSITEKTUR KOMPUTER SET INSTRUKSI LOGO ASSALAMU ALAIKUM ARSITEKTUR KOMPUTER SET INSTRUKSI Disajikan Oleh : RAHMAD KURNIAWAN, S.T., M.I.T. TEKNIK INFORMATIKA UIN SUSKA RIAU Karakteristik dan Fungsi Set Instruksi Operasi dari CPU ditentukan

Lebih terperinci

Organisasi & Arsitektur Komputer

Organisasi & Arsitektur Komputer Organisasi & Arsitektur Komputer 1 Set Instruksi Eko Budi Setiawan, S.Kom., M.T. Eko Budi Setiawan mail@ekobudisetiawan.com www.ekobudisetiawan.com Teknik Informatika - UNIKOM 2013 Arsitektur Komputer

Lebih terperinci

3. ALU. Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika.

3. ALU. Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika. SRI SUPATMI,S.KOM 3. ALU Tugas utama adalah melakukan semua perhitungan aritmatika dan melakukan keputusan dari suatu operasi logika. 4. I/O Interconection Input-Output (/O) Interconection merupakan sistem

Lebih terperinci

TEKNIK PIPELINE & SUPERSCALAR. Team Dosen Telkom University 2016

TEKNIK PIPELINE & SUPERSCALAR. Team Dosen Telkom University 2016 TEKNIK PIPELINE & SUPERSCALAR Team Dosen Telkom University 2016 Sebelum Pipeline Single-Cycle Insn0.(fetch, decode, exec) Insn1.(fetch, decode, exec) Multi-Cycle Insn0.fetch Insn0.decode Isns0.exec Insn1.fetch

Lebih terperinci

Karakteristik Instruksi Mesin

Karakteristik Instruksi Mesin PERTEMUAN Karakteristik Instruksi Mesin Instruksi mesin (machine intruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU. Kumpulan fungsi yang dapat dieksekusi CPU disebut set

Lebih terperinci

Instruction Execution Phases

Instruction Execution Phases Instruction Execution Phases Instruction Pipeline Design Hendra Rahmawan 23206017 Pipelined Instruction Processing Suatu instruksi yang dieksekusi biasanya terdiri atas urutan dari operasi-operasi (stages)

Lebih terperinci

Arsitektur Set Instruksi. Abdul Syukur

Arsitektur Set Instruksi. Abdul Syukur Arsitektur Set Instruksi Abdul Syukur abdulsyukur@eng.uir.ac.id http://skurlinux.blogspot.com 085374051884 Tujuan Memahami representasi set instruksi, dan jenis-jenis format instruksi. Mengetahui jenis-jenis

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id 1 Central Processing Unit CPU terdiri dari : - Bagian data (Datapath) yang berisi register register

Lebih terperinci

Eksekusi instruksi Tipe R, LW-SW, Beq, dan Jump (Pertemuan ke-24)

Eksekusi instruksi Tipe R, LW-SW, Beq, dan Jump (Pertemuan ke-24) Eksekusi instruksi Tipe R, LW-SW, Beq, dan Jump (Pertemuan ke-24) Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom April 2016 Instruksi Instruksi disimpan

Lebih terperinci

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com ARSITEKTUR SET INSTRUKSI ptputraastawa@gmail.com Ptputraastawa.wordpress.com Karakteristik Dan Fungsi Set Instruksi Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya.

Lebih terperinci

Pertemuan Ke-12 RISC dan CISC

Pertemuan Ke-12 RISC dan CISC Pertemuan Ke-12 RISC dan CISC RISC Reduced Instruction Set Computer Komputer dengan Set instruksi terbatas CISC Complex Instruction Set Computer Komputer dengan Set instruksi Kompleks RISC (Reduced Instruction

Lebih terperinci

MANAJEMEN MEMORI SISTEM OPERASI

MANAJEMEN MEMORI SISTEM OPERASI MANAJEMEN MEMORI SISTEM OPERASI Manajemen Memori Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik baiknya.

Lebih terperinci

PROSESOR: CONTROL DAN DATAPATH. Oky Dwi Nurhayati, ST, MT

PROSESOR: CONTROL DAN DATAPATH. Oky Dwi Nurhayati, ST, MT PROSESOR: CONTROL DAN DATAPATH Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id 1 Prosesor: Control & Datapath Computer Processor (active) Control ( brain ) Datapath ( brawn ) Memory (passive) (where

Lebih terperinci

Unit Kendali (2) CONTROL UNIT. RegDst Branch. MemRead. MemToReg. Instruction (31-26) ALUOp MemWrite. ALUSrc. RegWrite

Unit Kendali (2) CONTROL UNIT. RegDst Branch. MemRead. MemToReg. Instruction (31-26) ALUOp MemWrite. ALUSrc. RegWrite Unit Kendali MIPS Datapath #1 Unit Kendali (1) Tujuan: mengendalikan semua aktifitas prosesor, atau lebih tepatnya untuk mengendalikan semua komponen seperti ALU, PC, Register, dll Masukan: Operation Code

Lebih terperinci

Struktur CPU 3/23/2011

Struktur CPU 3/23/2011 Central Processing Unit Merupakan komponen terpenting dari sistem komputer Komponen pengolah data berdasarkan instruksi yang diberikan kepadanya Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas

Lebih terperinci

Eksekusi instruksi Tipe R, LW-SW, Beq, Jump, dan Model Pengalamatan (Pertemuan ke-24)

Eksekusi instruksi Tipe R, LW-SW, Beq, Jump, dan Model Pengalamatan (Pertemuan ke-24) Eksekusi instruksi Tipe R, LW-SW, Beq, Jump, dan Model Pengalamatan (Pertemuan ke-24) Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom April 2016 Eksekusi

Lebih terperinci

ORGANISASI KOMPUTER DASAR

ORGANISASI KOMPUTER DASAR ORGANISASI KOMPUTER DASAR A. KOMPONEN SISTEM Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan

Lebih terperinci

Struktur Sistem Komputer

Struktur Sistem Komputer Struktur Sistem Komputer Pengampu Mata Kuliah Casi Setianingsih (CSI) Hp : 081320001220 (WA Only) Email Tugas : casie.sn@gmail.com Email Tel-U : setiacasie@telkomuniversity.ac.id Komposisi Penilaian Quiz

Lebih terperinci

PAPER PIPELINE INSTRUKSI

PAPER PIPELINE INSTRUKSI PAPER PIPELINE INSTRUKSI ARSITEKTUR DAN ORGANISASI KOMPUTER Dosen : Drs. Eko Polosoro, M.Eng, M.M Kelompok: Muhammad Akbar (1111601058) Rano Kurniawan (1111601074) Taufik Tirkaamiasa (1111601082) MAGISTER

Lebih terperinci

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan Pertemuan ke 6 Set Instruksi Computer Organization Dosen : Eko Budi Setiawan Tujuan Memahami representasi set instruksi, dan jenis-jenis format instruksi Mengetahui jenis-jenis type operand yang digunakan

Lebih terperinci

PETA MEMORI MIKROPROSESOR 8088

PETA MEMORI MIKROPROSESOR 8088 1. Bagan Dasar µp 8088 PETA MEMORI MIKROPROSESOR 8088 Gambar 1. Bagan Dasar µp 8088 Elemen didalam mikroprosesor adalah : CU (Control Unit) adalah manajer dari semua unit. CU mengatur keselarasan kerja

Lebih terperinci

Set Instruksi: Set instruksi?

Set Instruksi: Set instruksi? Set Instruksi: 1 Set instruksi? Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (machine instructions) atau

Lebih terperinci

Oleh: 1. Singgih Gunawan Setyadi ( ) 2. Handung Kusjayanto ( ) 3. Wahyu Isnawan ( )

Oleh: 1. Singgih Gunawan Setyadi ( ) 2. Handung Kusjayanto ( ) 3. Wahyu Isnawan ( ) Oleh: 1. Singgih Gunawan Setyadi (10222059) 2. Handung Kusjayanto (11111005) 3. Wahyu Isnawan (11111049) CPU Merupakan komponen terpenting dari sistem komputer sebagai pengolah data berdasarkan instruksi

Lebih terperinci

Komponen-komponen Komputer

Komponen-komponen Komputer PERTEMUAN II Komponen-komponen Komputer Komponen CPU Register Register yang terdapat dalam CPU, yaitu : MAR (Memory Address Register) Menentukan alamat di dalam memori yang akan diakses untuk operasi Read/Write

Lebih terperinci

Struktur dan Fungsi Processor

Struktur dan Fungsi Processor Struktur dan Fungsi Processor Organisasi Prosesor Apa itu Prosesor? IC yang mengontrol keseluruhan jalannya sistem komputer dan digunakan sebagai pusat atau otak dari komputer Bagian-bagian Organisasi

Lebih terperinci

Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitektur CPU. Dan merupakan tantangan bagi arsitektur konvensional

Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitektur CPU. Dan merupakan tantangan bagi arsitektur konvensional PERTEMUAN Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitektur CPU. Dan merupakan tantangan bagi arsitektur konvensional Walaupun sistem RISC telah ditentukan dan dirancang

Lebih terperinci

Dua komponen yang menjalankan proses dalam komputer, yaitu : Central Processing Unit (CPU) Memory Kedua komponen tersebut terletak pada Motherboard.

Dua komponen yang menjalankan proses dalam komputer, yaitu : Central Processing Unit (CPU) Memory Kedua komponen tersebut terletak pada Motherboard. Dua komponen yang menjalankan proses dalam komputer, yaitu : Central Processing Unit (CPU) Memory Kedua komponen tersebut terletak pada Motherboard. Merupakan papan sirkuit utama dari komputer. Penghubung

Lebih terperinci

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016 Set Instruksi & Mode Pengalamatan Team Dosen Telkom University 2016 Karakteristik Instruksi Mesin Set intruksi adalah kumpulan lengkap dari instruksi yang dapat dieksekusi oleh CPU Set instruksi adalah

Lebih terperinci

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH:

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH: MATA KULIAH: ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 By: AYU

Lebih terperinci

Arsitektur Dasar Mikroprosesor. Mikroprosesor 80186/80188

Arsitektur Dasar Mikroprosesor. Mikroprosesor 80186/80188 Arsitektur Dasar Mikroprosesor Mikroprosesor 80186/80188 Arsitektur 1. Lebar data bus diantaranya sebagai berikut : a. Mikroprosesor 80186 mempunyai bus data 16 bit b. Mikroprosesor 80188 mempunyai bus

Lebih terperinci

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 -- Struktur Fungsi CPU Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 -- This presentation is revised by @hazlindaaziz, STMIK, 2014 Main Material: Acknowledgement

Lebih terperinci

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR diadaptasikan dari materi kuliah CS61C/2000 & CS152/1997 2000/1997 UCB 18 September 2002 Bobby Nazief (nazief@cs.ui.ac.id)

Lebih terperinci

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit ) CPU ( Central Processing Unit ) PERKEMBANGAN ARSITEKTUR CPU CPU terdiri dari beberapa bagian yang berbeda yang saling berintegrasi dalam membentuk fungsinya secara bersamaan. Pada bagian ini akan dibahas

Lebih terperinci

Pertemuan ke 7 Mode Pengalamatan. Computer Organization Eko Budi Setiawan

Pertemuan ke 7 Mode Pengalamatan. Computer Organization Eko Budi Setiawan Pertemuan ke 7 Mode Pengalamatan Computer Organization Eko Budi Setiawan Mode Pengalamatan Mengatasi keterbatasan format instruksi Dapat mereferensi lokasi memori yang besar Mode pengalamatan yang mampu

Lebih terperinci

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann CENTRL PROCESSING UNIT (CPU) rsitektur dasar mesin tipe von neumann menjadi kerangka referensi pada komputer digital umum (general-purpose) modern. 3 bagian fundamental tersebut adalah: Data bus Data bus

Lebih terperinci

ORGANISASI INTERNAL PROSESOR Oleh: Priyanto

ORGANISASI INTERNAL PROSESOR Oleh: Priyanto ORGANISASI INTERNAL PROSESOR Oleh: Priyanto Setiap prosesor memiliki beberapa perbedaan dan keistimewaan, tetapi organisasi dasarnya terdiri dari arithmatic/logic unit (ALU), register dan control unit

Lebih terperinci

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register Organisasi Komputer STRUKTUR FUNGSI CPU 1 Tujuan Menjelaskan tentang komponen utama CPU dan Fungsi CPU Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register Menjelaskan

Lebih terperinci

Materi 3. Komponen Mikrokomputer SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA

Materi 3. Komponen Mikrokomputer SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA Materi 3 SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA dadang mulyana 2012 1 Komponen Mikrokomputer Video display (jenis dan resolusi) Keyboard Drive Disk Unit system Prosessor Pendukung dadang mulyana 2012

Lebih terperinci

Organisasi Komputer. Candra Ahmadi, MT

Organisasi Komputer. Candra Ahmadi, MT Organisasi Komputer Candra Ahmadi, MT Tujuan Menjelaskan tentang komponen utama CPU dan Fungsi CPU Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register Menjelaskan

Lebih terperinci

Arsitektur Dasar µp. Sistem Komputer Universitas Gunadarma

Arsitektur Dasar µp. Sistem Komputer Universitas Gunadarma Arsitektur Dasar µp Sistem Komputer Universitas Gunadarma Mikroprosesor 80186/80188 Arsitektur 1. Lebar data bus diantarnya sebagai berikut : Mikroprosesor 80186 mempunyai bus data 16 bit Mikroprosesor

Lebih terperinci

Struktur Dasar Komputer

Struktur Dasar Komputer MATA KULIAH: ORGANISASI KOMPUTER PERTEMUAN I Struktur Dasar Komputer PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011

Lebih terperinci

ORGANISASI DAN ARSITEKTUR KOMPUTER MIPS

ORGANISASI DAN ARSITEKTUR KOMPUTER MIPS ORGANISASI DAN ARSITEKTUR KOMPUTER MIPS Microprocessor without Interlocked Pipeline Stages Nama : Mona Leonike Lanith Nim : 130102028 Program Studi : Sistem Informasi Kelas : A PENGERTIAN MIPS MIPS (Microprocessor

Lebih terperinci

Oleh : Agus Priyanto, M.Kom

Oleh : Agus Priyanto, M.Kom Struktur CPU Oleh : Agus Priyanto, M.Kom Tujuan Pembelajaran Setelah mengikuti kuliah ini, mahasiswa dapat menjelaskan tentang struktur CPU Setelah mengikuti kuliah ini, mahasiswa dapat menjelaskan tentang

Lebih terperinci

ORGANISASI KOMPUTER MOTOROLA MATA KULIAH:

ORGANISASI KOMPUTER MOTOROLA MATA KULIAH: MATA KULIAH: ORGANISASI KOMPUTER MOTOROLA 68000 PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 BY AYU ANGGRIANI H_092904010

Lebih terperinci

1 Tinjau Ulang Sistem Komputer

1 Tinjau Ulang Sistem Komputer 1 Tinjau Ulang Sistem Komputer Overview Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem komputer disertai cara kerjanya.

Lebih terperinci

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT ARSITEKTUR VON NEUMANN DATA BUS DATA BUS INPUT OUTPUT (I/O) UNIT CENTRAL PROCESSING UNIT ADRESS BUS MAIN MEMORY UNIT CONTROL BUS CONTROL

Lebih terperinci

>> CISC BANDING RISC

>> CISC BANDING RISC SRI SUPATMI,S.KOM >> CISC BANDING RISC Ada dua buah konsep popuker yang berhubungan sengan desain cpu dan set instruksi: 1. Complex Instruction Set Computing (CISC) 2. Reduce Instruction Set Computing

Lebih terperinci

ORGANISASI KOMPUTER SISTEM BUS MATA KULIAH:

ORGANISASI KOMPUTER SISTEM BUS MATA KULIAH: MATA KULIAH: ORGANISASI KOMPUTER SISTEM BUS PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 BY: AYU ANGGRIANI H_02904010

Lebih terperinci

CENTRAL PROCESSING UNIT (CPU)

CENTRAL PROCESSING UNIT (CPU) CENTRL PROCESSING UNIT (CPU) rsitektur dasar mesin tipe von neumann menjadi kerangka referensi pada komputer digital umum (general-purpose) modern. 3 bagian fundamental tersebut adalah: Data bus Data bus

Lebih terperinci

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer SAP-2 Mohamad Dani (MHM) E-mail: mohamad.dani@gmail.com Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Telkom

Lebih terperinci

Organisasi Komputer II STMIK-AUB SURAKARTA

Organisasi Komputer II STMIK-AUB SURAKARTA PROSESOR SU PERSK ALAR Organisasi Komputer II STMIK-AUB SURAKARTA What is Superscalar? Salah satu rancangan untuk meningkatkan kecepatan CPU Instruksi umum (arithmetic, load/store, conditional branch)

Lebih terperinci

Pipeline pada x86. Sebagai contoh : Instruksi 1 : ADD AX,AX Instruksi 2 : ADD BX,CX

Pipeline pada x86. Sebagai contoh : Instruksi 1 : ADD AX,AX Instruksi 2 : ADD BX,CX Pipeline pada x86 Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh : Instruksi 1 : ADD

Lebih terperinci

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088 OPERATION SYSTEM Nama : Dian Fahrizal Nim : 110170096 Unit : A3 Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088 Mikroprosesor 8086/8088 memiliki 4 register yang masing-masingnya terdiri dari

Lebih terperinci

Arsitektur Prosesor MIPS Multi Siklus (Pertemuan ke-27)

Arsitektur Prosesor MIPS Multi Siklus (Pertemuan ke-27) Arsitektur Prosesor MIPS Multi Siklus (Pertemuan ke-27) Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom April 2016 Implementasi Multisiklus Organisasi

Lebih terperinci

REGISTER Register-register yang terdapat pada mikroprosesor, antara lain :

REGISTER Register-register yang terdapat pada mikroprosesor, antara lain : REGISTER Register adalah sebagian memori dari mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi. Register-register yang terdapat pada mikroprosesor, antara lain : General purpose register

Lebih terperinci

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 3 Sistem Bus (sistem dan struktur interkoneksi komputer) Konsep Program Sistem Hardware-nya tidak dapat diubah-ubah Fungsi kerja hardware

Lebih terperinci

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access) Rangkuman Materi Presentasi AOK Input/Output Terprogram, Intterupt Driven dan DMA (Direct Memory Access) I/O Terprogram Pada I/O terprogam adalah adanya data yang saling ditukar antara CPU dan modul I/O.

Lebih terperinci

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI KARAKTERISTIK DAN FUNGSI SET INSTRUKSI Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut

Lebih terperinci

Sistem Operasi. Struktur Sistem Komputer. Adhitya Nugraha. Fasilkom 10/6/2014

Sistem Operasi. Struktur Sistem Komputer. Adhitya Nugraha. Fasilkom 10/6/2014 Sistem Operasi Struktur Sistem Komputer Adhitya Nugraha 2014 adhitya@dsn.dinus.ac.id Fasilkom 10/6/2014 Objectives Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem komputer. Mahasiswa

Lebih terperinci

DASKOM & PEMROGRAMAN. Dani Usman

DASKOM & PEMROGRAMAN. Dani Usman DASKOM & PEMROGRAMAN Dani Usman Latar Belakang Memory merupakan tempat menampung data dan kode instruksi program Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan,

Lebih terperinci

Organisasi & Arsitektur Komputer

Organisasi & Arsitektur Komputer Organisasi & Arsitektur Komputer 1 Struktur CPU Eko Budi Setiawan, S.Kom., M.T. Eko Budi Setiawan mail@ekobudisetiawan.com www.ekobudisetiawan.com Teknik Informatika - UNIKOM 2013 Flash Back 2 Pengertian

Lebih terperinci

Pertemuan 9 : CPU (CENTRAL PROCESSING UNIT)

Pertemuan 9 : CPU (CENTRAL PROCESSING UNIT) Pertemuan 9 : CPU (CENTRAL PROCESSING UNIT) 1.ArihtmeticLogikalUnit (ALU) 2. Control Unit 3. Register 4. Internal Bus Fungsi CPU : Menjalankan program program yang disimpan dalam memori utama dengan

Lebih terperinci

ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT MATA KULIAH:

ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT MATA KULIAH: MATA KULIAH: 1 ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 2 CREATED

Lebih terperinci

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG Bab 8 Memori Virtual POKOK BAHASAN: Latar Belakang Demand Paging Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi TUJUAN BELAJAR: Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan

Lebih terperinci

Sistem Komputer. Komputer terdiri dari CPU, Memory dan I/O (Arsitektur Von-Neumann) Ada tiga bus dalam sistem komputer

Sistem Komputer. Komputer terdiri dari CPU, Memory dan I/O (Arsitektur Von-Neumann) Ada tiga bus dalam sistem komputer ELEKTRONIKA DIGITAL TEORI ANTARMUKA Sistem Komputer Komputer terdiri dari CPU, Memory dan I/O (Arsitektur Von-Neumann) Komponen komputer dihubungkan oleh bus. Ada tiga bus dalam sistem komputer Alamat

Lebih terperinci

Bagian 2 STRUKTUR CPU

Bagian 2 STRUKTUR CPU Bagian 2 STRUKTUR CPU 1. KOMPUTER SEBAGAI MESIN 6 LEVEL Bahasa tingkat tinggi Bahasa Rakitan Mesin Sistem Operasi Arsitektur Perangkat Instruksi Arsitektur Mikro Logika Digital Berikut akan dibahas contoh

Lebih terperinci

P10 Media I/O Universitas Mercu Buana Yogyakarta

P10 Media I/O Universitas Mercu Buana Yogyakarta P10 Media I/O Universitas Mercu Buana Yogyakarta A. Sidiq P. 1 Sistem Komputer Komponen utama sistem komputer : CPU Memory (Primary & Secondary) I/O Devices Ex : I Keyboard, Mouse, Modem Ex : O Monitor,

Lebih terperinci

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL Perguruan Tinggi Mitra Lampung MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL 8086 Erwin Ardianto, S.T FLAG REGISTER 8086 memiliki flag register dengan panjang16-bit. Dari 16-bit itu terdapat 9 bendera

Lebih terperinci

Pengantar Hardware: Sistem Bus pada Komputer. Hanif Fakhrurroja, MT

Pengantar Hardware: Sistem Bus pada Komputer. Hanif Fakhrurroja, MT Pengantar Hardware: Sistem Bus pada Komputer Hanif Fakhrurroja, MT PIKSI GANESHA, 2012 Hanif Fakhrurroja @hanifoza hanifoza@gmail.com Sistem Bus Penghubung bagi keseluruhan komponen komputer dalam menjalankan

Lebih terperinci

Organisasi & Arsitektur. Komputer. Org & Ars komp Klasifikasi Ars Komp Repr Data

Organisasi & Arsitektur. Komputer. Org & Ars komp Klasifikasi Ars Komp Repr Data Organisasi & Arsitektur Komputer Org & Ars komp Klasifikasi Ars Komp Repr Data Organisasi berkaitan dengan fungsi dan desain bagianbagian sistem komputer digital yang menerima, menyimpan dan mengolah informasi.

Lebih terperinci

Diktat Kuliah intel 8088

Diktat Kuliah intel 8088 Mikroprosesor dan Antarmuka Diktat Kuliah intel 888 Nyoman Bogi Aditya Karna Sisfo IMTelkom bogi@imtelkom.ac.id http://bogi.blog.imtelkom.ac.id Institut Manajemen Telkom http://www.imtelkom.ac.id Bagan

Lebih terperinci

Pertemuan ke 5 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Manfaat Relevansi Learning Outcome Materi I. Rangkaian Memori Terbatas RAM dinamik

Pertemuan ke 5 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Manfaat Relevansi Learning Outcome Materi I. Rangkaian Memori Terbatas RAM dinamik Pertemuan ke 5 1 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Pada bab ini akan dibahas tentang proses Rangkaian memori terbatas, dan penentuan kelas yang berbeda Manfaat Memberikan kompetensi untuk

Lebih terperinci

Teknologi Scalar untuk meningkatkan Kinerja Prosesor

Teknologi Scalar untuk meningkatkan Kinerja Prosesor MODUL PERKULIAHAN RISC dan CISC Teknologi Scalar untuk meningkatkan Kinerja Prosesor Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Teknik Informatika 12 15004 Tri Daryanto Abstract

Lebih terperinci

Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran)

Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran) Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran) Sistem komputer memiliki tiga komponen utama, yaitu : CPU, memori (primer dan sekunder), dan peralatan masukan/keluaran (I/O devices) seperti printer,

Lebih terperinci

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1 MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1 A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Memahami komponen arsitektur komputer tingkat bawah. 2. Menggunakan simulator untuk

Lebih terperinci

Operasi Unit Kontrol. Arsitektur Komputer II. STMIK AUB Surakarta

Operasi Unit Kontrol. Arsitektur Komputer II. STMIK AUB Surakarta Operasi Unit Kontrol Arsitektur Komputer II STMIK AUB Surakarta Micro-Operations Fungsi sebuah komputer adalah mengeksekusi program. Siklus Fetch/execute selalu terjadi Tiap siklus memiliki sejumlah langkah

Lebih terperinci

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan Arsitektur dan Organisasi Komputer Set instruksi dan Pengalamatan Komponen Komputer Karakteristik Instruksi Mesin Instruksi mesin (machine intruction) yang dieksekusi membentuk suatu operasi dan berbagai

Lebih terperinci