A. Memori
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 13.1 yang selanjutnya disebut
memory words. Sejumlah bit di dalam lokasi masing-masing (simbol m dalam
gambar 11.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 11.1
berikut merupakan terminologi untuk ukuran memory-cluster.
Tabel 11.1 : Terminologi untuk Ukuran Memory-Cluster
Terms
Number of Bits Intel 8086 VAX-11/780 IBM 370
Minimum
addressable 8 Byte Byte Byte
unit
16 Word Word Halfword
32 – Longword Word
64 – Quadword Doubleword
128 – Octaword –
Implementasi Memori
1. Penyimpanan Bit Individual
Karena komputer selalu menyimpan data secara internal menggunakan sistem
biner, memori sendiri bisa dibangun dari beberapa peralatan fisik yang mampu
menyimpan 2 nilai, dikorespondensikan ke biner 0 dan 1. Secara spesifik,
peralatan penyimpanan seharusnya mempunyai :
1. Dua keadaan stabil yang dibagi dengan energi barrier yang besar sesuai
diagram pada gambar 11.2.
2. Kemampuan untuk memilah diantara 2 keadaan ini secara virtual banyak
waktu infinitif.
3. Beberapa cara penggambaran keadaan yang tanpa penghilangan informasi
secara permanen.
1
Digit corresponding to that voltage
0
Voltage level
Gambar 11.2 : Penambahan Kehandalan Biner
Sense wire
Selection wire
1/5"
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 11.4.
Selection line
Transistor
Capasitor
Bit position
Address m - 1 2 1 0
0 Address 0 Address 1 Address 2
1 Bit 0 Bit 0 Bit 0
2
x selection lines
Sense line
14
Address 15
15
Bit 0
Address 14
Bit 0
y selection lines
Gambar 11.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 11.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 11.5 menunjukkan orgnisasi hanya satu plane, sehingga hanya satu
bit per lokasi. Pada gambar 11.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.
Bit - 7 plane
Bit - 6 plane
Bit - 5 plane
Bit - 4 plane m = 8
Bit - 3 plane
Bit - 2 plane
Bit - 1 plane
Bit - 0 plane
Location of an 8 - bit
memory location
Gambar 11.6 : Bank Memori
1. Unit Fungsional
Unit fungsional yaitu kotak hitam yang melaksanakan operasi aritmetika dan
logika. Jenis aritmetika dan logika unit fungsional yang ada pada komputer bisa
lihat tabel 11.2 berikut :
Tabel 11.2 : Macam-macam Aritmetika dan Logika
Unit Fungsional
Aritmetika Logika
Integer adder AND unit
Integer subtractor OR unit
Integer multiplier Complementor (NOT)
Integer divider Exclusive-OR unit
Arithmetic shift unit Logical shift unit
Incrementor/decrementor Comparator
BCD arithmetic units
Floating-point arithmetic units
Semua dilaksanakan oleh unit pada tabel 11.2 yang bisa menghasilkan secara
langsung dalam hardware komputer (BCD dan operasi floating-point dipilih terus
pada komputer yang lebih kecil).
Kemudian unit dalam tabel 11.2 melakukan macam-macam operasi hardware
yang lebih luas, semua operasi mempercayakan pada bentuka sudah ada. Gambar
11.7 menunjukkan diagram fungsional untuk perputaran operasi biner.
Start/Stop signals
Functional unit
E
Timing signals
Data
Control signals
Gambar 11.7 : 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 11.2 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 11.2 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)
2. Register-Register
Dalam gambar 11.7 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).
3. Jaringan Keterhubungan
Kita sudah membicarakan sejumlah komponen secara signifikan yang akan
mencakup dalam komputer PVM hipotesis : general-purpose registers, special-
purpose regsiters, memory cells, functional units, dan seterusnya. Dalam
mempelajari organisasi komputer, data path menghubungkan 2 atau lebih unit
fungsional dari sebuah sistem komputer disebut bus, dan banyaknya bus yang ada,
dan tipe-tipe bus, disebut bus structure dari komputer.
Bus media yang menghubungkan komponen-komponen dalam komputer,
yang bisa terdiri dari (berdasarkan arah transfer) :
1. Unidirectional Bus, hanya dapat dilakukan satu arah
2. Bidirectional Bus, dapat dilakukan 2 arah tetapi tidak pada saat bersamaan.
Bus yang berdasarkan jumlah bit yang ditransfer per unit waktu
1. Serial bus :
Transfer hanya satu bit per satuan waktu
Biasanya digunakan untuk komunikasi Eksternal (misalnya: antar
komputer dan peripheral), bisa dilihat pada gambar 11.8.
Satu bit
0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1
Sumber serial bus Tujuan
Gambar 11.8 : Bus Serial
2. Paralel Bus
Transfer sekaligus sejumlah bit per unit waktu secara simultan
Digunakan sebagai bus yang ada di dalam komputer untuk hubungan antar
komponen komputer untuk hubungan antar komponen komputer
Tidak digunakan sebagai komunikasi eksternal, karena mahal
(pertimbangan ekonomis)
Contoh : Media kabel Twisted Pair (sepasang kabel tembaga)
Bps (bit per second) satuan kecepatan transfer pada bus
Kecepatan serial bus umumnya lebih lambat dibanding paralel bus, lihat
gambar 11.9 berikut.
Sumber
0 1 0 0 1 1 0 1
Bus paralel 8 bit
0 1 0 0 1 1 0 1
Tujuan
Gambar 11.9 : Bus Paralel
Memory R0
general-
MAR purpose
R1 regis ters
MBR
+ Adder
Memory R0
general-
MAR purpose
R1 registers
MBR
+ Adder
Bus 1 Bus 2
MAR
MBR
R0
R1
general-purpose
regis ters
+
Adder
Gambar 11.12 : Struktur 2 bus Menggunakan Bus Address dan Bus Data
Input bus
Input Input
Devices Controller
Memory bus
Memory Processor
Output Output
Devices Controller Output bus
Gambar 11.13 : 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 kedua 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.
11.7. 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.
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.