Kamis, 29 September 2011

Speculative Execution

Dengan modal prediksi cabang dan analisis data, maka prosesor dapat
melakukan eksekusi spekulatif terlebih dahulu sebelum waktunya.

Eksekusi spekulatif dalam sistem komputer adalah melakukan pekerjaan, yang hasilnya mungkin tidak diperlukan. Ini kinerja optimasi teknik yang digunakan dalam pipelined prosesor dan sistem lainnya

Gagasan Utama

Eksekusi spekulatif adalah kinerja optimasi . Ide utama adalah untuk melakukan pekerjaan yang mungkin tidak diperlukan. Target adalah untuk menyediakan lebih konkurensi jika tambahan sumber daya yang tersedia. Teknologi berikut menggunakan ide ini:
Prefetching dalam memori dan sistem File
Cabang prediksi
Kontrol konkurensi Optimis dalam sistem databasE.

Data Flow Analysis

Prosesor akan menganalisa instruksi-instruksi yang tidak tergantung pada hasil
atau data lainnya untuk membuat penjadwalan yang optimum dalam eksekusi.


Data Flow Diagram Context Diagram Level
(Context Diagram/CD)


Context Diagram adalah bagian dari Data Flow Diagram (DF) yang berfungsi
memetakan model lingkungan, yang dipresentasikan dengan lingkaran tunggal
yang mewakili keseluruhan sistem. CD menyoroti sejumlah karakteristik
penting sistem, yaitu :

Kelompok pemakai, organisasi atau sistem lain dimana sistem melakukan
komunikasi (sebagai terminator).
Data masuk, yaitu data yang diterima sistem dari lingkungan dan harus
diproses dengan cara tertentu.
Data keluar, yaitu data yang dihasilkan sistem dan diberikan ke
dunia luar.
Penyimpanan data (storage), yaitu digunakan secara bersama antara
sistem dengan terminator. Data ini dapat dibuat oleh sistem dan digunakan
oleh lingkungan atau sebaliknya dibuat oleh lingkungan dan digunakan oleh
sistem. Hal ini berarti pembuatan simbol data storage dalam CD dibenarkan,
dengan syarat simbol tersebut merupakan bagian dari dunia diluar sistem.
Batasan, antara sistem dan lingkungan.


Simbol yang digunakan dalam Context Diagram (CD), antara lain :

Persegi panjang (terminator)
Untuk berkomunikasi langsung dengan sistem melalui aliran data.
Antara terminator tidak diperbolehkan komunikasi langsung.
Lingkaran
Untuk menunjukkan adanya kegiatian proses dalam sistem.

Aturan-aturan CD :

Bila terdapat terminator yang mempunyai banyak masukan dan keluaran,
diperbolehkan untuk digambarkan lebih dari satu kali sehingga mencegah
penggambaran yang terlalu rumit, dengan ditandai secara khusus untuk
menjelaskan bahwa terminator yang dimaksud adalah identik. Tanda dapat
berupa asterisk (*) atau tanda kres (#).
Bila terminator mewakili individu (personil) sebaiknya diwakili oleh
peran yang dimainkan personil tersebut. Alasannya adalah : personil yang
berfungsi untuk melakukan itu dapat berganti, sedangkan CD harus tetap
akurat walaupun personil berganti dan mungkin seorang personil dapat
memiliki lebih dari satu tugas (peran).
Karena model ini membedakan sumber (resources) dan pelaku (handler).
Dimana pelaku adalah mekanisme, perangkat, atau media fisik yang
mentransformasikan data ke/dari sistem, sehingga pelaku tidak perlu
digambarkan.


Aliran dalam CD memodelkan masukkan ke sistem dan keluaran dari sistem,
seperti halnya sinyal kontrol yang diterima atau dibuat sistem.
Aliran data hanya digambarkan jika diperlukan untuk mendeteksi kejadian
dalam lingkungan dimana sistem harus memberikan respon atau membutuhkan
data untuk menghasilkan respon. Selain itu aliran data dibutuhkan untuk
menggambarkan transportasi antara sistem dan terminator. Dengan kata lain
aliran data digambarkan jika data tersebut diperlukan untuk menghasilkan
respon pada kejadian tertentu.

Dalam hal ini seharusnya menggambar dengan asumsi bahwa masukan disebabkan
dan diinisiasi oleh terminator, sedangkan keluaran disebabkan dan diinisiasi
oleh sistem. Hal itu dilakukan dengan mencegah interaksi yang tidak perlu
(extraneous prompts) yang berorientasi pada implementasi masukan-keluaran,
dan mengkonsentrasikan pemodelan pada aliran data yang esensial saja.


CD dimulai dengan penggambaran terminator, aliran data, aliran kontrol,
penyimpanan, dan proses tunggal yang mempresentasikan keseluruhan sistem.
Bagian termudah adalah menetapkan proses yang hanya terdiri dari satu
lingkaran dan diberi nama yang mewakili sistem. Nama harus dapat menjelaskan
proses.

Langkah yang dapat membantu dalam menggambarkan CD :
1. Identifikasikan seluruh informasi yang dibutuhkan.
2. Identifikasikan seluruh data yang dibutuhkan proses/informasi.
3. Identifikasikan seluruh tujuan setiap informasi bagi penggunanya.
4. Identifikasikan seluruh sumber data yang dibutuhkan proses/informasi

Data Flow Diagram Levelled (DFDL)


Model ini berfungsi untuk menggambarkan sistem sebagai jaringan kerja
antar fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan
data. DFD pada dasarnya sebuah diagram yang menjelaskan bagaimana
hubungan bersama dari bagian file, laporan, sumber dokumen dan sebagainya.
DFD termasuk alat komunikasi mediun yang baik antara designer dan pemakai
karena mudah dipahami (hanya berisi 4 simbol). Tujuan dari DFD adalah
membuat/mengetahui aliran (track) aliran data seluruhnya dari sistem.
Data dan proses adalah hal yang kritis untuk dipahami. DFD berbeda
dengan flow sistem (systems flowcharts) dan flow program (program
flowcharts) karena keduanya lebih mengarah ke hasil (orientation).
System flowcharts adalah device-specific flowchart yang melacak (track)
urutan pengolahan data dan mengidentifikasikan komponen fisik sebagai
auxiliary storage devices.
Program flowcharts menyangkut primitive level logic dari sebuah program.
Level yang rinci sangat baik untuk system oriented view.
Programmer dan analis yang menggunakan program flowcharts sering memiliki
kesulitan membuat peralihan (transition) ke DFD. Namun kedua alat tersebut
memiliki kesamaan, yaitu penggunaan simbol proses dan flow lines,
tetapi masing-masing memiliki tujuan yang sangat berbeda.

Rancangan (blueprint) mencakup satu atau lebih DFD yang menunjukkan
hubungan antara file, input dokumen, output dokumen dan laporan.

Empat komponen dalam DFDL :

Proses (fungsi)
Dipresentasikan dalam bentuk lingkaran (circle) atau bujursangkar
dengan sudut melengkung (a rounded rectangle). Setiap proses ditandai
dengan nomor. Nomor berfungsi menjelaskan tingkatan proses dari
hierarchy chat. Setiap proses dinamai dengan sepasang kata kerja yang
simple, contoh : screen customer-order, record customer-order.
Dalam physical DFD, lokasi atau program yang memproses seringkali
dituliskan dibagian bawah simbol, tetapi dalam logical DFD tidak
perlu disebutkan. Untuk menunjukkan transformasi dari masukan menjadi
keluaran, dalam hal ini sejumlah masukan dapat menjadi hanya satu
keluaran ataupun sebaliknya. Proses umumnya didefinisikan dengan kata
tunggal, atau kalimat sederhana. Fokus simbol ini adalah apa yang
dikerjakan atau tindakan yang dilakukan (proses), bukan orang atau
melakukan kegiatan apa.
Aliran data (data arrow).
Dipresentasikan delam bentuk anak panah yang menuju ke atau dari
proses. Digunakan untuk menggambarkan gerakan paket data atau informasi
dari satu bagian ke bagian lain dari sistem dimana penyimpanan mewakili
lokasi penyimpanan data. Nama berfungsi untuk mendefinisikan arti dari
aliran dan ditulis untuk mengidentifikasi aliran tersebut. Ujung panah
menunjukkan kemana data bergerak ke atau dari proses, penyimpanan
ataupun terminator atau keduanya. Aliran yang digambarkan sebagai panah
dengan dua ujung menggambarkan terjadinya dialog. Aliran dapat juga
menyebar atau menyatu, misalnya sejumlah atribut dapat membentuk satu
aliran, atau satu aliran menyebar menjadi sejumlah atribut. Atribut
dalam hal ini dapat merupakan bagian atau duplikasi dari aliran.
Nama data yang digambarkan dalam aliran disebut data packet dan
dituliskan diatas garis panah.
Arus data menunjukkan arus dari data yang dapat berupa masukan untuk
sistem atau hasil proses sistem dan dapat berbentuk sebagai berikut :
a. Formulir atau dokumen yang digunakan di perusahaan.
b. Laporan tercetak yang dihasilkan oleh sistem.
c. Tampilan atau output dilayar komputer yang dihasilkan oleh sistem.
d. Masukan untuk komputer.
e. Komunikasi lisan / ucapan.
f. Surat-surat atau memo.
g. Data yang dibaca atau direkamkan ke suatu file.
h. Suatu sistem yang dicatat pada buku agenda.
i. Transmisi data dari suatu komputer ke komputer yang lain.
Penyimpanan (data stores)
Komponen ini digunakan untuk memodelkan kumpulan data atau paket data.
Notasi yang digunakan adalah garis sejajar, segiempat dengan sudut
melengkung atau persegi panjang, atau open-ended rectangle on the right
side. Nama (database atau file) dari penyimpanan disebutkan dalam simbol
Dalam kasus notasi ini dapat mendefinisikan file atau basis data seperti
tape magnetic, disk, dan model DBMS lainnya, atau seringkali mendefinisikan
bagaimana penyimpanan diimplementasikan dalam sistem komputer.
Penyimpanan kadangkala didefinisikan sebagai suatu mekanisme di antara
dua proses yang dibatasi oleh jangka waktu tertentu.
Terminator (external or internal entities)
Dipresentasikan dengan simbol persegi panjang yang mewakili entiti luar
atau dalam dimana sistem berkomunikasi dan disebut dengan sources (data,
masukan ke sistem) atau destinations (informasi, keluarah dari sistem).
Seringkali sulit untuk menentukan mana external dan internal entity.
Pertanyaan kunci untuk menjawabnya adalah "apakah pelaku (person)
atau group ini melakukan proses dari bagian sistem ? Jika jawabannnya
tidak, entitiy tersebut adalah external.
External entity jika jelas bahwa entity tersebut diluar sistem organisasi,
seperti customers, vendors, pemerintah, orang, kelompok orang, perusahaan,
departemen. Contoh dalam order entry system adalah customer, order
inventory system adalah suppliers.
Internal entity jika mewakili unit-unit fungsi suatu organisasi, yang
meliputi pemakai.
External dan internal entity juga dapat didefinisikan sebagai batasan
sistem. Untuk mengidentifikasi terminator tidak sulit.
Kadangkala terminator berupa pemakai sistem itu sendiri. Hal itu bisa
terjadi jika pemakai punya sikap sikap seperti berikut :
"Saya menyediakan data x, y, z bagi sistem, dan saya mengharapkan sistem
dapat memberikan informasi/data a, b, dan c"
Pada kasus lain pemakai berpikir bahwa dia merupakan bagian dari sistem
sehingga mempermudah pemodelan untuk mengidentifikasi terminator yang
relevan. Hal itu bisa terjadi jika pemakai bersikap :
"Kami menerima transaksi penerimaan dari Departemen Akuntasi, dan kami
harus menyerahkan laporan mingguan biaya ke Komisi Keuangan".
Simbol untuk entity external adalah sebuah bujur sangkar (square).
Untuk mengidentifikasinya adalah dengan memberikan tanda alfabet huruf
kecil yang dituliskan pada sudut kiri atas dari bujur sangkar, selanjutnya
diberi sebuah nama tunggal.

Ada hal penting tentang terminator :


Terminator merupakan bagian luar sistem, dan aliran data (panah) yang
dihubungkan dengan terminator (ke/dari proses, ke/dari penyimpanan) dalam
sistem memodelkan hubungan antara sistem dengan dunia luar.
Penganalisa sistem punya kemungkinan untuk memodifikasi esensi
terminator dengan mengubah cara kerja sistem, karena seorang penganalisa
sistem bertujuan membuat sistem sefleksibel mungkin dengan kebebasan
memilih yang terbaik, misalnya karena efisiensi atau karena lebih handal,
bagi implementasi yang paling mungkin dilakukan.

Dengan demikian, komponen DFD terdiri dari sejumlah komponen yang sederhana,
yaitu proses (process), aliran (flows), penyimpanan (stores) dan terminator.
Dengan komponen tersebut, dapat digunakan untuk berkomunikasi dengan
pemakai yang berorientasi pada fungsi (function-oriented view).
Ketika membuat DFD harus teliti, agar DFD tidak terlalu sederhana, salah
dan tidak konsisten.
Beberapa petunjuk untuk membuat DFD yang jelas, dan mudah dibaca :
1. Pilih nama yang jelas maksudnya (bagi proses, aliran, penyimpanan,
dan terminator
a. Untuk proses sebaiknya menggunakan nama yang mengacu pada fungsi,
yaitu gabungan antara kata kerja yang spesifik dan obyek, misalnya
memproses laporan inventori, validasi nomer telepon dan lain-lain.
Untuk terminator lebih mengacu pada orang atau kelompok orang,
sedangkan untuk aliran dan penyimpanan mengacu pada paket data
atau informasi yang terkandung didalamnya.
b. Jangan menggunakan nama yang terlalu umum, misalnya proses data,
tangani masukan dan lain-lain.
c. Gunakan nama yang familiar bagi pemakai.
2. Menomori proses untuk memperjelas sistematika.
a. Tidak jadi masalah bagaimana urutan ditempatkan.
b. Nomor tidak menunjukkan urutan.
c. Penomoran dimaksudkan sebagai identifikasi proses dan memudahkan
penurunan ke level yang lebih rendah atau ke proses berikutnya.
3. Menggambar kembali DFD hingga beberapa kali, sehingga cukup estetik.
Penggambaran kembali yang kadang-kadang bahkan lebih dari sepuluh kali
digunakan untuk menjaga secara teknis gambar tersebut sudah benar,
dapat diterima oleh pemakai, misalnya tingkat operasional yang akan
mengoperasikan dan dapat diterima oleh pimpinan yang dalam hal ini
menentukan strategi organisasi. Ketika penggambaran dilakukan ada
beberapa hal yang perlu diperhatikan, yaitu :
a. Ukuran dan bentuk lingkaran sebaiknya tetap sama, karena jika tidak
dapat menimbulkan kesan lingkaran yang lebih besar memproses sesuatu
yang juga lebih besar.
b. Panah yang melengkung dan lurus tidak jadi masalah tetapi sebaiknya
tidak menggunakan kedua cara tersebut pada gambar yang sama.
c. Menggambar dengan tangan atau menggambar dengan perangkat tertentu,
tidak merupakan masalah. Menggambar dengan tangan seringkali memberikan
sesuatu yang lain katakanlah sentuhan seni, tetapi menggambar dengan
mesin, seringkali lebih memudahkan modifikasi.
4. Mencegah DFD yang terlalu kompleks dan tidak perlu. Kegunaan DFD bukan
hanya menggambarkan fungsi dan interaksinya dalam sistem secara akurat
tetapi juga untuk dibaca dan dimengerti oleh bukan hanya penganalisa
sistem, tetapi juga pemakai yang berpengalaman dalam sistem yang
dimodelkan. Hal ini berarti : jangan membuat DFD dengan terlalu banyak
proses, aliran, penyimpanan dan terminator.
5. Menjamin konsistensi DFD tersebut secara intern ataupun yang berkualitas
dengan DFD. Konsistensi dalam hal ini juga menyangkut konsistensi dengan
model lain (misalnya : entity relationship diagram, state transition
diagram, data dictionary dan process specification).

Hal-hal penting yang harus diperhatikan / diingat adalah :
a. Mencegah proses yang mempunyai masukan tetapi tidak mempunyai keluaran
yang dikenal dengan lubang hitam
b. Mencegah proses yang mempunyai keluaran tetapi tidak punya masukan,
misalnya penghasil bilangan acak.
c. Hati-hati dengan aliran dan proses yang tidak dinamakan karena dapat
mengakibatkan elemen data yang saling tidak berhubungan menjadi satu.
d. Hati-hati dengan penyimpanan yang punya status hanya dapat dibaca
atau hanya dapat ditulis dan berkaitan dengan proses yang hanya
memproses masukan atau hanya memproses keluaran.

Branch Prediction

Teknik dimana prosesor memungkinkan mengamati terlebih dahulu di dalam
software dan melakukan prediksi percabangan atau kelompok instruksi yang akan dieksekusi berikutnya.

Keberhasilan usaha produsen alat pemroses untuk meningkatkan kecepatan prosessor sangat signifikan. Evolusi perkembangan ini semakin membuktikan Hukum Moore yang menyatakan bahwa produsen keping prosessor setiap tiga tahun akan dapat menciptakan generasi baru dengan jumlah transistor empat kali lipat pada setiap keping (Stallings, 2003). Stallings (2003) juga memberikan fakta sejak intel meluncurkan keluarga prosessor X86 pada tahun 1978, penambahan rangkaian baru dan pengurangan jarak antar rangkaian dapat meningkatkan kecepatan dan kinerja mikroprosessor sebesar empat kali atau lima kali setiap tiga tahun.

Fog (2008) menggambarkan pada sebuah mikroprosessor sederhana, semua instruksi ditangani dalam dua langkah, yaitu decoding dan eksekusi. Mikroprosessor dapat menghemat waktu eksekusi instruksi dengan men-decode sebuah instruksi selama proses eksekusi instruksi lain sedang dikerjakan. Prinsip ini disebut dengan pipelining. Pipelining, merupakan fitur standar prosesor tipe RISC (Reduced Instruction Set Computing), yang dapat digambarkan persis seperti barisan antrian. Menurut Gajski dkk. (1992) teknik pipelining membagi instruksi kedalam stage-stege dan menempatkan (latched) stage satu setelah stage lainnya. Dalam kondisi ini prosesor dapat mengerjakan langkah-langkah instruksi lainnya pada waktu yang sama, sehingga beberapa instruksi dapat dieksekusi dalam periode waktu yang singkat (http://cse.stanford.edu), sehingga Pipelining dapat meningkatkan kinerja prosessor (Gajski dkk., 1992).

Lebih lanjut Fog (2008) mengungkapkan permasalahan muncul ketika prosessor harus mengkesekusi percabangan instruksi. Percabangan instruksi merupakan implementasi dari what of analysis if-then-else. Yaitu ketika if pada kondisi true, maka proses akan menuju ke lokasi lain, dan jika if kondisi false maka prosessor akan mengeksekusi instruksi selanjutnya. Hal tersebut mengakibatkan delay pada aliran intstruksi yang melalui pipeline, karena prosessor tidak mengetahui instruksi mana yang harus dieksekusi sampai selesai melaksanakan instruksi percabangan. Kondisi ini akan mengganggu aliran kerja konstan mikroprosessor yang berakibat menurunnya kecepatan eksekusi instruksi (Stallings, 2003).

Semakin panjang pipelines mengakibatkan waktu tunggu juga semakin lama dan berakhir sampai diketahui instruksi yang akan dimasukkan ke dalam pipelines diketahui (Fog, 2008). Mikroprosessor modern cenderung mempunyai pipelines yang panjang, sehingga percabangan yang terjadi akan menjadikan permasalahan performance prosessor. Stallings (2003) memberikan beberapa teknik untuk mempertahankan kecepatan atau kinerja optimal pada desain prosessor, yaitu Branch Prediction, Data Flow Analysis, dan Speculative Execution.

CARA KERJA BRANCH PREDICTORS

Stallings (2003) mendeskripsikan cara kerja teknik Branch Predictors, yaitu prosessor melihat kode instruksi selanjutnya dari memori, kemudian memprediksi percabangan atau kelompok instruksi yang mirip untuk diproses berikutnya. Apabila perkiraan prosessor benar pada bebarapa waktu tertentu, prosessor akan mengambil instruksi-instruksi yang benar dan menyimpannya di dalam buffer, sehingga prosessor selalu dalam keadaan sibuk. Prediksi Branch predictors tidak hanya pada sebuah percabangan selanjutnya, tetapi juga beberapa cabang berikutnya.

Penelitian Branch prediction untuk mendukung performance prosessor modern dalam menangani percabanan instruksi telah banyak dilakukan. Branch Predictor dinamis yang pertama untuk mengambil prediksi percabangan didasarkan pada history informasi lokal. Sejak itu, Branch Predictors mengalami perkembangan yang signifikan. Perkembangan branch predictor ditentukan diantaranya oleh 3 (tiga) kategori dasar (Heil dkk., 1999), yaitu:

1. Penambahan path global dan history informasi
2. Teknik mengkombinasikan antara history global dan lokal
3. Mengurangi hambatan melalui skema peng-indeks-an tabel yang lebih baik

Sampai saat ini, hampir seluruh kondisi Branch Predictors masih diusulkan menggunakan kontrol aliran informasi sebagai input-input dasar, termasuk percabangan yang dihasilkan atau cabang PC (Program Counter). Disamping meningkatkan jalur yang telah ada, predictors mengkombinasikan tipe informasi yang sama untuk meningkatkan jalur yang baik. Mispredicted pada percabangan mengakibatkan teknik Branch Prediction mempunyai pengaruh yang negattif untuk meningkatkan performance prosessor.

Fog (2008) memberikan contoh ketika terjadi 4 (empat) kali percabangan pada kondisi yang sama, maka pada pemrosesan berikutnya juga diduga akan terjadi percabangan yang sama. Prediksi ini digunakan oleh mikroprosessor untuk menentukan instruksi yang akan dimasukkan ke dalam pipelines (buffer), sebelum mikroprosesor benar-benar yakin terjadi percabangan pada instruksi. Semua perhitungan yang berdasarkan prediksi akan diabaikan jika prediksinya salah, tetapi apabila prediksi benar maka waktu yang dibutuhkan untuk eksekusi instruksi menjadi lebih singkat (Fog, 2008).

Speculative branch execution membutuhkan satu atau dua akses terhadap tabel serial (tergantung pada data-value predictor yang digunakan) dan menggunakan history percabangan atau data-value, tetapi tidak dapat menggunakan keduanya. Gambar 2 menunjukkan skema speculative branch execution menggunakan prediksi data-value dengan ukuran yang tidak terbatas. Dibandingkan dengan percabangan statis skema tersebut tingkat akurasinya lebih baik (Heil dkk. 1992).


Instruki yang bersifat spekulatif dibuang dari pipelines dan prosessor memulai eksekusi dari jalur setelah terjadinya mispredicted (Acιiçmez dkk.). Pada gambar 3 dapat diperhatikan gambaran “20 stage Misprediction Pipelines” Prosessor Intel Pentium 4, yang menunjukkan alamat ketika terjadi bottlenecks dan eksekusi instruksi spekulatif setelah percabangan. Pada kondisi tersebut, prosessor membutuhkan informasi :

- Hasil percabangan. Prosessor harus mengetahui hasil percabangan (Taken atau Not Taken) untuk mengeksekusi urutan instruksi yang benar. Informasi ini tidak langsung tersedia ketika terjadi percabangan, untuk itu prosessor harus mengeksekusi percabangan untuk memperoleh informasi stages selanjutnya di dalam pipelines untuk diekseskusi. Ketika menunggu hasil percabangan, prosessor mencoba untuk memprediksi urutan instruksi yang akan dieksekusi selanjutnya. Prediksi ini didasarkan pada history percabangan yang sama/mirip antara percabangan sebelumnya yang telah dieksekusi dengan percabangan yang akan diproses.

- Target alamat percabangan. Prosessor mencoba menentukan percabangan ke dalam dua kategori Taken dan Not Taken. Jika prediksi keluar dari Taken, maka instruksi pada alamat target diambil dan dikeluarkan. Pengambilan instruksi dari alamat target membutuhkan informasi alamat tersebut. Seperti halnya hasil percabangan, target alamat juga dimungkinkan tidak tersedia secara langsung. Untuk itu, Prosessor akan mencoba untuk mengambil record target alamat percabangan sebelumnya yang dieksekusi pada pipelines (buffer), yang dikenal dengan Branch Target Buffer (BTB).

CONTOH PEMANFAATAN BRANCH PREDICTORS
• Pipeline 14-stage, prediksi percabangan akan diakses saat mengambil instruksi pada stage 2-3

• 16K-entry 2-bit counter Gshare predictor

– Bimodal predictor, melakukan operasi XOR terhadap bit-bit PC dengan global history register (kecuali 3 bit dibawahnya) untuk mengurangi alias.

• Miss queue

– Membagi mispredict penalty dengan menyediakan instruksi yang siap untuk di proses

Pada UltraSPARC-III yang menggunakan Bimodal Branch Prediction memiliki sebuah tabel masukkan berukuran 2 bit yang berisi salah satu dari 4 state sebagai berikut :

00 : Strongly Not Taken
01 : Weakly Not Taken
10 : Weakly Taken
11 : Strongly Taken

Senin, 26 September 2011

Kisah sang "rock wanita Indonesia"


Raden Rara Nike Ratnadilla Kusnadi atau Nike Ardilla adalah penyanyi rock Indonesia dan dijuluki sebagai Ratu Rock Indonesia (Queen of Indonesia Rock) atau lady rocker. Raden Nike Ratnadilla atau Nike Ardilla lahir di Bandung tanggal 27 Desember 1975 ,Meninggal pada 19 maret 1995 dari pasangan R. Eddy Kusnadi dan Nining Ningsihrat. Sejak kecil sudah mengawali karir dengan mengikuti berbagai festival menyanyi di Bandung, sampai kemudian bakatnya ditemukan oleh produser musik Deddy Dores. Karir musiknya di dunia hiburan pun dimulai. Tahun 1987, Ibunya memboyong Nike Ardilla ke Himpunan Artis Penyanyi Musisi Indonesia (HAPMI) asuhan Djadjat Paramor. Di sana ia bertemu dengan Deni Kantong, guru menyanyinya, dan Deni Sabrie yang kemudian menjadi manajernya. Deni Kantong dan Sabrie memperkenalkannya pada Deddy Dores. Deddy membuatkan beberapa lagu untuk album pertama Nike yang bertajuk Seberkas Sinar yang terjual lebih dari 500.000 ribu kopi. Sebelumnya Deddy Dores juga sempat menyatukan Nike dengan dua anak didik Deddy dan Deni bernama Deni Angels bersama Cut Irna dan Lady Avisha. Tahun berikutnya Nike merilis album keduanya yang bertajuk Bintang Kehidupan yang mendapatkan sambutan luar biasa, dan terjual dengan angka yang fantastis, yaitu dua juta kopi Selanjutnya Nike merilis album-album yang menjadi best seller. Album rekaman terakhir Nike Ardilla disaat hidupnya yang berjudul Sandiwara Cinta terjual sampai menembus angka tiga juta kopi dan lima juta copy season. Karir Nike Ardilla dalam dunia seni peran juga berjalan mulus seiring dengan dirilisnya album pertama. Nike bermain film Kasmaran bersama almarhum Ryan Hidayat pada tahun 1987 dan terus melahirkan film-film box office sepanjang periode akhir 80-an dan awal 90-an. Nike Ardilla juga sukses dalam beberapa sinetron.

Nike Ardilla terlahir dengan nama Rd.Rara Nike Ratnadilla. Rd. Rara adalah sebuah julukan kebangsawanan untuk seorang putri keturunan ningrat di Jawa Barat, Nike sendiri konon masih keturunan Raja Galuh.

Adapun nama Nike Ratnadilla,berasal dari:

Ni, diambil dari suku kata nama depan sang ibu,yaitu Ningsirat,Ke,diambil dari suku kata bagian depan nama sang ayah, yaitu Kusnadi (Ku dirubah jadi Ke). Rat, diambil dari Ningsirat, Nadi diambil dari Kusnadi, dan ditambahkan lla, jadilah nama Nike Ratnadilla. lebih lengkapnya di Biografi Nike Ardilla

Namun walaupun ia telah tiada namanya tetap terkenal sebagai legend atau icon artis remaja yang sangat talented dan mempunyai sukses kepopuleran dengan sangat meroket. lagu-lagunya yang sempat mengisi telinga rakyat indonesia diantaranya ; Bintang Kehidupan, Seberkas Sinar, Sandiwara Cinta, dll.