31
ALU (Arithmetic and Logic Unit) Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, 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). 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 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 dari register-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 lain 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):

Cara Kerja ALU & MEMORI

Embed Size (px)

Citation preview

Page 1: Cara Kerja ALU & MEMORI

ALU (Arithmetic and Logic Unit)

Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, 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).

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 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 dari register-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 lain 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.

2. Integer Representation (Representation Iinteger)Representasi IntegerBilangan yang digunakan untuk mekanisme representasi data komputer adalah bilangan biner,semua itu biasA terjadi karena factor-faktor berikut :

Page 2: Cara Kerja ALU & MEMORI

1. komputer secara elektronika hanya mampu membaca 2 kondisi sinyal- ada tegangan / ada sinyal- tidak ada tegangan / tidak ada sinyal

2. kondisi tersebut yang digunakan untuk merepresentasikan bilangan dan 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 dalam menentukan nilai suatu bilangan, antara lain sistem desimal, biner, hexadesimal, oktal, BCD, Grey Code, Exess-3 dan lain-lainnya yang dibagi berdasarkan basis yang digunakan dalam penentuan nilaidari bilangan tersebut. Jenis-jenis Sistem bilangan yaitu:1. Desimal2. Biner3. Heksadesimal4. Oktal

Sistem bilangan yang umum dipakai adalah sistem bilangan desimal.

1. DesimalMerupakan 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. BinerMerupakan suatu system bilangan yang berbasiskan 2 (tiap bilangan dalam sistem tersebut dikalikan dengan 2x), terdiri dari angka 0 dan 1.

3. HeksadesimalMerupakan 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. OktalMerupakan 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 CodeMerupakan 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

Page 3: Cara Kerja ALU & MEMORI

7. Excess-3Merupakan 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 Representation

Representasi Integer oleh Biner     Dalam sistem bilangan biner ada 4 macam sistem untuk merepresentasikan integer       - representasi unsigned integer        - representasi nilai tanda (sign 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 – 255Kelemahan Unsigned Integer- hanya dapat menyatakan bilangan positif- sistem ini tidak bisa digunakan untuk menyatakan bilangan integer negatif2. Representasi Nilai Tanda (sign magnitude) -Karena kelemahan unsigned integer-Dikembangkan beberapa 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 negatifKelemahan sign magnitude Adanya representasi ganda pada bilangan 0, yaitu3. Representasi Bias -Digunakan untuk menyatakan exponen (bilangan pemangkat) pada representasi floating point -Dapat menyatakan bilangan bertanda, yaitu dengan mengurutkan dari bilangan negativeterkecil  dapat dijangkau sampai bilangan positif paling besar yang bisa dijangkau -Mengatasi permasalahan pada sign magnitude yaitu +0 dan -04. Representasi komplemen 2 (two’s complement)Merupakan perbaikan dari representasi nilai bertanda (sign magnitude) yang mempunyaikekurangan pada operasi penjumlahan dan pengurangan serta representasi nilai 0

Bilangan Negatif Pada 2’s Complement

1. Sistem bilangan dalam 2’s complement menggunakan bit paling kiri (MSB) sebagai bit tandadan sisanya sebagai bit nilai seperti pada sign magnitude

2. Bilangan negatif dalam 2’s complement dibentuk dari:

Page 4: Cara Kerja ALU & MEMORI

- komplemen satu dari bilangan biner semula (nilai positif)- menambahkan 1 pada LSB

4. Floating Point Arithmetic

Floating Point Arithmetic untuk operasi matematika.

ALU (Arithmetic Logical Unit) merupakan unit penalaran secara logic. ALU ini adalah merupakan 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 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 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 dengan instruction 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 buatan Intel 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 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 dimana lingkungan instruction set itu 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.

Page 5: Cara Kerja ALU & MEMORI

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

2. Rangkaian Adder yang menjumlahkan tiga bit disebut Full Adder.

3. Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder

Half 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 (Sum) = 0.

2. Jika A=0 dan B=1 dijumlahkan, hasilnya S (Sum) = 1.

3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan Cy(Carry

Out) = 1.

Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan

Cy).

Page 6: Cara Kerja ALU & MEMORI

Dari tabel diatas, terlihat bahwa nilai logika dari Sum 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 Full

adder berikut :

Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut :

Page 7: Cara Kerja ALU & MEMORI

S = A B C + A B C + A B C + A B C

S = A Å B Å C

Cy = A B C + A B C + A B C + A B C

Dengan menggunakan peta karnaugh, Cy dapat diserhanakan menjadi :

Cy = AB + AC + BC

Parallel Adder

Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan berfungsi untuk

menjumlah bilangan biner berapapun bitnya, tergantung jumlah Full Adder yang

diparallelkan. Gambar berikut menunjukkan Parallel Adder yang terdiri dari 4 buah Full

Adder yang tersusun parallel sehingga membentuk sebuah penjumlah 4 bit.

Contoh:

Page 8: Cara Kerja ALU & MEMORI

Penjumlahan

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 :

Page 9: Cara Kerja ALU & MEMORI

Penjumlahan 8421BCD

Sandi 8421BCD hanya menggunakan bilangan biner untuk 0 sampai 9, karena yang

disandikan hanya 1 digit angka desimal. Dalam penjumlahan yang perlu diperhatikan

adalah jika hasilnya lebih dari 9 sehingga akan dihasilkan auxillary carry (Carry dari

bilangan keempat LSB) maupun carry dari MSB.

Berikut adalah aturan penjumlahan sandi 8421BCD:

Jika jumlah biner dan jumlah BCD sama, yaitu AC (Auxillary Carry) = 0 dan Carry

= 0 maka tidak diperlukan aturan tambahan.

Contoh :

Bilangan 1 = 0 1 1 0 0 0 1 0 (BCD) = 6 2 (desimal)

Bilangan 2 = 0 0 1 0 0 1 0 1 (BCD) = 2 5 (desimal) +

Biner = 1 0 0 0 0 1 1 1 (Cy=0:AC=0)

Biner = 1 0 0 0 0 1 1 1 = 8 7 (desimal)

Page 10: Cara Kerja ALU & MEMORI

Jika jumlah biner tidak sama dengan jumlah desimal maka 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 pada bilangan “0” dan “1” dan tidak mengenal bilangan

negatif. Untuk menunjukkan bilangan negatif, komputer menggunakan tanda modulus

(Modulus 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 komplemen10 dan komplemen9.

Pengurangan Bilangan Desimal

Komplemen -10

Pada komplemen10, bilangan negatif dikurangkan 9, kemudian ditambahkan 1 pada

bit terakhir. Pada penjumlahannya, bila ada carry, carry tersebut dapat dihilangkan.

Tanda modulus ikut dijumlahkan.

Page 11: Cara Kerja ALU & MEMORI

Contoh :

Komplemen-10 dari -255.

-2 5 510 = (9) 7 4 510 (angka 9 menunjukkan tanda modulusnya).

Komplemen -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 harus dikomplemen lagi (Berlaku

untuk komplemen-10 dan komplemen-9).

Jika komplemen10, maka hasil akhir setelah dikomplemen harus ditambah 1. Jika

komplemen-10, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1).

Contoh :

Page 12: Cara Kerja ALU & MEMORI

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”, 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).

Page 13: Cara Kerja ALU & MEMORI

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, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1).

Contoh :

Page 14: Cara Kerja ALU & MEMORI

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

Register). Perhatikan contoh berikut :

Register A untuk menyimpan data yang akan dikalikan (Multiplicand).

Register B untuk menyimpan data pengali (Multiplier).

Register P untuk menyimpan hasil perkalian.

Page 15: Cara Kerja ALU & MEMORI

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 bilangan yang akan dibagi (Dividend), lihat

hasil pengurangan.

Bila hasilnya 1 atau positif :

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 :

Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiri

Page 16: Cara Kerja ALU & MEMORI

harus ditambah dulu dengan bilangan pembagi (Divisor). Setelah digeser ke kiri satu

bit, dimulai lagi proses pengurangan oleh bilangan 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 hasil pengurangan yang negatif, maka digit yang dihasilkan

setelah itu adalah digit pecahan, sehingga hasil yang benar 10,12 atau 2,510.

Page 17: Cara Kerja ALU & MEMORI

MEMORI

Karakteristik Sistem Memori

1. Kapasitas 4. Kinerja2. Satuan Transfer 5. Tipe Fisik3. Metode Akses 6. Karakteristik Fisik

Secara garis besar, Memori dapat diklasifikasikan menjadi dua bagian, yaitu Memori Utama dan Memori Pembantu.

Memori Utama

Beberapa parameter dalam Memori Utama :

1. KapasitasKapasitas dinyatakan dalam byte (1 byte = 8 bit) atau word. Panjang word yang umum adalah 8, 16, dan 32 bit.

2. Satuan TransferSatuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Tiga konsep dalam satuan transfer : Word. 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 antara panjang A suatu alamat dan jumlah N addressable unit adalah 2A = N.

Unit of Transfer. Adalah jumlah bit yang dibaca atau yang dituliskan ke dalam memori pada suatu saat.

3. Metode Akses.Terdapat empat jenis metode : Sequential Access. Memori diorganisasikan menjadi unit-unit data yang disebut

record. Direct Access. Direct Access meliputi shared read/write mechanism. Setiap blok

dan record memiliki alamat-alamat yang unik berdasarkan lokasi fisik. Random Access. Waktu untuk mengakses lokasi tertentu tidak tergantung pada

urutan akses sebelumnya dan bersifat konstan. Associative. Sebuah word dicari berdasarkan pada isinya dan bukan berdasar

pada alamat.

Page 18: Cara Kerja ALU & MEMORI

Metode Sequential Access dan Direct access, biasanya dipakai pada Memori pembantu. Metode Random Access dan Associative dipakai dalam Memori Utama.

4. Kinerja.Pada memori utama, terdapat tiga buah parameter unjuk kerja : Access Time. Bagi RAM, access time merupakan waktu yang dibutuhkan untuk

melakukan operasi baca atau tulis. Bagi non RAM, access time adalah waktu yang dibutuhkan untuk melakukan mekanisme baca tulis pada lokasi tertentu.

Memory Cycle 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 Rate. Transfer rate adalah kecepatan data agar dapat ditransfer ke unit memori atau ditransfer dari unit memori. Pada RAM, transfer rate = 1/(waktu siklus). Bagi non RAM terdapat hubungan

NTN = TA +

R TN = Waktu rata-rata untuk membaca atau menulis N bit.TA = Waktus access rata-rata.N = Jumlah bit.R = Kec. transfer, dalam bit per detik (bps).

5. Tipe FisikMemori Utama dikemas dalam sebuah Chip / IC. Dua jenis yang umum digunakan saat ini adalah memori semikonduktor yang memakai teknologi SLI dan VSLI.

6. Karakteristik FisikPada memori volatile, informasi akan hilang apabila daya listrik dimatikan. Untuk memori non volatile, informasi tetap akan tersimpan meskipun daya listrik dimatikan.

Memori Semi Konduktor Random Access

Tipe Memori Kategori Penghapusan Mekanisme penulisan

Volatilitas

RAM Read-writeRead-only

Electrically byte level Electrically Volatile

ROM Read only memory

Tidak mungkinMask

Non Volatile

PROMEPROM

Read mostly memory

Sinar Ultra VioletFlash memory

Electrically block level

EEPROM Electrically byte level

Menurut mekanisme yang digunakan untuk menyimpan dan memanggil data, memori utama dapat diklasifikasikan atas Random Access Memory dan Content Addressable Memory.

1. RAM (Random Access Memori)

Page 19: Cara Kerja ALU & MEMORI

RAM 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 dua jenis RAM, statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. RAM statik menyimpan nilai-nilai biner dengan menggunaan konfigurasi gate logik flip-flop.

Organisasi DRAM 16 Mbyte

2. CAM (Content Addressable Memory)

Pada CAM, memori diakses berdasarkan isi, bukan alamat. Pencarian data dilakukan secara simultan dan paralel dengan basis isi memori. CAM disebut juga sebagai memori Asosiatif.

Diagram awal memori Asosiatif

Implementasi Memori Utama

Page 20: Cara Kerja ALU & MEMORI

1. Memori Stack

Memori Stack merupakan struktur data tidak tetap yang digunakan untuk menyimpan alamat kembali dan parameter yang dilalui dalam subroutine call dan return, memanipulasi alamat serta operasi aritmatika.

Blok diagram Register control logic

Pada gambar diatas, perintah PUSH dan POP berguna untuk memanipulasi data pada stack.

2. Memori Modular

Dalam memori modular, RAM dipisah menjadi modul-modul yang berbeda, yaitu MAR dan MBR. Penggunaan memori modular biasanya pada sistem dengan prosesor pipeline dan prosesor array. (Lihat gambar ……..)

3. Memori VirtualPrinsip dasar memori virtual adalah kemampuan untuk mengalamati ruang penyimpanan logikal yang secara fisik lebih besar daripada ruang penyimpanan riil.

Page 21: Cara Kerja ALU & MEMORI

3. MEMORI CACHE

Memori utama yang digunakan sistem komputer pada awalnya dirasakan masih lambat

kerjanya dibandingkan dengan kerja CPU, sehingga perlu dibuat sebuah memori yang dapat

membantu kerja memori utama tersebut. Sebagai perbandingan waktu akses memori cache

lebih cepat 5 sampai 10 kali dibandingkan memori utama.

Memori cache dan memori utama

Prinsip kerja

Cache berisi salinan sebagian isi memori utama. Pada saat CPU membaca sebuah word memory, maka dilakukan pemeriksaan untuk mengetahui apakah word tersebut berada di cache. Jika word memori terdapat di cache, maka akan dikirimkan ke CPU yang dikenal sebagai proses HIT. 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 dikirimkan ke CPU.

Page 22: Cara Kerja ALU & MEMORI

Elemen-elemen rancangan cache

Ukuran cacheUkuran 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 dengan cache berukuran kecil. Berdasarkan penelitian ukuran

cache antara 1K sampai 512K word akan lebih optimum dalam membantu kerja

memori utama.

Fungsi pemetaan (mapping)Saluran cache lebih sedikit jumlahnya dibandingkan saluran blok memori utama

sehingga perlu algoritma untuk pemetaan 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 bentuk organisasi 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.

Cache diakses dengan 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 melakukan word referensi dari dua blok yang

berbeda memetakan ke saluran yang sama, maka blok-blok itu secara terus

menerus akan di-swap ke dalam cache, akibatnya hit ratio-nya akan rendah.

Pemetaan asosiatif

Mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap 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.

Page 23: Cara Kerja ALU & MEMORI

Algoritma penggantian

Digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk

menyiapkan tempat bagi blok baru.

Ada 2 metode yaitu :

Write-through : Cache dan memori utama diupdate secara bersamaan waktunya.

Keunggulannya salinan data di memori utama dan cache tetap, sedangkan

kelemahannya pada proses “write” memerlukan jumlah waktu yang sama dengan

proses MISS.

Write-back : 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 di memori utama tidak tetap /konsisten selama data termodifikasi benar-

benar ada di memori utama.

Ukuran blokBlok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache.

Setiap pengambilan blok menindih isi cache yang lama, maka sejumlah kecil blok akan

menyebabkan data 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 CacheIII. Memori pembantu (auxiliary memory)

- Bersifat non-volatile, yaitu jika tidak ada listrik, maka isi memori tidak hilang.- Tidak mempengaruhi langsung fungsi CPU.

Yang termasuk memori ini adalah :

Pita Magnetik- Merupakan suatu lajur plastik tipis, dengan lebar ½ inci, yang dilapisi 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 sistem SAM (Sequential Access Memory) yaitu data ditulis sesuai urutan pemunculannya.

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 yaitu disk drive akan menimbulkan kemagnetan pada titik di

atas permukaan disk yang secara langsung di bawah head.- Proses pembacaan dari disk, head diatur agar dapat mendeteksi perubahan arah

kemagnetan.- Terbagi secara logikal dikenal sebagai organisasi disk yaitu :

Page 24: Cara Kerja ALU & MEMORI

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.

Floppy disk- Merupakan lembaran datar yang tipis dan fleksibel - Hampir sama dengan harddisk, tetapi kapasitas penyimpanan lebih rendah.