A. PENGERTIAN 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.
0 komentar:
Posting Komentar