A.
STRUKTUR BUS
Bus adalah
Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan
untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah
bahwa bus merupakan media transmisi yang dapat digunakan bersama.
Karakteristik utama dari bus yaitu sebagai media
transmisi yang dapat digunakan bersama oleh sejumlah perangkat yang
terhubung padanya. Karena digunakan bersama, diperlukan
pengaturan agar tidak terjadi tabrakan data atau
kerusakan data yang ditransmisikan. Walaupun digunakan scara bersamaaan, dalam
satu waktu hanya ada sebuah perangkat yang dapat menggunakan bus.
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.

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 lambat dan yang dapat
digunakan untuk memperkecil perbedaan timing antar prosesor, memori, dan
peralatan eksternal.
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 ektronik, maka transfer tersebut
memerlukan waktu yang relatif sebentar.
Page | 2
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.
Saluran kontrol digunakan untuk mengontrol akses ke
saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran
alamat dipakai bersama oleh saluran komponen, maka harus ada alat untuk
mengontrol penggunaannya. Signal-signal kontrol melakukan transmisi baik
perintah maupun informasi pewaktuan diantara modul-modul sistem. Signal-signal
pewaktuan menunjukkan validasi data dan informasi alamat.
Signal-signal perintah menspesifikasikan
operasi-operasi yang akan dibentuk. Umumnya, saluran kontrol meliputi :
1. Memori Write menyebabkan data pada bus akan dituliskan ke dalam lokasi alamat
2. Memori Read menyebabkan data dari lokasi alamat ditempatkan pada bus
3. I/O Write menyebabkan data pada bus di-output-kan ke port I/O yang beralamat
4. I/O Read menyebabkan data dari port I/O yang beralamat ditempatkan pada bus
5. Transfer ACK menunjukan bahwa data telah diterima dari bus atau telah ditempatkan di bus
6. Bus Request menunjukkan bahwa modul memerlukan kontrol bus
7. BusGrant menunjukkan bahwa modul yang melakukan request telah diberikan hak mengontrol bus
8. Interrupt Request menandakan bahwa sebuah interrupt ditangguhkan
9. Interrupt ACK memberitahukan bahwa interrupt yang ditangguhkan telah diketahui
10. Clock digunakan untuk mensinkronkan operasi-operasi
11. Reset menginisialisasi seluruh modul
1. Memori Write menyebabkan data pada bus akan dituliskan ke dalam lokasi alamat
2. Memori Read menyebabkan data dari lokasi alamat ditempatkan pada bus
3. I/O Write menyebabkan data pada bus di-output-kan ke port I/O yang beralamat
4. I/O Read menyebabkan data dari port I/O yang beralamat ditempatkan pada bus
5. Transfer ACK menunjukan bahwa data telah diterima dari bus atau telah ditempatkan di bus
6. Bus Request menunjukkan bahwa modul memerlukan kontrol bus
7. BusGrant menunjukkan bahwa modul yang melakukan request telah diberikan hak mengontrol bus
8. Interrupt Request menandakan bahwa sebuah interrupt ditangguhkan
9. Interrupt ACK memberitahukan bahwa interrupt yang ditangguhkan telah diketahui
10. Clock digunakan untuk mensinkronkan operasi-operasi
11. Reset menginisialisasi seluruh modul
B. SOFTWARE
Pengertian software
komputer adalah sekumpulan data elektronik yang disimpan dan
diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat
berupa program atau instruksi yang akan menjalankan suatu perintah.
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
Page |3
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 yang
mengijinkan 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. Tugas-tugas 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 tingkattinggi 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 operai 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.
Page |4
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 pembagian waktu eksekusi prosessor ini adalah dengan
diagram berbasis waktu, seperti yang
ditunjukkan
pada Gambar 1.3.
![]() |
Gambar
1.3. Sharing program user dan rutin OS pada prosessor 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 tahingga 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.
C.
PERFORMA
Pengukuran
performa komputer yang paling penting adalah seberapa cepat komputer tersebut
dapat mengeksekusi program. Kecepatan komputer mengeksekusi program 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.
Page |5
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
langsung
dibaca dari cache.

