Anda di halaman 1dari 87

Diktat Kuliah Organisasi Komputer

BAB I
ABSTRAKSI SISTEM KOMPUTER

1.1 Pendahuluan
Pelajaran desain, struktur, dan organisasi internal sistem komputer, aturan dari
komputer ini merupakan sekumpulan jumlah yang sama cepat, sistem yang kompleks
seperti halnya automobile, sebuah penunjuk misil, atau jaringan telepon. Orang dengan
latar belakang yang berbeda-beda dan tujuan yang akan mengecek sistem yang komplit
dengan cara yang berbeda serta pemisahan sistem ke dalam perbedaan yang menyeluruh
“building block”
Kita lihat salah seorang yang lebih baik pengetahuannya dan dengan leluasa
menggunakan sistem automobile, yaitu :
1. Dari pandangannya bahwa suatu automobile machine yaitu kumpulan dari seluruh
subsistem seperti engine, transmission, electrical, exhaust yang berfungsi dan
berinteraksi yang selaras untuk tujuan pelayanan yang sesuai.
2. Automobile designer yaitu kepentingan dalam kumpulan beberapa subsistem, tetapi
juga ditunjukkan tentang bagaimana pendesainannya dan meletakkannya kemudian
juga penyelesaian produk yang akan memenuhi kebutuhan dan keinginan pemakai.
3. Automobile engineer yaitu menunjukkan tidak hanya dengan fungsi keseluruhan
subsistem, tetapi juga belajar desain dari yang lebih primitif dan dasar rancang
bangun blok automotiv seperti valves, cams, gears, gaskets, dan seals.
Penyelesaiannya, orang kimia dan metalurgi mempertimbangkan suatu mobil pada
level abstraksi yang paling bawah secara sederhana yaitu suatu kumpulan elemen dan
material sepeereti besi, steel, alumunium, karet, dan kaca.
Analogi ini diperluas ketika mempelajari beberapa sistem yang besar serta
kompleks, apakah itu automobile atau komputer. Pandangan dari yang kita pecah-pecah
dan belajar suatu sistem disebut tingkat abstraksi, dan komponen yang kita pelajari secara
umum disebut blok bangunan atau primitif dari abstraksi. Contoh :
1. Kita pelajari sistem S dengan pelajaran 3 komponen A, B, dan C yang berinteraksi
diantara mereka tanpa diketahui untuk apa A, B, dan C disusun. Jika di dalamnya
bekerja dari komponen A, B, dan C dengan mementingkan kebenaran untuk
pengertian sistem S, tingkat abstraksi ini tidak dipikirkan dan kita akan memilih
tingkat abstraksi yang berbeda. Seperti pada contoh ke-2

Contoh 1 dari Sistem S Contoh 2 dari Sistem S

A B C A1 B1

B2 C1

A2 B3

A B C

IF - UTAMA Versi/Revisi : 1/0 Halaman : 1/87


Diktat Kuliah Organisasi Komputer

2. Kita pelajari sistem S yang disusun dari komponen A, B dan C, subkomponen yang
ada yaitu A1, A2, B1, B2, B3, C1 dan saling berhubungan. Kita sudah mendapatkan
tambahan informasi tentang susunan internal sistem S. Bagaimanapun, kita juga
boleh menjadikan hasil dalam uraian yang terinci dari kejelasan tingkat-bawah yang
menghalangi kita dari pengertian operasi dari beberapa sistem.

A. Manfaat
Sistem komputer merupakan sistem elektronika yang sangat kompleks sehingga akan
mengalami kesulitan dalam memahami sistem tersebut. Salah satu cara untuk
memudahkan dalam mempelajari sistem komputer yaitu dengan mengenalkan bentuk
sistem yang kesehariannya sudah dirasakan oleh kita semua seperti yang telah
dijelaskan diatas. Selanjutnya diarahkan ke bentuk yang memungkinkan untuk
dipelajari oleh kita semua dengan cara mengapresiasikan sistem komputer dalam
abstraksi sistem. Di abstraksi sistem kita bagi dalam tingkatan yang berbeda-beda
tetapi dalam satu fungsi sistem yaitu sistem komputer. Adapun manfaat yang bisa
diambil dalam mempelajari abstraksi sistem komputer yaitu :
1. Kemudahan untuk memahami sistem komputer yang sangat kompleks
dengan mengasumsikan sistem yang kesehariannya sudah sering kita gunakan.
2. Kemudahan dalam mempelajari sistem komputer dengan membagi
tingkatan yang berbeda sehingga kita bisa memahami sistem komputer secara
parsial.

B. Pokok Bahasan
Pada pembahasan materi abstraksi sistem komputer akan dijelaskan per tingkat atau
level dari suatu abstraksi sistem komputer yaitu mulai level 1 sampai dengan level 5.
Dimana setiap level mempunyai karakteristik sendiri-sendiri.

1.2 Abstraksi secara Hirarki


Tidak satu bentuk cara untuk mengklasifikasikan cara yang berbeda dalam
mempelajari sistem komputer. Sama halnya, teminologi asosiasi dengan sudut pandang
yang berbeda ini yaitu bukan suatu standar yang menyeluruh. Berikut merupakan cara
yang populer dalam mempelajari abstraksi sistem komputer.
Gambar abstraksi sistem komputer yaitu :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 2/87


Diktat Kuliah Organisasi Komputer

Level Urainnya Pandangan suatu


Komputer

1 Package, jobs, Kotak hitam yang


Operating System canned routines menyelsaikan masalah
Level

Programs, Kumpulan dari


2 statements, loops, primitif penyelesaian
Programming condition masalah dalam bahasa
Language Level tingkat tinggi

Memory, Kumpulan dari seluruh


3 processors, I/O subsistem hardware
Functional devices, registers
Organization Level
Computer Science
Electrical Engineering

4 Gates, circuits, Kumpulan dari


chips, boards komponen elektrik
Hardware Design yang rumit
Electrical Engineering Level
Physics

5 Electrons, atoms, Sistem fisik yang


magnetism disusun dari elemen
partikel
The Laws of
Physics(level 1) yaitu secara umum disebut level
− Pada level abstraksi yang tertinggi
operating system atau lebih sederhana level system. Pada level abstraksi ini, komputer
atau mungkin jaringan komputer dianggap kotak hitam yang bisa menyelesaikan
masalah. Pada level ini secara sederhana kita bisa meminta komputer untuk
mengeksekusi tasks seperti paket statistik, pengolahan teks, atau display grafik.
− Pada level abstraksi berikutnya (level 2), kita bisa berkomunikasi dengan komputer
lewat perintah bahasa tingkat tinggi, bagian yang disebut program dari operating
system atau system software lainnya. Program ini menerjemahkan kebutuhan kita dan
melaksanakan keinginan task atau skedul program lainnya untuk mengeksekusinya.
Primitif umum pada level ini yaitu :
Log on / Log off procedures
Account number, password, dan billing procedures
Listing of file directories
Running programs dalam directory-nya
Running spesial “package” programs
Entering data pada keyboard
Hasil cetakan dari printer
Pengiriman dan penerimaan e-mail

IF - UTAMA Versi/Revisi : 1/0 Halaman : 3/87


Diktat Kuliah Organisasi Komputer

Abstraksi ini disebut dengan Programming Language Level.


− Pada level ini (level 3) suatu kotak hitam yang tidak sesederhana, level abstraksi ini,
kita bisa mengerti misteri pekerjaan level sebelumnya (level 1). Bagaimana komputer
mengevaluasi secara aktual suatu relasi operator “yang lebih tepat”, bagaimana
komputer bisa melakukan penyelesaian konstanta 1 ke variabel integer c, dan apa
yang terjadi pada bagian komputer ketika statement dieksekusi, sebagai contoh
statement berikut :
If a > b then c := 1
Level ini disebut level functional organization (organisasi fungsional) beberapa waktu
yang lalu disebut level conventional machine (mesin konvensional). Yang
mempelajari bahwa komputer sebagai kumpulan seluruh subsistem yang secara
langsung mengelola storage dan aliran data serta instruksi diantara jalur komunikasi
komputer secara internal. Kita mempelajari bagaimana komputer secara aktual
melakukan operasi penyelesaian masalah pada level tertinggi (high-level) yang ditulis
dalam FORTRAN atau Pascal. Pada level ini, primitive yang dipelajari yaitu :
Memory cell (seperti words atau byte)
Memory menjemput / store operations
Registers
Adders, Shifters, Multipliers, dan Incrementors
Instruksi Bahasa Mesin
Teknik Pengalamatan
Pengkodean instruksi
Processors
Representasi Binary, Octal, dan Hexadecimal.
Kontroler Input / Output
Level ini mengasumsikan bahwa pandangan mengenai sistem komputer. Dua tema
yang menghubungkan level abstraksi ini yang beberapa waktu digunakan dalam
proses perubahan. Organisasi Komputer dan Arsitektur Komputer yang tidak berarti
sama. Organisasi Komputer yaitu sumber-susmber sistem komputer, yang dipelajari
yaitu bagaimana komponen-komponen diorganisasi dan diintegrasi dari fungsi sistem
komputer dengan benar. Arsitektur Komputer yaitu sistem komputer dan kumpulan
dari sumber-sumber baik secara virtual atau nyata yang bisa dirasakan dari sistem
oleh user.
− Pada level ini (level 4) akan diawali dengan suatu pertanyaan bagaimana memory,
processors, registers, dan adders bekerja secara aktual ?. Untuk menjawab pertanyaan
ini, berarti akan masuk ke teknik elektro sehingga perpindahan level ini disebut level
Hardware Design, beberapa waktu lalu disebut Logic Design. Dalam komputer
modern ada penambahan level desain antara level 3 dan level 4, yang disebut level
microcode atau level firmware. Level ini akan mempelajari komputer sebagai
kumpulan dari gerbang-gerbang dan komponen-komponen elektronik yang rumit
yang mengelola aliran data, timing, dan sinyal kontrol diantara rangkaian internal.
Level ini membangun suatu blok yaitu :
AND-gates Resistor
OR-gates Kapasitor
NOT-gates Sinyal Kontrol
Konverter Sinyal Timing dan Clock
Transistors Voltage dan Level arus

IF - UTAMA Versi/Revisi : 1/0 Halaman : 4/87


Diktat Kuliah Organisasi Komputer

Level ini memberikan pengetahuan bagaimana menyusun blok bangunan khas level
3.
− Pada level ini (level 5) mempelajari laws of physic (ketentuan secara fisik), yang akan
mempelajari tentang blok bangunan seperti :
Electrons Kinetik
Protons Thermodinamik
Atoms Magnetis
Forces dan force Fields Konduktivitas
Juga akan dimulai pengertian prinsip-prinsip fisik pada komponen elektronik dan
gerbang-gerbang yang disusun dari level 4.

1.3 Organisasi Komputer


Organisasi komputer merupakan pelajaran struktur internal sistem komputer.
mengenai sumber-sumber hardware yang disediakan, melayani tujuan user, dan
hubungan diantara keduanya.
Suatu pertanyaan untuk mempelajari organisasi komputer sebagai berikut :
1. Bagaimanakah konstanta numerik direpresentasikan di dalam komputer ?
2. Bagaimanakah variabel direpresentasikan dan disimpan di dalam komputer ?
3. Bagaimanakah komputer mengimplementasikan aritmatika, logika, dan operator
relasi ?
4. Bagaimanakah kita mengimplementasikan aliran sekuensial normal dari kontrol ?
5. Bagaimanakah kita memilih aliran dari kontrol untuk mengimplementasikan kondisi
percabangan dan pengulangan dengan penggunaan diagram aliran (flow diagram).
6. Bagaimanakah input / output diimplementasikan ?
7. Bagaimanakah statement bahasa tingkat tinggi disimpan secara internal dan
bagaimanakah komputer secara aktual mengeksekusi ?
Pertanyaan tadi mungkin sebagian akan kita pelajari pada bab-bab selanjutnya.

1.4 Ringkasan
Biasanya suatu sistem terdiri dari sub sistem yang menyusun sistem tersebut,
sehingga satu sistem bisa memiliki lebih dari satu sub sistem. Dengan dasar bahwa sistem
terdiri dari sub sistem yang membangun sistem tersebut maka memungkinkan kita dalam
mempelajari suatu sistem per bagian sub sistem yang ada pada sistem tersebut.
Begitu juga pada sistem komputer, sehingga kita mudah untuk mempelajari
sistem komputer. Disamping itu, kita bisa mempelajari sistem komputer berdasarkan
level yang sudah diklasifikasikan ke dalam 5 level. Masing-masing level memiliki
karakteristik dan fungsi yang berbeda. Dengan adanya level pada tingkat abstraksi sistem
komputer, kita bisa mempelajari sistem komputer tersebut secara parsial.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 5/87


Diktat Kuliah Organisasi Komputer

BAB II
REPRESENTASI INFORMASI

2.1 Pengenalan Hardware Komputer


Komputer secara hardware adalah rangkaian elektronik dan perlengkapan mekanik
secara elektronis yang disebut dengan komputer. Sedangkan arsitektur didefinisikan
sebagai fungsi operasi dari masing-masing unit hardware dalam sistem komputer dan
mengalirkan informasi serta pengendalian unit yang ada.
Bentuk sederhananya, sebuah komputer yang terdiri dari 5 bagian utama yang
secara fungsional berdiri sendiri, yaitu :
1. Input
2. Memory
3. Arithmetic dan logika
4. Output
5. Control unit.
Kita bisa lihat dari 5 bagian utama pada gambar berikut :

Input Arithmetic
and Logic
Memory

Output Control
Unit

I/O
Processor

• Input adalah unit yang memasukkan kode informasi dari seorang operator, dari
peralatan mekanik secara elektronik seperti keyboard pada video terminal, atau dari
komputer lain dalam jalur komunikasi digital.
• Informasi disimpan pada salah satu di memory, sedangkan performansinya akan
diatur oleh arithmetic and logic dalam mengoperasikannya.
• Langkah-langkah prosesnya menurut program yang disimpan dalam memory.
• Setelah selesai, hasil dari proses akan dikirimkan ke unit output.
• Semua aksi yang berjalan akan dikendalikan oleh control unit.
Sekumpulan instruksi yang melakukan sebuah task disebut program. Biasanya
program disimpan di memori. Kemudian prosesor mengambil instruksi yang membangun
sebuah program dari memori, suatu saat, dan melakukan operasi yang diinginkannya.
Data adalah bilangan atau karakter, yang di-encode, yang digunakan sebagai
operand oleh instruksi. Bagaimanapun juga data digunakan oleh hampir semua informasi
digital. Pendefinisian data yaitu kemungkinan besar ada didalam program yang dianggap

IF - UTAMA Versi/Revisi : 1/0 Halaman : 6/87


Diktat Kuliah Organisasi Komputer

data jika data diproses oleh program lain. Sebagai contoh task dari compiling bahasa
tingkat tinggi dari sebuah program sumber ke dalam instruksi dan data mesin. Program
sumber sebagai data input-an ke program compiler. Compiler akan menerjemahkan
program sumber ke sebuah program bahasa mesin.
Informasi menangani komputer dengan kode (sandi) dalam format yang cocok.
Kesehariannya Hardware bekerja sesuai dengan rangkaian digital yang hanya mengenal 2
keadaan yang stabil, yaitu ON dan OFF. Masing-masing bilangan, karakter, atau instruksi
dikodekan sebagai string dari digit biner yang disebut dengan bits, yang mempunyai satu
dari 2 nilai yaitu 0 atau 1. Bilangan biasanya dipresentasikan dalam posisi notasi biner.

A. Tujuan dan Manfaat


Sesuai dengan pokok permasalahan yang dibahas bahwa sistem komputer hanya
mengenal dua keadaan (bentuk) yaitu : ON dan OFF, sehingga perlu dipikirkan
bagaimana cara untuk merepresentasikan sejumlah simbol yang dikenal oleh manusia
bisa dikenal juga oleh sistem komputer ?. Demikian juga, hasil dari pengolahan simbol
yang dimasukkan ke sistem komputer akan ditampilkan atau disampaikan dan sekaligus
bisa dimengerti oleh menusia (pengguna). Dengan adanya materi ini diharapkan kita bisa
memahami representasi simbol pada sistem komputer. Untuk itu, tujuan dari pokok
bahasan materinya representasi informasi yaitu :
1. Memahami representasi simbol-simbol (huruf, angka, dan simbol khusus) yang harus
dilakukan oleh manusia agar bisa dimengerti oleh sistem komputer.
2. Memahami sistem bilangan yang dipakai oleh manusia dan sistem komputer.
Sedangkan manfaat yang bisa diambil dari pokok bahasan materi representasi
informasi yaitu :
1. Memahami basis bilangan.
2. Bisa melakukan manipulasi perhitungan yang bisa dimengerti oleh manusia dan
sistem komputer.

B. Pokok Bahasan
Pada pembahasan materi representasi informasi akan dijelaskan berdasarkan sub
pokok bahasan atau materi yang berkaitan dengan representasi informasi yaitu :
1. Representasi Bilangan Biner Unsign (Tidak Bertanda).
2. Representasi Bilangan Integer Sign.
3. Representasi Bilangan Floating-Point.
 Bilangan Floating-Point.
 Kesalahan Floating-Point.

2.2 Representasi Informasi


Dalam mempelajari representasi informasi, sekiranya perlu dijelaskan tentang
representasi eksternal dan representasi internal.
 Representasi eksternal yaitu : suatu cara dimana informasi direpresentasikan dan
dimanipulasi oleh seorang programer dalam beberapa bahasa pemrograman atau
notasi bahasa perintah.
 Representasi internal yaitu : suatu cara dimana informasi secara aktual disimpan dan
dimanipulasi secara internal pada sistem komputer.
Representasi eksternal biasanya didasarkan pada pengetahuan notasi aljabar standar
yang telah dikenal dengan baik seperti bilangan desimal dan representasi integer
bertanda/magnitude. Representasi internal, pada penjelasan lainnya, dipilih untuk

IF - UTAMA Versi/Revisi : 1/0 Halaman : 7/87


Diktat Kuliah Organisasi Komputer

memfasilitasi konstruksi hardware komputer, untuk efisiensi yang maksimum, untuk


biaya yang minimum, dan pembuatan hardware yang handal.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 8/87


Diktat Kuliah Organisasi Komputer

Secara internal, semua bangunan komputer masa depan menyimpan informasi


dengan menggunakan sistem bilangan biner. Biner adalah sistem bilangan posisi basis 2.
sistem bilangan posisi yaitu : satu dimana nilai dari suatu digit yang tidak hanya
tergantung pada nilai absolut tetapi juga pada posisinya dalam suatu bilangan. Jika
representasi di (i = 0, 1, …n) digit dalam suatu sistem bilangan posisional, maka
interprestasi dari bilangan sebagai berikut :
d0d1d2 … dn
yaitu : d0 rn + d1 rn-1 + d2 r n-2 … dn r0 (2.1)
dimana r disebut radix atau basis dari sistem bilangan. Nilai r juga secara jelas lebih
spesifik yang bagaimanapun juga beberapa simbol yang ada unik dalam sistem. Sistem
bilangan basis r selalu terdiri dari digit r dengan jelas. Contoh :
Desimal : r = 10 di ∈ {0,1,2,3,4,5,6,7,8,9}
Biner : r = 2 di ∈ {0,1}
Quarnery : r = 4 di ∈ {0,1,2,3}
Informasi biner dalam komputer digital disimpan di memory atau register-register
prosesor. Isi register berupa :
1. Kontrol informasi, yaitu sebuah atau kumpulan bit yang menggunakan urutan tertentu
dari sinyal perintah untuk kebutuhan manipulasi data dalam register-register lainnya.
2. Data, yaitu bilangan atau informasi kode biner lainnya yang dioperasikan untuk
memenuhi kebutuhan hasil komputasi.
Sedangkan tipe data yang ada pada komputer digital bisa diklasifikasikan sebagai
salah satu dari kategori berikut :
1. Bilangan, penggunaannya dalam komputasi aritmatika.
2. Huruf pada alphabet, penggunaannya dalam pemrosesan data.
3. Simbol khusus lainnya, penggunaannya untuk tujuan tertentu.

A. Representasi Biner Tak Bertanda (Unsigned Binary)


Sebuah bilangan pada basis, atau radix, r adalah suatu sistem yang menggunakan simbol
nyata untuk r digit. Bilangan direpresentasikan oleh sebuah string dari simbol-simbol
digit. Untuk menerangkan kuantitas bahwa bilangan direpresentasikan, kuantitas
memerlukan perkalian masing-masing digit dengan sebuah rentang integer dari r,
kemudian bentuk penjumlahan lebar semua digit. Sebagai contoh :
1. Sistem bilangan desimal yang sehari-hari menggunakan radix sistem 10. 10 simbol
yang digunakan yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9.
String dari digit : 724.5 diterjemahkan ke representasi kuantitas yaitu :
7 x 102 + 2 x 101 + 4 x 100 + 5 x 10-1
dimana : 7 ratusan, 2 puluhan, 4 satuan, 5 persepuluhan
2. Sistem bilangan biner menggunakan radix 2. Ada 2 digit simbol yang digunakan
yaitu 0 dan 1. String dari digit 101101 diterjemahkan ke representasi kuantitas, yaitu :
1 x 25 + 0 x 24 + 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 45
dimana : radix 2 dikonversikan ke radix 10,
untuk penulisan sebagai berikut : (101101)2 = (45)10
3. Sistem bilangan oktal menggunakan radix 8. Digit simbol yang digunakan yaitu : 0,
1, 2, 3, 4, 5, 6, dan 7.
String dari 736.4 diterjemahkan ke representasi kuantitas, yaitu :
7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1 = 478.5
dimana : radix 8 dikonversikan ke radix 10, untuk penulisan sebagai berikut :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 9/87


Diktat Kuliah Organisasi Komputer

(736.4)8 = (478.5)10
= 7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1
= 7 x 64 + 3 x 8 + 6 x 1 + 4/8
= (478.5)10
4. Sistem bilangan hexadesimal menggunakan radix 16. Digit simbol yang digunakan,
yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F.
String dari F3 diterjemahkan ke representasi kuantitas, yaitu :
F x 161 + 3 x 160 = 243
dimana :
radix 16 dikonversikan ke radix 10, untuk penulisan sebagai berikut :
(F3)16 = (243)10
= F x 161 + 3 x 160
= 15 x 16 + 3 x 1
= (243)10
5. Konversi Bilangan dari desimal ke biner atau basis lainnya, dengan
menggunakan teknik yang disebut division by radix (pembagian oleh radix) yaitu
dikerjakan dengan urutan berikut :
 Pertama pembagian bilangan oleh radix tujuan dan sisa hasil bagi
disimpan pada remainder.
 Kemudian hasil bagi dibagi oleh radix tujuan dan sisa hasil bagi
disimpan pada remainder.
 Begitu seterusnya sampai hasil bagi tidak bisa dibagi oleh radix tujuan.
 Hasilnya dari remainder dituliskan dari bawah ke atas untuk representasi
ke basis tujuan.
untuk konversi secara matematis suatu bilangan dari desimal ke biner, atau ke
beberapa basis lainnya, dengan menggunakan teknik yang disebut division by radix.
Dengan inisialisasi mempunyai sebuah bilangan NR dalam sebuah basis R untuk
sesuatu yang bisa dikerjakan secara aritmatika sederhana (desimal, atau lainnya), dan
untuk penjelasan representasi dari N dalam sebuah basis r yang berbeda. Bahwa,
keinginan untuk menjelaskan digit yang tidak diketahui di dalam formula berikut :
NR = d0 rn + d1 rn-1 + d2 r n-2 + …+ dn-1 r1 + dn r0
Untuk mengerjakan ini, pertama-tama bagi NR, dan kemudian sisa pembagian, oleh
basis yang ingin kami representasikan dengan nama r. (ingat bahwa kami
mengerjakan aritmetika dalam basis R. kemudian, jika kami konversikan bilangan ke
dalam basis lain, kami mengerjakan aritmetika dalam basis 10) pembagian ini
ditunjukan berikut :
N’R = NR / r = d0 rn-1 + d1 rn-2 + …+ dn-1 r0 Remainder = dn (2.2)
n-2 n-3 0
N’’R = N’R / r = d0 r + d1 r + …+ dn-2 r Remainder = dn-1 (2.2)
N’’’R = N’’R / r = d0 rn-3 + d1 rn-4 + …+ dn-3 r0 Remainder = dn-2 (2.2)
Remainder dari operasi pembagian yaitu sama dengan digit suatu representasi yang
diharapkan oleh N dalam basis r pada representasi pengembalian perintah; bahwa :
digit yang paling rendah dibangkitkan pertama kali.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 10/87


Diktat Kuliah Organisasi Komputer

Contoh :
1. 5310 = ?2
2. 9910 = ?4
Jawab :
1. 2 53 2. 4 99
2 26 Remainder = 1 4 24 Remainder = 3
2 13 Remainder = 0 4 6 Remainder = 0
2 6 Remainder = 1 4 1 Remainder = 2
2 3 Remainder = 0 0 Remainder = 1
2 1 Remainder = 1 Representasi
0 Remainder = 1
Representasi Jadi 99(10) = 1203(4)

Jadi 53(10) = 110101(2)


6. Representasi Penulisan Cepat Bilangan Biner ke Basis Bilangan Lainnya, untuk
merepresentasikan kuantitas digit bilangan biner yang lebih banyak daripada
kuantitas bilangan desimal seperti bilangan desimal 5,000 direpresentasikan 4 digit
sedangkan kuantitas bilangan biner 1001110001000 yang membutuhkan 13 bit.
Suatu posisi sistem bilangan dengan radix R dan digit D, besar bilangan yang bisa
direpresentasikan yaitu RD – 1. Jika merubah basis r yang kedua kalinya, dengan
memperkirakan bagaimana r ?, sebagai jawaban untuk menyelesaikannya yaitu
ekspresi berikut untuk nilai d, bilangan dari digit membutuhkan :
rd – 1 = RD – 1
rd ≈ RD
d ≈ D log,R (2.5)
dalam kasusnya R = 10 dan r = 2
d ≈ log2 10
d ≈ 3.3D
Ini berarti bahwa rata-rata, representasi cepat akan menghabiskan waktu 3.3 digit-
digit untuk menyimpan sebuah nilai dalam biner seperti halnya untuk menyimpan
nilai-nilai dalam desimal. Ini merupakan satu kelemahan kecil dari sistem bilangan
biner.
Pembentukan notasi penulisan cepat ini didasarkan pada kenyataan bahwa 2 basis r1
dan r2 merupakan kesatuan integral dari yang lainnya, ada hal yang sepele untuk
konversi pengembalian dan sebagainya diantara bilangan r1 dan r2, secara spesifik
yaitu :
“Jika suatu basis r1 yaitu satu kesatuan dari basis r2 lainnya, seperti r1 = r2d,
kemudian masing-masing group dari d digit dalam r2 memetakan secara langsung
ke dalam satu digit dalam basis r1, dan masing-masing digit dalam basis r1
memetakan secara langsung ke dalam d digit dalam basis”.
Ini berarti bahwa secara sederhana pengelompokkan bersama d digit dalam basis
lama dan menempatannya dengan satu digit dalam basis yang baru, atau sebaliknya
Contoh :
1. 1100012 = ?8
jawab :
110 001
6 1

IF - UTAMA Versi/Revisi : 1/0 Halaman : 11/87


Diktat Kuliah Organisasi Komputer

= 618
2. 4778 = ?2
jawab :
4 7 7
100 111 111
= 1001111112

3. 100011112 = ?16
jawab :
1000 1111
8 F
= 8F16

4. 1D9C16 = ?2
jawab :
1 D 9 C
1 1101 1001 1100
= 11101100111002

B. Representasi Integer Bertanda (Signed Integer)


Dengan m digit biner, kita bisa merepresentasikan 2m pola yang unik, dari 000…0
ke 111…1. Pola 2m menyimpan bilangan natural 0,1,…, 2m – 1. Representasi kuantitas
sign dalam m digit, kita memakai hanya 2m sebagai pola untuk bekerja. Ada 3 ukuran
menggunakan untuk pengerjaan ini yaitu : sign/magnitude, komplemen, dan BCD
(Binary Coded Decimal)
1. Notasi Sign / Magnitude
Notasi sign / magnitude secara sederhana dan lebih jelas skema penulisan untuk
representasi bilangan positif dan negatif. Penempatan sign pada bit yang paling kiri.
Dengan ketentuan, 0 untuk tanda (sign) positif dan 1 untuk tanda (sign) bilangan negatif.
Sisa bit (m – 1) merepresentasikan magnitude dari bilangan notasi biner tidak bertanda
(unsigned binary).
Dengan kata lain : digit pertama dari bilangan digunakan untuk tanda, jika positif
maka digit pertama diberi nilai 0 (tanda untuk positif yaitu : 0) dan jika negatif maka digit
pertama diberi nilai 1 (tanda untuk negatif yaitu : 1).
Contoh : -8 (desimal) = 11000
+8 (desimal) = 01000
Masalah : + 0 tidak sama dengan – 0
Karena +0 = 00000, -0 = 10000
Rentang nilai untuk sistem bilangan biner S/M= − (2 m −1 − 1) ≤ N ≤ +(2 m −1 − 1)
Biner = 0 < N < 1
m = Jumlah digit
misal : untuk S/M = 5 rentang nilainya = -15 < N < 15
Penjumlahan dan Pengurangan pada S/M

2. Bilangan 2-komplemen
Radix komplemen yaitu teknik yang digunakan untuk merepresentasikan kuantitas
sign (Catatan metode biasanya ditujukan untuk penempatan kata “radix” dengan bilangan

IF - UTAMA Versi/Revisi : 1/0 Halaman : 12/87


Diktat Kuliah Organisasi Komputer

dari basis yang sedang dikerjakan. Radix desimal disebut tens complement / komplemen
sepuluh; radix biner disebut twos complement / 2-komplemen).
− Dalam komputer menyimpan m digit biner per sel memori, modulusnya yaitu :
M = 2m.
− Nilai satu unit yang besar daripada besarnya kuantitas yang disimpan dalam single
m-bit lokasi memori, yaitu : 111…1 = 2m – 1 = M – 1
− Teknik merepresentasikan 2-komplemen didasarkan pada prinsip berikut :
 Bilangan positif direpresentasikan dengan hitungan atas dari 0 diantara
bilangan
 Bilangan negatif direpresentasikan dengan hitungan bawah dari modulus
M diantara bilangan
 Contoh + 5 direpresentasikan dengan hitungan atas 5 unit dari 0, dan – 4
direpresentasikan dengan hitungan bawah 4 unit dari modulus, atau, dalam kata
lain, dengan komputasi nilai M – 4.
− Representasi 2-komplemen bisa didefinisikan secara simbolik :
+X=X
-X=M–X
contoh :
asumsi m = 4
a. Apa representasi + 6 dalam 2-komplemen ? jawab : + 6 akan
direpresentasikan secara sederhana dengan hitungan atas 6 unit dari 0, atau 0110
b. Apa representasi – 7 dalam 2-komplemen ? jawab : untuk representasi
bilangan negatif dengan hitungan bawah dari modulus. M = 2m = 24 = 16
Oleh karena itu, - 7 = 16 – 7 = 9 = 1001
− contoh a dan b tadi, ada arti-dua contoh a : + 6 bisa dikatakan – 10 sehingga 16 – 10
= 6. Contoh b : – 7 bisa dikatakan + 9, tergantung dari asumsi kita yaitu hitungan atas
dari 0 atau hitungan bawah dari M.
− Untuk menerjemahkan agar tidak ada arti-dua pada beberapa nilai 2-komplemen,
tabel berikut bisa jadi pegangan :
Decimal Twos Complement Sign / Magnitude m=4
+0 0000 0000
+1 0001 0001
+2 0010 0010
+3 0011 0011
+4 0100 0100
+5 0101 0101
+6 0110 0110
+7 0111 0111
-0 tidak ada 1000
-1 1111 1001
-2 1110 1010
-3 1101 1011
-4 1100 1100
-5 1011 1101
-6 1010 1110
-7 1001 1111
-8 1000 tidak bisa

IF - UTAMA Versi/Revisi : 1/0 Halaman : 13/87


Diktat Kuliah Organisasi Komputer

direpresentasikan
dalam 4 digit

− Operasi bilangan komplemen sama dengan menggunakan nilai negatif. Untuk


bilangan komplemen ditemukan dengan – X = M – X, secara ekstrim teknik ini sulit
digunakan untuk mengaplikasikan contoh b diatas, meliputi pengurangan dan
peminjaman, yaitu : - X = (M – 1) – X + 1.
Kuantitas (M – 1) yaitu string secara nyata m 1 bit, oleh karena itu pengurangan X
dari (M – 1) akan mudah sebab tidak ada peminjaman, apa yang terjadi ketika
pengurangan digit biner dari 1 :
1 1
-0 -1
1 0
jadi kuantitas ( M – 1) – X bisa dievaluasi tanpa mengurangi sedikit perubahan semua
0 ke 1 dan semua 1 ke 0. Kemudian kita harus menambahkan 1 untuk membawa hasil
yang benar. Untuk ringkasnya, guna meniadakan nilai 2-komplemen, kerjakan kasus
berikut ini :
a. Ubahlah semua bit dari 0 ke 1, dan dari 1 ke 0.
b. Tambahkan 1 untuk hasilnya.
Tranformasi bilangan dari desimal ke 2 – komplemen, yaitu :
a. untuk bilangan desimal positif, representasi ke bilangan 2 – komplemen
dengan bentuk yang sama seperti bilangan biner biasa yaitu +X = X
Contoh : + 4 = 0100 digit yang bisa memenuhi yaitu m = 4
+ 14 = 01110 digit yang bisa memenuhi yaitu m = 5
- yang perlu diperhatikan yaitu rentang bilangan yang memenuhi representasi
bilangan desimal dengan memperhatikan berapa digit yang dipakai, yang
dinyatakan dengan banyak digit yaitu m.
b. untuk bilangan desimal negatif, representasi ke bilangan 2 – komplemen
dengan menggunakan ketentuan sebagai berikut :
-X = M-X
= ( M-1) – X + 1
= X’ + 1

Contoh :
1. + 4 = 0100
1011 komplemen
1
1100 -4
2. + 8 = 01000
10111 komplemen
1
11000 -8
Penjumlahan pada 2 – Komplemen
- Penjumlahan dapat langsung dilakukan bit per bit, dengan mengabaikan bit
carry out (Most Significant Bit / MSB)
Contoh :
1. + 3 0011
+4 0100 untuk m = 4

IF - UTAMA Versi/Revisi : 1/0 Halaman : 14/87


Diktat Kuliah Organisasi Komputer

+7 0111

IF - UTAMA Versi/Revisi : 1/0 Halaman : 15/87


Diktat Kuliah Organisasi Komputer

2. +7 00111
-2 11110 untuk m = 5
+5 1}00101
carry diabaikan

Pengurangan pada 2 – Komplemen


D = Y – K = y + (-X)
Cara mengurangkan :
1. Negasikan operand pengurang ( komplemen dan tambah 1)
2. Jumlahkan 2 operand.

3. Bilangan 1-komplemen
- Merupakan Variasi dari representasi 2 – Komplemen
- Kelebihan dengan 2 – komplemen yaitu
 lebih sederhana.
 operasi aritmetika lebih komplit.
- Kekurangan :
 ada 2 representasi untuk bilangan 0 (nol) yaitu 00000 (+0) dan 11111 (-1)

Representasi bilangan positif dan negatif untuk 1 – K


- Bilangan positif : +X = X
- Bilangan negatif yaitu -X = (M – 1) – X = X’
Penjumlahan pada 1 – Komplemen
Pada 1 – K bit carry tidak dapat diabaikan, akan tetapi dijumlahkan pada LSB (end
around carry)
Pengurangan pada 1 – Komplemen
Pengurangan 1 – Komplemen sama dengan representasi 2 – Komplemen yaitu
mengubahnya ke dalam bentuk penjumlahan

4. Penjumlahan Sign / Magnitude


Ada beberapa kasus yang harus diperhatikan
1. Bila tanda kedua bilangan sama
- tambahkan langsung kedua bilangan
- hasil operasi memiliki tanda yang sama dengan kedua bilangan
2. Bila tanda kedua bilangan berbeda
- cari bilangan yang besar
- kurangkan bilangan terbesar dengan bilangan terkecil
- hasil akan memiliki tanda sesuai dengan bilangan terbesar
Tabel : Penambahan dan pengurangan pada bilangan Sign / Magnitude
Pengurangan
Operasi Penambahan A>B A<B A=B
(+A) + (+B) + (A + B)
(+A) + (-B) + (A – B) - (B – A) + (A – B)
(-A) + (+B) - (A - B) + (B – A) + (A - B)
(-A) + (-B) - (A + B)
(+A) - (+B) + (A - B) - (B – A) + (A - B)
(+A) - (-B) + (A + B)
(-A) - (+B) - (A + B)

IF - UTAMA Versi/Revisi : 1/0 Halaman : 16/87


Diktat Kuliah Organisasi Komputer

(-A) - (-B) - (A - B) + (B - A) + (A - B)
5. Bilangan Floating-Point
Beberapa interpretasi posisi menunjukkan kebenaran suatu kuantitas pecahan untuk digit
kebenaran dari point biner. Catatan bahwa basis 2, ketika tanda “.” muncul pada nilai
bilangan floating-point dan titik tadi disebut binary point bukan point decimal.
d0 …dn . dn+1dn+2 … = d0 rn + … dn r0 + dn+1 r -1 + dn+2 r -2 +…
Dalam desimal, nilai posisi yang benar dari point decimal yaitu sepuluhan, ratusan,
ribuan, dan sebagainya. nilai posisi yang benar dari point binary yaitu setengah,
seperempat, seperdelapan, dan sebagainya. Secara umum, untuk basis r berarti nilai posisi
yang benar dari radix point yaitu r –1, r –2, r –3, …
Contoh :
1. Berapa nilai desimal dari (110.01101)2 ?
Jawab :
(110.01101)2 = 1*22 + 1*21 + 0*20 + 0*2-1 + 1*2-2 + 1*2-3 + 0*2-4 + 1*2-5
= 4 + 2 + 1/4 + 1/8 + 1/32
= 613/32
= (6.40625)10
2. Berapa nilai bilangan biner dari pecahan desimal (0.375)10 ?
Jawab :
Dengan menggunakan invers dari devisi radix yaitu : mengalikan bagian bilangan
pecahan dengan 2 dan menyimpan digit carry out di kiri pada point binary, kemudian
ulangi sampai bilangan biner menjadi bilangan bulat (1.00 …).
.375
2x
0.750 0
2x
1.500 1 representasi bilangan biner
2x
1.000 1

(0.375)10 = (0.011)2

Notasi Scientific
Pada komputer, Bilangan Floating-Point = R, tidak direpresentasikan pada posisi notasi
ekspresi 5.1. Tetapi, Floating-Point diekspresikan dalam notasi scientific seperti ekspresi
berikut :
±
R=± M*B E
dimana : M disebut mantisa
E disebut eksponen
B disebut basis dari eksponen
Ini juga bisa ditulis dalam format berikut :
R = (± M, B, E ± )
±
Dimana tiga nilai M, B, dan E diterjemahkan sebagai ekspresi R = ± M * B E
Bentuk pecahan dapat dinyatakan dalam bentuk pecahan biasa atau dalam bentuk
bilangan bereksponen (notasi scientific)
A. Transformasi biner ke desimal
B. Transformasi Desimal yang mengandung pecahan ke biner.
Langkah-langkahnya adalah :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 17/87


Diktat Kuliah Organisasi Komputer

1. Ubah bilangan desimak kedalam bentuk biner sebagai bentuk


transformasi.
2. Sisanya (bilangan pecahan), kalikan dengan 2
3. Sampai hasil yang bukan pecahan (bilangan bulatnya) kedalam hasil
transformasi
4. Kalikan lagi sisanya dengan 2 dan simpan bilangan bulatnya kedalam
hasil transformasi.
5. Ulangi terus sehingga tidak ada sisa atau ketelitian yang diingnkan
tercaoai.

C. Representasi Karakter
- Harus dipresentasikan ke dalam bentuk yang mudah disimpan dan dikenali
- Umumnya disimpan dalam bentuk bilangan integer tak bertanda dengan
kodifikasi tertentu
Ada beberapa tabel kodifikasi karakter yangs sering digunakan :
1. ASCII : American Standard Code for Information Interchange
2. BCD : Binary Code Desimal
3. EBCDIC : Extended Binary Code Decimal Interchange Code
Kode ASCII
- Menggunakan 8 bit yang menggambarkan sebuah karakter berupa huruf
besar, huruf kecil, karakter-karakter khusus serta komando atau control operation
(seperti : Cariage, return, line feed, start of message end mesagge). Dengan 8 bit
memungkinkan penggambaran sebanyak 2 ….. atau 256 karakter.
- Contoh : kata “KOMPUT” akan direpresentasikan sebagai biner :

K O M P U T
10101000 10101111 10101101 10100000 10110101 10110100

- dapat pula direpresentasikan dalam heksadesimal :

K O M P U T
AB AF AD BO B5 B4

Kode BCD
- Untuk menggambarkan informasi numerik yaitu desimal 0 s/d 9
- Setiap digit desimal direpresentasikan dengan 4 posisi biner dengan nilai
posisi 8,4,2,1 karena itu sering disebut 8421 code
- Tanda untuk : + = 1010 dan - = 1011

Contoh :
Digit Kode BCD
Disimal 8 4 2 1
9 1 0 0 1
3 0 0 1 1
4 0 1 0 0

Desimal 437 dalam Code BCD

IF - UTAMA Versi/Revisi : 1/0 Halaman : 18/87


Diktat Kuliah Organisasi Komputer

0100 0011 0111


4 3 7

+ 437
1010 0100 0011 0111
+ 4 3 7
- 437
1011 0100 0011 0111
- 4 3 7
D. Bit Paritas
- Digunakan untuk mendeteksi dan mengoreksi kesalahan dalam pengiriman
data.
- Untuk setiap pengiriman data (bawa atau tulis) dilakukan pengkodean untuk
memriksa paritas.
- Paritas bisa genap (even parity) atau ganjil (odd parity) untuk kepentingan
pemeriksaan paritas diperlukan satu bit (paritas bit) dalam satu set pengkodean
karakter.
- Bit paritas ganjil, jumlah bit “1” dalam satu set pengkodean karakter harus
berjumlah ganjil. Bit parity akan diberi harga, sehingga jumlah bit “1” dalam satu set
pengkodean karakter menjadi ganjil.
- Bit paritas genap, bit pariti akan diberi harga, sehingga jumlah bit “1” dalam
satu set pengkodean menjadi genap.
- Yang dimaksud dengan pariti checking adalah pemeriksaan keberlakuan data
sesuai sistem paritas yang dianut oleh sistem komputer.
i. bit paritas hanya dapat digunakan untuk mendeteksi adanya satu
kesalahan tunggal, bila ada kesalahan tunggal.
ii. hanya mampu mendeteksi (bukan mengkoreksi kesalahan, karena tidak
menunjukkan posisi bit yang salah.
contoh :
1. Pengirim men-transmit karakter B
(dalam pariti genap)
0100 0010
misal, bit ke 3 dari kanan berubah menjadi 1 karena derau (noise)
Penerima mendapat 0100 0110
Karena jumlah bit “1” berjumlah 3 (ganjil) maka penerima menolak karakter
yang diterima
2. Pengirim men-transmit karakter B
(dalam parity genap)
0100 0010
misal, bit ke 3 dan ke 4 dari kanan berubah menjadi 1 karena derau (noise)
Penerima mendapat 01001110
Karena jumlah bit “1” berjumlah genap, maka penerima menganggap karakter
yang diterima valid (benar)

2.3 Ringkasan
Tipe data yang pertama yaitu unsigned binary, dan itu merupakan tipe data internal
yang kita telah bahas pada bagian ini. Semua komputer mempunyai ketersediaan untuk

IF - UTAMA Versi/Revisi : 1/0 Halaman : 19/87


Diktat Kuliah Organisasi Komputer

proses secara langsung (seperti store, retrieve, compare, add) representasi informasi
dalam notasi unsigned binary.
Tipe data dasar kedua yang ada pada semua sistem komputer yang disebut signed
integer. Semua sistem komputer mempunyai instruksi bahasa mesin untuk memanipulasi
(store, retrieve, compare, add, subtract, dsb.) nilai dalam satu atau lebih dari skema notasi
berikut: sign/magnitude, twos complement, ones complement, atau BCD. Masing-masing
teknik mempunyai kelemahan dan keunggulan sendiri, dan itu merupakan aktualasasi
perancang komputer untuk menyeleksi teknik representasi yang lebih tepat untuk
kebutuhan pengguna.
2.4 Soal-Soal Latihan
Kerjakan latihan soal-soal berikut dengan benar dan soal telah disesuaikan dengan
instruksi yang harus dikerjakan.
1. Convert the following values into decimal.
a. 1332 (base 4)
b. 555 (base 7)
c. 1001110 (base 2)
2. Convert the following decimal values into the indicated base.
a. 1,000 into base 8
b. 913 into base 16
c. 1,234 into base 7
3. Convert base 32 be used as a shorthand notation for binary numbers ? What would be
the advantages ? and the advantages? How much shorter would the base -32 number
be ?
4. Convert the following octal numbers to binary.
a. 17670
b. 4005
c. 1010
5. Show how to represent the following decimal values in twos-complement
representation. Assume m = 10
a. -2001
b. +199
c. -15
6. Show how to represent the following decimal values in ones-complement
representation. Assume m = 6.
a. 1,000 into base 8
b. 913 into base 16
c. 1,234 into base 7

IF - UTAMA Versi/Revisi : 1/0 Halaman : 20/87


Diktat Kuliah Organisasi Komputer

BAB III
MEMORI

3.1 Pendahuluan
Pada bagian organisasi fungsional dari jenis sistem komputer modern. Perhatian
pada bagaimana mencari produksi mesin yang spesifik oleh seluruh perusahaan, pertama-
tama kita belajar suatu hipotesis komputer yang ideal yang disebut PVM (primitive Von
Neumman machine). Seorang matematikawan bernama Jhon Von Neumman, tahun 1946
menghadirkan struktur komputer yang terbukti kebenaran pada masa depan. Konsep
dasar Von Neumann dikembangkan dalam mendesain sistem komputer, berikut ini :
1. Penggunaan sistem bilangan biner.
2. Single, addressing memori secara sekuensial.
3. Bagian arithmetic/logic unit yang digunakan untuk perhitungan aritmetika dan logika.
4. Konsep penyimpanan program, yaitu program dan data disimpan dalam memori.
5. Pengontrolan yaitu pergantian instruksi dari memori dan pengeksekusiannya melalui
pengontrolan (control unit).
6. Beberapa fungsi organisasi komputer, yaitu bagaimana bagian-bagian lainnya dalam
sistem komputer.
Sudah banyak alternatif arsitektur yang dipaparkan semenjak 1946, dan sedikitnya
eksperimen komputer yang sudah dibangun, tetapi seluruh gagasan komputer modern
didasarkan pada klasikal “Von Neumann architecture” yang kehadiran selama 4 dekade
yang lalu. Arsitektur komputer Von Neumann membagi komputer ke dalam 5 fungsi
komponen yang lebih luas, yaitu :
1. Memori
2. Arithmetic / Logic Unit
3. Interconnect Network
4. Input / Output
5. Control Unit

3.2 Struktur Umum Memori


Memori adalah subsistem yang menyimpan dan mengambil informasi. Memori
dibagi ke dalam sel-sel, dan data diakses dengan menerjemahkan address unik dari sel
yang di dalamnya berisi data. Memori mengambil dan menyimpan data dari address N
secara simultan, pengambilan dan penyimpanan semua digit biner yang disimpan dalam
lokasi N. suatu memori menyimpan ke dalan alamat N dengan secara simultan
menyimpan nilai biner baru ke dalam semua lokasi posisi bit, lihat gambar 3.1 berikut.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 21/87


Diktat Kuliah Organisasi Komputer

m, the memory width


Address
m–1 … 1 0 Memory cell,
000 memory
001 location
2n 002
memory size .
.
.
2n – 1

Gambar 3.1 : Pandangan Logika Memori

Satu sel memori atau lokasi dalam gambar 3.1 yang selanjutnya disebut memory
words. Sejumlah bit di dalam lokasi masing-masing (simbol m dalam gambar 4.1) disebut
memory witdh, tempo lalu disebut cell size atau word size. Satu bit dari masing-masing
lokasi memori biasanya diberi nomor dari kanan ke kiri mulai dengan 0 sampai dengan
m – 1.
Masing-masing sel dalam komputer mempunyai alamat biner tak bertanda yang
unik, mulai dengan 0. Bilangan maksimum yang mungkin dari sel memori disebut
memory size atau address space; itu selalu meningkat 2 sebab representasi internal ada
alamat memori yaitu biner. Jika kita menggunakan n bit untuk merepresentasikan alamat
biner tak bertanda, maka kita akan mempunyai maksimum 2n sel memori, dan
pengalamatannya bernilai 0, 1, 2, …, 2n – 1.
Singkat dalam komputer, semua sel memori merupakan beberapa ukuran, dan
semua akses untuk pengambilan memori atau menyimpan sebuah sel pada satu ukuran
yang tetap. Jika kita ingin mengakses karakter, kita mungkin menginginkan untuk
mengambil 8 bit informasi. Jika ingin mengambil suatu integer, kita mungkin
menginginkan 16 atau 32 bit. Seandainya kita ingin mengambil nilai floating-point, kita
membutuhkan 32, 64, atau 128 bit. Jika kita hanya bisa mengakses 8 bit setiap saat, kita
mempunyai pekerjaan 16 bagian pengambilan untuk mengambil informasi yang
diperlukan.
Untuk penyelesaian ini, kita seharusnya tidak berpikir lama-lama karena memori
disusun dari unit yang hanya satu ukuran. Perhatikan, pertama-tama kita mendefinisikan
minimum-sized addressable unit. Ini merupakan unit terkecil dari memori yang
mempunyai address unik dan bisa diambil dan disimpan sebagai unit. Kita merujuk ke
minimum addressable unit ini sebagai m. Mesin yang lebih modern, m = 8 dan minimum-
sized addressable unit yaitu 8-bit byte. Ada komputer yang mempunyai m = 4, address
half-byte disebut nibble. Tabel 3.1 berikut merupakan terminologi untuk ukuran memory-
cluster.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 22/87


Diktat Kuliah Organisasi Komputer

Tabel 3.1 : Terminologi untuk Ukuran Memory-Cluster


Terms
Number of Bits Intel 8086 VAX-11/780 IBM 370
Minimum
addressable unit 8 Byte Byte Byte

16 Word Word Halfword


32 – Longword Word
64 – Quadword Doubleword
128 – Octaword –

3.3 Implementasi Memori


3.3.1 Penyimpanan Bit Individual
Karena komputer selalu menyimpan data secara internal menggunakan sistem
biner, memori sendiri bisa dibangun dari beberapa peralatan fisik yang mampu
menyimpan 2 nilai, dikorespondensikan ke biner 0 dan 1. Secara spesifik, peralatan
penyimpanan seharusnya mempunyai :
1. Dua keadaan stabil yang dibagi dengan energi barrier yang besar sesuai diagram pada
gambar 3.2.
2. Kemampuan untuk memilah diantara 2 keadaan ini secara virtual banyak waktu
infinitif.
3. Beberapa cara penggambaran keadaan yang tanpa penghilangan informasi secara
permanen.
1
Digit corresponding to that voltage

L a rg e en er g y b a rrier

0
V o l ta g e l e v e l
Gambar 3.2 : Penambahan Kehandalan Biner

Secara teorits : beberapa peralatan yang memenuhi tiga kriteria tersebut merupakan suatu
kandidat untuk digunakan dalam mebangunan memori komputer. Kenyataannya, kita
menyetujui tidak hanya kendala teori saja, tetapi juga seperti pragmen yang terjadi
berikut : biaya produksi, kehandalan, kekuatan pasar, dan ketersediaan.
- Implementasi dengan magnetic care
a. banyak digunakan sampai tahun 1970-an
b. status 0 (nol) atau 1 (satu) dibedakan dengan arah medan magnet yang
berbeda

IF - UTAMA Versi/Revisi : 1/0 Halaman : 23/87


Diktat Kuliah Organisasi Komputer

c. bentuk fisik seperti donat (ferric oxide), dengan diameter internal + 1/50
inch.
mempunyai sebuah kabel yang berjalan di dalamnya, yang disebut selection wire.
Selection wire bisa mengalirkan sebuah arus listrik, yang dikirimkan ke kabel secara
langsung. Tergantung pada kelangsungan arus, inti menjadi magnetis dalam
clockwise atau counterclockwise direction. Dua keadaan ini dihubungkan ke 0 dan 1.
Aturan untuk penjelasan field magnetis disebut right-hand rule. Lihat gambar 3.3
berikut :
F e r r i c o x i d e c o a ti n g

S e n se w ire

S e l e c ti o n w i r e

1 /5 "
Gambar 3.3 : Peralatan untuk Membangun Memori : Inti Memori

Untuk menggambarkan bahwa nilai yang disimpan dalam sebuah inti pada
beberapa waktu yang diberikan, kita mengirimkan arus ke dalam selection wire dalam
sebuah preset direction sebagai contoh. Dalam direction dihubungkan ke biner 0. Jika inti
siap dalam keadaan 0, tidak akan terjadi apapun. Jika arus inti berisi 1, inti akan berubah
ke keadaan 0. Perubahan field magnetic meliputi arus listrik lemah yang bisa ditutupi oleh
kabel yang kedua, yang disebut sense wire. Kehadiran arus ini menunjukkan bahwa nilai
original disimpan dalam inti yaitu 1. Dalam kasus ini, arus diperlukan dengan segera
untuk menuliskan inti kembali ke nilai original keadaan 1 yang sisa tidak akan berubah.
Ini merupakan pendekatan dengan pengiriman sederhana suatu arus ke dalam selection
wire dalam kemampuan direction untuk menuliskan kembali 0.
Inti magnetis merupakan metode yang lebih populer dalam membangun memori.
Sejak 1975, teknologi inti sudah menempatkan secara sempurna dengan semiconductor
memories, dimana 2 keadaan 0 dan 1 direpresentasikan oleh 2 voltage yang berbeda pada
level persilangan sebuah transistor, lihat gambar 3.4.

S e l e c ti o n l i n e

T r a n s i s to r

C a p a s i to r

G rou n d D a ta l i n e

IF - UTAMA Versi/Revisi : 1/0 Halaman : 24/87


Diktat Kuliah Organisasi Komputer

Gambar 3.4 : Semiconductor (Memori Satu Transistor, Satu Kapasitor)

Semua komputer masa depan dibangun dengan jenis memori semicondoctor solid-
state. Ada kelebihan berdasarkan hasil riset tentang cara merancang memori solid-state
yang lebih baik dengan kecepatan tinggi, perbaikan yang efisien dan kehandalan, dan
biaya rendah. Teknologi memori “alphabet soup” telah menangani riset ini, dan akronim
seperti TTL, ECL, PMOS, NMOS, dan CMOS semua direpresentasikan secara jelas
dengan teknologi yang berbeda sampai selesai: efisien dan penyimpanan sederhana dari 0
dan 1.

3.3.2 Penyimpanan Bit Bersamaan


Kita mengorganisasikan bit individual ini ke dalam kesatuan unit memori. Semua
unit memori dibangun dari memory plane, 2 dimensi k x k array dari elemen penyimpanan
biner, lihat gambar 3.5 (dimana k = 4).
B i t p o s i ti o n
A d d re s s m - 1 2 1 0
0 A d d ress 0 A d d ress 1 A d d ress 2
1 B it 0 B it 0 B it 0
2
x selection lines

S e n se lin e
14
A d d ress 1 5
15
B it 0
A d d re ss 1 4
B it 0
y s e l e c ti o n l i n e s
Gambar 3.5 : Organisasi dari Memory Plane

Memory plane terdiri dari sejumlah bit (seperti posisi bit) dari urutan konsekutif alamat
memori. Contoh jika kita mempunyai plane 4 x 4 yang ditunjukkan pada gambar 3.5,
dimana plane bisa terdiri dari semua bit 0 dari 60 lokasi konsekutif (alamat 0 – 15).
Organisasi ini digunakan karena memori diakses secara sel memori, dan ada yang hanya
satu bit dari masing-masing sel pada sebuah plane; oleh karena itu, setiap rujukan memori
(ambil dan simpan) akan merujuk satu dan hanya satu bit pada suatu plane.
Karena dari struktur 2 dimensi plane memory, sekarang kita harus mempunyai 2
selection line per elemen storage, sebut saja x dan y selection line, x-selection line dan y-
selection line bisa diaktifkan secara simultan untuk memilih satu bit pada plane yang
dimana kita ingin mengoperasikan. Hanya satu elemen storage pada irisan aktivitas (x,y)
kabel yang akan diambil dan disimpan selama siklus ini. Satu sense line yang berjalan
terus ke semua elemen penyimpanan yang akan digunakan untuk isi sense dari satu sel.
Gambar 3.5 menunjukkan orgnisasi hanya satu plane, sehingga hanya satu bit per
lokasi. Pada gambar 3.6 menunjukkan sel memori yang dibuat dengan m bit. Untuk
menampung ukuran sel ini, kita harus menumpukkan (stack up) m secara jelas dengan
plane k x k ini, dan masing-masing plane dihubungkan ke satu bit ke dalam sel.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 25/87


Diktat Kuliah Organisasi Komputer

B it - 7 p la n e
B it - 6 p la n e
B it - 5 p la n e
B it - 4 p la n e m = 8
B it - 3 p la n e
B it - 2 p la n e
B it - 1 p la n e
B it - 0 p la n e
L o c a ti o n o f a n 8 - b i t
m e m o r y l o c a ti o n

Gambar 3.6 : Bank Memori

Lokasi memori sekarang dihubungkan ke “vertical axis” yang memotong ke


planes, yaitu satu bit dalam posisi (x,y) pada masing-masing plane m. Jika kita ingin
mengakses suatu word dari memori, kita menggambarkannya posisi (x,y) ke dalam plane
dan kemudian, secara simultan pada semua plane m, mengaktifkan selection line (x,y).
Kedatangan sense line dari plane 0 yaitu bit 0 dari word. Kedatangan sense line dari plane
1 yaitu bit 1 dari word, dan seterusnya sampai ke plane (m –1), yang menyediakan bit (m
– 1) dari word. Terselesaikan pada sekumpulan k2 lokasi memori, masing-masing terdiri
dari m bit pada gambar 3.6, yang disebut dengan bank memory.
Pada tingkat teknologi yang ada, macam-macam nilai untuk k yaitu 128 dan 256,
dan yang memungkinkan untuk memesan plane (biasanya disebut memory chips) dengan
16K – 64K bit per plane (K = 210 = 1.024). Untuk membangun jenis memori yang
berorientasi byte yang kita sudah gambarkan, kita akan membutuhkan 8 chips per bank.
Plane yang besar terdiri dari 256K, atau 1.024K bit dari memori yang dikembangkan.

A. Wujud Memori Pendukung Proses


1. Register
- Register adalah suatu rangkaian berkecepatan tinggi yang digunakan untuk
menyimpan sementara sejumlah bit dengan makna alamat, data, instruksi atau
status.
- Register terdiri atas sejumlah flip-flop yang dirangkai sehingga memiliki
fungsi tertentu.
- Sebagai contoh ditunjukan beberapa register berikut :
a. register buffer = untuk menyimpan indeks base, address data
b. register pencacah = berfungsi sebagai program counter
c. register puter = register yang digunakan pada pembangkit fase mesin
d. register geser = digunakan dalam perkalian / pembagian
2. RAM
- Ram merupakan memori utama pada sistem komputer, dituntut untuk dapat
mendukung secara baik unjuk kerja pemroses
- Addressable (dapat diberi alamat) yang memungkinkan setiap lokasi dapat
diacu oleh proses (program maupun sistem)
- Read/write memoeri, setiap lokasi dapat ditulis dan dibaca kembali isinya
- Random access, artinya penulisan dan pembacaan dapat dilakukan pada
setiap lokasi secara acak, dengan waktu yang sama

IF - UTAMA Versi/Revisi : 1/0 Halaman : 26/87


Diktat Kuliah Organisasi Komputer

- Reusable, setiap lokasi yang pernah digunakan dapat diginakan kembali baik
oleh program / proses yang sama atau proses program yang lain
- RAM digunakan untuk
1. Bagian-bagian sistem operasi yang diperlukan dalam pengendalian
sistem komputer
2. Program aplikasi (yang sedang dilaksanakan)
3. Data yang dibutuhkan pada proses tertentu
- RAM memiliki 2 peluang wujud yaitu SRAM (Static RAM) dan DRAM
(Dynamic RAM)
- S RAM akan menyimpan data yang diperytahankan selama daya listrik tetap
ada atau RAM tersebut belum ditulisi kembali
- D RAM, pemnyimpanan data harus mengalami proses penyegaran (refresh)
secara periodek dengan membaca dan menuliskan kemabali data yang
disimpannya, karena kalau tidak dilakukan data akan hilang
3. ROM ( Read Only Memory)
- hanya dapat dibaca, isinya tidak dapat diubah
- isi memori diisi pabrik pembuat (beberapa ROM bisa diisi oleh pemakai).
- Bersifat random access
- Informasi yang disimpan di ROM
a. rutin-rutin penting
b. louder : program yang meload program-program lain (saat start up)
c. Compiler/interpreter
d. Error recovery procedure
e. Sebagian operating system
- beberapa jenis ROM
a. PROM (programmable ROM), yang memungkinkan pemakai
menyimpan data untuk memprogram kembali ROM diperlukan pemrograman
ROM
b. EPROM (Erasable Programmable ROM)
- Variasi dari ROM
- Isi memori tidak dapat dirubah dengan write biasa
- Memori bisa dihapus dengan prosedur khusus dan diganti dengan
yang baru
- Dapat diprogram dan dihapus dengan menggunakan cahaya
ultraviolet dalam waktu 5 – 10 menit
c. EEPROM (Elektronically EPROM)
- mirip EPROM tetapi dapat dihapus pada bit bit tertentu
- bersifat ovon-valotil
4. Cache ( buffer memory)
- adalah buffer dengan kecepatan tinggi (beberapa kali kecepatan memory)
digunakan untuk menyimpan sejumlah data yang sering digunakan pada main
memory.
- cache menjadi buffer antara pemroses dengan memori utama sehingga
memiliki efek seperti sekumpulan “enoma register” pada pemroses.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 27/87


Diktat Kuliah Organisasi Komputer

B. Wujud Memori Pendukung Kapasitas Data


− Tuntutan diatas dapat dipenuhi dengan hadirnya teknologi :
1. Pita magnetic
Untuk menangani cara akses sekuensial (berurutan) dan penyimpanan data
dilakukan dalam bentuk resia record yang secara fisik disimpan berurutan dalam
pita.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 28/87


Diktat Kuliah Organisasi Komputer

2. Disk / Diskette
Piringan magnetic, dapat menangani cara akses sekuensial, maka data disimpan
harus dalam urutan record pada track dan sektor sedangkan untuk memenuhi
akses random data tidak harus disimpan dalam urutan fisik (digunakan indeks)

3.4 Ringkasan
Komputer dibangun dengan jenis memori semicondoctor solid-state. Ada kelebihan
memori solid-state yang lebih baik dengan kecepatan tinggi, perbaikan yang efisien dan
kehandalan, dan biaya rendah. Teknologi memori seperti TTL, ECL, PMOS, NMOS, dan
CMOS semua direpresentasikan secara jelas dengan teknologi yang berbeda efisien dan
penyimpanan yang sederhana dari 0 dan 1.
Pada teknologi yang ada, macam-macam nilai untuk k yaitu 128 dan 256, dan
untuk memesan plane (biasanya disebut memory chips) dengan 16K – 64K bit per plane
(K = 210 = 1.024). Untuk membangun jenis memori yang berorientasi byte, kita akan
membutuhkan 8 chips per bank. Plane yang besar terdiri dari 256K, atau 1.024K bit dari
memori yang dikembangkan.

3.5 Soal-Soal Latihan


Kerjakan soal-soal latihan berikut ini :
1. Pada komputer dengan 64K (216) 32-bit sel memori yang dibagi ke dalam 4 bagian
16K bank, berikan ukuran yang lebih mirip dari :
a. MAR
b. MBR
Bagaimanakah beberapa bank akan kita butuhkan untuk memori 96K ?
2. Asumsikan bahwa kita mempunyai unit memori dengan 24 bank memori yang
berbeda. Masing-masing bank disusun dari 16 indentikasi plane yan terdiri dari 64 x
64 elemen simpanan biner. Nilai apa yang lebih pas dari ukruan sel komputer ini ?
3. Berapakah total number dari sel memori pada nomor 2 tadi ?
4. Bagaimanakah bank-bank yang akan kita punyai jika telah disusun memori dari plane
yang terdiri dari 128 x 128 elemen penyimpanan pada nomor 2 ?
5. Coba jelaskan mengenai fungsi dari memori pendukung yang telah didiskusikan
diatas !

IF - UTAMA Versi/Revisi : 1/0 Halaman : 29/87


Diktat Kuliah Organisasi Komputer

BAB IV
INPUT / OUTPUT DAN MEDIA PENYIMPANAN

4.1 Pendahuluan
Input / output merupakan topik yang sulit untuk dibicarakan dalam istilah umum
karena I/O merupakan mekanik yang tergantung pada operasi yang dilakukan oleh sebuah
komputer. Tetapi yang akan dibicarakan disini pada struktur organisasi komputer yang
umum. Perkembangan I/O juga terus berkembang dengan cepat pada kurun setiap waktu,
produk I/O yang berbeda terus membanjiri pasar.
Pada kesempatan ini, I/O diperkenalkan dari sisi karakteristik umum untuk semua
peralatan I/O, bukan pada pembuatan produksi, dan yang akan berkontribusi dalam
sebuah pengertian standar I/O. Berikut merupakan klas peralatan I/O :
1. Peralatan yang mencatat informasi dalam bentuk mesin yang bisa dibaca (machine-
readable), seperti magnetic encoding, untuk tujuan menyimpan informasi dalam
jangka waktu yang lama. Peralatan ini biasanya disebut mass storage devices dan
meliputi disks, tapes, dan cassettes.
2. Peralatan yang mencatat informasi dalam bentuk yang mudah dipahami oleh manusia
alphabetic, pictorial atau spoken. Peralatan ini merupakan sesuatu yang dihubungkan
ke, dengan sendirinya, sebuah peralatan I/O.
Macam-macam peratalan I/O
Input Output
Keyboard Video display terminal
Touch Panel Hard-copy terminal
Light Pen Graphics terminal
Voice input unit Plotter
Digitizer Voice output unit
Analog input device Environmental control
Punch card Analog output
Mark sense reader Phototypesetter
Optical scanner Line printer
Badge reader Braille printer
Fingerprint reader Disk (input and output)
Telephone buttons Tape (input and output)
Cash register controls Cassette (input and output)

4.2 Mekanisme Akses


Secara umum, peralatan I/O tidak secara random access. Peralatan I/O
menggunakan 2 tipe yang berbeda dalam mekanisme akses, disebut direct acces dan
sequential access. Direct access mempunyai karakteristik yaitu :
1. Semua data yang diperlukan bisa diakses pada setiap saat.
2. Informasi yang disimpan dialamatkan secara unik.
3. Alamat bisa secara langsung diakses, tetapi waktu yang dibutuhkannya untuk
mengambil sebuah informasi tidak konstan; itu tergantung pada kedalaman lokasi
informasi.
Beberapa macam peralatan penyimpanan direct-access (DASD) yang ada seperti :
1. Floppy disks

IF - UTAMA Versi/Revisi : 1/0 Halaman : 30/87


Diktat Kuliah Organisasi Komputer

2. Hard disks
3. Drums
4. Cassettes yang bisa dialamati.
Piringan disk dilapisi dengan ferric oxide, dan informasi dicatat secara magnetis
dalam lingkaran sejajar (konsentrik), disebut track, pada piringan disk. Masing-masing
track dibagi ke dalam sejumlah unit dengan ukuran yang tetap disebut sector, yang
masing-masing mempunyai address yang unik.
Contoh jika disk mempunyai 100 tracks (00 – 99), dan 500 sectors per track (000 –
499), maka alamat sector 23456 yang berarti 23 track, 456 sector dari awal tracknya.
(masing-masing track terdiri dari indikator awal dimana kita memulai hintungan sector).
Biasanya disk mempunyai beberapa piringan, dan masing-masing piringan bisa
mempunyai 100 – 500 tracks dengan 10 – 100 sectors per track. Sector sendiri
(individual) bisa terdiri dari 128 – 1.024 bytes informasi. Kapasitas disk cukup lumayan
lebar.
Pengambilan seluruh sector pada disk mencakup tiga langkah yaitu :
1. Pindahkan head read/write ke track yang dituju/benar (seek time)
2. Tunggu untuk berputur ke sector yang benar dibawa head read/write (latency)
3. Baca sector yang masuk (transfer time)
Total waktu yang dibutuhkan untuk membaca salah satu sector pada disk yaitu :
Total waktu = seek time + latency + transfer time
Biasanya total waktu yang dibutuhkan tergantung pada sector yang ada untuk
diakses. Jika total waktu merupakan lokasi sebuah sector pada track sama posisi yang
berjalan dari head read/write, maka pergerakan head tidak diperlukan dan seek time akan
bernilai 0. Sama halnya, jika mengakses sebuah sector yang dibutuhkan kebetulan
dibawah head read/write, maka latency akan diperkirakan 0. Berikut ini merupakan
gambar piringan pada disk :
R e a d / w r ite
a rm
R e a d / w r ite
Tra ck s h eads

r e c o r d i n g s u r fa c e
( fe r r ic ox id e )

In v i d u a l s e c to r s

S te p p e r m o to r to m o v e r e a d
R o ta ti o n / w r i te h e a d s b a c k a n d fo r th

Gambar 4.1 : Layout Piringan Disk

IF - UTAMA Versi/Revisi : 1/0 Halaman : 31/87


Diktat Kuliah Organisasi Komputer

Tabel 4.1 berikut menunjukkan waktu sederhana best-sace/worst-cast untuk jenis


disk, dengan asumsi 100 tracks, 1 msec untuk lintasan track, 50 sectors per track, dan
kecepatan rotasi 1.200 rpm. Satuan waktu milliseconds (ribuan detik).
Tabel 4.1 : Berbagai macam Kebutuhan Waktu (msec) untuk Disk
Seek Time Latency Transfer Time Total Time
Best case 0 0 1 1
Worst case 100 50 1 151
Average case 50 25 1 76

Peralatan lainnya yaitu : drum, drum dengan satu head read/write untuk masing-
masing track. Oleh karena itu, tidak pernah memindahkan head read/write dan seek time
pada drum selalu 0. Drum akan bersih dari waktu tunggu akibat rotasi dan transfer,
karena seek time berkurang, drum biasanya mempunyai waktu akses yang lebih rendah
daripada disk.
Lebih ringkas mekanik dari peralatan DASD selalu mempunyai 2 karakteristik
berikut :
1. Semua informasi diidentifikasikan dan diakses pada alamat (address) yang unik.
2. Waktu akses tergantung pada lokasi dari informasi yang diambil.
T ra cks

S e c to r s
R o ta ti o n

R e a d / W r i te H e a d

Gambar 4.2 : Drum Magentik

Mekanisme akses dasar yang kedua untuk peralatan I/O disebut sequential access.
Dengan akses sekuensial, bisa dihubungkan dari kedua kebutuhan dasar dari akses secara
acak. Tidak perlu banyak bahwa informasi diakses ke dalam alamat yang unik. Perhatian,
untuk mengalokasikan suatu lokasi data, kita mencari secara sekuensial semua informasi
yang disimpan pada sebuah peratalan sampai kita menemukan lokasi yang dicari. Contoh
pengetahuan yang baik dari sebuah sequential-access storage device (SASD) yaitu tape
magnetic reel-to-reel. Piringan tape dilapisi dengan ferric oxide, dan informasi secara
magnetis direkam dalam baris yang disebut channels. Tape modern terdiri dari 9 channel,
untuk memberikan penyimpanan suatu karakter 8 bit dan sebuah bit parity untuk
pengecekan kesalahan. Banyaknya karakter yang bisa dipaket bersama dalam sejumlah
tempat yang spesifik yang disebut tape density, dan pada mesin yang berjalan atau yang
lainnya yaitu sekitar 800 atau 1.600 karakter per inch. Panjang tape 2.200 feet, secara
teoritis menyimpan :
2.200 ft x 12 in/ft x 1.600 chars/in = 42.240.000 chars
Tempat yang tidak digunakan untuk penyimpanan disebut interrecord gap atau
tape gap diantara masing-masing chunk (blok) data yang dibaca.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 32/87


Diktat Kuliah Organisasi Komputer

One character (1018 = ‘A’)


Ferric oxide coating Channels
0
0
1
0
0
0
0
0
1

Number of characters per inch = tape density


Gambar 4.3 : Layout Informasi pada Tape Magnetik

Blok 1 Blok 2

Record gap 1 Record gap 2


Gambar 4.4 : Record Gap pada Tape Magnetik
Gap 1 dalam gambar 4.4 akan memberikan tempat untuk tape drive berhenti setelah
membaca blok 1, dan untuk memulai kembali membaca blok 2. Ukuran gap tergantung
pada karakteristik dari tape drive, tetapi untuk lebih mudah “kelipatan” 30, 50 atau setiap
70 persen dari masukan tape, mengurangi efektivitas storage per reel untuk 10 sampai 20
juta karakter lebih baik dari pada 42 juta karakter untuk memudahkan perhitungan.

4.3 Ukuran Record dan Blocking Factors


Bahasa tingkat tinggi seperti PASCAL, FORTRAN, dan BASIC,
menspesifikasikan operasi I/O hanya dalam istilah bagaimana banyaknya informasi yang
dibutuhkan dalam sebuah program. Contoh, jika kita sedang membaca sebuah integer 3-
digit dari sebuah file disk, kita berpikir bahwa hanya 3 digit yang kita butuhkan, bukan
ukuran atau layout fisik sectors suatu disk :
read(textfile, i:3)

read(1,100) i
100 format(13)
Format informasi, sesuai penglihatan oleh user, disebut logical records. Bahasa
tingkat tinggi memberikan kita untuk memperkirakan sesuatu dan program dalam istilah
logical record.
Dalam organisasi komputer tidak memperpanjang pembahasan logical records.
Semua peralatan I/O bekerja dalam unit yang fixed-size yang disebut physical records
yang ukurannya merupakan turunan karakteristik fisik dari semua peralatan. Seperti :
1. Tape magnetik : sudah tidak bekerja pada ukuran record fisik yang tetap, tetapi
memberikan user untuk menspesifikasi ukuran record fisik ketika penulisan pertama
pada tape.
2. Semua transfer ke dan dari sebuah peralatan I/O mengambil tempat dalam unit dari
satu atau lebih record fisik. Seperti sectors pada Disk.
3. Card reader/punch 80 karakter (satu card)

IF - UTAMA Versi/Revisi : 1/0 Halaman : 33/87


Diktat Kuliah Organisasi Komputer

4. Line printer 132 (atau 136) karakter (satu baris)


5. VDT (line oriented) 80 karakter (satu baris)
6. VDT (screen oriented) 1.920 karakter (80 x 24 screen)
Kita tidak pernah melaksanakan operasi I/O pada level ini, kita sebaiknya bekerja
dalam tema ukuran record fisik peralatan, lebih sering ukuran record logical yang ada ke
dalam program kita. Kita selalu mentransfer unit record fisik satu ke atau dari peralatan
I/O. Contoh lagi untuk mencetak integer 3-digit pada satu baris dari 132 karakater baris
printer, dalam bahasa tingkat tinggi, kita akan menuliskan :
writeln(textfile, i:3)

write(1,100) i
100 format(13)
Tetapi pada tingkat organisasi fungsional, itu akan menghasilkan sebagai berikut :
1. Alokasi tempat 132 karakter untuk baris ini.
2. Pindahkan sebanyak 3 karakter ke dalam posisi baris 1, 2, dan 3.
3. Pindahkan blanks ke dalam posisi 4, 5, …, 132.
4. Print baris 132 karakter.
Beberapa record logical terdiri dari sebuah record fisik yang disebut blocking
factor. Ada beberapa keuntungan mempunyai blocking factor yang luas, contoh bahwa
kita mempunyai 5 blocking factor sebagai berikut :
One physical record

LR LR LR LR LR
1 2 3 4 5

An individual logical record


1. Pertama-tama program kita meminta sebuah record logikal (lewat operasi read), kita
akan menuju peralatan input dan mengamil satu record fisik, yang terdiri dari 5
record logikal. Kita akan meloloskan record logikal LR 1 untuk program. 4 waktu
berikutnya program kita meminta input, kita tidak memerlukan pelaksanaan operasi
input sebab data sudah siap di memori dan bisa diberikan ke program secara cepat.
Selagi masukan data dari disk operasinnya relatif lambat, pengurangan operasi input
ini akan menghasilkan kecepatan yang signifikan terhadap eksekusi program.
2. Bisa menambah utilisasi sebuah peralatan tape magnetik. Untuk rujukan bisa lihat
gambar 4.5, kita lihat masing-masing record fisik dibatasi atas kedua side oleh
interrecord gaps. Seandainya kita asumsikan bahwa gap = ¾ in. Nilai umum density
tape yaitu 800 karakter per inch, dan record logikal masing-masing 80 karakter, maka
jika kita simpan record logikal tanpa block, masing-masing satunya akan menerima
1/10 in. Utilisasi tape mencapai 12 persen.
1/10” ¾” 1/10” ¾”
LR LR
1 2
Record gap Record gap
Blocking factor = 1
Gambar 4.5 : Interrecord Gap

IF - UTAMA Versi/Revisi : 1/0 Halaman : 34/87


Diktat Kuliah Organisasi Komputer

3. Ada keterbatasan untuk menambahkan blocking factor yaitu menyediakan sejumlah


memori pada komputer dan sejumlah tempat yang bisa dialokasikan untuk operasi
input. Perlu diingat bahwa menyelesaikan read atau write memerlukan satu record
fisik.

4.4 Modus-Modus Transfer


Bagaimana informasi ditransfer diantara peralatan I/O dan memori komputer ?
semua peralatan I/O disusun dari 2 bagian yang terpisah yaitu mekanik I/O dan kontroler
I/O. Mekanika merupakan mekanik sederhana, elektrikal, dan/atau komponen optik yang
membangun peralatan ini: keys, paper feeders, screen, tape heads, dan sebagainya.
Kontroler I/O merupakan komponen yang mengatur aliran informasi diantara peralatan
I/O dan komputer.
Kontroler I/O terdiri dari sebuah buffer sementara yang menyimpan data yang
ditransfer ke atau dari komputer. Kontroler juga menerima signal kontrol (seperti
START) dari komputer dan mengaktifkan kegiatan mekanika I/O dalam merespon.
Ketikas operasi selesai, kontroler bisa mentransfer isi dari buffer ke memori utama
komputer. Kontroler juga memasukan sekumpulan signal kontrol sederhana, seperti
DONE atau ERROR, menjelaskan status operasi I/O sudah selesai. Lihat Gambar 4.6.
STA R T
S i g n a l f r o m th e p r o c e s s o r

B u ffe r D a ta to o r f r o m m e m o r y
I/O m e c h a n ism
I / O c o n tr o l l e r

S i g n a l s to p r o c e s s o r
DON E
ER R OR

T h e I/O d e v ic e D a ta p a th
C o n tr o l s i g n a l
Gambar 4.6 : Struktur Umum Peralatan I/O

Ada beberapa yang lebih baik dan klas-klas yang terstandarisasi dari kontroler I/O.
Akronim PIO (parallel input/output) yang menunjukan klas kontroler yang luas yang
menangani transfer secara paralel sebuah byte 8-bit antara bus data dan peralatan I/O, ini
ditunjukkan pada gambar 4.7, Akronim USART dan UART – untuk universal
(Synchronous and) Asynchronous Receiver and Transmitter menunjukkan klas kontroler
yang bisa membawa byte data 8-bit dan mengirimkannya secara serial ke peralatan I/O,
satu bit ssetiap saat, seperti gambar 4.8

( P IO )
T o / f r o m d a ta b u s P a r a l l e l i n p u t- o u tp u t T o /fr o m I/O d e v i c e
a n d m em ory c o n tr o l l e r

O th e r c o n tr o l a n d ti m i n g s i g n a l s s u c h a s S T A R T , D O N E , a n d E R R O R
Gambar 4.7 : Kontroler I/O Paralel

IF - UTAMA Versi/Revisi : 1/0 Halaman : 35/87


Diktat Kuliah Organisasi Komputer

(U SA R T)
T o / f r o m d a ta b u s S e r i a l i n p u t- o u tp u t T o /fr o m I/O d e v ic e
a n d m em ory c o n tr o l l e r

O th e r c o n tr o l a n d ti m i n g s i g n a l s s u c h a s S T A R T , D O N E , a n d E R R O R
Gambar 4.8 : Kontroler I/O Serial

Teknik yang sederhana untuk mentransfer data antara peralatan I/O dan komputer
disebut programmed input/output. Dengan teknik ini, proses sederhana mengaktif
peralatan I/O secar langsung (secara umum dengan beberapa jenis signal START), dan
menunggu sampai signal DONE peralatan I/O, pada waktu karakter di register spesial ke
dalam kontroler I/O atau prosesor. Prosesor mengecek kesalahan dan memindahkan
karakter ke dalam memori jika kesalahan tidak diketemukan.
Masalah dengan programmed I/O (gambar 4.9) yaitu operasi I/O sangat umum,
sangat lambat dalam perbandingan dengan kecepatan internal komputer. Komputer
mengeksekusi instruksi dalam 1 atau 2 microsecond atau kurang lebih 100 nanosecond,
ketika operasi I/O bisa mencapai milisecond, second, atau satuan menit untuk
penyelesaian. 1
I/O STA R T
P r o c e sso r M em ory
I/O m e c h a n ism c o n tr o l l e r 3
DON E
2
D a ta p a th
C o n tr o l s i g n a l s
Gambar 4.9 : I/O Program

1. Prosesor membangkitkan sebuah perintah START untuk memulai operasi I/O.


2. Prosesor menunggu sampai kontroler I/O membangkitkan signal DONE, yang berarti
bahwa operasi diselesaikan.
3. (jika input) Prosesor memindahkan karakter ke dalam lokasi memori yang ada.
Satu solusi yang lebih umum dari pemanggilan masalah ini untuk menggunakan
interrupts. Interupsi yaitu signal ke prosesor bahwa suatu kejadian yang spesifik telah
terjadi. Ketika signal interupsi dibangkitkan, prosesor harus memberhentikan apa saja
yang sedang dilakukan prosesor dan menangani kejadian tersebut. Prosesor suka tidak
suka menseting sebuah clock alarm untuk mengingatkannya guna menyelesaikan tugas
pada waktu yang tersedia, berhenti bekerja pada sesuatu yang tidak diperlukan, dan
masuk dengan cepat untuk menyelesaikan tugas sesungguhnya (sebelumnya) ketika alarm
berbunyi.
Secara spesifik, ketika signal interupsi datang, prosesor mengerjakan berikut ini :
1. Interupsi tugas T dimana pengeksekusian prosesor berjalan.
2. Simpan status mesin (register-register, memori, dsb) selanjutnya T bisa dimulai
kembali pada waktu berikutnya.
3. Pengecekan untuk melihat kejadian apa yang menyebabkan interupsi.
4. Pengeksekusian sekumpulan program spesial dengan kejadian yang spesifik ini
(disebut interrupt handler).
5. Ketika interrupt handler selesai, pengembalian status mesin ke kondisi sebelum
terjadi interupsi.
6. Mulai kembali tugas T dari titik yang sudah ada ketika diinterupsi.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 36/87


Diktat Kuliah Organisasi Komputer

Dalam kasus ini, kita ditunjukkan tentang penyelesaian operasi I/O, dan signal
interupsi akan dihubungkan ke kedatangan signal DONE dibangkitkan oleh kontroler I/O.
Interrupt-driven I/O akan ditunjukkan pada gambar 4.10.
1
I/O S T A R T P r o c e sso r
2 M em ory
I/O m e c h a n ism c o n tr o l l e r 4
I n te r r u p t
sig n a l D a ta p a th
3
C o n tr o l s i g n a l s
Gambar 4.10 : Interrupt-Driven I/O

Keterangan :
1. Isu perintah START untuk operasi I/O.
2. Prosesor mengosongkan untuk menangani komputasi lain.
3. Ketika signal interupsi terjadi, prosesor menceritakan bahwa I/O dikerjakan, berhenti
apa yang pernah dilakukan.
4. Pindahkan karakter ke memori.
Sekarang tidak ada menunggu dan waktu terbuang kecuali untuk kebutuhan waktu
overhead guna pelayanan interupsi. Overhead ini akan dikorespondenkan ke langkah 2
dan 5 dalam penjelasan pengolahan interupsi: penamaan, penyimpanan dan
pengembaliam status dari tugas T.
Interupsi merupakan salah satu konsep penting dalam arsitektur komputer, dan
interupsi digunakan dalam area yang lebih luas dalam pengolahan I/O. Interupsi
digunakan untuk signal yang rusak total (fatal error) yang terjadi dalam sebuah program,
yang telah mempunyai kerusakan yang kuat, atau clock yang rendah membutuhkan
kelonggaran.
Satu masalah yang tersisa diselesaikan dengan kedua-duanya programmed dan
interrupt-driven I/O. Dari kedua kasus ini prosesor bertanggung jawab untuk
memindahkan penerimaan karakter baru ke dalam memori, karena hanya path ke dalam
memori ke prosesor. Jika pembacaan sebuah sektor yang terdiri dari informasi 512 byte,
prosesor akan diinterupsi pada waktu 512, satu untuk masing-masing byte. Jika byte yang
datang secara moderat cepat, prosesor bisa menghentikan bagian yang signifikan dari
waktu pengerjaan interupsi pengolahan yang relatif lambat dan menyimpan karakter
dalam buffer.
Sebuah path yang ada dalam komputer yang disebut port. Port yang digunakan
untuk ke dalam memori terdiri dari register MAR dan register MBR, dan sebuah
Decoder. Port yang hanya ke dalam memori dilanjutkan ke prosesor yaitu Programmed
I/O dan Interrupt-Driven I/O. Kita bisa menambahkan kedua port ke dalam memori secara
langsung menuju kontroler I/O (Controller I/O). kontroler I/O jenis ini, disebut Direct
Memory Access (DMA) Controller.
M em ory
3
DM A
I/O 1 D a ta p a th
I/O m e c h a n ism c o n tr o l l e r 2 C o n tr o l s i g n a l s
ST
AR

In
T

t
sig erru
na pt P r o c e sso r
l
4
Gambar 4.11 : Input/Output via Peralatan DMA

IF - UTAMA Versi/Revisi : 1/0 Halaman : 37/87


Diktat Kuliah Organisasi Komputer

Keterangan :
1. Panggil alamat memori buffer ke dalam kontroler I/O.
2. Isu perintah START untuk inisialisasi operasi I/O.
3. Kontroler DMA mentransfer sebuah masukan record fisik secara langsung ke dalam
alamat memori yang spefisik.
4. Prosesor diinterupsi ketika masukan record fisik sudah ditransfer dan operasi I/O
diselesaikan.
Peralatan DMA bisa menempatkan satu karakter ke dalam memori secara langsung
dan juga mengurangi overhead dari prosesor. Ada register spesial dalam kontroler DMA
yang disebut DMA address register (DAR). Ini merupakan address byte pertama memori
buffer yang akan menyimpan data. Sekarang ketika kita membicarakan operasi START,
peralatan DMA akan menyebabkan sebuah record fisik dibaca, dan tanpa bantuan
prosesor. DMA akan menyimpan karakter dalam lokasi memori A, A + 1, A + 2, ….,
dimana A adalah alamat di dalam DAR. Kontroler DMA terdiri dari 2 register, disebut
word count (WC) yang memberikan spesifikasi yang jelas bagaimana byte disimpan
dalam memori. Satu record fisik dibaca, tetapi hanya byte WC yang disimpan dalam
buffer. Sisanya ditunda. Ketika semua karakter i sudah ditransfer (dimana i merupakan
ukuran record fisik dari peralatan), sebuah interupsi diisukan ke prosesor dimana transfer
masukan diselesaikan. Ini mengurangi beberapa interupsi yang bisa ditangani oleh
prosesor dari i (banyaknya karakter per record fisik) ke 1.
Jika keduanya kontroler I/O dan prosesor berusaha untuk akses memori pada
beberapa saat, unit memori akan memberikan ke peralatan I/O, dan prosesor sudah
menunggu untuk satu siklus. Ini menyebabkan I/O sangat tergantung waktu operasi. Ada
yang punched card, tape, atau lengan disk dalam mosi yang tidak bisa dihentikan.
Kegagalan melayani peralatan dalam periode waktu yang tetap bisa menyebabkan
kehilangan informasi. Metode transfer ini disebut cycle stealing karena kontroler DMA
secara berangsur “steal” sebuah siklus memori dari prosesor. Lihat gambar 4.12 berikut
ini :

M em ory

BU S

DM A
P r o c e sso r
c o n tr o l l e r

I/O m e c h a n i sm

Gambar 4.12 : Kontroler DMA Meggunakan Cycle-Stealing

Kita bisa teruskan proses ini lebih “off-loading” dan lebih ke arah pekerjaan I/O
dari prosesor dan sebagian ke kontroler I/O. Contoh peralatan DMA menangani masalah
penyimpanan karakter ke dalam memori, tetapi I/O lainnya berhubungan dengan tugas
yang ditangani oleh prosesor yang bisa menangani dimanapun, leaving kekosongan
prosesor untuk mengerjakan pekerjaan yang berdaya guna. Beberapa mundane I/O ini
meliputi tugas-tugas :
1. Code conversion: contoh konversi kode punch-card atau kode paper tape ke ASCII.
2. Echoing: menampilkan pada layar jenis karakter yang ada pada keboard.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 38/87


Diktat Kuliah Organisasi Komputer

3. Parity checking: pengecekan paritas karakter yang masuk dan penanganan karakter
jika karakter tersebut tidak benar.
4. Editing: penanganan khusus karakter editing (seperti : BACKSPACE, DELETE,
RUBOUT).
5. Optimization: pengoperasian peralatan I/O untuk meyakinkan bahwa peralatan
tersebut digunakan seefisien mungkin.
Kontroler I/O yang bisa melakukan pelebaran daerah operasi I/O yang kompleks
disebut I/O channels. Channel ini bisa mengeksekusi program I/O yang spesial dan,
dalam berbagai cara, disukai oleh sebagian komputer spesial-purpose. Jika sebuah
peralatan I/O secara ekstrim lebih cepat, maka hanya satu peralatan pada setiap saat bisa
menggunakan channel. Untuk memperpendek periode waktu, channel akan sungguh-
sungguh memasukan kapasitas transmisi untuk melayani satu peralatan I/O.
Channel yang mengendalikan peralatan yang relatif lambat, seperti VDTs, ada
alternatif yang bisa menangani beberapa peralatan secara simultan. Contoh jika sebuah
VDT bisa mentransfer karakter pada setiap 2 msec (ekuivalen 500 karakter per second),
dan VDT mengambil 100 channel untuk seluruh proses dan menyimpan karakter tersebut,
maka channel bisa menangani 20 terminal setiap kali rotasi, dan menjamin bahwa
channel bisa diambil kembali untuk terminal pertama sebelum channel mempunyai
karakter lainnya untuk ditransmit (sejak 20 x 100 µsec = 2 msec). Ini disebut multiplexor
channel, dan proses interleaving transmisi dari beberapa peralatan disebut multiplexing.
Jika interleaving dikerjakan pada basis byte per byte, interleaving tersebut disebut
character multiplexing. Jika interleaving didasarkan pada data unit yang luas, interleaving
tersebut disebut block multiplexing. Berikut gambar 4.13 merupakan diagram multiplexed
channel.

M u l ti p l e x o r C o n tr o l
I/O m e c h a n ism s
C h a n n el D a ta

Gambar 4.13 : Multiplexor Channels

Perhatian dari pembuatan peralatan special-purposechannel I/O, kita bisa membuat


channel I/O pada komputer general-purpose dalam kebenaran yang dimilikinya.;
akibatnya, tidak tergantung pada I/O komputer. Penghilangan untuk beberapa sistem
komputer besar yaitu satu atau lebih minikomputer atau mikrokomputer untuk menangani
setiap facet dari input/output. Ini membebaskan prosesor utama untuk bekerja secara
solely pada program user tanpa kekhawatiran pada semua input/output.

4.5 Ringkasan
Kita sudah mensurvai beberapa prinsip dasar dari pengolahan I/O dan sudah
mempresentasikan wacana dari daerah subjek. Di dalam bukan area dari organisasi
komputer yang ada sedikit konsep dasar dan juga ketergantungan pada rancangan
spesifikasi dari satu mesin yang spesifik.
Ketika kita memulai untuk belajar struktur I/O dari sistem yang spesifik,
kemungkinan kita akan menemukan I/O yang berbeda pada mesin yang berbeda karena
setiap mesin memungkinkan untuk mempunyai peralatan I/O yang lain. Tetapi setidak-
tidaknya apa yang telah kita bahas merupakan dasar peralatan I/O yang dipakai pada
mesin komputer.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 39/87


Diktat Kuliah Organisasi Komputer

4.6 Soal-Soal Latihan


Soal nomor 1 sampai nomor 7 mengasumsikan bahwa sebuah disk dengan
karakteristik fisik sebagai berikut :
2 piringan (1 platter, top dan bottom)
64 tracks per piringan
64 sectors per track
256 characters per sector
1.200 revolusi per menit
untuk memindahkan lengan read/write x tracks (x ≥ 1) mengambil (5 +
0.5x) msec
1. Berapa karakter yang bisa disimpan pada unit disk tersebut ?
2. Apa ukuran record fisik dari unit disk tersebut ?
3. Berapa unit alamat yang ada pada disk tersebut ?
4. berapakah waktu pengambilan tercepat yang mungkin untuk satu sektor ?
5. berpakah waktu pengambilan terlambat yang mungkin untuk satu sektor ?
6. Berpakah waktu rata-rata pengambilan ?
7. Asumsikan bahwa kita menambahkan head read/write untuk setiap track (dalam
esensi, pembuatan sebuah drum). Hitung kembali kondisi best-case/worst-case dan
waktu rata-rata pengambilan untuk satu sektor.

Soal nomor 8 sampai nomor 10 mengasumsikan sebuah tape magnetik dengan


karakteristik sebagai berikut :
Tape density: 1.600 karakter per inch
Tape length: 2.200 feet
Physical block size: 800 karakter
Record gap: 1 inch.
8. Berapa karakter yang bisa disimpan pada tape tersebut ?
9. Apakah prosentase tape yang diutilisasikan untuk menyimpan informasi yang
meaningful ?
10. Asumsikan bahwa ukuran block ditigakan. Hitung kembali banyaknya karakter yang
disimpan dan prosentase utilisasi. Apakah konsekuensi negatif dari perubahan
tersebut ?

IF - UTAMA Versi/Revisi : 1/0 Halaman : 40/87


Diktat Kuliah Organisasi Komputer

BAB V
ARITHMETIC & LOGIC UNIT DAN CONTROL UNIT

5.1 Pendahuluan
Arithmetic dan logic unit (disingkat ALU), sebuah nama yang implisit, unit
fungsional yang menghasilkan semua operasi aritmetika (seperti penjumlahan,
pengurangan, perkalian, pembagian, dan pergeseran) dan operasi logika (seperti AND,
OR, komplemen) ke dalam komputer. ALU mempunyai 2 bagian : unit fungsionalnya
sendiri (seperti penjumlahan, pengali, komplementor), yang melaksanakan operasi, dan
register yang memegang operan, hasil, dan kesalahan dan status informasi.
ALU dan control unit dijadikan sebagai satu subsistem, yaitu prosesor (biasanya
disebut central processing unit, atau CPU). Dalam kesempatan ini kita mencoba untuk
membahas dua pokok bahasan yaitu : Arithmetic and Logic Unit dan Control Unit.
Pada mesin yang dulu terdapat hanya satu prosesor, perubahan terus terjadi bahwa
diharapkan prosesor tidak mengalami kekosongan (idle) sehingga utilisasi prosesor terus
meningkat, bila perlu sampai 100%. Tetapi perkembangan software dan juga data atau
program yang harus dieksekusi makin bertambah banyak sehingga untuk dikerjakan oleh
satu prosesor memakan waktu yang cukup lama, sehingga orang terus berupaya untuk
memaksimumkan kecepatan proses komputer (dalam hal ini prosesor). Sehingga pada
suatu dekade tertentu dikembangkan komputer dengan prosesor yang lebih dari satu. Dan
prosesor ini bisa mengalokasikan tugas (task) yang spesifik, seperti I/O, atau mereka bisa
diindentikasi, dengan masing-masing prosesor yang mengerjakan pada program user
yang berbeda. Sistem dengan satu atau lebih prosesor disebut multiprocessing system.
Perkembangan selanjutnya, ketika multiproses diketemukan masih terdapat
permasalahan yang baru yaitu terjadi dropping pada memori. Sehingga orang memikirkan
bagaimana mengatasi hal ini. Pada akhirnya diketemukan yaitu dengan memaksimumkan
kapasitas memori, dengan cara ini bararti orang sudah berorientasi pada memori.
Perkembangan selanjutnya, pada informasi, bagaimana informasi tersebut dipelihara
dengan baik. Berbagai teknik dilakukan dalam rangka memelihara informasi agar tetap
aman dan bisa dieksekusi dengan cepat dan tepat, dengan demikian beralih pada orientasi
informasi.
Sesuai pembicaraan diatas yaitu multiproses, orientasi memori dan informasi, ada
hal yang sangat penting yaitu bagaimana komputer mengeksekusi program atau data.
Sistem komputer mengenal format instruksi yang bisa akan dimengerti dan dilaksanakan
oleh komputer (prosesor) terhadap data dan program. Adapun format itu, dikenal istilah
instruction set atau machine language, dan dituliskan dalam format yaitu instruction
format.

5.2 Arihtmetic and Logic Unit


5.2.1 Unit Fungsional
Unit fungsional yaitu kotak hitam yang melaksanakan operasi aritmetika dan
logika. Jenis aritmetika dan logika unit fungsional yang ada pada komputer bisa lihat
tabel 5.1 berikut :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 41/87


Diktat Kuliah Organisasi Komputer

Tabel 5.1 : Macam-macam Aritmetika dan Logika


Unit Fungsional
Aritmetika Logika
Integer adder AND unit
Integer subtractor OR unit
Integer multiplier Complementor (NOT)
Integer divider Exclusive-OR unit
Arithmetic shift unit Logical shift unit
Incrementor/decrementor Comparator
BCD arithmetic units
Floating-point arithmetic units

Semua dilaksanakan oleh unit pada tabel 5.1 yang bisa menghasilkan secara
langsung dalam hardware komputer (BCD dan operasi floating-point dipilih terus pada
komputer yang lebih kecil).
Kemudian unit dalam tabel 5.1 melakukan macam-macam operasi hardware yang
lebih luas, semua operasi mempercayakan pada bentuka sudah ada. Gambar 5.1
menunjukkan diagram fungsional untuk perputaran operasi biner.
S t a r t /S t o p s i g n a l s

L e ft o p e r a n d R e s u lt
X Z
Z :=
R ig h t o p e r a n d X op Y E r r o r /S ta tu s i n fo r m a t io n
Y

F u n c tio n a l u n it
E
T i m i n g s i g n a ls
D a ta
C o n t r o l s ig n a l s
Gambar 5.1 : Blok Diagram Unit Fungsional Biner

Langkah Umum Operasi biner dalam 5 tahapan berikut ini :


1. Pindahkan operan kiri dari sel pegangan X ke dalam unit fungsional.
2. Pindahkan operan kanan dari sel pegangan Y ke dalam unit fungsional.
3. Kirim sebuah signal START diantara line kontrol START. Ini memulai komputasi
yang disinyalir menghasilkan Z.
4. Tunggu sebuah base interval yang tetap pada operasi yang dilakukan.
5. Penempatan hasil (X operator Y) dalam genggaman sel Z. (catatan : genggaman sel Z
bisa identik ke X or Y, dan X or Y bisa dimodifikasi selama operasi ini). Pindahkan
status and/or kesalahan informasi (seperti overflow, underflow) ke lokasi khusus
yaitu E.
Panjang interval waktu dalam langkah 4 sebelumnya tergantung pada operasi yang
dilaksanakan dan pada jenis komputer. Tabel 5.2 memberikan penjelasan kebutuhan
waktu untuk beberapa operasi tipe arithmetic and logic untuk PDP-11/44, VAX 11/780,
dan mikroprosesor Intel 8086 berikut ini :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 42/87


Diktat Kuliah Organisasi Komputer

Tabel 5.2 : Kebutuhan Waktu untuk Beberapa Tipe


Operation Intel 8086 PDP-11/44 VAX-11/780 Detected Error
Integer Add,Subtract 3,0 µsec 1,4 µsec 0,6 µsec Arithmetic overflow
Integer Multiply 18 µsec 6,6 µsec 1,0 µsec Arithmetic overflow
Integer Compare 3,0 µsec 1,4 µsec 0,6 µsec Arithmetic overflow
OR 3,0 µsec 0,36 µsec 0,2 µsec None
Floating-Point Add Not available 8,9 µsec 2,0 µsec Overflow,underflow

Implementasi internal dari unit fungsional ini tidak dijelaskan disini. Subjek lebih ke arah
kemampuan menangani kekhususan pada rancangan hardware.
Pertama, beberapa unit fungsional tercakup dalam tabel 5.1 yang terlihat redudansi
dan tidak diperlukan. Untuk contoh, mengapa mempunyai dua unit incrementor (A + 1)
dan penambahan (adder) biner yang umum (A + B) ?. Kita bisa menambahkan dengan
konstanta + 1 yang tersimpan dimanapun dalam memori, dan kemudian melakukan
penambahan biner regular yang menggunakan nilai yang kita inginkan ke increment dan
konstanta + 1 disimpan dalam memori. Oleh sebab itu, penambahan dengan 1 layaknya
operasi biasa, dan itu merupakan hal yang kritis untuk efisiensi operasi mesin, unit
fungsional yang sudah disediakan untuk meminimasi kebutuhan waktu untuk increment
atau decrement. Contoh pada PDP-11/44, suatu add menghabiskan 1,4 µsec, sedangkan
increment menghabiskan 1,1 µsec, suatu pengurangan yang mencapai 20 persen.
Termasuk unit fungsional yang melaksanakan operasi aritmetika penggeseran yang
kelihatannya redudansi. Sebuah aritmetika penggeseran kiri nilai integer sama dengan
perkalian dengan 2. Sebuah aritmetika penggeseran kanan nilai integer sama dengan
pembagian dengan 2. Ternyata, kita dengan mudah bisa menghilangkan aritmetika
penggeseran dengan penggunaan secara sederhana operasi multiply dan divide. Oleh
karena itu, unit fungsional lebih efisien untuk mengimplementasikan multiply dan divide
dengan kekuatan 2 dengan perintah geser daripada dengan aritmtika yang sama secara
langsung. Contoh pada PDP-11/44, 1 bit aritmetika pergeseran mengambil 1,59 µsec,
sedangkan multiply mengambil 6,6 µsec dan divide mengambil 11,01 µsec.
Kita sebaiknya menyadari bahwa unit fungsional tidak sekedar dipilih pada
basisnya yang membutuhkan atau mementingkan untuk “level aplikasi”, atau untuk
mimik operator yang berdaya guna dalam bahasa tingkat tinggi seperti PASCAL atau
FORTRAN. Lebih dari itu, mereka dipilih pada basis efisiensi tingkat mesin dan manfaat
mereka dalam implementasi operasi yang primitif.
Point kedua tentang unit fungsional yang terdaftar pada Tabel 5.1 yaitu bahwa
tidak adanya suatu perbedaan dan bagian unit hardware secara fisik, atau “boks”, untuk
masing-masing operasi. Untuk contoh, bagaimana pengurangan dalam notasi radix-
complement yang bisa didefinisikan dalam tema penjumlahan dan komplementasi.
Kemudian, kita tidak mempunyai bayaran untuk membangun sebuah bagian “unit
pengurangan”. Kita bisa menggunakan adder dan unit complementor yang sudah siap.
Seperti halnya, beberapa operasi primitif lainnya yang bisa didefinisikan dalam tema
operasi fungsional yang ada. Marilah kita ambil sebuah pencarian perkalian integer.
0011 Multiplicand
x 0101 Multiplier
0011
0000
0011 Intermediate products
0000 +
0001111 Final Result

IF - UTAMA Versi/Revisi : 1/0 Halaman : 43/87


Diktat Kuliah Organisasi Komputer

Ketika kita kalikan dengan 1 dalam Multiplier, intermediate product dengan jelas sama
seperti multiplicand. Ketika kita kalikan dengan 0, intermediate product semua 0. Setiap
saat kita memindahkan untuk digit berikutnya dalam multiplier, intermediate product
digeser kiri satu posisi dan seterusnya. Final result yaitu jumlah semua intermediate
product. maka, algoritma untuk perkalian integer bisa didefinisikan dengan mudah dalam
tema penjumlahan integer, pergeseran aritmetika, dan perbandingan integer.
Jika perkalian disebut A dan pengali disebut B (dengan masing-masing bit B
berlabel B0, B1, B2, …, Bn), maka algoritma yang mungkin untuk perkalian yaitu berikut
ini :
START
result := 0
for I := 0 to N do
begin
digit := BI
if digit = 1 then
begin
partial product := A
shift the partial product left I bit positions
result := result + the shifted partial product
end {if statement}
end {for loop}
END OF ALGORITHM

Keterangan :
− Yang hanya menggunakan penjumlahan (line 10)
− Pergeseran kiri (line 9)
− Perbandingan (line 6)

5.2.2 Register-Register
Dalam gambar 5.1 bahwa operand dan result sebuah operasi aritmetik ditempatkan
pada “holding cell”. Holding cell, atau register-regsiter, yaitu lokasi penyimpanan dengan
tujuan yang spesial (special-purpose storage location). Register serupa dengan sel memori
yang bisa menyimpan dan mengambil informasi, tetapi ada perbedaan dalam cara-cara
yang lebih penting.
1. Register tidak merujuk ke alamat biner tak bertanda 0, 1, 2, .., tetapi dengan suatu
identifikasi alphanumeric yang khusus seperti A, R0, PSW, atau I2.
2. Register biasanya lebih cepat daripada sel memori regular (hal ini, memori
mempunyai siklus waktu yang lebih rendah). Ini disebabkan register merupakan
perlengkapan akhir dalam pengeksekusian setiap operasi secara virtual yang
dikerjakan secara lebih cepat untuk memasukan operasi mesin secara efisien.
3. Register-register bisa ditugasi dengan tujuan khusus. Semua lokasi memori
diidentikasi secara menyeluruh dan melayani beberapa tujuan: untuk menyimpan dan
mengambil data. Register-register tidak diidentikasi dan ditugasi memutar secara
unik dalam operasi komputer.
4. Mereka merupakan path data khusus yang terkumpul dengan register-register (lihat
sesi berikutya).

IF - UTAMA Versi/Revisi : 1/0 Halaman : 44/87


Diktat Kuliah Organisasi Komputer

Ada tiga tipe register :


− Tipe pertama, accumulator, yang digunakan dalam pelaksanaan operasi aritmetika
dan logika. Secara umum akumulator memegang operand aritmetika dan logika dan
hasil, ukurannya dihubungkan ke ukuran word memori (m bit). Mereka akan selalu
terurai dalam 2 akumulator, sebab perkalian dari operand 2 m-bit aka menghasilkan
suatu hasil yang dinaikkan sepanjang (2m – 1) bit. Jika masing-masing akumulator
memegang m bit, maka kita membutuhkan 2 untuk memegang hasil. Sama halnya,
operasi pembagian menghasilkan 2 hasil yaitu m bit hasil bagi dan m bit sisa bagi.
− Tipe kedua, index register, memegang operand yang tidak bertanda alamat memori
biner dan memegang hasil operasi aritmetika pada sebuah alamat. Ukuran index
register yaitu sedikit berbeda dari ukuran sebuah akumulator. Seperti yang sudah
dibicarakan, ukuran sebuah akumulator dihubungkan ke ukuran representasi data
pada komputer, dimana nilai yang kita sudah kita rujukan yaitu m. Sedangkan, index
register, yang memegang alamat, hanya mempunyai keterbatasan jumlah untuk
memegang semua alamat yang mungkin. Kita bisa melihat bahwa pada sebuah
komputer dengan lokasi memori 2n, index register akan membutuhkan n bit saja.
− Tipe ketiga, satu klas dari general-purpose register yang memegang beberapa tipe
operand: integer, character, atau alamat biner tidak bertanda. Jumlah general-purpose
register merupakan paramter yang penting pada sistem komputer. Jika banyaknya
register yang tersedia, banyak operand yang bisa dijaga dalam lokasi dengan
kepcepatan tinggi dan sedikit transfer diantara register-register dan memori yang
akan diperlukan.
Contoh : evaluasi pernyataan persamaan berikut :
X := (A + B) * (C + D)
Mudah jika kita mempunyai 4 register yang tersedia. Kita panggil 4 operand A, B, C
dan D ke dalam 4 register dan laksanakan operasi yang diperlukan. Jika kita
memnpunyai hanya 2 register, maka kita akan mempunyai beberapa pekerjaan zigzag
dari operand dan hasil. Untuk contoh, jika kita mempunyai hanya 2 register sebut saja
R0 dan R1, kita akan mempunyai pekerjaan sebagai berikut :
Move A to register R0
Move B to register R1
Add R0,R1 and put result in a temporary memory location T1
Move C to register R0
Move D to register R1
Add R0,R1 and put result in a temporary memory location T2
Move T1 to register R0
Move T2 to register R1
Multiply R0,R1 and put result in memory location X
Secara umum, penambahan beberapa register akan berdampak kode hasil dan kecepatan
eksekusi. Tabel 5.3 menunjukkan beberapa general-purpose registers pada beberapa
komputer yang kita ketahui :
Tabel 5.3 : Struktur Register pada beberapa Tipe
System Number of General-Purpose Registers Register Size (bits)
Intel 8086 8 8
PDP-11 8 16
Motorola MC68000 16 32
VAX-11/780 16 32
IBM 370 16 32

IF - UTAMA Versi/Revisi : 1/0 Halaman : 45/87


Diktat Kuliah Organisasi Komputer

Cray 1 64 64
Penambahan untuk general-purposes registers, setiap komputer mempunyai sekumpulan
machine-dependent dari special-purpose registers untuk mempertemukan kebutuhan yang
spesifiknya. Ini special-purpose registers secara umum diantara tipe-tipe berikut :
− Overflow registers
− Carry registers
− Shift registers
− Scratch (or temporary) registers
− Floating-point registers
− Status information registers

5.2.3 Jaringan Keterhubungan


Kita sudah membicarakan sejumlah komponen secara signifikan yang akan
mencakup dalam komputer PVM hipotesis : general-purpose registers, special-purpose
regsiters, memory cells, functional units, dan seterusnya. Dalam mempelajari organisasi
komputer, data path menghubungkan 2 atau lebih unit fungsional dari sebuah sistem
komputer disebut bus, dan banyaknya bus yang ada, dan tipe-tipe bus, disebut bus
structure dari komputer.
Bus media yang menghubungkan komponen-komponen dalam komputer, yang bisa
terdiri dari (berdasarkan arah transfer) :
1. Unidirectional Bus, hanya dapat dilakukan satu arah
2. Bidirectional Bus, dapat dilakukan 2 arah tetapi tidak pada saat bersamaan.
Bus yang berdasarkan jumlah bit yang ditransfer per unit waktu
1. Serial bus :
− Transfer hanya satu bit per satuan waktu
− Biasanya digunakan untuk komunikasi Eksternal (misalnya: antar
komputer dan peripheral), bisa dilihat pada gambar 5.2.
Satu bit
0 1 0 0 1 1 0 1 → 0 1 0 0 1 1 0 1
Sumber serial bus Tujuan

Gambar 5.2 : Bus Serial

2. Paralel Bus
− Transfer sekaligus sejumlah bit per unit waktu secara simultan
− Digunakan sebagai bus yang ada di dalam komputer untuk hubungan
antar komponen komputer untuk hubungan antar komponen komputer
− Tidak digunakan sebagai komunikasi eksternal, karena mahal
(pertimbangan ekonomis)
− Contoh : Media kabel Twisted Pair (sepasang kabel tembaga)
− Bps (bit per second) satuan kecepatan transfer pada bus
− Kecepatan serial bus umumnya lebih lambat dibanding paralel bus
Sumber
0 1 0 0 1 1 0 1
Bus paralel 8 bit

0 1 0 0 1 1 0 1
Tujuan

IF - UTAMA Versi/Revisi : 1/0 Halaman : 46/87


Diktat Kuliah Organisasi Komputer

Gambar 5.3 : Bus Paralel


Selagi kecepatan dianggap penting, semua bus komputer merupakan paralel.
Sejumlah bit yang bisa dikirimkan secara simultan antar bus disebut bus size atau bus
width, dan tergantung pada ukuran dari unit yang dihubungkannya. Bus menghubungkan
2 register m-bit yang seharusnya pada uraian lebar m bit. Dalam kenyataan, lebar bus
dengan frekuensi yang lebih besar daripada ukuran dari register yang dihubungkannya.
Ini dikarenakan penambahan untuk pengiriman data biner, bus secara simultan akan
mengirimkan kendali dan informasi pewaktuan.
Keduanya kita telah menentukan tipe-tipe bus apa yang digunakan, harus
dijelaskan bagaimana beberapa bus yang kita butuhkan ?. Pendekatan straightforward
yaitu untuk penempatan bus data antar tiap-tiap path dimana seuatu pengiriman yang
mungkin bisa mengambil tempat. Jika register Ri mungkin bisa mengirimkan isinya ke
register Rj, kita menempatkan sebuah bus diantaranya. Ini membuat sebuah struktur bus
koneksi penuh (fully connected bus structure), lihat gambar 5.4 berikut ini :
M em ory R 0
g e n er a l-
M AR p u r p o se
R 1 r e g i s te r s

M BR
+ A d d er

Gambar 5.4 : Tipe Struktur Bus Koneksi Penuh


− Kuntungan Struktur ini :
1. Tidak pernah terjadi antrian dalam penggunaan bus
2. Lebih cepat
3. Ada proses untuk melakukan proses paralel
− Kerugian :
1. Mahal dan rumit untuk n komponen diperlukan n bus
2. Penghamburan, hanya kurang lebih 20 % dari kapasitas tersedia, digunakan pada
saat yang sama
Implementasi dari prinsip ini, disebut parallelism, yaitu satu dari sekian banyak
kepentingan pengembangan dalam organisasi komputer modern, dan perancang selalu
mencari cara operasi overlap 2 atau lebih untuk mengurangi total waktu yang dibutuhkan
untuk performansinya.
Struktur bus hubungan penuh pada gambar 5.4 menawarkan kesempatan yang lebih
banyak untuk operasi overlap, selagi masing-masing bus bisa menangani suatu
pengiriman selama siklus terjadi (lamanya seperti kita yang tidak mencoba untuk
melakukan sebuah operasi yang bisa membawa ke perilaku yang tidak bisa diprediksi,
seperti pengiriman sesuatu ke dalam dan keluar dari beberapa register pada suatu saat).
Untuk contoh, mari kita coba mengeksekusi kebenaran instruksi berikut ke dalam
program kami.
1. Pindahkan isi dari R0 ke dalam register R1.
2. Tambahkan +1 ke isi register R1.
Dua operasi ini akan dieksekusi secara normal dengan pengambilan secara berurutan
masing-masing instruksi dalam turn, dan kemudian carrying out-nya.
1. Get instruksi 1.
2. Carry out instruksi 1.
3. Get instruksi 2.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 47/87


Diktat Kuliah Organisasi Komputer

4. Carry out instruksi 2.


Biarpun, penelusuran step 2 dan 3, kita melihat bahwa carrying out instruksi pertama (R0
→ R1) dan pengambilan instruksi kedua (yang disimpan dalam memori) tidak secara
langsung mempengaruhi yang lainnya. Kemungkinan kita bisa overlap 2 langkah ini
dengan penggunaan bus-bus yang berbeda dalam pengimplementasiannya. Dalam fakta,
ini memungkinkan, dan seandainya sebagian bus tersedia, 2 operasi bisa dikeluarkan
dalam cara berikut :
1. Get instruksi 1.
2. Carry out instruksi 1 dan ambil instruksi 2.
3. Carry out instruksi 1.
Total waktu yang dibutuhkan akan berkurang sekitar 25 persen.
Ketika perancang komputer, kita selalu mencari keuntungan dengan melihat cara
untuk melaksanakan operasi secara simultan. Bagaimanapun juga, kita sebaiknya berhati-
hati ketika kita melaksanakan operasi daripada secara sekuensial : sangat tidak kentara,
kesalahan terhadap tergantungan waktu dimungkinkan. Untuk contoh, jika instruksi
pertama dari 2 instruksi yang benar yang sudah dibicarakan, “modify the next instruction”,
dan kita kerjakan modifikasi instruksi secara simultan, kita telah mengeksekusi instruksi
yang tidak dimodifikasi lebih baik daripada instruksi yang dimodifikasi.
Disayangkan kelebihannya, pada struktur bus hubungan penuh mempunyai banyak
kelemahan, yang jelas dari banyaknya line pada gambar 5.4. Secara teori, jika kita
mempunyai n komponen, masing-masing yang harus dihubungkan ke semua atau semua
komponen yang terdekat lainnya, jumlah hubungan akan tumbuh pada kisaran n2. Dalam
mesin yang nyata jumlah komponen (register-register, prosesor-prosesor, dsb) sangat
banyak dan komplesitas dari potensi keterhubungan secara astronomi. Itu menjadi sangat
sulit dan sangat mahal untuk membangun komputer dengan banyaknya kabel dan
hubungan.
Ada penggambaran lain dan itu merupakan masalah wasted capacity. Sesuatu yang
seandainya paralelisme bisa diimplementasikan, yang secara umum mencakup
pelaksanaan 2 atau mungkin 3 operasi secara simultan. Jika ada 20 bagian dan bus-bus
yang unik, suatu utilisasi yang tinggi dimungkinkan, hanya 10 atau 15 persen dari
kapasitasnya sebagian bisa diutilisasikan secara penuh di sala satunya. Maka 85 atau 90
persen kemampuan transmisi komputer akan kosong.
Sekarang mari kita lihat koneksi jaringan dari gambar 5.5. Malahan mempunyai
jumlah bus yang maksimum, kita bisa mempunyai jumlah yang minimum, katakan satu.
Semua komponen fungsional akan hang pada bus ini, dan smeua transfer akan
menempatkan diantara bus. Secara tipikal, disebut common bus structure.

M em ory R 0
g e n er a l-
M AR p u r p o se
R 1 r e g i s te r s

M BR
+ A d d er

Gambar 5.5 : Struktur Bus Biasa

IF - UTAMA Versi/Revisi : 1/0 Halaman : 48/87


Diktat Kuliah Organisasi Komputer

Sewaktu-waktu kita menginginkan yang berakibat transfer kita harus meminta


kepemilikan bus untuk suatu periode waktu tertentu. Jika operasi lainnya juga mencoba
untuk meminta bus, arbitration diperlukan. Suatu keputusan bisa dibuat siapa yang akan
mengambil bus dan siapa yang akan menunggu. Kemungkinan tidak overlapping, dan
antrian delay terjadi dikarenakan waktu tunggu yang menyertai. Kebijakan arbitration
biasanya dihasilkan oleh peralatan pusat yang disebut bus controller atau bus master dan
didasarkan pada skema dalam tingkatan prioritas yang ditugaskan ke masing-masing
peralatan yang ada pada sistem. Permintaan dengan prioritas tinggi selalu mengambil
kontrol bus. Dengan alternatif, kita menggunakan skema arbitration desentralisasi dan
unit individu menentukan diantara mereka siapa yang akan menambahkan kepemilikan
bus selama siklus beriktunya.
Seperti arsitektur yang mempunyai sedikit keunggulan dan biaya yang rendah.
Hanya ada satu paralel bus dalam sistem masukan. Seperti peralatan yang relatif tidak
mahal dan mudah untuk diproduksi. Jika salah satu yang tidak berhati-hati,
bagaimanapun, dan waktu bus transfer juga lambat, common bus bisa menjadi suatu
bottleneck. Dalam kasus yang ekstrim, antrian delay bisa menjadi lebih panjang daripada
waktu proses yang aktual. Sebagai tambahan, tidak ada overlapping transfer data yang
terjadi. Oleh karena itu, skema common bus yang mungkin cocok untuk mikro atau mini
komputer yang kecil dan tidak mahal.
Gambar 5.6 mempunyai 2 bus, satu dengan panjangnya m bit, digunakan sebagai
data bus, dan satunya dengan panjang n bit, digunakan sebagai address bus. Pengiriman
data, seperti memindahkan suatu m bit integer 2-komplemen dari R0 ke adder, bisa
menempatkan tempat diantara data bus. Pengiriman address, seperti memindahkan suatu
n bit address biner tidak bertanda dari R0 ke MAR, bisa menempatkan tempat diantara
address bus. Selama kita mempunyai 2 bus, banyak modus paralelisme bisa terjadi. Untuk
contoh, 2 pengiriman (R0 → adder dan R1 → MAR) bisa didekatkan secara simultan
diantara 2 bus. M em ory

Bus 1 Bus 2

M AR

M BR

R 0

R 1
g e n e r a l -p u r p o se
r e g i s te r s

+
A dder

D a ta b u s A d d r e ss b u s
( m b i ts w i d e ) ( m b i ts w i d e )

Gambar 5.6 : Struktur 2 bus Menggunakan Bus Address dan Bus Data

IF - UTAMA Versi/Revisi : 1/0 Halaman : 49/87


Diktat Kuliah Organisasi Komputer

Tiga bus yang ditunjukkan pada gambar 5.7 dimasukkan/digabungkan ke dalam


bus input/output dan bus memori. Lihat gambar 5.7 berikut :
In p u t b u s
In p u t In p u t
D ev ic es C o n tr o l l e r

M em ory b u s
M em ory P r o c e sso r

O u tp u t O u tp u t
D ev ic es C o n tr o l l e r O u tp u t b u s

Gambar 5.7 : Struktur Tiga Bus menggunakan Bus I/O dan Bus Memori

Sekarang ada satu bus, disebut memory bus, untuk menangani semua transfer antar
memori dan komponen internal komputer, yang lebih disukai common bus. Ada juga bus
kedu dan ketiga yang spesifik untuk menangani transfer langsung informasi diantara
peralatan input/output dan memori. Kemudian, beberapa level modus paralelisme yang
terjadi. Operasi I/O bisa mentransfer karakter ke dalam memori ketika komputer sedang
mengeksekusi operasi lainnya yang tidak dihubungkan ke tempat penempatan operasi
I/O.
Sejalan dengan adanya perpindahan untuk standarisasi karakteristik bus secara
elektronika, mekanika, dan fisika. Berikut standarisasi struktur bus secara ekstrim
terkenal dan secara luas digunakan :
− S-100 bus : suatu bus paralel 100 kabel yang digunakan pada beberapa
mikrokomputer
− Unibus : suatu bus paralel 120 kabel yang digunakan pada beberapa minikomputer.
− RS-232C : suatu standarisasi antarmuka (interface) untuk transmisi data secara serial
diantara paths komunikasi eksternal.
− IEEE-488 : bus dengan 24 kabel yang mentransmisikan data dalam model serial byte.

5.3 Control Unit


5.3.1 Format Instruksi
Format instruksi bahasa mesin yang mempunyai 2 komponen dasar, yaitu : operasi
kode sering disebut opcode, dan pilihan address fields. Secara nyata instruksi bahasa
mesin berisi fields lain yang disebut modifiers. Semua op code yang dibisa dieksekusi
langsung oleh prosesor disebut instruction set atau machine language.

Struktur umum :
Opcode Address Field Address Field …

Opcode Operand 1 Operand 2 …

− Address field disebut juga operand yaitu pengalamatan informasi pada prosesor yang
akan dilaksanakan operasi secara spesifik.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 50/87


Diktat Kuliah Organisasi Komputer

− opcode (kode operasi) : biner tak bertanda yang unik yang berguna untuk
menerangkan operasi yang harus dieksekusi. Contoh : (+, - , /, *)
− Set instruksi : Set dari seluruh kode operasi dari komputer dapat langsung
− Kolom operand : Menyimpan nilai-nilai yang diperlukan processor pada waktu
mengekskusi kaode operasi. Kolom operan disebut juga address field, dapat berisi :
1. Data / konstanta yang langsung dipakai pada operasi kode operasi
2. alamat lokasi dimana data tersebut disimpan
− Jumlah maksimum operan menunjukan organisasi mesin tersebut.

A. Format 4 alamat
− Pengalamatan digunakan untuk mengindentifikasi lokasi berikut :
1. Left operand dari operasi biner
2. Right operand dari operasi biner
3. Result / hasil
4. Instruksi berikut untuk eksekusi ketika satu proses selesai

Format Instruksi 4 Alamat :


Op code Left operand Right operand Result Next Instruction
Opcode Operand 1 Operand 2 Hasil Next order

Contoh :
Pengeksekusian assignment : A := B + C – D
Jawab : a. B + C → Temp; kemudian ke langkah 2
b. Temp – D → A
Address Op code Left operand Right operand Result Next Instruction
100 ADD B C Temp 101

101 SUB Temp D A Next address

B. Format 3 Alamat
− Pengalamatan digunakan untuk mengindentifikasi lokasi berikut :
1. Left operand dari instruksi biner
2. Right operand dari instruksi biner
3. Result / hasil
Format Instruksi 3 Alamat :
Opcode Left Operand Right Operand Result
Opcode Operand 1 Operand 2 Hasil

Contoh : A := B + C – D
Address Opcode Left Operand Right Operand Result
100 ADD B C Temp

101 SUB T D A

− Konsekuensi :
 Instruksi harus ditulis secara berurut

IF - UTAMA Versi/Revisi : 1/0 Halaman : 51/87


Diktat Kuliah Organisasi Komputer

 Diperlukan komponen untuk menyimpan alamat instruksi berikutnya


berupa register yang disebut program counter (PC)

C. Format 2 alamat
− Format 2-address mengizinkan 2 alamat per instruksi secara khas dari
address berikut :
1. Left operand dari instruksi biner
2. Right operand dari instruksi biner
Format Instruksi 2 Alamat :
Op Code Left Operand Right Operand
Opcode Operand 1 Operand 2

Contoh : eksekusi assigment : A :=B + C – D


Address Op Code Left Operand Right Operand
100 MOVE C Temp1 {Temp1 ← C}

101 ADD B Temp1 {Temp1←B+ Temp1


{Temp1 ← B + C}

102 MOVE D Temp2 {Temp2 ← D}

103 SUB Temp1 Temp2 {Temp2←Temp1-Temp2


{Temp2 ← (B + C) – D}

104 MOVE Temp2 A {A ← Temp2}

− Konsekuensi :
 Instruksi harus berurut
 Diperlukan program counter
 Harus ditetapkan program penyimpanan hasil operasi, misalnya hasil
operasi disimpan pada operand 1

D. Format 1 Alamat
− Satu address field dalam masing-masing instruksi
− Operasi biner, mengimplikasikan lokasi dari kedua operand dan hasil.
− Biasanya operand kedua dan field hasil diimplikasikan ke dalam register
spesifik general-maksud,tujuan,kegunaan.

Format Instruksi 1 Alamat :


Opcode Operand
Op code Operand
Contoh :
ADD Operand A

 Berarti : CON(lokasi memori A) + CON(register R0) → CON(register R0)


Contoh : eksekusi assigemnt A := B + C – D
Address Op code Operand

IF - UTAMA Versi/Revisi : 1/0 Halaman : 52/87


Diktat Kuliah Organisasi Komputer

100 LOAD B {R0 ← B}

101 ADD C {R0 ← B + C}

102 SUB D {R0 ← (B + C) – D}

103 STORE A { A ← R0}

− Konsekuensi :
 Instruksi ditulis secara berurut
 Diperlukan program counter
 Operand kiri dan hasil operasi disimpan dalam suatu register dengan
fungsi umum (specific genaeral-purpose register) salah satunya adalah
akumulator (accumulator).

E. Format 0 - Alamat
− Instruksi 0-address tidak ada address field.
− Semua operand diasumsikan dalam lokasi spesifik, lokasi spesifik untuk
operand dan hasil dispesialkan dalam kumpulan register yang disebut stack.
− Instruksi dengan format ini mengasumsikan operand-operand sudah ada
di stack. Hasil operasi akan diletakan di stack juga.
− Ekspresi aritmatika yang dijalankan di mesin harus dalam bentuk / notasi
polish.
− Penambahan dan penghapusan hanya bisa dilakukan pada TOP yang
disebut stack pointer.
Contoh mesin 0 alamat adalah kalkulator

C ← TOP
B
A
Stack

− Dasar operasi ada 2 yang bisa dilakukan pada stack, untuk penambahan item baru
pada TOP dengan “PUSH” dan penghapusan item pada TOP dengan “POP”.
Contoh :
PUSH (X) :

X ← TOP
C ← TOP C
B B
A A
Sebelum Sesudah

POP (X) :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 53/87


Diktat Kuliah Organisasi Komputer

C ← TOP
B B ← TOP
A A
Sebelum sesudah

Contoh :
Penugasan assigment A := B + C – D
PUSH D
PUSH C
PUSH B {sekarang stack berisi D, C, B}
ADD {sekarang stack berisi D, B + C}
SUB {sekarang stack berisi B + C – D}
POP A {sekarang stack kosong}

5.3.2 Penyimpanan Instruksi


Instruksi bahasa mesin disimpan secara berurutan di dalam memori. Bersama-
sama, mereka membangun program bahasa mesin, yang juga disebut object program.
Program sumber yang ditulis dalam Pascal atau FORTRAN, program sumber tersebut
diterjemahkan ke dalam instruksi bahasa mesin. Penterjemahan ini merupakan tugas dari
program yang disebut compiler. Kompilasi merupakan tugas yang sulit, dan perancangan
serta pengembangan kompiler untuk bahasa tingkat tinggi seperti Ada, Pascal, atau
FORTRAN bisa bertahun-tahun. Contoh :
Pascal Source Program Object Program
LOAD B
if a > b then SUB A (Is A > B?)
c := c + d Compiler BNEG YES
else LOAD C (No, It is not)
c := c – d SUB D
STORE C (C : = C – D)
BR DONE
Yes : LOAD C (Yes, It is)
ADD D
STORE C (C := C + D)

Setelah instruksi bahasa mesin sudah diproduksi oleh kompiler, instruksi disimpan
dalam memori. Satu aspek yang lebih fundamental dari perancangan sebuah komputer
Von Neumann yaitu aturan (rule) dari interchangeability of instruction and data :
There is no distinction in memory between instructions and data. An
instruction may become a piece of data, and a data value may be executed
as if it were an instruction.
Aturan ini secara efektif mengatakan bahwa sebuah string biner dalam memori tidak
mempunyai suatu priori interpretation atau preset meaning. Sekumpulan digit biner
mengandung sebuah pengertian hanya ketika kita menggunakannya. Kemudian digit
biner mengasumsikan interprestasi apa saja yang tepat untuk menggunakan digit biner.
Jika kita menggunakan nilai biner beirkut :
10010000

IF - UTAMA Versi/Revisi : 1/0 Halaman : 54/87


Diktat Kuliah Organisasi Komputer

sebagai address, biner tersebut akan diinterprestasikan sebagai nilai biner tidak bertanda
144. Jika kita menggunakan biner tersebut sebagai operand dalam sebuah integer ADD
(asumsi representasi 2-komplemen), biner tersebut akan menjadi kuantitas desimal
bertanda –112. Jika kita mencoba untuk mengeksekusi nilai ini, biner tersebut akan
menjadi sebuah instruksi; bagian dari biner tersebut akan menjadi op code, dan bagian
dari biner tersebut akan menjadi kolom address.
Mengapa ini demikian suatu instruksi yang sebenarnya merupakan tipe data lain,
dan format instruksi pada semua komputer merupakan uraian format lain untuk
merepresentasikan informasi. Kita sekarang bisa, dalam suatu isi, menyelesaikan diskusi
mulai pada bagian I dan daftar 5 klas dasar data yang ada pada tingkat mesin :

1. Unsigned binary
2. Signed integers
3. Characters
4. Floating point
5. Instructions
Ini sungguh berbeda dari bahasa tingkat tinggi, yang melaksanakan perbedaan dengan
kuat diantara instruksi dan data. Dalam lingkungan bahasa tingkat tinggi, itu merupakan
kebodohan untuk dibicarakan tentang pengeksekusian konstanta +3, atau pengurangan 1
dari suatu if statement. Ini perbedaan diantara instruksi dan data yaitu pelayanan yang
berlainan yang disediakan untuk kita oleh bahasa tingkat tinggi untuk membuat suatu
lingkungan yang kondusif untuk pemrograman. Bahasa mengijinkan kita untuk
memikirkan tema secara konseptual perbedaan kode dan data, dan menghadirkan kita dari
intermixing keduanya, secara kebetulan atau dengan disengaja.
Pertama dari semua, kesalahan bahwa akan fatal dalam bahasa tingkat tinggi tidak
secara cepat fatal dalam bahasa mesin. Untuk contoh, dalam bahasa mesin, jika kita gagal
untuk stop pada end of dari program kita, kita boleh memulai untuk eksekusi struktur data
kita dengan hasil yang tidak bisa diprediksi. Sama halnya, jika kita melewati batas dari
suatu array, kita bisa secara kebetulan mengambil instruksi dan proses array sama
dengan jika array tersebut data. Dalam bahasa mesin, tidak ada situasi demikian akan
segera disusun sebagai kesalahan karena ketidak adaan “watchdog” atau “proofreader”
dalam bentuk bahasa penterjemah yang meyakinkan bahwa instruksi kita dilaksanakan
penuh dengan arti dan konsisten.
Kedua implikasi yang luas yaitu kita bisa dengan sengaja memodifikasi sebuah
program sama dengan jika program tersebut merupakan sebagian kecil dari data. Untuk
contoh :
LOAD X
ADD Z
STORE X
.
.

X: SUB Y
Kelompok pertama dari instruksi yang dirubah oleh perintah SUBtract ke dalam sesuatu
yang tidak ada. Ketika instruksi yang sebenarnya dieksekusi, instruksi tidak dioperasikan
secara luas pada alamat Y; dalam fakta, instruksi tidak secara luas suatu instruksi
subtract.

5.3.3 Komponen Control Unit

IF - UTAMA Versi/Revisi : 1/0 Halaman : 55/87


Diktat Kuliah Organisasi Komputer

Komponen dari control unit yaitu : program counter, yang berisi alamat dari
instruksi selanjutnya untuk dieksekusi. Selama kita mengeksekusi instruksi secara
sekuensial, PC biasanya akan menambahkan dengan 1 (atau dengan suatu konstanta, k,
jika konstanta mengambil lokasi memori k untuk memegang satu instruksi). Oleh karena
itu, PC diasosiasikan dengan suatu incremental, unit fungsional yang menambahkan 1 ke
nilai yang dikirimkan kepadanya. Kita representasikan unit fungsional ini ke dalam cara
berikut : I n c r e m e n to r
+ 1

PC
P r o g r a m C o u n te r

IF - UTAMA Versi/Revisi : 1/0 Halaman : 56/87


Diktat Kuliah Organisasi Komputer

Jika membutuhkan register untuk memegang instruksi aktual yang sedang


dieksekusi. Ini disebut dengan instruction register (IR). Layout dari IR akan diidentikasi
ke struktur dari suatu instruksi bahasa mesin. Itu merupakan, jika bahasa mesin terdiri
dari 2 kolom alamat, IR yang beralamat 2 register.
IR OP Code Address 1 Address 2

Penyelesaiannya, kita membutuhkan unit fungsional yang menentukan tipe operasi


yang berjalan dalam IR dan mengirimkan waktu yang diperlukan dan sinyal kendali
untuk mengimplementasikan operasi tersebut. peralatan ini disebut instruction decoder.
Instruksi dekoder dihubungkan ke porsi op-code IR, dan itu menentukan op-code yang
diindikasikan. Organisasi ini ditunjukan dalam gambar 5.8 : Instruction Decoder.
IR O p cod e A d d r e ss fie ld ( s)

ADD
I n s tr u c ti o n SU B
d ecod er M OVE T o th e l o g i c c i r c u i ts

Gambar 5.8 : Instruksi Dekoder

Satu dan hanya satu dari lines output dekoder dalam gambar 5.8 yang akan di
“ON”, tergantung pada keadaan line output yaitu ADD, SUB, MOVE, dst. Line output ini
akan dihubungkan ke rangkaian hardware aktual yaitu gerbang open dan close, yang
melaksanakan transfer diantara bus-bus, dan instruksi yang lainnya carry out ADD,
SUBtract, atau MOVE.
Sama dengan memori dekoder, suatu instruksi dekoder secara inisial bisa dipandang
sama dengan komponen fungsional yang sangat kompleks, tetapi merupakan sesuatu
yang sungguh sederhana. Semua itu merupakan kenyataan yang bisa diimplementasikan
secara berulang statement if / then / else berikut :
If op-code = 0 then
We have an ADD {assume ADD = op code 0}
Else
If op-code = 1 then
We have a SUB {assume SUB = op code 1}
Else
If op-code = 2 then
We have a MOVE {assume MOVE = op code 2}
Else
.
.
.
jika kita mengasumsikan 3-bit kolom op-code (yang tidak secara realistik kecil selama 3-
bit hanya akan memberikan 8 op code yang unik), beberapa kode operasi ditunjukkannya,
dan simbol-simbol untuk gerbang AND, OR, dan NOT, maka instruksi dekoder akan
diimplementasikan seperti ditunjukkan dalam gambar 5.9 berikut :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 57/87


Diktat Kuliah Organisasi Komputer

O p cod e
IR A d d r e ss fie ld ( s)

A D D (op cod e = 000)

SU B (op cod e = 001 )

M O V E (op cod e = 01 0)

I n s tr u c ti o n d e c o d e r

Gambar 5.9 : Instruksi Dekoder (secara Internal)

Dengan penelusuran ke dalam logika dari rangkaian dekoder kita akan melihat bahwa
satu dan hanya satu dari lines outputi yang akan “true” yang terhubung ke kode operasi
yang berjalan dalam IR.

5.3.4 Seluruh Operasi pada Komputer


Pengeksekusian program komputer tidak lain hanya suatu urutan yang berulang
pengambilan dan pengeksekusian satu instruksi, sampai suatu program mengeksekusi
sebuah instruksi berhenti atau sampai program menjumpai sebuah kesalahan fatal yang
menghadirkan program dari keberlanjutan. Dengan Algoritma, sebagai berikut :
Repeat
Fetch phase
Execute phase
Until (halt) or (fatal error)
Selama fetch phase, kita mengambil instruksi berikutnya untuk dieksekusi dan
phase tersebut dalam IR (bagaimana alamat dari instruksi pertama dalam program dengan
inisialisasi dipanggil ke dalam PC, dan bagaimana ketika proses dari pengeksekusian
program dimulai). Fetch phase merupakan sebagian untuk semua instruksi. Kita menuju
ke memori dan mengambil instruksi ketika suatu alamat berjalan dalam PC, karena PC
terdiri dari alamat instruksi selanjutnya untuk dieksekusi. Ketika memori READ
diselesaikan, instruksi sedang diletakkan dalam MBR. Kita kemudain memindahkan
instruksi ke dalam IR. Dengan akhir, kita menambahkan PC dengan 1 dan juga PC akan
memperbolehkan instruksi selanjutnya ketika kita mengambil fetch phase berikutnya.
Jika kita menggunakan notasi A ← B yang berarti bahwa kita mentransfer isi
register B ke dalam register A, dan READ, WRITE yang berarti memori dibaca dan
ditulis yang mensinyalkan diantara control line read/write, operasi fetch phase bisa
diringkas secara singkat berikut ini (catatan : kita telah mencakup hanya transfer data,
bukan timing signals. Keterurutan menunjukkan tergantungan timing) :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 58/87


Diktat Kuliah Organisasi Komputer

Gambaran formal dari fetch phase


1. MAR ← PC {move the PC to the MAR}
2. READ {fetch the instruction}
3. IR ← MBR {move it into the IR}
4. Incrementor ← PC
5. PC ← Incrementor {incrementor PC}
Selama execution phase, kita menentukan instruksi apa yang di dalam IR dan isu
perintah yang dibutuhkan untuk carry out instruksi. Secara alamiah, urutan yang nyata
dari sinyal akan berbeda untuk setiap instruksi. Untuk contoh, instruksi 1 alamat :
LOAD address {CON(address) → CON(R0)}
Bisa bermasalah keterurutan transfer yang ditunjukkan (dimana indeks yang menunjukan
berbagai sub kolom dari IR) berikut :
Execution phase dari pemanggilan instruksi
1. MAR ← IRaddress
2. READ
3. R0 ← MBR
Kolom address dari IR ditransfer ke MAR, dan isi dari sel di-READ dan
ditempatkan dalam MBR. Dengan akhir, MBR dipindahkan ke register R0, penyelesaian
LOAD instruksi.
1-alamat menambahkan instruksi :
ADD address {CON(address) + CON(R0) → CON(R0)}
yang bisa menghasilkan dalam urutan transfer yang ditunjukan berikut :
Execution Phase dari suatu Instruksi Add
1. MAR ← IRaddress
2. READ
3. Adder ← MBR
4. Adder ← R0
5. ADD
6. R0 ← adder
Akhirnya, bukan kondisi instruksi pencabangan :
JUMP address
akan di-carry out-kan dengan satu transfer berikut :
Execution Phase dari sebuah instruksi JUMP
1. PC ← IRaddress
Untuk carry out instruksi pencabangan, kita secara singkat memindahkan address
pencabangan ke PC. Kemudian selama fetch phase berikutnya, kita akan mengambil
instruksi yang alamat ada dalam PC, yang sekarang alamat dimana kita menginginkan
pencabangan (Gambaran Formal dari Fetch Phase).
Ada 2 cara yang mendasar untuk mengimplementasikan urutan sinyal yang terjadi
selama execution phase. Satu merupakan pekerjaan sinyal dalam hardware. Yaitu semua
urutan transfer dan kendali yang ditunjukan dalam Execution phase dari pemanggilan
instruksi, Execution Phase dari suatu Instruksi Add, dan Execution Phase dari sebuah
instruksi JUMP diimplementasikan dalam istilah fixed electrical circuits. Hasilnya disebut
hard-wired processor, dan komputer lebih mudah dibangun dengan cara ini.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 59/87


Diktat Kuliah Organisasi Komputer

Bagaimanapun juga, komputer modern mengimplementasikan prosesor dalam cara


yang berbeda. Diuraikan sebagai bahasa tingkat tinggi yang diterjemahkan ke dalam
bahasa mesin, bahasa mesin bisa diterjemahkan ke dalam sesuatu bahasa tingkat lebih
rendah lagi yang disebut microcode, suatu saat disebut dengan firmware karena firmware
merupakan cara tengah diantara hardware dn software. Pengertian dari sebuah instruksi
bahasa mesin dispesifikasikan oleh sebuah program yang ditulis dalam microcode yang
mendefinisikan dengan jelas apa yang terjadi diantara mesin ketika instruksi bahasa
mesin dipertemukan.
Macam-macam instruksi yang ada dalam microcode yang merupakan tingkatan
yang sangat rendah dan secara langsung dihubungkan ke rangkaian komputer.
1. Open gerbang / tutup gerbang (dari register ke bus)
2. Transfer data diantara bus
3. Inisialisasi sinyal kendali (seperti READ, WRITE, ADD)
4. Pengiriman sinyal timing
5. Menunggu unit tetap dari waktu
6. Pengujian yang terdiri dari bit-bit ke dalam sebuah register.
Urutan instruksi microcode yang mendefinisikan instruksi bahasa mesin disebut
microprograms, dan sebuah prosesor yang mengerjakan cara ini disebut
microprogrammed processor. Microprogram disimpan dalam sebuah control memory
yang spesifik, yang biasanya sebuah ROM. Ketika sebuah instruksi ditempatkan dalam
IR, kita menyandikan instruksi dan kemudian mengambil dan mengeksekusi
microprogram yang mendefinisikan instruksi tersebut. Organisasi ini didiagramkan dalam
gambar 5.10.
IR O p cod e

T o th e m i c r o c o n tr o l l e r ,
M ic ro p r o g ra m w h i c h w i l l e x e c u te th i s
I n s tr u c ti o n m icrop org a m
d ecod er M ic ro p r o g ra m

C o n tr o l m e m o r y
Gambar 5.10 : Struktur dari sebuah Microprogrammed

Jika mengingat kembali pada abstraksi level organisasi fungsional dan level hardware
maka level ini sering disebut microprogramming atau level firmware. Primitif pada level
ini yaitu : microprogams, control memory, dan microcontrollers yang mengeksekusi
microprograms ini. Dan uraian yang untuk bisa dimengerti dengan primitif bahasa tingkat
tinggi seperti if/then, assignment, dan pengulangan while dengan mempelajari lapisan
bahasa mesin, juga kita mulai untuk memahami primitif bahasa mesin dengan
mempelajari lapisan microcode. Lihat tabel 5.4 berikut ini :
Tabel 5.4 : Level Tiga dari Abstraksi Komputer
High-Level Language Machine-Language Firmware
Abstraction Abstraction Abstraction

A := B + C LOAD B MAR ← IRaddress


ADD C READ
STORE R0 ← MBR

IF - UTAMA Versi/Revisi : 1/0 Halaman : 60/87


Diktat Kuliah Organisasi Komputer

Di kemudian hari microprogramming, keberadaan microprogram ini diselesaikan secara


sembunyi dari user, yang tidak bisa membicarakan apakah komputer mereka merupakan
hardwire atau microprogrammed. Mesin yang lebih baru, bagaimanapun, suatu saat
mengijinkan user untuk punya mengakses ke microcode. Malahan bisa
mengimplementasikan penggunaan ROM, control memory yang sering
diimplementasikan penggunaan RAM, dan itu disebut writable control store (WCS).
Pengguna di kemudian hari bisa menulis, mengembangkan, dan menyimpan
microporgram milik mereka. Ini mengijinkan mereka untuk :
1. Optimalisasi eksekusi yang terdiri dari operasi-operasi untuk memberikan
keunggulan hardware baru.
2. Mensimulasi, dalam firmware, sekumpulan instruksi pada komputer yang berbeda.
(ini disebut emulasi).
3. Mendefinisikan kode operasi yang baru.

5.4 Ringkasan
Pengenalan ALU merupakan komponen kedua dari tiap-tiap pertumbuhan
komputer hipotesis kami. Tetapi ada beberapa eksplorasi prinsip dasar dari struktur bus
yang diasosiasikan dengan komponen interconnecting. Dalam kehidupan nyata, kita akan
mempunyai sekumpulan unit fungsional untuk mengimplementasikan operasi-operasi
aritmetika dan logika.
Kita telah membahasa model arsitektur Von Neumann, kemudian komputer nyata
kita menjumpai ke depan yang tidak melihat atau berprilaku yang secara nyata seperti
model yang idealis ini (seperti mereka bisa mempunyai regsiter yang banyak, bus-bus
tambahan, atau format instruksi yang lain). Struktur alternatif lainnya disebut pipeline
processor. Dalam tipe ini prosesor suatu instruksi dikodekan dan carried out dalam stage.

5.5 Soal-Soal Latihan


Kerjakan soal-soal berikut ini :
1. Develop an algorithm for integer divison that uses only integer addition, subtraction,
and comparison. How efficient would this algorithm be in general ?
2. Show the sequence of operation nescessary to evaluate the expression:
A := ((B + C) * D) + (E / F)
a. With 4-format instruction
b. With 3-format instruction
c. With 2-format instruction
d. With 1-format instruction
e. With 0-format instruction
3. If the execution phase of some mechine-language instruction is decribed by the
following 1-line microprogram,
R0 → PC
what type of instruction must this be ?
4. Show the sequence of operations that would occur during the execution phase of the
following hypothetical 1-address instruction.
SEND val Send the value “val” directly to register R0
5. Rewrite the following expression in prefix notation and then show the 0-address
machine-language instructions that evaluate it.
A := ((B + C * (C / (D * E))) – 1

IF - UTAMA Versi/Revisi : 1/0 Halaman : 61/87


Diktat Kuliah Organisasi Komputer

BAB VI
ORGANISASI SISTEM KOMPUTER

6.1 Pendahuluan
Komputer digital berisi sistem yang saling berhubungan erat antara prosesor,
memori dan peralatan I/O. Tiga komponen ini yang saling berhubungan antar komponen-
komponen tersebut. Hubungan ini bisa dibentuk dengan cara menggunakan bus-bus atau
interconnect antar komponen-komponen tersebut.

6.2 Prosesor
Organisasi komputer yang berorientasi pada bus secara sederhana dapat
digambarkan pada gambar 6.1 berikut ini :

CPU
Control
Unit

ALU
(Arithmetic
and Logic
Unit)
I/O Device

. . Disk
. . Main Printer
Memori

BUS
Gambar 6.1 : Organisasi Komputer Sederhana dengan Satu CPU dan 2 Peralatan
I/O

CPU merupakan otak komputer. CPU berfungsi untuk mengeksekusi program yang
disimpan di memori utama dengan pengambilan intruksi program, memeriksa instruksi
program, dan kemudian mengeksekusi program lainnya secara bergantian. CPU disusun
dari beberapa bagian yang penting yaitu :
1. Control Unit yang bertanggung jawab untuk mengambil instruksi dari memori utama
dan menentukan tipe lainnya.
2. Arithmetic and Logic Unit yang melaksanakan operasi seperti pertambahan dan
logika AND yang dibutuhkan untuk instruksi carry out.
3. Register yaitu : sesuatu yang kecil, memori kecepatan tinggi yang berguna untuk
menyimpan hasil sementara dan beberapa informasi pengendalian. Memori ini berisi
sejumlah register, yang mempunyai suatu fungsi yang pasti. Register yang lebih

IF - UTAMA Versi/Revisi : 1/0 Halaman : 62/87


Diktat Kuliah Organisasi Komputer

penting adalah Program Counter (PC), yang menentukan untuk eksekusi instruksi
berikutnya. Instruction Register, yang memegang instruksi yang berjalan yang
sedang dieksekusi. Komputer mempunyai register lainnya yang sama pentingnya.

6.2.1 Eksekusi Instruksi


Instruksi yaitu suatu perintah yang berisi data dari program user yang diolah oleh
komputer untuk menghasilkan informasi yang bermanfaat. CPU mengeksekusi setiap
instruksi dalam langkah pada setiap sesi yang sederhana, yaitu :
1. Mengambil instruksi selanjutnya dari memori ke dalam register instruksi (IR).
2. Merubah program counter untuk menentukan instruksi berikutnya.
3. Menentukan tipe instruksi yang diambil
4. Jika instruksi menggunakan data di dalam memori, maka menentukan tempat data
berada.
5. Mengambil data, jika ada, ke dalam register CPU internal.
6. Eksekusi instruksi
7. Simpan hasil di tempat tepat (sesuai).
8. Ke step 1 untuk memulai eksekusi instruksi berikutnya.
9. Ulangi langkah 1 untuk memulai eksekusi instruksi berikutnya.
Urutan langkah-langkah merupakan frekuensi yang dihubungkan sebagai siklus fetch-
decode-execute. Fetch-decode-execute merupakan pusat operasi dari semua komputer.

6.2.2 Organisasi CPU


Organisasi internal dari bagian CPU Klasik Von Neumann ditunjukkan secara
lebih detil dalam gambar 6.2 berikut ini :
A+B

A
Registers
B

ALU Input Register

A B

ALU

A+B

Gambar 6.2 : Data Path pada Tipikal Mesin Von Neumann

IF - UTAMA Versi/Revisi : 1/0 Halaman : 63/87


Diktat Kuliah Organisasi Komputer

Bagian ini disebut data path dan terdiri dari register-register (secara umum 1 sampai 16)
dan ALU. Register-register memasukan ke dalam register-register input ALU, yang
diberi label A dan B dalam gambar diatas. Register-register ini memegang inputan ALU
ketika ALU sedang mengkomputasikan.

ALU dengan sendirinya melaksanakan berikut ini :


• Pertambahan
• Pengurangan
• Operasi sederhana lainnya pada inputan operasi.
Yang kemudian hasilnya dimasukan pada register output. Register output ini bisa
menyimpan kembali ke dalam suatu register, dan dari sana, kembali ke dalam memori.
Instruksi bisa dibagi ke dalam 3 kategori : register-memory, register-register, dan
memory-memory.

6.2.3 Eksekusi Instruksi Paralel


Suatu pendekatan yang memungkinkan bahwa satu CPU kecepatan yang tinggi,
yang mungkin dibangun dengan beberapa ALU yang lambat atau secara komplit CPU
yang memberikan beberapa kekuatan komputasi pada biaya yang rendah. Mesin paralel
bisa dibagi ke dalam tiga kategori yang didasarkan pada bagaimana beberapa intruksi dan
urutan datanya yaitu :
1. SISD: Single Instruction Stream, Single Data Stream.
2. SIMD: Single Instruction Stream, Multiple Data Stream.
3. MIMD: Multiple Instruction Stream, Multiple Data Stream.
Mesin Von Neumann merupakan mesin SISD. Mesin yang mempunyai :
• Satu urutan instruksi (satu program).
• Pengeksekusian oleh satu CPU.
• Satu memori yang terdiri dari data program.
Pengeksekusian mesinnya yaitu :
• Instruksi pertama diambil dari memori kemudian dieksekusi
• Instruksi kedua diambil dan dieksekusi.

6.3 Memori
Memori adalah bagian dari komputer yang ada program dan data disimpan di
dalamnya. Scientis komputer memnggunakan istilah store atau storage lebih dikenal
daripada memori. Tanpa ada memori maka prosesor tidak bisa baca dan tulis informasi,
komputer digital tidak akan menyimpan program.

6.3.1 Bit
Unit dasar dari memori adalah digit biner, yang disebut bit. Bit bisa berisi 0 atau 1.
Memori merupakan unit yang mungkin lebih sederhana. Peralatan yang cukup hanya
menerima 0 dengan bentuk tetap dari dasar system memori. Paling sedikit 2 nilai yang
dibutuhkan.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 64/87


Diktat Kuliah Organisasi Komputer

6.3.2 Address Memori


Memori terdiri dari beberapa cell (lokasi) yang setiap tempatnya menyimpan
sebuah informasi. Setiap cell mempunyai nomor, yang disebut address, dengan address
dapat menghubungi program. Jika memori mempunyai n cell, maka akan mempunyai
address 0 sampai n – 1. Semua cell dalam memori berisi beberapa bit. Jika sebuah cell
berisi k bits, maka cell mendapatkan salah satu dari 2k gabungan bit yang berbeda. Lihat
gambar berikut yang menunjukan perbedaan ketiga organisasi untuk memori 96-bit.
Catatan cell yang berdampingan mempunyai address yang berurutan. Lihat gambar 6.3
berikut ini :

Address Address 1 cell Address

0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 16 bit
7 7
8 12 bit
9
10
11
8 bit
Gambar 6.3 : Tiga Cara Pengorganisasian sebuah Memori 96 bit

6.3.3 Memori Kedua


Sebab setiap word dalam memori utama dapat diakses secara langsung dalam yang
sangat singkat, memori utama yang relatif mahal. Dengan konsekuensi, komputer lebih
lambat, murah, dan biasanya memori sekunder lebih luas sebagai alternatif yang baik.
Memori sekunder digunakan untuk mendapatkan sekumpulan data yang lebih banyak
daripada memori utama.
A. Magnetic Tapes
Merupakan jenis memori yang pertama. Tape drive komputer dianalogikan dengan
tape recorder rumah. Informasi diorganisasikan dengan 8-bit untuk setiap byte, masing-
masing frame (kolom) berisi 1 byte tambah bit extra, bit kelebihan, bit pariti, untuk
perbaikkan.
Sesudah tape drive menyelesaikan penulisan record secara fisik (urutan dari
frame), tape drive menemukan sebuah gap pada tape maka turun secara lambat. Jika
program menuliskan record fisik lebih pendek pada tape, penempatan selebihnya akan
terbuang dalam gap. Magnetic tape merupakan peralatan akses secara sequensial.
B. Magnetic Disk
Disk yang berupa lempengan metal, diameter antara 5 sampai 10 inci, untuk
lapisan magnetis yang sudah ada dari pabriknya, secara umum ada pada dua sisi.
Informasi direcordkan pada beberapa lingkaran konsentrasi yang disebut track.
Banyaknya head yang dipasang untuk membaca atau menulis informasi dari satu track
yang tepat.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 65/87


Diktat Kuliah Organisasi Komputer

C. Floppy Disk
Perkembangan personal komputer, suatu alasan dibutuhkannya distribusi software.
Solusinya ditemukan diskette atau floppy disk, ukuran kecil, disebut juga media yang
dapat dipindah-pindah sebab salah satu kemudahannya yaitu fisiknya yang fleksibel.
D. Optical Disk
Tahun belakangan ini, optical (sebagai tandingan magnetic) disk telah menjadi
kebutuhan. Kapasitas recording lebih tinggi daripada magnetic disk konvensional.
Sebagai media penyimpanan.

6.4 Input/Output
Komponen yang ketiga dari komputer yang sebelumnya telah dibicarakan yaitu
peralatan Input/Output. Salah satu peralatan I/O yaitu : printer, scanner, dan modem.

6.4.1 BUS
Pada sebagian besar komputer pribadi dan workstation memiliki struktur yang
serupa. Dan biasanya memiliki sbeuah kotak logam dengan papan rangkaian cetakan
(PCB) besar pada bagian bawah yang disebut motherboard (parentboard, istilah yang
sebenarnya). Pada motherboard ada soket-soket yang digunakan untuk penghubung
peralatan I/O. Kadang-kadang terdapat 2 bus, yakni bus kecepatan tinggi (I/O modern)
dan bus kecepatan rendah (I/O yang terdahulu). Ada beberapa hal yang menyangkut bus
yaitu :
− Jenis pengaturan informasi lalu lintas pada sebuah bus yaitu :
1. terpusat diatur oleh bus control
2. terdistribusi (desentralisasi) unit = pengatur bus mangatur seri dengan prosedure
tersebut.
− Pembagian bus menurut jenis informasi :
1. data bus untuk data
2. data bus untuk alamat
− Pembagian bus menurut unit-unit yang memuat unit-unit yang dihubungkan :
1. Input / Otput bus, I/O ←→ Processor
2. Memori bus, memori ←→ Processor
− Modus Transfer
(antara I/O device – memory komputer)
a. Perangkat mekanis ( I/O mechanism)
Contoh :
Keyboard : mekanisme tombol-tombol kunci ditekan (input data)
Printer : mekanisme - head bergerak kiri-kanan
- pita-pita head memunculkan karakter
Disk : mekanisme pemutar piringan menggunakan haed pada sektor yang
dituju

IF - UTAMA Versi/Revisi : 1/0 Halaman : 66/87


Diktat Kuliah Organisasi Komputer

b. Perangkat pengendali ( I/O controller)


Menggunakan cairan informasi antara peralatan I/O ke komputer

I/ O buffer memory
Mekanisme I/O controller

Processor
“START”
− Fungsi I/O Controller
♦ berisi buffer sebagai tempat penyimpanan sementara bagi data
yang ditransfer ke / dari komputer
♦ menerima sinyal “start” dari komputer
♦ mengaktifkan I/O mechanism
♦ mengirim sinyal “done” atau “error” ke komputer
♦ transfer data ke / dari main memory
♦ tranfer data ke / dari I/O mechanism

6.4.2 Unit Input dan Output


Input Unit
− Input Unit adalah istilah lain dari data
− Input Device adalah alat yang menerima dan kemudian membacanya dan diteruskan
kepada storage unit.
− Input device adalah alat pembaca input, contoh :
 Magnetic Tape Unit
 Disk Drive Unit
 Card Magnetic Reader
Output Unit
− Bertugas mengeluarkan hasil pengolahan dari CPU melalui main storage
− Ada 2 pengerian output unit
1. Output hasil pengolahan (informasi atau hasil lainnya)
2. Output device ( alat yang menerima hasil pengolahan data dari CPU melalui
storage dan akan menghasilkan output
− Output device yang banyak digunakan adalah :
1. Card Punch Mechine
2. Line/Matrix Printers
3. Magnetic Tape Uniit
4. Disk Drive, dan sebagainya
− Apabila output yang dihasilkan dimasukan ke dalam magnetik tape unit dan disk
drive maka tape dan disk drive tersebut merupakan Eksternal Storage.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 67/87


Diktat Kuliah Organisasi Komputer

6.5 Ringkasan
Sistem-sistem komputer dibuat dari tiga komponen : prosesor, memori, dan piranti
I/O. Tugas sebuah prosesor adalah untuk menangkap instruksi-instruksi setiap satu kali
dari memori, mendekodekannya, dan melasanakannya. Siklus read-decode-execution
selalu bisa dijelaskan sebagai suatu algoritma dan kadang-kadang dilakukan oleh
interpreter perangkat lunak yang dijalankan pada level rendah. Untuk menaikan
kecepatan, pada saat ini banyak komputer memiliki satu atau lebih pipeline atau memiliki
rancangan superskalar dengan satuan-satuan fungsional multipel yang beroperasi secara
paralel.
Memori dapat dikategorikan sebagai primer dan sekunder. Memori primer
digunakan untuk menyimpan program yang saat ini sedang berjalan. Waktu akses memori
primer sangat singkat, paling lama beberapa puluh nano-detik dan tidak tergantung pada
alamat yang diakses. Sebagian memori diperlengkapi dengan kode-kode koreksi
kesalahan yang berguna untuk mempertinggi kehandalan memori. Sedangkan memori
sekunder memiliki waktu akses yang jauh lebih lama dan tergantung pada lokasi data
yang sedang dibaca atau sedang ditulis.
Peralatan I/O digunakan untuk mentransfer informasi ke dalam dan keluar
komputer. Piranti-piranti ini dihubungkan dengan prosesor, sedangkan memori oleh satu
atau lebih bus. Contoh piranti yaitu terminal, mouse, printer, dan modem. Sebagian besar
piranti I/O menggunakan kode karakter ASCII, meskipun UNICODE dengan cepat akan
memperoleh penerimaan ketika industri komputer mendunia.

6.6 Soal-Soal Latihan


Kerjakan soal-soal berikut ini :
1. Yang manakah dianatara memori-memori berikut ini yang memungkinkan ? yang
manakah yang masuk akal ? jelaskan !
a. 10-bit alamat, 1024 cell, 8-bit ukuran cell
b. 10-bit alamat, 1024 cell, 12-bit ukuran cell
c. 9-bit alamat, 1024 cell, 10-bit ukuran cell
d. 11-bit alamat, 1024 cell, 10-bit ukuran cell
e. 10-bit alamat, 1024 cell, 1024-bit ukuran cell
f. 1024-bit alamat, 10 cell, 10-bit ukuran cell
2. Sebuah komputer bisa dilengkapi dengan 268.435.456 byte memori. Mengapa
produsen akan memilih nilai ganjil tersebut daripada 250.000.000 bukankah nilai
(angka) genap tadi mudah diingat ?
3. Produsen mengiklankan bahwa terminal colour bit-map mampu menampilkan 224
warna yang berbeda. Meskipun demikian perangkat keras ini hanya memiliki 1 byte
untuk setiap pixel. Bagaimana hal ini bisa dilakukan ?
4. Berapa lama pulsa yang berkaitan dengan satu pixel, jika suatu terminal memiliki
peta-bit tampilan 1024 x 768 dan tampilan bisa digambar ulang 75 kali per detik.
5. Berapa kapasitas data yang pasti (satuan byte) dari sebuah CD-ROM mode 2 yang
berisi 74 menit nilai data standar ?

IF - UTAMA Versi/Revisi : 1/0 Halaman : 68/87


Diktat Kuliah Organisasi Komputer

BAB VII
CHIP MICROPROCESSOR DAN BUS-BUS

7.1 Pendahuluan
Pertama kali dilihat pada beberapa aspek secara umum tentang mikroprosesor
sebagai pandangan dari level logika digital, yang meliputi pinout (sinyal apa pada
beragam arti pin). Karena mikroprosesor sangat erat kaitannya dengan rancangan bus-bus
yang digunakannya, pada bagian ini juga akan disajikan penghantar ke rancangan bus.

7.2 Chip Mikroprosesor


Istilah mikroprosesor mengandung arti beberapa CPU yang digabungkan pada satu
chip, pada waktu yang lewat mempunyai arsitektur dan kekuatan komputasi pada suatu
mainframe kecil. Pendefinisian didasarkan pada pengepakan, yang membuat definisi
sesuai untuk level logika digital yang akan dipelajari sekarang.
Ciri-ciri chip mikroprosesor yaitu :
• Mempunyai pin diantara 40 dan 132,
• Beberapa pin sinyal output dari CPU,
• Sinyal masukan lainnya dari dunia luar,
• Sinyal yang bekerja antara keduanya (sinyal output dan sinyal masukan).
Fungsi semua pin, yang bisa dipelajari yaitu bagaimana CPU berinteraksi dengan
memory dan peralatan I/O pada level logika digital.
Pin-pin pada chip mikroprosesor bisa dibagi ke dalam tiga tipe yaitu :
1. Address
2. Data
3. Kontrol
Pin-pin ini dihubungkan yang serupa pin pada chip memori dan I/O lewat sekumpulan
kabel paralel yang disebut BUS.

Pengambilan instruksi :
1. Mikroprosesor meletakkan address memori dari suatu instruksi pada pin addressnya
2. Mikroprosesor (biasanya) memasukkan garis kendali untuk menginformasikan ke
memori bahwa mikroprosesor ingin membaca suatu word.
3. Memori membalas dengan meletakan word kebutuhan pada pin data mikroprosesor
4. Memasukkan suatu sinyal perkataan bahwa kerjakanlah mikroprosesor
5. Ketika mikroprosesor mendengar (melihat) sinyal ini, mikroprosesor memasukkan
instruksi word dan carries out.
Dua parameter kunci yang menjelaskan performansi dari suatu mikroprosesor
yaitu :
1. sejumlah pin address
2. sejumlah pin data
suatu chip dengan pin m address bisa mengalamati sampai 2m lokasi memori. Nilai yang
umum dari m yaitu : 16, 20, 24, dan 32. Sama halnya, suatu chip dengan pin n data yang
bisa membaca atau menulis suatu word n-bit dalam satu operasi. Nilai yang umum dari n
yaitu : 8, 16, dan 32. Mikroprosesor dengan 8 pin data akan membawa empat operasi
baca suatu word 32 bit, dimana satu dengan 32 pin data yang bisa mengerjakan beberapa

IF - UTAMA Versi/Revisi : 1/0 Halaman : 69/87


Diktat Kuliah Organisasi Komputer

job dalam satu operasi. Sehingga chip dengan 32 pin data jauh lebih cepat, tetapi sebagai
invarian lebih mahal dan lebih baik.
Masing-masing mikroprosesor mempunyai beberapa pin kontrol. Pins kontrol meregulasi
aliran dan pewaktuan pada data ke dan dari mikroprosesor dan mempunyai bermacam-
macam penggunaan lainnya. Semua mikroprosesor mempunyai pin berikut :
• untuk power (biasanya +5 volt)
• ground
• sinyal clock
Pin kontrol bisa dikelompokan ke dalam kategori umum berikut :
1. bus kontrol
2. interrupt
3. bus arbitration (wasit)
4. pensinyalan coprossesor
5. status (keadaan)
6. miscellaneous
Pin bus kontrol yaitu lebih banyak output dari mikroprosesor ke bus yang menceritakan
sesuatu keinginan mikroprosesor untuk membaca atau menulis memori atau mengerjakan
sesuatu yang lainnya.
Pin Interrupt yaitu input dari peralatan I/O ke mikroprosesor. Lebih ke sistem,
mikroprosesor bisa menceritakan ke peralatan I/O untuk memulai operasi, dan kemudian
meninggalkan dan mengerjakan sesuau yang berguna ketika peralatan I/O lambat
mengerjakan sesuatu pekerjaannya. Ketika peralatan I/O sudah selesai, chip kontroler I/O
memasukkan suatu sinyal pada salah satu pin ini untuk interupsi CPU dan mikroprosesor
melayani peralatan I/O.
Pin bus arbitration yaitu pin yang dibutuhkan untuk meregulasi trafik pada bus, suatu
perintah untuk menghadirkan dua peralatan dari percobaan menggunakan dua peralatan
pada suatu saat. Tujuan arbtration yaitu CPU menghitung suatu peralatan.
Beberapa chip mikroprosesor dirancang untuk beroperasi dengan coprocessor, lebih
umum chip floating-point, tetapi suatu saat bisa grafik atau chip lainnya lebih baik. Untuk
memfasilitasi diantara mikroprosesor dan coprocessor, pin yang disediakan secara spesial
untuk pembuatan dan bantuan macam-macam permintaan.
Tambahan untuk sinyal-sinyal ini, yaitu macam-macam pin lainnya yang dipunyai
beberapa mikroprosesor. Ini menyediakan atau memasukkan keadaan informasi,
penggunaan lainnya untuk menset ulang komputer, dan ketahanan lainnya yang
menghadirkan untuk meyakinkan kompatibel dengan chip I/O yang lama.

7.3 Bus Komputer


Bus yaitu jalur elektrik yang umum diantara banyak peralatan. Salah satu contoh
yang umum yaitu bus sistem yang ada pada semua mikrokomputer, yang terdiri dari 50
sampai 100 pasang kabel paralel yang terpasang pada motherboard, dengan tempat
penghubung pada interval regular untuk plugging (menempel) dalam memori dan board
I/O. Chip microprocessor dengan sendirinya ada banyak bus untuk hubungan antar
komponen dalam.
Ketika perancang microprocessor yang dibebaskan menggunakan beberapa jenis
bus yang mereka inginkan disisi chip, pembuatan yang memungkinkan untuk merancang
board dengan tiga bagian yang tuntas untuk sistem bus, sebaiknya pendefinisian rules
(aturan) yang baik tentang bagaimana :

IF - UTAMA Versi/Revisi : 1/0 Halaman : 70/87


Diktat Kuliah Organisasi Komputer

 bus bekerja
 dan semua peralatan yang diselesaikan
Aturan ini disebut protokol bus.
Beberapa bus yang digunakan dalam komputer yaitu :
 Camac bus (nuclear physics)
 EISA bus (80386)
 Fastbus (high energy physics)
 IBM PC dan PC/AT buses (IBM PC dan PC/AT)
 Massbus (PDP-11, VAX)
 Megabus (Honeywell)
 Microchannel (PS/2)
 dsb.
Bagaimanakah bus bekerja yaitu :
 peralatan yang menuntaskan (melewatkan) suatu bus yang diaktifkan dan bisa
menginisialisasi bus transfer, salah satu yang aktif disebut masters.
 yang lainnya yaitu dipassivekan dan menunggu untuk request, salah satu pasif yang
disebut slave.
 Bus masters dihubungkan ke bus oleh suatu chip yang disebut bus driver, dengan
tujuan pokok menguatkan sinyal digital.
 Bus slave dihubungkan ke bus oleh bus receiver.
 Untuk peralatan yang bisa beraksi sebagai master dan slave, chip kombinasi yang
digunakan dan disebut bus transceiver.
 Tiga keadaan peralatan (bus interface chip) yaitu :
1. Untuk mengijinkan float ketika tidak dibutuhkan, atau dibangkitkan
dalam sesuatu cara yang berbeda disebut open collector, yang menerima suatu
efek yang serupa.
2. Dua atau lebih peralatan pada suatu garis open collector memasukan
sebuah line pada suatu saat, hasilnya yaitu boolean OR dari semua sinyal, disebut
wire-OR.
3. Beberapa line yaitu tiga keadaan dan lainnya, yang membutuhkan
kemampuan wire-OR, yaitu open collector.
Bus juga mempunyai berikut ini :
 Line Address
 Line Data
 Line Kontrol (pengendali)

7.3.1 Bus Sinkronisasi


Bus-bus bisa dibagi ke dalam dua kategori yang bergantung pada clocking, yaitu :
1. Bus sinkronisasi mempunyai sebuah line driven oleh sebuah oscillator kristal. Sinyal
pada line ini terdiri dari gelombang kuadrat dengan seluruh frekuensi diantara 5 MHz
dan 50 MHz. Semua aktivitas bus berdampak sejumlah kesatuan (integral) dari siklus
ini, disebut bus cycles.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 71/87


Diktat Kuliah Organisasi Komputer

2. Bus asinkronisasi, yang tidak mempunyai suatu master clock. Siklus bus bisa dari
kebutuhan yang melebar, dan membutuhkan tidak semua diantara peralatan yang ada.
Pembacaan suatu byte dari memori membuat tiga siklus bus, yaitu :
 Mulai dari T1 yang didefinisikan oleh putaran edge dari clock.
 T2 yaitu pemberian waktu memori untuk mengkodekan alamat dan meletakan data
pada bus.
 T3 yaitu CPU membaca data line, menyimpan nilai dalam sebuah register internal.
Bus sinkronisasi merupakan kemudahan untuk bekerja dengan pasangan waktu interval
secara terbatas, disamping itu mempunyai permasalahan. Untuk satu pemikiran, sesuatu
pekerjaan dalam banyak kesatuan dari clock bus.

7.3.2 Bus Asinkronisasi


Bus asinkronisasi yaitu bus yang mempunyai sebuah kumpulan peralatan yang
heterogen, kadang cepat dan kadang lambat.
Sekumpulan sinyal yang interlock, cara ini disebut full handshake. Bagian yang
penting terdiri dari 4 kejadian :
 Komplemen MSYN yang dimasukkan
 Komplemen SSYN yang dimasukkan merespon ke MSYN
 Komplemen MSYN yang dinegasikan merespon ke SSYN
 Komplemen SSYN yang dinegasikan merespon ke negasi MSYN

7.3.3 Siklus Bus


Siklus bus berguna untuk mekanisme yang dibutuhkan untuk mencegah kekacauan
(disebut juga bus arbitration). Mekanisme pensiklusan bisa sentralisasi atau
desentralisasi.
Berikut urutan dari kejadian yang menunjukkan situasi yang menyebabkan
kesalahan pemikiran, yaitu :
 Prosesor A membaca kata x dan melihat bahwa x adalah nol (siklus bus 0).
 Prosesor B membaca kata x dan melihat bahwa x adalah nol (siklus bus 1).
 Prosesor A menulis 1 ke dalam kata x (siklus bus 2).
 Prosesor B menulis 1 ke dalam kata x (siklus bus 3).
Jika urutan ini terjadi, 2 prosesor secara simultan memperkirakannya masing-masing
mempunyai akses eksklusif untuk membagi struktur data, alhasil dalam kekacauan. Untuk
mencegah situasi ini, CPU mempunyai instruksi yang membaca kata di memori, dan jika
kata itu 0, mengesetnya ke 1. Masalahnya yaitu intruksi meminta siklus 2 bus, satu untuk
baca dan satu untuk menulis.
Solusi untuk masalah ini yaitu menambahkan suatu line extra untuk bus, katakan
saja, LOCK yang dimasukkan ketika suatu instruksi dimulai. Salah satu lock yang sudah
dimasukkan, prosesor lain tidak diijinkan untuk mendatangi master bus sampai lock
sudah dinegasikan. Aturan ini memberikan pekerjaan yang memungkinan original CPU
mempunyai banyak siklus bus tanpa terganggu.

7.4 Penanganan Interupsi


Kepentingan penggunaan bus lainnya yaitu penanganan interupsi. Ketika CPU
memerintah peralatan I/O untuk melakukan sesuatu, biasanya menunjuk suatu interupsi
ketika pekerjaan dilakukan. Sinyal interupsi membutuhkan bus.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 72/87


Diktat Kuliah Organisasi Komputer

Untuk 8 chip controller I/O bisa secara langsung dihubungkan ke 8 input IRx
(interupt request) ke 8259A. Ketika satu atau lebih input yang dimasukkan, 8259A
memasukkan INT (INTerrupt), yang secara langsung mendorong pin interrupt pada CPU.
Ketika CPU bisa menagani interrupt, CPU mengirim pulsa pengembalian ke 8259A pada
INTA (INTerrrupt Acknowledge).
Interupsi adalah suatu kecepatan tranfer dari kontrol yang menyebabkan suatu
kejadian di dalam sistem. Ada beberapa kejadian yang menyebabkan suatu interupsi
dalam CRA-1
− System call, sebuah sistem instruksi call dieksekusi
− Timer, interval waktu penghitungan bawah ke 0.
− Disk, peralatan disk menyelesaikan sebuah pengiriman.
− Kesalahan program, program membuat kesalahan.

7.5 Ringkasan
Komputer dibangun dari chip-chip rangkaian terpadu yang berisi elemen-elemen
penggeser yang berukuran kecil yang disebut gerbang. Gerbang-gerbang yang paling
banyak dikenal adalah AND, OR, NAND, NOR, dan NOT. Rangkaian-rangkaian
sederhana dapat dibangun secara langsung menggabungkan masing-masing gerbang.
Komponen-komponen dari suatu sistem komputer dihubungkan oleh bus. Sebagian
besar (tidak semuanya) pin pada suatu chip mikroprosesor tertentu secara langsung
menggerakkan satu jalur bus. Jalur-jalur bus dapat dibagi ke dalam jalur alamat, jalur
data, dan jalur kontrol. Bus sinkron digerakkan oleh sebuah master clock. Bus asinkron
menggunakan full handshake untuk mensinkronisasikan slave ke master.

7.6 Soal-Soal Latihan


Kerjakan soal-soal latihan berikut ini :
1. Apa yang dilakukan rangkaian berikut ini ?

A C
B
D

2. ALU bisa melakukan penjumlahan-penjumlahan komplemen 2 dengan 8 bit. Apakah


ALU bisa melakukan pengurangan komplemen 2 ?. Jika bisa, jelaskan mengapa. Jika
tidak, modifikasi ALU tersebut agar bisa melakukan pengurangan.
3. Sebuah komputer dengan lebar bus data 32-bit menggunakan 1M x 1 chip-chip
memori RAM dinamik. Berapa memori terkecil (dalam byte) yang dapat dimiliki
komputer ini ?
4. Sebagian besar bus 32-bit memungkinkan operasi baca dan tulis 16-bit. Apakah
terdapat ambiguitas menyangkut tempat untuk menempatkan data ?
5. Sebuah PC/AT berkecepatan 10MHz membutuhkan 4 siklus untuk membaca sebuah
word. Berapa banyak bandwith bus yang dihabiskan CPU tersebut ?

IF - UTAMA Versi/Revisi : 1/0 Halaman : 73/87


Diktat Kuliah Organisasi Komputer

BAB VIII
THE MICROPROGRAMMING LEVEL

8.1 Pendahuluan
Setiap komputer mempunyai instruksi untuk berikut :
• aritmetika
• operasi boolean
• pergeseran (shifting)
• perbandingan (comparing)
• pengulangan (looping), sebagainya.
Semunya dieksekusi oleh hardware. Untuk masing-masing instruksi, suatu rangkaian
hardware yang spesifik diadakan untuk menghasilkan rangkaian keluaran (carry it out).
Salah satu gambaran bahwa komponen elektronik yang digunakan oleh instruksi
pembagian.
Pada komputer multilevel modern, komputer yang tidak mungkin untuk menutup
rangkaian pembagian (circuit division) yang menyebabkan tidak ada rangkaian
pembagian (circuit division). Semua instruksi yang memberdaya-gunakan pada level
mesin konvensional (seperti instruksi untuk aritmetika, boolean, shifting, comparing, dan
looping) yang di-carry out-kan langkah demi langkah dengan suatu interpreter yang
berjalan pada level microprogramming.
Oleh karena itu program pada beberapa level bisa di-carry out-kan oleh suatu
interpreter, dan dengan sendirinya interpreter ini bisa juga dieksekusi oleh interpreter
lainnya, hierarki ini tidak bisa berjalan secara indefintie. Pada level bawah, seharusnya
ada suatu mesin hardware secara fisik, dengan IC, power supply, dan objek “keras”
lainnya.
Bagaimanakah komponen hardware dikendalikan oleh microprogram dan
bagaimanakah microprogram menerjemahkan level mesin konvensional ?.
Sebab arsitektur dari level microprogramming, disebut microarchitecture, didefinsikan
oleh hardware, microprogramming biasanya primitive dan yang ramah bagi program.
• Definisi microprogramming menurut kesepakatan Ied Rosin (1974) sebagai :
implementasi dari harapan yang bisa bertanggungjawab (reasonable) suatu
penterjemahan sistem pada mesin yang tidak bertanggungjawab (unreasonable).
Level microprogramming mempunyai fungsi yang spesifik :
• pengeksekusian interpreter untuk mesin virtual (penuh harapan, more reasonable)
lainnya.
Tujuan perancangan ini secara alami meningkatkan suatu optimasi organisasi yang baik
mengenai pengambilan (fetching) kembali, penyandian (decoding), dan pengeksekusian
instruksi mesin konvensional, dan, dalam beberapa kasus, instruksi yang lebih nyata.

8.2 Review Level Logika Digital


Pekerjaan seorang microprogramming yaitu menulis sebuah program untuk
pengendalian register mesin, bus-bus, ALU, memori, dan komponen hardware lainya.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 74/87


Diktat Kuliah Organisasi Komputer

8.2.1 Register
Level microprogramming selalu mempunyai register-register yang berdaya guna
untuk memegang informasi yang dibutuhkan untuk pengolahan instruksi yang sedang
berjalan diterjemahkan. Register pada beberapa kelompok komputer diberi nomor 0, 1, 2,
…, n – 1, yang berguna pada level microprogramming, dan disebut storage lokal atau
scratchpad storage. Lihat gambar 8.1 berikut.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Bit
Number
0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0
Gambar 8.1 : register 16 bit bisa menyimpan informasi 16 bit

Register bisa dikarakteristikan dengan bilangan satu : bagaimana beberapa bit


informasi bisa disimpan. Penempatan informasi dalam suatu register yang tersisa sampai
informasi lainya menempati register. Proses pembacaan informasi yang keluar daru
register tidak merusak isi dari register. Dengan kata lain, ketika suatu register dibaca,
suatu kopian dibuat dari isi register dan keaslian dalam register sebelah kiri tidak
terganggu.

8.2.2 Bus-Bus
Beberapa peralatan yang mempunyai kemampuan untuk berhubungan dan tidak
berhubungan dengan sendirinya secara elektronik dari bus-bus ke paralatan secara fisik
tidak ada. Hubungan ini bisa dibuat atau tidak dalam nanosecond. Bus suatu peralatan
yang mempunyai properti ini disebut bus tri-state, sebab masing-masing line bisa 0, 1,
atau tidak terhubung. Bus-bus tri-state yang secara umum digunakan ketika suatu bus
mempunyai beberapa perlatan yang tidak ada untuk bus, dari semua yang bisa berpotensi
meletakkan informasi pada bus.
Lebih ke microarchitecture, beberapa register dihubungkan ke satu atau lebih bus-
bus input dan satu atau lebih bus-bus output. Lihat gambar 8.2 berikut.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 75/87


Diktat Kuliah Organisasi Komputer

in pu t
bu s

D0 D1 D2 D3 D4 D5 D6 D7

8 -bit
r e g is te r

C o n tr o l
s i g n a ls CK

OE
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

o u tp u t
bu s

Gambar 8.2 : Register 8-bit yang Dihubungkan ke Bus Input dan Bus Output

 8 bit register berhubungan ke suatu bus input dan ke bus output, register yang terdiri
dari flip-flop tipe D, masing-masing dihubungkan ke bus output lewat suatu buffer
non inverting.
 Register mempunyai 2 sinyal pengendali yaitu CK dan OE, keduanya dihubungkan ke
semua flip-flop.
 Secara normal, kedua sinyal yang merupakan dalam keadaan mereka diam tetapi
kadang-kadang mereka bisa dimasukkan, yang menyebabkan korespondensi aksi
terjadi.
 Ketika CK dinegatifkan, isi dari register yang dirusak oleh sinyal pada bus.
 Ketika CK dimasukkan, register dipanggil dari bus input
 Ketika OE dinegatifkan, register tidak dihubungkan dari bus output dan secara efektif
ceases keberadaan sama seperti far register lainnya pada bus yang ditunjuk.
 Ketika OE dimasukkan, isi dari register diletakkan pada bus output.
Lihat gambar 8.3 berikut ini :
16 to A bus
form C bus 16 16-bit register 16 to B bus

CK OE1 OE2
Gambar 8.3 : Representasi Simbolik Register 16-bit dengan Satu Bus Input dan 2 Bus
Output

IF - UTAMA Versi/Revisi : 1/0 Halaman : 76/87


Diktat Kuliah Organisasi Komputer

8.2.3 Multiplexer dan Decoder


Rangkaian yang mempunyai satu atau lebih line input dan mengkomputasi satu
atau lebih nilai-nilai otuput secara unik yang digambarkan dengan keberadaan input-input
yang disebut rangkaian kombinasional. Dua dari salah satu yang lebih penting yaitu
Multiplexer dan decoder.
 Multiplexer mempunyai 2n input data-data (line sendiri atau bus-bus), satu data
output dari lebar suatu input, dan n-bit input kendali yang memilih satu dari input-
input dan me-routing input ke output. Lihat Gambar 8.4 berikut.
Input
A B

2-to-1 Multiplexer

Output
Gambar 8.4 : Multiplexer 2 Input ke 1 Output

 Invers dari multiplexer yaitu demultiplexer, yang me-routing satu input demultiplexer
ke satu dari 2n output demultiplexer, tergantung pada nilai dari n line kendali.
Rangkaian kombinasional lainya yang penting yaitu :
 Decoder yang mempunyai n line input dan 2n line output, dibilangan 0 sampai 2n – 1.
Jika bilangan biner pada line input yaitu k, maka line ouput k akan berupa 1 dan
semua line output lainnya berupa 0. Decoder selalu mempunyai satu line output yang
diset dengan jelas ke 1, dengan mereset 0. Lihat gambar 8.5 berikut.
Input

4-to-16 Decoder

Output
Gambar 8.5 : Decoder 4 Input ke 16 Output

 Invers dari decoder yaitu Encoder, yang mempunyai 2n input dan n output. Hanya
satu line input bisa 1, dan bilangan encoder, dalam biner, dihadirkan sebagai output.

8.2.4 ALU dan Shifter


Rangkaian sederhana yang diruaikan suatu adder, yang membawa 2 n-bit input dan
memproduksi penjumlahan input sebagai output.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 77/87


Diktat Kuliah Organisasi Komputer

 ALU rangkaian yang lebih umum untuk aritmetika yang mempunyai 2 data input dan
satu data output, ALU juga mempunyai beberapa input kendali dan output. Lihat
gambar 8.6 berikut.
Gambar 8.6 : ALU
 ALU mempunyai 2 bit fungsi, F0 dan F1, yang meggambarkan bahwa fungsi ALU
A B

F0 N

F1 Z

F (A , B )

dilaksanakan.
 ALU bisa juga melaksanakan operasi shift, dikeperlukan sebagian unit shift.
 Rangkaian ini bisa menggeser multibit input 1 bit ke kiri atau ke kanan, atau, dengan
alternatif, melaksanakan tidak semua pergeseran. Lihat gambar 8.7.

S0
Shifter
S1

Gambar 8.7 : Shifter

8.2.5 Clock
Rangkaian komputer secara normal dikendalikan (dorong) oleh clock, suatu
peralatan yang memancarkan suatu urutan pulsa yang periodik. Pulsa ini mendefinisikan
siklus mesin. Setiap siklus mesin, beberapa aktivitas terjadi, seperti pengeksekusian suatu
microinstruction. Lihat gambar 8.8 berikut. 1 su b c y c le
1 cy c le

D e la y

C lo c k
D e la y

D e la y

C lo c k d e n g a n 4 O u tp u ts D ia g r a m w a k tu o u tp u t
Gambar 8.8 : Clock 4 Output dan Diagram Waktu Output

IF - UTAMA Versi/Revisi : 1/0 Halaman : 78/87


Diktat Kuliah Organisasi Komputer

8.2.6 Main Memory


Prosesor membutuhkan pembacaan data dari memori dan menulis data ke memori.
Komputer mempunyai bus address, bus data, dan bus kontrol untuk berkomunikasi antara
CPU dan memori
 Untuk membaca dari memori, CPU meletakkan suatu memori address pada bus
address dan menset sinyal kendali secara appropriate. Contoh masukan RD (READ).
 Menulis ke memori, CPU meletakkan data untuk dituliskan pada pada bus data dan
address disimpan ke dalam bus address dan kemudian data masuk WR (WRITE).
 MREQ yang mengindikasikan bahwa suatu permintaan memori diinginkan.
 RW yang membedakan baca dari tulis.

Konsekuensinya, microprograming harus menjaga kebenaran nilai pada bus address dan
bus data untuk beberapa mikroinstruksi. Secara singkat

8.2.7 Paket Komponen


Macam-macam rangkaian yang bisa dikombinasikan untuk bentuk komputer.
Rangkaian ini secara komersial berguna dalam sejumlah bentuk dengan konseptual yang
berbeda. Cara ini yaitu dalam paket MSI (medium scale integration), dengan masing-
masing chip yang terdiri dari satu komponen: contoh sebuah register, sebuah ALU, atau
sebuah shifter. Untuk membangun komputer dari bagian-bagian MSI yaitu sejumlah chip
yang banyak dibutuhkan, yang mencakup beberapa board, konsumsi tenaga yang banyak.
Teknik lainya (cara lain) yaitu chip bit-slice, masing-masing chip bit-slice
mempunyai 1 bit register, ALU, dan komponen lainnya. Pendekatan ketiga yaitu
mengkombinasikan komponen yang meletakkan prosesor yang komplit pada satu chip.

8.3 Microarchitecture
Semua komponen dasar dari level microprogramming disusun, suatu saat dilihat
bagaimana mereka dihubungkan.

8.3.1 Data Path


Data path yaitu bagian dari CPU yang berisi ALU, Input ALU, dan output ALU.
Data path berisi 16 yang identik 16-bit register, yang diberi label PC, AC, SP, dan
seterusnya, yang berbentuk suatu pengaksesan scratchpad memori yang hanya untuk level
microprograming.

8.3.2 Microinstruction
Untuk mengendalikan data path dibutuhkan 61 sinyal. Ini bisa dibagi ke dalam 9
kelompok fungsi, penjelasannya sebagai berikut :
 16 sinyal untuk kendali pemanggilan bus A dari scratchpad
 16 sinyal untuk kendali pemanggilan bus B dari scratchpad
 16 sinyal untuk kendali pemanggilan scratchpad dari bus C
 2 sinyal untuk kendali latches A dan B
 2 sinyal untuk kendali fungsi ALU
 2 sinyal untuk kendali shifter

IF - UTAMA Versi/Revisi : 1/0 Halaman : 79/87


Diktat Kuliah Organisasi Komputer

 4 sinyal untuk kendali MAR dan MBR


 2 sinyal untuk mengindikasikan pembacaan memori dan penulisan memori
 1 sinyal untuk kendali Amux

Microinstruksi terdiri dari 13 field, 11 diantaranya sebagai berikut :


 AMUX : kendali input kiri ALU; 0 = A latch, 1 = MBR
 ALU : fungsi ALU; 0 = A+B, 1 = A and B, 2 = A, 3 = negasi A
 SH : fungsi shifter; 0 = no shift, 1 = right, 2 = left
 MBR : pemanggilan MBR dari shifter; 0 = tidak panggil MBR, 1 = panggil
MBR
 MAR : pemanggilan MAR dari B latch; 0 = tidak panggil MAR, 1 =
panggil MAR
 RD : meminta pembacaan memori; 0 = tidak baca, 1 = panggil MBR dari
memori
 WR : meminta penulisan memori; 0 = tidak tulis, 1 = tulis MBR ke
memori
 ENC : kendali penyimpanan ke scratchpad; 0 = tidak simpan, 1 = simpan
 C : pilih register untuk simpan ke dalam jika ENC = 1; 0=PC, 1=AC,
dsb.
 B : pilih sumber bus B; 0 = PC, 1 = AC, dsb.
 A : pilih sumber bus A; 0 = PC, 1= AC, dsb.

8.3.3 Pewaktuan Microinstruction


Bagaimana sebuah microinstruction bisa mengendalikan data path selama satu
siklus secara penuh, kemungkinan yang bisa yaitu timing. Untuk menerima kebenaran
kejadian yang berurutan, sekarang dikenalkan 4 fase clock suatu clock dengan 4
subsiklus, 4 subsiklus tersebut sebagai berikut :
 Panggil microinstruction berikutnya yang dieksekusi ke dalam sebuah register yang
disebut MIR (MicroInstruction Register).
 Gerbang register pada bus A dan bus B dan kemampuannya dalam latches A dan B.
 Sekarang bahwa input distabilkan, memberikan ALU dan waktu shifter untuk
memproduksi output stabil dan panggil MAR jika diperlukan.
 Sekarang bahwa output shifter distabilkan, simpan bus C dalam scratchpad dan
panggil MBR, jika keduanya diperlukan.
Item yang luas dan lebih penting dalam porsi kendali mesin yaitu kendali simpan
(control store).

8.3.4 Keterurutan Microinstruction


Bagaimana microinstruction berikutnya dipilih yaitu diambil secara berurutan,
beberapa mekanisme yang dibutuhkan untuk mengijinkan kondisi jump dalam
micropogram pada perintah untuk mengaktifkan suatu kesepakatan. Ada 2 field dalam
microinstruction yaitu :
 ADDR, yaitu sebuah address yang berpotensi sebagai successor untuk
microinstruction yang berjalan.
 COND, yaitu menjelaskan keberadaan microinstruction yang diambil dari MPC + 1
atau ADDR.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 80/87


Diktat Kuliah Organisasi Komputer

Pemilihan microinstrution berikutnya dijelaskan oleh box yang berlabel “micro


sequencing logic” selama 4 subsiklus, ketika sinyal N output ALU dan Z ditetapkan.
Penjelasan pilihan diindikasikan dengan menseting field COND sebagai berikut :
 0 = tidak jump; microinstruction berikutnya dibawa dari MPC + 1.
 1 = jump ke ADDR jika N = 1.
 2 = jump ke ADDR jika Z = 1.
 3 = jump ke ADDR secara tidak kondisional

Logika urutan micro mengkombinasikan 2 bit ALU yaitu N dan Z, dan 2 bit COND yaitu
yang disebut L dan R untuk Left dan Right. Yang semuanya berguna untuk
membangkitkan sebuah output.

8.4 Macroarchitecture
Level mesin konvensional didukung oleh interpreter yang berjalan pada mesin.

8.4.1 Stack
Makroinstruksi modern sebaiknya dirancang sesuai dengan kebutuhan bahasa
tingkat tinggi dalam kesesuaian (keperluan). Satu diantara isu rancangan yang penting
yaitu addressing.
 Ilustrasi masalah yang harus diselesaikan, seperti program berikut :
Program InnerProduct(output);
{this program initializes two vectors, x and y, of 20 element each, then
computes their inner product: x[1]*y[1] + x[2]*y[2] + … + x[20]*y[20]}

const max = 20; {size of the vector}

type SmallInt = 0..100;


vec = array[1..max] of SmallInt;

var k : integer;
x, y : vec;

function pmul(a,b : SmallInt) : integer;


{this function multiplies its two parameters together and returns the product. it
perform multiplication by repeated addition.}
var p, j : integer;
begin {0:reserve stack space for p and j}
if (a = 0) or (b = 0) then {1:if either one is 0. result is 0}
pmul := 0; {2:function return 0}
else
begin
p : = 0; {3:initialize p}
for j := 1 to a do {4:add b to p a times}
p := p + b; {5:do the addition}
pmul := p; {6:assign result to function}
end
end; {pmul} {remove locals and return value}

IF - UTAMA Versi/Revisi : 1/0 Halaman : 81/87


Diktat Kuliah Organisasi Komputer

procedure inner(var v : vec; var ans : integer);


{compute the inner product of v and x and return it in ans.}
var sum, i : integer;
begin {8:reserve stack space for sum and i}
sum := 0; {9:sum will accumulate inner product}
for i := 1 to max do {10:loop through all the elements}
sum := sum + pmul(x[i],v[i]); {11:accumulate one term}
ans := sum {12:copy result to ans}
end; {inner} {13:remove sum and i and return}

begin {14:reserve space for k, x, and y}


for k := 1 to max do {15:initialization loop}
begin
x[k] := k; {16:initialize x}
y[k] := pmul(2,k)+1; {17:initialize y}
end;
inner(y, k); {18:call inner}
writeln(k); {19:print result}
end.

Struktur blok bahasa seperti Pascal secara normal diimplementasikan seperti cara
yaitu ketika procedure atau function dikeluarkan, penyimpanannya telah menggunakan
variabel lokal untuk direlease. Cara yang mudah untuk menerima tujuan ini yaitu
menggunakan struktur data yang disebut stack.
 Stack yaitu blok kontigu dari memori yang terdiri dari beberapa data dan suatu stack
pointer (SP) menjelaskan keberadaan top dari suatu stack.
 Bottom dari stack yaitu suatu address yang tetap.
Beberapa operasi yang didefinsikan pada stack, yaitu dua operasi yang penting
berikut ini :
 PUSH X, mengembangkan stack pointer (dengan pengurangannya) dan kemudian
meletakan X ke dalam lokasi memori sekarang yang ditunjuk oleh SP. PUSH
menambah ukuran stack dengan satu item.
 POP Y, kebalikannya, mengurangi ukuran stack dengan menyimpan item top pada
stack ke dalam Y, dan kemudian memindahkannya dengan penambahan pointer stack
bersama ukuran item yang dipopkan.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 82/87


Diktat Kuliah Organisasi Komputer

0 0
1 1
PROGRAM ROGRAM
PC PUSH 5 PUSH 5
PC

SP 5
SP 7 4015 7
4016 9 4016 9
4017 2 STACK 4017 2
4018 8 4018 8
4019 4 4019 4
4020 5 4020 5
Stack Stack setelah PUSH 5

 Operasi lain yang bisa dilaksanakan pada suatu stack yaitu pengembangan stack
pointer secara aktual tanpa mempush beberapa data. Ini dilakukan secara normal
ketika suatu procedure atau function dimasukkan, untuk reserve penempatan
pengembalian bagi variabel lokal.

8.4.2 The Macroinstruction Set


Pada arsitektur Mac-1’s, pada dasarnya, terdiri dari memori dengan 4096 16-bit
words, dan tiga register aktif untuk programer level 2. Register-register Mac-1 yaitu :
 Program Counter (PC)
 Stack Pointer (SP)
 Accumulator (AC)
Yang digunakan untuk berikut :
 Perpindahan data yang bulat
 Arithmetika
 Maksud yang lainnya.
Tiga modus pengalamtan yang disediakan yaitu :
 Direct, instruksi yang berisi 12 bit alamat memori absolut dalam 12 bit low-order
seperti instruksi yang digunakan untuk pengaksesan variabel global.
 Indirect, mengijinkan programer untuk menghitung alamat memori, meletakkannya
dalam Accumulator dan kemudian baca atau tulis word yang dialamatkan. Bentuk
pengalamatan ini lebih umum dan digunakan untuk pengaksesan elemen array,
sejumlah pemikiran lainnya.
 Local, pengalamatan yang spesifik suatu offset dari SP dan digunakan untuk
mengakses variabel lokal.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 83/87


Diktat Kuliah Organisasi Komputer

8.5 Perancangan Level Microprogramming


Akan dibicarakan beberapa isu rancangan dan keterhubungan trade-offs. Untuk
level rancangan ini biasanya didasarkan pada produsen yang membuat perangkat keras.

8.5.1 Horizontal versus Vertical Microprogramming


Kunci permasalahan trade-off yaitu bagaimana encoding diletakkan dalam
microinstruction. Jika dibangun Mic-1 pada satu chip VLSI, satu yang bisa dilanjutkan
abstrak seperti register-register, ALU, dan seterusnya, dan uraian semua gerbang. Untuk
membuat mesin berjalan :
 Sinyal-sinyal yang dibutuhkan, seperti sinyal 16 OE untuk gerbang register-register
pada bus A dan sinyal yang mengendalikan fungsi ALU.
 Masing-masing mesin mempunyai sekumpulan n sinyal kendali yang dimasukkan
pada tempat yang sesuai yang bisa membuat mesin berjalan, tanpa ada encoding.
Uraian membuat format dengan lebar n bit, satu bit per sinyal kendali. Perancangan
microinstruksi menentukan prinsip-prinsip ini yang disebut horizontal dan representasi
satu yang ekstrim dari suatu spektrum yang memungkinkan. Pada ujung lainnya dari
spektrum yaitu microinstruksi dengan jumlah yang kecil dari kolom encoded yang tinggi,
ini dikatakan vertical. Penamaan ini datang dari bagaimana suatu artistik yang bisa
disketsanya menanggapi penyimpanan kendali.
 Rancangan Horizontal mempunyai jumlah yang relatif kecil dari ukuran
microinstruksi;
 Satu vertical mempunyai beberapa narrow microinstruksi.

8.5.2 Nanoprogramming
Rancangan dibicarakan begitu panjang mempunyai 2 memori, yaitu : main memori
(digunakan untuk menyimpan program tingkat 2) dan control strore (digunakan untuk
menyimpan microprogram). Sebuah memori yang ketiga, yaitu nanostore, yang
membawa kepentingan trade-off diantara microprogramming horizontal dan vertical yang
mungkin. Nanoprogramming yang tepat ketika beberapa microinstruction yang terjadi
pada suatu saat.
Microprogram dieksekusi sebagai berikut :
1. Word diambil dari control store
2. Word yang kemudian digunakan untuk memilih sebuah nanostore word, yang diambil
dan ditempatkan dalam register microinstruction.
3. Bit-bit dari register tersebut kemudian digunakan untuk mengendalikan gerbang
untuk satu siklus.
4. Pada akhir siklus, word berikutnya diambil dari control store dan proses diulang
kembali.
Nanoprogramming lebih efektif ketika beberapa microinstruction yang lebih
banyak digunakan. Jika dua microinstruction yang lebih bagus yang ditangani secara
nyata, microprogram akan berisi microinstrutions yang sedikit berbeda, masing-masing
dengan frekuensi pemanfaatan yang lebih tinggi.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 84/87


Diktat Kuliah Organisasi Komputer

8.5.3 Improving Performance


Oleh karena itu tujuan dari nanoprogramming yaitu untuk mengurangi ukuran
control store, kendala pada harga pengeksekusian yang rendah, jumlah waktu yang tepat
dan usaha yang sudah dilakukan dalam penanganan langsung : mencoba untuk
mempercepat pengeksekusian, kendali pada harga yang lebih ke control store. Dua hal ini
kelihatannya tidak sesuai dengan tujuan rancangan yang berhubungan ke perbedaan
tujuan pasar dengan mesin produksi tidak mahal dan produksi mesin lebih cepat.
Beberapa cara keterkaitan microarchitecture contoh kita yang bisa diperbaiki untuk
membuat mesin yang lebih cepat.

8.5.4 Pipelining
Marilah kita gunakan cara lain untuk mempercepat mesin yaitu dibangun keluaran
hardware dari beberapa unit fungsional dan kemudian pipeline mereka. Secara teknik, itu
memungkinkan untuk menuliskan microprogram untuk seperti mesin dalam sebuah cara
yang tanggap.
Hanya suatu solusi yang diambil dari aspirasi dan mencoba untuk membuat situasi
yang lebih baik. Contoh, microprogrammer bisa membuat seorang tamu yang memakai
kondisi jump biasanya akan pergi, dan menggunakan microinstruction kedua untuk
memulai pekerjaan pekerja yang mungkin dibutuhkan. Kegagalan, jika jump pergi ke
cara yang lain, itu akan memerlukan pengerjaan yang sekuasing.

8.5.5 Chace Memory


CPU selalu lebih cepat daripada memori. Seperti memori yang telah diperbaiki,
juga pada CPU, pelayanan sebelumnya imbang. Apa ini berarti dalam praktek bahwa
setelah CPU mengisukan permintaan memori, itu harus menyisakan kekosongan untuk
waktu subtansi ketika menunggu untuk memori merespon. Itu merupakan hal umum pada
CPU untuk menset pembacaan memori selama satu siklus bus, dan bukan mengambil
data sampai terlambat 2 atau tiga siklus, seandainya tidak ada state menunggu.
Memenuhi kepentingan, teknik yang diketahui untuk kombinasi jumlah yang
sedikit dari kecepatan memori dengan jumlah yang besar dari keterlambatan memori
untuk mengambil kecepatan dari memori yang cepat (lebih) dan kapasitas memori yang
besar pada harga yang lebih moderat. Sangat kecil, memori cepat yang disebut cache dan
bawah kendali microprogram.

8.6 Ringkasan
Inti setiap komputer adalah data path. Data path berisi beberapa register, dua atau
tiga bus, dan satu atau lebih unit fungsional seperti ALU dan Shifter. Loop eksekusi
utama terdiri dari pengambilan sejumlah operand dari register-register dan mengirimnya
melalui bus-bus ke ALU dan unit fungsional lainnya untuk dieksekusi.
Data path dapat dikendalikan oleh sebuah peruntun yang mengambil instruksi-
instruksi mikro dari sebuah penyimpan kendali. Setiap instruksi mikro berisi bit-bit yang
mengendalikan data path untuk satu siklus. Bit-bit ini menentukan operand-operand mana
yang akan dipilih, operasi mana yang akan dijalankan, dan apa yang harus dilakukan
dengan hasil-hasil. Disamping itu, setiap instruksi mikro menentukan penggantinya,
biasanya secara eksplisit dengan memuat alamatnya. Sejumlah instruksi mikro
memodifikasi alamat basis ini dengan meng-OR-kan bit-bit ke dalam alamat itu sebelum
ia digunakan.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 85/87


Diktat Kuliah Organisasi Komputer

Kinerja dapat diperbaiki dengan bermacam-macam cara. Memory cache adalah


salah satu utama. Cache-cache yang dipetakan secara langsung dan cache set-asosiatif
biasa digunakan untuk mempercepat referensi-referensi memori. Prediksi cabang, baik
statis maupun dinamis, adalah penting, sebagaimana eksekusi berurutan dan eksekusi
spekulatif.

8.7 Soal-Soal Latihan


Kerjakan soal-soal latihan berikut ini :
1. Sebuah komputer dengan pipeline lima tahap berhubungan dengan cabang-cabang
bersyarat dengan perlambatan tiga siklus berikutnya setelah mengenai yang pertama.
Seberapa besar kinerja mengganggu jika 20% dari seluruh instruksi adalah cabang-
cabang bersyarat ?
2. Tulis sebuah simulator untuk sebuah cache terpeta langsung 1 arah. Buatlah jumlah
entri dan parameter ukuran jalur dari simulasi itu. Lakukan percobaan dengan
simulator itu dan laporkan temuan-temuan anda !
3. Bagaimana cara kerja dari metode pipeline yang bertahap ?
4. Misalkan bahwa sbeuah komputer terlebih dahulu mem-pra-ambil hingga 20
instruksi. Tetapi, secara rata-rata, empat dari instruksi ini adalah cabang-cabang
bersyarat, masing-masingnya memiliki kemungkinan diprediksi secara tepat sebesar
90%. Berapa probabilitas bahwa pra-pengambilan berada pada jalur yang benar ?
5. Biasanya, ketergantungan menimbulkan masalah dengan CPU terpipeline. Apakah
terdapat optimisasi- optimisasi yang dapat dilakukan dengan ketergantungan-
ketergantungan WAW yang benar-benar dapat memperbaiki masalah itu ? Mengapa ?

IF - UTAMA Versi/Revisi : 1/0 Halaman : 86/87


Diktat Kuliah Organisasi Komputer

DAFTAR PUSTAKA

1. Andrew S. Tanembaum, “Structured Computer Organization”, Prentice Hall


International, London
2. G. Michael Schneider, “The Principles Of Computer Organization”, John
Wiley & Sons, Singapore, 1985.
3. Hamacher, Vranesic, Zaky, “Fourth Edition : Computer Organization”,
McGraw-Hill International Edition, Printed in Singapore, 1996.
4. Thamir Abdul Hafedh Al-Hamdani, “Organisasi Komputer Terstruktur”,
Salemba Teknika, Jakarta, 2001.
5. Sukenda, “Makalah : Keluarga Prosesor Intel”, Bandung, 2002.
6. Sukenda, “Makalah : Arsitektur dan Mikroinstruksi Pemrograman Processor
Intel 80486”, Bandung, 2002.

IF - UTAMA Versi/Revisi : 1/0 Halaman : 87/87

Anda mungkin juga menyukai