1
MATA KULIAH:
ORGANISASI KOMPUTER PERTEMUAN 13
Prosesor Superskalar
PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 BY AYU ANGGRIANI H
BY AYU ANGGRIANI H
CREATED BY:
2
AYU ANGGRIANI H 092904010 PTIK A 2009
OPERASI SUPERSKALAR 3
Prosesor Superskalar adalah istilah bagi prosesor yang mampu
melakukan banyak instruksi setiap siklusnya, dengan menggunakan sebuah teknik yang disebut dengan pipelining.
BY AYU ANGGRIANI H
EKSEKUSI OUT-OF-ORDER 4
Gambar 1.1 Contoh aliran eksekusi instruksi dalam prosesor
BY AYU ANGGRIANI H
Gamhar 8.21 Penyelesaian instruksi sesuai urutan program.
Menggunakan register temporer
BY AYU ANGGRIANI H
5
PENYELESAIAN EKSEKUSI 6
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
BY AYU ANGGRIANI H
OPERASI DISPATCH 7
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
BY AYU ANGGRIANI H
CONTOH UItraSPARC II 8
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.
BY AYU ANGGRIANI H
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.
BY AYU ANGGRIANI H
9
Arsitektur SPARC 10
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.
BY AYU ANGGRIANI H
UltraSPARC II 11
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
BY AYU ANGGRIANI H
Gambar 8.23 Blok bangunan utama prosesor UItraSPARC II.
BY AYU ANGGRIANI H
12
STRUKTUR PIPELINE 13
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.
BY AYU ANGGRIANI H
Tiap dua unit eksekusi terdiri dari dua pipeline paralel dengan masingmasing 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 BY AYU ANGGRIANI H
14
Pengambilan dan Decode Instruksi
PDU mengambil hingga empat instruksi dari cache instruksi, men-decodenya 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
BY AYU ANGGRIANI H
15
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.
BY AYU ANGGRIANI H
16
PERTIMBANGAN PERFORMA 17
Kita menegaskan pada Bagian 1.6 bahwa waktu eksekusi, T , pada program yang memiliki count instruksi dinamik N dinyatakan sebagai
TīŊ
BY AYU ANGGRIANI H
NxS R
JUMLAH PIPELINE STAGE 18
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.
BY AYU ANGGRIANI H
THANKS 19 SEMOGABERMANFAAT ī
BY AYU ANGGRIANI H