Upload
ical-militanmannojack
View
242
Download
0
Embed Size (px)
Citation preview
Pertemuan 13(PIPELINING LANJUTAN)
PENDAHULUAN Kecepatan eksekusi program dipengaruhi
oleh banyak factor, suaati cara untukmeningkatkan performa adalah denganmenggunakan tekhnologi sirkuit yang lebihcepat untuk membangun prosessor dan memoriutama. Kemungkinan lain adalah denganmengatur hardware sehingga lebih dari satuoperasi dapat dilakukan pada saat yang sama.Dengan cara ini, jumlah operasi yang dilakukanper detik ditingkatkan sekalipun elapsed timeyang diperlukan untuk melakukan tiap satuoperasi tidak berubah .
1
Group 4 PTIK 09
9.1 OPERASI SUPERSKALAR
Prosesor Superskalar adalah istilah bagiprosesor yang mampu melakukan banyakinstruksi setiap siklusnya, denganmenggunakan sebuah teknik yang disebutdengan pipelining.
2
Group 4 PTIK 09
Penambahan potensial dalam performa hanyadapat direalisasikan dengan memperhatikantiga aspek:
-Set instruksi prosesor
-Desain hardware pipeline
-Desain kompiler yang tepat
3
Group 4 PTIK 09
9.1.1 EKSEKUSI OUT-OF-ORDER
Contoh aliran eksekusi instruksi dalam prosesor
4
Group 4 PTIK 09
Penyelesaian instruksi sesuai urutan program.
5
Group 4 PTIK 09
Gambar Menggunakan register temporer
6
Group 4 PTIK 09
9.1.2 PENYELESAIAN EKSEKUSI
Dengan menggunakan eksekusi out-of-order, unit eksekusi bebas untukmengeksekusi instruksi lain dengan segera.Pada saat yang sama, instruksi harusdiselesaikan sesuai dengan urutan programuntuk memungkinkan precise exception.Persyaratan yang tampaknya bertentaingan inidapat diselesaikan jika eksekusi dapatdilakukan seperti pada Gambar 8.20, tetapihasilnya ditulis ke register temporer. Isiregister tersebut selanjutnya ditransfer keregister permanen dalam urutan program yangtepat.
7
Group 4 PTIK 09
9.1.3 OPERASI DISPATCH
Pada saat keputusan dispatching dibuat,unit dispatch harus memastikan tersedianyasemua resource yang diperlukan untuk eksekusisuatu instruksi. Misalnya, karena hasil instruksimungkin harus ditulis dalam register temporer,maka register tersebut harus kosong, dandicadangkan untuk digunakan oleh instruksitersebut sebagai bagian dari operasi dispatch.Lokasi dalam reorder buffer juga harus tersediauntuk instruksi tersebut. Pada saat semuaresource yang diperlukan telah ditetapkan,termasuk unit eksekusi yang sesuai, makainstruksi tersebut dikirim.
8
Group 4 PTIK 09
9.2 CONTOH UItraSPARC II
Desain prosesor telah sangat meningkatdalam tahun-tahun terakhir. Klasifikasi prosesorsebagai RISC atau CISC murni tidak lagi sesuaikarena prosesor modern performa-tinggi yangberisi elemen kedua gaya desain tersebut.
Arsitektur SPARC, yang merupakan basisbagi prosesor yang digunakan dalam Sunworkstation, adalah contoh yang sangat baik.Salah satu implementasi Sun dengan arsitekturSPARC disebut UItraSPARC II.
9
Group 4 PTIK 09
9.2.1 Arsitektur SPARC
SPARC merupakan singkatan dari ScalableProcessor ARChitecture. Ini merupakanspesifikasi arsitektur set instruksi suatuprosesor, yaitu, spesifikasi set instruksi prosesordan organisasi register, tanpa memperhatikanbagaimana implementasinya pada hardware.Selanjutnya, SPARC merupakan "openarchitecture," yang berarti perusahaan komputerselain Sun Microsystems dapat mengembangkanhardware mereka sendiri untukmengimplementasikan set instruksi yang sama.
10
Group 4 PTIK 09
9.2.2 UltraSPARC II
Arsitektur SPARC, yang merupakan basisbagi prosesor yang digunakan dalam Sunworkstation, adalah contoh yang sangatbaik. Salah satu implementasi Sun denganarsitektur SPARC disebut UItraSPARC II. Mulaidengan penjelasan singkat tentang arsitekturSPARC. Untuk deskripsi lengkapnya,pembaca sebaiknya melihat pada SPARCArchitecture Manual.
11
Group 4 PTIK 09
Gambar Blok bangunan utama prosesorUItraSPARC II.
12
Group 4 PTIK 09
9.2.3 STRUKTUR PIPELINE
UltraSPARC II memiliki pipeline eksekusiinstruksi sembilan-stage,. Fungsi tiap stagediselesaikan dalam satu clock cycle prosesor. Kitaakan memberikan ikhtisar operasi pipeline,kemudian membahas tiap stage secara detil.stagepertama pada pipeline adalah umum bagi semuainstruksi. Instruksi diambil dari cache instruksi padastage pertama (F) dan di-decode sebagian dalamstage ke dua (D). Kemudian, pada stage ketiga (G),suatu grup yang berisi sampai dengan empatinstruksi dipilih untuk eksekusi secara paralel.Instruksi tersebut kemudian dikirim ke unit eksekusiinteger dan floating-point.
13
Group 4 PTIK 09
Gambar 8.24 Organisasi pipeline pada prosesorUltraSPARC
14
Group 4 PTIK 09
Pengambilan dan Decode Instruksi
PDU mengambil hingga empat instruksi daricache instruksi, men-decode-nya sebagian, danmenyimpan hasilnya dalam buffer instruksi,yang dapat menyimpan sampai dengan 12instruksi. Decoding yang terjadi pada stage inimeng-enable PDU untuk menentukan apakahinstruksi tersebut adalah instruksi branch. Jugamendeteksi fitur penting yang dapat digunakanuntuk mempercepat keputusan yang harusdibuat selanjutnya dalam pipeline tersebut.
15
Group 4 PTIK 09
Grouping (Pengelompokan)
Pada stage ketiga pipeline, stage G,Grouping Logic memilih grup sampai denganempat instruksi untuk dieksekusi secara paraleldan mengirimkannya ke unit eksekusi integerdan floating-point.
16
Group 4 PTIK 09
9.3 PERTIMBANGAN PERFORMA
R
SxNT
Kita menegaskan pada Bagian 1.6 bahwa waktu eksekusi, T, pada program yang memiliki count instruksi dinamik N dinyatakansebagai
dimana S adalah jumlah clock cycle rata-rata yangdiperlukannya untuk mengambil dan mengeksekusi satu instruksi,dan R adalah clock rate.
17
Group 4 PTIK 09
9.3.1 JUMLAH PIPELINE STAGE
Fakta bahwa n-stage pipeline dapatmeningkatkan throughput instruksi sebesarfaktor n menunjukkan bahwa kita sebaiknyamenggunakan sejumlah besar stage. Akan tetapi,dengan meningkatknya jumlah pipeline stage,meningkat pula kemungkinan pipeline di-stall,karena lebih banyak instruksi yang dieksekusisecara konkuren.
18
Group 4 PTIK 09
Banyak prosesor pipelined menggunakanempat hingga enam stage. Yang lainnyamembagi eksekusi instruksi menjadi langkahyang lebih kecil dan menggunakan lebih banyakpipeline stage dan clock yang lebih cepat.Misalnya, UltraSPARC II menggunakan 9-stagepipeline dan Pentium Pro dari Intelmenggunakan 12-stage pipeline. Prosesor Intelterbaru, Pentium 4, memiliki 20-stage pipelinedan menggunakan clock speed dalam rentang1.3 hingga 1.5 GHz. Untuk operasi cepat,terdapat dua pipeline stage dalam satu clockcycle.
19
Group 4 PTIK 09