Rabu, 10 Juni 2009

processor superskalar(rahasia dibalik NVDIA G70)

Graphics Processing Unit terbaru dari NVIDIA, G70 atau yang lebih dikenal sebagai GeForce 7800,
merupakan chip graphics processor terkompleks yang pernah dibuat. G70 memiliki transistor sejumlah 302 juta yang diproses menggunakan proses fabrikasi 110nm (oleh TMSC). Sebagai perbandingan,
jumlah transistor yang dimilikinya lebih banyak dibandingkan jumlah transistor pada prosesor desktop terbaru AMD X2 (233 juta) dan Intel Pentium D (230 juta).

Bentuk dari card-nya (reference board) lebih panjang daripada seri GeForce 6800 dan hanya menggunakan solusi pendingin satu slot. Dibandingkan seri GeForce 6800, suara yang dihasilkan oleh kipas pendingin card ini sedikit lebih tenang. GPU-nya berjalan pada kecepatan 430 MHz, sedangkan memorinya berjalan pada kecepatan 1,2 GHz DDR (100 MHz lebih tinggi dibandingkan saudara tuanya, GeForce 6800 Ultra). Untuk saat ini, GeForce 7800 GTX hanya tersedia untuk PCI-Express (PCIe). NVIDIA sendiri belum meperlihatkan indikasi untuk mengeluarkan versi AGP-nya dalam waktu dekat.
Lebih banyak pipa: Paralel adalah kuncinya!

Kecepatan proses paralel GPU-GPU modern saat ini berkembang sangat cepat. Bahkan, kemampuan proses paralel GPU saat ini melebihi kemampuan proses paralel prosesor untuk dekstop yang ada di pasaran. Hal itu tidak lain karena proses paralel merupakan salah satu kunci penting untuk mendapatkan kinerja 3D (terutama untuk game) yang baik.


302 juta transistor: Bahkan AMD X2 dan Pentium D pun kalah jumlahnya.

Proses paralel sangat dibutuhkan karena GPU harus memproses (dan menampilkan di layar) pixel dan vertek dalam jumlah yang sangat besar. Sebuah pixel (elemen gambar) adalah komponen terkecil dari sebuah gambar di layar biasanya berbentuk titik yang berwarna. Jika Anda menampilkan resolusi 1600x 1200 di layar, GPU harus memproses dan menampilkan 1.920.000 pixel. Bayangkan berapa juta pixel yang harus diproses jika Anda sedang bermain 3D, yang dalam satu detik bisa terjadi beberapa kali perubahan gambar.
Ya, benar! Jawabannya pasti banyak sekali pixel yang harus diproses dan ditampilkan.

Kemampuan proses paralel yang luar biasa dari sebuah GPU tidak lain karena sejak awal GPU dirancang menggunakan arsitektur superscalar processor. Arsitektur ini memperbolehkan pengimplementasian “multiple instruction processing pipeline”. Dengan begitu GPU dapat memproses beberapa instruksi, seperti vertex transformation dan pixel shading, dalam satu waktu. Sebagai contoh, NVIDIA NV30 hanya memiliki 4 pipeline, sedangkan NVIDIA mempersenjatai NV40 dengan 16 pipeline. Sekarang pada G70, NVIDIA kembali menambahkan jumlah pipeline yang dimilikinya menjadi 24 pipeline (meningkat 50% dari NV40).


G70: Gambar ini menunjukkan arsitektur dari G70, meskipun kelihatannya mirip dengan NV40, tetapi di dalamnya terdapat banyak peningkatan tersembunyi.

Dibandingkan pipeline yang dimiliki oleh NV30, pipeline pada G70 lebih lebar sehingga mampu memproses lebih banyak pixel dalam satu clock. Pipeline pada G70
juga lebih unggul dibandingkan pipeline pada NV40. Salah satu keunggulannya terletak pada efisiensi daya/power efficiency. Beberapa di antara Anda mungkin bertanya-tanya, “Mengapa tidak 32 pipeline?”. Menurut rumor yang beredar, salah satu alasan “mengapa tidak 32 pipeline” karena proses
produksi chip ini masih menggunakan teknologi 110nm. Sebuah GPU yang memiliki 32 pipeline akan sedikit kebesaran jika masih diproduksi menggunakan teknologi 110nm karena jumlah transistor yang ditanam juga akan bertambah banyak. Selain itu, tingkat keberhasilan (yield) produksi GPU juga
mungkin menjadi salah satu pertimbangan utamanya. Hal ini dapat dilihat dari 12 bulan terakhir. Kala itu GPU terbaik NVIDIA, GeForce 6800 Ultra, hanya beredar dalam jumlah yang sangat terbatas akibat rendahnya tingkat keberhasilan produksi pada saat itu. NVIDIA tentu lebih memilih memproduksi
chip dengan 24 pipeline dalam skala yang lebih besar daripada memproduksi chip dengan 32 pipeline, tapi dalam skala terbatas.

Vertex Shader: Tidak banyak berubah

Vertex processing unit (VPU) pada G70 tidak berbeda jauh (bahkan dapat dibilang sama) dari VPU pada NV40. Hanya saja, NVIDIA menambahkan jumlah VPU-nya menjadi 8 unit (NV40 hanya memiliki 6 unit). Meskipun masalah utama dari GPU saat ini adalah limitasi pixel processing, tetapi vertex processing juga tetap menjadi elemen penting yang tidak dapat diabaikan. Masing-masing dari VPU yang dimiliki oleh G70 terdiri dari sebuah FP32 (32-bit floating point)-scalar, FP32-vector, dan sebuah vertex fetch processor. Kedelapan VPU tersebut juga mampu meneruskan instruksi yang masuk kepada prosesor skalar dan vertex secara bersamaan dalam satu clock.

Pixel Shader: Lebih bertenaga daripada NV40

Bila dilihat sepintas, pixel pipeline pada G70 kurang lebih sama dengan pixel pipeline pada NV40. Namun sebenarnya, NVIDIA melakukan beberapa peningkatan pada arstitektur pixel pipeline di G70. Sebelum kita melihat lebih jauh peningkatan-peningkatan yang ada, mari kita lihat terlebih dahulu desain dari pixel pipeline unit NV40. Pertama, setiap pixel dari 16 pixel pipeline yang dimiliki oleh NV40 terdiri dari dua FP32-vector ALU (unit yang menangani kalkulasi matematika untuk proses shader) dan sebuah texture fetch processor. Desain ini memungkinkan dua instruksi matematika
diproses secara bersamaan atau satu instruksi matematika dan satu lagi texture address diproses secara bersamaan. Namun meskipun begitu, hanya satu unit saja dari kedua FP32-vector ALU tersebut yang mampu menangani operasi Multiply-Add (MADD).

Setelah menganalisis kerja pixel shader lebih dari 1300 kali, NVIDIA menemukan bahwa MADD adalah fungsi matematika yang paling banyak digunakan sekarang ini. Hal ini membuat NVIDIA akhirnya menambahkan fungsi MADD juga ke dalam unit kedua FP32-vector ALU pada G70.Hal
ini berarti, sekarang kedua ALU milik G70 dapat melakukan operasi MADD, sehingga akan berdampak pada peningkatan pemrosesan shader. Improvisasi ini membuat G70 dapat menangani operasi 8 FP MADD per pipa dalam satu clock, dua kali lipat lebih banyak daripada yang dapat ditangani oleh NV40. Jadi secara teori, G70 memiliki pixel shader yang lebih baik dibandingkan NV40. Tentu saja, hal ini membuat G70 memiliki kemampuan pemrosesan shader yang jauh lebih baik bila dibandingkan
dengan GPU-GPU yang lama. Peningkatan ini sesuai dengan apa yang disebut NVIDIA sebagai fokus desain aksitektur kedua (second architectural design focus) untuk G70, yaitu meningkatkan (shader arithmetic density).

Memori: Peningkatan bandwidth = peningkatan kinerja?

Selain meningkatkan kecepatan memorinya, arsitektur memori pada G70 tidak berbeda dibandingkan NV40. Graphics card ini juga menggunakan memori interface 256-bit yang terdiri dari 4×64-bit
(crossbar configuration). Keputusan NVIDIA untuk tidak melakukan perubahan yang signifikan pada arsitektur memori G70 karena mengikuti perkembangan game-game terbaru saat ini. Dulu, kebanyakan game yang beredar tidak terlalu fokus kepada shader dan lebih mementingkan kualitas tekstur gambar untuk menghasilkan efek dan pencahayaan yang menarik. Namun sekarang ini,
game-game lebih banyak didesain untuk mengoptimalkan kerja algoritma yang ada di dalam GPU ketika ingin merender efek dan pencahayaan. Untuk menciptakan gambar yang realistik, para developer game sekarang banyak yang beralih dari multitexture mapping ke pixel shading, yaitu teknik yang menggunakan banyak algoritma (fungsi) dari graphics card untuk menghasilkan efek dan pencahayaan yang ditampilkan. Shader memang jauh lebih flexible terutama karena mereka dapat diprogram (programmable).


Vertex Shader: Tidak banyak berbeda dibandingkan NV40, hanya jumlahnya saja yang bertambah dua unit.


G70 pixel shading: Disinilah sumber utama kekuatan dari G70.


Mengolah tekstur membutuhkan bandwidth yang besar, sedangkan mengolah shader membutuhkan kemampuan komputasi dan pixel pipeline lebih tinggi dari GPU. Oleh sebab itu, sekarang ini meningkatkan bandwidth memori tidak memberikan peningkatan kinerja yang
signifikan karena limitasi yang ada sekarang terletak pada kemampuan pemrosesan shader, bukan pada bandwidth memori.

Transparent AA: Ucapkan selamat tinggal pada jaggies di daun dan pintu!

Ketika Anda tidak ingin lagi melihat jaggies ketika bermain game, multisampling adalah metode anti-aliasing yang paling banyak digunakan saat ini karena algoritma yang digunakannya menghasilkan kualitas gambar dan penalti (penurunan) kinerja yang seimbang. Metode lainnya yang juga sering digunakan adalah supersampling. Namun, sayangnya, meskipun kualitas gambar yang dihasilkan sangat baik, penalti kinerja yang Anda dapat juga sangat besar, terutama ketika digunakan pada
resolusi yang tinggi.

Meskipun memiliki keunggulan dari sisi pinalti kinerja atas super sampling, multisampling memiliki limitasi yang sangat mengganggu. Teknik ini hanya dapat menghilangkan jaggies di ujung polygons atau geometri. Mudahnya, multisampling tidak mampu menghilangkan aliasing dari tekstur yang transparan (tekstur yang berada di antara sebuah polygon/tekstur yang menggunakan alpha channel). Masalah ini dapat terlihat dengan jelas pada objek yang tipis seperti daun, cabang pohon, rumput, dan pagar. Untuk mengatasi masalah ini, NVIDIA mengenalkan dua metode antialiasing barunya yang dinamakan transparency adaptive supersampling dan transparency adaptive multisampling. Jika menggunakan metode ini, transparan tekstur dapat dihilangkan aliasing-nya, baik dengan teknik supersampling atau multisampling.

Majalah CHIP telah menguji seri NV40, yaitu GeForce 6800 GT dan GeForce 6800 Ultra. Kesimpulan pengujian, bahwa meskipun dalam pengujian menggunakan prosesor yang tergolong cepat saat ini, masih sering terjadi limitasi pada CPU di beberapa kasus. Hal itu bahkan terjadi ketika pengujian
dilakukan dengan sebuah single 7800-GTX. Jadi, apabila Anda ingin membeli 7800GTX, pastikan bahwa sistem Anda menggunakan prosesor yang tercepat. Bila Anda menjalankan 7800GTX pada sistem yang menggunakan prosesor lambat, kinerjanya tidak akan berbeda jauh dari sebuah 6800 biasa. Intinya, semakin cepat prosesor Anda, kinerja yang dihasilkan oleh 7800GTX juga akan semakin tinggi. GeForce 7800GTX (G70) memang layak disebut sebagai “monster” yang memiliki
kemampuan pemrosesan shader sangat baik, terutama kemampuan pixel shadingnya. Tidak salah jika kami menyebutnya sebagai graphics card tercepat saat ini. NVIDIA kali ini tidak menyia-nyiakan
kesempatannya untuk merebut tahta tertinggi graphics card tercepat.