Organisasi Komputer II STMIK-AUB SURAKARTA

dokumen-dokumen yang mirip
CHAPTER 16 INSTRUCTION-LEVEL PARALLELISM AND SUPERSCALAR PROCESSORS

TEKNIK PIPELINE & SUPERSCALAR. Team Dosen Telkom University 2016

RISC,CISC, DAN PROSESOR SUPERSCALAR

Operasi Unit Kontrol. Arsitektur Komputer II. STMIK AUB Surakarta

Abstrak. Pendahuluan

Table Pipelining and replication in parallel computer architecture

Organisasi Komputer II STMIK AUB SURAKARTA

Hanif Fakhrurroja, MT

STRUKTUR CPU. Arsitektur Komputer

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

Pertemuan ke - 5 Struktur CPU

Operasi Unit Kontrol. Organisasi Komputer II. STMIK AUB Surakarta

ARSITEKTUR DAN ORGANISASI KOMPUTER

Struktur Central Processing Unit Universitas Mercu Buana Yogyakarta

Organisasi Sistem Komputer

Instruction Execution Phases

From M.R Zargham s book (Chapter 3.1)

Program. Program adalah rangkaian instruksi yang memerintahkan suatu computer bagaiamana melaksanakan 4 operasi tersebut.

Struktur dan Fungsi CPU. Ptputraastawa.wordpress.com

CENTRAL PROCESSING UNIT CPU

Struktur CPU 3/23/2011

SISTEM MIKROPROSESOR RIZAL SURYANA JURUSAN TEKNIK ELEKTRO - UNJANI

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

Arsitektur Prosesor MIPS Multi Siklus (Pertemuan ke-27)

Hanif Fakhrurroja, MT

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

Oleh : Agus Priyanto, M.Kom

Unit Control (Hardwired and Micro-programmed)

PENGANTAR TEKNOLOGI INFORMASI

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Pertemuan ke - 4. Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST. Politeknik Elektronika Negeri Surabaya

>> CISC BANDING RISC

SATUAN ACARA PERKULIAHAN

Mikrokontroller Berbasiskan RISC 8 bits

7.1 Pendahuluan. 7.2 Central Processing Unit (CPU)

Arsitektur Set Instruksi. Abdul Syukur

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

Pengantar Teknologi Informasi A. Pertemuan 7. Prossesor & Memori

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT

CONTROL UNIT. Putu Putra Astawa

Sejarah, Evolusi dan Kinerja Komputer Universitas Mercu Buana Yogyakarta

Organisasi Komputer II. Micro-programmed Control. (Kontrol Termikroprogram)

Cara Kerja Processor. Primo riveral. Abstrak. Pendahuluan.

EKSPLOITASI INSTRUCTION-LEVEL PARALELLISM (ILP) PADA UNIPROCESSOR

Evolusi & Perkembangan Komputer BAB 02

Diktat Kuliah - Pipeline

DCH1B3 Konfigurasi Perangkat Keras Komputer

Kumpulan instruksi lengkap yang dimengerti

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

Struktur Central Processing Unit Universitas Mercu Buana Yogyakarta

Pendahuluan BAB I PENDAHULUAN

Organisasi Komputer. Candra Ahmadi, MT

PAPER PIPELINE INSTRUKSI

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

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

Disusun Oleh Kelompok 5 : Abdul Haris Nabu Muh. Eka A.P Paputungan Afner Mengi Deasry Potangkuman Aufry Masugi Adel Mamonto

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

1 Tinjau Ulang Sistem Komputer

Semoga Tuhan memberi berkah pada kelas ini.

ORGANISASI SISTEM KOMPUTER & ORGANISASI CPU Oleh: Priyanto

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

MATA KULIAH: PIPELINING PERTEMUAN 12

SATUAN ACARA PERKULIAHAN MATA KULIAH ARSITEKTUR KOMPUTER (TK) KODE / SKS KK /4

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

Meningkatkan Kinerja dengan Pipelining

TUGAS ARSITEKTUR DAN ORGANISASI KOMPUTER PERKEMBANGAN MEMORY PADA PROSESOR INTEL

ORGANISASI DAN ARSITEKTUR KOMPUTER MIPS

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

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Pertemuan Ke-2 Evolusi Komputer

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

Cache Memori (bagian 3)

Pertemuan ke - 6 Struktur CPU

Aditya Wikan Mahastama

Komponen-komponen Komputer

ORGANISASI DAN ARSITEKTUR KOMPUTER TUGAS KELOMPOK

ORGANISASI DAN ARSITEKTUR KOMPUTER

William Stallings Computer Organization and Architecture

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

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

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

Organisasi & Arsitektur Komputer

PERTEMUAN 2 APLIKASI KOMPUTER. Sistem Operasi. Rangga Rinaldi, S.Kom, MM. Modul ke: Fakultas Desain dan Seni Kreatif. Program Studi Desain Produk

ebook Fakultas Teknologi Industri Universitas Gunadarma 2013

Komputer : Perancangan Kinerja

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

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

Pertemuan Ke-10 Cache Memory

Bagian 2 STRUKTUR CPU

ORGANISASI KOMPUTER DASAR

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

Pertemuan Ke-7 INSTRUCTION SET

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

Sejarah Komputer dan Evolusi Kinerja Komputer

Komputer adalah sebuah mesin hitung elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut

Pertemuan Ke-9 PIPELINING

Apa itu Mikrokomputer?

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

ARSITEKTUR KOMPUTER SET INSTRUKSI

Transkripsi:

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) dapat dimulai dan dilaksanakan secara independen Sebuah inti prosesor yang mengeksekusi dua kali/lebih operasi scalar dalam bentuk paralel. Sebuah prosesor yang memungkinkan eksekusi yang bersamaan dari instruksi yang banyak pada tahap pipeline yang sama Dapat diterapkan untuk RISC & CIS Dalam praktek, biasanya RISC

Why Superscalar? Kebanyakan operasi pada besaran skalar (satu instruksi dalam satu siklus waktu) Sehingga superscalar meningkatkan operasi ini untuk mendapatkan peningkatan secara keseluruhan

Superscalar Execution

Cara Kerja Superscalar Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat Keduanya instruksi yang sederhana I1 tidak melakukan proses jump Tujuan (destination) dari I1 bukan sumber (source) dari I2 Tujaun (destinition) dari I1 bukan tujuan (destination) dari I2 Jika kondisi diatas tidak dapat dipenuhi I1 melakukan proses U-pipe I2 dijalankan di cycle berikutnya

Superscalar Processing Memproses lebih dari satu instruksi per clock cycle Sangat dimungkinkan untuk memisahkan siklus fetch and execute Memiliki Buffers pada fase antara proses fetch and decode Memiliki unit eksekusi yang Parallel

Superscalar CPU Block Diagram

Superpipelined Banyak tahap pipeline memerlukan waktu kurang dari setengah siklus clock Kecepatan clock internal yag double bisa mengerjakan dua tugas per siklus clock eksternal Superscalar memungkinkan mengambil eksekusi secara paralel

Superscalar v Supe rpipe line

Limitations Instruction level parallelism (kemampuan mengeksekusi sejumlah instruksi secara paralel) Compiler based optimisation Hardware techniques Dibatasi oleh True data dependency (Ketergantungan Data Sebenarnya) Procedural dependency (Ketergantungan Prosedural) Resource conflicts (Konflik Sumber Daya) Output dependency (Ketergantungan Output) Antidependency (Antiketergantungan)

True Data Dependency ADD r1, r2 (r1 := r1+r2;) MOVE r3,r1 (r3 := r1;) Instruksi kedua dapat diambil dan didekode, namun tidak dapat dieksekusi apabila instruksi pertama belum dieksekusi. Instruksi kedua membutuhkan data yang dihasilkan oleh instruksi pertama

Procedural Dependency Instruksi-instruksi yang berada setelah percabangan (dilakukan ataupun tidak dilakukan) memiliki suatu ketergantungan prosedural pada percabangan dan tidak akan dieksekusi sampai percabangan tersebut dieksekusi.

Resource Conflict Persaingan antara dua buah instruksi atau lebih untuk memperoleh sumber daya yang sama pada saat yang bersamaan. e.g. two arithmetic instructions Pada pipeline, dapat dilakukan duplikasi sumber daya e.g. have two arithmetic units Unit fungsional tertentu dipipelinekan juga

Effect of Dependencies

Persoalan Perancangan Instruction level parallelism Instruksi-instruksi yang terdapat pada rangkaian bersifat independen Sehingga dapat dieksekusi secara paralel dengan cara overlapped (bertumpang tindih) Ditentukan oleh ketergantungan data and procedural Machine Parallelism Kemampuan prosesor dalam memanfaatkan paralelisme tingkat instruksi Ditentukan oleh jumlah instruksi yang dapat diambil dan dieksekusi secara bersamaan Kedua hal di atas merupakan faktor yang penting untuk meningkatkan kinerja

Instruction Issue Policy Proses penginisiasian eksekusi instruksi di dalam unit-unit fungsional prosesor. Prosesor mecoba mencari posisi di depan instruksi saat itu untuk mendapatkan instruksiinstruksi yang dapat dibawa dan dapat dieksekusi. Dalam hal ini, terdapat tiga pengurutan Urutan diambilnya instruksi Urutan dieksekusinya instruksi. Urutan pertukaran register dan lokasi memori dari instruksi

In-Order Issue In-Order Completion Menerbitkan instruksi dalam urutan pasti yang akan diperoleh oleh eksekusi sekuensial (inorder-issue) dan dengan menuliskan hasilnya dengan urutan yang sama (in-order-completion) Tidak begitu efisien May fetch >1 instruction

In-Order Issue Out-of-Order Completion Prosesor akan mendekode instruksi hingga dijumpai ketergantungan atau konflik. Tidak akan ada instruksi lainnya yang akan didekode sampai konflik diatasi. Output dependency R3:= R3 + R5; (I1) R4:= R3 + 1; (I2) R3:= R5 + 1; (I3) I2 depends on result of I1 - data dependency If I3 completes before I1, the result from I1 will be wrong - output (read-write) dependency

Out-of-Order Issue Out-of-Order Completion Decouple tahapan-tahapan dekode dan eksekusi pipeline,dengan cara menggunakan buffer yang dianggap sebagai jendela instuksi. Setelah prosesor menyelesaikan pendekodean instruksi, maka instruksi tersebut ditempatkan di dalam jendela instruksi. Selama buffer belum penuh, prosesor dapat mengambil instruksi dan mendekode instruksi lainnya. Apabila pada tahapan eksekusi tersedia unit fungsional, maka instruksi yang berasal dari jendela instruksi dapat dikirimkan ke tahapan eksekusi. Sebuah instruksi dapat dikirimkan dengan syarat Instruksi memerlukan unit fungsinal yang tersedia Tidak terjadi konflik atau ketergantungan yang memblokir instuksi tersebut.

Antidependency Contoh konflik penyimpanan Write-write dependency R3:=R3 + R5; (I1) R4:=R3 + 1; (I2) R3:=R5 + 1; (I3) R7:=R3 + R4; (I4) I3 can not complete before I2 starts as I2 needs a value in R3 and I3 changes R3 Kebalikan dari Ketergantungan data sebenarnya(instruksi pertama menghasilkan nilai yang akan digunakan instruksi kedua), melainkan instruksi kedua memusnahkan nilai yang akan digunakan instruksi pertama

Register Renaming Output dan antidepedency muncul karena nilai dalam register tidak dapat lagi merefleksikan nilai-nilai yang ditentukan oleh aliran program. Registers allocated dynamically registers are not specifically named, pada saat nilai register yang baru dibuat, maka sebuah register akan dialokasikan bagi nilai tersebut.

Register Renaming example R3b:=R3a + R5a R4b:=R3b + 1 R3c:=R5a + 1 R7b:=R3c + R4b (I1) (I2) (I3) (I4) Referensi regsiter tanpa subscript berkaitan dengan referensi register logikal yang ditemukan dalam instruksi. Referensi register yang bersubscript berkaitan dengan register perangkat keras yang dialokasikan untuk menampung nilai yang baru.

Machine Parallelism Tiga teknik perangkat keras untuk meningkatkan kinerja : Duplication of Resources Out of order issue Renaming Not worth duplication functions without register renaming Need instruction window large enough (more than 8), apabila jendela instruksi terlalu kecil, maka ketergantungan data akan menghambat kerja unit-unit fungsional

Teknik dalam Superscalar Teknik yang dapat dilakukan dengan metode superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan untuk program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankannya.

Branch Prediction Program yang terdiri dari kelompok perintah bercabang sering digunakan dalam pemrograman. Pada CPU yang mendukung perintah pencabangan, CPU membutuhkan cukup banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya. Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut. Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya..

Speculative Execution CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer. Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya Jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.

Extra Transistor Teknik yang digunakan pipeline dan superscalar untuk melakukan branch prediction dan speculative execution tentunya membutuhkan ekstra transistor yang tidak sedikit untuk hal tersebut. Sebagai perbandingan, komputer yang membangkitkan pemrosesan pada PC pertama yang dikeluarkan oleh IBM pada mesin 8088 memiliki sekitar 29.000 transistor. Sedangkan pada mesin Pentium III, dengan teknologi superscalar dan superpipeline, mendukung branch prediction, speculative execution serta berbagai kemampuan lainnya memiliki sekitar 7,5 juta transistor. Beberapa CPU terkini lainnya seperti HP 8500 memiliki sekitar 140 juta transistor.

Pengguna Superscalar Prosesor Intel x86 yang menggunakan arsitektur superskalar adalah keluarga Intel Pentium, Intel Pentium Pro, Intel Pentium II, Intel Pentium III, Intel Itanium, Intel Xeon, Intel Pentium 4, Intel Pentium M, Intel Core dari Intel Corporation; Keluarga AMD K5, AMD K6, AMD Athlon, AMD Athlon 64, dan AMD Opteron.

Processor superscalar Processor board of a CRAY T3e parallel computer with four superscalar Alpha processors