19
Pertemuan 13 (PIPELINING LANJUTAN) PENDAHULUAN Kecepatan eksekusi program dipengaruhi oleh banyak factor, suaati cara untuk meningkatkan performa adalah dengan menggunakan tekhnologi sirkuit yang lebih cepat untuk membangun prosessor dan memori utama. Kemungkinan lain adalah dengan mengatur hardware sehingga lebih dari satu operasi dapat dilakukan pada saat yang sama. Dengan cara ini, jumlah operasi yang dilakukan per detik ditingkatkan sekalipun elapsed time yang diperlukan untuk melakukan tiap satu operasi tidak berubah . 1 Group 4 PTIK 09

Pert.12 pipelining lanjutan

Embed Size (px)

Citation preview

Page 1: Pert.12 pipelining lanjutan

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

Page 2: Pert.12 pipelining lanjutan

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

Page 3: Pert.12 pipelining lanjutan

Penambahan potensial dalam performa hanyadapat direalisasikan dengan memperhatikantiga aspek:

-Set instruksi prosesor

-Desain hardware pipeline

-Desain kompiler yang tepat

3

Group 4 PTIK 09

Page 4: Pert.12 pipelining lanjutan

9.1.1 EKSEKUSI OUT-OF-ORDER

Contoh aliran eksekusi instruksi dalam prosesor

4

Group 4 PTIK 09

Page 5: Pert.12 pipelining lanjutan

Penyelesaian instruksi sesuai urutan program.

5

Group 4 PTIK 09

Page 6: Pert.12 pipelining lanjutan

Gambar Menggunakan register temporer

6

Group 4 PTIK 09

Page 7: Pert.12 pipelining lanjutan

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

Page 8: Pert.12 pipelining lanjutan

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

Page 9: Pert.12 pipelining lanjutan

9.2 CONTOH UItraSPARC II

Desain prosesor telah sangat meningkatdalam tahun-tahun terakhir. Klasifikasi prosesorse­bagai 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 Sunwork­station, adalah contoh yang sangat baik.Salah satu implementasi Sun dengan arsitekturSPARC disebut UItraSPARC II.

9

Group 4 PTIK 09

Page 10: Pert.12 pipelining lanjutan

9.2.1 Arsitektur SPARC

SPARC merupakan singkatan dari ScalableProcessor ARChitecture. Ini merupakanspesifikasi arsitektur set instruksi suatuprosesor, yaitu, spesifikasi set instruksi prosesordan organisasi re­gister, 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

Page 11: Pert.12 pipelining lanjutan

9.2.2 UltraSPARC II

Arsitektur SPARC, yang merupakan basisbagi prosesor yang digunakan dalam Sunwork­station, adalah contoh yang sangatbaik. Salah satu implementasi Sun denganarsitektur SPARC disebut UItraSPARC II. Mulaidengan penjelasan singkat tentang arsitekturSPARC. Untuk deskripsi leng­kapnya,pembaca sebaiknya melihat pada SPARCArchitecture Manual.

11

Group 4 PTIK 09

Page 12: Pert.12 pipelining lanjutan

Gambar Blok bangunan utama prosesorUItraSPARC II.

12

Group 4 PTIK 09

Page 13: Pert.12 pipelining lanjutan

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

Page 14: Pert.12 pipelining lanjutan

Gambar 8.24 Organisasi pipeline pada prosesorUltraSPARC

14

Group 4 PTIK 09

Page 15: Pert.12 pipelining lanjutan

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 12instruk­si. 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

Page 16: Pert.12 pipelining lanjutan

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

Page 17: Pert.12 pipelining lanjutan

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

Page 18: Pert.12 pipelining lanjutan

9.3.1 JUMLAH PIPELINE STAGE

Fakta bahwa n-stage pipeline dapatmeningkatkan throughput instruksi sebesarfaktor n menun­jukkan bahwa kita sebaiknyamenggunakan sejumlah besar stage. Akan tetapi,dengan menin­gkatknya jumlah pipeline stage,meningkat pula kemungkinan pipeline di-stall,karena lebih banyak instruksi yang dieksekusisecara konkuren.

18

Group 4 PTIK 09

Page 19: Pert.12 pipelining lanjutan

Banyak prosesor pipelined menggunakanempat hingga enam stage. Yang lainnyamem­bagi eksekusi instruksi menjadi langkahyang lebih kecil dan menggunakan lebih banyakpipe­line 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