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.
B. 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
registeroutput.
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.
2. Arsitektur
RISC
Pengertian 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.
RISC, yang jika diterjemahkan berarti “Komputasi Kumpulan Instruksi yang
Disederhanakan”, merupakan sebuah arsitektur komputer atau arsitektur komputasi
modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana.
Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer
vektor.
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).
3. Arsitektur
CISC
Pengertian 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
4. 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.
5. 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.
C. MODEL-MODEL KOMPUTASI ARSITEKTUR KOMPUTER
1. SISD
Yang merupakan singkatan dari Single Instruction, Single Data adalah
satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada
model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa
dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya
merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh
komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1
dan PDP 1.
2. SIMD
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD
menggunakan banyak processor dengan instruksi yang sama, namun setiap processor
mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada
deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor.
Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun
data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan /
urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21
sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa
contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray
X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU
3. MISD
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD
menggunakan banyak processor dengan setiap processor menggunakan instruksi yang
berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model
SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model
SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer
pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan
1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di
setiap processor. Sampai saat ini belum ada komputer yang menggunakan model
MISD.
4. MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD
menggunakan banyak processor dengan setiap processor memiliki instruksi yang
berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan
model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang
menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32,
AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi
paralel, bisa digambarkan pada gambar di bawah ini:
Gambar 1 : Penyelesaian Sebuah Masalah pada Komputasi Tunggal
Gambar 2: Penyelesaian Sebuah Masalah pada Komputasi Paralel
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja
komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data
yang banyak daripada komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa
dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena
komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita
harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang
ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan
jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi
tunggal.