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
A B C A1 B1
B2 C1
A2 B3
A B C
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.
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.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.
BAB II
REPRESENTASI INFORMASI
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
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.
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.
(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.
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)
= 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
2. Bilangan 2-komplemen
Radix komplemen yaitu teknik yang digunakan untuk merepresentasikan kuantitas
sign (Catatan metode biasanya ditujukan untuk penempatan kata “radix” dengan bilangan
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
direpresentasikan
dalam 4 digit
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
+7 0111
2. +7 00111
-2 11110 untuk m = 5
+5 1}00101
carry diabaikan
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)
(-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 :
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
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
+ 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
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
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
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.
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
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
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.
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.
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
- 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.
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.
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)
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
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
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.
Blok 1 Blok 2
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)
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
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
(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
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
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
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.
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
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.
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.
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
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
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).
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
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
M BR
+ A d d er
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
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
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.
Struktur umum :
Opcode Address Field Address Field …
− Address field disebut juga operand yaitu pengalamatan informasi pada prosesor yang
akan dilaksanakan operasi secara spesifik.
− 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
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
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
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
− 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.
− 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) :
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}
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
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.
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
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
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 :
O p cod e
IR A d d r e ss fie ld ( s)
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
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.
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
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.
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
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.
A
Registers
B
A B
ALU
A+B
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.
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.
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
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
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.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.
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.
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
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.
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)
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.
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.
A C
B
D
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.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
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.
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
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.
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
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
Konsekuensinya, microprograming harus menjaga kebenaran nilai pada bus address dan
bus data untuk beberapa mikroinstruksi. Secara singkat
8.3 Microarchitecture
Semua komponen dasar dari level microprogramming disusun, suatu saat dilihat
bagaimana mereka dihubungkan.
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
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]}
var k : integer;
x, y : vec;
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.
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.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.
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.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.
DAFTAR PUSTAKA