1. 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 :
1. 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.
1. 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.
1. 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.
1. 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. 2. Arsitektur
RISC
A.
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.
1. 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.
1. 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.
1. 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.
1. 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.
1. 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).
1. 3. Arsitektur
CISC
A.
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.
1. 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
1. 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.
1. 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.
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
1. 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.
1. 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