Evolusi Arsitektur Komputer
Arsitektur komputer
dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni
mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat
menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan
target biayanya. Dalam bidang teknik komputer, arsitektur komputer adalah
konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer.
Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional
dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan
sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari
masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU
akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori
cache, RAM, ROM, cakram keras, dll).
Di antara demikian banyak pemahaman tentang
arsitektur, arsitektur dikenal juga sebagai suatu tradisi yang berkembang. Dari
waktu ke waktu wajah arsitektur selalu mengalami perubahan. Hal-hal yang
mempengaruhi perkembangan dan pengembangan arsitektur tidak hanya berupa
keadaan eksternal, tetapi juga keadaan internal. Disini kita membahas mengenai
evolusi arsitektur pada komputer. Arsitektur dari komputer sendiri merupakan
suatu susunan atau rancangan dari komputer tersebut sehingga membentuk suatu
kesatuan yang dinamakan komputer. Komputer sendiri berevolusi dengan cepat
mulai dari generasi pertama hingga sekarang. Evolusi sendiri didasarkan pada
fungsi atau kegunaanya dalam kehidupan. Evolusi pada komputer sendiri ada
karena keinginan atau hal yang dibutuhkan manusia itu sendiri. Sekarang ini
komputer sudah dapat melakaukan perintah yang sulit sekalipun tidak seperti
dulu yang hanya bisa melakukan yang sederhana saja. Itulah yang dinamakan
evolusi arsitektur yaitu perubahan bentuk juga fungsi dan kemampuannya.
EVOLUSI
ARSITEKTUR KOMPUTER
Generasi Pertama : Tabung Vakum (1945 – 1955)
ENIAC (Electronic Numerical Integrator And Computer),
pada tahun 1946 dirancang dan dibuat oleh John Mauchly dan John Presper Eckert
di Universitas Pennsylvania merupakan komputer digital elektronik untuk
kebutuhan umum pertama di dunia. ENIAC dibuat di bawah lembaga Army’s
Ballistics Research Laboratory (BRL). Sebuah badan yang bertanggung jawab dalam
pembuatan jarak dan tabel lintasan peluru kendali senjata baru. Sebelumnya
tugas ini dilakukan oleh kurang lebih 200 personil dengan menggunakan
kalkulator untuk menyelesaikan persamaan matematis peluru kendali yang memakan
waktu lama.
Tahun 1946 komputer dengan stored-program concept
dipublikasikasikan, yang kemudian di kenal dengan Komputer IAS (Computer of
Institute for Advanced Studies). Struktur komputer IAS ini terdiri :
1.
Memori Utama,
untuk menyimpan data maupun instruksi.
2.
Arithmetic Logic
Unit (ALU), untuk mengolah data binner.
3.
Control Unit,
untuk melakukan interpretasi instruksi – instruksi di dalam memori sehingga
adanya eksekusi instruksi tersebut.
4.
I/O, untuk
berinteraksi dengan lingkungan luar
Generasi
Kedua : Transistor (1955 – 1965)
Sejak pesatnya teknologi semikonduktor hingga
menghasilkan komponen transistor membawa perubahan besar pada dunia komputer.
Komputer era ini tidak lagi menggunakan tabung vakum yang memerlukan daya
operasional besar, tabung – tabung itu digantikan komponen kecil bernama
transistor. Konsumsi daya listrik amat kecil dan bentuknyapun relatif kecil.
Transistor ditemukan di Bell Labs pada tahun 1947 dan
tahun 1950 telah meluncurkan revolusi elektronika modern.
Generasi Ketiga : Integrated Circuits (1965 – 1980)
Pada tahun 1958 terjadi revolusi elektronika kembali,
yaitu ditemukannya integrated circuit (IC) yang merupakan penggabungan komponen
– komponen elektronika dalam suatu paket. Dengan ditemukan IC ini semakin mempercepat
proses komputer, kapasitas memori makin besar dan bentuknya semakin kecil
Generasi Keempat : Very Large Scale Integration (1980
- ????)
Era keempat perkembangan genarasi komputer ditandai
adanya VLSI. Paket VLSI dapat menampung 10.000 komponen lebih per kepingnya
dengan kecepatan operasi mencapai 100juta operasi per detiknya. Masa – masa ini
diawali peluncuran mikroprosesor Intel seri 4004. Mikroprosesor 4004 dapat
menambahkan dua bilangan 4 bit dan hanya dapat mengalikan dengan cara pengulangan
penambahan.
Memang masih primitif, namun mikroprosesor ini tonggak
perkembangan mikroprosesor – mikroprosesor canggih saat ini. Tidak ada ukuran
pasti dalam melihat mikroprosesor, namun ukuran terbaik adalah lebar bus data :
jumlah bit data yang dapat dikirim – diterima mikroprosesor. Ukuran lain adalah
jumlah bit dalam register.
Tahun 1972 diperkenalkan dengan mikroprosesor 8008
yang merupakan mikroprosesor 8 bit. Mikroprosesor ini lebih kompleks
instruksinya tetapi lebih cepat prosesnya dari pendahulunya.
KLASIFIKASI ARSITEKTUR KOMPUTER
1.
Arsitektur Von
Neumann
Arsitektur von Neumann (atau Mesin Von Neumann) adalah
arsitektur yang diciptakan oleh John von Neumann (1903-1957). Arsitektur ini
digunakan oleh hampir semua komputer saat ini. Arsitektur Von Neumann
menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis
(ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif
dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, “bus”.
Pada perkembangan komputer modern, setiap prosesor
terdiri dari atas :
Arithmetic and Logic Unit (ALU)
Arithmatic and Logic Unit atau Unit Aritmetika dan
Logika berfungsi untuk melakukan semua perhitungan aritmatika (matematika) dan
logika yang terjadi sesuai dengan instruksi program. ALU menjalankan operasi
penambahan, pengurangan, dan
operasi-operasi sederhana lainnya pada input-inputnya dan memberikan hasilnya
pada register output.
Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi,
yang digunakan untuk menyimpan data dan
instruksi yang sedang diproses,
sementara data dan instruksi lainnya yang menunggugiliran untukdiproses
masihdisimpan yang menunggugiliran untukdiproses masihdisimpan di dalam memori
utama. Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah
maksimum tertentu tergantung pada ukurannya.
Control Unit
Control Unit atau Unit Kontrol berfungsi untuk
mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer. Unit
kendali akan mengatur kapan alat input
menerima data dan kapan data diolah serta kapan ditampilkan pada alat
output. Unit ini juga mengartikan instruksi-instruksi dari program. Unit ini
juga mengartikan instruksi-instruksi dari program komputer, membawa data dari
alat input ke memori utama dan mengambil data dari memori utama untuk diolah.
Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan
mengirim instruksi tersebut ke ALU.
Hasil dari pengolahan data dibawa oleh
unit kendali ke memori utama lagi untuk
disimpan, dan pada saatnya akan disajikan ke alat output.
Bus
Bus adalah sekelompok lintasan sinyal yang digunakan
untuk menggerakkan bit-bit informasi dari satu tempat ke tempat lain,
dikelompokkan menurut fungsinya Standar bus dari suatu sistem komputer adalah
bus alamat (address bus), bus data (data bus) dan bus kontrol (control bus).
Komputer menggunakan suatu bus atau saluran bus sebagaimana kendaraan bus yang
mengangkut penumpang dari satu tempat ke tempat lain, maka bus komputer
mengangkut data. Bus komputer menghubungkan CPU pada RAM dan periferal. Semua
komputer menggunakan saluran busnya untuk maksud yang sama.
1.
Arsitektur RISC
RICS singkatan dari Reduced Instruction Set Computer.
Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi
untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.
Reduced Instruction Set Computing (RISC) atau “Komputasi set instruksi yang
disederhanakan” pertama kali digagas oleh John Cocke, peneliti dari IBM di
Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20%
instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan
kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT
pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David
Patterson,pengajar pada University of California di Berkely.
Selain digunakan dalam komputer vektor, desain ini
juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa
mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari
DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari
International Business Machine. Selain itu, RISC juga umum dipakai pada
Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel
XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari
Hewlett-Packard.
Karakteristik RISC
- Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC
- Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control
- Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register.
- Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word.
Karakteristik-Karakteristik Eksekusi Instruksi
Salah satu evolusi komputer yang besar adalah evolusi
bahasa pemprograman. Bahasa pemprograman memungkinkan programmer dapat
mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan
mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah
lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan
oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan
ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas
kompiler.
Untuk mengurangi kesenjangan ini para perancang
menjawabnya dengan arsitektur. Fitur-fiturnya meliputi set-set instruksi yang
banyak, lusinan mode pengalamatan, dan statemen –statemen HLL yang
diimplementasikan pada perangkat keras.
Operasi
Beberapa penelitian telah menganalisis tingkah laku
program HLL (High Level Language). Assignment Statement sangat menonjol yang
menyatakan bahwa perpindahan sederhana merupakan satu hal yang penting. Hasil
penelitian ini merupakan hal yang penting bagi perancang set instruksi mesin
yang mengindikasikan jenis instruksi mana yang sering terjadi karena harus
didukung optimal.
Operand
Penelitian Paterson telah memperhatikan [PATT82a]
frekuensi dinamik terjadinya kelaskelas variabel. Hasil yang konsisten diantara
program pascal dan C menunjukkan mayoritas referensi menunjuk ke variable
scalar. Penelitian ini telah menguji tingkah laku dinamik program HLL yang
tidak tergantung pada arsitektur tertentu. Penelitian [LUND77] menguji
instruksi DEC-10 dan secara dinamik menemukan setiap instruksi rata-rata
mereferensi 0,5 operand dalam memori dan rata-rata mereferensi 1,4 register.
Tentu saja angka ini tergantung pada arsitektur dan kompiler namun sudah cukup
menjelaskan frekuensipengaksesan operand sehingga menyatakan pentingnya sebuah
arsitektur.
Procedure Calls
Dalam HLL procedure call dan return merupakan aspek
penting karena merupakan operasi yang membutuhkan banyak waktu dalam program
yang dikompalasi sehingga banyak berguna untuk memperhatikan cara implementasi
opperasi ini secara efisien. Adapun aspeknya yang penting adalah jumlah
parameter dan variabel yang berkaitan dengan prosedur dan kedalaman pensarangan
(nesting).
- Arsitektur CISC
Complex instruction-set computing atau Complex
Instruction-Set Computer (CISC) “Kumpulan instruksi komputasi kompleks”) adalah
sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan
beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi
aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam
sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan
RISC.
Sebelum proses RISC didesain untuk pertama kalinya,
banyak arsitek komputer mencoba menjembatani celah semantik”, yaitu bagaimana
cara untuk membuat set-set instruksi untuk mempermudah pemrograman level tinggi
dengan menyediakan instruksi “level tinggi” seperti pemanggilan procedure,
proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data
dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik
CISC yg “sarat informasi” ini memberikan keuntungan di mana ukuran
program-program yang dihasilkan akan menjadi relatif lebih kecil, dan
penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan
komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.
Memang setelah itu banyak desain yang memberikan hasil
yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan
pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah
selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang
baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware),
akan berada pada situasi di mana akan lebih mudah untuk meningkatkan
performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi
pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang
sederhana.
Istilah RISC dan CISC saat ini kurang dikenal, setelah
melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan
CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel,
AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh
prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat
digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC,
tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor
modern x86 juga telah menyandikan dan membagi lebih banyak lagi
instruksi-instruksi kompleks menjadi beberapa “operasi-mikro” internal yang
lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara
paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih
besar.
Karakteristik CISC
- Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
- Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan.
- Arsitektur Harvard
Arsitektur Havard menggunakan memori terpisah untuk
program dan data dengan alamat dan bus data yang berdiri sendiri. Karena dua
perbedaan aliran data dan alamat, maka tidak diperlukan
multiplexing alamat dan bus data. Arsitektur ini tidak hanya didukung
dengan bus paralel untuk alamat dan data, tetapi juga menyediakanorganisasiinternal
yang berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika
dan data, tetapi juga menyediakan organisasi internal yang berbeda
sedemikian rupa instruksi dapaLebih lanjut lagi, bus data bisa saja memiliki
ukuran yang berbeda dari bus alamat. Hal ini memungkinkan pengoptimalan
bus data dan bus alamat dalam pengeksekusian instruksi yang cepat.t diambil dan
dikodekan ketika berbagai data sedang diambil dan dioperasikan. Sebagai contoh,
mikrokontroler Intel keluarga MCS-51 menggunakan arsitektur Havard karena ada
perbedaan kapasitas memori untuk program dan data, dan bus terpisah (internal)
untuk alamat dan data. Begitu juga dengan keluarga PIC dari Microchip
yang menggunakan arsitektur Havard.
- Arsitektur Blue Gene
Blue Gene adalah sebuah arsitektur komputer yang
dirancang untuk menciptakan beberapa superkomputer generasi berikut, yang
dirancang untuk mencapai kecepatan operasi petaflop (1 peta = 10 pangkat 15),
dan pada 2005 telah mencapai kecepatan lebih dari 100 teraflop (1 tera = 10
pangkat 12). Blue Gene merupakan proyek antara Departemen Energi Amerika
Serikat (yang membiayai projek ini), industri (terutama IBM), dan kalangan
akademi. Ada lima projek Blue Gene dalam pengembangan saat ini, di antaranya
adalah Blue Gene/L, Blue Gene/C, dan Blue Gene/P.
Komputer pertama dalam seri Blue Gene. Blue Gene/L
dikembangkan melalui sebuah “partnership” dengan Lawrence Livermore National
Laboratory menghabiskan biaya AS$100 juta dan direncanakan dapat mencapai
kecepatan ratusan TFLOPS, dengan kecepatan puncak teoritis 360 TFLOPS. Ini
hampir sepuluh kali lebih cepat dari Earth Simulator, superkomputer tercepat di
dunia sebelum Blue Gene. Pada Juni 2004, dua prototipe Blue Gene/L masuk dalam
peringkat 500 besar superkomputer berada dalam posisi ke-4 dan ke-8.
Pada 29 September 2004 IBM mengumumkan bahwa sebuah
prototipe Blue Gene/L di IBM Rochester (Minnesota) telah menyusul Earth
Simulator NEC sebagai komputer tercepat di dunia, dengan kecepatan 36,01
TFLOPS, mengalahkan Earth Simulator yang memiliki kecepatan 35,86 TFLOPS. Mesin
ini kemudian mencapai kecepatan 70,72.
Pada 24 Maret 2005, Departemen Energi AS mengumumkan
bahwa Blue Gene/L memecahkan rekor komputer tercepat mencapai 135,5 TFLOPS. Hal
ini dimungkinkan karena menambah jumlah rak menjadi 32 dengan setiap rak berisi
1.024 node komputasi. Ini masih merupakan setengah dari konfigurasi final yang
direncanakan mencapai 65.536 node.
Pada 27 Oktober, 2005, Lawrence Livermore National
Laboratory dan IBM mengumumkan bahwa Blue Gene/L sekali lagi telah menciptakan
rekor dengan mengalahkan rekornya sendiri setelah mencapai kecepatan 280.6
TFLOPS
Sumber :