ALU ( Arithmetic Arithmetic and Logic Unit )
Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer komputer yang berfungsi berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan pengurangan dan beberapa logika lain), ALU bekerja sama dengan memori. Dimana hasil dari perhitungan di dalam ALU di simpan ke dalam memori. Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner (two¶s complement). complement). ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori. Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan da n beroperasi dengan 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF). Fungsi ALU unit ini adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dariregister-register untuk menyimpan informasi. Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Sirkuit yang digunakan oleh ALU ini disebut denganadder karena operasi yang dilakukan dengan dasar penjumlahan. Tugas lai n dari ALU adalah melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi logika (logical operation). Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu : Sama dengan (=) Tidak sama dengan ( <> ) Kurang dari ( < ) Kurang atau sama dengan dari ( <= ) Lebih besar dari ( > ) Lebih besar atau sama dengan dari ( >= ) Arithmetic and Logic Unit (ALU): Bertugas membentuk fungsi ± fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi ± instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing ± masing memiliki spesifikasi tugas sendiri. y
y
y
y
y
y
2. Integer Representation (Representation Iinteger) Representasi Integer Integer Bilangan yang digunakan untuk mekanisme representasi data komputer adalah bilangan biner, semua itu biasA terjadi t erjadi karena factor-faktor berikut :
1.komputer secara elektronika hanya mampu membaca 2 kondis kondisi sinyal
- ada tegangan / ada sinyal - tidak ada tegangan / tidak ada sinyal 2.kondis .kondisi ter terssebut yang digunakan untuk merepres merepresentas entasikan bilangan dan kode kode -kode -kode biner
- ada tegangan sebagai representasi nilai 1 - tidak ada tegangan sebagai representasi nilai 0 Sistem bilangan Sistem bilangan merupakan tata aturan atau susunan dala m menentukan nilai suatu bilangan, antara lain sistem sist em desimal, biner, hexadesimal, oktal, BCD, Grey Code, Exess-3 dan lain-lainnya yang dibagi berdasarkan basis yang digunakan dalam penentuan nilai dari bilangan tersebut. Jenis-jenis Sistem bilangan yaitu: 1. Desimal 2. Biner 3. Heksadesimal 4. Oktal Sistem bilangan yang umum dipakai adalah sistem bilangan desimal. 1. Desimal Merupakan suatu sistem bilangan yang berbasis 10 (tiap bilangan dalam sistem tersebut dikalikan dengan 10x), terdiri dari angka : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 2. Biner Merupakan suatu system bilangan yang berbasiskan 2 (tiap bilangan dalam sistem tersebut dikalikan dengan 2x), terdiri dari angka 0 dan 1. 3. Heksadesimal Merupakan suatu sistem bilangan yang berbasiskan 16 (tiap bilangan dalam sistem tersebut dikalikan dengan 16x), terdiri dari 10 angka yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 dan 6 huruh yaitu A, B, C, D, E, F. 4. Oktal Merupakan suatu sistem bilangan yang berbasiskan 8 (tiap bilangan dalam sistem tersebut dikalikan dengan 8x), terdiri dari delapan angka yaitu 0, 1, 2, 3, 4, 5, 6, 7. 5. BCD (Binary-Coded decimal) Merupakan format untuk merepresentasikan bilangan desimal (integer) dengan empat bit (satu nibble) untuk setiap angka penyusunnya 6. Gray Code Merupakan sistem bilangan yang memliki sistem mirip dengan biner hanya saja dalam susunan bilangan ini yang boleh berubah pada urutan selanjutnya hanya 1 angka. Misalnya 001 berikutnya 011 berikutnya 010 dan selanjutnya
7. Excess-3 Merupakan sistem bilangan yang secara sederhana dapat diartikan sebagai bilangan biner yang memiliki lebih tiga angka dari bilangan biner biasa.Contohnya 0 = 011, 1 = 100, 2 = 101 dan seterusnya. 3. Floating Point R epres epresentation
Representasi Integer oleh Biner Dalam sistem bilangan biner ada 4 macam maca m sistem untuk merepresentasikan integer - representasi unsigned integer - representasi nilai tanda (sign (si gn magnitude) magnitude) - representasi bias - representasi komplemen dua (2¶s complement) 1. Unsigned Integer -Untuk keperluan penyimpanan dan pengolahan komputer diperlukan bilangan biner yang terdiri atas 0 dan 1 -1 byte (8 bit binary digit) dapat digunakan untuk menyatakan bilangan desimal dari 0 ± 255 Kelemahan Unsigned Integer - hanya dapat menyatakan bilangan positif - sistem ini tidak tida k bisa digunakan untuk menyatakan bilangan integer negatif 2. Representasi Nilai Ta nda (sign magnitude) magnitude) -Karena kelemahan unsigned unsi gned integer -Dikembangkan beberapa konvensi konvensi untuk menyatakan bilangan integer negatif Konvensi -Perlakuan bit yang paling kiri (MSB) di dalam byte sebagai tanda -Bila MSB = 0 maka bilangan tersebut positif -Jika MSB = 1 maka bilangan tersebut negatif Kelemahan sign magnitude Adanya representasi ganda pada bilangan 0, yaitu 3. Representasi Bias -Digunakan untuk menyatakan exponen (bilangan pemangkat) pada representasi floating point -Dapat menyatakan bilangan bertanda, yaitu dengan mengurutkan mengurutkan dari bilangan negative terkecil dapat dijangkau sampai bilangan bilangan positif paling besar besar yang bisa dijangkau -Mengatasi permasalahan pada sign magnitude yaitu +0 dan -0 4. Representasi komplemen 2 (two¶s complement) Merupakan perbaikan dari representasi representas i nilai bertanda (sign magnitude) magnitude) yang mempunyai kekurangan pada operasi operasi penjumlahan dan pengurangan serta representasi nilai 0 Bilangan Negatif Pada Pa da 2¶s Complement 1.Sistem bilangan dalam 2¶s complement menggunakan bit paling kiri (MSB) sebagai bit tanda dan sisanya sebagai bit nilai seperti pada sign s ign magnitude 2.Bilangan negatif dalam 2¶s complement dibentuk dari:
- komplemen satu dari bilangan biner semula (nilai positif) - menambahkan 1 pada LSB 4. Floating Point Arithmetic Floating Point Arithmetic untuk operasi operasi matematika. mat ematika. ALU (Arithmetic ( Arithmetic Logical Unit) merupakan unit penalaran secara logic. ALU ini adalahmerupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU CP U tersebut. ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah ³add´ untuk menambahkan bilangan, atau ³devide´ atau pembagian dari suatu bilangan. Selain S elain perintah perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan. Instruksi yang dapat dilaksanakan oleh ALU disebut denganinstruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatanIntel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem s istem dikatakan dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya. Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung ter gantung dimana lingkungan instruction set itu digunakan. digunakan. ALU melakukan perhitungan berdasarkan aritmatika yang terjadi sesuai dengan instruksi program. Alu melakukan operasi aritmatika berdasarkan penjumlahan. Operasi pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sirkuit elektronik di ALU = adder. Cara Pendesinan pada ALU hampir sama dengan mendesain enkoder, multiplexer, dan diMultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder. Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika, Adder juga disebut rangkaian kombinasional aritmatika.
Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah komputer.Di dalam operasi aritmetika ini sendiri terdiri dari berbagai macam operasi diantaranya adalah operasi penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder. Adder
Rangkaian ALU ( Arithmetic and Logic Unit ) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder .Karena .Karena Adder digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika. ALU akan dijelaskan lebih detail pada bab 3. Ada 2 jenis Adder : 1. Rangkaian Adder yang hanya menjumlahkan dua bit disebut H alf alf Adder . 2. Rangkaian Adder yang menjumlahkan tiga bit disebut Full Adder. 3. Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder alf H alf
Adder
Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masing-masing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap. 1. Jika A=0 dan B=0 dijumlahkan, hasilnya S ( S um) = 0. 2. Jika A=0 dan B=1 dijumlahkan, hasilnya S ( S um) = 1. 3. Jika A=1 dan B=1 dijumlahkan, hasilnya S ( S um) = 0. dengan nilai pindahan Cy( Carry Out ) = 1.
Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan Cy).
Dari tabel diatas, terlihat bahwa nilai logika dari S um sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar berikut:
Full
Adder
Full
adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas), oleh
karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenaran dari berikut : adder berikut
Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut :
Full
S=ABC+ABC+ABC+ABC S=AÅBÅC Cy = A B C + A B C + A B C + A B C Dengan menggunakan peta k arna arnau gh, Cy dapat diserhanakan menjadi : Cy = AB + AC + BC
arallel P arallel
Adder
P arallel arallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan berfungsi untuk
menjumlah bilangan biner berapapun bitnya, tergantung jumlah
FullAdder
diparallelkan.Gambar berikut menunjukkan P arallel arallel Adder yang terdiri dari 4 buah Adder yang tersusun parallel sehingga membentuk sebuah penjumlah 4 bit.
Contoh:
yang Full
Penjumlah enjumlahan
Komputer hanya dapat melakukan proses aritmetika menggunakan bilangan biner. Semua sistem bilangan harus diubah terlebih dahulu ke biner agar dapat diproses. Proses yang biasa dilakukan oleh komputer untuk menjumlahkan sistem bilangan desimal biasanya adalah menyandikan ke 8421BCD terlebih dahulu sebelum dijumlahkan. Sebelum mempelajari tentang penjumlahan pada 8421BCD, ada baiknya mengetahui cara menjumlahkan bilangan biner. a. Penjumlahan Biner Ada 4 kondisi yang terjadi pada penjumlahan biner yaitu apabila 0 + 0, 0 + 1, 1 + 0, dan 1 + 1.Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah dalam satu digit.Tetapi kita harus melakukan penyimpanan ( Carry Out ) kedalam kolom yang lebih tinggi.Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh pada bilangan desimal 2 + 5 = 7 dengan carry out = 0, 9 + 9 = 8 dengan carry out = 1. Contoh :
Penjuml Penjuml h n 8421BCD
Sandi 8421BC
hanya menggu me nggunak nakan an b ilangan b iner untuk 0 sampa i 9, karena yang
disandikan hanya 1 d igit angka des imal Dalam pen jumlahan yang per lu di perha perhatikan adalah jika has ilnya lebih dar i 9 sehingga akan dihasilkanaux kan auxill ill ary ary carry (C arry arry dar i bilangan keempat LSB maupun carry dar i MSB
Ber ikut adalah aturan pen jumlahan sandi 8421BCD: Jika jumlah biner dan jumlah BCD sama, ya itu AC Auxill (Auxill ary ary C arry) arry) = 0 dan C arry arry = 0 maka tidak di per per lukan aturan tambahan.
C nt h : Bilangan anga n 1 = 0 1 1 0
0 0 1 0 (BCD) = 6 2 (desimal)
Bilangan anga n 2 = 0 0 1 0
0 1 0 1 (BCD) = 2 5 (desimal) +
Biner = 1 0 0 0
01 1 1
(Cy=0:AC=0) =0)
Biner = 1 0 0 0
01 1 1
= 8 7 (desimal)
Jika jumlah biner tidak sama dengan jumlah desimal maka ma ka memerlukan pengaturan tambahan : Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasil penjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada nible rendah tersebut, dan tambahkan 1 pada nible yang lebih tinggi. Contoh :
Pengurangan
Pengurangan pada dasarnya merupakan penjumlahan, yaitu penjumlahan dengan bilangan negatif. 500 ± 255 = 245 (Pengurangan) 500 + (-)255 = 245 (Penjumlahan) Komputer hanya bekerja bekerja pada bilangan ³0´ dan ³1´ dan tidak mengenal bilangan bilangan negatif. Untuk menunjukkan bilangan negatif, komputer menggunakan tanda modulus ( M od od ul us us Sign).Pada penjumlahan desimal tanda modulus yang digunakan adalah ³0´ untuk bilangan positif dan ³9´ untuk bilangan negatif. Untuk bilangan negatif, pada operasi penjumlahannya, harus dikomplemen. Komplemen yang digunakan pada bilangan desimal adalah a dalah komplemen10 dan komplemen9. Pengurangan Bilangan Desimal K omplemen omplemen
-10
Pada komplemen10, bilangan negatif dikurangkan 9, kemudian ditambahkan 1 pada bit terakhir. Pada penjumlahannya, bila ada carry, carry ters ebut dapat dihilangkan. Tanda modulus ikut dijumlahkan.
Contoh : Komplemen-10 dari -255. -2 5 510 = (9) 7 4 510 (angka 9 menunjukkan tanda modulusnya). omplemen K omplemen
-9
Pada komplemen9, bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikut dijumlahkan pada hasil akhir. Contoh : Komplemen -9 dari -255. -2 5 510 = (9) 7 4 410 (angka 9 menunjukkan tanda modulusnya).
Bila hasil akhir bernilai negatif, maka nilainya nila inya harus dikomplemen lagi (Berlaku untuk komplemen-10 dan komplemen-9). Jika komplemen10, maka hasil akhir setelah dikomplemen harus ditambah 1.Jika komplemen-10, komplemen-10, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1). Contoh :
Pengurangan Bilangan Biner
Pada penjumlahan biner, komplemen yang digunakan adalah komplemen-2 dan Komplemen-1.Untuk mendapatkan komplemen bilangan biner, cukup dengan membalik angkanya saja. Jika ³0´ dibalik menjadi ³1´, ³ 1´, dan jika ³1´ dibalik menjadi ³0´. Komplemen-2 mirip dengan komplemen10 pada bilangan desimal (Carry dihilangkan), sedangkan komplemen1 mirip dengan komplemen-9 (Carry ditambahkan pada hasil akhir). Komplemen2 Contoh : Pengurangan antara 910 (10012) dengan 510 (01012) Komplemen-2 dari ±5 (0101). (0101).
Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untuk komplemen-2 dan komplemen-1). Jika komplemen-2, maka hasil akhir setelah dikomplemen harus ditambah 1.Jika komplemen1, komplemen1, hasil akhirnya merupakan hasil sebenarnya sebenar nya (tidak perlu ditambah dita mbah 1). Contoh :
Perkalian
Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem bilangan lainnya.
Pada Teknik Komputer, perkalian dilakukan menggunakan register geser kanan ( Shift Right ). Perhatikan contoh berikut : Regi ster ). Register A untuk menyimpan data yang akan dikalikan ( M ultiplicand ). ). Register B untuk menyimpan data pengali ( M ultiplier ). ). Register P untuk menyimpan hasil perkalian.
Pembagian
Kebalikan dari perkalian, pembagian (Division) adalah suatu bentuk dari pengurangan yang dilakukan berulangulang. Dan proses ini juga dapat dilakukan pada rangkaian logika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shiftleft register). Berikut adalah aturan dari pembagian: Kurangkan bilangan pembagi (Divisor) dari MSB MS B bilangan yang akan dibagi (Dividend), (Dividend), lihat hasil pengurangan. Bila hasilnya 1 atau pos positif : itif :
Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser kekiri satu bit, dan dimulai lagi pengurangan oleh bilangan pembagi (Divisor). Bila hasilnya 0 atau negatif : negatif :
Berarti hasil pembagian (Product) adalah 0. Dala m hal ini sebelum digeser ke kiri
harus ditambah dulu dengan bilangan pembagi (Divisor). Setelah digeser ke kiri satu bit, dimulai lagi proses pengurangan pengurangan oleh bilangan pembagi. pembagi. Pengurangan oleh bilangan pembagi dilakukan dengan penjumlahan komplemen2. Bila dalam penjumlahan tersebut terdapat pindahan (Carry), maka carry tersebut diabaikan. Perhatikan contoh berikut : 1010 : 410 = 10102 : 1004
Catatan : Karena ada a da hasil pengurangan yang negatif, maka digit digit yang dihasilkan setelah itu adalah digit pecahan, sehingga hasil yang benar 10,12 atau 2,510.
MEMORI Karakteristik Sistem Memori 1. Kapasitas Kapasitas 2. Satuan Transfer Transfer 3. Metode Akses
4. Kinerja Kinerja 5. Tipe Fisik 6. Karakteristik Karakteristik Fisik
Secara garis besar, Memori dapat diklasifikasikan menjadi dua bagian, yaitu Memori Utama dan Memori Pembantu . Memori Utama Beberapa
parameter dalam Memori Utama :
Memori
Memori t ma
Memori Pembantu
nal Inter nal
Ekster nal nal
-R - R R
- RO - RO - E RO - EE RO -C c
- isk tik - it tik - l isk - r tik - O tic l isk ¢
¡
¥
¤
¢
¡
¡
¡
¤
£
¢
¡
¥
¥
¦
¥
¢
¡
¤
©
§
¨
©
§
¢
¡
¤
¨
¡
¡
¥
¨
©
§
¢
¡
¥
§
1. Kapasitas Kapasitas Kapasitas dinyata dinyatakan kan dalam byte (1 byte = 8 bit) atau word .Panjang .Panjang word yang umum adalah 8, 16, dan 32 bit. 2. Satuan Transfer Satuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Tiga konsep dalam satuan transfer : W ord ord . Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi. Addressable Units . Pada sejumlah sistem, Addressable Unit adalah word. Hubungan Hubungan antara antara panjang A suatu alamat alamat dan jumlah jumlah N addressable unit unit adal ah A 2 = N. Unit of Transfer . Adalah jumlah bit yang dibaca atau yang dituliskan ke dalam memori pada suatu saat. y
y
y
3. Metode Akses. Terdapat empat jenis metode : S equential unit -unit data yang disebut disebut equential Acc ess ess. Memori diorganisasikan menjadi unit record. Direc t t Acc ess ess. Direct Access meliputi shared read/write mechanism. Setiap blok dan record memiliki alamat -alamat -alamat yang unik berdasarkan lokasi fisik. R andom andom Acc ess ess. Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya sebelumnya dan bersifat bersifat ko nstan. y
y
y
y
Assoc iative iative.
Sebuah word dicari berdasarkan pada isinya dan bukan berdasar
pada alamat. Metode Sequential Access dan Direct access, biasanya dipakai pada Memori pembantu. Metode andom Access Acces s dan Associative Associa tive dipakai dipakai dalam dalam Memori Memori Utama. 4. Kinerja. Pada memori utama, terdapat tiga buah parameter unjuk kerja : Acc ess ess Time. Bagi AM, access time merupakan waktu yang dibutuhkan untuk melakukan operasi baca atau tulis. Bagi non AM, access acces s time adalah waktu yang dibutuhkan untuk untuk melakukan mekanisme baca tulis pada lokasi tertentu. cle Memory Cy c l e Time. Terdiri dari access time ditambah dengan waktu tambahan yang diperlukan transient agar hilang pada saluran signal atau untuk menghasilkan kembali data bila data ini dibaca secara destruktif. Transfer R ate. ate. Transfer rate adalah kecepatan data agar dapat ditransfer ke unit memori atau ditransfer dari unit memori. Pada AM, transfer rate = 1/(waktu siklus). Bagi non AM terdapat hubungan N TN = T A + y
y
y
TN = Waktu rata-rata rata -rata untuk untuk membaca atau atau menulis menulis N bit. T A = Waktus access rata-rata. rata-rata. N = Jumlah bit. = Kec. transfer, dalam bit per detik (bps). 5. Tipe Fisik Memori Utama dikemas dalam sebuah hip / I .Dua jenis yang umum digunakan digunakan saat ini adalah adalah memori semikonduktor yang memakai teknologi SLI dan VSLI. 6. Karakteristik Karakteristik Fisik Pada memori volatile, informasi akan hilang apabila daya listrik dimatikan. Untuk memori non volatile, informasi tetap akan tersimpan meskipun daya listrik dimatikan. Memori Memori Semi Kond Kond ktor Random Random Acces Access s Tipe Memori
M P M P M Flash memory P M
Kategori Kategori
Penghapusan Penghapusan
AM eadlectrically byte level write ead-only ead only Tidak mungkin memory Sinar Ultra Violet ead lectrically block level mostly memory lectr ectric ica ally byte yte leve levell
Mekanisme penulisan lectrically
Volatilitas Volatile Volatile
Mask Non Volatile
Menurut mekanisme yang digunakan untuk menyimpan dan memanggil data, memori utama dapat diklasifikasikan atas R andom andom Acc essMemory essMemory dan Content Addressable Memory.
1.
AM ( andom andom Access Access Memor Memori) i)
AM diakses melalui alamat, semua lokasi yang dapat dialamati dapat diakses secara acak (random) dan membutuhkan waktu akses yang sama tanpa tergantung pada lokasi fisiknya didalam memori. Terdapat Terdapat dua jenis AM, statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. RAM statik menyimpan menyimpan nilai-nilai biner dengan dengan menggunaan menggunaan konfigurasi konfigurasi gate logik flip -flop.
RAS
CAS
Timi
ga
OE
W
Co trol
Refres Refres Co ter
MUX
Row A ress ress Buffer Bu ffer
A0 A1
.. .
Row Deco er
Colu olum A ress ress Buffer Bu ffer
Memory rray (2086 x 2048 x 4)
....
Data Input Input Buffer Bu ffer
Se se Am lifier a I/O gate
A10 A10
.. .
D1 D2 D3 D4
!
Data Out Output put Buffer Bu ffer
Colu olum Deco er
rgani rganisas sasii D AM 16 Mbyte Mbyte 2.
AM ( ontent ontent Addressab Addressable le Memory Memory))
Pada AM, memori diakses berdasarkan berdasarkan isi, bukan alamat. Pencarian data dilakukan secara simultan dan paralel dengan basis isi memori. AM disebut juga sebagai memori Asosiatif.
n-1
0
A
Argu Argumen men Regis Register (A)
0 Input Input (n) Rea (n) #
Associative ssociative memory
Write (n)
Matc Regis Register (M) "
M m-1
(n) Out Output put
Diagram awal memori Asosiatif
Implementasi Memori Utama 1. Memori Stack Memori Stack merupakan struktur data tidak tetap yang digunakan untuk menyimpan alamat kembali dan parameter yang dilalui dalam subroutine c all all dan return , memanipulasi alamat serta operasi aritmatika.
Data Out
Data In
(n)
(n) Register 0
(n)
(n)
Data out of register i + 1 (n)
2 x 1 MUX
Register 1 (n)
Data out of register i - 1 (n)
(n) Register 2
PUSH/POP
(n) Load
Register i
(n)
ENABLE
(n) (n) Register K - 1 Blok
diagram
To 2 x 1 MUXs of registers i + 1 and i - 1
egister control logic
Pada gambar diatas, diatas, perintah perintah PUSH dan P P berguna berguna untuk meman meman ipulasi data pada stack. 2. Memori Modular Dalam memori modular, modular, AM dipisah menjadi menjadi modul modul -modul yang berbeda, berbeda, yaitu MA dan MBR. Penggunaan memori modular biasanya pada sistem dengan prosesor pipeline dan prosesor array. (Lihat gambar ««..) 3. Memori Virtual Prinsip dasar memori virtual adalah kemampuan untuk mengalamati ruang penyimpanan logikal yang secara fisik lebih besar daripada ruang penyimpanan riil.
Pr og ogr am am in a logi al contiguous block $
r ess ess tr ansla anslation %
Virtual memory
&
&
Real Memori
3. M M
RI
A H
Memori utama yang digunakan sistem komputer pada awalnya dirasakan masih lambat kerjanya dibandingkan dengan kerja
PU, sehingga perlu dibuat sebuah memori yang dapat
membantu kerja memori utama tersebut. Sebagai perbandingan perbandingan waktu waktu akses aks es memori cache lebih cepat 5 sampai 10 kali dibandingkan memori utama.
Memori cache dan memori utama Prinsip kerja ache berisi salinan sebagian isi memori utama. utama. Pada saat PU membaca sebuah sebuah word word memory, maka dilakukan pemeriksaan untuk mengetahui apakah word tersebut berada di cache. Jika word word memori terdapat di cache, maka akan dikirimkan ke PU yang dikenal sebagai proses HIT. IT. Sedangkan bila tidak ada, maka blok memori utama yang terdiri dari sejumlah word tetap akan diletakkan/dicopikan di cache yang dikenal sebagai proses MISS dan selanjutnya dikirimka dikirimkan n ke PU.
Elemen-elemen y
rancangan cache
Ukuran cache Ukuran cache disesuaikan kebutuhannya dalam membantu kerja memori utama. Semakin besar ukuran cache, maka semakin besar jumlah gate yang terdapat pada pengalamatan cache, akibatnya adalah cache yang berukuran besar cenderung untuk lebih lambat dibanding dibanding dengan cache berukuran kecil.
Berdasarkan
penelitian ukuran
cache antara 1K sampai 512K word akan lebih optimum dalam membantu kerja memori utama.
y
Fungsi pemetaan ( mapping ) Saluran cache lebih lebih sedikit jumlahnya dibandingkan dibandingkan saluran saluran blok memori utama sehingga sehingga pe rlu algoritma algoritma untuk pemetaan blok -blok -blok memori ke dalam saluran cache dan perlu juga alat untuk menentukan blok memori utama yang sedang memakai saluran cache. Pemilihan fungsi pemetaan seperti langsung, asosiatif dan asosiatif set akan menentukan menentukan bentuk or ganisasi ganisasi cache.
Pemetaan langsung. o
Teknik yang paling sederhana, yaitu memetakkan masing -masing blok memori utama hanya ke sebuah saluran cache saja.
o
Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat. ache diakses dengan dengan menggunakan menggunakan alamat memori utama dianggap terdiri tiga field yaitu tag, line, dan word.
o
Kekurangannya yang utama adalah terdapat lokasi cache yang tetap bagi sembarang blok-blok yang diketahui. Dengan demikian, apabila suatu program berulang-ulang berulang -ulang melakukan word refer refer ensi dari dua blok yang berbeda memetakan ke saluran yang sama, maka blok -blok itu secara terus menerus menerus akan di -swap ke dalam cache, akibatnya hit ratio -nya akan rendah.
Pemetaan asosiatif Mengatasi kekurangan pemetaan langsung dengan dengan cara mengizinkan seti ap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dalam hal ini, cache control logic menginterpretasikan alamat memori hanya sebagai sebuah field tag dan field word Filed tag secara unik mengidentifikasi suatu blok memori utama. Untuk menentukan apakah suatu blok berada di dalam cache, maka cache control logic harus secara simultan memeriksa setiap tag saluran yang sesuai. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika sebuah blok di baca ke dalam cache. Kekurangan pemetaan ini adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara paralel.
Algoritma penggantian
y
Digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat bagi blok baru. Ada 2 metode yaitu : rite-t -thr hro o Write
y
gh :
ache dan memori utama diupdate secara bersamaan waktunya.
Keunggulannya salinan data di memori utama
dan cache tetap, sedangkan sedangkan
kelemahannya pada proses ³write´ memerlukan jumlah waktu yang sama dengan proses MISS. Write-back
y
: Melakukan update data di memori utama hanya pada saat word memori
telah dimodifikasi dari cache. Keunggulannya proses update word cache tidak terbatas , sedangkan kelemahannya salinan data data di memori utama tidak tetap /konsisten /konsisten selama data ter modifikasi benarbenarbenar ada di memori utama. Ukuran blok Blok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache.
y
Setiap pengambilan blok menindih isi cache yang lama, maka sejumlah kecil blok akan menyebabkan menyebabkan data menjadi menjadi tertindih setelah blok itu diambil. Dengan meningkatnya ukuran blok, maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya untuk diperlukan dalam waktu dekat. Jumlah ache III. Memo emori pembant ant (a xi l iar memor ) y
-
Bersifat
non-volatile, yaitu jika tidak ada listrik, maka isi memori tidak hilang. Tidak mempengaruhi langsung fungsi PU.
Yang termasuk memori ini adalah : y
Pita
Magnetik Merupakan Merupakan suatu suatu lajur lajur plastik plastik tipis, tipis, dengan dengan lebar ½ inci, yang yang dilap dilapisi isi dengan dengan medium perekaman magnetik. Biasa terbagi menjadi 7/9 track searah panjang pita. Kerapatan rekaman (bpi) yaitu 800, 1600, dan 6250 bpi. Terdapat satu bit paritas untuk pendeteksian kesalahan. Merupakan Merupakan sistem SAM (Sequential (Sequential Access Memory) yaitu dat a ditulis sesuai urutan urutan pemunculannya.
-
y
Disk
-
Magnetik Merupakan sebuah lembaran datar ( platter) Terdiri atas : sebuah disk drive, sebuah kendali disk(interface), dan satu atau lebih disk (platter). Proses penulisan ke disk disk yaitu disk drive akan menimbulkan kemagnetan kemagnetan pada pada titik di atas permukaan disk yang secara langsung di bawah head. Proses pembacaan dari disk, head diatur diatur agar dapat mendeteksi perubahan perubahan arah arah kemagnetan. Terbagi secara logikal logikal dikenal sebagai organisasi disk yaitu :
Track :Sejumlah lingkaran yang konsentris Sektor :Pembagian permukaan disk secara belahan yang mempunyai ukuran yang sama. Silinder :Dibentuk oleh track -track yang berhubungan pada setiap permukaan. y
Floppy disk Merupakan lembaran datar yang tipis dan fleksibel Hampir sama dengan harddisk, tetapi kapasitas penyimpanan lebih rendah.