Pertemuan 13-prosessor-super-skalar1

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

Transcript of Pertemuan 13-prosessor-super-skalar1

Page 1: Pertemuan 13-prosessor-super-skalar1

1

ORGANISASI KOMPUTER

MATA KULIAH:

PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR

PERTEMUAN 13

Prosesor Superskalar

2013

Page 2: Pertemuan 13-prosessor-super-skalar1

CREATED BY:

BY AYU ANGGRIANI H

2

FRANS RUMENGAN D. 1129040049

PTIK 02 2011

Page 3: Pertemuan 13-prosessor-super-skalar1

OPERASI SUPERSKALAR

Prosesor Superskalar adalah istilah bagi prosesor yang mampu

melakukan banyak instruksi setiap siklusnya, dengan menggunakan

sebuah teknik yang disebut dengan pipelining.

3

Page 4: Pertemuan 13-prosessor-super-skalar1

EKSEKUSI OUT-OF-ORDER

Gambar 1.1 Contoh aliran eksekusi instruksi dalam prosesor

Gamhar 8.21 Penyelesaian instruksi sesuai urutan program.

4

Page 5: Pertemuan 13-prosessor-super-skalar1

Menggunakan register temporer

5

Page 6: Pertemuan 13-prosessor-super-skalar1

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 bertentaingan ini dapat diselesaikan jika eksekusi dapat dilakukan

6

Page 7: Pertemuan 13-prosessor-super-skalar1

OPERASI DISPATCH

Sekarang kita kembali ke operasi dispatch. Pada saat keputusan

dispatching dibuat, unit dispatch harus memastikan tersedianya semua

resource yang diperlukan untuk eksekusi suatu instruksi. Misalnya,

karena hasil instruksi mungkin harus ditulis dalam register temporer,

maka register tersebut harus kosong, dan dicadangkan untuk digunakan

oleh instruksi tersebut sebagai bagian dari operasi dispatch. Lokasi dalam

reorder buffer juga harus tersedia untuk instruksi tersebut. Pada saat

semua resource yang diperlukan telah ditetapkan, termasuk unit eksekusi

yang sesuai, maka instruksi tersebut dikirim

7

Page 8: Pertemuan 13-prosessor-super-skalar1

CONTOH UItraSPARC II

Desain prosesor telah sangat meningkat dalam tahun-tahun terakhir.

Klasifikasi prosesor sebagai RISC atau CISC murni tidak lagi sesuai karena

prosesor modern performa-tinggi yang berisi elemen kedua gaya desain

tersebut.

8

Page 9: Pertemuan 13-prosessor-super-skalar1

Prosesor RISC awal menunjukkan bagairnana fitur tertentu dapat

membantu menghasilkan performa tinggi. Dua observasi berikut terbukti

sangat penting:

Pipelining, yang meng-enable prosesor untuk mengeksekusi beberapa

instruksi pada saat yang sama, dapat menghasilkan peningkatan

performa apabila pipeline tersebut tidak sering di-stall.

Sinergi yang erat antara desain hardware and kompiler meng-enable

kompiler untuk memanfaatkan secara maksimum strukturpipelined

dengan mengurangi kejadian yang menyebabkan pipeline stall.

9

Page 10: Pertemuan 13-prosessor-super-skalar1

Arsitektur SPARC

SPARC merupakan singkatan dari Scalable Processor ARChitecture. Ini

merupakan spesifikasi arsitektur set instruksi suatu prosesor, yaitu, spesifikasi

set instruksi prosesor dan organisasi register, tanpa memperhatikan bagaimana

implementasinya pada hardware. Selanjutnya, SPARC merupakan "open

architecture," yang berarti perusahaan komputer selain Sun Microsystems

dapat mengembangkan hardware mereka sendiri untuk mengimplementasikan

set instruksi yang sama.

10

Page 11: Pertemuan 13-prosessor-super-skalar1

UltraSPARC II

Arsitektur SPARC, yang merupakan basis bagi prosesor yang

digunakan dalam Sun workstation, adalah contoh yang sangat baik.

Salah satu implementasi Sun dengan arsitektur SPARC disebut

UItraSPARC II

11

Page 12: Pertemuan 13-prosessor-super-skalar1

Gambar 8.23 Blok bangunan utama prosesor UItraSPARC II.

12

Page 13: Pertemuan 13-prosessor-super-skalar1

STRUKTUR PIPELINE

UltraSPARC II memiliki pipeline eksekusi instruksi sembilan-stage,

ditunjukkan pada Gambar 8.24. Fungsi tiap stage diselesaikan dalam satu

clock cycle prosesor. Kita akan memberikan ikhtisar operasi pipeline,

kemudian membahas tiap stage secara detil.stage pertama pada pipeline

adalah umum bagi semua instruksi. Instruksi diambil dari cache instruksi

pada stage pertama (F) dan di-decode sebagian dalam stage ke dua (D).

Kemudian, pada stage ketiga (G), suatu grup yang berisi sampai dengan

empat instruksi dipilih untuk eksekusi secara paralel. Instruksi tersebut

kemudian dikirim ke unit eksekusi integer dan floating-point.

13

Page 14: Pertemuan 13-prosessor-super-skalar1

Tiap dua unit eksekusi terdiri dari dua pipeline paralel dengan masing-

masing enam stage. Empat stage pertama tersedia untuk operasi yang

ditetapkan oleh instruksi tersebut, dan dua yang terakhir digunakan untuk

memeriksa exception dan menyimpan hasil instruksi.

Gambar 8.24 Organisasi pipeline pada prosesor UltraSPARC

14

Page 15: Pertemuan 13-prosessor-super-skalar1

Pengambilan dan Decode Instruksi

PDU mengambil hingga empat instruksi dari cache instruksi, men-decode-

nya sebagian, dan menyimpan hasilnya dalam buffer instruksi, yang dapat

menyimpan sampai dengan 12 instruksi. Decoding yang terjadi pada stage ini

meng-enable PDU untuk menentukan apakah instruksi tersebut adalah

instruksi branch. Juga mendeteksi fitur penting yang dapat digunakan untuk

mempercepat keputusan yang harus dibuat selanjutnya dalam pipeline

tersebut

15

Page 16: Pertemuan 13-prosessor-super-skalar1

Grouping (Pengelompokan)

Pada stage ketiga pipeline, stage G, Grouping Logic memilih grup sampai

dengan empat instruksi untuk dieksekusi secara paralel dan

mengirimkannya ke unit eksekusi integer dan floating-point. Gambar 8.25

menunjukkan rangkaian instruksi pendek dan cars instruksi tersebut akan

dikirimkan.

16

Page 17: Pertemuan 13-prosessor-super-skalar1

PERTIMBANGAN PERFORMA

Kita menegaskan pada Bagian 1.6 bahwa waktu eksekusi, T , pada

program yang memiliki count instruksi dinamik N dinyatakan sebagai

R

SxNT

17

Page 18: Pertemuan 13-prosessor-super-skalar1

JUMLAH PIPELINE STAGE

Fakta bahwa n-stage pipeline dapat meningkatkan throughput instruksi sebesar

faktor n menunjukkan bahwa kita sebaiknya menggunakan sejumlah besar

stage. Akan tetapi, dengan meningkatknya jumlah pipeline stage, meningkat

pula kemungkinan pipeline di-stall, karena lebih banyak instruksi yang

dieksekusi secara konkuren. Jadi, ketergantungan antar instruksi yang terpisah

jauh masih dapat menyebabkan pipeline stall. Juga, penalti-branch dapat

menjadi lebih signifikan, seperti yang ditunjukkan Gambar 8.9. Untuk alasan

ini, penambahan dari peningkatan nilai n mulai berkurang, dan biayanya tidak

dapat diterima.

18

Page 19: Pertemuan 13-prosessor-super-skalar1

S E M O G A B E R M A N F A A T

THANKS 19