Organisasi Komputer II STMIK-AUB SURAKARTA

Slides:



Advertisements
Presentasi serupa
Struktur CPU Delta Ardy Prima, S.ST.
Advertisements

PENGANTAR TEKNOLOGI INFORMASI
Organisasi dan Arsitektur Komputer
Struktur CPU Organisasi Komputer TATA SUMITRA M.KOM HP
PERTEMUAN MINGGU KE-13 PIPELINE DAN RISC.
Organisasi Komputer : Struktur dan Fungsi Komputer 2
Arsitektur Komputer “Instruksi Set Arsitektur”
PERTEMUAN MINGGU KE-13 PIPELINE DAN RISC OLEH SARI NY.
Pertemuan 3 Arsitektur Komputer II
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
BAB 3 – Pandangan Tingkat Paling Atas Fungsi dan Interkoneksi Komputer
Organisai dan arsitektur komputer
SISTEM KOMPUTER STRUKTUR CPU NI KETUT ESATI, S.Si.
REDUCED INSTRUCTIONS SET ARCHITECTURE.
PERTEMUAN MINGGU KE-13 PIPELINE DAN RISC.
PROSESOR Prosessor adalah otak sentral dari komputer. Sebetulnya prosessor inilah yang disebut CPU (Central Processing Unit) artinya unit pemroses utama.
SISTEM PERANGKAT KERAS. PENDAHULUANMIKROKOMPUTER.
ORGANISASI & ARSITEKTUR KOMPUTER 2 STRUKTUR & FUNGSI CPU IBP WIDJA, MT
Arsitektur Komputer CISC dan RISC
PIPELINE DAN PROSESOR PARALEL
Reduced Instruction Set Computers
Matakuliah : H0162/ Mikroprosesor Tahun : 2006 Versi : 1/0
Organisasi & Arsitektur Komputer
Organisasi dan arsitektur komputer
Arsitektur & Organisasi Komputer BAB IIi STRUKTUR CPU Oleh : Bambang Supeno, ST., MT. Sep-17 Arsitektur & Organisasi Komputer.
PIPELINE DAN PROSESOR PARALEL
Organisasi Komputer STMIK-AUB SURAKARTA
Paralel Processing Sistem Terdistribusi.
Struktur dan Fungsi CPU (II)
Struktur CPU.
CENTRAL PROCESSING UNIT (CPU)

12. Teknologi Pipeline By Serdiwansyah N. A..
ORGANISASI PROSESSOR, REGISTER DAN SIKLUS INSTRUKSI
Pertemuan 12 (PIPELINING)
Abdul Wahid STRUKTUR CPU JURUSAN TEKNIK INFORMATIKA
Arsitektur Komputer II
Reduced Instruction Set Computers
Stallings W., Organisasi dan Arsitektur Komputer, Prentice Hall, 1996
PIPELINING INSTRUKSI Created by : Rizka Ariyanto ( )
Evolusi dan Kinerja Komputer
ORGANISASI & ARSITEKTUR KOMPUTER
Organisasi Komputer II STMIK – AUB Surakarta
Organizes Sistem Komputer
Operasi Unit Kontrol STMIK – AUB Surakarta.
PENGANTAR TEKNOLOGI INFORMASI
Micro-programmed Control (Kontrol Termikroprogram)
PERTEMUAN MINGGU KE-11 PIPELINE DAN RISC.
ORGANISASI & ARSITEKTUR KOMPUTER 2 PROCESSOR SUPERSCALAR IBP WIDJA, MT
ORGANISASI & ARSITEKTUR KOMPUTER
TEKNOLOGI PIPELINE dan OVERCLOCKING
Organisasi Komputer II
Pertemuan ke - 6 Organisasi Komputer
Organisasi dan Arsitektur Komputer
IDENTIFIKASI TREND CONTOH
Pertemuan IV Struktur dan Fungsi CPU (III)
Pertemuan ke - 5 Struktur CPU
Organisasi Komputer II
ARSITEKTUR & ORGANISASI KOMPUTER
Processor super scalar
Pertemuan ke 3 Struktur CPU
PROCESSOR.
ARSITEKTUR KOMPUTER Komponen dan Interkoneksi
Struktur CPU.
ARSITEKTUR KOMPUTER Struktur & Fungsi Arsitektur Komputer
Struktur CPU.
Universitas Trunojoyo
SISTEM OPERASI Desi Ramayanti, S.Kom 11/16/2018
PERTEMUAN MINGGU KE-13 PIPELINE DAN RISC.
Struktur CPU.
Transcript presentasi:

Organisasi Komputer II STMIK-AUB SURAKARTA PROSESOR SUPERSKALAR 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 & CISC 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 yang double bisa mengerjakan dua tugas per siklus clock eksternal Superscalar memungkinkan mengambil eksekusi secara paralel

Superscalar v Superpipeline

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.

Pada pipeline, dapat dilakukan duplikasi sumber daya 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 instruksi-instruksi 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 (in-order-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.

Contoh konflik penyimpanan Write-write dependency 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

Registers allocated dynamically 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 (I1) R4b:=R3b + 1 (I2) R3c:=R5a + 1 (I3) R7b:=R3c + R4b (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.

Tiga teknik perangkat keras untuk meningkatkan kinerja : 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