Anda di halaman 1dari 15

1.

Format data dalam komputer


a. Berapa jenis / macam data dalam sistem multimedia? Jelaskan perbedaan dan
persamaannya, jika ada, antara jenis yang satu dengan yang lain.
Format digital dari multimedia. Format digital tersebut diantaranya adalah :
 MIDI (Musical Instrument Digital Interface)
Di singkat MIDI. Merupakan standar untuk menghubungkan komputer dengan
instrumen musik elektronik dan pemrosesan efek khusus. Format suara
instrumen ini di perkenalkan pada tahun 1983 oleh perusahaan musik
elektrik seperti Roland, Yamaha dan Korg. Format MIDI bersifat sangat
kompak dengan ukurannya yang kecil, suara yang di hasilkan oleh MIDI
dengan dukungan sound card yang memilik synthesizer (penghasil suara
elektrik) sangatlah mirip dengan organ elektrik yang bisa memainkan
berbagai alat musik.
 MP3
Disingkat dengan MP3. Sebuah format rekaman audio digital terkompresi.
Format MP3 disusun berdasarkan algoritma yang dikembangkan oleh
Karlheinz Brandenburg dari Universitas Fraunhover, Jerman. Teknologi ini
memungkinkan format rekaman audio digital dengan kualitas mendekati CD
memiliki ukuran yang relatif kecil sehingga dapat didistribusikan dan di-
download via internet.
format suara yang terkenal saat ini berbeda dengan MIDI yang hanya
instrument, MP3 merekam seluruh suara termasuk suara penyanyinya.
Kualitas suara MP3 akan berbanding dengan ukuran penyimpannya. Kualitas
yang banyak di gunakan untuk merekam musik adalah standar CD-ROM
(44,2 KHz, 16 bit, stereo), sementara kualitas terendah adalah kualitas
seperti telepon (5 KHz, 8 bit, mono).
 MPEG (Moving Picture Experts Group)
MPEG adalah singkatan dari Moving Picture Expert Group yang digunakan
sebagai standar pengkodean citra bergerak. MPEG dikembangkan oleh
sebuah group yang bernama Motion Picture Expert Group.
MPEG-1 merupakan salah satu dari format standar MPEG yang digunakan
dalam pengompresan suara dan gambar dalam video CD. MPEG-1 juga
mendukung format audio yang biasa kita ketahui dengan ekstensi mp1, mp2
dan mp3. MPEG-1 didesain dengan tujuan untuk kompresi dan penyimpanan
program-program video (1,5 Mbps). Salah satu aplikasinya adalah untuk
komputer desktop dengan CD-ROM video (aplikasi-aplikasi video interaktif
yang disimpan), namun ia juga digunakan dalam sistem-sistem broadcast
satelit digital permulaan.
MPEG-2 penggunaannya ditujukan pada transmisi-transmisi TV dan aplikasi-
aplikasi lainnya yang memiliki kemampuan sampai 6 Mbps.
Sementara itu, yang lebih maju lagi yakni MPEG-4 untuk penyandian laju bit
yang sangat rendah dijadwalkan tersedia dalam bentuk draft di tahun 1997
ini. MPEG-4 lebih mengacu pada bahasa komunikasi umum untuk
mendeskripsikan peralatan-peralatan (tool), algoritma-algoritma, dan profil-
profil yang dibutuhkan untuk penyandian obyek-obyek, ketimbang masalah
penstandarisasian sebuah algoritma penyandian.
 AVI (Audio Video Interleave)
AVI (Audio Video Interleave) merupakan format video yang dikembangkan
oleh Microsoft. Format AVI didukung oleh semua komputer yang menjalankan
Windows, dan oleh semua browser jaringan yang paling populer. Format ini
merupakan suatu format yang sangat umum di Internet, tetapi tidak semua
dapat menjalankannya di komputer non-Windows.
Video yang disimpan dalam format AVI mempunyai extensi . avi.
 Quicktime
QuickTime diciptakan untuk melakukan proses authoring (penciptaan)
dimana didalamnya termasuk proses compression dan decompression, yang
dilakukan dengan bantuan berbagai algoritma kompresi yang dikenal
sebagai codec (compression/decompression).
Format QuickTime dibangun oleh Apple. Video yang tersimpan dalam
QuickTime memiliki extensi .mov.
QuickTime adalah format umum dalam Internet, tetapi QuickTime movie tak
dapat dimainkan dalam sistem Windows tanpa adanya component QuickTime
yang terinstal.
Dengan menggunakan elemen object, kode dapat memainkan suatu
QuickTime movie lebih mudah dengan menambahkannya ke dalam web
page. Object dapat diatur untuk secara otomatis menginstall QuickTime
player jika belum terinstal dalam komputer.

b. Sebutkan format data dalam komputer dari masing-masing jenis tersebut!


Type of Data Standard(s)
Alphanumeric Unicode, ASCII, EDCDIC
Image (bitmapped)  GIF (graphical image format)
 TIF (tagged image file format)
 PNG (portable network graphics)
Image (object) PostScript, JPEG, SWF (Macromedia
Flash), SVG
Outline graphics PostScript, TrueType
and fonts
Sound WAV, AVI, MP3, MIDI, WMA
Page description PDF (Adobe Portable Document
Format), HTML, XML
Video Quicktime, MPEG-2, RealVideo, WMV

2. “Standar” IEEE 754


a. Jelaskan perbedaan format pada soal diatas dengan format IEEE754!

b. Nyatakan bilangan 171.625D dalam format IEEE 754!

3. Peningkatan kinerja/performance komputer diusahakan dari masa ke


masa
a. Ceritakan usaha ini dalam arsitektur CISC dan RISC, buatlah perbandingannya!
Beberapa elemen penting pada arsitektur RISC :
 Set instruksi yang terbatas dan sederhana
 Register general-purpose yang berjumlah banyak, atau penggunaan
teknologi kompiler untuk mengoptimalkan pemakaian registernya.
 Penekanan pada pengoptimalan pipeline instruksi.

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
11. Arsitektur komputer dengan kumpulan perintah yang rumit

(Complex Instruction Set Computer = CISC)


12. Arsitektur komputer dengan kumpulan perintah yang sederhana

(Reduced Instruction Set Computer = RISC)


1 CISC 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,
tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman
tingkat tinggi.
Dalam CISC banyak terdapat perintah bahasa mesin.
1 RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan
kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis
dalam bahasa tingkat tinggi.

Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline.


Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan
yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu
yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan
menggunakan perintah yang lebih rumit.
Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program
yang lebih besar.
IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.
Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang
karakteristik eksekusi instruksi.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
1 Operasi-operasi yang dilakukan:

Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya
dengan memori.
1 Operand-operand yang digunakan:

Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi


memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
1 Pengurutan eksekusi:

Hal ini akan menentukan kontrol dan organisasi pipeline.


Tabel 4.1 Karakteristik dari beberapa Prosesor CISC, RISC, dan Superskalar
CISC RISC Superskala
Karakteritik r

IBM
IBM VAX Intel Motorola MIPS
RS/System Intel 80960
370/168 11/780 80486 88000 R4000
6000
Tahun dibuat 1973 1978 7989 1988 7991 1 1989
990

Jumlah instruksi 208 303 235 51 94 184 62


Instruksi (Bytes) 2-6 2-57 1-11 4 32 4 4,8
Mode Pengalamatan 4 22 11 3 1 2 11
Jumlah register 16 16 8 32 32 32 23-
general-purpose 256

Ukuran memori kontrol 420 480 246 - - - -


(Kbits)

Ukuran Cache (Kbytes) 64 64 8 16 128 32- 0,5


64

Ditinjau dari perancangan perangkat instruksinya, ada dua arsitektur prosesor


yang menonjol saat ini, yakni arsitektur RISC (Reduce Instruction Set Computer)
dan CISC (Complex Instruction Set Computer). Prosesor CISC memiliki instruksi-
instruksi kompleks untuk memudahkan penulisan program bahasa assembly,
sedangkan prosesor RISC memiliki instruksi-instruksi sederhana yang dapat
dieksekusi dengan cepat untuk menyederhanakan implementasi rangkaian
kontrol internal prosesor. Karenanya, prosesor RISC dapat dibuat dalam luasan
keping semikonduktor yang relatif lebih sempit dengan jumlah komponen yang
lebih sedikit dibanding prosesor CISC. Perbedaan orientasi di antara kedua
prosesor ini menyebabkan adanya perbedaan sistem secara keseluruhan,
termasuk juga perancangan kompilatornya.
Sistem mikrokontroler selalu terdiri dari perangkat keras (hardware) dan
perangkat lunak (software). Perangkat lunak ini merupakan deretan perintah
atau instruksi yang dijalankan oleh prosesor secara sekuensial. Instruksi itu
sendiri sebenarnya adalah bit-bit logik 1 atau 0 (biner) yang ada di memori
program. Angka-angka biner ini jika lebarnya 8 bit disebut byte dan jika 16 bit
disebut word. Deretan logik biner inilah yang dibaca oleh prosesor sebagai
perintah atau instruksi. Supaya lebih singkat, angka biner itu biasanya
direpresentasikan dengan bilangan hexa (HEX). Tetapi bagi manusia, menulis
program dengan angka biner atau hexa sungguh merepotkan. Sehingga
dibuatlah bahasa assembler yang direpresentasikan dengan penyingkatan
kata-kata yang cukup dimengerti oleh manusia.
Bahasa assembler ini biasanya diambil dari bahasa Inggris dan presentasinya itu
disebut dengan Mnemonic. Masing-masing pabrik mikroprosesor melengkapi
chip buatannya dengan set instruksi yang akan dipakai untuk membuat
program.
Biner Hexa Mnemonic
10110110 B6 LDAA ...
10010111 97 STAA ...
01001010 4A DECA ...
10001010 8A ORAA ...
00100110 26 BNE ...
00000001 01 NOP...
01111110 7E JMP ...
*) Sebagian set instruksi 68HC11

Pada awalnya, instruksi yang tersedia amat sederhana dan sedikit. Kemudian
desainer mikroprosesor berlomba-lomba untuk melengkapi set instruksi itu
selengkap-lengkapnya. Jumlah instruksi itu berkembang seiring dengan
perkembangan desain mikroprosesor yang semakin lengkap dengan mode
pengalamatan yang bermacam-macam. Mikroprosesor lalu memiliki banyak
instruksi manipulasi bit dan seterusnya dilengkapi dengan instruksi-instruksi
aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian. Seperti
contohnya 68HC11 banyak sekali memiliki set instruksi untuk percabangan
seperti BNE, BLO, BLS, BMI, BRCLR, BRSET dan sebagainya.
Perancang mikroprosesor juga memperkaya ragam instruksi tersebut dengan
membuat satu instruksi tunggal untuk program yang biasanya dijalankan
dengan beberapa intruksi. Misalnya pada 80C51 untuk contoh program berikut
ini:

LABEL: ...
...
DEC R0
MOV A,R0
JNZ LABEL
*) Program 'decrement' 80C51
Program ini adalah program pengulangan yang mengurangi isi register R0
sampai register R0 menjadi kosong (nol). Intel menambah set instruksinya
dengan membuat satu instruksi khusus untuk keperluan seperti ini:
LABEL: ....
DJNZ R0,LABEL
*) Instruksi 'decrement jump not zero' 80C51

Kedua contoh program ini hasilnya tidak berbeda. Namun demikian, instruksi
kompleks seperti DJNZ mempermudah pembuat program. Set instruksi yang
lengkap diharapkan akan semakin membuat pengguna mikroprosesor leluasa
menulis program dalam bahasa assembler yang mendekati bahasa
pemrograman level tinggi. Intel 80C51 yang dikembangkan dari basis prosesor
8048 dirilis pada tahun 1976 memiliki tidak kurang dari 111 instruksi. Tidak
ketinggalan, 68HC11 dari Motorola yang populer di tahun 1984 dilengkapi
dengan 145 instruksi. Karena banyak dan kompleksnya instruksi yang dimiliki
68HC11 dan 80C51, kedua contoh mikrokontroler ini disebut sebagai prosesor
CISC.
Untuk melihat bagaimana perbedaan instruksi RISC dan CISC, mari kita lihat
bagaimana keduanya melakukan perkalian misalnya c = a x b. Mikrokontroler
68HC11 melakukannya dengan program sebagai berikut:
LDAA #$5
LDAB #$10
MUL
*) Program 5x10 dengan 68HC11
Cukup tiga baris saja dan setelah ini accumulator D pada 68HC11 akan berisi
hasil perkalian dari accumulator A dan B, yakni 5 x 10 = 50. Program yang sama
dengan PIC16CXX, adalah seperti berikut ini:
MOVLW 0x10
MOVWF Reg1
MOVLW 0x05
MOVWF Reg2
CLRW
LOOP: ADDWF Reg1,0
CFSZ Reg2,1
GOTO LOOP


*) Program 5x10 dengan PIC16CXX

Prosesor PIC16CXX yang RISC ini, tidak memiliki instruksi perkalian yang khusus.
Tetapi perkalian 5x10 itu sama saja dengan penjumlahan nilai 10 sebanyak 5
kali. Kelihatannya membuat program assembly dengan prosesor RISC menjadi
lebih kompleks dibandingkan dengan prosesor CISC. Tetapi perlu diingat, untuk
membuat instruksi yang kompleks seperti instruksi MUL dan instruksi lain yang
rumit pada prosesor CISC, diperlukan hardware yang kompleks juga. Dibutuhkan
ribuan gerbang logik (logic gates) transistor untuk membuat prosesor yang
demikian. Instruksi yang kompleks juga membutuhkan jumlah siklus mesin
(machine cycle) yang lebih panjang untuk dapat menyelesaikan eksekusinya.
Instruksi perkalian MUL pada 68HC11 memerlukan 10 siklus mesin dan instruksi
pembagiannya memerlukan 41 siklus mesin.
Sebagai perbandingan jumlah instruksi pada prosesor RISC, COP8 hanya
dilengkapi dengan 58 instruksi dan PIC12/16CXX hanya memiliki 33 instruksi
saja. Untuk merealisasikan instruksi dasar yang jumlah tidak banyak ini,
mikroprosesor RISC tidak memerlukan gerbang logik yang banyak. Karena itu
dimensi dice IC dan konsumsi daya prosesor RISC umumnya lebih kecil
dibanding prosesor CISC. Bukan karena kebetulan, keluarga mikrokontroler
PICXX banyak yang dirilis ke pasar dengan ukuran mini. Misalnya PIC16C54s
adalah mikrokontroler DIP 18 pin.
Sekarang kita akan membandingkan lamanya eksekusi program persamaan
y=ax2 + bx + c dengan memperlihatkan proses-proses yang terjadi didalamnya.
Dibawah ini akan ditampilkan program dengan intruksi RISC dan CISC:
Program CISC dengan 80C51:
MOV A, VAR_a IF De DF E
MOV B, VAR_x IF De DF E
MUL AB IF De E
MOV B, VAR_x IF De DF E
MUL AB IF De E
MOV R0, A IF De E
MOV A, VAR_b IF De DF E
MOV B, VAR_x IF De DF E
MUL AB IF De E
ADD A, R0 IF De E
ADD A, VAR_c IF De DF E
MOV VAR_y, A IF De E S
*) Program diatas diasumsikan nilai y-nya tidak akan lebih dari 1 byte.

Program RISC dengan PIC16CXX:


MOVF VAR_x, 0 IF De E
MOVWF VAR_temp IF De E S
MOVWF VAR_temp2 IF De E S
CLRW IF De E
LOOP: ADDWF VAR_a,0 IF De E
CFSZ VAR_temp,1 IF De E
CFSZ VAR_temp2,1 IF De E
GOTO LOOP IF De E
MOVWF VAR_ax2 IF De E S
CLRW IF De E
(1) (2) (1) (2)
LOOP2:ADDWF VAR_b, 0 IF De E
CFSZ VAR_temp,1 IF De E
GOTO LOOP2 IF De E
ADDWF VAR_ax2, 0 IF De E
ADDWF VAR_c, 0 IF De E
MOVWF VAR_y IF De E S
*) Prosesor RISC ini mempunyai RAM yang sebenarnya adalah merupakan
register. Jadi, tidak memerlukan Data Fetch (DF) untuk proses pengambilan data
dalam prosesor ini. Asumsi VAR_temp dan VAR_temp2 adalah 1 sehingga tidak
terjadi looping.
Dengan beranggapan bahwa Instruction Fetch (IF), Data Fetch (DF), dan
Store (S) membutuhkan waktu yang jauh lebih lama dari Decode (De) dan
Execute (E) maka dapat diperhitungkan waktu yang dibutuhkan tiap prosesor
jika x=1:
CISC dengan 8051:
12(IF) + 12(De) + 6(DF) + 12(E) + 1(S) (parameter waktu: A >>> B)
maka waktu yang dibutuhkan,
A(12+6+1) + B(12+12) ≈ 19A + 24B

RISC dengan PIC16CXX:


Dengan mengambil waktu terlama dari tiap cycle-nya maka waktu yang
dibutuhkan, misal jika dalam suatu cycle (menurun dalam satu kolom) terdapat
IF, De, E, S; yang dalam waktu dapat ditulis A, B, B, A maka yang diambil adalah
A (waktu terlama). Kedua A tidak dijumlah karena bekerja dalam sistem pipeline,
yang dapat dilakukan secara bersamaan dalam satu cycle (syarat: dalam sistem
ini tidak boleh ada proses yang sama pada satu cycle). Sehingga waktu yang
dibutuhkan,
A(16+1) + B(1+1) ≈ 17A + 2B

Dari hasil diatas dapat dilihat bahwa walaupun program dengan instruksi
RISC lebih panjang daripada program dengan instruksi CISC. Namun lama waktu
yang dibutuhkan RISC untuk menjalankan program dan mendapatkan hasil akhir
yang diinginkan, jauh lebih singkat dibandingkan dengan CISC. Dengan begitu,
terbukti sudah bahwa prosesor RISC mampu beroperasi lebih cepat
dibandingkan dengan prosesor CISC.
b. Ceritakan pula usaha tersebut dalam arsitektur VLIW dan EPIC, buatlah pula
perbandingannya!
Arsitektur EPIC memungkinkan processor mengeksekusi beberapa instruksi pada
setiap clock cycle. EPIC mengimplementasikan arsiteksur VLIW, dimana sebuah
word instruksi memuat beberapa instruksi. Dengan EPIC, compiler dapat
menentukan instruksi-instruksi yang dapat dieksekusi pada waktu yang bersamaan,
sehingga mciroprecessor dapat mengeksekusi instruksi tanpa melibatkan
mekanisme yang rumit untuk menentukan instruksi-instruksi yang dieksekusi secara
paralel. Pendekatan ini memiliki dua tujuan, yaitu memungkinkan pemeriksaan kode
yang mendalam untuk mengidentifikasi kemungkinan tambahan untuk eksekusi
paralel dan menyederhanakan rancangan prosesor serta mengurangi konsumsi daya
dengan menghilangkan runtime scheduling circuitry.
Memproses instruksi secara paralel melibatkan tiga tugas utama, yaitu:
1. Memeriksa keergantungan (dependency) diantara instruksi untuk mengumpulkan
(grouping) instruksi-instruksi yang dapat dieksekusi secara parallel
2. Memberikan instruksi pada unit fungsional dari perangkat keras
3. Menentukan waktu inisiasi instruksi
Empat kelas dari arsitektur ILP (Instruction Level Parallelism) yang melaksanakan
tiga tugas utama untuk memproses instruksi secara paralel dengan menggunakan
perangkat keras atau perangkat lunak disajikan dalam tabel sebagai berikut:

Kunci untuk mendapatkan mikroprosesor dengan performance yang lebih tinggi


untuk aplikasi dengan range yang luas adalah kemampuan untuk memanipulasi
instruksi paralel. Beberapa metode yang digunakan dalam paralelisme antara lain:
1. Pipelining
2. Multiple processors
3. Implementasi superscalar
4. Menentukan banyak operasi independen per instruksi
Pipeline banyak diimplementasikan dalam prosesor dengan performance tinggi, dan
tidak banyak lagi yang dapat dikembangkan dari implementasi pipeline tunggal.
Multiple processor dapat meningkatkan performance, akan tetapi terbatas pada
beberapa aplikasi saja. Implementasi superscalar dapat meningkatkan performance
dari semua tipe aplikasi. Superscalar berarti kemampuan untuk mengambil (fetch),
mengeluarkan unit eksekusi, dan menyelesaikan lebih dari satu instruksi pada saat
yang sama. Implementasi superscalar diperlukan ketika kompatibilitas arsitektur
harus dijaga, misalnya dengan arsitektur x86. Untuk membuat banyak operasi per
instruksi maka diciptakanlah arsitektur VLIW (Very Long Instruction Word).
Implementasi dari VLIW memiliki kemampuan yang sama dengan prosesor
superscalar, yaitu mengeluarkan dan menyelesaikan lebih dari satu operasi pada
saat yang sama, dengan satu perbedaan yang mendasar yaitu perangkat keras
VLIW tidak bertanggung jawab untuk mencari kemungkinan untuk mengeksekusi
beberapa operasi secara kongkuren. Untuk implementasi VLIW, long instruction
word sudah mengkodekan operasi-operasi yang kongkuren. Pengkodean ini
mengurangi kompleksitas perangkat keras jika dibanddingkan dengan implementasi
dari high-degree superscalar dari RISC atau CISC. Keuntungan utama dari VLIW
adalah implementasi operasi yang kongkuren yang lebih sederhana dan lebih murah
jika dibandingkan dengan chip RISC atau CISC yang kongkuren. VLIW merupakan
cara mudah untuk menciptakan microprocessor superscalar.
Dari sudut pandang yang lebih luas, arsitektur RISC, CISA, dan VLIW memiliki lebih
banyak persamaan daripada perbedaan. Perbedaan yang mencolok merupakan
akibat dari implementasi dari masing-masing arsitektur. RISC, CISC, dan VLIW
menggunakan model komputasi state-machine tradisional, dimana masing-masing
instruksi mempengaruhi perubahan incremental dari state (memori, register) dari
komputer, dan perangkat keras mengambil (fetch) serta mengeksekusi instruksi
secara sekuensial sampai tedapat instruksi percabangan yang mengubah aliran dari
kontrol. Perbedaan antara RISC, CISC, dan VLIW terdapat pada format dan semantik
dari instruksinya, yang ditmpilkan dalam tabel sebagai berikut:
Instruksi CISC memiliki ukuran yang bervariasi, biasanya dipengaruhi oleh urutan
operasi, dan dapat memerlukan alogoritma decoding yang lambat. CISC cenderung
memiliki sedikit register, dan register dapat merupakan special-purpose register
yang membatasi cara penggunaannya. Referensi memori biasana dikombinasikan
dengan operasi lain (misalnya add memory to register). Instruksi-instruksi CISC
dirancang untuk mendapatkan keuntungan dari microcode.
Instruksi RISC merupakan operasi sederhana, dengn ukuran yang tetap, dan
mudah (cepat) didekodekan. Arsitektur RISC memiliki banyak general-purpose
register. Instruksi dapat menreferensikan memori utama melalui operasi sederhana
load-register-from-memory dan store-register-to-memory. Instruksi-instruksi RISC
tidak memerlukan microcode dan dirancang untuk memudahkan pipelining.
Instruksi VLIW mirip dengan instruksi RISC, kecuali instruksi-instruksi tersebut tidak
disusun dari operasi-operasi independen sederhana. Instruksi VLIW dapat
dipandang sebagai beberapa instruksi RISC yang digabungkan. Arsitektur VLIW
cenderung memiliki kemiripan dengan RISC dalam banyak atribut.

4. Peningkatan kinerja/performance komputer dengan cara lain.


a. Ceritakan tentang PAGE/PAGING dan kemukan apakah cara ini mendukung
maksud tersebut!
PAGING adalah Teknik untuk melaksanakan memory virtual. Ruang alamat
virtual dibagi menjadi sejumlah blok berukuran tertentu yang disebut
page.Masing-masing dapat dipetakan pada sembarang alamat fisik yang
tersedia pada sistem.
Sistem Paging

Adalah sistem manajemen pada sistem operasi dalam mengatur program yang
sedang berjalan. Program yang berjalan harus dimuat di memori utama. Kendala
yang terjadi apabila suatu program lebih besar dibandingkan dengan memori
utama yang tersedia.
Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:

- Konsep Overlay
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat
dimuat memori (overlay). Overlay yang belum diperlukan pada saat program
berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay
tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.

- Konsep Memori Maya (virtual Memory)


Adalah kemampuan mengalamati ruang memori melebihi memori utama yang
tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961
untuk sistem komputer Atlas di Universitas Manchester, Inggris.

Gagasan Memori Maya adalah ukuran gabungan program, data dan stack
melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan
bagian-bagian proses yang sedang digunakan di memori utama dan sisanya di
disk. Begitu bagian di disk diperlukan maka bagian memori yang tidak
diperlukan disingkirkan dan diganti bagian disk yang diperlukan.
b. Seperti soal tersebut untuk PIPELINE/PIPELINING
Teknik yang populer dalam meningkatkan kecepatan CPU. merupakan suatu
saluran untuk mengalirkan instruksi ke CPU seperti pada tahapan fetch, decode,
execute, store dan hal lainnya. Pada prosesor yang menggunakan pipeline ini,
setiap tahapan dari pipeline dilaksanakan berdasarkan clock cycle yang dimiliki
oleh prosesor tersebut.
Teknologi pipeline yang digunakan pada komputer bertujuan untuk meningkatkan
kinerja dari komputer. 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.
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.
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.

5. CACHE
a. Ceritakan bagaimana CACHE dapat membantu meningkatkan
kinerja/performance komputer
Cache: Agar Kecepatan Komputer Optimal
Perbedaan kecepatan harddisk, Random Access Memory (RAM), dan prosesor bisa
mengakibatkan bottle neck. Akibat lebih lanjut, kinerja komputer tidak maksimal.
Makanya dibutuhkan cache.
Ketika sebuah aplikasi dijalankan oleh sebuah komputer, beberapa bagian dari aplikasi
ditempatkan di memori. Kemudian, sebagian isi RAM dimasukkan ke L2 cache.
Selanjutnya, beberapa bagian isi memori L2 cache dioper ke L1 cache. Kenapa oper-
operan begitu?

Begini ceritanya Di antara harddisk, RAM, dan prosesor, harddisk memiliki kecepatan
yang paling lambat. Kalau tiap kali prosesor harus mengakses harddisk untuk
mengambil data, kinerja komputer akan buruk. Bottle neck pasti terjadi. Yang terasa,
komputer lambat merespon input. Oleh karena itu, ada RAM yang menyimpan
beberapa isi harddisk yang sering diakses prosesor.
Prosesor mengakses RAM dengan waktu rata-rata 60 nanodetik alias 60 x 109 detik.
Waktu yang demikian masih dirasa kurang cepat, sehingga masih bisa mengakibatkan
bottle neck. Pasalnya, waktu cycle prosesor bisa mencapai 2 nanodetik. Makanya
prosesor memiliki cache lagi. Prosesor yang ada di jaman sekarang ini rata-rata
memiliki 2 cache; yang tadi telah disebut, yaitu L1 cache dan L2 cache.
Jaman dulu, prosesor Intel Celeron tidak memiliki cache. Prosesor-prosesor Intel
Celeron yang dikeluarkan terakhir memiliki cache walau dengan ukuran yang tidak
sebesar prosesor Intel Pentium dengan clock yang sama. Kurang lebih ukuran L2 cache
hanya separuh prosesor Intel Pentium.
L2 cache menyimpan sebagian data, yang sering digunakan prosesor, dari RAM. Waktu
prosesor mengakses L2 cache ini kira-kira 2-3 kali lebih cepat dibandingkan waktu
yang dibutuhkan prosesor mengakses RAM, yaitu sekitar 20-30 nanodetik. Bahkan L1
cache yang menyimpan sebagian isi L2 cache memiliki kecepatan yang setara dengan
kecepatan mikroprosesor, kurang lebih 10 nanodetik. L1 cache ini adalah cache yang
paling dekat dengan prosesor.
Cache memang bisa berlapis. Cache yang paling jauh dengan komputer, biasanya
berukuran lebih besar, namun kecepatannya lebih lambat. Lihat saja, harddisk, yang
juga bisa bertindak sebagai cache, ukurannya bisa mencapai satuan gigabyte. Ukuran
RAM bisa dalam hitungan ratusan megabyte. Ukuran cache pada prasesor lebih
rendah. Ukuran terbesar untuk cache ini adalah L3 cache yang mencapai 2MB, milik
prosesor-prosesor berseri Intel Pentium 4 Extreme Edition.
Lho ada L3 cache? Cache memang bisa dibuat di mana saja, terserah pemilik produk.
Harddisk pun memiliki cache yang rata-rata berukuran 512KB. Prosesor tidak
mengakses cache milik harddisk ini. Cuma kontroler harddisk yang mengaksesnya.
Nah, begitulah kira-kira alasan cache dibutuhkan untuk mencapai kerja komputer yang
optimal. Sebenarnya mungkin saja semua bekerja dalam kecepatan mikroprosesor,
namun harga hardware akan menjadi sangat tinggi.
RAM (Random Access Memory) itu tempat menyimpan dan mengolah data.
Biasa digunakan sebagai "Working Storage", tempat dimana komputer
menjalankan program. Disini program/data dapat ditulis, dibaca, dan dihapus
dari RAM, dan saat komputer dimatikan maka isi dari RAM tersebut akan hilang.

ROM (Read Only Memory) adalah "Storage Memory" yang berisi data/program
yang ditulis oleh pabriknya, dimana komputer/user hanya bisa membaca saja,
tidak bisa menulisi maupun menghapus. Biasanya ini berisi data-data
konfigurasi awal yang diperlukan saat menyalakan komputer. Data yang
terkandung didalam ROM tidak akan hilang saat komputer dimatikan.

Cache adalah nama suatu Memory yang jauh lebih cepat daripada RAM biasa.
Gunanya adalah menyimpan data-data yang sering digunakan/dibaca, sehingga
saat komputer membutuhkan data-data tersebut tidak perlu mencari di RAM tapi
langsung diambil dari Cache. Jadi (misalnya) komputer kalau mengambil data
dari RAM itu membutuhkan waktu 10 ms, apabila data yang sama itu ingin
diambil/digunakan lagi cukup ambil dari Cache RAM yang bisa di akses dalam
waktu 1ms. Memang waktu yang dihemat tidak terlalu besar (hanya hitungan
ms, milidetik), namun apabila ada jutaan proses yang dilakukan, hasilnya akan
terasa.

Seperti disebutkan, Cache itu sebenarnya hanya nama fungsi saja, sedangkan
nama komponen nya biasanya dalam bentuk SRAM (Static Random Access
Memory).
Juga sama dengan nama 'RAM' yang disebutkan diatas, nama komponen nya
biasa dikenal juga sebagai DRAM (Dynamic Random Access Memory).
Beda DRAM dan SRAM secara teknis adalah, saat digunakan DRAM
membutuhkan 'refresh' sementara SRAM tidak perlu. Oleh sebab itu, SRAM jauh
lebih cepat aksesnya daripada DRAM, namun juga jadinya lebih mahal.

Untuk ROM, selain yang isinya ditulis dari pabrik, ada juga yang bisa ditulis oleh
user.
PROM (Programmable ROM) itu awalnya kosong dan bisa ditulisi, namun setelah
diisi data ia berubah menjadi ROM. Jadi disini pemakaiannya mirip dengan CD-R,
dimana chip hanya bisa ditulis satu kali saja.
EPROM (Erasable PROM) itu sama seperti PROM, namun kalau diperlukan bisa
dihapus ulang. Cara menghapusnya adalah menggunakan UltraViolet. Cukup
sinari lubang chip nya dengan sinar UV yang kuat selama 10 menit, maka isi dari
PROM tadi akan hilang.
EEPROM (Electronically Erasable PROM) itu mirip dengan EPROM, namun
menghapusnya cukup menggunakan software penghapus. Jadi ini pemakaiannya
mirip dengan CD-RW, dimana apabila diperlukan, isi dari PROM nya bisa di
'format' dulu dan ditulis ulang.

RAM, ROM, dan Cache RAM semuanya terletak di Motherboard komputer. Khusus
untuk Cache RAM, pada teknologi masa kini lokasinya sering dimasukkan
didalam chip CPU (otak dari komputer) sehingga waktu akses nya jauh lebih
cepat. Namun pada teknologi yang lalu, Cache RAM juga masih berbentuk chip
memory yang diletakkan di motherboard juga.

Cache : Agar Kecepatan Komputer Optimal


Ketika sebuah aplikasi dijalankan oleh sebuah komputer, beberapa bagian dari aplikasi
ditempatkan pada memori. Setelah itu sebagian isi data yang ada pada memori
ditempatkan di L2 cache. Kemudian, dari L2 dilempar ke L1 cache. Ok, mari
optimalkan kecepatan komputer kita.
Memory Cache atau Kas Memori atau Tempat Menyembunyikan adalah sistem
penyimpanan data cadangan berkecepatan tinggi yang digunakan oleh komputer yang
menjembatani aliran data (buffer) antara prosesor dengan media penyimpanan
data/memori. Ini terjadi ketika prosesor, misalnya menjalankan aplikasi Photoshop,
mengolah data, menyimpan dan mengeksekusi perintah-perintah pada harddisk, yang
kinerjanya jadi lamban karena keterbatasan kecepatannya. Masalah ini diistilahkan
dengan botleneck (aliran yang mengerucut atau semakin mengecil seperti leher botol),
yakni ketidak maksimalan performa antara prosesor, harddisk dan memori.
Untuk meningkatkan waktu akses (access time), dimanfaatkanlah sistem cache,
dengan memanfaatkan cache pada prosesor yang memiliki kecepatan yang lebih tinggi
untuk mengolah data yang di input, yakni L1 cache dan L2 cache. Yup, disamping
cache pada harddisk (biasanya berukuran 512 KB) dan RAM, ada juga cache pada
prosessor dengan kapasitas ukuran yang lebih rendah namun dengan kecepatan yang
luar biasa. Jadi, data akan dilewatkan dulu pada cache prosesor dan kemudian
menyimpannya agar dapat diakses lebih cepat. Inilah yang dinamakan dengan
memory caching .
Pada awal-awal pembuatannya, cache diletakkan pada motherboard untuk dijangkau
oleh prosesor. Namun saat ini teknologi cache telah dibuat menyatu dengan prosesor
yang terkenal dengan istilah core.
Contohnya adalah penggunaan cache L3 pada prosessor Pentium 4 Extreme Edition
atau Intel berarsitektur core sebesar 2048 KB. Dengan dukungan cache L3 ini, maniak
game/gamer diuntungkan dengan terpangkasnya latency pada jalur memori dan
prosesor saat menjalankan aplikasi data vertex pada game, atau frame multimedia
seperti video resolusi DVD masa kini yang rata-rata telah mencapai 1 MB.
Dalam istilah browsing internet istilah cache dapat diartikan, penempatan data dengan
komputer sever yang sering diakses. Istilahnya proxy. Proxy cache akan menyimpan
data yang telah dibuka dalam sitem HTTP, misalnya http://fundigy.com, sehingga akan
mempercepat proses akses data yang sama.
Jadi, secara hierarki memori diurutkan berdasarkan penggunaannya adalah sebagai
berikut :
1. Cache pada mikroprosessor, dengan ukuran yang paling kecil
2. Cache pada prosessor, dibuat oleh pabrikan dengan melihat jaraknya dengan
prosesor, diistilahkan dengan (Level) L1, L2, L3 dan seterusnya. L1 dan L2
umumnya terdapat pada hampir semua prosesor modern, sementara L3
merupakan tambahan yang diciptakan untuk meningkatkan kinerja prosesor.
3. Cache pada Memori Utama, ukurannya sangat besar namun dengan waktu
akses yang leih lambat dari cache pada prosesor.
4. Cache pada Harddisk, ukurannya kecil dan digunakan untuk peningkatan
performa harddisk saat mengolah data.
Nah, jadi bila Anda membeli komputer selain melihat dari ukuran harddisk, memori dan
prosesor, lihat juga dari clock speed, FSB, dan cache memorinya.

b. Pada masa kini Cache disusun bertingkat, jelaskan tentang hal ini !
Cache memang bertingkat-tingkat. Makin jauh dari prosesor rata-rata ukurannya
makin besar, namun kecepatannya makin menurun. Sama halnya harddisk yang
juga bisa bertindak sebagai cache, jauh dari prosesor, dan ukurannya bisa
mencapai satuan gigabyte. Kecepatannyapun tergolong lambat. Saat ini Intel
telah mengeluarkan prosesor generasi baru dengan nama Pentium 4 Extreme
Edition. Untuk meningkatkan kinerjanya, prosesor generasi ini sudah dilengkapi
L3 cache yang ukurannya sudah mencapai 2MB.

Cache memang memegang peranan penting dalam mengoptimalisasi kinerja


prosesor atau komputer.Tanpa adanya cache ini, secepat apapun clock prosesor
yang kita miliki, tidak akan terasa dalam menjalankan aplikasi-aplikasi berat
seperti aplikasi manipulasi gambar atau video file. Makin berat aplikasi yang
dijalankan, makin tinggi peranan cache tersebut. Sebagai bahan perbandingan,
silakan akses beberapa kali ke website yang memakai gambar-gambar yang
kompleks, dengan menggunakan cache dan tidak(menghapus cache). Akan
terasa perbedaan waktu akses yang sangat signifikan. Begitulah asas kerja
cache, termasuk cache pada proseso