* ARSITEKTUR KOMPUTER







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 komunikasi.
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. T IPE K OMPUT E R
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. Gambar 1.1 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 inputoutput
(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 antar komputer dan peralatan I/Onya Ø Menetapkan operasi aritmatika dan logika yang akan dilaksanakan Gambar 1.1 Unit fungsional dasar suatu komputer.
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, masingmasing
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 BinaryCoded
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.

1.2.2 UNIT MEMORI
Fungsi unit memori adalah untuk menyimpan program dan data. Terdapat dua kelas penyimpanan, primer dan sekunder.
Penyimpanan primer adalah memori cepat yang beroperasi pada kecepatan
elektronik. Program harus disimpan dalam memori tersebut pada saat dieksekusi.
Memori tersebut berisi sejumlah besar sel penyimpanan semikonduktor, yang
masingmasing
mampu menyimpan satu bit informasi. Setsel
tersebut jarang dibaca
atau ditulis sebagai sel individual tetapi sebaliknya diolah dalam kelompok dengan
ukuran tetap yang disebut word. Memori tersebut terorganissasi sedemikian
sehingga isi satu word, yang terdiri dari n bit, dapat disimpan atau diambil dalam
satu operasi dasar.
Untuk menyediakan akses yang mudah ke tiap word yang terdapat dalam
memori, alamat yang berbeda dihubungkan ke tiap lokasi word. Alamat adalah
bilangan yang menyatakan lokasi yang berurutan. Suatu word diakses dengan
menyatakan alamatnya dan dengan menyatakan perintah kontrol yang memulai
proses penyimpanan atau pengambilan tersebut.
Jumlah bit dalam tiap word sering disebut sebagai panjang word suatu
komputer. Panjang word biasanya berkisar dari 16 hingga 64 bit. Kapasitas memori
adalah salah satu faktor yang menentukan ukuran komputer. Mesin kecil biasanya
hanya memiliki puluhan juta word, sedangkan mesin menengah dan besar biasanya
memiliki puluhan atau ratusan juta word. Data biasanya diolah di dalam mesin
dalam unit word, kelipatan word, atau pembagian word. Pada saat suatu memori
diakses, biasanya hanya satu word data yang dibaca atau ditulis. Program harus berada di memori selama eksekusi. Instruksi dan data dapat ditulis ke dalant memori atau dibaca dari memori di bawah kontrol prosesor.
Sangatlah penting untuk dapat mengakses tiap lokasi word dalam memori secepat
mungkin. Memori yang tiap lokasinya dapat dicapai dalam wakht cepat dan tertentu
setelah ditetapkan alamatnya disebut randomaccess
memory (RAM). Waktu yang
diperlukan untuk mengakses satu word disebut memory access time (waktu akses
memori). Waktu tersebut tetap, dan tidak tergantung pada lokasi word yang diakses.
Biasanya berkisar dari beberapa nanosecond (ns) hingga sekitar 100 ns untuk unit
RAM modern. Memori suatu komputer biasanya diimplementasikan sebagai hierarki
memori dari tiga atau empat tingkat unit RAM semikonduktor dengan kecepatan
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.4 UNIT OUTPUT
Unit output adalah pasangan unit input. Fungsinya untuk mengirimkan
hasil yang telah diproses ke dunia luar. Contoh yang paling umum dari peralatan
tersebut adalah printer. Printer menggunakan mechanical head impact, inkjet stream,
atau teknik fotokopi, seperti dalam printer laser. untuk melakukan pencetakan.
Sangat mungkin untuk menghasilkan tinta yang dapat mencetak sebanyak 10.000
baris per menit. Kecepatan ini luar biasa untuk peralatan mekanik tetapi masih
sangat lambatjika dibandingkan dengan kecepatan elektron pada unit prosesor.
Beberapa unit, seperti display grafik, menyediakau fungsi output dan
fungsi input. Peranar ganda unit tersebut merupakan alasan penggunaan istilah
tunggal unit I/O dalam banyak hal.

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 data melalui unit input dan menyimpannya dalam memori.
Ø Informasi yang disimpan dalam memori diambil, di bawah kontrol program, ke unit aritmatika dan logika, di mana informasi tersebut diproses.
Ø Informasi yang terproses meninggalkan komputer melalui unit output.
Ø Semua kegiatan di dalam mesin tersebut diarahkan oleh unit kontrol.

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 rnenyimpannya
sebagai file dalam peralatan penyimpanan sekunder
 Mengatur penyimpanan dan pengambilan file dalam peralatan penyimpanan skunder
 Menjalankan program aplikasi standar sepeti word processor, spreadsheet, atau game, dengan data yang tersedia oleh user
 Mengontrol unit I/O untuk menerima informasi input dan mnghasilkan output
 Mentranslasikan program dari bentuk source yang di sediakan oleh user menjadi bentul objek ya berisi instruksi mesin
 Menghubungkan dan menjalankan program aplikasi user writtendengan rutin library stendar yang ada, seperti paket komputasi numerik
Software sistem-lah
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. 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 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 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 pembagian
waktu eksekusi prosessor ini adalah dengan diagram berbasis waktu, seperti yang
ditunjukkan pada Gambar 1.3.



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 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. 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.




Prosesor dan memori cache yang relatif kecil dapat dibuat pada chip
sirkuit terintegraisi tunggal. Kecepatan internal untuk melaksanakan langkah dasar
pengolahan instruksi pada chip semacam itu sangat tinggi dan dianggap lebih cepat daripada kecepatan pengambilan instruksi dan data dari memori utama.
Suatu program akan dieksekusi lebih cepat jika perpindahan instruksi dan data
antara memori utama dan prosesor diminimalisasi, yang dicapai dengan
menggunakan cache. Misalnya, suatu instruksi dieksekusi berulang kali selama
periode waktu yang singkat, sebagaimana yang terjadi pada loop program. Jika
instruksi ini tersedia dalam cache maka dapat diambil dengan cepat selama periode
pengulangan penggunaan. Hal yang sama diterapkan pada data yang digunakan
berulang kali. Persoalan desain, operasi, dan performa untuk memori utama dan
cache dibahas dalam Bab 11.
1.6.1 CLOCK PROSESOR
Sirkuit prosesor dikontrol oleh sinyal timing yang disebut clock. Clock
menetapkan interval, waktu reguler, yang disebut siklus clock. Untuk
mengeksekusi instruksi mesin, prosesor membagi tindakan yang akan dilakukan ke
dalam rangkaian langkah dasar, sehingga tiap langkah dapat diselesaikan dalam
satu siklus clock. Panjang P dari satu siklus clock adalah parameter penting yang
mempengaruhi performa prosesor. Kebalikannya adaalah clock rate, R= 1/P, yang
diukur dalam siklus per detik. Prosesor yang digunakan dalam personal computer
dan workstation saat ini memiliki clock rate yang berada dalam rentang beberapa
ratus juta hingga lebih dari milyaran siklus per detik. Dalam terminologi teknik
elektro standar, istilah ”siklus per detik” disebut hertz (Hz). Istilah ”juta”
ditunjukkan oleh awalan Mega (M). Dan ”milyar’dtunjukkan oleh awalan Giga(G).
Karena itu 500 juta siklus per detik biasanya disingkat menjad 500 Megahertz (MHz), dan 1250 juta siklus per detik disingkat menjadi 1,25 Gigahertz (GHZ).
Periode clock yang sesuai masingmasing
adalah 2 dan 0,8 nanosecond (ns).
1.6.2 PERSAMAAN PERFORMA DASAR
Sekarang kita memusatkan perhatian pada komponen waktu prosesor dari
elapsed time total. Misalkan T adalah waktu prosesor yang diperlukan untuk
mengeksekusi suatu program yang telah dipersiapkan dalam beberapa bahasa
tingkat tinggi. Compiler menghasilkan program objek bahasa mesin yang sesuai
dengan program source. Asumsikan bahwa eksekusi lengkap dari program
memerlukan N instruksi bahasa mesin. Jumlah N adalah jumlah aktual eksekusi
instruksi, dan tidak harus setara dengan jumlah eksekusi instruksi instruksi mesin
dalam program objek. Beberapa instruksi dapat dieksekusi lebih dari sekali, yaitu
untuk instruksi yang berada di dalam loop. Instruksi yang lain mungkin tidak
dieksekusi sama sekali, tergantung data input yang digunakan. Misalkan jumlah
langkah dasar ratarata
yang diperlukan untuk mengeksekusi satu instruksi mesin
adalah S, di mana tiap langkah dasar diselesaikan dalam satu siklus clock. Jika
clock rate adalah R siklus per detik, maka waktu eksekusi program dinyatakan
sebagai berikut

Rumusan ini sering disebut sebagai persamaan performa dasar.
Parameter performa T untuk program aplikasi jauh lebih penting bagi
user daripada nilai individu parameter N, S, atau R. Untuk mencapai performa
tinggi, desainer komputer harus mencari cara untuk mengurangi nilai T, yang
berarti mengurangi N dan S, dan meningkatkan R. Nilai N berkurang jika program
source dikompilasi menjadi instruksi mesin yang lebih sedikit. Nilai S berkurang
jika instruksi memiliki jumlah langkah dasar yang lebih kecil untuk dilaksanakan
atau jika eksekusi instruksi ditumpangtindihkan. Menggunakan clock frekuensi tinggi meningkatkan nilai tersebut atau R, yang berarti bahwa waktu yang diperlukan untuk menyelesaikan langkah eksekusi dasar berkurang.
Kita harus menekankan bahwa N, S, dan R bukanlah parameter bebas;
perubahan pada salah satunya dapat mempengaruhi yang lain. Memperkenalkan
Modul 1
D3 TKJ (Teknik Komputer dan Jaringan)
Departemen Pendidikan Nasional
16
fitur baru dalam desain suatu prosesor akan menuju pada peningkatan performa
hanya jika hasil keseluruhannya mengurangi nilai T Prosesor yang diiklankan
memiliki clock 900Mhz belum tentu memberikan performa yang lebih baik daripada
prosesor 700Mhz karena prosesor tersebut mungkin memiliki nilai S yang berbeda.
1.6.3 OPERASI PIPELINING DAN SUPERSCALAR
Dalam pembahasan di atas, kita mengasumsikan bahwa instruksi
dieksekusi satu demi satu. Karena itu, nilai S adalah jumlah total langkah dasar, atau
siklus clock, yang diperlukan untuk mengeksekusi suatu instruksi. Peningkatan yang
substansial pada performa dapat dicapai dengan menumpangtindihkan eksekusi
instruksi yang berurutan, menggunakan teknik yang disebut pipelining. Misalkan
suatu instruksi
Add R1, R2, R3
yang menambahkan isi register RI dan R2, dan menempatkan jumlahnya
dalam R3. Isi R1 dan R2 mulamula
ditransfer ke input ALU. Setelah operasi
penambahan dilakukan, jumlahnya ditransfer ke R3. Prosesor dapat membaca
instruksi selanjutnya dari memori sementara operasi penambahan dilakukan.
Kemudian jika instruksi tersebut juga menggunakan ALU, operandnya dapat
ditransfer ke input ALU pada waktu yang sama dengan hasil instruksi Add
ditransfer ke R3. Pada kasus ideal, jika semua instruksi ditumpangtindihkan ke
derajat maksimum yang mungkin, maka eksekusi dilanjutkan pada kecepatan penyelesaian satu instruksi dalam tiap siklus clock. Instruksi individual masih memerlukan beberapa siklus clock untuk penyelesaian. Tetapi, untuk tujuan perhitungan T, maka nilai efektif S adalah 1.
Pipelining dibahas secara detil dalam Bab 8. sebagaimana yang akan kita
lihat, nilai ideal S = 1 tidak dapat dicapai dalam praktek karena berbagai alasan.Akan tetapi, pipelining meningkatkan kecepatan eksekusi instruksri secara signifikan dan menyebabkan nilai efektif S mendekati 1.
Derajat konkurensi yang lebih tinggi dapat dicapai jika banyak pipeline
instruksi diterapkan pada prosesor. Hat ini berarti digunakannya banyak unit
fungsional, menciptakan jalur paralel di mana berbagai instruksi yang berbeda dapat
dieksekusi secara paralel. Dengan pengaturan tersebut, maka dimungkinkan untuk
memulai beberapa instruksi pada tiap siklus clock. Mode operasi ini disebut
eksekusi superscalar. Jika mode ini dapat bertahan dalam waktu lama selama
eksekusi program, maka nilai efektif S dapat dikurangi hingga kurang dari satu.
Tentu saja, eksekusi paralel harus mempertahankan kebenaran logika program,
sehingga hasil yang diperoleh harus sama dengan hasil dari eksekusi serial instruksi
program. Banyak dari prosesor performa tinggi saat ini didesain untuk bekerja dengan cara tersebut.
1.6.4 CLOCK RATE
Terdapat dua kemungkinan untuk meningkatkan clock rate, R. Pertama,
meningkatkan teknologi integratedcircuit
(IC) menjadikan sirkuit logika yang lebih
cepat, sehingga mengurangi waktu yang diperlukan untuk menyelesaikan suatu
langkah dasar. Hal ini memungkinkan periode clock, P, dikurangi dan clock rate, R,
ditingkatkan. Kedua, mengurangi periode clock, P. Akan tetapi jika tindakan yang
harus dilakukan oleh suatu instruksi tetap sama, maka jumlah langkah dasar yang
diperlukan dapat bertambah.
Peningkatan nilai R yang sepenuhnya disebabkan oleh peningkatan
teknologi IC mempengaruhi secara seimbang seluruh aspek operasi prosesor dengan
pengecualian pada waktu yang diperlukan untuk mengakses memori utama. Dengan
adanya cache, persentase akses ke memori utama menjadi kecil. Karena itu
kebanyakan peningkatan performa yang diharapkan dari penggunaan teknologi yang
lebih cepat dapat direalisasikan. Nilai T akan berkurang dengan faktor yang sama
dengan peningkatan nilai R karena S dan N tidak terpengaruh. Pengaruh pada
performa dari perubahan cara pembagian instruksi menjadi langkah dasar lebih sulit
untuk diperkirakan. Persoalan ini dibahas dalam Bab 8.
1.6.5. SET INSTRUKS1: CISC DAN RISC
Instruksi sederhana memerlukan eksekusi sejumlah kecil langkah dasar.
Instruksi kompleks melibatkan sejumlah besar langkah. Untuk prosesor yang hanya
memiliki instruksi sederhana, sejumlah besar instruksi mungkin diperlukan untuk
menjalankan suatu tugas pemrograman tertentu. Hal ini dapat menuju pada nilai N
yang besar dan nilai S yang kecil. Sebaliknya, jika instruksi individu melaksanakan
operasi yang lebih kompleks, maka diperlukan instruksi yang lebih sedikit, menuju
pada nilai N yang lebih rendah dan nilai S yang lebih besar. Tidak tampak jelas
bahwa satu pilihan lebih baik dari pilihan yang lain.
Pertimbangan utama dalam memperbandingkan dua pilihan adalah
penggunaan pipelining, Kita telah menjelaskan sebelumnya bahwa nilai efektif S
dalam prosesor terpipeline
mendekati 1 sekalipun jumlah langkah dasar per
instruksinya mungkin dapat dianggap lebih besar. Hal ini tampaknya menyatakan
secara tidak langsung bahwa instruksi kompleks dikombinasikan dengan pipelining
akan mencapai perfonna terbaik. Akan tetapi, lebih mudah untuk mengimplementasikan
pipelining yang efisien dalam prosesor dengan set instruksi yang sederhana Kesesuaian set instruksi tersebut untuk eksekusi pipeline adalah pertimbangan yang penting dan seringkali menentukan.
Desain set instruksi suatu prosesor dan pilihan yang tersedia dibahas dalam
Bab 2. Manfaat relatif prosesor dengan instruksi sederhana dan prosesor dengan
instruksi yang lebih kompleks telah dipelajari secara luas. Pendahulunya disebut
Reduced Instruction Set Computers (RISC), dan yang terbaru disebut Complex
Instruction Set Computers (CISC). Sekalipun menggunakan istilah RISC dan CISC
agar kompatibel dengan deskripsi kontemporer, kami memperingatkan pembaca
untuk tidak berasumsi bahwa keduanya secara nyata mendefinisikan kelaskelas
prosesor. Suatu desain prosesor tertentu adalah hasil dari banyak pertukaran. Istilah
RISC dan CISC mengacu pada prinsip dan teknik desain di beberapa bagian dalarn
modul
1.6.6 COMPILER
Compiler mentranslasikan bahasa pemrograman tingkat tinggi menjadi
rangkaian instruksi mesin. Untuk mengurangi N, kita perlu memiliki set instruksi
mesin yang sesuai dan compiler yang dapat menggunakannya dengan baik. Suatu
optimizing compiler memanfaatkan berbagai fitur prosesor target untuk mengurangi
basil kali N X S, yang merupakan jumlah total siklus clock yang diperlukan untuk
mengeksekusi suatu program. Kita akan melihat pada Bab 8 bahwa jumlah siklus
tidak hanya tergantung pada pilihan instruksi, tetapi juga pada urutan instruksi
tersebut muncul dalam program. Compiler dapat menata ulang instruksi program
untuk mencapai performa yang lebih baik. Tentu saja, perubahan semacam itu tidak
harus mempengaruhi hasil komputasi.
Dari luar, compiler tampak sebagai entitas terpisah dari prosesor yang
digunakannya dan mungkin bahkan berasal dari vendor yang berbeda. Akan tetapi,
compiler kualitas tinggi harus dihubungkan dengan erat pada arsitektur prosesor.
Compiler dan prosesor seringkali didesain pada waktu yang sama, dengan banyak
interaksi antara desainer untuk mencapai hasil terbaik. Tujuan akhirnya adalah
untuk mengurangi jumlah total siklus clock yang diperlukan untuk melakukan tugas
pemrograman yang diminta.
1.6.7 PENGUKURAN PERFORMA
Sangat penting untuk dapat memperkirakan perfonna suahr komputer.
Desainer komputer menggunakan perkiraan perfonna untuk mengevaluasi
keefektifan fitur barn. Produsen menggunakan indikator performa dalarn proses
pemasaran. Pembeli menggunakan data tersebut untuk memilin di antara model
komputer yang tersedia.
Pembahasan sebelumnya menyarankan bahwa parameter satusatunya
yang
mendeskripsikan secara tepat performa suatu komputer adalah waktu eksekusi, T,
untuk program tertentu. Meskipun Persamaan 1.1 sederhana secara konseptual,
namun menghitung nilai T tidak sederhana. Lagi pula, parameter seperti kecepatan
clock dan berbagai fitur arsitektural bukan indikator yang handal dari performa yang
diharapkan.
Untuk alasan tersebut, komunitas komputer mengadopsi ide pengukuran
performa komputer menggunakan program benchmark. Untuk memungkinkan
perbandingan tersebut, maka harus dibuat program yang terstandarisasi. Pengukuran
perfonna adalah waktu yang diperlukan suatu komputer untuk mengeksekusi
benchmark tertentu. Pada awalnya, beberapa pendekatan dibuat untuk menghasilkan
program artifisial yang dapat digunakan sebagai benchmark standar. Tetapi program
sintetik tidak dapat memprediksi perfonna yang diperoleh dengan tepat pada saat
program aplikasi riil dijalankan.
Praktek yang diterima saat ini adalah menggunakan pilihan program
aplikasi riil yang disetujui untuk mengevaluasi performa. Suatu organisasi nirlaba
yang disebut System Performance Evaluation Corporation (SPEC) memilih dan
mempublikasikan program aplikasi yang representatif untuk domain aplikasi yang
berbeda, bersama dengan hasil tes untuk banyak komputer yang tersedia secara
komersial. Untuk komputer generalpurpose,
sekelompok program benchmark
dipilih pada tahun 1989. Program tersebut dimodifikasi dan dipublikasikan pada
tahun 1995 dan dimodifikasi lagi pada tahun 2000.
Programprogram
yang dipilih berada dalam rentang dari mulai
memainkan game, compiler, dan aplikasi basis data hingga program yang intensif
secara numerik dalam astrofisika dan kimia kuantum. Pada tiap kasus, program
tersebut dikompilasi untuk computer under test, dan dilakukan pengukuran running
timenya
pada komputer riil. Program yang sama juga dikompilasi dan dijalankan
pada satu komputer yang dipilih sebagai referensi. Untuk SPEC95, referensinya
adalah SUN SPARCstation 10/40. Untuk SPEC2000, komputer referensinya adalah
workstation UltraSPAKCIO
dengan prosesor 300MHz
U1traSPARCIIi. SPEC rating dihitung sebagai berikut



Jadi SPEC rating 50 berarti computer under test 50 kali lebih cepat dari
UltraSPARC10 untuk benchmark tersebut. Tes tersebut diulang untuk semua
program dalam kelompok SPEC, dan dilakukan perhitungan ratarata
geometrik dari
hasil tersebut. Misalkan SPEC adalah rating untuk program i dalam kelompok
tersebut. Keseluruhan SPEC rating untuk komputer tersebut dinyatakan


Dimana n adalah jumlah program dalam kelompok tersebut
Karena waktu eksekusi aktual adalah terukur, maka SPEC rating adalah
ukuran dari efek gabungan semua faktor yang mempengaruhi performa, termasuk
compiler, system operasi, prosessor, dan memori computer yang sedang diuji.
1.7. MULTIPROSESOR DAN MULTIKOMPUTER
Sejauh ini, kita telah membahas komputer dengan satu prosesor. Sistem
komputer besar dapat berisi sejumlah unit prosesor, yang disebut sistem
multiprosesor. Sistem tersebut mengeksekusi sejumlah tugas eksekusi yang berbeda
secara paralel, atau mengeksekusi sub tugas dari suatu tugas besar tunggal secara
paralel. Semua prosesor biasanya memiliki akses ke semua memori dalam sistem
semacam itu, dan istilah sistem multiprosesor sharedmemory
sering digunakan
Modul 1
untuk memperjelas sistem ini. Performa tinggi sistem tersebut muncul bersama
dengan peningkatan kompleksitas dan biaya. Selain banyak prosesor dan unit
memori, biaya meningkat karena adanya kebutuhan jaringan interkoneksi yang lebih
kompleks.
Berbeda dengan sistem multiprosesor, dimungkinkan penggunaan
kelompok komputer lengkap yang terinterkoneksi untuk mencapai daya komputasi
total yang tinggi. Komputer tersebut biasanya hanya memiliki akses ke unit memorinya
sendiri. Pada saat tugas yang dieksekusinya perlu untuk mengkomunikasikan
data, maka komputer tersebut melakukannya dengan mengirimkan pesan melalui
jaringan komunikasi. Sifat ini membedakannya dari multiprosesor sharedmemory,
dengan nama multikomputer messagepassing.



ORGANISASI KOMPUTER DASAR
A. KOMPONEN SISTEM
Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan instruksi yang diberikan. Sistem tersebut dirancang dari modul-modul hardware seperti :
1. Register
2. Elemen aritmatika dan logika
3. Unit pengendali
4. Unit memori
5. Unit masukan/keluaran (I/O)
Komputer dapat dibagi menjadi 3 bagian utama, yaitu :
1. Unit pengolahan pusat (CPU)
2. Unit masukan/keluaran (I/O)
3. Unit memori
Organisasi dasar dari sebuah komputer dapat ditunjukan pada blok diagaram pada gambar di bawah ini :
bus data bus data
bus alamat
bus kendali bus kendali
Keterangan :
CPU mengendalikan urutan dari semua pertukaran informasi dalam komputer dan dengan dunia luar melalui unit I/O. Sedangkan unit memori terdiri dari sejumlah besar lokasi yang menyimpan program dan data yang sedang aktif digunakan CPU. Ketiga unit tersebut dihubungkan dengan berbagai macam bus.
Input/Output
(I/O) Unit
Central
Processing
Unit
(CPU)
Unit
Memori
Utama
Organisasi & Arsitektur Komputer by Yulisdin Mukhlis, ST., MT Bus adalah sekelompok kawat atau sebuah jalur fisik yang berfungsi menghubungkan register-register dengan unitunit fungsional yang berhubungan dengan tiap-tiap modul. Informasi saling dipertukarkan di antara modul dengan melalui bus.
B. OPERASI MIKRO
Adalah operasi tingkat rendah yang dapat dilakukan oleh komputer atau CPU sehingga fungsi-fungsi operasi akan dihasilkan untuk memindahkan data antar register. Salah satu cara dalam melakukan operasi mikro tersebut dengan menggunakan bahasa transfer register / Register Transfer Language (RTL).
RTL adalah sebuah bahasa yang digunakan untuk menjabarkan atau melaksanakan operasi mikro. Untuk mengungkapkan bahasa RTL ini dapat digunakan notasi RTL yang merupakan aturan penulisan pemberian instruksi RTL. Contoh notasi tersebut antara lain :
Notasi RTL untuk mentransfer isi register A ke B B (A)
Isi dari register
A
Notasi RTL untuk mentransfer bagian-bagian dari register (field). Sebuah field pada sebuah register dinotasikan dengan menggunakan tanda kurung.
Field AD di register IR ditransfer ke register PC PC (IR[AD])
Notasi RTL untuk mentransfer field AD dari register IR ke
register PC
R1 [0..3] (X)
Organisasi & Arsitektur Komputer by Yulisdin Mukhlis, ST., MT Isi register X ditransfer ke bit 0 sampai 3 pada register R1, yang berari X mempeunyai panjang bit adalah 4 Selain itu, dapat juga dipakai konstanta pada sisi sebelah kanan tanda panah.
L 5
Artinya simpan nilai 5 pada register L
Notasi RTL untuk menggambarkan berbagai macam operasi-mikro Aritmatika.
A3 (A1) + (A2)
Artinya isi register A1 dan A2 dijumlahkan dengan menggunakan sirkuit adder biner dan hasil jumlahnya ditransfer ke register A3.
Namum apabila dilakukan pengulangan penjumlahan akan menyebabkan overflow dan untuk menampung overflow tersebut digunakan register 1-bit yaitu V sebagai register overflow serta pelengkap A3.
VA3 (A1) + (A2)
Contoh operasi aritmatika lainnya :
A (A) + 1 ; increment isi A oleh 1
A (A) - 1 ; decrement isi A oleh 1
A (A) ; menurunkan
komplemen A
A (A) + B +1 ; lakukan A – B dengan
menambahkan
komplemen 2’s ke A
Notasi RTL untuk menggambarkan berbagai macam operasi-mikro Logika.
C (A) OR (B)
Artinya bahwa logika OR dari sis register A dan B ditransfer ke register C. Begitu juga dengan operasi AND Organisasi & Arsitektur Komputer by Yulisdin Mukhlis, ST., MT C (A) AND (B)
Notasi RTL untuk menggambarkan transfer data ke dan dari word memori.
Dalam RTL, unit memori utama pada komputer dianggap sebagai M dan menulis word ke-i dalam memori menjadi M[i].
Proses pembacaan memori (memory read) adalah :
B (M[A])
Proses penulisan memori (memory write) adalah :
(M[A]) B artinya word memori yang alamatnya ditunjukkan oleh register A ditransfer ke atau dari register B dalam CPU. Notasi RTL digunakan untuk transfer register hanya pada kondisi tertentu, hal tersebut dilakukan dengan 2 cara :
1. Menggunakan pernyataan kondisi logika (logical condition)
IF (V) > (W) THEN Q 0
Men-set 0 ke register Q hanya jika nilai register V lebih besar dari nilai register W.
Note :
Pernyataan kondisi logikal hanya didefinisikan untuk IF
• THEN dan tidak untuk ELSE.
2. Menggunakan pernyataan kondisi pengendalian (control
condition)
t0 (c1 + c2) : X (Y)
dengan metode ini, kondisinya merupakan fungsi logikal dari variabel biner yang mengatur input register. Fungsi-fungsi ini dijabarkan disebelah kiri dari operasi transfer register dan diikuti oleh tanda titik dua.
Keterangan contoh di atas :
Organisasi & Arsitektur Komputer by Yulisdin Mukhlis, ST., MT
Isi Y dipindahkan ke X hanya jika t0 bernilai 1 dan salah
satu c1 atau c2 juga bernilai 1
Namun jika kondisi tertentu adalah 0, simbol utama (‘)
harus digunakan sehingga pernyataan RTL – nya adalah
:
t’0 (c1 + c2) : X (Y) maka transfer hanya akan terjadi jika t0 bernilai 0 dan salah satu c1 atau c2 juga bernilai 1.
SIC (SIMPLIFIED INSTRUCTIONAL COMPUTER)
Komputer yang didasarkan pada SIC ini merupakan komputer yang termasuk dalam perancangan arsitektur yang sangat sederhana dan komputer ini dipersembahkan oleh BECK (1985).
Struktur Mesin SIC terdiri dari :
1. CPU
2. Unit memori
3. Minimal satu unit prinati I/O
Untuk CPU yang digunakan terdiri dari 13 register khusus, seperti yang ada pada table di bawah ini.
NO REGISTER UKURAN (bit) NAMA
1 A 24 Accumulator
2 X 15 Register Index
3 L 15 Register Linkage
4 PC 15 Program Counter
5 IR 24 Instruction Register
6 MBR 24 Memori Buffer Register
7 MAR 15 Memori Address Register
8 SW 11 Status Word
9 C 2 Counter
10 INT 1 Interrupt Flag
11 F 1 Fetch Cycle Flag
12 E 1 Execute Cycle Flag
13 S 1 Start / Stop Flag
Organisasi & Arsitektur Komputer by Yulisdin Mukhlis, ST., MT Format instruksi pada mesin SIC :
23 161514 0
OP IX AD
Keterangan :
OP = OPCODE 8 bit yang menerangkan operasi-mikro yang akan
dijalankan
IX = flag indeks yang menunujukkan mode pengalamatan yang
harus digunakan
AD = alamat untuk memori operand 15 bit
Pengalamatan langsung (direct addressing) yaitu operand disimpan di dalam M[AD]
Pengalamatan berindeks (index addressing) yaitu operand
disimpan di dalam M[AD = (X)] dengan bit IX bernilai 1
Penggunaan register-register pada SIC
1. Register A = register yang digunakan untuk proses perhitungan
2. Register X = register yang digunakan untuk mode pengalamatan berindex
3. Register PC = register yang menyimpan alamat instruksi berikutnya
4. Register L = register yang menyimpan alamat asal sebelum melakukan subroutines
5. Register IR = register yang menyimpan instruksi yang sedang dikerjakan
6. Register MBR = register yang digunakan untuk proses masukan atau keluaran data dari memori
7. Register MAR = register yang menyimpan alamat memori untuk proses pembacaan atau penulisan
8. SW = register yang berisi informasi status relatif terhadap instruksi sebelumnya
9. C = register yang membangkitkan signal waktu t0, t1, t2, t3
10. INT = register yang menentukan apakah signal interrupt telah diterima
11. F = register yang digunakan dalam proses”siklus fetch’
12. E = register khusus yang digunakan dalam proses “siklus eksekusi’
13. S = register yang akan mengaktifkan register C Organisasi & Arsitektur Komputer by Yulisdin Mukhlis, ST., MT
Kumpulan Instruksi SIC
Ada 21 instruksi SIC yang digunakan, dimana pada instruksi ini m menunjukkan address memori dari operand dan (m) menunjukkan nilai yang disimpan pada address memori tersebut. Opcode instruksinya ditulis dalam notasi heksadesimal. JSUB dan RSUB merupakan dua instruksi yang berhubungan dengan subrutin. JSUB menyimpan PC saat ini ke L dan kemudian melompat ke subrutin dengan menyimpan operand ke PC. RSUB kembali dari subrutin dengan melompat ke lokasi yang dinyatakan oleh L.
Instruksi TD digunakan untuk menguji piranti I/O sebelum
berusaha untuk membaca dari atau menulis ke piranti
tersebut.Hasil pengujian tersebut disimpan di dalam kode
kondisi (condition code), field CC, pada SW. Panjang field ini 2
bit dan digunakan untuk mewakili salah satu dari tiga nilai <, =, >
Jika instruksi TD dijalankan, nilai field CC aka di-set menurut kode berikut :
< menunjukkan bahwa piranti telah siap
= menunjukan bahwa piranti sedang sibuk dan tidak dapat
digunakan pada saat itu
• menunjukkan bahwa piranti tidak beroperasi Instruksi COMP digunakan juga untuk men-set field CC. Nilai yang disimpan field CC setelah sebuah instruksi COMP setelah sebuah instruksi COMP menggambarkan hubungan antara A dan operand instruksi Instruksi IRT digunakan oleh interrupt handler agar menyebabkan lompatan kembali ke tempat dimana CPU berada sebelum intrupsi terjadi.
Jika interupsi terjadi, CPU akan menyimpan PC saat ini ke dalam memori pada address 0.
Untuk kembali dari sebuah interupsi , isi dari alamat memori ini harus di-load kembali ke dalam PC.
Instruksi-instruksi lainnya adalah operasi aritmatika dan logika, transfer dari pengendalian(jump), loading register, storing register atau membaca dan menulis ke piranti I/O.







































TRANSLATE