Pages

KLASIFIKASI PADA ARSITEKTUR KOMPUTER PARAREL DAN MACAM GANGGUAN PADA SISTEM DISTRIBUSI

Sabtu, 23 Desember 2017
Arsitektur Paralel

Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:

1. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprogramming.

2. Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa.

3. Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi.

4. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel. Telah banyak usaha untuk mengklasifikasikan perancangan arsitektur komputer paralel. Namun tidak ada satupun yang mampu memisahkan semua jenis perancangan menjadi kelompok-kelompok yang berbeda.

Skema klasifikasi yang paling umum digunakan adalah taksonomi Flynn. Kita akan membahas pula dua skema lainnya yaitu: Shore dan Feng.

Klasifikasi Flynn

Michael J. Flynn memperkenalkan suatu skema untuk mengklasifikasikan arsitektur suatu komputer dengan melihat bagaimana mesinnya menghubungkan instruksi-instruksinya ke data yang sedang diproses. Berikut klasifikasinya:

1. SISD: single instruction stream, single data stream. Merupakan suatu komputer serial konvesional dimana instruksi-instruksi dijalankan satu per satu dan sebuah instruksi tunggal berhubungan dengan paling banyak satu operasi data.

2. SIMD: single instruction stream, multiple data stream. Dalam sebuah komputer SIMD, suatu instruksi tunggal mengawali sejumlah besar operasi.

3. MISD: multiple instruction stream, single data stream. Kelas MISD melaksanakan beberapa operasi instruksi secara bersamaan pada sebuah item data tunggal.

4. MIMD: multiple instruction stream, multiple data stream. Sebuah komputer MIMD dicirikan oleh eksekusi lebih dari satu instruksi pada saat yang bersamaan, dimana setiap instruksi beroperasi pada beberapa aliran data.

Klasifikasi Shore

J.E. Shore membuat klasifikasi arsitektur komputer yang didasarkan pada organisasi bagian-bagian penyusun suatu komputer dan membedakannya menjadi enam jenis mesin.

1. Mesin I. Pada komputer ini, satu instruksi dikerjakan pada suatu waktu dan masing-masing beroperasi pada satu word dalam suatu waktu.

2. Mesin II. Komputer ini juga menjalankan satu instruksi pada suatu waktu, namun ia beroperasi pada sebuah irisan dari suatu bit dalam suatu waktu, bukannya semua bit dalam suatu word data.

3. Mesin III. Sebuah komputer dalam kelas ini memiliki dua unit pengolahan yang dapat beroperasi pada data, satu word dalarn suatu waktu atau suatu irisan bit dalam suatu waktu.

4. Mesin IV. Komputer jenis ini dicirikan oleh sejumlah elemen (unit pengolahan dan unit memori), semua di bawah kendali sebuah unit kendali logika (CLU) tunggal.

5. Mesin V. Mesin V dihasilkan dengan mengubah Mesin IV sedemikian sehingga elemen-elemen pengolahan dapat berkomunikasi dengán tetangga terdekat mereka.

6. Mesin VI. Komputer ini, disebut sebagai array logika-dalam-memori, merupakan sebuah mesin dengan logika prosesor yang tersebar dalam memori.

Klasifikasi Feng

Tse-yum Feng (1972) menyarankan pengklasifikasian arsitektur komputer atas tingkatan paralelisme mereka. Tingkatan paralelisme (degree of parallelism) diwakili oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah panjang irisan bit.
Pasangan ini diklasifikasikan menjadi empat kelompok sebagai berikut:

1. Jika n = 1 dan m = I maka tidak terjadi paralelisme. Word dan bit diproses satu per satuan waktu. Hal ini disebut sebagai word serial/bit serial(WSBS).

2. Jika n> 1 dan m = 1 maka paralelisme itu disebut sebagai word paralel/bit serial (WPBS). Dalam hal ini, semua n irisan bit diproses satu per satuan waktu.

3. Paralelisme word serial/bit paralel (WSBP) terjadi jika n = 1 dan m> 1. Dengan demikian sejumlah n word diproses satu per satuan waktu tetapi sejumlah m bit dan masing-masing word diproses secara paralel.

4. Kategori terakhir disebut sebagai word paralel/bit paralel (WPBP) dan merupakan suatu paralelisme dimana n > 1 dan m > 1. Dalam hal ini, sejumlah nm bit diproses secara bersamaan.

Komputer sekuensial berdasarkan klasifikasi Flynn adalah kelompok komputer SISD  hanya mempunyai satu unit pengendali untuk menentukan instruksi yang akan dieksekusi. Pada setiap satuan waktu hanya satu instruksi yang dapat dieksekusi, dimana kecepatan akses ke memori dan kecepatan piranti masukan dan keluaran dapat memperlambat proses komputasi.

Beberapa metoda dibangun untuk menghindari masalah tersebut, seperti penggunaan cache memory. Namun komputer sekuensial ini tetap mengalami keterbatasan jika menangani masalah yang memerlukan kecepatan tinggi. Hal-hal tersebut di atas pada akhirnya melatarbelakangi lahirnya sistem komputer paralel.

Berdasarkan klasifikasi Flynn, komputer paralel termasuk kelompok SIMD atau MIMD. Komputer paralel mempunyai lebih dari satu unit pemroses dalam sebuah komputer yang sama.

Hal yang membuat suatu komputer dengan banyak prosesor disebut sebagai komputer paralel adalah bahwa seluruh prosesor tersebut dapat beroperasi secara simultan. Jika tiap-tiap prosesor dapat mengerjakan satu juta operasi tiap detik, maka sepuluh prosesor dapat mengerjakan sepuluh juta operasi tiap detik, seratus prosesor akan dapat mengerjakan seratus juta operasi tiap detiknya[Les93].

Pada dasarnya aktivitas sebuah prosesor pada komputer paralel adalah sama dengan aktivitas sebuah prosesor pada komputer sekuensial. Tiap prosesor membaca (read) data dari memori, memprosesnya dan menuliskannya (write) kembali ke memori. Aktivitas komputasi ini dikerjakan oleh seluruh prosesor secara paralel.

Macam-macam Gangguan pada sistem distribusi

1. Gangguan beban lebih

Gangguan ini sebenarnya bukan gangguan murni, tetapi bila dibiarkan terus menerus berlangsung dapat merusak peralatan listrik yang dialiri oleh arus tersebut. Karena arus yang mengalir melebihi dari kapasitas peralatan listrik dan pengaman yang terpasang melebihi kapasitas peralatan, sehingga saat beban melebihi pengaman tidak trip. Misal : kapasitas penghantar 300 A dan pengaman di setting 350 A tetapi beban mencapai 320 A, sehingga pengaman tidak trip dan penghantar akan terbakar.

2. Gangguan hubung singkat

Gangguan hubung singkat, dapat terjadi antar fasa (3 fasa atau 2 fasa) atau 1 fasa ketanah dan sifatnya bisa temporer atau permanen.

Gangguan permanen antara lain :

Gangguan hubung singkat, bisa terjadi pada kabel atau pada belitan transformator tenaga yang disebabkan karena arus gangguan hubung singkat melebihi kapasitasnya, sehingga penghantar menjadi panas yang dapat mempengaruhi isolasi atau minyak transformator, sehingga isolasi tembus. Pada generator yang disebabkan karena adanya gangguan hubung singkat atau pembebanan yang melebihi kapasitas. Sehingga rotor memasok arus dari eksitasi berlebih yang dapat menimbulkan pemanasan yang dapat merusak isolasi sehingga isolasi tembus. Disini pada titik gangguan memang terjadi kerusakan yang permanen. Peralatan yang terganggu tersebut, baru bisa dioperasikan kembali setelah bagian yang rusak diperbaiki atau diganti.

Gangguan temporer, antara lain :

Flashover karena sambaran petir (penghantar terkena sambaran petir), flashover dengan pohon, penghantar tertiup angin yang dapat menimbulkan gangguan antar fasa atau penghantar fasa menyentuh pohon yang dapat menimbulkan gangguan 1 fasa ketanah. Gangguan ini yang tembus (breakdown) adalah isolasi udaranya, oleh karena itu tidak ada kerusakan yang permanen. Setelah arus gangguannya terputus, misalnya karena terbukanya circuit breaker oleh relai pengamannya, peralatan atau saluran yang terganggu tersebut siap dioperasikan kembali.

3. Gangguan Tegangan Lebih
Gangguan tegangan lebih yang diakibatkan adanya kelainan pada sistem, dimana tegangan lebih dibedakan atas :

- Tegangan lebih dengan power frekuensi, misal : pembangkit kehilangan beban yang diakibatkan adanya gangguan pada sisi jaringan, sehingga over speed pada generator, tegangan lebih ini dapat juga terjadi adanya gangguan pada pengatur tegangan secara otomatis (Automatic Voltage Regulator).

- Tegangan lebih transient karena adanya surja petir (lightning surge) yang mengenai peralatan listrik atau saat pemutus (PMT) yang menimbulkan kenaikan tegangan yang disebut surja hubung (switching surge).

4. Gangguan Ketakstabilan (Instability)

Gangguan hubung singkat atau lepasnya pembangkit, dapat menimbulkan ayunan daya (power swing) atau menyebabkan unit-unit pembangkit lepas sinkron, ayunan dapat menyebabkan salah kerja relai. Lepas sinkron dapat menyebabkan berkurangnya pembangkit, karena tripnya pembangkit yang besar dari spinning reserve, maka frekuensi akan terus turun atau terpisahnya sistem yang selanjutnya dapat menyebabkan gangguan yang lebih luas bahkan sistem terjadi keruntuhan (collapse).

Sumber  "MARSUDI, DJITENG.,” Operasi Sistem Tenaga Listrik “, Yogyakarta, Graha Ilmu, 2006"
Read more ...

Prinsip Pipelining Secara Umum

Sabtu, 23 Desember 2017
PIPELINING

Telah lama diketahui bahwa membaca instruksi dari memori merupakan hambatan utama dalam hal kecepatan untuk menjalankan suatu instruksi. Untuk mengatasi masalah ini, komputer-komputer generasi IBM Stretch (1959) telah memiliki kemampuan untuk mengambil terlebih dahulu instruksi-instruksi dari memori sehingga instruksi-instruksi tersebut akan selalu siap ketika mereka dibutuhkan. Instruksi-instruksi ini disimpan dalam sekumpulan register yang disebut penyangga prabaca. Dengan cara ini, ketika sebuah instruksi dibutuhkan, instruksi tersebut biasanya dapat segera diambil dari penyangga prabaca daripada menunggu sebuah memori membaca hingga selesai. Oleh karena itu, sistem prabaca membagi pelaksanaan instruksi menjadi bagian: membaca dan pelaksanaan aktual. Konsep pipeline menjelaskan strategi lebih jauh. Pelaksanaan instruksi sering dibagi ke dalam banyak bagian dan bukan hanya ke dalam dua bagian saja, di mana masing-masing bagian ditangani oleh seperangkat hardware khusus, dan keseluruhan bagian tersebut dapat beroperasi secara paralel.

Teknologi pipeline yang digunakan pada komputer bertujuan untuk meningkatkan kinerja dari komputer. Atau secara sederhana, pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara kontiniu pada unit pemrosesan. Dengan cara ini, maka unit pemroses selalu bekerja.

Cara kerja masing-masing unit pada pipeline

1 mengambil instruksi dari memori dan menempatkan instruksi tersebut dalam sebuah penyangga sampai instruksi itu dibutuhkan. 
2 mendekodekan instruksi tersebut, menentukan jenisnya dan operand apa yang dibutuhkan instruksi tersebut. 
3 melokasi dan mengambil operand-operand, baik itu dari register-register ataupun dari memori. 
4 sebenarnya melaksanakan pekerjaan menjalankan instruksi tersebut, terutama dengan menjalankan operand-operand melalui jalur data. 
5 menulis hasilnya kembali ke register yang sesuai.

Kita dapat melihat bagaimana pipeline tersebut beroperasi sebagai suatu fungsi waktu. Selama siklus jam (waktu) 1, Sl sedang menangani instruksi 1, dengan mengambilnya dari memori. Selama siklus 2, tahap S2 mendekodekan instruksi 1, sedangkan tahap Sl mengambil instruksi 2. Selama siklus 3, tahap S3 mengambil operand-operand dari instruksi 1, tahap S2 mendekodekan instruksi 2, dan tahap Sl mengambil instruksi ketiga. Selama siklus 4, tahap S4 menjalankan instruksi 1, S3 mengambil operand-operand untuk instruksi 2, S2 mendekodekan instruksi 3, dan Sl mengambil instruksi 4. Terakhir, selama siklus 5, S5 menulis kembali hasil instruksi 1, sementara tahap-tahap lainnya menangani instruksi-instruksi berikutnya.

Mari kita lihat sebuah contoh untuk lebih memperjelas konsep pipeline. Bayangkan sebuah pabrik kue di mana proses pembakaran dan pengemasan kue-kue untuk pengiriman dilakukan secara terpisah. Misalkan bahwa departemen pengiriman memiliki sebuah ban berjalan pembawa panjang dengan lima pekerja (satuansatuan pemrosesan) yang berdiri berjejer sepanjang ban berjalan tersebut. Setiap 10 detik (siklus jam), pekerja 1 menempatkan sebuah kotak kue kosong pada ban tersebut. Kotak tersebut dibawa ke pekerja 2, yang memasukkan sebuah kue ke dalam kotak itu. Sesaat kemudian, kotak tersebut sampai di pos kerja pekerja 3, yang kemudian menutup dan menyegel kotak tersebut. Selanjutnya kotak tersebut diteruskan ke pekerja 4, yang memasang sebuah label pada kotak kue itu. Terakhir, pekerja 5 memindahkan kotak tersebut dari ban dan memasukkannya dalam sebuah kontainer besar untuk kemudian dikirim ke beberapa supermarket. Pada dasarnya, cara kerja seperti ini juga berlaku pada pipelining komputer: Setiap instruksi (kue) melalui beberapa langkah pemrosesansebelum mencapai hasil sempurna pada akhir proses.

Kembali ke pipeline, misalkan bahwa masing-masing tahapan siklus waktu mesin ini adalah 2 nsec. Maka sebuah instruksi membutuhkan siklus waktu 10 nsec untuk menempuh lima tahap pipeline. Sepintas, dengan dibutuhkannya waktu 10 nsec untuk sebuah instruksi, kelihatan bahwa mesin tersebut dapat menjalankan 100 MIPS. Namun sebenarnya mesin tersebut dapat menjalankan instruksi yang lebih besar dari jumlah ini. Pada setiap tahap siklus waktu (2 nsec), satu instruksi baru diselesaikan, sehingga jumlah pemrosesan instruksi yang sebenarnya adalah 500 MIPS, bukan 100 MIPS.

Pipelining memungkinkan terjadinya perimbangan antara latensi (berapa lama waktu yang dibutuhkan untuk menjalankan sebuah instruksi), dan lebar pita processor (berapa banyak MIPS yang dimiliki CPU). Dengan siklus waktu Tnsec, dan tahap-tahap n dalam pipeline, maka latensinya adalah nT nsec dan lebar pitanya adalah 1000/T MIPS (logikanya, karena kita sedang mengukur jumlah waktu dalam nanodetik, maka seharusnya kita mengukur lebar pita CPU dalam BIPS atau GIPS, tapi hal ini tidak dilakukan, jadi kita tidak memilih salah satu dari keduanya).

Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.

A. Pipeline Pada Microprocessor

Teknik pipeline yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model microprocessor yang tidak menggunakan arsitektur pipeline dengan microprocessor yang menerapkan teknik ini.

Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.

Misalnya sebuah microprocessor menyelesaikan sebuah instruksi dalam 4 langkah. Ketika instruksi pertama masuk ke langkah 2, maka instruksi berikutnya diambil untuk diproses pada langkah 1 instruksi tersebut. Begitu seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.

Dengan penerapan pipeline ini pada microprocessor akan didapatkan peningkatan dalam unjuk kerja microprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan microprocessor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap.

Teknik pipeline ini menyebabkan ada sejumlah hal yang harus diperhatikan sehingga ketika diterapkan dapat berjalan dengan baik. Tiga kesulitan yang sering dihadapi ketika menggunakan teknik pipeline ini adalah : Terjadinya penggunaan resource yang bersamaan, Ketergantungan terhadap data, Pengaturan Jump ke suatu lokasi memori.

Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar. Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya. Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

Dengan menerapkan teknik pipeline ini, akan ditemukan sejumlah perhatian yang khusus terhadap beberapa hal di atas, tetapi tetap akan menghasilkan peningkatan yang berarti dalam kinerja microprocessor. Ada kasus tertentu yang memang sangat tepat bila memanfaatkan pipeline ini, dan juga ada kasus lain yang mungkin tidak tepat bila menggunakan teknologi pipeline.

B. Arsitektur Superskalar

Derajat konkurensi yang lebih tinggi dapat dicapai jika banyak pipeline instruksi diterapkan pada prosesor. Hal ini berarti digunakannya banyak unit fungsional, menciptakan jalur paralel dimana berbagai instruksi yang berbeda dapat dieksekusi secara paralel. Dengan pengaturan tersebut, maka dimungkinkan untuk memulai beberapa instruksi pada tiap siklus clock. Mode operasi ini disebut eksekusi superscalar. Jika mode ini dapat bertahan dalam waktu yang lama selama eksekusi program, maka instruksi-instruksi yang dilakukan memory dapat dipercepat. Tentu saja, eksekusi paralel harus mempertahankan kebenaran logika program, sehingga hasil yang diperoleh harus sama dengan hasil dari eksekusi serial instruksi program. Banyak dari prosesor performa tinggi saat ini didesain untuk bekerja dengan cara tersebut.

Di sini suatu satuan membaca instruksi tunggal mengambil pasangan-pasangan dari instruksi-instruksi secara bersama dan memasukkan masing-masing pasangan ke dalam pipelinenya sendiri, lengkap dengan ALUnya sendiri bagi operasi paralel. Agar dapat beroperasi secara paralel, kedua instruksi tersebut tidak boleh berebutan dalam menggunakan sumber daya (contoh, register-register), dan salah satu instruksi tidak boleh bergantung pada hasil dari instruksi yang lain. Seperti halnya dengan sebuah pipeline tunggal, begitu pula kompiler harus menjamin situasi ini tetap terjaga (yaitu, hardware tidak memeriksa dan memberikan hasil-hasil yang salah jika instruksi-instruksi tidak sebanding), atau konflik-konflik dideteksi dan dihilangkan selama pelaksanaan dengan menggunakan hardware tambahan.

Meskipun pipeline-pipeline, tunggal atau ganda, sebagian besar digunakan pada mesin-mesin RISC (komputer 386 dan generasi-generasi pendahulunya tidak memiliki pipeline satupun), Intel 486 adalah yang pertama kali mulai memperkenalkan pipeline-pipeline ke dalam CPU-CPUnya. Intel 486 memiliki satu pipeline dan Pentium memiliki dua pipeline lima tahap, meskipun pembagian tugas sebenarnya antara tahap 2 dan tahap 3 (pada gambar di atas yang disebut decode1 dan decode2) sedikit berbeda dibanding dalam contoh kita.

Pipeline utama, yang disebut pipeline u, dapat menjalankan sebuah instruksi Pentium yang selalu berubah-ubah. Pipeline kedua, yang disebut pipeline v, dapat menjalankan hanya instruksi-instruksi integer sederhana (dan juga satu instruksi titik mengambang sederhanaFXCH). Peraturan-peraturan yang rumit menentukan apakah sepasang instruksi sebanding sehingga mereka dapat dijalankan secara paralel. Jika instruksi-instruksi yang berpasangan tidak cukup sederhana atau tidak sebanding, hanya pasangan pertama yang dijalankan (dalam pipeline u). Pasangan kedua kemudian disimpan dan dipasangkan dengan instruksi berikutnya. Instruksi-instruksi selalu dijalankan secara berurutan. Jadi kompiler-kompiler khusus Pentium yang memproduksi pasangan-pasangan instruksi yang sebanding dapat memproduksi program-program yang beroperasi lebih cepat dibanding kampiler-kompiler lama.

Beralih ke empat pipeline dapat dilakukan, namun bila hal ini dilakukan akan menduplikat terlalu banyak hardware. Bahkan, suatu pendekatan berbeda digunakan pada highend CPU. Ide dasarnya adalah untuk memiliki hanya satu pipeline tunggal namun pipeline tersebut memiliki berbagai macam satuan fungsi, seperti ditunjukkan pada Gambar 7.5. Contoh, Pentium III memiliki suatu struktur yang mirip dengan gambar. Istilah arsitektur superskalar ditetapkan bagi pendekatan ini pada 1987 (Agerwala dan Cocke, 1987). Namun sebenarnya pendekatan ini telah digunakan pada komputer CDC 6600 30 tahun sebelumnya. Komputer 6600 ini mengambil sebuah instruksi setiap 100 nsec dan membawa instruksi tersebut ke salah satu dari 10 satuan fungsional untuk dijalankan secara paralel sementara CPU beroperasi untuk mendapatkan instruksi baru.

Yang tersirat dalam ide mengenai prosesor superskalar adalah bahwa tahap S3 dapat mengeluarkan instruksi-instruksi lebih cepat daripada tahap S4 dalam menjalankan instruksi-instruksi tersebut. Jika tahap S3 mengeluarkan sebuah instruksi setiap 10 nsec dan seluruh satuan fungsional dapat melaksanakan tugas mereka dalam 10 nsec, maka tidak lebih dari satu satuan yang akan benar-benar sibuk, terlepas dari ide keseluruhan. Dalam kenyataanya, sebagian besar satuan Fungsional dalam tahap S4 membutuhkan kira-kira lebih dari satu siklus detak untuk menjalankan instruksi-instruksi, dan tentu saja satuan-satuan tersebut adalah satuan-satuan yang dapat mengakses memori atau mengoperasikan aritmetik. Seperti dapat dilihat dari gambar tersebut, ada kemungkinan untuk memiliki berbagai macam ALU pada tahap S4. Permintaan untuk komputer-komputer dengan kecepatan yang lebih tinggi tampaknya sulit dipenuhi. Para astronom ingin mensimulasi apa yang terjadi pada mikrodetik pertama setelah terjadi big bang (dentuman besar), para ahli ekonomi ingin memodelkan perekonomian dunia, dan para remaja ingin memainkan game-game multimedia interaktif 3D melalui internet dengan teman-teman virtualnya. Meskipun CPU-CPU semakin cepat, pada akhirnya mereka akan menemui masalah berkaitan dengan kecepatan cahaya, yang mungkin tetap pada 20 cm/nanodetik dalam kabel tembaga atau serat optik, terlepas dari seberapa pintarnya para insinyur Intel. Demikian pula halnya dengan chip-chip yang berkecepatan tinggi, akan menghasilkan lebih banyak panas; yang penyebaran panas itu sendiri justru merupakan suatu masalah.

Paralelisme instruk silevel sedikit membantu, tapi pipeline dan operasi superskalar jarang memperoleh hasil lebih dari suatu faktor lima atau sepuluh. Untuk memperoleh hasil 50, 100, atau lebih, satus-atunya cara adalah mendesain komputer dengan berbagai macam CPU, untuk itu sekarang kita akan melihat bagaimana sebagian dari CPU-CPU ini diorganisasikan.



Pipeline by Hartanto on Scribd

Sumber
Read more ...