ORGANISASI KOMPUTER MATA KULIAH: Prosesor Superskalar PERTEMUAN 13 PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 BY AYU ANGGRIANI H
BY AYU ANGGRIANI H AYU ANGGRIANI H 092904010 PTIK A 2009 CREATED BY:
OPERASI SUPERSKALAR 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 Gambar 1.1 Contoh aliran eksekusi instruksi dalam prosesor Gamhar 8.21 Penyelesaian instruksi sesuai urutan program. BY AYU ANGGRIANI H
Menggunakan register temporer BY AYU ANGGRIANI H
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 BY AYU ANGGRIANI H
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 BY AYU ANGGRIANI H
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. 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
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. BY AYU ANGGRIANI H
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 BY AYU ANGGRIANI H
Gambar 8.23 Blok bangunan utama prosesor UItraSPARC II. BY AYU ANGGRIANI H
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. BY AYU ANGGRIANI H
Gambar 8.24 Organisasi pipeline pada prosesor UltraSPARC 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 BY AYU ANGGRIANI H
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 BY AYU ANGGRIANI H
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
PERTIMBANGAN PERFORMA Kita menegaskan pada Bagian 1.6 bahwa waktu eksekusi, T , pada program yang memiliki count instruksi dinamik N dinyatakan sebagai BY AYU ANGGRIANI H
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. BY AYU ANGGRIANI H
THANKS SEMOGABERMANFAAT BY AYU ANGGRIANI H