Komputer
Komputer adalah sebuah mesin hitung elektronik yang secara cepat
menerima informasi masukan digital dan mengolah informasi tersebut menurut
seperangkat instruksi yang tersimpan dalam komputer tersebut dan menghasilkan
keluaran informasi yang dihasilkan setelah diolah. Daftar perintah tersebut
dinamakan program komputer dan unit penyimpanannya adalah memori komputer.
Dalam bentuk yang paling
sederhana komputer terdiri dari lima bagian utama yang mempunyai fungsi
sendiri-sendiri. Unit-unit tersebut adalah: masukan, memori, aritmetika dan
logika, keluaran dan kontrol seperti pada gambar 1.1.
Unit masukan menerima informasi yang yang dikodekan dari operator
manusia lewat alat-alat elektro mekanik seperti papan ketik pada suatu terminal
video, atau dari komputer-komputer lain lewat jalur komunikasi digital.
Informasi yang diterima dan disimpan dalam memori untuk dipergunakan kelak,
atau langsung diolah oleh rangkaian aritmetika dan logika untuk melaksanakan
operasi yang diinginkan. Langkah-langkah pengolahan ditentukan oleh program
yang disimpan dalam memori. Akhirnya hasil-hasil yang diperoleh dikirimkan
kembali keluar melalui unit keluaran. Seluruh kegiatan ini dikoordinasi oleh
unit kontrol.
1.2.
Organisasi Komputer
Organisasi Komputer adalah bagian yang
terkait erat dengan unit–unit operasional dan interkoneksi antar komponen
penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Contoh
aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi
memori, sistem memori, dan sinyal–sinyal kontrol.
Arsitektur Komputer lebih cenderung pada
kajian atribut–atribut sistem komputer yang terkait dengan seorang programmer.
Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan,
mekanisme I/O.
Sebagai contoh apakah suatu komputer perlu memiliki instruksi
pengalamatan pada memori merupakan masalah rancangan arsitektural. Apakah
instruksi pengalamatan tersebut akan diimplementasikan secara langsung ataukah
melalui mekanisme cache adalah kajian organisasional.
Perbedaan Utama
Organisasi Komputer
- Bagian yang terkait erat dengan unit–unit
operasional
- Contoh: teknologi hardware, perangkat
antarmuka, teknologi memori, sistem
memori, dan sinyal–sinyal
kontrol
Arsitektur Komputer
- Atribut–atribut sistem komputer yang
terkait dengan seorang programmer
- Contoh: set instruksi, aritmetika yang
digunakan, teknik pengalamatan, mekanisme I/O
1.3. Struktur
dan Fungsi Utama Komputer
1.3.1.
Struktur Komputer
Komputer adalah
sebuah sistem yang berinteraksi dengan cara tertentu dengan dunia luar.
Interaksi dengan
dunia luar dilakukan melalui perangkat peripheral dan saluran komunikasi. Dalam
buku ini akan banyak dikaji seputar struktur internal komputer. Perhatikan
gambar 1.2, terdapat empat struktur utama:
- Central Processing Unit (CPU),
berfungsi sebagai pengontrol operasi komputer dan pusat pengolahan fungsi
– fungsi komputer. Kesepakatan, CPU cukup disebut sebagai processor (prosesor)
saja.
- Memori Utama, berfungsi sebagai
penyimpan data.
- I/O, berfungsi memindahkan data ke
lingkungan luar atau perangkat lainnya.
- System Interconnection, merupakan
sistem yang menghubungkan CPU, memori utama dan I/O.
Komponen yang paling menarik namun paling kompleks adalah CPU.
Struktur CPU terlihat pada gambar 1.2, dengan struktur utamanya adalah :
- Control Unit, berfungsi untuk
mengontrol operasi CPU dan mengontrol komputer secara keseluruhan.
- Arithmetic And Logic Unit (ALU),
berfungsi untuk membentuk fungsi – fungsi
pengolahan data komputer.
- Register, berfungsi sebagai penyimpan
internal bagi CPU.
- CPU Interconnection, berfungsi
menghubungkan seluruh bagian dari CPU.
1.3.2. Fungsi
Komputer
Fungsi dasar sistem komputer adalah sederhana seperti terlihat pada
gambar 1.3. Pada prinsipnya terdapat empat buah fungsi operasi, yaitu :
- Fungsi Operasi Pengolahan Data
- Fungsi Operasi Penyimpanan Data
- Fungsi Operasi Pemindahan Data
- Fungsi Operasi Kontrol
Komputer harus dapat memproses data. Representasi data di
sini bermacam–macam, akan tetapi nantinya data harus disesuaikan dengan mesin
pemrosesnya. Dalam pengolahan data, komputer memerlukan unit penyimpanan
sehingga diperlukan suatu mekanisme penyimpanan data. Walaupun hasil
komputer digunakan saat itu, setidaknya komputer memerlukan media penyimpanan
untuk data prosesnya. Dalam interaksi dengan dunia luar sebagai fungsi pemindahan
data diperlukan antarmuka (interface), proses ini dilakukan oleh
unit Input/Output (I/O) dan perangkatnya disebut peripheral. Saat
interaksi dengan perpindahan data yang jauh atau dari remote device, komputer
melakukan proses komunikasi data. Gambar 1.4 mengilustrasikan
operasi–operasi komputer. Gambar 1.4a adalah operasi pemindahan data, gambar
1.24 adalah operasi penyimpanan data, gambar 1.4c dan gambar 1.4d adalah
operasi pengolahan data.
Dalam bab ini mula-mula akan dibahas tentang sejarah singkat
komputer karena beberapa diantaranya merupakan dasar dari perkembangan komputer
saat ini. Kemudian dibahas mengenai bermacam-macam teknik dan strategi yang
digunakan untuk mencapai unjuk kerja yang seimbang dan efisien. Terakhir akan
dibahas evolusi dua system yang sangat penting pada komputer saat ini yaitu
Pentium dan PowerPC.
2.1. Sejarah
Singkat Komputer
2.1.1
Generasi Pertama : Tabung Vakum (1945 – 1955)
ENIAC
ENIAC (Electronic
Numerical Integrator And Computer), pada tahun 1946 dirancang dan dibuat
oleh John Mauchly dan John Presper Eckert di Universitas Pennsylvania merupakan
computer digital elektronik untuk kebutuhan umum pertama di dunia. ENIAC dibuat
di bawah lembaga Army’s Ballistics Research Laboratory (BRL). Sebuah
badan yang bertanggung jawab dalam pembuatan jarak dan tabel lintasan peluru
kendali senjata baru. Sebelumnya tugas ini dilakukan oleh kurang lebih 200
personil dengan menggunakan kalkulator untuk menyelesaikan persamaan matematis
peluru kendali yang memakan waktu lama.
ENIAC mempunyai berat 30 ton, bervolume 15.000 kaki persegi, dan
berisi lebih dari 18.000 tabung vakum. Daya listrik yang dibutuhkan sebesar 140
KW. Kecepatan operasi mencapai 5.000 operasi penambahan per detik. ENIAC masih
merupakan mesin desimal, representasi data bilangan dalam bentuk desimal dan
arimetiknya dibuat dalam bentuk desimal. Memorinya terdiri atas 20 akumulator,
yang masing – masing akumulatornya mampu menampung 10 digit desimal. Setiap
digit direpresentasikan oleh cincin yang terdiri atas 10 buah tabung vakum.
Kekurangan utama mesin ini adalah masih manual pemrogramannya, yaitu dengan
menyetel switch – switch, memasang dan menanggalkan kabel – kabelnya. ENIAC
selesai pada tahun 1946 sejak proposal diajukan tahun 1943, sehingga tahun 1946
merupakan gerbang bagi zaman baru komputer elektronik.
John
Van Neumann seorang ahli matematika yang merupakan konsultan pembuatan ENIAC
pada tahun 1945 mencoba memperbaiki kelemahan ENIAC dengan rancangan
komputer
barunya, bernama EDVAC
(Electronic
Discrete Variable Computer) dengan konsep program tersimpan (storedprogram
concept)
Tahun 1946
komputer dengan stored-program concept dipublikasikasikan, yang
kemudian di
kenal dengan Komputer IAS (Computer of Institute for Advanced
Studies). Struktur komputer IAS terlihat pada gambar 2.1. Komputer ini
terdiri :
• Memori
Utama, untuk menyimpan data maupun instruksi.
• Arithmetic
Logic Unit (ALU), untuk mengolah data binner.
• Control
Unit, untuk melakukan interpretasi instruksi – instruksi di dalam memori
sehingga adanya eksekusi instruksi tersebut.
• I/O,
untuk berinteraksi dengan lingkungan luar.
Memori IAS terdiri atas 1.000 lokasi penyimpanan yang disebut word.
Word terdiri atas 40 binary digit (bit). Data maupun instruksi disimpan
dalam memori ini, sehingga data maupun instruksi harus dikodekan dalam bentuk
biner. Format memori terlihat pada gambar 2.2. Setiap bilangan terdiri atas
sebuah bit tanda dan 39 bit nilai. Sebuah word terdiri atas 20 bit instruksi
dengan masing – masing 8 bit kode operasi (op code) dan 12 bit alamat.
Struktur detail komputer IAS disajikan dalam gambar 2.3. Gambar ini
menjelaskan bahwa baik unit kontrol maupun ALU berisi lokasi – lokasi
penyimpanan, yang disebut register, yaitu :
• Memory
Buffer Register (MBR), berisi sebuah word yang akan disimpan di dalam
memori atau digunakan untuk menerima word
dari memori.
• Memory
Address Register (MAR), untuk menentukan alamat word di memori untuk
Dituliskan dari MBR atau dibaca oleh MBR.
• Instruction
Register (IR), berisi instruksi 8 bit kode operasi yang akan dieksekusi.
• Instruction
Buffer Register (IBR), digunakan untuk penyimpanan sementara instruksi
Sebelah kanan word di dalam memori.
• Program
Counter (PC), berisi alamat pasangan instruksi berikutnya yang akan diambil
Dari memori.
• Accumulator
(AC) dan Multiplier Quotient (MQ), digunakan untuk penyimpanan
Sementara operand dan hasil ALU. Misalnya,
hasil perkalian 2 buah bilangan 40 bit
adalah sebuah bilangan 80 bit; 40 bit yang
paling berarti (most significant bit) disimpan
dalam AC dan 40 bit lainnya (least
significant bit) disimpan dalam MQ.
IAS beroperasi
secara berulang membentuk siklus instruksi. Komputer IAS memiliki 21
instruksi, yang dapat dikelompokkan
seperti berikut ini :
• Data
tranfer, memindahkan data di antara memori dengan register – register ALU
atau
Antara dua register ALU sendiri.
• Unconditional
branch, perintah – perintah eksekusi percabangan tanpa syarat tertentu.
• Conditional
branch, perintah – perintah eksekusi percabangan yang memerlukan syarat
tertentu agar dihasilkan suatu nilai dari
percabangan tersebut.
• Arithmetic,
kumpulan operasi – operasi yang dibentuk oleh ALU.
• Address
Modify, instruksi – instruksi yang memungkinkan pengubahan alamat saat di
komputasi sehingga memungkinkan
fleksibilitas alamat yang tinggi pada program.
Komputer
Komersial
Tahun 1950 dianggap sebagai tahun kelahiran industri komputer dengan
munculnya 2 buah perusahaan yang saat itu mendominasi pasar, yaitu Sperry dan
IBM.
Tahun 1947, Eckert dan Mauchly mendirikan Eckert-Mauchly Computer
Corporation untuk memproduksi komputer secara komersial. Komputer pertama yang
mereka hasilkan adalah UNIVAC I (Universal Automatic Computer). UNIVAC I
menjadi tulang punggung penghitungan sensus tahun 1950 di USA.
UNIVAC II yang memiliki kapasitas memori lebih besar dan kinerja
yang lebih baik diluncurkan tahun 1950. Mulai saat itu perusahaan telah
mengembangkan produk – produk baru yang kompatibel dengan produk sebelumnya
sehingga pangsa pasar konsumen mereka tetap terjaga menggunakan produknya.
IBM pun tidak mau kalah dengan mengeluarkan produk mereka yang
akhirnya
mendominasi
pangsa pasar bisnis saat ini. Seri IBM pertama adalah seri 701 tahun 1953 dan
terus berkembang menjadi lebih baik hingga sekarang.
2.1.2
Generasi Kedua : Transistor (1955 – 1965)
Sejak pesatnya teknologi semikonduktor hingga menghasilkan komponen
transistor membawa perubahan besar pada dunia komputer. Komputer era ini tidak
lagi menggunakan tabung vakum yang memerlukan daya operasional besar, tabung –
tabung itu digantikan komponen kecil bernama transistor. Konsumsi daya listrik
amat kecil dan bentuknyapun relative kecil.
Transistor ditemukan di Bell Labs pada tahun 1947 dan tahun 1950
telah meluncurkan revolusi elektronika modern. IBM sebagai perusahaan pertama
yang meluncurkan produk komputer dengan transistor sehingga tetap mendominasi
pangsa pasar komputer. NCR dan RCA adalah perusahaan yang mengembangkan
komputer berukuran kecil saat itu, kemudian diikuti IBM dengan mengeluarkan
seri 7000-nya.
Dengan adanya transistor membuat hardware komputer saat itu makin
cepat prosesnya, lihat Tabel 2.1. Memori makin besar kapasitasnya namun makin
kecil bentuknya. Generasi dua ini juga terdapat perubahan perkembangan pada ALU
yang makin kompleks, lahirnya bahasa pemrograman tingkat tinggi maupun
tersedianya software sistem operasi.
Generasi kedua juga ditandai munculnya Digital Equipment Corporation
(DEC) tahun 1957 dan meluncurkan komputer pertamanya, yaitu PDP 1. Komputer ini
sangat penting bagi perkembangan komputer generasi ketiga.
IBM 7094
Komputer ini
diluncurkan tahun 1962. Kemajuan IBM 7094 adalah adanya Instruction Backup
Register (IBR) yang berfungsi membeffer instruksi berikutnya, efeknya
komputer akan lebih cepat prosesnya. Unit kontrol mengambil dua word yang
berdampingan dari memori untuk sebuah pengambilan instruksi, kecuali bila
terjadi percabangan.
Kemajuan IBM 7094 lainnya adalah adanya multiplexor untuk
memultiplex data channel (saluran data). Multiplexor berfungsi sebagai
sentral switch data yang akan diproses dalam CPU.
Gambar 2.5
merupakan konfigurasi IMB 7094.
1.1.3
Generasi Ketiga : Integrated Circuits (1965 – 1980)
Pada tahun 1958 terjadi revolusi elektronika kembali, yaitu
ditemukannya integrated circuit (IC) yang merupakan penggabungan
komponen – komponen elektronika dalam suatu paket. Dengan ditemukan IC ini
semakin mempercepat proses komputer, kapasitas memori makin besar dan bentuknya
semakin kecil.
IBM System/360
Tahun 1964
dikeluarkan IBM System/360 yang telah menggunakan teknologi IC. Dalam satu
dekade IBM menguasai 70% pasaran komputer.
Sistem 360 merupakan kelompok komputer pertama yang terencana.
Banyak model dalam arsitektur 360 ini dan saling kompatibel. Hal ini sangat
menguntungkan konsumen, karena konsumen dapat menyesuaikan dengan kebutuhan
maupun harganya. Pengembangan (upgrading) dimungkinkan dalam komputer
ini. Karakteristik komputer kelompok ini adalah :
• Set
Instruksi Mirip atau Identik, dalam kelompok komputer ini berbagai model
yang
dikeluarkan menggunakan set instruksi yang
sama sehingga mendukung kompabilitas
system maupun perangkat kerasnya.
• Sistem
Operasi Mirip atau Identik, ini merupakan feature yang menguntungkan
Konsumen sehingga apabila kebutuhan menuntut
penggantian komputer tidak kesulitan
dalam system operasinya karena sama.
• Kecepatan
yang meningkat, model – model yang ditawarkan mulai dari kecepatan
Rendah sampai kecepatan tinggi untuk
penggunaan yang dapat disesuaikan konsumen
sendiri.
• Ukuran
Memori yang lebih besar, semakin tinggi modelnya akan diperoleh semakin
Besar memori yang digunakan.
• Harga yang
meningkat, semakin tinggi modelnya maka harganya semakin mahal.
DEC PDP-8
Pada tahun yang
sama saat IBM mengeluarkan System/360, DEC meluncurkan DEC PDP-8. Komputer ini
memiliki keunggulan bentuknya yang kecil sehingga sangat fleksibel digunakan.
PDP-8 juga memiliki varian – varian yang modelnya sama dengan IBM System/360
untuk menyesuaikan kebutuhan pelanggannya. Dengan hadirnya PDP-8 ini membawa
DEC sebagai perusahaan menyuplai komputer mini terbesar membawa DEC sebagai
pabrik komputer terbesar kedua setelah IBM.
Arsitektur PDP-8 sangat berbeda dengan IBM terutama bagian sistem bus.
Pada
komputer ini
menggunakan omnibus system. Sistem ini terdiri atas 96 buah lintasan
sinyal yang terpisah, yang digunakan untuk membawa sinyal – sinyal kontrol,
alamat maupun data. Karena semua komponen menggunakan jalur bus ini maka
penggunaannya dikontrol oleh CPU. Arsitektur bus seperti PDP-8 ini nantinya
digunakan oleh komputer – komputer modern selanjutnya. Struktur bus PDP-8
terlihat pada gambar 2.6.
1.1.4
Generasi Keempat : Very Large Scale Integration (1980 - ????)
Era keempat perkembangan genarasi komputer ditandai adanya VLSI.
Paket VLSI dapat menampung 10.000 komponen lebih per kepingnya dengan kecepatan
operasi mencapai 100juta operasi per detiknya. Gambar 2.7 mengilustrasikan
perkembangan mikroprosesor Pentium terhadap jumlah transistor per kepingnya.
Masa – masa ini diawali peluncuran mikroprosesor Intel seri 4004.
Mikroprosesor 4004 dapat menambahkan dua bilangan 4 bit dan hanya dapat
mengalikan dengan cara pengulangan penambahan. Memang masih primitif, namun
mikroprosesor ini tonggak perkembangan mikroprosesor – mikroprosesor canggih
saat ini. Tidak ada ukuran pasti dalam melihat mikroprosesor, namun ukuran
terbaik adalah lebar bus data : jumlah bit data yang dapat dikirim
diterima mikroprosesor. Ukuran lain adalah jumlah bit dalam register.
Tahun 1972 diperkenalkan dengan mikroprosesor 8008 yang merupakan
mikroprosesor 8 bit. Mikroprosesor ini lebih kompleks instruksinya tetapi lebih
cepat prosesnya dari pendahulunya. Kemudian Bells dan HP menciptakan
mikroprosesor 32 bit pada 1981, sedangkan Intel baru mengeluarkan tahun 1985
dengan mikroprosesor 80386.
1.2
Perancangan Kinerja
Kinerja sebuah sistem komputer merupakan hasil proses dari seluruh
komponen
komputer, yang
melibatkan CPU, memori utama, memori sekunder, bus, peripheral. Dari segi perkembangan
program aplikasipun sangat menakjubkan. Aplikasi dekstop yang hampir dimiliki
semua sistem komputer saat ini meliputi :
• Pengolahan
citra
• Pengenalan
voice atau pembicaraan
• Video
conference
• Mulitimedia
• Transfer data
Yang menakjubkan lagi adalah dari sudut pandang organisasi dan
arsitektur computer saat ini adalah mirip dengan komputer IAS yang dibuat
sekitar 50 tahun lalu, namun perkembangan dan kecanggihannya dapat kita rasakan
sekarang ini. Peningkatan kinerja mikroprosesor ini terus berlanjut tidak kenal
henti dengan berbagai teknik yang telah dikembangkan, diantaranya :
• Branch
Prediction, teknik dimana prosesor memungkinkan mengamati terlebih dahulu
di dalam software dan melakukan prediksi
percabangan atau kelompok instruksi yang
akan
dieksekusi berikutnya.
• Data Flow
Analysis, prosesor akan menganalisa instruksi – instruksi yang tidak
tergantung pada hasil atau data lainnya
untuk membuat penjadwalan yang optimum
dalam eksekusi.
• Speculative
Execution, dengan modal prediksi cabang dan analisis data, maka prosesor
Dapat melakukan eksekusi spekulatif terlebih
dahulu sebelum waktunya.
Perkembangan mikroprosesor, dilihat dari kapasitas operasi dan
kecepatannya sangatlah pesat. Perkembangan mikroprosesor ini sulit diimbangi
oleh komponen lainnya semisal memori. Hal ini menimbulkan masalah kesenjangan
dan kurang sinkronnya operasi antar komponen. Perhatikan laju perkembangan
prosesor dibandingkan memori utama seperti terlihat pada gambar 2.8. Organisasi
dan arsitektur komputer yang handal sangat diperlukan untuk mengatasi persoalan
seperti ini.
Terdapat beberapa metode untuk mengatasi masalah perbedaan kecepatan
operasi antara mikroprosesor dengan komponen lainnya, diantaranya :
• Meningkatkan
jumlah bit yang dicari pada suatu saat tertentu dengan melebarkan
DRAM dan melebarkan lintasa sistem busnya.
• Mengubah
antarmuka DRAM sehingga lebih efisien dengan menggunakan teknik cache
Atau pola buffer
lainnya pada keping DRAM.
• Meningkatkan
bandwidth interkoneksi prosesor dan memori dengan penggunakan
hierarki bus –bus yang lebih cepat untuk buffering
dan membuat struktur aliran data.
Bidang lain yang menjadi fokus kajian peningkatan kinerja sistem
komputer adalah penanganan perangkat – perangkat I/O. Masalah yang terjadi
hampir sama dengan memori. Teknik penyelesaian yang digunakan umumnya adalah
teknik buffering dan caching.
Target yang ingin dicapai dalam peningkatan kinerja adalah
tercapainya keseimbangan proses operasi antar komponen – komponen penyusun
komputer sehingga menghasilkan kinerja komputer yang tinggi.
1.3 Contoh
Evolusi Komputer
Evolusi komputer yang akan dijelaskan adalah kelompok komputer
Pentium Intel dan PowerPC. Alasannya adalah komputer Pentium Intel mampu
mendominasi pasaran dan secara teknologi menggunakan rancangan CISC (complex
instruction set computers) dalam arsitekturnya. Sedangkan PowerPC merupakan
kelompok komputer yang menerapkan teknologi RISC (reduced instruction set
computers). Detail tentang CISC dan RISC akan dijelaskan dalam matakuliah
Arsitektur CPU.
Pentium
Pentium
merupakan produk Intel yang mampu mendominasi pasaran prosesor hingga saat ini.
Generasi demi generasi diluncurkan ke pasaran dengan kenaikan unjuk kerja yang
menakjubkan dalam memenuhi kebutuhan konsumennya.
Berikut evolusi
prosesor keluaran Intel dari prosesor sederhana sampai prosesor keluaran saat
ini:
• 8080, keluar
tahun 1972 merupakan mikroprosesor pertama keluaran Intel dengan
mesin 8 bit dan bus data ke memori juga 8
bit. Jumlah instruksinya 66 instruksi dengan
kemampuan pengalamatan 16KB.
• 8086,
dikenalkan tahun 1974 adalah mikroprosesor 16 bit dengan teknologi cache
instruksi. Jumlah instruksi mencapai 111 dan
kemampuan pengalamatan ke memori
64KB.
• 80286, keluar
tahun 1982 merupakan pengembangan dari 8086, kemampuan
Pengalamatan mencapai 1MB dengan 133
instruksi.
• 80386, keluar
tahun 1985 dengan mesin 32 bit. Sudah mendukung sistem multitasking.
Dengan mesin 32 bitnya, produk ini mampu
menjadi terunggul pada masa itu.
• 80486, dikenalkan
tahun 1989. Kemajuannya pada teknologi cache memori dan
Pipelining instruksi. Sudah
dilengkapi dengan math co-processor.
• Pentium,
dikeluarkan tahun 1993, menggunakan teknologi superscalar sehingga
Memungkinkan eksekusi instruksi secara paralel.
• Pentium Pro,
keluar tahun 1995. Kemajuannya pada peningkatan organisasi superscalar
Untuk proses
paralel, ditemukan sistem prediksi cabang, analisa aliran data dan sistem
cache memori yang makin canggih.
• Pentium II,
keluar sekitar tahun 1997 dengan teknologi MMX sehingga mampu
Menangani kebutuhan multimedia. Mulai
Pentium II telah menggunakan teknologi
RISC.
• Pentium III,
terdapat kemampuan instruksi floating point untuk menangani grafis 3D.
• Pentium IV,
kemampuan floating point dan multimedia semakin canggih.
• Itanium,
memiliki kemampuan 2 unit floating point, 4 unit integer, 3 unit pencabangan,
Internet streaming, 128 interger register.
PowerPC
Proyek sistem
RISC diawali tahun 1975 oleh IBM pada komputer muni seri 801. Seri pertama ini
hanyalah prototipe, seri komersialnya adalah PC RT yang dikenalkan tahun 1986.
Tahun 1990 IBM mengeluarkan generasi berikutnya yaitu IBM RISC System/6000 yang
merupakan mesin RISC superskalar workstation. Setelah ini arsitektur IBM lebih
dikenal sebagai arsitektur POWER.
IBM menjalin kerja sama dengan Motorola menghasilkan mikroprosesor
seri 6800, kemudian Apple menggunakan keping Motorola dalam Macintoshnya. Saat
ini terdapat 4 kelompok PowerPC, yaitu :
• 601, adalah
mesin 32 bit merupakan produksi masal arsitektur PowerPC untuk lebih
dikenal masyarakat.
• 603, merupakan
komputer desktop dan komputer portabel. Kelompok ini sama dengan
seri 601 namun lebih murah untuk keperluan
efisien.
• 604, seri
komputer PowerPC untuk kegunaan komputer low-end server dan komputer
desktop.
• 620, ditujukan
untuk penggunaan high-end server. Mesin dengan arsitektur 64 bit.
• 740/750, seri
dengan cache L2.
• G4, seperti
seri 750 tetapi lebih cepat dan menggunakan 8 instruksi paralel.
Seperti telah
dijelaskan pada bagian pengantar, bahwa komputer digital terdiri dari sistem
prosesor atau
sering disebut CPU, memori – memori, dan piranti masukan/keluaran yang saling
berhubungan dan
saling dukung mewujudkan fungsi operasi komputer secara keseluruhan.
3.1 Komponen
Utama CPU
CPU merupakan
komponen terpenting dari sistem komputer. CPU adalah komponen
pengolah data
berdasarkan instruksi – instruksi yang diberikan kepadanya.
Dalam mewujudkan
fungsi dan tugasnya, CPU tersusun atas beberapa komponen sebagai
bagian dari
struktur CPU, seperti terlihat pada gambar 3.1 dan struktur detail internal CPU
terlihat
pada gamber 3.2.
CPU tersusun atas beberapa komponen, yaitu :
• Arithmetic
and Logic Unit (ALU), bertugas membentuk fungsi – fungsi pengolahan data
komputer. ALU
sering disebut mesin bahasa (machine language) karena bagian ini
mengerjakan
instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya,
ALU terdiri dari
dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing –
masing memiliki
spesifikasi tugas tersendiri.
• Control
Unit, bertugas mengontrol operasi CPU dan secara keselurahan mengontrol
komputer
sehingga terjadi
sinkronisasi kerja antar komponen dalam menjalankan fungsi – fungsi
operasinya.
Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi –
instruksi dari
memori utama dan menentukan jenis instruksi tersebut.
• Registers,
adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data.
Memori ini
bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun
data untuk
pengolahan selanjutnya.
• CPU
Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen
internal
CPU, yaitu ALU,
unit kontrol dan register – register dan juga dengan bus – bus eksternal CPU
yang
menghubungkan dengan sistem lainnya, seperti memori utama, piranti
masukan/keluaran.
BAB
3 Struktur
CPU
21
Gambar 3.1
Komponen internal CPU
Gambar 3.2
Struktur detail internal CPU
22
3.2 Fungsi
CPU
Fungsi CPU
adalah penjalankan program – program yang disimpan dalam memori utama
dengan cara
mengambil instruksi – instruksi, menguji instruksi tersebut dan mengeksekusinya
satu persatu
sesuai alur perintah.
Untuk memahami
fungsi CPU dan caranya berinteraksi dengan komponen lain, perlu kita
tinjau lebih
jauh proses eksekusi program. Pandangan paling sederhana proses eksekusi
program
adalah dengan
mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi
pembacaan
instruksi (fetch) dan operasi pelaksanaan instruksi (execute). Siklus
instruksi yang
terdiri dari
siklus fetch dan siklus eksekusi diperlihatkan pada gambar 3.3 berikut.
Gambar 3.3
Siklus instruksi dasar
3.2.1 Siklus
Fetch - Eksekusi
Pada setiap
siklus instruksi, CPU awalnya akan membaca instruksi dari memori. Terdapat
register dalam
CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang
disebut Program
Counter (PC). PC akan menambah satu hitungannya setiap kali CPU membaca
instruksi.
Instruksi –
instruksi yang dibaca akan dibuat dalam register instruksi (IR). Instruksi –
instruksi ini
dalam bentuk kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian
dilakukan aksi
yang diperlukan. Aksi – aksi ini dikelompokkan menjadi empat katagori, yaitu :
23
• CPU –
Memori, perpindahan data dari CPU ke memori dan sebaliknya.
• CPU –I/O,
perpindahan data dari CPU ke modul I/O dan sebaliknya.
• Pengolahan
Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data.
• Kontrol,
merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi
pengubahan
urusan eksekusi.
Perlu diketahui
bahwa siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah
referensi ke
memori. Disamping itu juga, suatu instruksi dapat menentukan suatu operasi I/O.
Perhatikan gambar
3.4 yang merupakan detail siklus operasi pada gambar 3.3, yaitu :
• Instruction
Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat
instruksi
berikutnya yang
akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat
instruksi
sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori
memiliki
panjang 8 bit,
maka tambahkan 2 ke alamat sebelumnya.
• Instruction
Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke
CPU.
• Instruction
Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan
jenis
operasi yang
akan dibentuk dan operand yang akan digunakan.
• Operand
Address Calculation (OAC), yaitu menentukan alamat operand, hal ini
dilakukan
apabila
melibatkan referensi operand pada memori.
• Operand
Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
• Data
Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
• Operand
store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
Gambar 3.4
Diagram siklus instruksi
24
3.2.2 Fungsi
Interrupt
Fungsi interupsi
adalah mekanisme penghentian atau pengalihan pengolahan instruksi
dalam CPU kepada
routine interupsi. Hampir semua modul (memori dan I/O) memiliki
mekanisme yang
dapat menginterupsi kerja CPU.
Tujuan interupsi
secara umum untuk menejemen pengeksekusian routine instruksi agar
efektif dan
efisien antar CPU dan modul – modul I/O maupun memori. Setiap komponen
komputer dapat
menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU
disamping itu
kecepatan eksekusi masing – masing modul berbeda sehingga dengan adanya
fungsi interupsi
ini dapat sebagai sinkronisasi kerja antar modul. Macam – macam kelas sinyal
interupsi :
• Program,
yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada
hasil
eksekusi
program. Contohnya: arimatika overflow, pembagian nol, oparasi ilegal.
• Timer,
adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini
memungkinkan
sistem operasi
menjalankan fungsi tertentu secara reguler.
• I/O,
sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan
kondisi error
dan penyelesaian
suatu operasi.
• Hardware
failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau
kesalahan
paritas memori.
Dengan adanya
mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi
instruksi –
instruksi lain. Saat suatu modul telah selesai menjalankan tugasnya dan siap
menerima
tugas berikutnya
maka modul ini akan mengirimkan permintaan interupsi ke prosesor. Kemudian
prosesor akan
menghentikan eksekusi yang dijalankannya untuk menghandel routine interupsi.
Setelah program
interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali.
Saat sinyal
interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi
diterima/ditangguhkan
dan interupsi ditolak. Apabila interupsi ditangguhkan, prosesor akan
melakukan hal –
hal dibawah ini :
1. Prosesor
menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya.
Tindakan ini
adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain
yang relevan.
2. Prosesor
menyetel program counter (PC) ke alamat awal routine interrupt handler.
Gambar 3.5
berikut menjelaskan siklus eksekusi oleh prosesor dengan adanya fungsi
interupsi.
25
Gambar 3.5
Siklus eksekusi instruksi dengan interrupt
Untuk sistem
operasi yang kompleks sangat dimungkinkan adanya interupsi ganda
(multiple
interrupt). Misalnya suatu komputer akan menerima permintaan interupsi saat
proses
pencetakan
dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan
mengirimkan
permintaan interupsi setiap kali data tiba. Dalam hal ini prosesor harus
menangani
interupsi ganda.
Dapat diambil
dua buah pendekatan untuk menangani interupsi ganda ini. Pertama adalah
menolak atau
tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
Kemudian
setelah prosesor
selesai menangani suatu interupsi maka interupsi lain baru di tangani.
Pendekatan ini
disebut pengolahan interupsi berurutan / sekuensial. Pendekatan ini
cukup baik
dan sederhana
karena interupsi ditangani dalam ututan yang cukup ketat. Kelemahan pendekatan
ini adalah
metode ini tidak memperhitungkan prioritas interupsi. Pendekatan ini
diperlihatkan
pada gambar
3.6a.
Pendekatan kedua adalah dengan
mendefinisikan prioritas bagi interupsi dan interrupt
handler mengizinkan
interupsi berprioritas lebih tinggi ditangani terlebih dahulu. Pedekatan ini
disebut pengolahan interupsi bersarang.
Metode ini digambarkan pada gambar 3.6b.
26
Gambar 3.6 Transfer pengendalian pada
interupsi ganda
Sebagai contoh untuk mendekatan bersarang,
misalnya suatu sistem memiliki tiga
perangkat I/O: printer, disk, dan saluran
komunikasi, masing – masing prioritasnya 2, 4 dan 5.
Pada awal sistem melakukan pencetakan dengan
printer, saat itu terdapat pengiriman data pada
saluran komunikasi sehingga modul
komunikasi meminta interupsi. Proses selanjutnya adalah
pengalihan eksekusi interupsi mudul
komunikasi, sedangkan interupsi printer ditangguhkan. Saat
pengeksekusian modul komunikasi terjadi
interupsi disk, namun karena prioritasnya lebih rendah
maka interupsi disk ditangguhkan. Setelah
interupsi modul komunikasi selesai akan dilanjutkan
interupsi yang memiliki prioritas lebih
tinggi, yaitu disk. Bila interupsi disk selesai dilanjutkan
eksekusi interupsi printer. Selanjutnya
dilanjutkan eksekusi program utama.
27
Memori adalah bagian dari komputer tempat
program – program dan data – data
disimpan. Bebarapa pakar komputer (terutama
dari Inggris) menggunakan istilah store atau
storage untuk
memori, meskipun kata storage sering digunakan untuk menunjuk ke
penyimpanan
disket. Tanpa sebuah memori sebagai tempat
untuk mendapatkan informasi guna dibaca dan
ditulis oleh prosesor maka tidak akan ada
komputer – komputer digital dengan sistem
penyimpanan program.
Walaupun konsepnya sederhana, memori
komputer memiliki aneka ragam jenis,
teknologi, organisasi, unjuk kerja dan
harganya. Dalam bab ini akan dibahas mengenai memori
internal dan bab selanjutnya membahas
memori eksternal. Perlu dijelaskan sebelumnya
perbedaan keduanya yang sebenarnya
fungsinya sama untuk penyimpanan program maupun data.
Memori internal adalah memori yang dapat diakses langsung oleh prosesor. Sebenarnya
terdapat
beberapa macam memori internal, yaitu
register yang terdapat di dalam prosesor, cache memori
dan memori utama berada di luar prosesor.
Sedangkan memori eksternal adalah memori yang
diakses prosesor melalui piranti I/O,
seperti disket dan hardisk.
4.1 Operasi Sel Memori
Elemen dasar memori adalah sel memori.
Walaupun digunakan digunakan sejumlah
teknologi elektronik, seluruh sel memori
memiliki sifat – sifat tertentu :
• Sel memori memiliki dua keadaan stabil
(atau semi-stabil), yang dapat digunakan untuk
merepresentasikan bilangan biner 1 atau 0.
• Sel memori mempunyai kemampuan untuk
ditulisi (sedikitnya satu kali).
• Sel memori mempunyai kemampuan untuk
dibaca.
Gambar 4.1 menjelaskan operasi sel memori.
Umumnya sel memori mempunyai tiga
terminal fungsi yang mampu membawa sinyal
listrik. Terminal select berfungsi memilih operasi
tulis atau baca. Untuk penulisan, terminal
lainnya menyediakan sinyal listrik yang men-set
BAB
4 Memori
28
keadaan sel brnilai 1 atau 0, sedangkan
untuk operasi pembacaan, terminal ini digunakan sebagai
keluaran.
Gambar 4.1 Operasi sel memori
4.2 Karakteristik Sistem Memori
Untuk mempelajari sistem memori secara
keseluruhan, harus mengetahui karakteristik –
karakteristik kuncinya. Karakteristik
penting sistem memori disajikan dalam tabel 4.1 berikut :
Tabel 4.1 Karakteristik penting sistem
memori komputer
Karakteristik Macam/ Keterangan
Lokasi 1. CPU
2. Internal (main)
3. External (secondary)
Kapasitas 1. Ukuran word
2. Jumlah word
Satuan transfer 1. Word
2. Block
Metode akses 1. Sequential access
2. Direct access
3. Random access
4. Associative access
Kinerja 1. Access time
2. Cycle time
3. Transfer rate
Tipe fisik 1. Semikonduktor
2. Magnetik
Karakteristik fisik 1. Volatile/nonvolatile
2. Erasable/nonerasable
Dilihat dari lokasi, memori
dibedakan menjadi beberapa jenis, yaitu register, memori
internal dan memori eksternal. Register
berada di dalam chip prosesor, memori ini diakses
29
langsung oleh prosesor dalam menjalankan
operasinya. Register digunakan sebagai memori
sementara dalam perhitungan maupun
pengolahan data dalam prosesor. Memori internal adalah
memori yang berada diluar chip prosesor
namun mengaksesannya langsung oleh prosesor.
Memori internal dibedakan menjadi memori
utama dan cache memori. Memori eksternal dapat
diakses oleh prosesor melalui piranti I/O,
memori ini dapat berupa disk maupun pita.
Karakteristik lainnya adalah kapasitas.
Kapasitas memori internal maupun eksternal
biasanya dinyatakan dalam mentuk byte (1
byte = 8 bit) atau word. Panjang word umumnya 8, 16,
32 bit. Memori eksternal biasanya lebih
besar kapasitasnya daripada memori internal, hal ini
disebabkan karena teknologi dan sifat
penggunaannya yang berbeda.
Karakteristik berikutnya adalah satuan
tranfer. Bagi memori internal, satuan tranfer sama
dengan jumlah saluran data yang masuk ke
dan keluar dari modul memori. Jumlah saluran ini
sering kali sama dengan panjang word, tapi
dimungkinkan juga tidak sama. Tiga konsep yang
berhubungan dengan satuan transfer :
• Word, merupakan satuan “alami”
organisasi memori. Ukuran word biasanya sama
dengan jumlah bit yang digunakan untuk
representasi bilangan dan panjang instruksi.
• Addressable units, pada sejumlah
sistem, adressable units adalah word. Namun terdapat
sistem dengan pengalamatan pada tingkatan
byte. Pada semua kasus hubungan antara
panjang A suatu alamat dan jumlah N
adressable unit adalah 2A =N.
• Unit of tranfer, adalah jumlah bit
yang dibaca atau dituliskan ke dalam memori pada
suatu saat. Pada memori eksternal, tranfer
data biasanya lebih besar dari suatu word,
yang disebut dengan block.
Perbedaan tajam yang terdapat pada sejumlah
jenis memori adalah metode access-nya. Terdapat
empat macam metode :
• Sequential access, memori
diorganisasi menjadi unit – unit data yang disebut record.
Akses harus dibuat dalam bentuk urutan
linier yang spesifik. Informasi mengalamatan
yang disimpan dipakai untuk memisahkan
record – record dan untuk membantu proses
pencarian. Terdapat shared read/write
mechanism untuk penulisan/pembacaan
memorinya. Pita magnetik merupakan memori
yang menggunakan metode sequential
access.
• Direct access, sama sequential
access terdapat shared read/write mechanism. Setiap
blok dan record memiliki alamat unik
berdasarkan lokasi fisiknya. Akses dilakukan
langsung pada alamat memori. Disk adalah
memori direct access.
• Random access, setiap lokasi memori
dipilih secara random dan diakses serta dialamati
secara langsung. Contohnya adalah memori
utama.
30
• Associative access, merupakan
jenis random akses yang memungkinkan pembandingan
lokasi bit yang diinginkan untuk
pencocokan. Jadi data dicari berdasarkan isinya bukan
alamatnya dalam memori. Contoh memori ini
adalah cache memori yang akan dibahas
di akhir bab ini.
Berdasarkan karakteristik unjuk kerja,
memiliki tiga parameter utama pengukuran unjuk kerja,
yaitu :
• Access time, bagi random access memory,
waktu akses adalah waktu yang dibutuhkan
untuk melakukan operasi baca atau tulis.
Sedangkan untuk memori non-random akses
merupakan waktu yang dibutuhkan dalam
melakukan mekanisme baca atau tulis pada
lokasi tertentu.
• Memory cycle time, konsep ini digunakan
pada random access memory dan terdiri dari
access time ditambah dengan waktu yang
diperlukan transient agar hilang pada saluran
sinyal.
• Transfer rate, adalah kecepatan
data transfer ke unit memori atau dari unit memori.
Pada random access memory sama dengan
1/(cycle time). Sedangkan untuk nonrandom
access memory dengan perumusan :
TN = waktu rata – rata untuk membaca atau
menulis N bit
TA = waktu akses rata – rata
N = jumlah bit
R = kecepatan transfer dalam bit per detik
(bps)
Jenis tipe fisik memori yang
digunakan saat ini adalah memori semikonduktor dengan
teknologi VLSI dan memori permukaan
magnetik seperti yang digunakan pada disk dan pita
magnetik.
Berdasarkan karakteristik fisik,
media penyimpanan dibedakan menjadi volatile dan nonvolatile,
serta erasable dan nonerasable.
Pada volatile memory, informasi akan hilang apabila
daya listriknya dimatikan, sedangkan non-volatile
memory tidak hilang walau daya listriknya
hilang. Memori permukaan magnetik adalah
contoh no-nvolatile memory, sedangkan
semikonduktor ada yang volatile dan non-volatile.
Ada jenis memori semikonduktor yang tidak
bisa dihapus kecuali dengan menghancurkan
unit storage-nya, memori ini dikenal dengan ROM
(Read Only Memory).
31
4.3 Keandalan Memori
Untuk memperoleh keandalan sistem ada tiga
pertanyaan yang diajukan: Berapa banyak ?
Berapa cepat? Berapa mahal?
Pertanyaan berapa banyak adalah sesuatu
yang sulit dijawab, karena berapapun kapasitas
memori tentu aplikasi akan menggunakannya.
Jawaban pertanyaan berapa cepat adalah memori
harus mempu mengikuti kecepatan CPU
sehingga terjadi sinkronisasi kerja antar CPU dan
memori tanpa adanya waktu tunggu karena
komponen lain belum selesai prosesnya. Mengenai
harga, sangatlah relatif. Bagi produsen
selalu mencari harga produksi paling murah tanpa
mengorbankan kualitasnya untuk memiliki
daya saing di pasaran.
Hubungan harga, kapasitas dan waktu akses
adalah :
• Semakin kecil waktu akses, semakin besar
harga per bitnya.
• Semakin besar kapasitas, semakin kecil
harga per bitnya.
• Semakin besar kapasitas, semakin besar
waktu aksesnya.
Dilema yang dihadapi para perancang adalah
keinginan menerapkan teknologi untuk
kapasitas memori yang besar karena harga
per bit yang murah namun hal itu dibatasi oleh
teknologi dalam memperoleh waktu akses yang
cepat. Salah satu pengorganisasian masalah ini
adalah menggunakan hirarki memori.
Seperti terlihat pada gambar 4.2, bahwa semakin
menurunnya hirarki maka hal berikut akan
terjadi :
• Penurunan harga/bit
• Peningkatan kapasitas
• Peningkatan waktu akses
• Penurunan frekuensi akses memori oleh
CPU.
Kunci keberhasilan hirarki ini pada
penurunan frekuensi aksesnya. Semakin lambat
memori maka keperluan CPU untuk
mengaksesnya semakin sedikit. Secara keseluruhan sistem
komputer akan tetap cepat namun kebutuhan
kapasitas memori besar terpenuhi.
Tabel 4.2 Tabel spesifikasi memori
Tipe memori Teknologi Ukuran Waktu akses
Cache Memory semikonduktor RAM 128 – 512 KB
10 ns
Memori Utama semikonduktor RAM 4 – 128 MB
50 ns
Disk magnetik Hard Disk Gigabyte 10 ms,
10MB/det
Disk Optik CD-ROM Gigabyte 300ms, 600KB/det
Pita magnetik Tape 100 MB Det -mnt,
10MB/mnt
32
Gambar 4.2 Hirarki memori
4.4 Satuan Memori
Satuan pokok memori adalah digit biner,
yang disebut bit. Suatu bit dapat berisi sebuah
angka 0 atau 1. Ini adalah satuan yang
paling sederhana. Memori juga dinyatakan dalam byte (1
byte = 8 bit). Kumpulan byte dinyatakan
dalam word. Panjang word yang umum adalah 8, 16,
dan 32 bit.
Tabel 4.3 Tingkatan satuan memori
Symbol Number of bytes
Kilobytes Kb 2e10 1024
Megabyte Mb 2e20 1,048,576
Gigabyte Gb 2e30 1,073,741,824
Terabyte Tb 2e40 1,099,511,627,776
4.5 Memori Utama Semikonduktor
Pada komputer lama, bentuk umum random
access memory untuk memori utama adalah
sebuah piringan ferromagnetik berlubang
yang dikenal sebagai core, istilah yang tetap
dipertahankan hingga saat ini.
33
4.5.1 Jenis Memori Random Akses
Semua jenis memori yang dibahas pada bagian
ini adalah berjenis random akses, yaitu
data secara langsung diakses melalui logik
pengalamatan wired-in. Tabel 4.4 adalah daftar jenis
memori semikonduktor utama.
Hal yang membedakan karakteristik RAM (Random
Access Memory) adalah
dimungkinkannya pembacaan dan penulisan
data ke memori secara cepat dan mudah. Aspek lain
adalah RAM bersifat volatile,
sehingga RAM hanya menyimpan data sementara. Teknologi yang
berkembang saat ini adalah statik dan
dinamik. RAM dinamik disusun oleh sel – sel yang
menyimpan data sebagai muatan listrik pada
kapasitor. Karena kapasitor memiliki kecenderungan
alami untuk mengosongkan muatan, maka RAM
dinamik memerlukan pengisian muatan listrik
secara periodik untuk memelihara
penyimpanan data. Pada RAM statik, nilai biner disimpan
dengan menggunakan konfigurasi gate logika
flipflop tradisional. RAM statik akan menyimpan
data selama ada daya listriknya.
RAM statik maupun dinamik adalah volatile,
tetapi RAM dinamik lebih sederhana dan
rapat sehingga lebih murah. RAM dinamik
lebih cocok untuk kapasitas memori besar, namun
RAM statik umumnya lebih cepat.
Read only memory (ROM) sangat berbeda dengan RAM, seperti namanya, ROM berisi
pola data permanen yang tidak dapat diubah.
Data yang tidak bisa diubah menimbulkan
keuntungan dan juga kerugian. Keuntungannya
untuk data yang permanen dan sering digunakan
pada sistem operasi maupun sistem perangkat
keras akan aman diletakkan dalam ROM.
Kerugiaannya apabila ada kesalahan data
atau adanya perubahan data sehingga perlu penyisipan –
penyisipan.
Kerugian tersebut bisa diantisipasi dengan
jenis programmable ROM, disingkat PROM.
ROM dan PROM bersifat non-volatile.
Proses penulisan PROm secara elektris dengan peralatan
khusus.
Variasi ROM lainnya adalah read mostly
memory, yang sangat berguna untuk aplikasi
operasi pembacaan jauh lebih sering
daripada operasi penulisan. Terdapat tiga macam jenis,
yaitu: EPROM, EEPROM dan flash memory.
EEPROM (electrically erasable
programmable read only memory) merupakan memori
yang dapat ditulisi kapan saja tanpa
menghapus isi sebelumnya. EEPROM menggabungkan
kelebihan non-volatile dengan
fleksibilitas dapat di-update.
Bentuk memori semikonduktor terbaru adalah flash
memory. Memori ini dikenalkan
tahun 1980-an dengan keunggulan pada
kecepatan penulisan programnya. Flash memory
menggunakan teknologi penghapusan dan
penulisan elektrik. Seperti halnya EPROM, flash
34
memory hanya
membutuhkan sebuah transistor per byte sehingga dapat diperoleh kepadatan
tinggi.
Tabel 4.4 Tipe – tipe memori semikonduktor
4.5.2 Pengemasan (Packging)
Gambar 4.3a menunjukkan sebuah contoh
kemasan EPROM, yang merupakan keping 8
Mbit yang diorganisasi sebagai 1Mx8. Dalam
kasus ini, organisasi dianggap sebagai kemasan
satu word per keping. Kemasan terdiri dari
32 pin, yang merupakan salah satu ukuran kemasan
keping standar. Pin – pin tersebut
mendukung saluran – saluran sinyal beikut ini :
• Alamat word yang sedang diakses. Untuk 1M
word, diperlukan sejumlah 20 buah (220
= 1M).
• Data yang akan dibaca, terdiri dari 8
saluran (D0 –D7)
• Catu daya keping adalah Vcc
• Pin grounding Vss
• Pin chip enable (CE). Karena mungkin
terdapat lebih dari satu keping memori yang
terhubung pada bus yang sama maka pin CE
digunakan untuk mengindikasikan valid
atau tidaknya pin ini. Pin CE diaktifkan
oleh logik yang terhubung dengan bit berorde
tinggi bus alamat ( diatas A19)
• Tegangan program (Vpp).
Konfigurasi pin DRAM yang umum ditunjukkan
gambar 4.3b, untuk keping 16 Mbit
yang diorganisasikan sebagai 4M x 4.
Terdapat sejumlah perbedaan dengan keping ROM, karena
ada operasi tulis maka pin – pin data
merupakan input/output yang dikendalikan oleh WE (write
enable) dan
OE (output enable).
35
Gambar 4.3 Pin dan sinyal kemasan memori
Gambar 4.4 Packging SIMM
4.5.3 Koreksi Error
Dalam melaksanakan fungsi penyimpanan,
memori semikonduktor dimungkinkan
mengalami kesalahan. Baik kesalahan berat
yang biasanya merupakan kerusakan fisik memori
maupun kesalahan ringan yang berhubungan
data yang disimpan. Kesalahan ringan dapat
dikoreksi kembali. Untuk mengadakan koreksi
kesalahan data yang disimpan diperlukan dua
mekanisme, yaitu mekanisme pendeteksian
kesalahan dan mekanisme perbaikan kesalahan.
Mekanisme pendeteksian kesalahan dengan
menambahkan data word (D) dengan suatu
kode, biasanya bit cek paritas (C).
Sehingga data yang disimpan memiliki panjang D + C.
Kesalahan akan diketahui dengan menganalisa
data dan bit paritas tersebut. Mekanisme perbaikan
36
kesalahan yang paling sederhana adalah kode
Hamming. Metode ini diciptakan Richard Hamming
di Bell Lab pada tahun 1950.
Gambar 4.5 Koreksi kesalahan dengan kode
Hamming
Perhatikan gambar 4.5, disajikan tiga
lingkaran Venn (A, B, C) saling berpotongan
sehingga terdapat 7 ruang. Metode diatas
adalah koreksi kesalahan untuk word data 4 bit (D =4).
Gambar 4.5a adalah data aslinya. Kemudian
setiap lingkaran harus diset bit logika 1 berjumlah
genap sehingga harus ditambah bit – bit
paritas pada ruang yang kosong seperti gambar 4.5b.
Apabila ada kesalahan penulisan bit pada
data seperti gambar 4.5c akan dapat diketahui karena
lingkaran A dan B memiliki logika 1
berjumlah ganjil.
Lalu bagaimana dengan word lebih dari 4 bit
? Ada cara yang mudah yang akan
diterangkan berikut. Sebelumnya perlu
diketahui jumlah bit paritas yang harus ditambahkan
untuk sejumlah bit word. Contoh sebelumnya
adalah koreksi kesalahan untuk kesalahan tunggal
yang sering disebut single error
correcting (SEC). Jumlah bit paritas yang harus ditambahkan
lain pada double error correcting (DEC).
Tabel 4.5 menyajikan jumlah bit paritas yang harus
ditambahkan dalam sistem kode Hamming.
37
Tabel 4.5 Penambahan bit cek paritas untuk
koreksi kode Hamming
# Data Bits # Bit Paritas SEC # Bit Paritas
DEC
8 4 5
16 5 6
32 6 7
64 7 8
128 8 9
512 9 10
Contoh koreksi kode Hamming 8 bit data :
Dari tabel 4.5 untuk 8 bit data diperlukan
4 bit tambahan sehingga panjang seluruhnya
adalah 12 bit. Layout bit disajikan dibawah
ini :
Bit cek paritas ditempatkan dengan perumusan
2N dimana N = 0,1,2, ……, sedangkan bit
data adalah sisanya. Kemudian dengan
exclusive-OR dijumlahkan ebagai berikut :
38
Setiap cek bit (C) beroperasi pada setiap
posisi bit data yang nomor posisinya berisi bilangan 1
pada kolomnya.
Sekarang ambil contoh suatu data, misalnya
masukkan data : 00111001 kemudian ganti bit data
ke 3 dari 0 menjadi 1 sebagai error-nya.
Bagaimanakah cara mendapatkan bit data ke 3 sebagai
bit yang terdapat error?
Jawab :
Masukkan data pada perumusan cek bit
paritas :
Sekarang bit 3 mengalami kesalahan sehingga
data menjadi: 00111101
Apabila bit – bit cek dibandingkan antara
yang lama dan baru maka terbentuk syndrom word :
Sekarang kita lihat posisi bit ke-6 adalah
data ke-3.
Mekanisme koreksi kesalahan akan
meningkatkan realibitas bagi memori tetapi resikonya
adalah menambah kompleksitas pengolahan
data. Disamping itu mekanisme koreksi kesalahan
akan menambah kapasitas memori karena
adanya penambahan bit – bit cek paritas. Jadi ukuran
memori akan lebih besar beberapa persen atau
dengan kata lain kapasitas penyimpanan akan
berkurang karena beberapa lokasi digunakan
untuk mekanisme koreksi kesalahan.
39
4.6 Cache Memori
Cache memori difungsikan mempercepat kerja
memori sehingga mendekati kecepatan
prosesor. Konsepnya dijelaskan pada gambar
4.6 dan gambar 4.7. Dalam organisasi komputer,
memori utama lebih besar kapasitasnya namun
lambat operasinya, sedangkan cache memori
berukuran kecil namun lebih cepat. Cache
memori berisi salinan memori utama.
Pada saat CPU membaca sebuah word memori,
maka dilakukan pemeriksaan untuk
mengetahui apakah word tersebut berada
dalam cache memori. Bila ada dalam cache memori
maka dilakukan pengiriman ke CPU, bila
tidak dijumpai maka dicari dalam memori utama,
selanjutnya blok yang berisi sejumlah word
tersebut dikirim ke cache memori dan word yang
diminta CPU dikirimkan ke CPU dari cache
memori. Karena fenomena lokalitas referensi, ketika
blok data diberikan ke dalam cache memori,
terdapat kemungkinan bahwa word-word berikutnya
yang berada dalam satu blok akan diakses
oleh CPU. Konsep ini yang menjadikan kinerja
memori lebih baik.
Gambar 4.6 Hubungan cache memori
Sehingga dapat disimpulkan bahwa kerja
cache adalah antisipasi terhadap permintaan
data memori yang akan digunakan CPU.
Apabila data diambil langsung dari memori utama
bahkan memori eksternal akan memakan waktu
lama yang menyebabkan status tunggu pada
prosesor.
Ukuran cache memori adalah kecil, semakin
besar kapasitasnya maka akan
memperlambat proses operasi cache memori
itu sendiri, disamping harga cache memori yang
sangat mahal.
40
Gambar 4.7 Organisasi cache memori
4.7 Elemen Rancangan
Walaupun terdapat banyak implementasi
cache, namun dari sisi organisasi maupun
arsitekturnya tidak banyak macamnya.
Tabel 4.6 Unsur – unsur rancangan cache memori
Unsur Macam
Kapasitas -
Ukuran blok -
Mapping 1. Direct Mapping
2. Assosiative Mapping
3. Set Assosiative Mapping
Algoritma pengganti 1. Least recently
used (LRU)
2. First in first out (FIFO)
3. Least frequently used (LFU)
4. Random
Write Policy 1. Write Througth
2. Write Back
3. Write Once
Jumlah Cache 1. Singe atau dua level
2. Unified atau split
41
4.7.1 Kapasitas Cache
Menentukan ukuran memori cache sangatlah
penting untuk mendongkrak kinerja
komputer. Dari segi harga cache sangatlah
mahal tidak seperti memori utama. Semakin besar
kapasitas cache tidak berarti semakin cepat
prosesnya, dengan ukuran besar akan terlalu banya
gate pengalamatannya sehingga akan
memperlambat proses.
Kita bisa melihat beberapa merek prosesor
di pasaran beberapa waktu lalu. AMD
mengeluarkan prosesor K5 dan K6 dengan
cache yang besar (1MB) tetapi kinerjanya tidak bagus.
Kemudian Intel pernah mengeluarkan prosesor
tanpa cache untuk alasan harga yang murah, yaitu
seri Intel Celeron pada tahun 1998-an hasil
kinerjanya sangat buruk terutama untuk operasi data
besar, floating point, 3D. Intel Celeron
versi berikutnya sudah ditambah cache sekitar 128KB.
Lalu berapa idealnya kapasitas cache?
Sejumlah penelitian telah menganjurkan bahwa
ukuran cache antara 1KB dan 512KB akan
lebih optimum [STA96].
4.7.2 Ukuran Blok
Elemen rancangan yang harus diperhatikan
lagi adalah ukuran blok. Telah dijelaskan
adanya sifat lokalitas referensi maka nilai
ukuran blok sangatlah penting. Apabila blok berukuran
besar ditransfer ke cache akan menyebabkan hit
ratio mengalami penurunan karena banyaknya
data yang dikirim disekitar referensi.
Tetapi apabila terlalu kecil, dimungkinkan memori yang
akan dibutuhkan CPU tidak tercakup. Apabila
blok berukuran besar ditransfer ke cache, maka
akan terjadi :
1. Blok – blok yang berukuran lebih besar
mengurangi jumlah blok yang menempati
cache. Karena isi cache sebelumnya akan
ditindih.
2. Dengan meningkatnya ukuran blok maka
jarak setiap word tambahan menjadi lebih
jauh dari word yang diminta, sehingga
menjadi lebih kecil kemungkinannya digunakan
cepat.
Hubungan antara ukuran blok dan hit ratio
sangat rumit untuk dirumuskan, tergantung
pada karakteristik lokalitas programnya dan
tidak terdapat nilai optimum yang pasti telah
ditemukan. Ukuran antara 4 hingga 8 satuan
yang dapat dialamati (word atau byte) cukup
beralasan untuk mendekati nilai optimum
[STA96].
4.7.3 Fungsi Pemetaan (Mapping)
Telah kita ketahui bahwa cache mempunyai
kapasitas yang kecil dibandingkan memori
utama. Sehingga diperlukan aturan blok –
blok mana yang diletakkan dalam cache. Terdapat tiga
metode, yaitu pemetaan langsung, pemetaan
asosiatif, dan pemetaan asosiatif set.
42
Pemetaan Langsung
Pemetaan langsung adalah teknik yang paling
sederhana, yaitu teknik ini memetakan blok
memori utama hanya ke sebuah saluran cache
saja. Gambar 4.8 menjelaskan mekanisme
pemetaan langsung.
Gambar 4.8 Organisasi cache pemetaan
langsung
i = j modulus m dan m = 2r
dimana :
i = nomer saluran cache
j = nomer blok memori utama
m = jumlah saluran yang terdapat dalam
cache
Fungsi pemetaan diimplementasikan dengan
menggunakan alamat, yang terdiri dari tiga
field (tag, line, word), lihat gambar 4.8.
w = word, adalah bit paling kurang berarti
yang mengidentifikasikan word atau byte unik
dalam blok memori utama.
s = byte sisa word yang menspesifikasi
salah satu dari 2S blok memori utama. Cache
logik menginterpretasikan bit – bit S
sebagai suatu tag s – r bit (bagian paling berarti
dalam alamat) dan field saluran r bit.
43
Efek pemetaan tersebut adalah blok – blok
memori utama diberikan ke saluran cache seperti
berikut ini:
Jadi dalam metode ini pemetaan adalah
bagian alamat blok memori utama sebagai nomer
saluran cache. Ketika suatu blok data
sedang diakses atau dibaca terhadap saluran yang diberikan,
maka perlu memberikan tag bagi data untuk
membedakannya dengan blok – blok lain yang dapat
sesuai dengan saluran tersebut.
Pada gambar 4.9 disajikan contoh pemetaan
langsung dengan m = 16K, maka pemetaannya :
Perlu diketahui bahwa tidak ada dua buah
blok yang dipetakan ke nomer saluran uang sama
memiliki tag sama. Sehingga 000000, 010000,
…., FF0000 masing – masing memiliki tag 00, 01,
…., FF.
44
Gambar 4.9 Contoh pemetaan langsung
Teknik pemetaan ini sederhana dan mudah
diimplementasikan, namun kelemahannya
adalah terdapat lokasi cache yang tetap
bagi sembarang blok – blok yang diketahui. Dengan
demikian, apabila suatu program berulang –
ulang melakukan word referensi dari dua blok yang
berbeda memetakan saluran yang sama maka
blok – blok itu secara terus – menerus akan di-swap
ke dalam cache sehingga hit rasionya akan
rendah.
Pemetaan Assosiatif
Pemetaan asosiatif mengatasi kekurangan
pemetaan langsung dengan cara setiap blok memori
utama dapat dimuat ke sembarang saluran
cache. Alamat memori utama diinterpretasikan dalam
field tag dan field word oleh kontrol
logika cache. Tag secara unik mengidentifikasi sebuah blok
memori utama.
45
Mekanisme untuk mengetahui suatu blok dalam
cache dengan memeriksa setiap tag
saluran cache oleh kontrol logika cache.
Dengan pemetaan ini didapat fleksibilitas dalam
penggantian blok baru yang ditempatkan
dalam cache. Algoritma penggantian dirancang untuk
memaksimalkan hit ratio, yang pada pemetaan
langsung terdapat kelemahan dalam bagian ini.
Kekurangan pemetaan asosiatif adalah
kompleksitas rangkaian sehingga mahal secara ekonomi.
Gambar 4.10 Organisasi cache dengan
pemetaan asosiatif
Pemetaan Assosiatif Set
Pemetaan asosiatif set menggabungkan
kelebihan yang ada pada pemetaan langsung dan
pemetaan asosiatif. Memori cache dibagi
dalam bentuk set – set.
Pemetaan asosiatif set prinsipnya adalah
penggabungan kedua pemetaan sebelumnya.
Alamat memori utama diinterpretasikan dalam
tiga field, yaitu: field tag, field set, dan field word.
Hal ini mirip dalam pemetaan langsung.
Setiap blok memori utama dapat dimuat dalam
sembarang saluran cache. Gambar 4.11
menjelaskan organisasi pemetaan asosiatif set.
Dalam pemetaan asosiatif set, cache dibagi
dalam v buah set, yang masing –masing
terdiri dari k saluran. Hubungan yang
terjadi adalah :
m = v x k
i = j modulus v dan v = 2d dimana :
i = nomer set cache
j = nomer blok memori utama
m = jumlah saluran pada cache
46
Gambar 4.11 Organisasi cache dengan
pemetaan asosiatif set
Gambar 4.12 Contoh pemetaan asosiatif set
47
Gambar 4.12 menjelaskan contoh yang
menggunakan pemetaan asosiatif set dengan dua
saluran pada masing-masing set, yang
dikenal sebagai asosiatif set dua arah. Nomor set
mengidentifikasi set unik dua saluran di
dalam cache. Nomor set ini juga memberikan jumlah
blok di dalam memori utama, modulus 2.
Jumlah blok menentukan pemetaan blok terhadap
saluran. Sehingga blok-blok 000000,
00A000,…,FF1000 pada memori utama dipetakan terhadap
set 0 cache. Sembarang blok tersebut dapat
dimuatkan ke salah satu dari kedua saluran di dalam
set. Perlu dicatat bahwa tidak terdapat dua
blok yang memetakannya terhadap set cache yang
sama memiliki nomor tag yang sama. Untuk
operasi read, nomor set dipakai untuk menentukan
set dua saluran yang akan diuji. Kedua
saluran di dalam set diuji untuk mendapatkan yang cocok
dengan nomor tag alamat yang akan diakses.
Penggunaan dua saluran per set ( v =
m/2, k = 2), merupakan organisasi asosiatif set yang
paling umum. Teknik ini sangat meningkatkan
hit ratio dibandingkan dengan pemetaan langsung.
Asosiatif set empat arah (v = m/4, k =
4) memberikan peningkatan tambahan yang layak dengan
penambahan harga yang relatif rendah.
Peningkatan lebih lanjut jumlah saluran per set hanya
memiliki efek yang sedikit.
4.7.4 Algoritma Penggantian
Yang dimaksud Algoritma Penggantian adalah
suatu mekanisme pergantian blok – blok
dalam memori cache yang lama dengan data
baru. Dalam pemetaan langsung tidak diperlukan
algoritma ini, namun dalam pemetaan
asosiatif dan asosiatif set, algoritma ini mempunyai
peranan penting untuk meningkatkan kinerja
cache memori.
Banyak algoritma penggantian yang telah
dikembangkan, namun dalam buku ini akan
dijelaskan algoritma yang umum digunakan
saja. Algoritma yang paling efektif adalah Least
Recently Used (LRU), yaitu mengganti blok data yang terlama berada dalam cache dan
tidak
memiliki referensi. Algoritma lainnya
adalah First In First Out (FIFO), yaitu mengganti blok data
yang awal masuk. Kemudian Least
Frequently Used (LFU) adalah mengganti blok data yang
mempunyai referensi paling sedikit. Teknik
lain adalah algoritma Random, yaitu penggantian
tidak berdasakan pemakaian datanya,
melainkan berdasar slot dari beberapa slot kandidat secara
acak.
4.7.5 Write Policy
Apabila suatu data telah diletakkan pada
cache maka sebelum ada penggantian harus
dicek apakah data tersebut telah mengalami
perubahan. Apabila telah berubah maka data pada
memori utama harus di-update. Masalah
penulisan ini sangat kompleks, apalagi memori utama
48
dapat diakses langsung oleh modul I/O, yang
memungkinkan data pada memori utama berubah,
lalu bagaimana dengan data yang telah
dikirim pada cache? Tentunya perbedaan ini menjadikan
data tidak valid.
Teknik yang dikenalkan diantaranya, write
through, yaitu operasi penulisan melibatkan
data pada memori utama dan sekaligus pada
cache memori sehingga data selalu valid.
Kekurangan teknik ini adalah menjadikan
lalu lintas data ke memori utama dan cache sangat
tinggi sehingga mengurangi kinerja sistem,
bahkan bisa terjadi hang.
Teknik lainnya adalah write back,
yaitu teknik meminimasi penulisan dengan cara
penulisan pada cache saja. Pada saat akan
terjadi penggantian blok data cache maka baru
diadakan penulisan pada memori utama.
Masalah yang timbul adalah manakala data di memori
utama belum di-update telah diakses modul
I/O sehingga data di memori utama tidak valid.
Penggunaan multi cache terutama untuk multi
prosesor adan menjumpai masalah yang
lebih kompleks. Masalah validasi data tidak
hanya antara cache dan memori utama saja, namun
antar cache juga harus diperhatikan.
Pendekatan penyelesaian masalah yang dapat dilakukan
adalah dengan :
• Bus Watching with Write Through,
yaitu setiap cache controller akan memonitoring bus
alamat untuk mendeteksi adanya operasi
tulis. Apabila ada operasi tulis di alamat yang
datanya digunakan bersama maka cache
controller akan menginvalidasi data cache-nya.
• Hardware Transparency, yaitu
adanya perangkat keras tambahan yang menjamin
semua updating data memori utama melalui
cache direfleksikan pada seluruh cache
yang ada.
• Non Cacheable Memory, yaitu hanya
bagian memori utama tertentu yang digunakan
secara bersama. Apabila ada mengaksesan
data yang tidak di share merupakan
kegagalan cache.
5.2.6 Jumlah Cache
Terdapat dua macam letak cache. Berada
dalam keping prosesor yang disebut on chip
cache atau
cache internal. Kemudian berada di luar chip prosesor yang disebut off chip
cache atau
cache eksternal.
Cache internal diletakkan dalam prosesor
sehingga tidak memerlukan bus eksternal,
akibatnya waktu aksesnya akan cepat sekali,
apalagi panjang lintasan internal bus prosesor sangat
pendek untuk mengakses cache internal.
Cache internal selanjutnya disebut cache tingkat 1 (L1).
Cache eksternal berada diluar keping chip
prosesor yang diakses melalui bus eksternal.
Pertanyaannya, apakah masih diperlukan
cache eksternal apabila telah ada cache internal? Dari
49
pengalaman, masih diperlukan untuk
mengantisipasi permintaan akses alamat yang belum
tercakup dalam cache internal. Cache
eksternal selanjutnya disebut cache tingkat 2 (L2).
Selanjutnya terdapat perkembangan untuk
memisah cache data dan cache instruksi yang
disebut unified cache. Keuntungan unified
cache adalah :
• Unified cache memiliki hit rate yang
tinggi karena telah dibedakan antara informasi
data dan informasi instruksi.
• Hanya sebuah cache saja yang perlu
dirancang dan diimplementasikan.
Namun terdapat kecenderungan untuk
menggunakan split cache, terutama pada mesin –
mesin superscalar seperti Pentium dan
PowerPC yang menekankan pada paralel proses dan
perkiraan – perkiraan eksekusi yang akan
terjadi. Kelebihan utama split cache adalah mengurangi
persaingan antara prosesor instruksi dan
unit eksekusi untuk mendapatkan cache, yang mana hal
ini sangat utama bagi perancangan prosesor
– prosesor pipelining.
50
Kebutuhan akan memori utama saja tidak
mencukupi maka diperlukan peralatan
tambahan untuk menyimpan data yang lebih
besar dan dapat dibawa kemana-mana.
Tetapi dengan semakin besarnya peralatan
penyimpanan maka dengan sendirinya akan
mempengaruhi waktu pemrosesan data.
Beberapa peralatan penyimpanan akan dijelaskan
pada bab ini.
5.1 Magnetik Disk
Disk adalah piringan bundar yang terbuat
dari bahan tertentu (logam atau plastik) dengan
permukaan dilapisi bahan yang dapat di
magnetisasi. Mekanisme baca/tulis menggunakan kepala
baca atau tulis yang disebut head,
merupakan komparan pengkonduksi (conducting coil). Desain
fisiknya, head bersifat stasioner sedangkan
piringan disk berputar sesuai kontrolnya.
Layout data
pada disk diperlihatkan pada gambar 5.1 dan gambar 5.2. Terdapat dua
metode layout data pada disk, yaitu constant
angular velocity dan multiple zoned recording. Disk
diorganisasi dalam bentuk cincin – cincin
konsentris yang disebut track. Tiap track pada disk
dipisahkan oleh gap. Fungsi gap
untuk mencegah atau mengurangi kesalahan pembacaan maupun
penulisan yang disebabkan melesetnya head
atau karena interferensi medan magnet.
Sejumlah bit yang sama akan menempati track
– track yang tersedia. Semakin ke dalam
disk maka kerapatan (density) disk
akan bertambah besar. Data dikirim ke memori ini dalam
bentuk blok, umumnya blok lebih kecil kapasitasnya
daripada track. Blok – blok data disimpan
dalam disk yang berukuran blok, yang
disebut sector. Sehingga track biasanya terisi beberapa
sector, umumnya 10 hingga 100 sector tiap
tracknya.
Bagaimana mekanisme membacaan maupun
penulisan pada disk ? Head harus bisa
mengidentifikasi titik awal atau posisi –
posisi sector maupun track. Caranya data yang disimpan
akan diberi header data tambahan yang
menginformasikan letak sector dan track suatu data.
Tambahan header data ini hanya digunakan
oleh sistem disk drive saja tanpa bisa diakses oleh
pengguna.
BAB
5
Peralatan
Penyimpanan Data
51
Gambar 5.1 Layuot data disk
Gambar 5.2 Metode layuot data disk
52
Gambar 5.3 Format data pada track disk
Gambar 5.3 diatas menggambarkan pemformatan
data pada disk. Field ID merupakan
header data yang digunakan disk drive
menemukan letak sector dan tracknya. Byte SYNCH
adalah pola bit yang menandakan awal field
data.
Karakteristik Magnetik Disk
Saat ini sesuai kekhususan penggunaan telah
beredar berbagai macam magnetik disk. Tabel 5.1
menyajikan daftar katakteristik utama dari
berbagai jenis disk.
Tabel 5.1 Karakteristik magnetik disk
Karakteristik Macam
Gerakan head 1. Fixed head (satu per track)
2. Movable head (satu per surface)
Portabilitas disk 1. Nonremovable disk
2. Removable disk
Sides 1. Single-sided
2. Double-sided
Platters 1. Single-platter
2. Multiple-platter
Mekanisme head 1. Contact (floppy)
2. Fixed gap
3. Aerodynamic gap (Winchester)
Berdasarkan gerakan head, terdapat dua
macam jenis yaitu head tetap (fixed head) dan
head bergerak (movable head) seperti
terlihat pada gambar 5.4. Pada head tetap setiap track
memiliki kepala head sendiri, sedangkan
pada head bergerak, satu kepala head digunakan untuk
beberapa track dalam satu muka disk.
Mekanisme dalam head bergerak adalah lengan head
bergerak menuju track yang diinginkan
berdasarkan perintah dari disk drive-nya.
53
Gambar 5.4 Macam disk berdasar gerakan head
Karakteristik disk berdasar portabilitasnya
dibagi menjadi disk yang tetap (nonremovable
disk) dan
disk yang dapat dipindah (removable disk). Keuntungan disk yang dapat
dipindah atau diganti – ganti adalah tidak
terbatas dengan kapasitas disk dan lebih fleksibel.
Karakteristik lainnya berdasar sides atau
muka sisinya adalah satu sisi disk (single sides)
dan dua muka disk (double sides).
Kemudian berdasarkan jumlah piringannya (platters), dibagi
menjadi satu piringan (single platter)
dan banyak piringan (multiple platter). Gambar disk dengan
multiple platters tersaji dalam gambar 5.5.
Terakhir, mekanisme head membagi disk
menjadi tiga macam, yaitu head yang
menyentuh disk (contact) seperti
pada floppy disk, head yang mempunyai celah utara tetap
maupun yang tidak tetap tergantung medan
magnetnya. Celah atau jarak head dengan disk
tergantung kepadatan datanya, semakin padat
datanya dibutuhkan jarak head yang semakin dekat,
namun semakin dekat head maka faktor
resikonya semakin besar, yaitu terjadinya kesalahan baca.
Teknologi Winchester dari IBM
mengantisipasi masalah celah head diatas dengan model head
aerodinamik. Head berbentuk lembaran timah
yang berada dipermukaan disk apabila tidak
bergerak, seiring perputaran disk maka disk
akan mengangkat headnya.
Istilah Winchester dikenalkan IBM pada
model disk 3340-nya. Model ini merupakan
removable disk pack dengan head yang
dibungkus di dalam pack. Sekarang istilah Winchester
digunakan oleh sembarang disk drive yang
dibungkus pack dan memakai rancangan head
aerodinamis.
54
Gambar 5.5 Disk piringan banyak (multiple
platters disk)
Disk drive beroperasi dengan kecepatan konstan.
Untuk dapat membaca dan menulis,
head harus berada pada track yang
diinginkan dan pada awal sectornya. Diperlukan waktu untuk
mencapai track yang diinginkan, waktu yang
diperlukan disebut aebagai seek time. Apabila track
sudah didapatkan maka diperlukan waktu
sampai sector yang bersangkutan berputar sesuai
dengan headnya, yang disebut rotational
latency. Jumlah seek time dan rotational latency disebut
dengan access time. Dengan kata
lain, access time adalah waktu yang diperlukan disk untuk
berada pada posisi siap membaca atau
menulis.
Berikutnya akan dijelaskan memori eksternal
yang termasuk magnetik disk, yaitu floppy
disk (disket), harddisk model IDE dan
harddisk model SCSI.
55
Floppy Disk (Disket)
Dengan berkembangnya komputer pribadi maka
diperlukan media untuk
mendistribusikan software maupun pertukaran
data. Solusinya ditemukannya disket atau floppy
disk oleh
IBM.
Karakteristik disket adalah head menyentuh
permukaan disk saat membaca ataupun
menulis. Hal ini menyebabkan disket tidak
tahan lama dan sering rusak. Untuk mengurangi
kerusakan atau aus pada disket, dibuat
mekanisme penarikan head dan menghentikan rotasi disk
ketika head tidak melakukan operasi baca
dan tulis. Namun akibatnya waktu akses disket cukup
lama. Gambar 5.6. memperlihatkan bentuk
floppy disk.
Gambar 5.6 Floppy disk
Tabel 5.2 Karekteristik berbagai macam
disket
Parameter LD 5,25” HD 5,25” LD 3,5” HD
3,5”
Ukuran (inchies) 5,25 5,25 3,5 3,5
Kapasitas (byte) 360K 1,2M 720K 1,44M
Tracks 40 80 80 80
Sectors/track 9 15 9 18
Heads 2 2 2 2
Rotasi/min 300 500 300 300
Data rate (kbps) 250 500 250 500
Tipe flexible flexible rigid rigid
56
Ada dua ukuran disket yang tersedia, yaitu
5,25 inchi dan 3,5 inchi dengan masing –
masing memiliki versi low density (LD)
dan high density (HD). Disket 5,25 inchi sudah tidak
popular karena bentuknya yang besar,
kapasitas lebih kecil dan selubung pembungkusnya tidak
kuat. Perhatikan karakteristik model disket
yang beredar saat ini pada tabel 5.2.
IDE Disk (Harddisk)
Saat IBM menggembangkan PC XT, menggunakan
sebuah hardisk Seagate 10 MB untuk
menyimpan program maupun data. Harddisk ini
memiliki 4 head, 306 silinder dan 17 sektor per
track, dicontrol oleh pengontrol disk Xebec
pada sebuah kartu plug-in.
Teknologi yang berkembang pesat menjadikan
pengontrol disk yang sebelumnya terpisah
menjadi satu paket terintegrasi, diawali
dengan teknologi drive IDE (Integrated Drive
Electronics)
pada tengah tahun 1980. Teknologi saat itu IDE hanya mampu menangani disk
berkapasitas maksimal 528 MB dan mengontrol
2 disk.
Seiring kebutuhan memori, berkembang
teknologi yang mampu menangani disk
berkapasitas besar. IDE berkembang menjadi
EIDE (Extended Integrated Drive Electronics) yang
mampu menangani harddisk lebih dari 528 MB
dan mendukung pengalamatan LBA (Logical
Block Addressing), yaitu metode pangalamatan yang hanya memberi nomer pada sektor –
sektor
mulai dari 0 hingga maksimal 224-1. Metode
ini mengharuskan pengontrol mampu mengkonversi
alamat – alamat LBA menjadi alamat head,
sektor dan silinder. Peningkatan kinerja lainnya
adalah kecepatan tranfer yang lebih tinggi,
mampu mengontrol 4 disk, mampu mengontrol drive
CD-ROM.
SCSI Disk (Harddisk)
Disk SCSI (Small Computer System
Interface) mirip dengan IDE dalam hal organisasi
pengalamatannya. Perbedaannya pada piranti
antarmukanya yang mampu mentransfer data dalam
kecepatan tinggi. Versi disk SCSI terlihat
pada tabel 5.3.
Karena kecepatan transfernya tinggi, disk
ini merupakan standar bagi komputer UNIX
dari Sun Microsystem, HP, SGI, Machintos,
Intel terutama komputer – komputer server jaringan,
dan vendor – vendor lainnya.
SCSI sebenarnya lebih dari sekedar piranti
antarmuka harddisk. SCSI adalah sebuah bus
karena SCSI mampu sebagai pengontrol hingga
7 peralatan seperti: harddisk, CD ROM, rekorder
CD, scanner dan peralatan lainnya. Masing –
masing peralatan memiliki ID unik sebagai media
pengenalan oleh SCSI.
57
Tabel 5.3 Versi disk SCSI
Nama Data bits Bus MHz MB/det
SCSI-1 8 5 5
Fast SCSI 8 10 10
Wide Fast SCSI 16 10 20
Ultra SCSI 8 20 20
Wide Ultra SCSI 16 20 40
Ultra-2 SCSI 8 40 40
Wide Ultra-2 SCSI 16 40 80
5.2 RAID
Telah dijelaskan diawal bahwa masalah utama
sistem memori adalah mengimbangi laju
kecepatan CPU. Beberapa teknologi dicoba
dan dikembangkan, diantaranya menggunakan
konsep akses paralel pada disk.
RAID (Redundancy Array of Independent
Disk) merupakan organisasi disk memori yang
mampu menangani beberapa disk dengan sistem
akses paralel dan redudansi ditambahkan untuk
meningkatkan reliabilitas. Karena kerja
paralel inilah dihasilkan resultan kecepatan disk yang
lebih cepat. Teknologi database sangatlah
penting dalam model disk ini karena pengontrol disk
harus mendistribusikan data pada sejumlah
disk dan juga membacaan kembali. Karakteristik
umum disk RAID :
• RAID adalah sekumpulan disk drive yang
dianggap sebagai sistem tunggal disk.
• Data didistribusikan ke drive fisik
array.
• Kapasitas redudant disk digunakan untuk
menyimpan informasi paritas, yang menjamin
recoveribility data ketika terjadi masalah
atau kegagalan disk.
Jadi RAID merupakan salah satu jawaban masalah
kesenjangan kecepatan disk memori
dengan CPU dengan cara menggantikan disk
berkapasitas besar dengan sejumlah disk – disk
berkapasitas kecil dan mendistribusikan
data pada disk – disk tersebut sedemikian rupa sehingga
nantinya dapat dibaca kembali.
RAID tingkat 0
Sebenarnya bukan RAID karena tidak
menggunakan redundansi dalam meningkatkan
kinerjanya. Data didistribusikan pada
seluruh disk secara array merupakan keuntungan daripada
menggunakan satu disk berkapasitas besar.
Sejalan perkembangan RAID – 0 menjadi model
data strip pada disk dengan suatu
management tertentu hingga data sistem data
dianggap tersimpan pada suatu
58
disk logik. Mekanisme tranfer data dalam
satu sektor sekaligus sehingga hanya baik untuk
menangani tranfer data besar.
RAID tingkat 1
Pada RAID – 1, redundansi diperoleh dengan
cara menduplikasi seluruh data pada disk
mirror-nya.
Seperti halnya RAID – 0, pada tingkat 1 juga menggunakan teknologi stripping,
perbedaannya adalah dalam tingkat 1 setiap
strip logik dipetakkan ke dua disk yang secara logika
terpisah sehingga setiap disk pada array
akan memiliki mirror disk yang berisi data sama. Hal ini
menjadikan RAID – 1 mahal. Keuntungan RAID
– 1:
• Permintaan pembacaan dapat dilayani oleh
salah satu disk karena terdapat dua disk
berisi data sama, tergantung waktu akses
yang tercepat.
• Permintaan penyimpanan atau penulisan
dilakukan pada 2 disk secara paralel.
• Terdapat back-up data, yaitu dalam disk mirror-nya.
RAID – 1 mempunyai peningkatan kinerja
sekitar dua kali lipat dibandingkan RAID – 0
pada operasi baca, namun untuk operasi
tulis tidak secara signifikan terjadi peningkatan. Cocok
digunakan untuk menangani data yang sering
mengalami kegagalan dalam proses pembacaan.
RAID – 1 masih bekerja berdasarkan sektor –
sektornya.
RAID tingkat 2
RAID – 2 mengganakan teknik akses paralel
untuk semua disk. Dalam proses operasinya,
seluruh disk berpartisipasi dan
mengeksekusi setiap permintaan sehingga terdapat mekanisme
sinkronisasi perputaran disk dan headnya.
Teknologi stripping juga digunakan
dalam tingkat ini, hanya stripnya berukuran kecil, sering kali
dalam ukuran word atau byte.
Koreksi kesalahan menggunakan sistem bit paritas dengan kode
Hamming. Cocok digunakan untuk menangani
sistem yang kerap mengalami kesalahan disk.
RAID tingkat 3
Diorganisasikan mirip dengan RAID – 2,
perbedaannya pada RAID – 3 hanya
membutuhkan disk redudant tunggal, tidak
tergantung jumlah array disknya. Bit paritas
dikomputasikan untuk setiap data word dan
ditulis pada disk paritas khusus. Saat terjadi
kegagalan drive, data disusun kembali dari
sisa data yang masih baik dan dari informasi
paritasnya.
RAID – 3 menggunakan akses paralel dengan
data didistribusikan dalam bentuk strip –
strip kecil. Kinerjanya menghasilkan
transfer berkecepatan tinggi, namun hanya dapat
59
mengeksekusi sebuah permintaan I/O saja
sehingga kalau digunakan pada lingkungan transaksi
data tinggi terjadi penurunan kinerja.
RAID tingkat 4
RAID – 4 menggunakan teknik akses yang
independen untuk setiap disknya sehingga
permintaan baca atau tulis dilayani secara
paralel. RAID ini cocok untuk menangani sistem
dengan kelajuan tranfer data yang tinggi.
Tidak memerlukan sinkronisasi disk karena setiap
disknya beroperasi secara independen.
Stripping data dalam ukuran yang besar.
Strip paritas bit per bit dihitung ke
seluruh strip yang berkaitan pada setiap disk data.
Paritas disimpan pada disk paritas khusus.
Saat operasi penulisan, array management software
tidak hanya meng-update data tetapi juga
paritas yang terkait. Keuntungannya dengan disk paritas
yang khusus menjadikan keamanan data lebih
terjamin, namun dengan disk paritas yang terpisah
akan memperlambat kinerjanya.
RAID tingkat 5
Mempunyai kemiripan dengan RAID – 4 dalam
organisasinya, perbedaannya adalah strip
– strip paritas didistribusikan pada
seluruh disk. Untuk keamanan, strip paritas suatu disk
disimpan pada disk lainnya. RAID – 4
merupakan perbaikan dari RAID – 4 dalam hal
peningkatan kinerjanya. Disk ini biasanya
digunakan dalam server jaringan.
RAID tingkat 6
Merupakan teknologi RAID terbaru.
Menggunakan metode penghitungan dua paritas untuk
alasan keakuratan dan antisipasi terhadap
koreksi kesalahan. Seperti halnya RAID – 5, paritas
tersimpan pada disk lainnya. Memiliki
kecepatan transfer yang tinggi.
5.3 Optical Disk
Pada tahun 1980, Philips dan Sony
mengembangkan CD (Compact Disk). Detail teknis
produk ini dipublikasikan dalam international
standard resmi pada tahun 1983 yang populer
disebut red book. CD merupakan disk
yang tidak dapat dihapus, mampu menyimpan memori
kurang lebih 60 menit informasi audio pada
salah satu sisinya. Keberhasilan secara komersial CD
yang mampu menyimpan data dalam jumlah yang
besar, menjadikannya media penyimpan yang
fleksibel digunakan di berbagai peralatan
seperti komputer, kamera video, MP3 player, dan lainlain.
60
Sejak dipublikasikan sampai dengan saat
ini, terdapat bermacam-macam variasi sesuai
dengan penggunaan dan teknologinya. Berikut
tabel diantara produk-produk optical disk :
Tabel 5.4 Produk – produk opitical disk
CD Compact Disk. Suatu disk yang
tidak dapat dihapus yang menyimpan
informasi audio yang telah didigitasi.
Sistem standar menggunakan disk 12
cm yang dapat merekam lebih dari 60 menit
waktu putar tanpa terhenti.
CD - ROM Compact Disk Read-Only Memory.
Disk yang tidak dapat dihapus untuk
menyimpan data komputer. Sistem standar
menggunakan disk 12 cm yang
dapat menampung lebih dari 550 Mbyte.
CD – R Compact Disk Recordables.
Merupakan CD untuk penggunaan khusus,
biasanya untuk master CD dan photo CD.
Lapisan reflektif terbuat dari
emas sehingga berwarna kuning. Kapasitas
sama dengan CD lainnya.
CD – RW Digital Video Rewritables.
Merupakan generasi CD yang dapat ditulis
berulang kali namun belum populer saat ini
karena masih relatif mahal.
DVD Digital Vesatile Disk. Salah
satu jenis CD yang memiliki pit data lebih
kecil, spiral data yang lebih rapat
sehingga kapasitasnya sangat besar, bisa
mencapai 4,7GB untuk sisi tunggal dan
berlapis tunggal.Laser optis yang
digunakan adalah laser merah yang berukuran
lebih kecil dari CD biasa.
Kualitas yang dihasilkan juga lebih baik
dari CD model lain.
CD ROM
(Compact Disk – Read Only Memory).
Merupakan generasi CD yang diaplikasikan
sebagai media penyimpan data komputer.
Dikenalkan pertama kali oleh Phillips dan Sony tahun
1984 dalam publikasinya, yang dikenal
dengan Yellow Book.
Perbedaan utama dengan CD adalah CD ROM
player lebih kasar dan memiliki perangkat
pengoreksi kesalahan, untuk menjamin
keakuratan tranfer data ke komputer. Secara fisik
keduanya dibuat dengan cara yang sama,
yaitu terbuat dari resin, contohnya polycarbonate, dan
dilapisi dengan permukaan yang sangat
reflektif seperti aluminium.
Penulisan dengan cara membuat lubang
mikroskopik sebagai representasi data dengan
laser berintensitas tinggi. Pembacaan
menggunakan laser berintensitas rendah untuk
menterjemahkan lubang mikroskopik ke dalam
bentuk data yang dapat dikenali komputer. Saat
mengenai lubang miskrokopik, intensitas
sinar laser akan berubah – ubah. Perubahan intensitas
ini dideteksi oleh fotosensor dan
dikonversi dalam bentuk sinyal digital.
Karena disk berbentuk lingkaran, terdapat
masalah dalam mekanisme baca dan tulis,
yaitu masalah kecepatan. Saat disk membaca
data dibagian dekat pusat disk diperlukan putaran
rendah karena padatnya informasi data,
sedangkan apabila data berada di bagian luar disk
diperlukan kecepatan yang lebih tinggi. Ada
beberapa metode mengatasai masalah kecepatan ini,
61
diantaranya dengan sistem constant
angular velocity (CAV), yaitu bit – bit informasi direkam
dengan kerapatan yang bervariasi sehingga
didapatkan putaran disk yang sama. Metode ini biasa
diterapkan dalam disk magnetik,
kelemahannya adalah kapasitas disk menjadi berkurang. Metode
lain, yang biasa diterapkan pada disk optik
adalah constant linier velocity (CLV), yaitu dalam
mengantisipasi kerapatan data pada disk
dengan menyesuaikan kecepatan putaran disk yang
dikontrol oleh disk drive-nya.
Keuntungannya adalah kapasitas disk besar, namun waktu akses
secara keseluruhan lebih lambat
dibandingkan metode CAV. Layout disk CLV terlihat pada
gambar 5.7.
Gambar 5.7 Layout disk CLV
Data pada CD-ROM diorganisasikan sebagai
sebuah rangkaian blok-blok. Formasi blok
yang umum ditunjukkan pada gambar 5.8.
Format ini terdiri dari field-field sebagai berikut :
• Sync : Field sync mengidentifikasikan
awal sebuah blok. Field ini terdiri dari sebuah
byte yang seluruhnya nol, 10 byte yang
seluruhnya satu, dan sebuah byte akhir yang
seluruhnya nol.
• Header : Header terdiri dari
alamat blok dan byte mode. Mode nol menandakan suatu
field data blanko; mode satu menandakan
penggunaan kode error-correcting dan 2048
byte data; mode dua menandakan 2336 byte
data pengguna tanpa kode error-correcting.
• Data : Data pengguna
• Auxiliary : Data pengguna tambahan
dalam mode dua. Pada mode satu, data ini
merupakan kode error-correcting 288 byte.
Untuk dapat digunakan diberbagai sistem
operasi, perlu adanya sistem file CD-ROM
yang standar. Diadakan pertemuan antar
produsen CD untuk membahas standar ini di High
Sierras (perbatasan California – Nevada)
sehingga standar sistem file CD-ROM dikenal dengan
sebutan High Sierra (IS 9660).
Standar ini meliputi 3 level. Level 1 diantaranya berisi :
62
• Nama – nama file maksimum 8 karakter,
yang secara opsional diikuti dengan nama
ekstensi maksimal 3 karakter. (Menyesuaikan
sistem operasi MS-DOS. Untuk level 2
mencapai 32 karakter.
• Nama – nama file hanya dapat memuat huruf
– huruf besar, digit, dan karakter
tambahan tertentu saja.
• Direktori dapat dibuat hingga mencapai 8
tingkat tanpa memuat karakter ekstensi.
Gambar 5.8 Format blok CD-ROM
CD – R
(Compact Disk Recordables) Secara fisik CD-R merupakan CD polikarbonat kosong
berdiameter 120 mm sama seperti CD ROM.
Perbedaannya adanya alur – alur untuk
mengarahkan laser saat penulisan. Awalnya
CD-R dilapisi emas sebagai media refleksinya.
Permukaan reflektif pada lapisan emas tidak
memiliki depresi atau lekukan – lekukan
fisik seperti halnya pada lapisan aluminium
sehingga harus dibuat tiruan lekukan antara pit dan
land-nya. Caranya dengan menambahkan
lapisan pewarna di antara pilikarbonat dan lapisan
emas. Jenis pewarna yang sering digunakan
adalah cyanine yang berwarna hijau dan pthalocynine
yang berwarna oranye kekuning-kuningan.
Pewarna ini sama seperti yang digunakan dalam film
fotografi sehingga menjadikan Kodak dan
Fuji produsen utama CD-R.
Sebelum digunakan pewarna bersifat
transparan sehingga sinar laser berdaya tinggi dapat
menembus sampai ke lapisan emas saat proses
penulisan. Saat sinar laser mengenai titik pewarna,
sinar ini memanaskannya sehingga pewarna
terurai melepaskan ikatan kimianya membentuk
suatu noda. Noda – noda inilah sebagai
representasi data yang nantinya dapat dikenali oleh fotodetektor
apabila disinari dengan laser berdaya
rendah saat proses pembacaan.
Seperti halnya jenis CD lainnya, CD-R
dipublikasikan dalam buku tersendiri yang
memuat spisifikasi teknisnya yang dikenal
dengan Orange Book. Buku ini dipublikasikan tahun
1989.
63
Terdapat format pengembangan, yaitu
ditemukannya seri CD-ROM XA yang
memungkinkan penulisan CD-R secara
inkremental sehingga menambah fleksibilitas produk ini.
Kenapa hal ini bisa dilakukan, karena
sistem ini memiliki multitrack dan setiap track memiliki
VOTC (volume table of content)
tersendiri. Berbeda dengan model CD-ROM sebelumnya yang
hanya memiliki VOTC tunggal pada permulaan
saja.
CD – RW
(Compact Disk Rewritables) Jenis CD
ini memungkinkan penulisan berulang kali sehingga jenis
ini memiliki nilai kompetitif dibandingkan
jenis lain. Namun CD-RW belum banyak dipasaran
karena masih relatif mahal.
Karena proses penulisan berulang kali maka
secara fisik berbeda dengan CD-R. CD-RW
tidak menggunakan lapisan pewarna, namun
menggunakan logam paduan antara perak, indium,
antimon dan tellurium.
CD-RW drive menggunakan laser dalam 3 daya
berbeda. Laser berdaya tinggi bertugas
melelehkan paduan logam untuk mengubah
kondisi stabil kritalin reflektivitas tinggi menjadi
kondisi stabil amorf reflektivitas rendah
agar menyerupai sebiah pit. Laser berdaya sedang
menjadikan logam paduan meleleh dan berubah
menjadi kondisi kristalin alamiah sebagai
representasi land. Sedangkan laser berdaya
rendah digunakan dalam proses pembacaan saja.
Saat ini CD-RW belum mampu menggeser
penggunaan CD-R karena disamping harganya masih
relatif mahal dibandingkan CD-R, juga
karena CD-R yang tidak dapat dihapus merupakan backup
data terbaik saat ini.
DVD
(Digital Versatile Disk, awalnya Digital
Video Disk) Merupakan pengembangan CD
untuk memenuhi kebutuhan pasar dalam
penyimpanan memori besar.
Desain DVD sama dengan CD biasa, terbuat
dari polikarbonat 1,2 mm yang berisi pit dan
land, disinari dioda laser dan dibaca oleh
foto-detektor. Hal yang baru adalah :
• Pit – pit lebih kecil (0,4 mikron, atau
setengahnya CD biasa)
• Spiral lebih rapat (0,74 mikron,
sedangkan pada CD biasa 1,6 mikron)
• Menggunakan teknologi laser merah dengan ukuran
0,65 mikron, sedangkan pada CD
biasa 0,78 mikron.
Hal baru diatas menjadikan DVD lebih besar
kapasitasnya, yaitu untuk sisi tunggal dan
berlapis tunggal 4,7 GB, sedangkan untuk
berlapis ganda ataupun bersisi ganda akan lebih besar
lagi.
64
Tranfer data pada DVD drive sekitar 1,4
MB/det, sedangkan CD biasa hanya 150 KB/det.
Kecepatan, teknologi laser yang berbeda
menimbulkan sedikit masalah untuk kompatibilitas
dengan teknologi CD maupun CD-ROM. Akan
tetapi, saat ini beberapa produsen telah
mengantisipasi dengan diada laser ganda
ataupun teknologi lain yang memungkinkan saling
kompatibel. Saat ini berkembang 4 format
DVD, yaitu :
• Bersisi tunggal dengan lapisan tunggal
(kapasitas 4,7 GB)
• Bersisi tunggal dengan lapisan ganda
(kapasitas 8,5 GB)
• Bersisi ganda dengan lapisan tunggal
(kapasitas 9,4 GB)
• Bersisi ganda dengan lapisan ganda
(kapasitas 17 GB)
Piringan berlapis ganda memiliki satu
lapisan reflektif pada bagiuan bawah, yang ditutup
dengan lapisan semireflektif. Lapisan bawah
memiliki pit dan land yang lebih lebar agar akurat
dalam pembacaan sehingga lapisan bawah
berkapasitas lebih kecil daripada lapisan atasnya. Pada
piringan bersisi ganda dibuat dengan
melekatkan dua sisi disk.
5.4 Pita Magnetik
Sistem pita magnetik menggunakan teknik
pembacaan dan penulisan yang identik dengan
sistem disk magnetik.
Medium pita magnetik berbentuk track –
track paralel, sistem pita lama berjumlah 9 buah
track sehingga memungkinkan penyimpanan
satu byte sekali simpan dengan satu bit paritas pada
track sisanya. Sistem pita baru menggunakan
18 atau 36 track sebagai penyesuaian terhadap lebar
word dalam format digital.
Seperti pada disk, pita magnetik dibaca dan
ditulisi dalam bentuk blok – blok yang
bersambungan (kontinyu) yang disebut physical
record. Blok – blok tersebut dipisahkan oleh gap
yang disebut inter-record gap.
Gambar 5.9 menyajikan format fisik pita magnetik.
Gambar 5.9 Format fisik pita magnetik
65
Head pita magnetik merupakan perangkat sequential
access. Head harus menyesuaikan
letak record yang akan dibaca ataupun akan
ditulisi. Apabila head berada di tempat lebih atas dari
record yang diinginkan maka pita perlu
dimundurkan dahulu, baru dilakukan pembacaan dengan
arah maju. Hal ini sangat berbeda pada
teknologi disk yang menggunakan teknik direct access.
Kecepatan putaran pita magnetik adalah
rendah sehingga transfer data menjadi lambat, saat ini
pita magnetik mulai ditinggalkan digantikan
oleh jenis – jenis produk CD.
66
Sistem komputer memiliki tiga komponen
utama, yaitu : CPU, memori (primer dan
sekunder), dan peralatan masukan/keluaran (I/O
devices) seperti printer, monitor, keyboard,
mouse, dan modem. Beberapa bab sebelumnya
telah membahas CPU dan memori, sekarang akan
kita jelaskan tentang peralatan atau modul
I/O pada bab ini.
Modul I/O merupakan peralatan antarmuka (interface)
bagi sistem bus atau switch sentral
dan mengontrol satu atau lebih perangkat
peripheral. Modul I/O tidak hanya sekedar modul
penghubung, tetapi sebuah piranti yang
berisi logika dalam melakukan fungsi komunikasi antara
peripheral dan bus komputer.
Ada beberapa alasan kenapa piranti –
piranti tidak langsung dihubungkan dengan bus
sistem komputer, yaitu :
• Bervariasinya metode operasi piranti
peripheral, sehingga tidak praktis apabila sistem
komputer herus menangani berbagai macam
sisem operasi piranti peripheral tersebut.
• Kecepatan transfer data piranti
peripheral umumnya lebih lambat dari pada laju transfer
data pada CPU maupun memori.
• Format data dan panjang data pada piranti
peripheral seringkali berbeda dengan CPU,
sehingga perlu modul untuk
menselaraskannya.
Dari beberapa alasan diatas, modul I/O
memiliki dua buah fungsi utama, yaitu :
1. Sebagai piranti antarmuka ke CPU dan
memori melalui bus sistem.
2. Sebagai piranti antarmuka dengan
peralatan peripheral lainnya dengan menggunakan
link data tertentu.
6.1 Sistem Masukan & Keluaran
Komputer
Bagaimana modul I/O dapat menjalankan
tugasnya, yaitu menjembatani CPU dan
memori dengan dunia luar merupakan hal yang
terpenting untuk kita ketahui. Inti mempelajari
sistem I/O suatu komputer adalah mengetahui
fungsi dan struktur modul I/O. Perhatikan gambar
6.1 yang menyajikan model generik modul
I/O.
BAB
6
Unit Masukan
dan Keluaran
67
Gambar 6.1 Model generik dari suatu modul
I/O
6.1.1 Fungsi Modul I/O
Modul I/O adalah suatu komponen dalam
sistem komputer yang bertanggung jawab atas
pengontrolan sebuah perangkat luar atau
lebih dan bertanggung jawab pula dalam pertukaran data
antara perangkat luar tersebut dengan
memori utama ataupun dengan register – register CPU.
Dalam mewujudkan hal ini, diperlukan
antarmuka internal dengan komputer (CPU dan memori
utama) dan antarmuka dengan perangkat
eksternalnya untuk menjalankan fungsi – fungsi
pengontrolan.
Fungsi dalam menjalankan tugas bagi modul
I/O dapat dibagi menjadi beberapa katagori, yaitu:
• Kontrol dan pewaktuan.
• Komunikasi CPU.
• Komunikasi perangkat eksternal.
• Pem-buffer-an data.
• Deteksi kesalahan.
Fungsi kontrol dan pewaktuan (control
& timing) merupakan hal yang penting untuk
mensinkronkan kerja masing – masing
komponen penyusun komputer. Dalam sekali waktu CPU
berkomunikasi dengan satu atau lebih
perangkat dengan pola tidak menentu dan kecepatan
transfer komunikasi data yang beragam, baik
dengan perangkat internal seperti register – register,
memori utama, memori sekunder, perangkat
peripheral. Proses tersebut bisa berjalan apabila ada
fungsi kontrol dan pewaktuan yang mengatur
sistem secara keseluruhan. Contoh kontrol
pemindahan data dari peripheral ke CPU
melalui sebuah modul I/O dapat meliputi langkah –
langkah berikut ini :
68
1 Permintaan dan pemeriksaan status
perangkat dari CPU ke modul I/O.
2 Modul I/O memberi jawaban atas permintaan
CPU.
3 Apabila perangkat eksternal telah siap
untuk transfer data, maka CPU akan
mengirimkan perintah ke modul I/O.
4 Modul I/O akan menerima paket data dengan
panjang tertentu dari peripheral.
5 Selanjutnya data dikirim ke CPU setelah
diadakan sinkronisasi panjang data dan
kecepatan transfer oleh modul I/O sehingga
paket – paket data dapat diterima CPU
dengan baik.
Transfer data tidak akan lepas dari
penggunaan sistem bus, maka interaksi CPU dan
modul I/O akan melibatkan kontrol dan
pewaktuan sebuah arbitrasi bus atau lebih.
Adapun fungsi komunikasi antara CPU dan
modul I/O meliputi proses – proses berikut :
• Command Decoding, yaitu modul I/O
menerima perintah – perintah dari CPU yang
dikirimkan sebagai sinyal bagi bus kontrol.
Misalnya, sebuah modul I/O untuk disk
dapat menerima perintah: Read sector, Scan
record ID, Format disk.
• Data, pertukaran data antara CPU
dan modul I/O melalui bus data.
• Status Reporting, yaitu pelaporan
kondisi status modul I/O maupun perangkat
peripheral, umumnya berupa status kondisi Busy
atau Ready. Juga status bermacam –
macam kondisi kesalahan (error).
• Address Recognition, bahwa
peralatan atau komponen penyusun komputer dapat
dihubungi atau dipanggil maka harus
memiliki alamat yang unik, begitu pula pada
perangkat peripheral, sehingga setiap modul
I/O harus mengetahui alamat peripheral
yang dikontrolnya.
Pada sisi modul I/O ke perangkat peripheral
juga terdapat komunikasi yang meliputi
komunikasi data, kontrol maupun status.
Perhatikan gambar 6.2 berikut.
Gambar 6.2 Skema suatu perangkat peripheral
69
Fungsi selanjutnya adalah buffering.
Tujuan utama buffering adalah mendapatkan
penyesuaian data sehubungan perbedaan laju
transfer data dari perangkat peripheral dengan
kecepatan pengolahan pada CPU. Umumnya laju
transfer data dari perangkat peripheral lebih
lambat dari kecepatan CPU maupun media
penyimpan.
Fungsi terakhir adalah deteksi kesalahan.
Apabila pada perangkat peripheral terdapat
masalah sehingga proses tidak dapat
dijalankan, maka modul I/O akan melaporkan kesalahan
tersebut. Misal informasi kesalahan pada
peripheral printer seperti: kertas tergulung, pinta habis,
kertas habis, dan lain – lain. Teknik yang
umum untuk deteksi kesalahan adalah penggunaan bit
paritas.
6.1.2 Struktur Modul I/O
Terdapat berbagai macam modul I/O seiring
perkembangan komputer itu sendiri,
contoh yang sederhana dan fleksibel adalah
Intel 8255A yang sering disebut PPI
(Programmable Peripheral Interface).
Bagaimanapun kompleksitas suatu modul I/O,
terdapat kemiripan struktur, seperti
terlihat pada gambar 6.3.
Gambar 6.3 Blok diagram struktur modul I/O
Antarmuka modul I/O ke CPU melalui bus
sistem komputer terdapat tiga saluran, yaitu saluran
data, saluran alamat dan saluran kontrol.
Bagian terpenting adalah blok logika I/O yang
berhubungan dengan semua peralatan
antarmuka peripheral, terdapat fungsi pengaturan dan
switching pada blok ini.
70
6.2 Teknik Masukan/Keluaran
Terdapat tiga buah teknik dalam operasi
I/O, yaitu: I/O terprogram, interrupt – driven
I/O, dan DMA (Direct Memory Access).
Ketiganya memiliki keunggulan maupun kelemahan,
yang penggunaannya disesuaikan sesuai unjuk
kerja masing – masing teknik.
6.2.1 I/O Terprogram
Pada I/O terprogram, data saling
dipertukarkan antara CPU dan modul I/O. CPU
mengeksekusi program yang memberikan
operasi I/O kepada CPU secara langsung, seperti
pemindahan data, pengiriman perintah baca
maupun tulis, dan monitoring perangkat.
Kelemahan teknik ini adalah CPU akan
menunggu sampai operasi I/O selesai dilakukan
modul I/O sehingga akan membuang waktu,
apalagi CPU lebih cepat proses operasinya. Dalam
teknik ini, modul I/O tidak dapat melakukan
interupsi kepada CPU terhadap proses – proses yang
diinteruksikan padanya. Seluruh proses
merupakan tanggung jawab CPU sampai operasi lengkap
dilaksanakan.
Untuk melaksanakan perintah – perintah I/O,
CPU akan mengeluarkan sebuah alamat
bagi modul I/O dan perangkat peripheralnya
sehingga terspesifikasi secara khusus dan sebuah
perintah I/O yang akan dilakukan. Terdapat
empat klasifikasi perintah I/O, yaitu:
1. Perintah control.
Perintah ini digunkan untuk mengaktivasi
perangkat peripheral dan memberitahukan tugas yang
diperintahkan padanya.
2. Perintah test.
Perintah ini digunakan CPU untuk menguji
berbagai kondisi status modul I/O dan
peripheralnya. CPU perlu mengetahui
perangkat peripheralnya dalam keadaan aktif dan siap
digunakan, juga untuk mengetahui operasi –
operasi I/O yang dijalankan serta mendeteksi
kesalahannya.
3. Perintah read.
Perintah pada modul I/O untuk mengambil
suatu paket data kemudian menaruh dalam buffer
internal. Proses selanjutnya paket data
dikirim melalui bus data setelah terjadi sinkronisasi data
maupun kecepatan transfernya.
4. Perintah write.
Perintah ini kebalikan dari read.
CPU memerintahkan modul I/O untuk mengambil data dari
bus data untuk diberikan pada perangkat
peripheral tujuan data tersebut.
71
Dalam teknik I/O terprogram, terdapat dua
macam inplementasi perintah I/O yang
tertuang dalam instruksi I/O, yaitu: memory-mapped
I/O dan isolated I/O.
Dalam memory-mapped I/O, terdapat
ruang tunggal untuk lokasi memori dan perangkat
I/O. CPU memperlakukan register status dan
register data modul I/O sebagai lokasi memori dan
menggunakan instruksi mesin yang sama untuk
mengakses baik memori maupun perangkat I/O.
Konskuensinya adalah diperlukan saluran
tunggal untuk pembacaan dan saluran tunggal untuk
penulisan. Keuntungan memory-mapped I/O adalah
efisien dalam pemrograman, namun
memakan banyak ruang memori alamat.
Dalam teknik isolated I/O, dilakukan
pemisahan ruang pengalamatan bagi memori dan
ruang pengalamatan bagi I/O. Dengan teknik
ini diperlukan bus yang dilengkapi dengan saluran
pembacaan dan penulisan memori ditambah
saluran perintah output. Keuntungan isolated I/O
adalah sedikitnya instruksi I/O.
6.2.2 Interrupt – Driven I/O
Teknik interrupt – driven I/O memungkinkan
proses tidak membuang – buang waktu.
Prosesnya adalah CPU mengeluarkan perintah
I/O pada modul I/O, bersamaan perintah I/O
dijalankan modul I/O maka CPU akan
melakukan eksekusi perintah – perintah lainnya. Apabila
modul I/O telah selesai menjalankan
instruksi yang diberikan padanya akan melakukan interupsi
pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih
menjadi tanggung jawab CPU, baik pengambilan
perintah dari memori maupun pelaksanaan isi
perintah tersebut. Terdapat selangkah kemajuan
dari teknik sebelumnya, yaitu CPU melakukan
multitasking beberapa perintah sekaligus sehingga
tidak ada waktu tunggu bagi CPU.
Cara kerja teknik interupsi di sisi modul
I/O adalah modul I/O menerima perintah, misal
read.
Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan
meletakkan
paket data ke register data modul I/O,
selanjutnya modul mengeluarkan sinyal interupsi ke CPU
melalui saluran kontrol. Kemudian modul
menunggu datanya diminta CPU. Saat permintaan
terjadi, modul meletakkan data pada bus
data dan modul siap menerima perintah selanjutnya.
Pengolahan interupsi saat perangkat I/O
telah menyelesaikan sebuah operasi I/O adalah sebagai
berikut :
1. Perangkat I/O akan mengirimkan sinyal
interupsi ke CPU.
2. CPU menyelesaikan operasi yang sedang
dijalankannya kemudian merespon interupsi.
3. CPU memeriksa interupsi tersebut, kalau
valid maka CPU akan mengirimkan sinyal
acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
72
4. CPU mempersiapkan pengontrolan transfer
ke routine interupsi. Hal yang dilakukan adalah
menyimpan informasi yang diperlukan untuk
melanjutkan operasi yang tadi dijalankan sebelum
adanya interupsi. Informasi yang diperlukan
berupa:
a. Status prosesor, berisi register yang
dipanggil PSW (program status word).
b. Lokasi intruksi berikutnya yang akan
dieksekusi.
Informasi tersebut kemudian disimpan dalam
stack pengontrol sistem.
5. Kemudian CPU akan menyimpan PC (program
counter) eksekusi sebelum interupsi ke stack
pengontrol bersama informasi PSW.
Selanjutnya mempersiapkan PC untuk penanganan
interupsi.
6. Selanjutnya CPU memproses interupsi
sempai selesai.
7. Apabila pengolahan interupsi selasai,
CPU akan memanggil kembali informasi yang telah
disimpan pada stack pengontrol untuk
meneruskan operasi sebelum interupsi.
Terdapat bermacam teknik yang digunakan CPU
dalam menangani program interupsi ini,
diantaranya :
• Multiple Interrupt Lines.
• Software poll.
• Daisy Chain.
• Arbitrasi bus.
Teknik yang paling sederhana adalah
menggunakan saluran interupsi berjumlah banyak
(Multiple Interrupt Lines) antara
CPU dan modul – modul I/O. Namun tidak praktis untuk
menggunakan sejumlah saluran bus atau pin
CPU ke seluruh saluran interupsi modul – modul
I/O.
Alternatif lainnya adalah menggunakan software
poll. Prosesnya, apabila CPU
mengetahui adanya sebuah interupsi, maka
CPU akan menuju ke routine layanan interupsi yang
tugasnya melakukan poll seluruh modul I/O
untuk menentukan modul yang melakukan interupsi.
Kerugian software poll adalah
memerlukan waktu yang lama karena harus mengidentifikasi
seluruh modul untuk mengetahui modul I/O
yang melakukan interupsi.
Teknik yang lebih efisien adalah daisy
chain, yang menggunakan hardware poll. Seluruh
modul I/O tersambung dalam saluran
interupsi CPU secara melingkar (chain). Apabila ada
permintaan interupsi, maka CPU akan
menjalankan sinyal acknowledge yang berjalan pada
saluran interupsi sampai menjumpai modul
I/O yang mengirimkan interupsi.
Teknik berikutnya adalah arbitrasi bus.
Dalam metode ini, pertama – tama modul I/O
memperoleh kontrol bus sebelum modul ini
menggunakan saluran permintaan interupsi. Dengan
demikian hanya akan terdapat sebuah modul
I/O yang dapat melakukan interupsi.
73
Pengontrol Interrupt Intel 8259A
Intel mengeluarkan chips 8259A yang
dikonfigurasikan sebagai interrupt arbiter pada
mikroprosesor Intel 8086. Intel 8259A
melakukan manajemen interupsi modul - modul I/O yang
tersambung padanya. Chips ini dapat
diprogram untuk menentukan prioritas modul I/O yang
lebih dulu ditangani CPU apabila ada
permintaan interupsi yang bersamaan. Gambar 6.4
menggambarkan pemakaian pengontrol
interupsi 8259A. Berikut mode – mode interupsi yang
mungkin terjadi :
• Fully Nested: permintaan interupsi
dengan prioritas mulai 0 (IR0) hingga 7(IR7).
• Rotating: bila sebuah modul telah
dilayani interupsinya akan menempati prioritas
terendah.
• Special Mask: prioritas diprogram
untuk modul I/O tertentu secara spesial.
Gambar 6.4 Pemakaian pengontrol interupsi
8559A pada 8086
74
Programmable Peripheral Interface Intel
8255A
Contoh modul I/O yang menggunakan I/O
terprogram dan interrupt driven I/O adalah
Intel 8255A Programmable Peripheral
Interface (PPI). Intel 8255A dirancang untuk keperluan
mikroprosesor 8086. Gambar 6.5 menunjukkan
blok diagram Intel 8255A dan pin layout-nya.
Gambar 6.5 Modul I/O 8255A
Bagian kanan dari blok diagram Intel 8255A
adalah 24 saluran antarmuka luar, terdiri
atas 8 bit port A, 8 bit port B, 4 bit port
CA dan 4 bit port CB. Saluran tersebut dapat diprogram
dari mikroprosesor 8086 dengan menggunakan
register kontrol untuk menentukan bermacam –
macam mode operasi dan konfigurasinya.
Bagian kiri blok diagram merupakan interface internal
dengan mikroprosesor 8086. Saluran ini
terdiri atas 8 bus data dua arah (D0 – D7), bus alamat,
dan bus kontrol yang terdiri atas saluran
CHIP SELECT, READ, WRITE, dan RESET.
Pengaturan mode operasi pada register
kontrol dilakukan oleh mikroprosesor., Pada
Mode 0, ketiga port berfungsi sebagai tiga
port I/O 8 bit. Pada mode lain dapat port A dan port B
sebagai port I/O 8 bit, sedangkan port C
sebagai pengontrol saluran port A dan B.
PPI Intel 8255A dapat diprogram untuk
mengontrol berbagai peripheral sederhana.
Gambar 6.6 memperlihatkan contoh penggunaan
8255A untuk modul I/O Keyboard dan display.
75
Gambar 6.6 Interface kayboard dan display
dengan Intel 8255A
6.2.3 Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O
terprogram dan Interrupt-Driven I/O
memiliki kelemahan, yaitu proses yang
terjadi pada modul I/O masih melibatkan CPU secara
langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung
pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya
interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi
untuk menangani transfer data bervolume besar
dikembangkan teknik yang lebih baik,
dikenal dengan Direct Memory Access (DMA).
Prinsip kerja DMA adalah CPU akan
mendelegasikan kerja I/O kepada DMA, CPU
hanya akan terlibat pada awal proses untuk
memberikan instruksi lengkap pada DMA dan akhir
proses saja. Dengan demikian CPU dapat
menjalankan proses lainnya tanpa banyak terganggu
dengan interupsi. Blok diagram modul DMA
terlihat pada gambar 6.7 berikut :
76
Gambar 6.7 Blok diagram DMA
Gambar 6.8 Konfigurasi modul DMA
77
Dalam melaksanakan transfer data secara
mandiri, DMA memerlukan pengambilalihan
kontrol bus dari CPU. Untuk itu DMA akan
menggunakan bus bila CPU tidak menggunakannya
atau DMA memaksa CPU untuk menghentikan
sementara penggunaan bus. Teknik terakhir lebih
umum digunakan, sering disebut cycle-stealing,
karena modul DMA mengambil alih siklus bus.
Penghentian sementara penggunaan bus
bukanlah bentuk interupsi, melainkan hanyalah
penghentian proses sesaat yang berimplikasi
hanya pada kelambatan eksekusi CPU saja. Terdapat
tiga buah konfigurasi modul DMA seperti
yang terlihat pada gambar 6.8.
6.3 Perangkat Eksternal
Mesin komputer akan memiliki nilai apabila
bisa berinteraksi dengan dunia luar. Lebih
dari itu, komputer tidak akan berfungsi
apabila tidak dapat berinteraksi dengan dunia luar. Ambil
contoh saja, bagaimana kita bisa
menginstruksikan CPU untuk melakukan suatu operasi apabila
tidak ada keyboard. Bagaimana kita melihat
hasil kerja sistem komputer bila tidak ada monitor.
Keyboard dan monitor tergolang dalam
perangkat eksternal komputer.
Perangkat eksternal atau lebih umum disebut
peripheral tersambung dalam sistem CPU
melalui perangat pengendalinya, yaitu modul
I/O seperti telah dijelaskan sebelumnya. Lihat
kembali gambar 6.2. Secara umum perangkat
eksternal diklasifikasikan menjadi 3 katagori:
• Human Readable, yaitu perangkat
yang berhubungan dengan manusia sebagai
pengguna komputer. Contohnya: monitor,
keyboard, mouse, printer, joystick, disk
drive.
• Machine readable, yaitu perangkat
yang berhubungan dengan peralatan. Biasanya
berupa modul sensor dan tranduser untuk
monitoring dan kontrol suatu peralatan atau
sistem.
• Communication, yatu perangkat yang
berhubungan dengan komunikasi jarak jauh.
Misalnya: NIC dan modem.
Pengklasifikasian juga bisa berdasarkan
arah datanya, yaitu perangkat output, perangkat
input dan kombinasi output-input. Contoh
perangkat output: monitor, proyektor dan printer.
Perangkat input misalnya: keyboard, mouse,
joystick, scanner, mark reader, bar code reader.
78
Komputer tersusun atas beberapa komponen
penting seperti CPU, memori, perangkat
I/O. Setiap komponen saling berhubungan
membentuk kesatuan fungsi. Sistem bus adalah
penghubung bagi keseluruhan komponen
komputer dalam menjalankan tugasnya. Transfer data
antar komponen komputer sangatlah
mendominasi kerja suatu komputer. Data atau program yang
tersimpan dalam memori dapat diakses dan
dieksekusi CPU melalui perantara bus, begitu juga
kita dapat melihat hasil eksekusi melalui
monitor juga menggunakan sistem bus.
Era saat ini memerlukan saluran data atau
bus yang handal. Kecepatan komponen
penyusun komputer tidak akan berarti kalau
tidak diimbangi kecepatan dan manajemen bus yang
baik. Trend mikroprosesor saat ini adalah
melakukan pekerjaan secara paralel dan program
dijalankan secara multitasking menuntut
sistem bus tidak hanya lebar tapi juga cepat.
Dalam bab ini akan kita pelajari bagaimana
interkoneksi komponen sistem komputer
dalam menjalankan fungsinya, interkoneksi
bus dan juga pertimbangan – pertimbangan
perancangan bus. Bagian akhir akan
disajikan contuh – contoh bus yang berkembang saat ini.
7.1 Struktur Interkoneksi
Komputer tersusun atas komponen – komponen
atau modul – modul (CPU, memori dan
I/O) yang saling berkomunikasi. Kompulan
lintasan atau saluran berbagai modul disebut struktur
interkoneksi.
Rancanagan struktur interkoneksi sangat bergantung pada jenis dan karakteristik
pertukaran datanya.
Gambar 7.1 menyajikan jenis pertukaran data
yang diperlukan oleh modul – modul
penyusun komputer :
• Memori :
Memori umumnya terdiri atas N word memori
dengan panjang yang sama. Masing – masing
word diberi alamat numerik yang unik (0, 1,
2, …N-1). Word dapat dibaca maupun ditulis pada
memori dengan kontrol Read dan Write.
Lokasi bagi operasi dispesifikasikan oleh sebuah
alamat.
BAB
7 Sistem Bus
79
• Modul I/O :
Operasi modul I/O adalah pertukaran data
dari dan ke dalam komputer. Berdasakan pandangan
internal, modul I/O dipandang sebagai
sebuah memori dengan operasi pembacaan dan
penulisan. Seperti telah dijelaskan pada
bab 6 bahwa modul I/O dapat mengontrol lebih dari
sebuah perangkat peripheral. Modul I/O juga
dapat mengirimkan sinyal interrupt.
• CPU :
CPU berfungsi sebagai pusat pengolahan dan
eksekusi data berdasarkan routine – routine
program yang diberikan padanya. CPU
mengendalikan seluruh sistem komputer sehingga
sebagai konsekuensinya memiliki koneksi ke
seluruh modul yang menjadi bagian sistem
komputer.
Gambar 7.1 Modul – modul komputer
80
Dari jenis pertukaran data yang diperlukan
modul – modul komputer, maka struktur
interkoneksi harus mendukung perpindahan
data berikut :
• Memori ke CPU : CPU melakukan
pembacaan data maupun instruksi dari memori.
• CPU ke Memori : CPU melakukan
penyimpanan atau penulisan data ke memori.
• I/O ke CPU : CPU membaca data dari
peripheral melalui modul I/O.
• CPU ke I/O : CPU mengirimkan data
ke perangkat peripheral melalui modul I/O.
• I/O ke Memori atau dari Memori :
digunakan pada sistem DMA.
Sampai saat ini terjadi perkembangan
struktur interkoneksi, namun yang banyak
digunakan saat ini adalah sistem bus.
Sistem bus ada yang digunakan secara tunggal dan ada
secara jamak, tergantung karakteristik
sistemnya.
7.2 Interkoneksi Bus
Bus merupakan lintasan komunikasi yang
menghubungkan dua atau lebih komponen komputer.
Sifat penting dan merupakan syarat utama
adalah bus adalah media transmisi yang dapat
digunakan bersama oleh sejumlah perangkat
yang terhubung padanya.
Karena digunakan bersama, diperlukan aturan
main agar tidak terjadi tabrakan data atau
kerusakan data yang ditransmisikan.
Walaupun digunakan bersama namun dalam satu waktu
hanya ada sebuah perangkat yang dapat
menggunakan bus.
Struktur Bus
Sebuah bus biasanya terdiri atas beberapa
saluran. Sebagai contoh bus data terdiri atas 8 saluran
sehingga dalam satu waktu dapat mentransfer
data 8 bit. Secara umum fungsi saluran bus
dikatagorikan dalam tiga bagian, yaitu
saluran data, saluran alamat dan saluran kontrol, seperti
terlihat pada gambar 7.2.
Gambar 7.2 Pola interkoneksi bus
Saluran data (data bus) adalah lintasan bagi perpindahan data antar modul.
Secara
kolektif lintasan ini disebut bus data.
Umumnya jumlah saluran terkait dengan panjang word,
81
misalnya 8, 16, 32 saluran dengan tujuan
agar mentransfer word dalam sekali waktu. Jumlah
saluran dalam bus data dikatakan lebar
bus, dengan satuan bit, misal lebar bus 16 bit.
Saluran alamat (address bus) digunakan untuk menspesifikasi sumber dan tujuan data
pada bus data. Saluran ini digunakan untuk
mengirim alamat word pada memori yang akan
diakses CPU. Juga digunakan untuk saluran
alamat perangkat modul komputer saat CPU
mengakses suatu modul. Perlu diketahui,
semua peralatan yang terhubung dengan sistem
komputer, agar dapat diakses harus memiliki
alamat. Semisal mengakses port I/O, maka port I/O
harus memiliki alamat hardware-nya.
Saluran kontrol (control bus) digunakan untuk mengontrol bus data, bus alamat
dan
seluruh modul yang ada. Karena bus data dan
bus alamat digunakan oleh semua komponen maka
diperlukan suatu mekanisme kerja yang
dikontrol melalui bus kontrol ini. Sinyal – sinyal kontrol
terdiri atas sinyal pewaktuan dan sinyal –
sinyal perintah. Sinyal pewaktuan menandakan
validitas data dan alamat, sedengkan sinyal
perintah berfungsi membentuk suatu operasi. Secara
umum saluran kontrol meliputi :
• Memory Write, memerintahkan data
pada bus akan dituliskan ke dalam lokasi alamat.
• Momory Read memerintahkan data
dari lokasi alamat ditempatkan pada bus data.
• I/O Write, memerintahkan data pada
bus dikirim ke lokasi port I/O.
• I/O Read, memerintahkan data dari
port I/O ditempatkan pada bus data.
• Transfer ACK, menunjukkan data
telah diterima dari bus atau data telah ditempatkan
pada bus.
• Bus Request, menunjukkan bahwa
modul memerlukan kontrol bus.
• Bus Grant, menunjukkan modul yang
melakukan request telah diberi hak mengontrol
bus.
• Interrupt Request, menandakan
adanya penangguhan interupsi dari modul.
• Interrupt ACK, menunjukkan
penangguhan interupsi telah diketahui CPU.
• Clock, kontrol untuk sinkronisasi
operasi antar modul.
• Reset, digunakan untuk
menginisialisasi seluruh modul.
Secara fisik bus adalah konduktor listrik
paralel yang menghubungkan modul – modul.
Konduktor ini biasanya adalah saluran utama
pada PCB motherboard dengan layout tertentu
sehingga didapat fleksibilitas penggunaan.
Untuk modul I/O biasanya dibuat slot bus yang mudah
dipasang dan dilepas, seperti slot PCI dan
ISA. Sedangkan untuk chips akan terhubung melalui
pinnya.
82
Prinsip operasi bus adalah sebagai berikut.
Operasi pengiriman data ke modul lainnya :
1. Meminta penggunaan bus.
2. Apabila telah disetujui, modul akan
memindahkan data yang diinginkan ke modul yang
dituju.
Operasi meminta data dari modul lainnya :
1. Meminta penggunaan bus.
2. Mengirim request ke modul yang
dituju melalui saluran kontrol dan alamat yang
sesuai.
3. Menunggu modul yang dituju mengirimkan
data yang diinginkan.
Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat
dihubungkan pada bus maka akan terjadi
penurunan kinerja, yang disebabkan oleh :
• Semakin besar delay propagasi untuk
mengkoordinasikan penggunaan bus.
• Antrian penggunaan bus semakin panjang.
• Dimungkinkan habisnya kapasitas transfer
bus sehingga memperlambat data.
Antisipasi dan solusi persoalan di atas
adalah penggunaan bus jamak yang hierarkis.
Modul – modul dikalasifikasikan berdasarkan
kebutuhan terhadap lebar dan kecepatan bus. Bus
biasanya terdiri atas bus lokal, bus
sistem, dan bus ekspansi. Gambar 8.3 dan gambar 8.4 berikut
menyajikan contoh hierarki penggunaan bus
jamak.
Terlihat pada gambar 7.3 dan gambar 7.4,
Prosesor, cache memori dan memori utama
terletak pada bus tersendiri pada level
tertinggi karena modul – modul tersebut memiliki
karakteristik pertukaran data yang tinggi.
Pada arsitektur berkinerja tinggi, modul – modul I/O
diklasifikasikan menjadi dua, yaitu yang
memerlukan transfer data berkecepatan tinggi dan
berkecepatan rendah. Modul dengan transfer
data berkecepatan tinggi disambungkan dengan bus
berkecepatan tinggi pula, sedangkan modul
yang tidak memerlukan transfer data cepat
disambungkan pada bus ekspansi.
Keuntungan hierarki bus jamak kinerja
tinggi pada gambar 7.4 adalah bus berkecepatan
tinggi lebih terintegrasi dengan prosesor.
Perubahan pada arsitektur prosesor tidak begitu
mempengaruhi kinerja bus.
83
Gambar 7.3 Arsitektur bus jamak tradisional
Gambar 7.4 Arsitektur bus jamak kinerja
tinggi
7.3 Elemen Perancangan Bus
Saat ini terdapat banyak implementasi
sistem bus, tetapi parameter dasar perancangan bus
dapat diklasifikasikan berdasarkan jenis (dedicated
dan mulitiplexed), metode arbitrasi
(tersentralisasi dan terdistribusi), timing
(sinkron dan tak sinkron), lebar bus (lebar address dan
lebar data) dan jenis transfer datanya(read,
write, read-modify-write, read-alter-write, block).
84
Tujuan yang hendak dicapai dalam
perancangan adalah bagaimana bus dapat cepat
menghantarkan data dan efisiensinya tinggi.
Intinya karakteristik pertukaran data dan modul yang
terkait merupakan pertimbangan utama dalam
perancangan bus.
Jenis Bus
Berdasar jenis busnya, bus dibedakan
menjadi bus yang khusus menyalurkan data tertentu,
misalnya paket data saja, atau alamat saja,
jenis ini disebut dedicated bus. Namun apabila bus
dilalukan informasi yang berbeda baik data,
alamat maupun sinyal kontrol dengan metode
mulipleks data maka bus ini disebut multiplexed
bus.
Keuntungan mulitiplexed bus adalah
hanya memerlukan saluran sedikit sehingga dapat
menghemat tempat, namun kerugiannya adalah
kecepatan transfer data menurun dan diperlukan
mekanisme yang komplek untuk mengurai data
yang telah dimulitipleks.
Saat ini yang umum, bus didedikasikan untuk
tiga macam, yaitu bus data, bus alamat dan bus
kontrol.
Metode Arbitrasi
Terdapat dua macam metode arbitrasi, yaitu tersentral
dan terdistribusi. Pada metode
tersentral diperlukan pengontrol bus
sentral atau arbiter yang bertugas mengatur penggunaan bus
oleh modul. Arbiter bisa suatu modul atau
bagian fungsi CPU. Sedangkan dalam metode
terdistribusi, setiap modul memiliki logika
pengontrol akses (access control logic) yang berfungsi
mengatur pertukaran data melalui bus. Kedua
metode arbitrasi intinya menugaskan suatu
perangkat bisa modul I/O ataupun CPU
bertindak sebagai master kontrol pertukaran.
Timing
Metode pewaktuan sinkron terjadinya
event pada bus ditentukan oleh sebuah pewaktu
(clock). Sebuah transmisi 1 – 0
disebut siklus waktu atau siklus bus dan menentukan besarnya slot
waktu. Semua perangkat modul pada bus dapat
membaca atau pengetahui siklus clock. Biasanya
satu siklus untuk satu event. Model ini
mudah diimplementasikan dan cepat namun kurang
fleksibel menangani peralatan yang beda
kecepatan operasinya. Biasanya digunakan untuk modul
– modul tertentu yang sudah jelas
karakteristiknya. Contoh pewaktuan sinkron disajikan pada
gambar 7.5.
85
Gambar 7.5 Contoh pewaktuan sinkron
Dalam pewaktuan asinkron memungkinkan
kerja modul yang tidak serempak
kecepatannya. Dalam pewaktuan asinkron,
event yang terjadi pada bus tergantung event
sebelumnya sehingga diperlukan sinyal –
sinyal validasi untuk mengidentifikasi data yang
ditransfer. Sistem ini mampu menggabungkan
kerja modul – modul yang berbeda kecepatan
maupun teknologinya, asalkan aturan
transfernya sama. Gambar 7.6 memperlihatkan pewaktuan
asinkron.
86
Gambar 7.6 Contoh pewaktuan asinkron
Lebar Bus
Lebar bus sangat mempengaruhi kinerja
sistem komputer. Semakin lebar bus maka
semakin besar data yang dapat ditransfer
sekali waktu. Semakin besar bus alamat, akan semakin
banyak range lokasi yang dapat
direfensikan.
Jenis Transfer Data
Dalam sistem komputer, operasi transfer
data adalah pertukaran data antar modul sebagai
tindak lanjut atau pendukung operasi yang
sedang dilakukan. Saat operasi baca (read), terjadi
pengambilan data dari memori ke CPU, begitu
juga sebaliknya pada operasi penulisan maupun
operasi – operasi kombinasi. Bus harus
mampu menyediakan layanan saluran bagi semua operasi
komputer.
87
7.4 Contoh Bus
Banyak perusahaan yang mengembangkan bus –
bus antarmuka terutama untuk
perangkat peripheral. Diantara jenis bus
yang beredar di pasaran saat ini adalah PCI, ISA, USB,
SCSI, FuturaBus+, FireWire, dan lain –
lain. Semua memiliki keunggulan, kelemahan, harga dan
teknologi yang berbeda sehingga akan
mempengaruhi jenis – jenis penggunaannya.
7.4.1 Bus ISA
Ketika IBM memperkenalkan PC/AT yang
berbasiskan CPU 80286, perusahaan ini
menghadapi masalah besar. Jika IBM telah
memulai sejak awal dan merancang sebuah bus 16 bit
yang seluruhnya baru, banyak konsumen
potensial akan bergegas membeli mesin tersebut karena
tidak ada satupun dari begitu banyak papan
plug-in PC yang disediakan oleh para vendor pihak
ketiga dapat bekerja dengan menggunakan
mesin baru tersebut. Di sisi lain, dengan tetap
berpegang pada bus PC dan 20 jalur
alamatnya serta 8 jalur data tidak akan memperoleh manfaat
dari keunggulan CPU 80286 untuk mengalamatkan
16 M memori dan mentransfer word 16 bit.
Solusi yang dipilih adalah mengembangkan
PC. Kartu-kartu plug-in PC memiliki sebuah
konektor sisi dengan 62 kontak, tetapi
operasi konektor sisi ini tidak menjangkau seluruh papan
ini. Solusi PC/AT adalah menempatkan sebuah
konektor sisi kedua pada bagian dasar papan
tersebut, dekat dengan konektor sisi utama,
dan merancang sirkuit AT untuk beroperasi dengan
kedua jenis papan ini.
Konektor kedua pada bus PC/AT memiliki 36
jalur. Dari ke-36 jalur ini, 31 disediakan
untuk jalur-jalur alamat tambahan,
jalur-jalur data tambahan, jalur-jalur interupsi tambahan, serta
untuk daya dan ground. Sisanya digunakan
untuk mengatasi perbedaan-perbedaan antara transfer
8 bit dan 16 bit.
Industri komputer personal lainnya merespon
perkembangan ini dengan mengadopsi
standarnya sendiri, bus ISA (Industry
Standar Architecture), yang pada dasarnya adalah bus
88
PC/AT yang beroperasi pada 8,33 MHz.
Keuntungannya adalah bahwa pendekatan ini tetap
mempertahankan kompatibilitas dengan
mesin-mesin dan kartu-kartu yang ada. Pendekatan ini
juga didasarkan pada sebuah bus yang telah
dilisensikan secara bebas oleh IBM kepada banyak
perusahaan dalam rangka untuk menjamin
bahwa sebanyak mungkin pihak ketiga dapat
memproduksi kartu-kartu untuk PC pertama,
sesuatu yang kembali menghantui IBM. Setiap PC
yang berbasiskan Intel masih menggunakan
bus jenis ini, meskipun biasanya juga disertai dengan
satu atau lebih bus lain.
7.4.2 Bus PCI
Peripheral Component Interconnect (PCI) adalah bus yang tidak tergantung prosesor dan
berfungsi sebagai bus mezzanine atau bus
peripheral. PCI memiliki kinerja tinggi untuk sistem
I/O berkecepatan tinggi seperti : video
adaptor, NIC, disk controller, sound card, dan lain-lain.
Standard PCI adalah 64 saluran data pada
kecepatan 33 MHz, laju transfer data 264 MB per detik
atau 2,112 Gbps. Keunggulan PCI tidak hanya
pada kecepatannya saja tetapi murah dengan
keping yang sedikit.
Intel mulai menerapkan PCI pada tahun 1990
untuk sistem pentiumnya. Untuk
mempercepat penggunaan PCI, Intel
mempatenkan PCI bagi domain publik sehingga vendor
dapat mengeluarkan produk dengan PCI tanpa
royalti.
7.4.3 Bus USB
Semua perangkat peripheral tidak efektif
apabila dipasang pada bus berkecepatan tinggi
PCI, sedangkan banyak peralatan yang
memiliki kecepatan rendah seperti keyboard, mouse, dan
printer. Sebagai solusinya tujuh vendor
komputer (Compaq, DEC, IBM, Intel, Microsoft, NEC,
dan Northern Telecom) bersama-sama
merancang bus untuk peralatan I/O berkecepatan rendah.
Standard yang dihasilkan dinamakan
Universal Standard Bus (USB).
Keuntungan yang didapatkan dan tujuan dari
penerapan USB adalah sebagai berikut :
1. Pemakai tidak harus memasang tombol atau
jumper pada PCB atau peralatan.
2. Pemakai tidak harus membuka casing untuk
memasang peralatan I/O baru.
3. Hanya satu jenis kabel yang diperlukan
sebagai penghubung.
89
4. Dapat mensuplai daya pada
peralatan-peralatan I/O.
5. Memudahkan pemasangan
peralatan-peralatan yang hanya sementara dipasang pada
komputer.
6. Tidak diperlukan reboot pada pemasangan
peralatan baru dengan USB.
7. Murah
Bandwidth total USB adalah 1,5 MB per
detik. Bandwidth itu sudah mencukupi peralatan
I/O berkecepatan rendah seperti keyboard,
mouse, scanner, telepon digital, printer, dan
sebagainya. Kabel pada bus terdiri dari 4
kawat, 2 untuk data, 1 untuk power (+5 volt), dan 1
untuk ground. Sistem pensinyalan
mentransmisikan sebuah bilangan nol sebagai transisi tegangan
dan sebuah bilangan satu bila tidak ada
transmisi tegangan.
7.4.4 Bus SCSI
Small Computer System Interface (SCSI) adalah perangkat peripheral eksternal yang
dipopulerkan oleh macintosh pada tahun
1984. SCSI merupakan interface standard untuk drive
CD-ROM, peralatan audio, hard disk, dan
perangkat penyimpanan eksternal berukuran besar.
SCSI menggunakan interface paralel dengan
8, 16, atau 32 saluran data.
Konfigurasi SCSI umumnya berkaitan dengan
bus, walaupun pada kenyataannya
perangkat-perangkat tersebut dihubungkan
secara daisy-chain. Perangkat SCSI memiliki dua
buah konektor, yaitu konektor input dan
konektor output. Seluruh perangkat berfungsi secara
independen dan dapat saling bertukar data
misalnya hard disk dapat mem-back up diri ke tape
drive tanpa melibatkan prosesor.
Terdapat beberapa macam versi SCSI. SCSI-1
dibuat tahun 1980 memiliki 8 saluran data,
dan beroperasi pada kecepatan 5 MHz. Versi
ini memungkinkan sampai 7 perangkat dihubungkan
secara daisy-chain. SCSI-2 diperkenalkan
tahun 1992 dengan spesifikasi 16 atau 32 saluran data
pada kecepatan 10 MHz. SCSI-3 yang
mendukung kecepatan yang lebih tinggi sampai saat ini
masih dalam tahap penelitian.
7.4.5 Bus P1394 / Fire Wire
Semakin pesatnya kebutuhan bus I/O
berkecepatan tinggi dan semakin cepatnya prosesor
saat ini yang mencapai 1 GHz, maka perlu
diimbangi dengan bus berkecapatan tinggi juga. Bus
90
SCSI dan PCI tidak dapat mencukupi
kebutuhan saat ini. Sehingga dikembangkan bus
performance tinggi yang dikenal dengan Fire
Wire (P1394 standard IEEE).
P1394 memiliki kelebihan dibandingkan
dengan interface I/O lainnya, yaitu sangat cepat,
murah, dan mudah untuk diimplementasikan.
Pada kenyataanya P1394 tidak hanya populer pada
sistem komputer, namun juga pada peralatan
elektronik seperti pada kamera digital, VCR, dan
televisi. Kelebihan lain adalah penggunaan
transmisi serial sehingga tidak memerlukan banyak
kabel.