pemanfaatan bahasa pendiskripsian mesin (machine...

5
Abstrak Pemanfaatan Bahasa Pendiskripsian Mesin (Machine Description) pada teknologi kompilator arsitektur VLIW Debyo Saptono', Joko Purnomo", Eri Prasetyo" 1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri, Universitas Gunadarma 3]urusan Sistem Komputer, Fakultas Ilmu Komputer, Universitas Gunadanna 1 [email protected], 2 [email protected]. [email protected] Arsitektur komputer berbasiskan prosesor Very Long Instruction Word (VLIW) adalah satu pilihan yang optimal dalam usaha untuk memperoleh tingkat performansi yang tinggi pada suatu peralatan aplikasi sistem embedded. . Efektifitas dari jenis-jenis prosesor ini tergantung dari kemampuan kompilatomya untuk menyediakan Instruction Level Parallelism (ILP) dalam kode program. Penggunaan kompilator VLIW yang bersifat retargetable dapat digunakan untuk mendiskripsikan prosesor target yang diharapkan. Seperti kompilator VLIW yang digunakan dalam analisis adalah Open IMPACT yang diideskripsikan untuk prosesor DSP keluaran Texas Instrument (T!) dengan menggunakan Machine Description Languages (MDES). Analisis yang tepat sangat diperlukan untuk menghasilkan suatu peralatan yang berkinerja tinggi, terutama analisis pada kompilator yang menghasilkan tingkat fLP yang tinggi pada beberapa aplikasi pengolahan sinyal digital. Sebagai pembanding kinerja kompilator OpenIMPACT digunakan kompilator VEX yang bekerja pada jenis arsistektur VLIW juga. Hasil simulasi yang dilakukan menggunakan Lsim menunjukkan bahwa kompilator OpenIMPACT dapat menghasilkan fLP yang tinggi dibandingkan VEX C dengan pengaturan konfigurasi perangkat keras yang relatif sama .. Kata kunci : Kompilator VLlW retargetable, !LP, MDES, OpenIMPACT , VEX C 1. Pendahuluan Saat ini perkembangan penggunaan tools untuk menggantikan peran perangkat keras dalam bidang desain prosesor mulai meningkat pesat. Terutama dalam bidang sistem embedded yang memerlukan trade-off antara space, time, and energi Penggunaan tools ini akan mengurangi perancangan yang lebih rum it pada perangkat keras karena sudah dilakukan oleh kompilator. Kompilator secara tradisional hanya mempunyai satu tujuan yaitu mempercepat suatu aplikasi running pada suatu prosesor. Dengan kata lain , hampir sebagian usaha untuk mendapatkan optimisasi kerja pada kompilator mempunyai satu dimensi yaitu cost function yang direpresentasikan dengan jumlah siklus yang diperlukan dalam mengeksekusi program (time execution). Dalam bidang embedded, ada beberapa dimensi tambahan untuk meningkatkan kecepatan eksekusi yaitu ukuran kode (code size) dan energi (energy). [3] 284 Salah satu cara untuk meningkatkan dimensi time execution pada kompilator dengan menerapkan orientasi ILP ( !LP-oriented) pada bagian pembangkit kode antara (JR generator) seperti terlihat pada gambar 7 . Penerapan ini akan berhasil jika kompilator dapat melakukan dua hal, pertama predikasi eksekusi (predicated execution) yaitu sebuah cara untuk menghilangkan batasan performansi ditentukan dengan keputusan untuk sering mengkontrol pada prosesor berkemampuan tinggi sedangkan yang kedua mampu mengelola dan menggunakan memori yang tergantung informasi selama proses kompilasi [3]. Saat ini sudah ada beberapa kompilator yang didesain untuk orientasi ILP dan dapat bekerja pada arsitektur VLIW. Dalam artikel ini, penulis akan membahas kompilator OpenIMPACT yang bersifat retargetable dan VEX C yang diturunkan dari kelurga prosesor HP/ST Lx (non retargetable) [2]. Pada umumnya kompilator retargetable memerlukan bahasa pendiskripsian mesin untuk prosesor target yang diharapkan. OpenIMPACT

Upload: vannhu

Post on 13-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pemanfaatan Bahasa Pendiskripsian Mesin (Machine ...publication.gunadarma.ac.id/bitstream/123456789/6418/1/keenam0001.pdf · 1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri,

Abstrak

Pemanfaatan Bahasa Pendiskripsian Mesin (Machine Description) padateknologi kompilator arsitektur VLIW

Debyo Saptono', Joko Purnomo", Eri Prasetyo"

1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri, Universitas Gunadarma3]urusan Sistem Komputer, Fakultas Ilmu Komputer, Universitas Gunadanna

1 [email protected], 2 [email protected]. [email protected]

Arsitektur komputer berbasiskan prosesor Very Long Instruction Word (VLIW) adalah satu pilihan yangoptimal dalam usaha untuk memperoleh tingkat performansi yang tinggi pada suatu peralatan aplikasi sistemembedded. . Efektifitas dari jenis-jenis prosesor ini tergantung dari kemampuan kompilatomya untukmenyediakan Instruction Level Parallelism (ILP) dalam kode program.Penggunaan kompilator VLIW yang bersifat retargetable dapat digunakan untuk mendiskripsikan prosesortarget yang diharapkan. Seperti kompilator VLIW yang digunakan dalam analisis adalah Open IMPACT yangdiideskripsikan untuk prosesor DSP keluaran Texas Instrument (T!) dengan menggunakan Machine DescriptionLanguages (MDES).Analisis yang tepat sangat diperlukan untuk menghasilkan suatu peralatan yang berkinerja tinggi, terutamaanalisis pada kompilator yang menghasilkan tingkat fLP yang tinggi pada beberapa aplikasi pengolahan sinyaldigital. Sebagai pembanding kinerja kompilator OpenIMPACT digunakan kompilator VEX yang bekerja padajenis arsistektur VLIW juga.Hasil simulasi yang dilakukan menggunakan Lsim menunjukkan bahwa kompilator OpenIMPACT dapatmenghasilkan fLP yang tinggi dibandingkan VEX C dengan pengaturan konfigurasi perangkat keras yang relatifsama ..

Kata kunci : Kompilator VLlW retargetable, !LP, MDES, OpenIMPACT , VEX C

1. Pendahuluan

Saat ini perkembangan penggunaan tools untukmenggantikan peran perangkat keras dalam bidangdesain prosesor mulai meningkat pesat. Terutamadalam bidang sistem embedded yang memerlukantrade-off antara space, time, and energiPenggunaan tools ini akan mengurangi perancanganyang lebih rum it pada perangkat keras karena sudahdilakukan oleh kompilator.Kompilator secara tradisional hanya mempunyaisatu tujuan yaitu mempercepat suatu aplikasirunning pada suatu prosesor. Dengan kata lain ,hampir sebagian usaha untuk mendapatkanoptimisasi kerja pada kompilator mempunyai satudimensi yaitu cost function yang direpresentasikandengan jumlah siklus yang diperlukan dalammengeksekusi program (time execution). Dalambidang embedded, ada beberapa dimensi tambahanuntuk meningkatkan kecepatan eksekusi yaituukuran kode (code size) dan energi (energy). [3]

284

Salah satu cara untuk meningkatkan dimensi timeexecution pada kompilator dengan menerapkanorientasi ILP ( !LP-oriented) pada bagianpembangkit kode antara (JR generator) sepertiterlihat pada gambar 7 . Penerapan ini akan berhasiljika kompilator dapat melakukan dua hal, pertamapredikasi eksekusi (predicated execution) yaitusebuah cara untuk menghilangkan batasanperformansi ditentukan dengan keputusan untuksering mengkontrol pada prosesor berkemampuantinggi sedangkan yang kedua mampu mengelola danmenggunakan memori yang tergantung informasiselama proses kompilasi [3].Saat ini sudah ada beberapa kompilator yangdidesain untuk orientasi ILP dan dapat bekerja padaarsitektur VLIW. Dalam artikel ini, penulis akanmembahas kompilator OpenIMPACT yang bersifatretargetable dan VEX C yang diturunkan darikelurga prosesor HP/ST Lx (non retargetable) [2].Pada umumnya kompilator retargetablememerlukan bahasa pendiskripsian mesin untukprosesor target yang diharapkan. OpenIMPACT

Page 2: Pemanfaatan Bahasa Pendiskripsian Mesin (Machine ...publication.gunadarma.ac.id/bitstream/123456789/6418/1/keenam0001.pdf · 1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri,

menggunakan HMDESpendiskripsiannya. [4].

sebagai bahasa

Performance! Timeto Timeto changeTechnology Cost market functionality

ASIC Very High Very longImpossible:Redesign >.

long ==(I) DSP High long .0"0 ·xCD CustomHigh Short Short .!!a VlIW •....

RISC low-Medium Very Short Very Short

Gambar I. perbandingan kinerja custom VLIWdengan teknologi lainnya.

Kedua jenis kompiiator ini mampu melakukancustomised oriented pada prosesor VLIW ( customVLlW) walaupun pada kompilator OpenIMP ACTterbatas hanya pada 3 hal yaitu ukuran file register (register file sizes), jumlah unit fungsional dan nilaiuntuk latensi operasi (operation latency values).Pada gambar 1 terlihat bahwa custom VLIW cukupbagus dari performansi (performance), time tomarket, dan time to change fongsiona/ity.

2. Metode Penelitian

2.1 Kompilator OpenIMPACT

OpenIMP ACT adalah kompilator yang dapatdidesain untuk berbagai target prosesor dan dapatmenjalankan instruksi secara paralel denganmenggunakan ILP. Pada bagian front-endnya akanmenghasilkan keluaran berupa kode antara atau yangdikenal sebagai Intermediate Representation (IR)Lcode. Kode Lcode ini mendiskripsikan perintah-perintah instruksi (opcode) berupa kode assembly.Pembangkit kode ini bekerja bmelalui berberapatahap yaitu : tahap 1 akan menyeleksi opcode Lcodedengan melakukan penanganan operasi yangkomplek seperti Multiply Accumulate (MAC), tahap2 akan melakukan proses penjadwalan danoptimisasi mesin yang dependensi dan terakhir tahap3 akan menghasilan kode assembly.Kompilator ini mempunyai arsitektur default sepertipada gambar 2 dimana pada bagian jalur merahdimungkinkan untuk melakukan customisasi untukarsitektur prosesor target yang diharapkan sepertijumlah fungsional unit yang digunakan antara lainunit memori, unit integer, unit branch dan unitfloating point.

Gambar 2: Arsitektur default pada OpenIMPACT

Target proses or yang bisa dihasilkan olehkompilator ini dispesifikasikan melalui bahasapendiskripsian mesin yang terbagi menjadi 3 bagianyaitu : bagian detail procesor seperti layout framefungsi, akses terhadap variabel lokal, fungsi nilaikembalian register, register spesifik pada mesinpada seksi Mspec, bagian pendiskripsi mesin (M des)yang akan mendiskripsikan kumpulan operasi yangmendukung arsitektur proses or, lapisan fisik sepertiunit fungsional yang digunakan dan tipe masing-masing operand dan terakhir register files yangmendukung tipe data yang didiskripsikan dalamantarmuka Register Allocator.Informasi Mspec pertama kali digunakan oleh frontend IMPACT untuk mensinteas Lcode dari filesumber dalam bahasa C. Mspec juga menyimpaninformasi yang berguna untuk optimator. Kemudianbagian selanjutnya adalah Mdes yang digunakanuntuk bagian penjadwalan kompilator untukmenghasilkan tabel reservasi yang menyimpan trackpenggunakan resource fisik prosesor. Bagian Mdesini dideskripsikan menggunakan bahasapernrograman berbasis text yang dikenal sebagaiHMDES [6].

2.1.1 Model pendiskripsian HMDES

Informasi mengenai mesin diperlukan olehkompilator yang terbagi atas 6 jenis informasi yangmasing-masing informasi tersebut mempunyaistuktur hirarki tiap bagiannya yaitu : informasiregister, informasi format, informasi penggunaanresource, informasi operasi, informasi latensi, daninformasi kompilator khusus.nformasi register berisi pendiskripsian jenis-jenisregister yang digunakan dan overlapnya. Padabagian ini dapat menentukan kelas register (registerclass) seperti caller, stack pointer, frame pointer ataugeneral purpose. Jenis-jenis register yang digunakanoleh mesin dengan tiap-tiap register mempunyaikelas field, lebar, dan informasi overlap. Jenis-jenisregister file yang menentukan secara fisik ( staticatau rotate) dan logik ( konstan integer).

285

Page 3: Pemanfaatan Bahasa Pendiskripsian Mesin (Machine ...publication.gunadarma.ac.id/bitstream/123456789/6418/1/keenam0001.pdf · 1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri,

Informasi format berisi informasi yang menentukanoperasi apa yang diijinkan. Terdapat pendiskripsiantipe field untuk satu operand dan kompatibilitasnyadengan tipe field lainnya. Sedangkan format operasimendiskripsikan sebuah format yang terdiribeberapa tipe field yang valid untuk operandsumber, tujuan , dan predicate.Informasi penggunaan resource mendiskripsikanlatensi untuk operan sumber dan tujuan. Terdapat 5bagian yang penting yaitu resource yang berisiresource baik fisik atau logik di dalam mesin yangakan digunakan nanti dalam menentukan tabelreservasi, informasi penggunaan resource. unitresource, pilihan tabel, dan tabel reservasi .Informasi latensi menentukan operan yang akanmelakukan latensi dan jenis operasinya.Informasi operasi menentukan opcode untuk mesindan gabungannya terhadap informasi format,resource dan latensi.Terakhir, informasi kompilator khusus untukmenyimpan informasi yang diperlukan olehkompilator seperti pemetaan operasi.

:I ReSOlJfre US#i i~ J

Gambar 3. Hubungan antar informasi pada HMDES

2.1.2 Deskripsi MDES untuk targat prosesor TIDSP

Untuk mendiskripskan suatu arsitektur ke dalambahasa ini diperlukan pemahanan mendasarmengenai penulisan teksnya. Berikut ini contohpenulisan untuk register files pada keluarga TI .

1* Register Files *1

$def !integer _32$def !integer _64$def !float 32$def !float 64

I234

CREATE SECTION RegisterREQUIRED type(JNT);{}

286

CREATE SECTION Register FileREQUIRED number(INT);REQUIRED type(INT);REQUIRED gpr(LINK(Register)*);REQUIRED outports(LINK(Port)*);REQUIRED inports(LINK(Port)*);OPTIONAL rotating(LINK(Register)*);{}

I

IPH~r:JmCar.:hcAknklr;

2~t'lJld::.!.J

I~:"' in •.tfLk'11\}fi Fetch'"" Cornnll

lnstrucnon D"p.ll..::h Rtgi~

In••trccnoo occodc

H ICnntn)1

O\IA£\lIf 11 RCj:'i\lcr Fik A I I Rc-gilolC'r FIll' B I Lope

I I I - I I I TN11 III sq \11 DJI -'I" I \1/ OC bnul.uiofl f.--.

nlC'rrupt ~.--LAdJulI'I('I.11

I I

pcripbcral-,D.!I.lCj,:ht-i~klll<J(\ Tunc."('x-. l n-. ,12 t:-II data Scrul port-

~

Gambar 4: Arsitektur TI TMS320 C62X DSP

2.2 Kompilator VEX C : Vliw EXampleModel simulator VEX merupakan tools yang dapatdigunakan untuk mendesain prosesor VLIWembedded dengan kemudahan untukmengkombinasikan pengaturan lebar data, jumIahregister dan unit fungsional yang digunakan danpenambahan set instruksi yang baru .Simulator iniditurunkan dari keJuarga HP/ST Lx.

: :&3~ \i 1hi: i

--,

Gambar 5 : Arsitektur default pada VEX

Page 4: Pemanfaatan Bahasa Pendiskripsian Mesin (Machine ...publication.gunadarma.ac.id/bitstream/123456789/6418/1/keenam0001.pdf · 1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri,

( lioc bcur, ,'-----~

Gambar 6 : Struktur kompilator dan simulator VEX

2.3 Model layer kompilator VLIW

Berdasarkan cara kerja kompilator VLIW sepertigambar 6 di bawah ini terlihat bahwa bagianpembangkit kode (.middle-end) akan melakukanorientasi ILP dari keluaran front-end. Kualitas suatukompilator sangat ditentukan pada bagian ini [3].

Gambar 7 : Struktur lapisan kompilator VLIW

Untuk mendapatkan target prosesor yang diharapkandiperlukan pendeskripsian melalui tools HMDESdan akan diumpankan pada bagian back-end darikompilator terse but.

3. Hasil dan Pembahasan

Setelah pendiskripsian dilakukan menggunakantools HMDES, kompilator OpenlMPACTrnenjalankan beberapa algoritma pengolahan sinyaldigital yang ditulis menggunakan bahasa C.Pengujian dilakukan pada sistem operasi Linuxdengan proses or Intel Core 2 .Pada Gambar 8 terlihat bahwa ILP yang tinggi akanmenghasilkan nilai IPC yang tinggi pula.

ILP pertormarr e in IPC metric s• <, .

L. :

'-'== • < ,-j- 'I'- ..

•... -J.: .:

~r·:c= t::!::?.. \,v,;,~-=~=t::o.,.,~l.t'::r l::::t Sob",:

Gambar 8. Grafik ILP dalam ukuran IPC

Pada tabel berikut ini terlihat nilai simulasi totalsiklus dan IPC yang dihasilkan untuk tiap-tiapalgoritma yang dijalankan.

Tabel }: Pengukuran ILP berdasarkan nilai IPCpada kedua kompilator.

AIgoritma VEXC OpenIMPACTTot eye IPC Tot eye IPC

Konvolusi 77819 1.78 46009 3.85Eroding 6159 1.30 2718 3.30mCT 361379 2.54 299007 3.89Median 2450 1.26 1913 2.05Sobel 828070 1.23 310781 2.64Wavelet 45594 1.7 6555 1.6

4. Kesimpulan dan Saran

Pembuatan HMDES untuk target prosesor TI DSPtelah dibuat dengan baik dan dijalankan padakompilator OpenIMPACT. Hasil simulasi padakompilator OpenIMP ACT menunjukkan nilai IPCrelatif lebih baik dibandingan menggunakan VEX Cseperti terlihat pada gambar 8 dan tabel 1. Pengujiankedua kompilator ini menggunakan parameterpengaturan variabel yang setara antara keduakompilator meskipun berbeda target prosesor yangdigunakan. Untuk mengetahui lebih baik hasilpengujian keduanya bisa ditingkatkan denganmembuat target prosesor HP/ST Lx menggunakanHMDES dan dijalankan pada kompilatorOpenIMP ACT.

287

Page 5: Pemanfaatan Bahasa Pendiskripsian Mesin (Machine ...publication.gunadarma.ac.id/bitstream/123456789/6418/1/keenam0001.pdf · 1,2 Jurusan Teknik Elektro, Fakultas Teknologi Industri,

Daftar Pustaka:

[I] Brost Vincent, Fan Yang, Michel Paindavoine,and Nicolas Farrugia, "Multiple ModularVLIW Processors Based on FPGA", Journal ofElectronic Imaging (SPIE), 16(2): 110, April-June 2007.

[2] Faraboschi , G. Brawn and al., LX: Atechnology platform for customizable VLIWembedded processing, Proc. of the 27th annualInternational Symposium of ComputerArchitecture, 200 I .

[3] Fisher Joshep A, Paolo Faraboschi and CliffYoung, Embedded Computing: A VLIWApproach to Architecture, Elsevier MorganKauffman, second edition, 2005

[4] Gelato .org. Impact advanced compilertechnology, 2009.

[5] HP Laboratories, Vex toolchain,www.hpl.hp.comldownloads/vex/ , 2008.

[6] lC Gyl\enhaal, Wen mei Hwu, and B.R.Rao.HMDES Version 2.0 Specification. TechnicalReport IMPACT-96-3, IMPACT TechnicalReport, 1996.

[7] K. Pamell and R. Bryner., Comparing andContrasting FPGA and Microprosessor SystemDesign and Development, Xilinx, July 2004.

[8] Saptono Debyo, Vincent Brost, Fan Yang andEri Prasetyo, Design space exploration for acustom vliw architecture: Direct photo printerhardware setting using vex compiler, In Proc.of the 4th International Conference on SITIS2008, November 2008

[9] Subramanian Rajagopalan and Sreeranga P.Rajan and Sharad Malik, Modifying a VLIWCompiler Framework to Implement anOptimizing Compiler for a Fixed Point DSP,In Proc of 5 th International Workshop onSoftware and Compiler for EmbeddedSystems, 200 I.

[10] Texas Instrument, tms320c62xx CPU andInstruction Set Reference Guide, http://www.ti.coml

288