Hosted by www.Geocities.ws

| Home | About Us | Gallery | Link | Buku Tamu

 

          Topik

   Sistem Nyata Waktu
   Keamanan Sistem Lanjut
   Teknologi Jaringan Nirkabel
   Teori Informasi & Komputasi
   Sistem Informasi

 Artikel Terbaru   
19 Oktober 2005
Meningkatkan Performance Processors Superscalar
21 Oktober 2005
Bursa Kerja Online sebagai pilihan Dalam Pelayanan .....
Kasus Terbaru  
3 Juli 2005
Hacker Jebol New York Times
  Search Articles
  

 

 

  

 

 

 

 

 

Meningkatkan  Performance Processors  Superscalar

Kuspriyanto, Tri Kartika Widyaningsih

Departeman Elektro, Institut Teknologi Bandung

Kampus Jalan Ganeca 10 Bandung 40132

e-mail : [email protected], [email protected]

Abstrak

Sebagai evolusi processor-processor general purpose, superscalar  dirancang untuk meningkatkan kinerja eksekusi dari instruksi-instruksi scalar. Kemampuan superscalar hingga derajat tertentu dapat terjadi jika computer mampu mengatasi permasalahan ketergantungan yang ada pada suatu instruksi. Adapun upaya mengantisipasinya pada kebanyakan computer lebih ditekankan pada penduplikasian unit fungsional baik integer maupun floating point.

Dalam sebuah processor general-purpose, hanya beberapa bagian yang aktif dipilih untuk mereconfigurasi. Dalam hal ini  hanya difokuskan pada unit fungsional, dan  diharapkan memperoleh hasil yang benar untuk aplikasi dengan range yang sangat luas, termasuk penambahan unit konfigurasi secara keseluruhan.

Unit multifungsi seperti FPU (floating point unit) pada processor Intel Itanium 2 dapat mengeksekusi salah satu dari banyak instruksi yang berbeda setiap cycle. Pengalokasian kembali sebuah FPU (floating point unit) dengan latency 5 siklus seperti beberapa extra ALU dengan latency 2 siklus. Extra ALU (xALU) diasumsikan untuk meningkatkan kinerja operasi normal aritmatika di unit fungsional.

Kata kunci : FPU (floating point unit)

1. Introduction

Banyak instruksi-instruksi yang menggunakan besaran atau nilai scalar di dalam sebuah komputasi computer. Karenanya  Superscalar  dirancang untuk meningkatkan kinerja eksekusi dari instruksi-instruksi scalar, sebagai evolusi processor-processor general purpose.

 Superscalar adalah satu kesatuan instruksi (berupa ; arithmetic, pembacaan/penyimpanan, conditional branch) yang dapat diinisialisasi dan dieksekusi secara bebas, sehingga memiliki kemampuan mengeksekusi dua  atau lebih instruksi secara pararel dalam waktu yang bersamaan  yang tergantung pada ada atau tidak adanya ketergantungan yang menyebabkan proses eksekusi terhambat.

Secara umum organisasi superscalar dapat digambarkan sebagai berikut :

 
Multiplier pararel untuk jumlah fixed point yang paling penting terdiri dari tiga Carry-Save Adders (CSA) yang menambahkan semua bagian produk ke dalam dua word, dengan Carry Propagate Adder (CPA). Dari ketiga Sruktur tersebut yang paling tepat  
 

dari gambar di atas terdapat dua buah unit fungsional pada integer register dan floating point, sehingga memungkinkan instruksi melakukan eksekusi dengan menggunakan unit fungsional tersebut dalam waktu yang bersamaan.

 

 

2.  Permasalahan pada Superscalar

Kemampuan dari computer superscalar dapat dilihat dari banyaknya instruksi yang dapat diproses secara parallel. Superscalar hingga derajat tertentu dapat terjadi jika computer mampu mengatasi permasalahan ketergantungan yang ada pada suatu instruksi, diantaranya adalah : ketergantungan data, ketergantungan procedural, ketergantungan sumber unit, ketergantungan output dan antiketergantungan. Dari lima ketergantungan tersebut, sampai sekarang belum ada computer yang mampu mengatasinya secara total. Bagaimanapun computer akan menemukan beberapa ketergantungan dalam menyelesaikan suatu program.

Dari rancangan computer yang ada, hanya mampu meminimalisasikan beberapa ketergantungan saja, walaupun demikian ternyata dengan usaha ini mampu diciptakan computer dengan kinerja yang jauh lebih baik dari generasi-generasi sebelumnya. Adapun usaha yang dilakukan dalam peningkatan kinerja superscalar tersebut diantaranya : desain pipeline (out of order issue and out of order completion), memperbanyak tahapan pada pipeline, penduplikasian sumber unit (contoh : unit fungsional /ALU, memori, bus, cache, dll), desain micro operation (pada system CICS), desain unit prediksi percabangan, dan renaming allocation. Kebanyakan computer lebih menekankan pada upaya penduplikasian unit fungsional baik integer maupun floating point. Untuk itu pada pembahasan ini akan kita bahas salah satu upaya peningkatan kinerja prosesor superscalar secara khusus dalam hal reconfigurasi floating point unit (FPU).

 

  3.  Reconfigurasi Floating-Point Unit

Kebanyakan para peneliti memfokuskan pada penambahan beberapa reconfigurasi untuk system general-purpose. Kemungkinan instruksi-instruksi dibuat dengan menggunakan  teknologi FPGA  yang menggunakan table yang ditulis di dalam memori  yang didesain dengan fungsi logika atau keinginan dari system. FPGA lebih efisien

yang berbeda setiap cycle, seperti Gambar 1. menunjukkan pengalokasian kembali sebuah FPU (floating point unit) dengan latency 5 siklus seperti beberapa extra ALU dengan latency 2 siklus. Extra ALU (xALU) diasumsikan untuk meningkatkan kinerja operasi normal aritmatika di unit fungsional. Pendekatan ini berbeda dengan unit multifungsi sebab menampilkan timespan  panjang yang penting untuk mencetak time idle diantara realokasi, seperti pada saat menunggu  semua unit fungsional dalam keadaan diam, sebelum realokasi dilakukan. Kita akan memfokuskan pada unit floating point sebuah processor dengan ukuran yang wajar. dan selalu idle selama program dieksekusi  jika current aplikasi menggunakan kode integer.

Gambar 1. Path diantara Stasiun dan Unit Fungsi (atas) dan merealokasikan kemungkinan (bawah). Setiap FPU dapat merealokasikan jumlah ALU. Operasi FPU mempunyai 5 stage, xALU mempunyai 2 stage, semua harus idle untuk merealokasikan.

 

                                         

 

1