PENGENALAN
ASK
1. Pengenalan Arsitektur Komputer
Ini adalah modul tentang organisasi komputer. Modul ini
mendeskripsikan
fungsi dan desain berbagai unit komputer digital yang
menyimpan dan mengolah
informasi. Modul ini juga berkaitan dengan unit komputer
yang menerima informasi
dari sumber eksternal dan mengirimkan hasil terkomputasi ke
destinasi eksternal. Kebanyakan materi dalam modul ini ditujukan untuk hardware
komputer dan
arsitektur komputer. Hardware komputer terdiri dari sirkuit
elektronik, display, media
penyimpanan magnetik dan optik, perangkat elektromekanik,
dan fasilitas komu-
nikasi. Arsitektur komputer meliputi spesifikasi sekumpulan
instruksi dan unit
hardware yang melaksanakan instruksi tersebut. Dalam modul
ini dibahas pula
banyak aspek pemrograman dan komponen software dalam sistem
komputer.
Sangatlah penting mempertimbangkan aspek hardware dan
software pada desain
berbagai komponen komputer guna mencapai pemahaman yang baik
pada suatu
sistem komputer.
Bab ini memperkenalkan sejumlah konsep hardware dan
software,
menampilkan beberapa istilah umum, dan memberikan pandangan
umum tentang
aspek dasar subjek tersebut. Pembahasan yang lebih detil
diberikan pada babbab
selanjutnya.
1.1. TIPE KOMPUTER
Marilah pertamatama kita mendefinisikan istilah komputer
digital, atau
cukup disebut komputer. Dalam istilah yang paling sederhana,
suatu komputer
kontemporer adalah mesin hitung elektronik cepat yang
menerima informasi input
terdigitalisasi, mengolahnya sesuai dengan daftar instruksi
yang tersimpan secara
internal dan memberikan informasi output hasil. Daftar
instruksi itu disebut program
komputer, dan penyimpanan internalnya disebut memori
komputer. Terdapat banyak tipe komputer yang sangat bervariasi dalam hal
ukuran,
biaya, daya komputasi, dan tujuan penggunaan. Komputer yang
paling umum adalah
personal computer, yang banyak digunakan di rumahrumah,
sekolahsekolah, dan
kantorkantor bisnis. Personal computer merupakan bentuk
paling umum dari
komputer desktop. Komputer desktop memiliki unit pengolahan
dan penyimpanan,
display visual dan unit output audio, dan keyboard yang
dapat ditempatkan secara
mudah di meja rumah dan kantor. Media penyimpanan tersebut
termasuk harddisk,
CDROM, dan disket. Komputer notebook portable adalah versi
ringkas dari personal
computer dengan semua komponennya terpaket dalam unit
tunggal seukuran koper
tipis. Workstation dengan kemampuan input/output grafts
resolusi tinggi, sekalipun
masih tetap memakai dimensi komputer desktop, namun memiliki
daya komputasi
yang lebih signifikan daripada personal computer.
Workstation seringkali digunakan
dalam aplikasi engineering, terutama untuk pekerjaan desain
interaktif. Di atas workstation, terdapat suatu rentang sistem komputer yang
luas dan
sangat kuat yang di sebut sistem enterprise dan server pada
rentang lowend, dan
superkomputer pada highend. Sistem enterprise, atau
mainframe, digunakan unhik
pengolahan data bisnis pada korporasi menengah hingga besar
yang memerlukan
lebih banyak daya komputasi dan kapasitas penyimpanan dari
yang dapat disediakan
oleh workstation. Server berisi unit penyimpanan basis data
yang cukup besar dan
mampu menangani banyak volume permintaan untuk mengakses
data. Pada banyak
kasus, server dapat diakses secara luas oleh komunitas
pendidikan, bisnis, dan
pengguna personal. Permintaan dan respons biasanya
ditransportasikan melalui
fasilitas komunikasi Internet. Tentu saja, Internet dan
server yang berhubungan
dengannya telah menjadi sumber segala tipe informasi yang
dominan di seluruh
dunia. Fasilitas komunikasi Internet terdiri dari suatu
struktur kompleks hubungan
backbone serat optik kecepatan tinggi yang terinterkoneksi
dengan kabel broadcast
dan koneksi telepon ke sekolah, perusahaan, dan rumahrumah.
Supercomputer digunakan untuk perhitungan numerik skala besar seperti
perkiraan cuaca dan desain dan simulasi pesawat terbang.
Dalam sistem enterprise,
server, dan superkomputer, unit fungsionalnya, yang meliputi
banyak prosesor, dapat
terdiri dari sejumlah unit besar dan seringkali terpisah.
1.2 UNIT FUNGSIONAL
Suatu komputer terdiri dari lima bagian utama yang mandiri
secara
fungsional: unit input, memori, aritmatika dan logika,
output, dan kontrol,
sebagaimana ditampilkan pada Gambar 1.1. Unit input menerima
informasi terkode
dari operator manusia, dari peralatan elektromekanik seperti
keyboard, atau dari
komputer lain melalui jalur komunikasi digital. Informasi
yang diterima disimpan
dalam memori komputer untuk referensi selanjutnya atau
segera digunakan oleh
sirkuit aritmatika dan logika untuk melakukan operasi yang
diinginkan. Langkah
pengolahan ditentukan oleh program yang tersimpan dalam
memori. Akhirnya, hasil
dikirim kembali ke dunia luar melalui unit output. Semua
langkah ini
dikoordinasikan oleh unit kontrol. tidak menampilkan koneksi
di antara
unit fungsional. Koneksi tersebut, yang dapat dibuat dengan
beberapa cara, dibahas
secara menyeluruh di dalam modul ini. Kita mengacu pada
sirkuit aritmatika dan
logika, dalam hubungannya dengan sirkuit kontrol utama,
yaitu prosesor dan
peralatan input dan output yang seringkali secara kolektif
disebut sebagai unit input-
output (I/O). Sekarang kita mengamati lebih detil informasi
yang ditangani oleh suatu
komputer. Sangat memudahkan untuk mengkategorikan informasi
ini baik sebagai
instruksi atau data. Instruksi, atau instruksi mesin, adalah
perintah eksplisit yang
Mengarahkan transfer
informasi dalam komputer dan antarkomputer dan peralatan I/Onya
Menetapkan operasi aritmatika dan logika yang akan
dilaksanakan
Daftar instruksi yang melakukan suatu tugas disebut program.
Biasanya
program tersebut disimpan dalam memori. Prosesor kemudian
mengambil instruksi
yang membentuk suatu program dari memori, satu demi satu,
dan melaksanakan
operasi yang diinginkan. Komputer sepenuhnya dikontrol oleh
program yang
tersimpan tersebut, kecuali adanya kemungkinan interupsi
eksternal oleh operator
atau oleh peralatan I/O yang terhubung ke mesin tersebut.
Data adalah angka dan karakter terencode yang digunakan sebagai
operand oleh instruksi. Akan tetapi istilah data, sering digunakan
untuk menyebut
informasi digital apapun. Dalam definisi data tersebut,
seluruh program (yaitu daftar
instruksi) dapat dianggap sebagai data jika akan diolah oleh
program lain.
Contohnya adalah tugas untuk mengkompilasi program source
bahasa tingkat tinggi
menjadi daftar instruksi mesin yang merupakan suatu program
bahasa mesin,
disebut program objek. Program source adalah data input ke
program kompiler yang
mentranslasikan program source menjadi program bahasa mesin.
Informasi yang ditangani komputer harus diencode dalam
format yang
sesuai. Kebanyakan hardware saat ini menggunakan sirkuit
digital yang hanya
memiliki dua kondisi stabil, ON dan OFF (lihat Apendiks A).
Tiap bilangan,
karakter, atau instruksi diencode sebagai string bitter
yang disebut bit, masing masing memiliki dua kemungkinan nilai, 0 atau 1.
Bilangan biasanya dinyatakan
dalam notasi biner posisi, sebagaimana yang akan dibahas
secara detil dalam Bab 2.
Kadangkadang digunakan format binarycoded decimal (BCD),
di mana tiap digit
desimal diencode menjadi empat bit. Karakter alfanumerik
juga dinyatakan dalam istilah kode biner. Telah
dikembangkan beberapa skema pengkodean. Dua skema yang
paling banyak
digunakan adalah ASCII (American Standart Coded for
Informasi Interchange), di
mana tiap karakter dinyatakan sebagai kode 7bit, dan EBCDIC
(Extended Binary Coded Decimal Interchange Code), di mana digunakan 8 bit
untuk menyatakan
suatu karakter
1.2.1 UNIT INPUT
Komputer menerima informasi terkodekan melalui unit input,
yang
membaca data tersebut. Peralatan input yang paling terkenal
adalah keyboard.
Kapanpun suatu tombol ditekan, huruf atau digit yang sesuai
secara otomatis
ditranslasikankan menjadi kode biner yang tepat dan
ditransmisikan melalui suatu
kabel ke memori atau ke prosesor. Tersedia banyak jenis
peralatan input lain, termasuk joystick, trackball, dan
mouse. Peralatan tersebut seringkali digunakan sebagai
peralatan input grafik dalam
hubungan dengan display. Mikrofon dapat digunakan untuk
menangkap input audio
yang kemudian disample dan dikonversi menjadi kode digital
untuk penyimpanan
dan pengolahan. Pembahasan yang lebih detil tentang
peralatan input dan
operasinya terdapat dalam Bab 12.
Contohnya adalah tugas untuk mengkompilasi program source
bahasa tingkat tinggi
menjadi daftar instruksi mesin yang merupakan suatu program
bahasa mesin,
disebut program objek. Program source adalah data input ke
program kompiler yang
mentranslasikan program source menjadi program bahasa mesin.
Informasi yang ditangani komputer harus diencode dalam
format yang
sesuai. Kebanyakan hardware saat ini menggunakan sirkuit
digital yang hanya
memiliki dua kondisi stabil, ON dan OFF (lihat Apendiks A).
Tiap bilangan,
karakter, atau instruksi diencode sebagai string bitter
yang disebut bit, masing masing memiliki dua kemungkinan nilai, 0 atau 1.
Bilangan biasanya dinyatakan
dalam notasi biner posisi, sebagaimana yang akan dibahas
secara detil dalam Bab 2.
Kadangkadang digunakan format binarycoded decimal (BCD),
di mana tiap digit
desimal diencode menjadi empat bit. Karakter alfanumerik
juga dinyatakan dalam istilah kode biner. Telah
dikembangkan beberapa skema pengkodean. Dua skema yang
paling banyak
digunakan adalah ASCII (American Standart Coded for
Informasi Interchange), di
mana tiap karakter dinyatakan sebagai kode 7bit, dan EBCDIC
(Extended Binary Coded Decimal Interchange Code), di mana digunakan 8 bit
untuk menyatakan
suatu karakter
1.2.1 UNIT INPUT
Komputer menerima informasi terkodekan melalui unit input,
yang
membaca data tersebut. Peralatan input yang paling terkenal
adalah keyboard.
Kapanpun suatu tombol ditekan, huruf atau digit yang sesuai
secara otomatis
ditranslasikankan menjadi kode biner yang tepat dan
ditransmisikan melalui suatu
kabel ke memori atau ke prosesor. Tersedia banyak jenis
peralatan input lain, termasuk joystick, trackball, dan
mouse. Peralatan tersebut seringkali digunakan sebagai
peralatan input grafik dalam
hubungan dengan display. Mikrofon dapat digunakan untuk
menangkap input audio
yang kemudian disample dan dikonversi menjadi kode digital
untuk penyimpanan
dan pengolahan. Pembahasan yang lebih detil tentang
peralatan input dan
operasinya terdapat dalam Bab 12.
dan ukuran yang berbeda. Unit RAM yang cepat dan kecil
disebut cache. Cache
tersebut terangkai erat dengan prosesor dan seringkali
termuat pada chip sirkuit
terintegrasi yang sama untuk mencapai performa tinggi. Unit
yang terbesar dan
terlamban disebut sebagai memori utama. Kami akan memberikan
deskripsi singkat
tentang bagaimana informasi diakses dalam hierarki memori
pada bagian berikutnya
dari bab ini. Bab 11 membahas aspek operasi dan performa
dari memori komputer
secara detil.
Sekalipun penyimpanan primer sangat penting, namun cenderung
mahal.
Jadi penyimpanan sekunder tambahan yang lebih murah
digunakan pada saat
sejumlah besar data dan banyak program harus disimpan,
terutama untuk informasi
yang jarang diakses. Terdapat banyak pilihan peralatan
penyimpanan sekunder,
termasuk disk magnetik dan tape dan disk optikal (CDROM).
Peralatan tersebut
juga dideskripsikan dalam Bab 15.
1.2.3 UNIT ARITMATIKA DAN LOGIKA
Kebanyakan operasi komputer dieksekusi dalam unit aritmatika
dan logika
(ALU: arithme~o and logic unit) pada prosesor. Perhatikanlah
suatu contoh umum:
Misalkan dua bilangan yang berada dalam memori ditambahkan.
Bilangan tersebut
di bawa ke prosesor, dan penambahan yang sesungguhnya
dilakukan oleh ALU.
Jumlah tersebut kemudian disimpan dalam memori atau tetap
dalam prosesor untuk
segera digunakan. Operasi aritmatika atau logika yang lain,
misalnya, perkalian, pembagian,
atau perbandingan bilangan, diawali dengan membawa operand
yang diperlukan ke
prosesor, di mana operasi tersebut dilakukan oleh ALU. Pada
saat operand dibawa
ke prosesor, operand tersebut disimpan dalam elemen
penyimpanan kecepatan tinggi
yang disebut register. Tiap register dapat menyimpan satu
word data. Waktu akses
ke register lebih cepat daripada waktu akses ke unit cache
tercepat dalam hierarki
memori. Unit kontrol dan unit aritmatika dan logika jauh
lebih cepat daripada
peralatan lain yang terhubung ke sistem komputer. Jadi
memungkinkan satu
prosesor tunggal mengendalikan sejumlah peralatan eksternal
seperti keyboard,
display, disk magnetik dan optikal, sensor, dan kontroler
mekanik.
1.2.5 UNIT KONTROL
Unit memori, aritmatika dan logika, dan input dan output
menyimpan dan
mengolah informasi dan melakukan operasi input dan output.
Operasi unitunit
tersebut harus dikoordinasi dengan beberapa cara.
Kooordinasi adalah tugas dari
unit kontrol. Unit kontrol secara efektif merupakan pusat
saraf yang mengirim
sinyal kontrol ke unit lain dan mengetahui keadaan unit
tersebut. Transfer I/O yang terdiri dari operasi input dan output, dikontrol
oleh
instruksi progran I/O yang mengidentifikasi peralatan yang
terlibat dan informasi
yang ditransfer. Akan tetapi sinyal timing aktual yang
mengatur transfer
dibangkitkan oleh sirkuit kontrol. Sinyal timim adalah
sinyal yang menentukan
kapan suatu aksi tertentu dilakukan. Transfer data antara
proses set dan memori juga
dikontrol oleh unit kontrol melalui sinyal timing. Sangat
beralasan untuk
memikirkan suatu unit kontrol sebagai unit yang terpisah
secara fisik dan terdefinisi
dengan jelas yang berinteraksi dengan bagian lain dari
mesin. Akan tetapi pada
prakteknya, hal tersebut jarang terjadi. Sejumlah besar
jalur kontrol (kabel)
membawa sinyal yang digunakan untuk timing dan sinkronisasi
kejadian disemua
unit. Operasi suatu komputer dapat diringkas sebagai
berikut:
Ø
Komputer menerima informasi dalam bentuk program
dan datamelalui unit input dan menyimpannya dalam memori.
Ø
Informasi yang disimpan dalam memori diambil, di
bawah control program, ke unit aritmatika dan logika, di mana informasi
tersebutdiproses.
Ø
Informasi yang terproses meninggalkan komputer
melalui unitoutput.
Ø
Semua kegiatan di dalam mesin tersebut diarahkan
oleh unitkontrol.
1.4 STRUKTUR BUS
Sejauh ini, kita telah membahas fungsi bagianbagian
individu dari suatu
komputer. Untuk membentuk suatu sistem operasional, maka
bagianbagian tersebut
harus dihubungkan dengan beberapa cara yang terorganisasi.
Terdapat banyak cara
untuk melakukan hal ini. Disini, kita akan membahas cara
yang paling sederhana
dan paling umum. Untuk mencapai kecepatan operasi yang
sesuai, komputer harus
diorganisasi sehingga semua unitnya dapat menangani satu
word data penuh pada
waktu tertentu. Pada saat suatu word data ditransfer antar
unit, semua bitnya
dtransfer secara paralel, yaitu bit tersebut ditransfer
secara simultan melalui banyak
kabel, atau jalur, satu bit per jalur. Sekelompok jalur yang
berfungsi sebagai jalan
penghubung untuk beberapa peralatan disebut bus. Selain
jalur yang membawa data,
bus harus memiliki jalur untuk alamat dan keperluan kontrol.
Cara yang paling sederhana untuk menginterkoneksikan unit fungsional
adalah dengan menggunakan bus tunggal, sebagaimana yang
ditampilkan dalam
Gambar 1.2. Semua unit dikoneksikan ke bus ini. Karena bus
tersebut hanya dapat
digunakan untuk satu transfer pada satu waktu, maka hanya
dua unit yang dapat
secara aktif menggunakan bus tersebut pada tiap waktu
tertentu. Jalur kontrol bus
digunakan untuk mempertimbangkan banyak permintaan terhadap
penggunaan bus.
Sifat utama struktur bus tunggal adalah biaya rendah dan
fleksibilitasnya pada
pemasangan peralatan periferal. Sistem yang terdiri dari
banyak bus mencapai
konkurensi yang lebih dalam operasi dengan memungkinkan dua
atau lebih
transfer dilakukan pada waktu yang sama. Hal ini menuju
kepada performa yang
lebih baik tetapi dengan biaya yang lebih besar.
Peralatan yang terhubung ke bus sangat bervariiasi dalam
kecepatan
operasinya. Beberapa peralatan elektromekanik, seperti
keyboard dan printer,
relatif lambat. Peralatan lain, seperti disk magnetik dan
optik, dianggap lebih
cepat. Memori dan unit prosesor beroperasi pada kecepatan
elektronik, menjadikannya sebagai bagian tercepat dalam komputer. Karena semua
peralatan
tersebut harus berkomunikasi satu sama lain melalui bus,
maka diperlukan
mekanisme transfer efisien yang tidak dibatasi oleh
peralatan yang latnbat dan
yang dapat digunakan unhtk memperkecil perbedaan timing
antar prosesor, memori, dan peralatan ekstemal. Pendekatan yang umum adalah
dengan menyertakan register buffer pada
peralatan yang menyimpan informasi selama transfer. Untuk
mengilustrasikan
teknik tersebut, perhatikanlah transfer karakter terencode
dari prosesor ke printer
karakter. Karena buffer adalah register elektronik, maka
transfer tersebut
memerlukan waktu yang relatif sebentar. Pada saat buffer
telah diload, printer
dapat mulai mencetak tanpa intervensi lebih lanjut dari prosesor.
Bus dan prosesor
tidak lagi diperlukan dan dapat dibebaskan untuk aktifitas
yang lain. Printer terus
mencetak karakter yang terdapat dalam buffernya dan tidak
tersedia untuk
transfer selanjutnya hingga proses ini selesai. Jadi,
register buffer memperhalus
perbedaan timing antar prosesor, memori, dan peralatan I/O.
Register buffer
tersebut mencegah prosesor kecepatan tinggi terhalangi oleh
peralatan I/O yang
lambat selama suatu rangkaian transfer data. Hal ini
memungkinkan prosessor
untuk berpindah dengan cepat dari satu peralatan ke
peralatan yang lain,
merangkaikan aktifitas pengolahannya dengan transfer data
yang melibatkan
beberapa peralatan L/O.
1.5. SOFTWARE
Agar user dapat memasukkan dan menjalankan program aplikasi,
maka
komputer harus sudah berisi beberapa software sistem dalam
memorinya.
Software sistem adalah kumpulan program yang dieksekusi
seperlunya untuk
menjalankan fungsi seperti
Ø
Menerima dan menginterpretasikan perintah user
Ø
Memasukkan dan tnengedit program aplikasi dan
rnenyimpannyasebagai file dalam peralatan penyimpanan sekunder
Ø
Mengatur penyimpanan dan pengambilan file dalam
peralatanpenyimpanan sekunder
Ø
Menjalankan program aplikasi standar seperti
word processor,
spreadsheet, atau game, dengan data yang disediakan oleh
user
Ø
Mengontrol unit I/O untuk menerima informasi
input dan
menghasilkan output
Ø
Mentranslasikan program dari bentuk source yang
disediakan oleh
user menjadi bentuk objek yang berisi instruksi mesin
Ø
Menghubungkan dan menjalankan program aplikasi
userwritten
dengan rutin library standar yang ada, seperti paket
komputasi
numerik
Software sistemlah yang bertanggungjawab untuk koordinasi
semua
aktifitas dalam sistem komputasi. Tujuan bagian ini adalah
untuk memperkenalkan
beberapa aspek dasar software sistem. Program aplikasi
biasanya ditulis dalam bahasa pemrograman tingkat
tinggi seperti C, C++, Java, atau Fortran, di mana programer
yang menentukan
operasi matematis atau pengolahan teksnya. Operasi tersebut
dideskripsikan
dalam format yang lepas dari penggunaan komputer tertentu
untuk mengeksekusi
program. Seorang programer yang menggunakan bahasa tingkat
tinggi tidak perlu
mengetahui detil instruksi program mesin. Suatu software
sistem yang disebut
kompiler mentranslasikan bahasa pemrograman tingkat tinggi menjadi
program
bahasa mesin yang sesuai yang berisi instruksi seperti
instruksi Add dan Load.
Program sistem penting lainnya yang digunakan semua
programer adalah
editor teks. Program tersebut digunakan untk memasukkan dan
mengedit program
aplikasi. User program ini secara interaktif mengeksekusi
perintah yangmengijinkan statement program source yang dirnasukkan melalui
keyboard
diakumulasikan dalam suatu file. File secara sederhana
adalah rangkaian karakter
alfanumerik atau data biner yang disimpan dalam memori atau
dalam penyimpanan
sekunder. Suatu file dapat disebut dengan nama yang dipilih
oleh user.
Kita tidak membahas detil compiler, editor, atau sistem file
dalam modul
ini, tetapi marilah kita memperhatikan lebih cermat pada
komponen software sistem
utama yang disebut sistem operasi (OS: operating system).
Ini adalah program yang
besar, atau sebenarnya kumpulan rutin, yang digunakan untuk
mengontrol
pembagian dan interaksi di antara berbagai unit komputer
pada saat mereka
mengeksekusi program aplikasi. Rutin OS menjalankan tugas
yang diperlukan untuk
menetapkan resource komputer bagi program aplikasi individu.
Tugastugas tersebut
termasuk menetapkan ruang memori dan disk magnetik untuk
program dan file data,
memindahkan data antara memori dan unit disk, dan menangani
operasi UO.
Untuk memahami sistem operasi dasar, marilah kita membahas
suatu
sistem dengan Satu prosesor, satu disk, dan satu printer.
Pertamatama kita
membahas langkahlangkah yang terlibat dalam menjalankan
satu program aplikasi. Setelah kita menjelaskan langkah tersebut, kita akan
dapat memahami bagaimana
sistem operasi mengatur eksekusi lebih dari satu program
aplikasi pada satu waktu.
Asumsikan bahwa program aplikasi telah dikompilasi dari
bentuk bahasa tingkat-
tinggi ke bentuk bahasa mesin dan disimpan dalam disk.
Langkah pertama adalah
mentransfer file tersebut ke dalam memori. Pada saat
transfer selesai, eksekusi
program dimulai. Asumsikan bahwa bagian dari tugas program
terrnasuk membaca
file data dari disk ke memori, melakukan beberapa komputasi
pada data tersebut,
dan mencetak hasilnya. Pada saat eksekusi program mencapai
titik di mana file data
diperlukan, maka program meminta sistem operasi untuk
mentransfer file data dari
disk ke memori. OS menjalankan tugas ini dan mengembalikan
kontrol eksekusi ke
program aplikasi, yang kemudian melanjutkan melakukan
komputasi yang diminta.
Pada saat komputasi telah selesai dan hasilnya telah siap
dicetak, maka program
aplikasi mengirim lagi permintaan ke sistem operasi. Rutin
OS kemudian dieksekusi
agar printer mencetak hasil tersebut. Kita telah melihat
bagaimana kontrol eksekusi diserahterimakan di antara
program aplikasi dan rutin OS. Cara yang mudah untuk
mengilustrasikan pembagianwaktu eksekusi prosessor ini adalah dengan diagram berbasis
waktu,Selama periode waktu to hingga t1, suatu rutin OS menginisiasi loading
program aplikasi dari disk ke memori, menunggu hingga
transfer tersebut selesai,
dan kemudian menyerahkan kontrol eksekusi ke program
aplikasi. Pola aktifitas
yang mirip terjadi selama periode t2 hingga t3 dan periode
t4 hingga t5, pada saat
sistem operasi mentransfer file data dari disk dan mencetak
hasilnya. Pada t5, sistem
operasi dapat meload dan mengeksekusi program aplikasi yang
lain.
Sekarang, marilah kita memperhatikan suatu cara di mana
resource
komputer dapat digunakan lebih efisien jika beberapa program
aplikasi diproses. Perhatikanlah bahwa disk dan prosesor diam selama sebagian
besar periode waktu ta
hingga ts. Sistem operasi dapat meload program berikutnya
yang akan dieksekusi
ke dalam memori dari disk pada saat printer beroperasi.
Serupa pula dengan itu,
selama to hingga t1, sistem operasi dapat mengatur untuk
mencetak hasil program
sebelumnya pada saat program berikutnya diload dari disk.
Jadi sistem operasi
mengatur eksekusi konkuren dari beberapa program aplikasi
untuk menghasilkan
penggunaan resource komputer terbaik yang dimungkinkan. Pola
eksekusi konkuren
ini disebut multiprogramming atau multitasking.
1.6. Performa
Pengukuran performa komputer yang paling penting adalah
seberapa cepat
komputer tersebut dapat mengeksekusi program. Kecepatan
komputer mengeksekusiprogram dipengaruhi oleh desain hardware dan instruksi
bahasa mesinnya. Karena
program biasanya ditulis dalam bahasa tingkat tinggi, maka
performa juga
dipengaruhi oleh compiler yang mentranslasikan program ke
dalam bahasa mesin.
Untuk performa terbaik, perlu untuk mendesain compiler, set
instruksi mesin, dan
hardware dengan cara yang terkoordinasi. Kita tidak
mendeskripsikan detil desain
compiler dalam modul ini. Kita berfokus pada desain set
instruksi dan hardware.
Pada Bagian 1.5, kita mendeskripsikan bagaimana sistem
operasi
menumpangtindihkan pengolahan, transfer disk, dan
pencetakkan untuk beberapa
program agar menghasilkan penggunaan terbaik dari resource
yang tersedia. Waktu
total yang diperlukan untuk mengeksekusi program dalam
Gambar 1.4 adalah tsto. Elapsed time ini adalah ukuran performa seluruh sistem
komputer. Waktu tersebut
dipengaruhi oleh kecepatan prosesor, disk, dan printer. Untuk
membahas performa
prosesor, kita sebaiknya hanya memperhatikan periode selama
prosesor aktif. Periode tersebut adalah periode yang berlabel Program dan Rutin
OS pada Gambar
1.3. Kita akan mengacu pada jumlah periode tersebut sebagai
waktu prosesor yang
diperlukan untuk mengeksekusi program. Selanjutnya kita akan
mengindentifikasi
beberapa parameter utama yang mempengaruhi waktu prosesor
dan mengacu pada
bab yang membahas persoalan yang relevan.
Seperti halnya elapsed time untuk eksekusi program tergautung
pada
semua unit dalam sistem komputer, maka waktu prosesor
tergantung pada hardware
yang terlibat dalam eksekusi instruksi mesin individu.
Hardware tersebut meliputi
prosesor dan memori, yang biasanya dihubungkan dengan bus,
sebagaimana yang
ditunjukkan pada Gambar 1.2. Bagian yang berhubungan dengan
Gambar ini
diulang dalam Gambar 1.4, termasuk memori cache sebagai
bagian dari unit
prosesor. Marilah kita memperhatikan aliran instruksi
program dan data antara
memori dan prosesor. Pada awal eksekusi, semua instruksi
program dan data yang
diperlukan disimpan di memori utama. Selama eksekusi
berjalan, instruksi diambil
satu demi satu melalui bus ke dalam prosesor, dan copyannya
diletakkan di cache.
Pada saat eksekusi suatu instruksi meminta data yang berada
dalam memori utama,
data tersebut diambil dan copyannya ditempatkan di cache.
Selanjutnya, jika
instruksi atau item data yang sama diperlukan untuk kedua
kalinya, maka akan
No comments:
Post a Comment