You are on page 1of 11

The Future Of NanoComputing

Sumber : Thomas P. Way ,"Compilation for Future Nanocomputer Architectures", Applied


Computing Technology Laboratory, Department of Computing Sciences, Villanova
University, Villanova, PA 19085

Abstrak
Kompilasi memiliki sejarah panjang menerjemahkan kode-dibaca manusia
programmer ke dalam instruksi mesin dirancang untuk membuat baik penggunaan komputer
target tertentu. Dalam tulisan ini, kami meresmikan kerangka compiler yang secara luas
mendefinisikan tugas kompilasi untuk menyertakan output deskripsi mesin disesuaikan untuk
program masukan yang akan digunakan untuk menghasilkan komputer target. Program ini
disusun kemudian akan dijalankan pada dihasilkan komputer. Terinspirasi oleh penelitian
dalam eksplorasi ruang desain, pendekatan kompilasi ini mengeksploitasi diusulkan
kemampuan nanocomputers, yang berada di kelas arsitektur paralel reconfigurable. Ini
muncul teknologi hardware bergantung pada molekul desain tingkat dibuat sirkuit untuk
meminimalkan ukuran fitur sekaligus menciptakan sebuah matriks besar unit pengolahan
reconfigurable, aplikasi dari bidang memajukan nanoteknologi. Kami mengidentifikasi
masalah desain dan hasil awal ini yang mendukung karya sebelumnya di daerah ini dan
mengusulkan arah masa depan.
Kata kunci:
Nanocompilers, nanocomputers, komputasi kinerja tinggi, komputasi reconfigurable
1. Perkenalan
Kompilasi
tradisional
untuk
komputer performa tinggi bergantung pada
berbagai analisis canggih dan optimasi
untuk menerjemahkan program bahasa
sumber ke dalam kode mesin biner efisien
untuk target tertentu arsitektur [1]. Untuk
melakukan terjemahan ini, compiler
mengurai program sumber, menerapkan
mesin-independen optimasi pada bentuk
peralihan abstrak program. Berikutnya,
optimasi tergantung mesin yang dilakukan
dengan tujuan menghasilkan semoga
peningkatan yang signifikan terhadap
kinerja yang dihasilkan tersebut program
dieksekusi. Perbaikan ini dibuat dengan
atribut tertentu dari mesin target, atau
prosesor, di mana program ini akan
berjalan dalam pikiran. [1]
Prosesor yang berbeda dapat
berbeda secara dramatis dalam perbaikan
kode yang bekerja terbaik untuk mereka.

Misalnya, program dikompilasi untuk


berjalan optimal pada satu arsitektur
tertentu mungkin berkinerja buruk pada
arsitektur yang berbeda. Sebagai Hasilnya,
setidaknya sebagian dari compiler, backend, harus retargeted, berpotensi untuk
setiap prosesor yang berbeda atau kelas
prosesor. [7] Meskipun optimasi mesinindependen dapat menghasilkan perbaikan
yang signifikan dalam umum [1], mesinspesifik pengetahuan, seperti mengetahui
jumlah register, organisasi dan cache
memori struktur, set instruksi, unit
fungsional yang tersedia, dan setiap
paralelisme eksplisit lain yang mungkin
tersedia, seperti dengan EPIC (eksplisit
Paralel Instruksi Computing), Superscalar
dan VLIW (Very Long Instruction Word)
prosesor, diperlukan untuk mencapai hasil
yang signifikan pada modern, arsitektur
kinerja tinggi. [1,14]

Jika Hukum Moore adalah untuk


terus berlaku sebagai prediktor [18],
kemajuan signifikan dalam manufaktur
chip teknik yang diperlukan. Dalam
prosesor modern, ukuran fitur telah
berkurang
sementara
kebutuhan
pembuangan panas memiliki meningkat ke
titik di mana ada konsensus yang
berkembang bahwa Hukum Moore
sebenarnya bisa mencapai penghalang
diatasi ditentukan oleh fisika saat ini [12].
Nanoteknologi, manufaktur dilakukan
melalui manipulasi atom dan molekul [8],
mampu mengatasi hambatan terbaru ini.
Arsitektur
nanocomputer,
diproduksi menggunakan pendekatan
manufaktur molekul ini, memberikan
penerus alami untuk arsitektur tujuan
umum mikroprosesor saat ini [9].
Nanocomputers,
tentu
saja,
harus
fungsional setidaknya mampu seperti
pendahulu mereka, cepat, murah, kuat dan
mampu beroperasi pada suhu kamar dan
mengeksekusi kode warisan [2]. Hukum
apakah Moore benar-benar kehilangan
penerapan, atau kita hanya menyesuaikan
kembali pemikiran kita tentang itu, jelas
bahwa ada rintangan yang signifikan untuk
mengatasi dalam desain komputer di masa
depan sangat dekat.
Nanocomputing dibahas dalam
makalah ini dalam konteks topik
komputasi reconfigurable, yang
termasuk Programmable Gate Array
Bidang (FPGA), lapangan-programmable
Kustom Mesin Computing (FCCM),
arsitektur seluler array, dan sistem saraf
sintetis, antara lain banyak [2,7,9].
Kemampuan menarik teknologi ini muncul
termasuk
kemampuan
untuk
mengkonfigurasi ulang secara dinamis atau
mendesain ulang fungsi dari prosesor,
untuk menghasilkan fitur nano (transistor,
gerbang, sirkuit logika) yang di batas
fisika yang mengarah ke prosesor yang
banyak kali lebih kecil, lebih kuat dan
lebih efisien bahwa mereka mungkin
melalui teknik manufaktur saat ini, dan
untuk menghasilkan baru, prosesor

disesuaikan sesederhana sekarang kita


menghasilkan baru program dieksekusi [2].
Dalam
makalah
ini
kami
mengusulkan kerangka kompilasi yang
dapat digunakan untuk menghasilkan
prosesor berdasarkan sumber kode
program sehingga prosesor baru ini akan
ideal
untuk
menjalankan
program
dikompilasi.
Sebanyak
compiler
tradisional menyesuaikan program sesuai
mesin, kami mengusulkan compiler yang
mengkustomisasi mesin sesuai program.
Penelitian kami adalah di sisi permintaan
nanocomputing daripada sisi penawaran;
meskipun tidak ada seperti arsitektur
nanocomputer reconfigurable dari skala
besar seperti belum ada, tren menunjukkan
perkembangan molekuler dan skala atom
switch dalam waktu dekat [6]. Kami
menyajikan hasil percobaan pendahuluan
dirancang untuk mengkonfirmasi hasil
sebelumnya di ruang desain eksplorasi
[25] dalam mesin EPIC kinerja tinggi, dan
ekstrapolasi hasil ini untuk janji semakin
realisasi dari nanoteknologi [8].
2 Latar Belakang & Motivasi
Dengan keterbatasan miniaturisasi
dalam manufaktur chip mendekati batasbatas apa yang secara fisik mungkin
dengan teknik yang dikenal, metode baru
manufaktur yang diperlukan. Meskipun
beberapa keberhasilan telah dicapai
dengan sistem multiprosesor sangat khusus
menggunakan teknologi saat ini, seperti
IBM "Blue Gene" Proyek [15], sistem
skala multiprosesor seperti besar menderita
kemacetan
interprocessor
signifikan.
Pengembangan
skema
komunikasi
interprocessor scalable untuk juta atau
miliar sistem prosesor telah memperlambat
[9],
meskipun
dipandang
sebagai
tantangan mendasar bagi masa depan
desain prosesor [11,17,21]. SEBUAH
Pendekatan wavefront untuk konfigurasi
ulang dan interprocessor komunikasi untuk
prosesor skala besar seperti telah diusulkan
sebagai pendekatan yang layak [9].

Nanoteknologi memberikan janji


sebagai pendekatan manufaktur yang dapat
mengatasi fisik saat keterbatasan, dan
memang
penelitian
di
aplikasi
nanoteknologi untuk desain gerbang logika
dan manufaktur chip adalah aktif dan baik
yang didanai di Amerika Serikat, Jepang
dan di tempat lain [20]. Ada sedikit
keraguan bahwa nanocomputers, terdiri
mungkin jutaan atau miliaran sel
pengolahan reconfigurable, diletakkan
dalam luas, kain reconfigurable, secara
teknis layak dan kemungkinan untuk
direalisasikan [2,8,9]. Pekerjaan kami
mencoba untuk merancang pendekatan
kompilasi yang akan memanfaatkan
kemampuan mesin ini sangat fleksibel di
masa depan.
2.1 Nanoteknologi
Bidang
nanoteknologi
adalah
pendekatan yang menjanjikan untuk
manufaktur melalui manipulasi langsung
dari atom dan molekul, dicapai melalui
beberapa kombinasi dari bahan kimia,
listrik dan fisik interaksi [8]. Meskipun
hype sekitar janji besar teknik berpotensi
revolusioner ini sangat luas, mengingatkan
yang kegemparan di tahun 1970-an
mengenai usia kedatangan kecerdasan
buatan (robot di setiap rumah untuk
melakukan satu penawaran), tidak bisa
disangkal bahwa itu adalah pendekatan
manufaktur yang layak yang mendapatkan
momentum yang cukup [20].
Nanoteknologi
terdiri
dari
sekelompok teknologi, hanya muncul,
yang memungkinkan materi untuk
dimanipulasi di skala nanometer. Skala
sangat kecil ini, di urutan sejumlah kecil
atom, adalah pada batas bawah fisika
seperti yang sekarang dipahami, sehingga
penerapan mereka untuk memecahkan
rintangan saat fitur-ukuran pembuatan chip,
untuk contoh. Aplikasi kurang tepat
nanoteknologi sudah memproduksi produk
yang berguna dalam obat-obatan industri,
dan teknik yang muncul yang akan

memungkinkan produk yang lebih canggih


untuk diproduksi menggunakan banyak
kontrol yang lebih tepat dari masalah.
Meskipun ada kontroversi seputar
manfaat masa depan nanoteknologi, tren
saat ini menunjuk ke pengembangan
sistem mesin molekuler buatan mampu
membangun sistem yang kompleks untuk
presisi atom. Di Akibatnya, kita akan
menduplikasi kemampuan, misalnya, sapi
untuk mengkonversi jerami menjadi
daging sapi, suatu prestasi teknik
molekuler yang saat ini dilakukan cukup
efektif oleh sapi. Hasil ini pendekatan
bottom-up untuk manufaktur bisa produk
yang menyembuhkan kanker dengan
memperbaiki sel-sel, menggantikan bahan
bakar fosil dengan bersih dan efisien
alternatif, perubahan warna cat pada
dinding dengan sentuhan jari, dan
menghasilkan komputer besar-besaran
paralel dan reconfigurable ukuran paku
payung a. Microwave oven berukuran
sistem manufaktur molekular canggih akan
mampu membuat besar, produk yang
berguna, sangat murah dan dengan presisi
yang luar biasa. Penerimaan ini provokatif
prediksi adalah kontingen, tentu saja,
setelah hasil dibuktikan. [8,10,16]
Seiring dengan prediksi inovasi
menakjubkan datang orang-orang dari
bahaya yang sangat besar. Sebuah contoh
dari seperti mimpi nanotechnological
adalah "abu-abu goo" masalah, di mana
mesinnano mereplikasi diri, dan secara
eksponensial meningkatkan keturunan,
mengamuk, mogok semua materi yang
dihadapi menjadi zat abu-abu seragam
lengket. Tujuannya, kemudian, adalah
untuk melanjutkan dengan hati-hati dengan
kesadaran bahwa sebuah "bug" dalam
program nanoteknologi bisa berpotensi
menyebabkan kerusakan lebih dari satu
yang sekarang mengarah ke Blue Screen of
Death yang tampaknya aneh. Lengkap
penelitian
sangat
penting
untuk
pembentukan pendekatan yang aman untuk
pengembangan
dan
penggunaan
nanoteknologi. [8]

2.2 Arsitektur reconfigurable


Seperti disebutkan sebelumnya,
berbagai pendekatan hardware sukses ada
untuk komputasi reconfigurable [9].
Sebagai keterbatasan fisik pengurangan
ukuran fitur dan pembuangan panas yang
dicapai,
nanoteknologi
memberikan
pendekatan untuk mengatasi keterbatasan
tersebut. Karena nanoteknologi dapat
menyebabkan produksi murah dari yang
sangat
perangkat
keras
komputer
reconfigurable, adalah wajar untuk
memperkirakan keadaan saat ini seni untuk
teknologi baru ini. Penelitian sangat
menunjukkan
bahwa
arsitektur
reconfigurable, jika efisien, memberikan
akan lebih cocok dan dengan demikian
meningkatkan kinerja untuk perhitungan
tujuan umum. [2,4,7,9]
Kemajuan terbaru dalam eksplorasi
ruang desain yang diterapkan pada
kompilasi untuk FPGA berbasis dan
lainnya
reconfigurable
arsitektur
menunjukkan perbaikan kinerja mungkin
dengan arsitektur yang disesuaikan [25-27].
The Konsep "program, keluar chip"
(PICO) bergantung pada analisis compiler,
terutama ditargetkan paralelisme otomatis,
untuk mengidentifikasi fragmen program
yang akan paling diuntungkan dari
hardware disesuaikan. [27]
Arsitektur nanocomputer masa
depan akan terbentuk dari non-volatile
reconfigurable, hardware lokal terhubung
jerat bahwa pemrosesan gabungan dan
memori. Model arsitektur ini lebih dekat
daripada komputer yang ada arsitektur
yang dari otak manusia, dengan daya
komputasi jauh lebih unggul [19].
Meskipun nanocomputer yang belum ada,
kinerja dari setiap program bisa
mendapatkan
keuntungan
dari
rekonfigurasi mesin yang berjalan untuk
lebih cocok dengan kebutuhan sumber
daya program. Berbeda dengan pendekatan
menggunakan ruang eksplorasi desain,
fleksibilitas
potensi
arsitektur
nanocomputer berarti bahwa konfigurasi

tidak akan terbatas pada diketahui desain


ruang.
2.3 Fitur Arsitektur & Compiler Teknik
Analisis
Karakteristik tertentu yang umum
untuk sebagian besar prosesor, dan harus
dipertimbangkan sebagai kandidat untuk
konfigurasi ulang. Karakteristik seperti
jumlah register, unit fungsional, unit
memori, cache dan memori organisasi,
sejarah cabang dan dukungan prediksi,
organisasi pipa, dan arsitektur set instruksi
(ISA) Seharusnya dipertimbangkan. [14]
Compiler saat retarget program sumber ke
mesin target. Dengan fleksibilitas mesin
konfigurasi ulang, tugas retargeting dibuat
lebih kuat karena mesin target yang
dihasilkan akan lebih cocok dengan
karakteristik dan persyaratan program
sumber tertentu.
Dalam menganalisis karakteristik
yang melekat dalam program sumber
tertentu, kemampuan untuk mendeteksi
instruksi-level, tugas- tingkat dan kasargrained paralelisme juga akan memandu
deskripsi fitur arsitektur. Misalnya, jumlah
instruksi-level parallelism (ILP) yang
tersedia dalam program dapat berdampak
jumlah unit fungsional yang ditentukan,
yang menyebabkan peningkatan kinerja.
Daripada
arsitek
komputer
menginvestasikan uang yang signifikan
dan waktu dalam desain prosesor untuk
tujuan umum yang sangat baik yang tidak
cukup baik menjalankan sebagian sumber
program, compiler itu sendiri dapat
menghasilkan
mesin
yang
disetel
dikonfigurasi untuk mencocokkan program
sumber individu, memungkinkan masingmasing untuk memaksimalkan kinerja.
Kompilator memiliki tanggung
jawab menganalisis program sumber dan
menghasilkan mesin yang cocok deskripsi
berdasarkan hasil analisis. Ada analisis
yang luas tersedia, meskipun mayoritas
adalah dirancang untuk mengoptimalkan
program untuk mesin target tertentu [1].
Setiap
analisis
ukuran
itu
atau

mengaktifkan
pengukuran
liveness
variabel, paralelisme yang melekat,
perilaku bercabang, subexpressions umum,
memori pola akses, pemanfaatan cache,
daftar
peluang
alokasi,
peluang
penjadwalan instruksi, dan banyak metrik
karakteristik terkait lainnya adalah
kandidat. Semua dapat memberikan
informasi untuk memandu generasi dari
mesin deskripsi yang cocok untuk program
sumber. Pertimbangan utama adalah
kemampuan
untuk
mengumpulkan
informasi tentang karakteristik statis atau
perilaku
prediksi
sumber
untuk
memungkinkan produksi deskripsi mesin
terbaik-fit.
3 Compiler Desain
Tujuan utama dari pekerjaan awal
yang dilaporkan dalam makalah ini adalah
desain compiler yang menghasilkan output
sebagai kedua versi executable dari
program sumber asli dan deskripsi mesin
yang dieksekusi akan berjalan dengan baik.
Penelitian ini berfokus pada arsitektur ILP,
meskipun konsep juga berlaku lebih luas
untuk mencakup pendekatan kasar-butiran.
Compiler tradisional mengambil kode
sumber dan menerjemahkannya ke dalam
bentuk biner yang cocok untuk prosesor
yang spesifik, dioptimalkan untuk berjalan
dengan sebaik-baiknya pada mesin sasaran.
Pengetahuan tentang mesin target adalah
diperlukan untuk melakukan optimasi
tergantung mesin. Pendekatan kami
berbeda dalam bahwa konfigurasi dari
target Mesin tidak diketahui saat kompilasi
dimulai. Konfigurasi mesin diekstrak dari
program sumber, berdasarkan kebutuhan
sumber dayanya. Dengan cara ini, mesin
yang dihasilkan sangat cocok untuk
program ini.
Untuk menemukan deskripsi mesin
ini, compiler harus melakukan sejumlah
analisis
yang
dirancang
untuk
mengungkapkan kebutuhan program.
Misalnya, analisis variabel hidup dapat
dilakukan untuk membantu menentukan
berapa banyak register dibutuhkan. Namun,

jumlah register yang diperlukan juga


tergantung pada lebar masalah mesin
target, yang ditentukan oleh melekat ILP
dalam program ini. Dengan demikian, ada
banyak interaksi untuk dipertimbangkan
ketika
menganalisis
program
dan
menghasilkan deskripsi mesin.
Gambar
1
menggambarkan
organisasi nanocompiler diusulkan dari
tingkat tinggi. Source code diproses oleh
akhir Front compiler, termasuk optimasi
mesin-independen. Bentuk peralihan yang
dihasilkan melewati tahap analisis
kebutuhan Machine, yang melakukan
analisis statis, memberikan metrik ke
Mesin fase generasi deskripsi. Yang
dihasilkan deskripsi mesin digunakan oleh
generator
Processor
fase
untuk
menghasilkan atau mengkonfigurasi ulang
mesin target, dan oleh compiler Kembali
berakhir untuk melakukan tergantung
mesin optimasi dan menghasilkan kode
dieksekusi. Organisasi pada Gambar 1 juga
menunjukkan bagaimana informasi dari
Processor Generator dan bahkan informasi
runtime profiling bisa dimasukkan kembali
ke dalam persyaratan Mesin tahap analisis
untuk memungkinkan perbaikan berulang
dari deskripsi mesin, dan dengan demikian
dari prosesor itu sendiri.

Gambar 1: Organisasi nanocompiler

Gambar 2: Organisasi nanotechnology


sebuah prosesor berbasis Generator
Jika lebih dari fungsi kompilator
disertakan dalam sistem operasi atau
perangkat keras, dinamis rekonfigurasi
prosesor ini mungkin sementara sebuah
program sedang berjalan. Just-in-time
konfigurasi load-waktu melibatkan analisis
persyaratan program dapat dimasukkan ke
loader prosesor, juga.
Ketika
program
dijalankan
pada
nanocomputer dengan model konfigurasi
ulang JIT, mesin bisa dikonfigurasi ulang
untuk lebih sesuai program, sehingga
meningkatkan kinerjanya.
Di dalam generator Processor,
baik mesin yang ulang atau dihasilkan
menggunakan nanoteknologi Pendekatan.
Gambar 2 menunjukkan organisasi
berbasis
nanoteknologi
prosesor
pembangkit. Mesin deskripsi dianalisis
melalui
urutan
tahapan
yang
menerjemahkan deskripsi menjadi tata
letak sirkuit yang menerapkan mesin, yang
pada
gilirannya
diimplementasikan
menggunakan gerbang logika, yang dirakit
menggunakan molekul teknik manufaktur,
untuk menghasilkan prosesor target.

4 Studi Eksperimen
Prototipe dari pendekatan kompilasi kami telah diimplementasikan sebagai
perpanjangan dari penelitian Trimaran Sistem compiler [22]. Trimaran dipilih untuk EPIC
simulator reconfigurable dan kemudahan ekstensi. Untuk ini penelitian, kami dimodifikasi
Trimaran dengan mengisolasi output dari analisis variabel hidup dan modul penjadwalan
untuk menggabungkan data mereka ke dalam generator deskripsi mesin. Percobaan dalam
penelitian awal ini difasilitasi dengan penggunaan sejumlah skrip kontrol tingkat tinggi dan
driver yang dikembangkan sebagai bagian dari terkait ILP bertarget penelitian optimasi
compiler [23].
Eksperimen dirancang dan dilakukan untuk membandingkan dampak dari pendekatan
nanocompiler kami pada program kinerja. Percobaan dilakukan pada set lengkap delapan
benchmark C di SPEC95 CINT suite. Program disusun dan dijalankan pada lima prosesor
pra-dikonfigurasi EPIC dan kustom 6 dihasilkan EPIC prosesor. Keenam konfigurasi terdiri
dari 1-4 unit fungsional (baik integer dan floating point), 1-4 memori unit, 1-2 unit kontrol
cabang (untuk mengelola sejarah cabang, prediksi, dll), dan register sebanding dengan jumlah
unit fungsional (64 per). Perhatikan bahwa 6 kustom prosesor yang dihasilkan bervariasi
dalam jumlah fungsional, memori dan unit cabang. Prosesor simulasi menghasilkan
berlebihan statistik statis dan dinamis, termasuk mesin siklus dikonsumsi, operasi yang
dilakukan, perilaku memori dan akses cache, dan pemanfaatan prosesor. Hitungan siklus
mesin yang digunakan untuk menghitung percepatan, karena simulasi di Trimaran dilakukan
independen dari spesifik frekuensi clock cycle.
Kami awalnya diharapkan bahwa prosesor untuk tujuan umum hati-hati tangandikonfigurasi akan memberikan yang terbaik secara keseluruhan kinerja untuk seluruh paket
benchmark. Hasil pada Tabel 2 menunjukkan bahwa wajar dan umum konfigurasi mesin
memang menghasilkan kinerja percepatan yang baik. Tabel 2 menyajikan speedup selama
empat mesin konfigurasi, serta kebiasaan, berasal, konfigurasi mesin dibandingkan dengan
sequential 6, dasar konfigurasi prosesor (Machine # 1, tidak ditampilkan).
Tabel 2: Perbandingan speedup untuk berbagai konfigurasi arsitektur. Catat itu
Mesin # 1, prosesor berurutan digunakan untuk perbandingan dasar, tidak ditampilkan

Untuk setiap konfigurasi, jumlah unit fungsional, unit memori dan unit kontrol cabang
yang akan ditampilkan. Untuk Misalnya, "4F, 2M, 1B" menandakan mesin dikonfigurasi
dengan 4 unit fungsional, 2 unit memori dan satu cabang Unit. Juga ditunjukkan pada Tabel 2
adalah biaya untuk setiap konfigurasi, berdasarkan fungsi biaya C, di mana f, b dan m adalah
jumlah fungsional, cabang dan memori unit, masing-masing. Fungsi biaya adalah:

C = ( fxF) + (bxB) + (mxM)

Nilai F, B dan M yang berat konstan ditugaskan untuk fungsional, cabang dan memori
unit untuk mencoba untuk menetapkan biaya berdasarkan kompleksitas dan meningkatkan
latency dari peningkatan jumlah setiap jenis unit. Nilai-nilai ditugaskan untuk ini adalah: F =
10, B = 20, M = 100. Sebagai contoh, biaya dihitung dari mesin # 1, berurutan yang prosesor
(1F, 1M, 1B), adalah 130.

SpeedUp baik diperbaiki atau tetap


stabil karena biaya mesin simulasi
meningkat. Tolok ukur yang operasi
intensif dipamerkan lebih banyak memori
(129.compress, 132.ijpeg, 147.vortex)
cenderung terus meningkatkan sebagai
jumlah unit memori meningkat. Untuk
benchmark yang lebih komputasi intensif
(124.m88ksim, 132.ijpeg) atau memiliki
data atau dependensi kontrol yang dibatasi
ILP (099.go, 134.perl, 142.gcc) yang
signifikan, unit fungsional atau cabang
tambahan cenderung untuk meningkatkan
kinerja lebih dari unit memori.
Konfigurasi default dalam sistem
Trimaran adalah mesin # 3, yang
menunjukkan percepatan yang cukup baik
untuk semua benchmark. Hasil generasi
kebiasaan mesin sebagai hasil dari analisis
waktu kompilasi setiap patokan adalah
ditunjukkan dalam tiga kolom terakhir dari
Tabel 2. Perhatikan bahwa konfigurasi
cenderung mencerminkan pengurangan
jumlah unit saat unit tambahan tidak
cenderung untuk meningkatkan kinerja.
Terutama, biaya setiap dihasilkan mesin
kurang dari biaya untuk speedup
sebanding disediakan oleh salah satu
mesin
dikonfigurasi,
dan
Mesin
persyaratan fase tampaknya telah sering
mengidentifikasi terbaik, atau setidaknya
lebih baik, konfigurasi mesin cocok untuk
setiap patokan.
Dalam konteks arsitektur EPIC
mungkin dalam Trimaran, tampak bahwa
kami kerangka compiler lead untuk
mengurangi
biaya,
meningkatkan
percepatan, atau keseimbangan antara
kedua ketika ada faktor bersaing. Dalam
beberapa kasus, empat unit memori tidak
menyebabkan percepatan lebih konfigurasi
dengan dua unit memori, dan mesin

persyaratan fase tiba pada kesimpulan


yang benar. Dalam domain yang relatif
dibatasi dari EPIC, VLIW,Superscalar dan
arsitektur ILP sama, pendekatan ini
mungkin menjadi tambahan layak untuk
compiler saat ini yang menargetkan versi
reconfigurable dari mesin ini.
Karena arsitektur nanocomputer
hipotetis cukup besar (miliaran unit
pengolahan pada satu chip), yang Mesin
tugas generasi keterangan lebih sulit.
Dengan peningkatan fleksibilitas dan
kebebasan konfigurasi ulang datang
meningkat tanggung jawab pada bagian
dari fase compiler untuk benar-benar
menganalisis program sumber dan
menghasilkan deskripsi mesin yang pas.
Ada
peningkatan
peluang
untuk
paralelisme, dan potensi untuk mendesain
ulang set instruksi, organisasi pipa, dan
fitur lain dari mesin. Pada akhirnya, janji
nanoteknologi komputasi ini sangat mudah,
on-demand manufaktur molekul-tingkat,
yang berarti bahwa prosesor baru bisa
ditentukan, diproduksi, digunakan dan
dibuang (atau daur ulang). Meskipun
kemampuan tersebut terdengar jauh dan
futuristik, dari sudut pandang praktis
revolusi teknologi tersebut secara teknis
dan layak secara fisik, jika jauh-off. [8, 16]
5 Pekerjaan Terkait
Penelitian di bidang FCCMs mana
sistem
menggabungkan
logika
reconfigurable dengan prosesor untuk
tujuan umum telah menunjukkan speedup
[3,13]. Penelitian ini difokuskan pada
detail
arsitektur
perangkat
keras
reconfigurable dan fitur compiler yang
mengeksploitasi itu. Penelitian kami
mencoba untuk membangun pekerjaan ini
dengan
meningkatkan
kemampuan

compiler untuk menghasilkan lebih dari


mesin target.
Integrasi
unit
fungsional
reconfigurable ke prosesor superscalar
RISC meningkatkan pada awal FCCM
penelitian [4] dengan berfokus pada
antarmuka hardware-compiler, meskipun
hal itu bergantung pada modifikasi tangan
sumber
program
untuk
mencapai
percepatan. Dengan pendekatan kami,
semua analisis dan modifikasi akan
dilakukan oleh compiler.
Pendekatan inovatif untuk skala
besar,
homogen,
dibeda-bedakan,
arsitektur reconfigurable meningkatkan
atas FPGA menggunakan nano lebih
murah "matriks sel" pendekatan [9]. Karya
ini menggambarkan bagaimana jaringan
atomic- switch skala dapat dikonfigurasi
secara paralel dan digunakan untuk
membuat
prosesor
scalable
yang
disesuaikan dengan spesifik tugas.
Penelitian kami ditargetkan arsitektur
matriks sel nanocomputer, berfokus pada
penggunaan compiler untuk secara
otomatis
menghasilkan
petunjuk
konfigurasi ulang.
Penelitian Hewlett Packard pada
PICO, sistem yang secara otomatis desain
komputer kustom sangat mirip dalam nya
tujuan [24-27]. Dengan PICO, bagian
paralel program berjalan pada ulang FPGA
hardware sedangkan sisanya berjalan pada
terhubung, tertanam prosesor. PICO
mempekerjakan eksplorasi ruang desain,
memilih konfigurasi terbaik dari antara
satu set konfigurasi pra-desain. Sementara
target PICO terutama tertanam prosesor
dan penggunaan eksplorasi ruang desain,
pendekatan
kami
membayangkan
komputer desktop atau tertanam yang
reconfigures sendiri hardware untuk
konfigurasi
yang
sewenang-wenang,
menggunakan analisis kebutuhan mesin
dan nanoteknologi. Proses ini mungkin
menyerupai FPGA reconfigurability, atau
reassembly molekul yang sebenarnya fisik,
dilakukan pada saat kompilasi atau run
waktu.

Bidang nanoteknologi cukup aktif


dan maju pesat, dengan sering prestasi
yang dibuat di banyak disiplin ilmu
termasuk kedokteran, farmasi, kimia,
fisika, dan tentu saja, teknik komputer [10].
Sedikit yang telah dilakukan di daerah
compiler dan optimasi khusus ditujukan
untuk menggunakan teknologi ini.
Penelitian kami mencoba untuk mengejar
penelitian dasar dan terapan nancompiler
dan mendorong orang lain untuk
melakukan hal yang sama.
6 Ringkasan dan Masa Depan
Komputasi reconfigurable adalah
daerah muncul dari hardware, dan janji
nanoteknologi untuk rintangan menjulang
hambatan penerapan lanjutan dari Hukum
Moore sedang diakui. Kami telah
merancang sebuah compiler Kerangka
ditargetkan untuk nanocomputer, dan
menunjukkan bahwa teknik analisis
deskripsi mesin dan prosesor konfigurasikode generasi menggunakan compiler
kami
dapat
meningkatkan
kinerja
sementara membatasi biaya. Meskipun
implementasi
kami
dibatasi
untuk
reconfigurable arsitektur EPIC simulator,
karena itu yang paling tepat dan tersedia
platform yang pada saat penelitian kami,
ada kesamaan di semua persyaratan
prosesor,
termasuk
nanocomputers.
Dengan fleksibilitas yang signifikan dan
kemampuan nanocomputers, tampaknya
tanggung jawab untuk membimbing
konfigurasi akan jatuh ke compiler.
Penelitian ini menunjukkan kelayakan dari
pendekatan itu. Dimana setiap compiler
disesuaikan program sesuai mesin,
compiler akan segera penuh menyesuaikan
mesin sesuai program, memperluas
generasi kode untuk memasukkan kode
yang akan mengkonfigurasi ulang, atau
bahkan memandu pembuatan prosesor itu
sendiri.
Kami berencana penelitian dan
eksperimen di bidang optimasi compiler
untuk nanocomputers. Kami sedang
mengembangkan
kerangka
analisis

compiler yang mensimulasikan spesifikasi


arsitektur yang dihasilkan menggunakan
berwarna Petri Nets. Pekerjaan tambahan
yang dilakukan di compiler pendekatan
untuk menghasilkan dan simulasi nano

mekanik deskripsi mesin komputasi dari


kode sumber, aplikasi untuk daya rendah
dan
tertanam
komputasi,
teknik
paralelisasi otomatis dan deskripsi
arsitektur-nanocomputer.

Referensi
[1] D. F. Bacon, S. L. Graham, and O. J. Sharp. Compiler transformations for high-performance computing. Computing
Systems, 26(4):345420, 1994.
[2] P. Beckett, and A. Jennings. Towards nanocomputer architecture. Seventh Asia-Pacific Computer Systems Architecture
Conference (ACSAC 2002), 2002.
[3] T. J. Callahan, J. R. Hauser, and J. Wawrzynek. The Garp architecture and C compiler. Computer, 33(4):62-69, Apr.
2000.
[4] J. E. Carrillo, and P. Chow. The effect of reconfigurable units in superscalar processors. FPGA 2001, Feb. 11-13, 2001.
[5] M. Cintra, and D. R. Llanos. Toward Efficient and Robust Software Speculative Parallelization in Multiprocessors. In
Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, June 2003.
[6] C. P. Collier, and et al. Electronically configurable molecular-based logic gates. Science, 285:391-394, 1999.
[7] C. Compton, and S. Hauck. An introduction to reconfigurable computing. IEEE Computer, April 2000.
[8] K. E. Drexler. Nanosystems: Molecular machinery, manufacturing and computation. Wiley & Sons, Inc. 1992.
[9] L. J. K. Durbeck, and N. J. Macias. The Cell Matrix: an architecture for nanocomputing. Nanotechnology, 12:217-230,
2001.
[10] Foresight Nanotech Institute. Web site at http://www.foresight.org, accessed June 2005.
[11] P. Ghosh, R. Mangaser, C. Mark, and K. Rose. Interconnect-dominated VLSI design. Proceedings of the 20th
anniversary
conference on advanced research in VLSI, 114-122, Mar. 1999.
[12] W. Gibbs. A Split at the Core. Scientific American, pages 96-101, November 2004.
[13] S. C. Goldstein, H. Schmit, M. Budiu, S. Cadambi, M. Roe, and R. R. Tyalor. PipRench: A reconfigurable architecture
and compiler. Computer, 33(4):70-77, Apr. 2000.
[14] J. L. Hennessy, and D. A. Patterson. Computer architecture: a quantitative approach. Third edition, Morgan Kaufmann
Publishers, San Francisco, 2003.
[15] IBM. Blue Gene to tackle protein folding grand challenge, available online at
http://www.research.ibm.com/bluegene/press_release.html, 1999.
[16] R. C. Merkle. Design considerations for an assembler. Nanotechnology, 7(3):210-215, 1996.
[17] M. Montemerlo, C. Love, G. Opiteck, D. Goldhaber-Gordon, and J. Ellenbogen. Technologies and designs for
electronic
nanocomputers. The Mitre Corporation, http://www.mitre.org/technology/nanotech, 1996.
[18] G. Moore. Cramming more components onto integrated circuits. Electronics, 38(8):114-117, April 19, 1965.
[19] H. Moravec. When will computer hardware match the human brain? Journal of Transhumanism, vol. 1,
http://www.transhumanist.com/volume1/moravec.htm, 1998.
[20] M. C. Roco. Government nanotechnology funding: an international outlook. National Science Foundation, accessed at
http://www.nano.gov, June 2005.
[21] G. L. Timp, R. E. Howard, and P. M. Mankiewich. Nano-electronics for advanced computation and communication.
Nanotechnology. G. L. Timp (ed). New York. Springer-Verlag, Inc. 1999.
[22] A. Nene, S. Talla, B. Goldberg, and R. M. Rabbah. Trimaran an infrastructure for compiler research in instructionlevel
parallelism user manual, 1998. http://www.trimaran.org. New York University.
[23] T. Way, B. Breech, W. Du, and L. Pollock. Evaluation of a region-based partial inlining algorithm for an ILP
optimizing
compiler. IASTED PDCS 2002, pages 705-710, Cambridge, Mass., November 2002.
[24] S. Abraham and B. Rau. Efficient design space exploration in PICO. CASES 2000, San Jose, 71-79, Nov. 2000.
[25] B. So, M. Hall and P. Diaz. A Compiler approach to fast hardware design space exploration in FPGA-based systems.
ACM
PLDI 2002, Berlin, Germany, June, 2002.
[26] K. Sekar, K. Lahiri and S. Dey. Dynamic platform management for configurable platform-based system-on-chips.
Proceedings of the International Conference on Computer Aided Design (ICCAD 2003), 641-648, Nov., 2003.
[27] V. Kathail, S. Aditya, R. Schreiber, B. R. Rau, D. C. Cronquist, M. Sivaraman. PICO: Automatically designing custom
computers. IEEE Computer, 39-47, Sept. 2002.

The Future Of NanoComputing


Tugas Paper Mata Kuliah Arsitektur Komputer Lanjut

Oleh

Herwin Yudha Setyawan


1104120033
SK-36-G10

Program Studi Sistem Komputer


Fakultas Teknik Elelktro
Universitas Telkom
Bandung
2015

You might also like