iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
APLIKASI SPESIFIK PENEMPATAN PROSESSOR
Oleh : Hartono ABSTRACT
With silicone technology makes strutur processor as part of SoCs (system on chip) covering upto a billion transistor on single deceased. Strikingly,SOCs is real world (in large quantities for mainstream application) utilizing this potential complexity do hardly lie. Other observation is it industrial semiconductor a couple year ago experiences one inflection dot: number from ASIC (Applications Specific integrated circuit) design early is outpaced by number of design starts for Application Specific Default Product (ASSPs). Moreover, we may face one new design productivity gap: “gapof's complexity” (detail and reference will follow later). Jointly this observation reflecting one transition at the way embedded processor to be designed. This article reporting on and analyzes current future and maybe trend of one perspective with system embeddedding to design by one emphasis on environmentally designs for the so called expandable processor platform. This describe inthe's directive three main steps while design one expandable processors, which is Code segmentIdentification, Expandable Instruction generation, Customization's elect architectural Kata Kunci : penempatan prosesor, ESL, disain celah PENGANTAR DAN MOTIVASI
Pengembangan sistem dengan menggunakan mikroprosessor pada saat ini masih dalam tataran 10 angka digit saja desin yang dihasilkan setiap tahunnya. Contoh pada sistem keamanan (misalnya. pengawasan dengan video), sistem kendali (misalnya. kontrol permobilan), sistem kesehatan perorangan (misalnya. alat bantu dengar), sistem komunikasi pribadi (misalnya. telepon genggam), komputer pribadi (misalnya. PDA), hiburan (misalnya. Peralatan MP3), video / foto (misalnya. Kamera digital / kamera video) dan banyak lagi yang lain. Hal ini dapat diamati terutama dari kelompok konsumen utama pemakai produk yang tunduk kepada keinginan pabrikan atau sebaliknya, dengan demikian ada dua akibat dari segi pandang konsumen: a. Umur pakai produk menjadi lebih pendek: telepon seluler cenderung masa pakainya kurang dari satu tahun. b. Kemampuan produk dan kompleksitas sistem dasar cepat meningkat : di rumah menggunakan telepon seluler sebagai satu contoh, alasannya adalah kemampuan yang melebihi telepon rumah yaitu menyediakan saluran tanpa kawat. Pada kenyataan, umum fungsi dari telepon genggam meliputi web, SMS (Pesan Layanan Pendek), Kemampuan PDA dan bahkan bermain games, dansebagainya. Nyaris dalam satu lahir penyedia jasa telepon seluler baru dengan generasi terbaru. Skenario serupa juga dapat didiskusikan dengan konsumen lain, sebagai alat kontrol, untuk mengembangkan produk, dan sebagainya. Observasi sering menjadi suatu kebijakan portofolio komombinasikan dengan penurunan masa umur produk. Dengan mengikuti observasi ini diperoleh hubungan kecenderungan terletak pada system desain. Yang dinginkan konsumen adalah peningkatan fungsional kemampuan meterjemahkan secara langsung ke dalam sistem yang komplek dengan hanya pada satu chip. Bahwasanya, cocok dengan ramalan dari Internasional Teknologi Roadmap untuk 184
iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
Semikonduktor dimana pada dasa warsa ini bahwa satu chip terdiri dari 1 milyar transistor pada satu serpih tunggal. Bagaimanapun, saat ini dapat diamati mungkin jumlah maksimum transistor (silicon-technology-wise) per chip masih susah ditingkatkan. Fakta ini lebih jelas nyata ketika jumlah angka transistor per SOC tanpa memori (yaitu memudahkan untuk mendisain struktur tetap) masih bisa dihitung.
Gambar 1 “ Kompleksitas kerawanan ” jika tidak menggunakan metodologi ESL. (G. Smith, Panel at 40th Design Automation Conference, 2003) Meskipun demikian metodologi ESL telah diramalkan dan menjadi solusi yang sesuai selama bertahun-tahun, ini adalah awal diterima oleh para insinyur desain sistem. Satu contoh adalah migrasi metodologi desain so-called C-based mengalami satu taraf kenaikan (dinaikkan dari RTL) dari abstraksi disain sistem digital. Di sisi lain ditingkatkan juga abstraksi, metodologi ESL digunakan luas sebagai platform komponen IP. Di samping celah kompleksitas, ada indikator lain untuk perubahan (atau kebutuhan perubahan) dari kompleks disain SOCs: penyusutan dari ASIC disain awal. Angka desain menjadi calon ASICs beberapa tahun lalu, outpaced oleh angka dari desain menjadi calon ASSPs (Lewis, 2002). Dengan demikian, definisinya adalah sebagai berikut: satu ASIC adalah satu integrated sirkit yang digunakan untuk satu aplikasi spesifik termasuk bentuk dari satu array gerbang atau sel yang mendasari IC. Satu ASSP (Standar Spesifik aplikasi Produk) di sisi lain meliputi semua ICs lainnya, yaitu IC yang dipergunakan di lebih dari satu aplikasi seperti DSP, dan sebagainya. Pada awal tahun 2002 desain ASIC diseluruh dunia sekitar 3,500– 4,000, diramalkan merosot dalam tahun yang akan datang ,sedangkan desain ASSP diramalkan akan mantap sekitar 5,000 per tahun. Satu alasan merosot disain ASIC adalah luas NRE tidak berpindah dari teknologi 100 nm. Trend Disain SOCs Pada awalnya SOC mempunyai kompleksitas rendah terdiri dari dua (programmable) unit prosessor (misalnya. satu mikrokontroller ditambah satu DSP), beberapa perangkat keras, antarmuka dan memori. Meskipun demikian, prosessor SOCs semakin hari mantap berkembang. Sebagai contoh adalah prosessor SOC pada protokol TCP / IP menggunakan 10 Cpu pada satu serpih tunggal (NEC, 2003). Setiap Cpu terdiri satu prosesor yang dapat diperluas. Contoh lain desain SOCs menggunakan 10 atau lebih prosesor dalam chip WCDMA dengan 15 programmable prosessor unit. 185
iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
Baru-baru ini (2007) diumumkan satu chip inti terdiei dari 80 prosessor. Sehingga, desain SOC kemampuannya lebih meningkat serta, ada kecenderungan memimpin persaingan programmable pemproses unit per SOC. Platform Prosesor Dapat Diperluas Sebagai Suatu Solusi Yang Memungkinan. Solusi untuk mengatasi celah dari kompleksitas mungkin migrasi dari perangkat keras umum digunakan ke dalam programmable prosessor unit, yaitu pemakaian ditingkatkan dari komponen papan rak ke bentuk prosesor yang dapat diperluas . Sejak tahun 1990 ASIP (Aplikasi Spesifik Seting-Prosesor) telah diteliti dan dikembangkan sebagai kompromi di antara kinerja tinggi, mahal dan fleksibilitas rendah berbentuk kawat logika dan prosesor penggunaan umum (GPP) dengan fleksibilitas tinggi (yaitu. terprogram) dan kurang lebih memiliki karakteristik kinerja dan kekuatan daya yang lebih rendah (Gambar 1.2). Instruksi aplikasi spesifik ASIP adalah: a. Perintahkan Ekstensi b. Masukan / Keluaran dari Blok Pradefinisi c. Parameterisasi
Gambar 2 Perangkat keras logika berbentuk kawat, prosesor yang dapat diperluas dan prosesor penggunaan umum. Gambar 3 menunjukkan tahapan dasar dengan keberhasilan prosessor yang diperluas ke aplikasi spesifik yang tersedia pada bahasa C / C++.
186
iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
Gambar 3 Dagram alir untuk mendisain prosesor yang dapat diperluas. Isu Terbuka Tentang Kunci Teknologi Skenario tersebut diatas dari multiprocessor SOC menggantikan perangkat keras tradisional melalui platform prosessor yang dapat diperluas merupakan isu terbuka untuk pengembangan penelitian. Beberapa di antara adalah : a. Apakah telah optimum penambahan instruksi untuk aplikasi tertentu? b. Bagaimana nantinya prosessor SOC berkomunikasi dengan sistem lain? c. Generasi berikut bisa dihasilkan setelah beberapa tahun penelitian, generasi berikut mampu berpengaruh nyata membuat kemajuan. Perbedaan Desain SOC Perangkat keras pada sistem SOC sering terganggu oleh karateritik kunci SOC, karakteristik ini yang mencirikan desain SOC dari pabrikan yang santu dengan yang lain. karakteristik kunci itu liputi kinerja, daya konsumsi, dan sebagainya. Dengan satu migrasi berkelanjutan dari logika umum ke dalam programmable prosessor unit, perbedaan desain akan bergeser, juga. DESAIN PENEMPATAN PROSESSOR YANG DAPAT DIPERLUAS Secara khusus, kehebatan sejumlah ahli adalah kemampuan mendisain prosesor yang dapat diperluas. Tugas dan tantangan yang dihadapi adalah membagi kode identifikasi, instruksi yang dapat diperluas pada setiap generasi , architectural customisation dan evaluasi prosesor , yang biasanya dikendalikan secara manual. Oleh sebab itu, penelitian terbaru sebagian besar mulai tercurah pada tugas desain ini, dan telah mencari optimasi dan otomatisi pada berbagai tahapan. Bagian ini mendeskripsikan masalah yang menghubungkan dengan tugas desain ini dan beberapa solusi yang diajukan. 187
iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
Identifikasi Kode Segmen Sebagai contoh, antara lain, untuk meningkat kinerja dari satu aplikasi, kode segmen dapat menaikan kecepatan dengan memperluas intruksi, yang meliputi perkaikan pradefinisi dan pengaturan parameter. Bagaimanapun, kode segmen pertama merupakan identifikasi dari aplikasi. Sementara identifikasi kode segmen sedikit banyak didukung oleh alat bagan, ini masih tugas yang menakutkan untuk aplikasi besar, dan selanjutnya saling silang ketika bertambah batasannya (misalnya. area dan daya) harus dioptimalkan. Lagipula, angka dari kode segmen untuk aplikasi tertentu bertambah besar dengan ukuran program. Ini adalah sangat umum untuk satu fungsi dengan lebih sedikit dibandingkan seratus operasi untuk beberapa ratus kode segmen yang mungkin. Dari penelitian terbaru dapat digolongkan ke dalam tiga kategori : a. Kode generasi menyesuaikan penggunaan dan algoritma b. Menggunakan pola penyajian graf (kontrol graf dataflow) dari aplikasi profiled c. Pada taraf yang tinggi ekstraksi aplikasi. Ini mengikuti ikhtisar berikut : a. Kode generasi menggunakan algoritma yang cocok. b. Penyajian Graf Profiled. c. Ekstraksi pada taraf tinggi. Pada taraf yang tinggi ekstraksi mengidentifikasi segmen kode dari satu aplikasi memberi suara dengan menulis nama high-level language (misalnya. C / C ++). Pendekatan ini biasanya memulai dengan simulasi untuk memperoleh keterangan bagan. Kemudian, perancang sering mengidentifikasi bagian yang dilaksanakan dari aplikasi. Semeria et al. (2002) mengembangkan satu alat untuk mengekstrak segmen kode dari C kode dan menghasilkan satu padanan fungsional dari RTL C dan satu HDL. Baru-baru ini, Clarke et al. (2003) memperkenalkan satu pendekatan untuk menyajikan perilaku padanan di antara C dan Verilog HDL yang mana biasanya dilaksanakan pada taraf yang tinggi ekstraksi untuk Yu dan Mitra (2004a) dideskripsikan identifikasi dari segmen kode expoiting karakteristik dari sistem aplikasi dengan merelaksasi batasan. Perluasan perintah generasi Perintah generasi melibatkan instruksi yang dapat diperluas untuk menggantikan disain, sebagai contoh, intensive kode computationally segmen, dengan menetapkan perangkat keras, sumber tenaga dan operasi yang mereka laksanakan. Kalau tambahan dengan perintah dapat diperluas menyebabkan pelanggaran dasar periode clock prosessor, sehingga dalam desain perlu diperhatikan : a. Kurangi sejumlah perintah perhitunga. b. Pisahkan ke dalam perintah perkalian c. Multi–clock untuk eksekusi perintah 4. Kurangi periode-clock pada prosessor dasar Untuk instruksi aturan ekstensi , oleh Cong et al., (2004) diajukan satu performancedriven yang didekati untuk menghasilkan instruksi yang dapat memaksimalkan kinerja aplikasi. Sebagai tambahan, mereka mengijinkan duplikasi operasi saat mencari-cari pola pada tahap tanding. Duplikasi dilaksanakan pada operasi dengan beberapa input yang berada di alur kritis dari sering dilaksanakan segmen kode. Ketika operasi disalin, kesamaan kode segmen mungkin ditingkatkan, dengan demikian peningkatan kinerja aplikasi dan menambah jarak explorasi desain. Pemilihan Penggunaan Arsitektur
188
iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
Pemilihan pengunaan secara arsitektur melibatkan memilih instruksi yang dapat diperluas, pra blok terdefinisi dan pengaturan parameter pada prosessor yang dapat diperluas untuk memaksimalkan kinerja aplikasi saat memberi batasan desain. Proses ini sering dikenal sebagai desain pengatur jarak explorasi. Masalah pemilihan ini dapat sederhana dan dikenal sebagai rumusan Ransel, dengan satu atau beberapa kelipatan. Batasan tunggal masalah Ransel didefinisikan dimana satu butir data aku punya satu nilai v aku dan berati w i . Hasil adalah untuk menemukan satu subset dari n butir data dengan demikian total nilai dapat dimaksimalkan dan batasan daya dioptimalkan. Pada kasus ini, tiap data adalah bentuk arsitektur.
DAFTAR PUSTAKA
Abraham, S. G. and Rau, B. R. (2000) Efficient Design Space Exploration in PICO. In International Conference on Compilers, Architectures, and Synthesisfor Embedded Systems, pp. 71–79. Atasu, K., Pozzi, L., and Ienne, P. (2003) Automatic Application-Specific InstructionSet Extensions Under Microarchitectural Constraints. In ACM/IEEE Design Automation Conference, pp. 256–261. Biswas, P., Choudhary, V., Atasu, K., Pozzi, L., Ienne, P., and Dutt, N. (2004) Introduction of Local Memory Elements in Instruction Set Extensions. In ACM/IEEE Design Automation Conference, pp. 729–734. Cong, J., Fan, Y., Han, G., and Zhang, Z. (2004) Application-Specific Instruction Generation for Configurable Processor Architectures. In International Symposium on Field Programmable Gate Array, pp. 183–189. Fei, Y., Ravi, S., Raghunathan, A., and Jha, N. (2004) A Hybrid Energy Estimation Technique for Extensible Processors. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(5):652–664. Gupta, T., Ko, R., and Barua, R. (2002) Compiler-Directed Customization of ASIP Cores. In International Symposium on Hardware/Software Co-Design, pp. 97–102. Jain, M. K., Balakrishnan, M., and Kumar, A. (2005) Integrated On-Chip Storage Evaluation in ASIP Synthesis. In International Conference on VLSI Design, pp. 274–279. Lee, J., Choi, K., and Dutt, N. (2002) Efficient Instruction Encoding for Automatic Instruction Set Design of Configurable ASIPs. In International Conference on Computer Aid Design, pp. 649–654. Paulin, P. (2003) Extending SOC Life beyond the 90 nm Wall. In Talk at DAC Panel, 40th Design Automation Conference (DAC), Anaheim. Rowen, C. (2003) presentation at NEC technology forum. Semeria, L., Seawright, A., Mehra, R., Ng, D., Ekanayake, A., and Pangrle, B. (2002) RTL C-Based
189
iteks Intuisi Teknologi dan Seni
ISSN 1978-2497
Methodology for Designing and Verifying a Multi-Threaded Processor. In ACM/IEEE Design Automation Conference, pp. 123–128. Sun, F., Ravi, S., Raghunathan, A., and Jha, N. (2005) Synthesis of ApplicationSpecific Heterogeneous Multiprocessor Architectures Using Extensible Processors. In International Conference on VLSI Design, pp. 551–556. Xtensa Processor. Tensilica, Inc. (http://www.tensilica.com) 2007. Yu, P. and Mitra, T. (2004b) Scalable Custom Instructions Identification for InstructionSet Extensible Processors. In International Conference on Compilers, Architectures, and Synthesis for Embedded Systems, pp. 69–78.
190