Sabtu, 18 Oktober 2014

BAB 4
MEMORI

⦁    Pendahuluan
Unit memori berfungsi untuk menyimpan program dan data. Ada dua macam alat  penyimpan (storage) yaitu:  penyimpan  temporer yang sering disebut dengan penyimpan primer  (primary storage),  dan penyimpan permanen yang sering disebut dengan penyimpan sekunder (secondary storage). Penyimpan primer,  adalah sirkuit komputer internal yang menyimpan data untuk sementara waktu ketika hendak diproses. Contohnya memori utama (main memory). Sedangkan penyimpan sekunder merupakan alat untuk menyimpan data dan informasi serta program secara permanen. Contohnya seperti hardisk, disket, CD, DVD, pita magnetik, memori flash.
      Pada bab ini akan dibahas mengenai peranan memori pada sistem komputer, operasi sel memori, karakteristi sistem memori, keandalan memori, satuan memori, memori utama semikonduktor, pengemasan (packaging), koreksi error, dan cache memori.
⦁   
⦁    Tujuan Khusus:
Setelah mempelajari bab ini, mahasiswa diharapkan dapat:
⦁    Menjelaskan tentang memori utama komputer
⦁    Menjelaskan tipe dari memori
⦁    Menjelaskan cara akses memori.
⦁    Menjelaskan tentang error correction
⦁    Menjelaskan tentang cache memori

⦁    Operasi Dasar Memori
Unit memori mensuport dua operasi dasar yaitu baca (Read) dan tulis (Write). Operasi baca (Read Operation)  membaca data yang sebelumnya sudah tersimpan di dalam suatu memori. Sedangkan operasi tulis (Write Operation) menyimpan nilai baru ke dalam suatu memori. Kedua operasi ini membutuhkan memory address(alamat dimana data yang akan dibaca berada atau alamat dimana data yang baru akan disimpan).
                     Gambar 4.1. Unit memori

Step-step pada siklus operasi baca (read cycle):
⦁    meletakkan alamat data yang akan dibaca  ke bus alamat (address bus).
⦁    Mengaktifkan sinyal control read memori melalui bus contol (control bus).
⦁    Menunggu memori Mengambil  data yang akan dibaca   dari alamatnya  dan meletakkannya ke bus data (data bus).
⦁    Membaca data yang dikirim melalui data bus
⦁    menonaktifkan sinyal control read  memori untuk menghentikan siklus baca.

    Siklus baca tersebut memerlukan beberapa clock cycle (pada contoh diatas tiga clock cycle). Setelah melakukan read cycle step 1 dan 2, prosessor akan menunggu  sampai clock cycle terakhir dimana prosessor akan membaca data dan mengirimkan sinyal control untuk menghentikan siklus baca. Cepat lambatnya akses data dari suatu memori tergantung dari memori itu sendiri, sehingga waktu access dari suatu memori menentukan lama tidaknya suatu prosesor harus menunggu (wait cycle) untuk melakukan proses berikutnya.  Dengan demikian lamanya wait cycle akan memperlambat operasi sistem komputer.
Step-step pada siklus tulis (write cycle) :
⦁    Meletakkan alamat atau lokasi yang akan menjadi tujuan penulisan data ke bus alamat (address bus).
⦁    Menempatkan data yang akan ditulis ke bus data (bus data)
⦁    Mengaktikfkan sinyal write memori melalui bus kontrol (control bus)
⦁    Menunggu memori menyimpan data ke lokasi/alamat yang diberikan
⦁    Menonaktifkan sinyal write memori untuk menghentikan proses write.
    Seperti pada read cyle sebelumnya, pada write cycle juga dapat dilihat bahwa setelah melakukan step 1 sampai step 3, prosesor akan menunggu sampai data yang diberikan tersimpan. Jadi waktu access data dari suatu memori juga menentukan lama tidaknya wait cycle prosessor pada siklus tulis (write cycle). Sehingga dapat dilihat bahwa access time memori yang lambat akan memperlambat operasi sistem komputer.

⦁    Operasi Sel Memori
Elemen dasar memori adalah sel memori. Sel - sel memori memiliki sifat – sifat sebagai berikut:
⦁    Sel memori memiliki dua keadaan stabil (atau semi-stabil), yang dapat digunakan untuk  merepresentasikan bilangan biner 1 atau 0
⦁    Sel memori mempunyai kemampuan untuk ditulisi (sedikitnya satu kali).
⦁    Sel memori mempunyai kemampuan untuk dibaca.
Gambar 4.2 menjelaskan operasi sel memori. Umumnya sel memori mempunyai tiga terminal fungsi yang mampu membawa sinyal listrik. Terminal select berfungsi memilih operasi tulis atau baca. Untuk penulisan, terminal lainnya menyediakan sinyal listrik yang men-set keadaan sel bernilai 1 atau 0, sedangkan untuk operasi pembacaan, terminal ini digunakan sebagai keluaran.

        Gambar 4.2. Operasi sel memori

⦁    Karakteristik Sistem Memori
Ada beberapa karakteristik penting dari  sistem memori,   yaitu :
⦁    Lokasi Memori
Dilihat dari lokasi, memori dibedakan menjadi beberapa jenis, yaitu:
⦁        Memori Lokal (CPU)
⦁    Memori ini built-in berada dalam CPU
⦁    Memori ini diperlukan untuk semua kegiatan CPU
⦁    Memori ini disebut register. Register digunakan sebagai memori sementara dalam perhitungan maupun pengolahan data dalam prosesor
⦁        Memori Internal (Main memori)
⦁    Diluar CPU tetapi bersifat internal terhadap sistem computer.
⦁    Diperlukan oleh CPU untuk proses eksekusi program. Sehingga dapat diakses secara langsung oleh prosesor tanpa modul perantara.
⦁    Memori internal menggunakan media RAM
⦁        Memori Eksternal
⦁    Eksternal terhadap sistem komputer & berada diluar cpu
⦁    Untuk menyimpan data/instruksi secara permanen
⦁    Tidak diperlukan dalam proses eksekusi sehingga tidak dapat di-akses langsung oleh CPU
⦁    Memori ini terdiri dari perangkat storage peripheral (contohnya seperti: disk, dan pita magnet)
2. Kapasitas Memori
⦁    Kapasitas register (memori lokal) dinyatakan dalam bit
⦁    Kapasitas main memori dalam byte (8 bit) atau word. Panjang word umumnya 8, 16 & 32 bit.
⦁    Kapasitas memori eksternal dinyatakan dalam byte
3. Satuan Transfer
Satuan transfer sama dengan jumlah saluran data yang masuk dan keluar dari modul memori. Bagi memori internal, satuan transfer merupakan jumlah Bit yang dibaca atau yang dituliskan kedalam memori pada suatu saat.. Jumlah saluran ini sering kali sama dengan panjang word, tapi dimungkinkan juga tidak sama. Bagi memori eksternal, data ditransfer dalam jumlah yang jauh lebih besar dari word (block).
Tiga konsep yang berhubungan dengan satuan transfer:
⦁    Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
⦁    Addressable units, pada sejumlah system, addressable unit adalah word. Namun terdapat system dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara panjang suatu alamat (A) dan jumlah (N) addressable unit adalah 2A =N.
⦁    Unit of Transfer adalah jumlah bit yang dibaca atau dituliskan, kedalam memori pada suatu saat. Pada memori eksternal, transfer data biasanya lebih besar dari suatu word, yang disebut dengan block
4. Metode Akses Memori
Terdapat 4 jenis pengaksesan satuan data, sebagai berikut:
⦁    Sequential Access, memori diorganisasi menjadi unit – unit data yang disebutrecord. Akses harus dibuat dalam bentuk urutan linier yang spesifik. Informasi mengalamatan yang disimpan dipakai untuk memisahkan record – record dan untuk membantu proses pencarian. Terdapat shared read/write mechanism untuk penulisan/pembacaan memorinya. Pita magnetik merupakan memori yang menggunakan metode sequential access.
⦁    Direct Access, menggunakan shared R/W mechanism. Setiap blok dan record memiliki alamat yg unik berdasarkan lokasi fisik. Akses dilakukan langsung pada alamat memori. Waktu aksesnya bervariasi. Contohnya adalah akses pada disk
⦁    Random Access, Setiap lokasi dapat dipilih secara random & diakses serta dialamati secara langsung. Waktu mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya & bersifat konstan. Contohnya adalah sistem main memori
⦁    Associative Access, Jenis random akses yang memungkinkan pembandingan lokasi bit yang diinginkan untuk pencocokan. Data dicari berdasarkan isinya bukan alamatnya dalam memori. Contoh memori ini adalah cache memori
5. Kinerja Memori
Ada 3 buah parameter untuk  kinerja sistem memori, yaitu
⦁    Waktu Aksess (seek time)
⦁    Bagi RAM, waktu akses : waktu yg dibutuhkan untuk melakukan operasi  W/R
⦁    Bagi non RAM, waktu akses : waktu yg dibutuh-kan untuk melakukan mekanisme W/R pd lokasi tertentu
⦁    Waktu siklus (Cycle Time)
⦁    Waktu akses ditambah dgn waktu transien hingga sinyal hilang dari saluran atau untuk menghasilkan kembali data ini dibaca secara destruktif.
⦁    Konsep ini digunakan pada RAM
⦁    Laju Pemindahan (Transfer Rate)
⦁    Transfer rate : kecepatan pemindahan data ke unit memori/ditransfer dari unit memori.
⦁    Bagi RAM, transer rate = 1/siklus waktu
⦁    Non-random access memory dengan perumusan sebagai berikut :
TN = TA + (N/R)
Dimana : TN = Waktu Rata-rata untuk membaca atau menulis N bit
TA = Waktu Akses Rata-rata
N = Jumlah Bit
R = kecepatan transfer dalam bit per detik (bps)
6. Tipe Fisik Memori
Ada 2 tipe fisik memori, :
⦁    Memori Semikonduktor, memori ini memakai teknologi VLSI (very Large Scale Integration) Memori ini banyak digunakan untuk RAM
⦁    Memori Permukaan Magnetik, digunakan untuk disk atau pita magnetik.
7.Karakteristik Fisik
Ada 2 yang mencerminkan karakteristik tsb:
⦁    Volatile dan Non volatile
Volatile , informasi  akan rusak secara alami/hilang bila daya listrik dimatikan. Sedangkan Non volatile sebaliknya
⦁     Erasable non erasable
        Erasable : isi memori dapat dihapus dan digantikan dengan informasi yang          lainnya. Contoh memori semikonduktor yang tidak dapat dihapus dan bersifat         non volatile adalah ROM.

⦁    Keandalan Memori
Untuk memperoleh keandalan sistem ada tiga pertanyaan yang diajukan: Berapa banyak ? Berapa cepat ?  Berapa mahal ?. Pertanyaan berapa banyak adalah sesuatu yang sulit dijawab, karena berapapun kapasitas memori tentu aplikasi akan menggunakannya. Jawaban pertanyaan berapa cepat adalah memori harus mempu mengikuti kecepatan CPU sehingga terjadi sinkronisasi kerja antar CPU dan memori tanpa adanya waktu tunggu karena komponen lain belum selesai prosesnya. Mengenai harga, sangatlah relatif. Bagi produsen selalu mencari harga produksi paling murah tanpa mengorbankan kualitasnya untuk memiliki daya saing di pasaran. Hubungan harga, kapasitas dan waktu akses adalah :
⦁    Semakin kecil waktu akses, semakin besar harga per bitnya.
⦁    Semakin besar kapasitas, semakin kecil harga per bitnya.
⦁    Semakin besar kapasitas, semakin besar waktu aksesnya.
    Dilema yang dihadapi para perancang adalah keinginan menerapkan teknologi untuk kapasitas memori yang besar karena harga per bit yang murah namun hal itu dibatasi oleh teknologi dalam memperoleh waktu akses yang cepat. Salah satu pengorganisasian masalah ini adalah menggunakan hirarki memori. Seperti terlihat pada gambar 4.3, bahwa semakin menurunnya hirarki maka hal berikut akan terjadi :
⦁    Penurunan harga/bit
⦁    Peningkatan kapasitas
⦁    Peningkatan waktu akses
⦁    Penurunan frekuensi akses memori oleh CPU.
    Kunci keberhasilan hirarki ini pada penurunan frekuensi aksesnya. Semakin lambat memori maka keperluan CPU untuk mengaksesnya semakin sedikit. Secara keseluruhan sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.
       
                     Tabel 4.1.  Spesifikasi Memori
                             
            Gambar 4.3.  Hirarki Memori
⦁    Satuan Memori
Satuan pokok memori adalah digit biner, yang disebut  bit. Suatu bit dapat berisi sebuah angka 0 atau 1. Ini adalah satuan yang paling sederhana. Memori juga dinyatakan dalam byte (1 byte = 8 bit). Kumpulan byte dinyatakan dalam word. Panjang word yang  umum adalah 8, 16, dan 32 bit.
                       Tabel 4.2. Tingkatan satuan memori

⦁     Memori Utama Semikonduktor
Pada komputer lama, bentuk umum random access memory untuk memori utama adalah sebuah piringan ferromagnetik berlubang yang dikenal sebagai core, istilah yang tetap dipertahankan hingga saat ini.
Memori semikonduktor tersedia dalam rentang kecepatan yang luas. Waktu siklusnya berada pada rentang 100ns hingga kurang dari 10ns. Pada saat diperkenalkan pertama kali pada akhir tahun 1960an, memori tersebut lebih mahal daripada memori inti magnetik. Karena perkembangan teknologi VLSI (Very Large Scale Integration) yang sangat cepat, biaya memori semikonduktor telah menurun secara drastis. Akibatnya, teknologi tersebut sekarang digunakan secara eksklusif dalam menerapkan memori.

⦁    Jenis memori  random akses
Random-access memory (RAM)
Random Access Memory (RAM) merupakan memori  yang diakses secara random RAM merupakan memori yang dapat ditulis dan dibaca. Oleh karena itu tidak jarang RAM disebut sebagai RAWM(read and write memory). RAM berbeda dengan ROM yang tidak dapat ditulisi. RAM bersifat volatiledata pada RAM akan hilang jika supply dayanya berhentisehingga hanya dapat digunakan untuk penyimpanan sementara saja. RAM biasanya digunakan untuk memori utama . Berdasarkan teknologinya, RAM dapat dibedakan atas SRAM (static RAM) dan DRAM (dynimic RAM). Baik SRAM dan DRAM bersifat volatile. 

SRAM (static RAM)
SRAM tidak memerlukan refresh secara periodik, karena SRAM didesain menggunakan transistor tanpa kapasitor. Isinya bisa tetap ada tanpa harus direfresh oleh CPU. SRAM memiliki waktu access yang jauh lebih cepat dibandingkan dengan DRAM. Akan tetapi harga per bit SRAM lebih mahal daripada DRAM. Umumnya  memori cache (cache memory) pada sistem komputer adalah jenis SRAM.

DRAM (dynamic RAM)
DRAM cenderung lebih baik digunakan untuk kebutuhan memori yang lebih besar. Dan DRAM memiliki harga per bit lebih murah dibandingkan dengan SRAM, serta konsumsi daya per bitnya rendah. Akan tetapi DRAM lebih lambat dari pada SRAM. Dan harus di refresh secara periodik untuk mempertahankan datanya. Umumnya memori utama (main memory) pada sistem komputer adalah jenis DRAM.

READ ONLY MEMORY (ROM)
ROM adalah memori yang hanya dapat dibaca saja, tidak dapat ditulisi  atau dihapus oleh pengguna komputer. ROM khusus berisi instruksi start-up yang sudah ditentukan sebelumnya. Oleh sebab itu, ROM diisi oleh pabrik pembuatnya dengan program-program yang berisi instruksi khusus untuk operasi dasar komputer, misalnya untuk menghidupkan komputer (BIOS) atau menampilkan karakter ke layar, perintah untuk membaca sistem operasi dari disk, dan  Perintah untuk mencek semua peralatan (hardware) yang ada di unit system.
    ROM merupakan jenis memori yang isinya tidak akan hilang apabila suply dayanya dimatikan (turned off). Oleh karena itu ROM disebut juga dengan nonvolatile memory. Ada beberapa type ROM seperti PROM, EPROM, EEPROM, Flash ROM, dan Mask ROM. Masing-masing akan dijelaskan pada uraian berikutnya.

PROM (Programmable ROM) atau OTP ROM
PROM merupakan jenis ROM yang dapat diprogram oleh user (user programmable memory). Untuk menuliskan program kedalam PROM digunakan peralatan khusus yang disebut dengan ROM burner atau ROM programmer. PROM hanya dapat diprogram sekali saja. Sekali di program/ditulis, isi PROM tidak dapat dihapus  dan di program kembali, oleh karena itu PROM sering disebut juga dengan OTP (one-time programmable).

EPROM( erasable programmable ROM)
EPROM merupakan jenis PROM yang dapat di program dan dapat dihapus isinya.  Setelah ditulis/diprogram, isi EPROM dapat dihapus dan ditulisi/diprogram kembali secara berualang-ulang sebanyak seribu kali. Jika lebih dari seribu kali , maka EPROM tersebut akan rusak.  Isi EPROM dapat dihapus dengan menggunakan sinar ultra violet (UV). Oleh karena itu EPROM dikenal juga sebagai UV-erasable EPROM atau disingkat UV-EPROM. Lamanya waktu yang diperlukan untuk menghapus isi EPROM bisa mencapai 20 menit atau lebih.   

EEPROM (electrically erasable programmable ROM)
EEPROM memiliki beberapa keunggulan dibandingkan dengan EPROM. Keunggulannya antara lain adalah: isi EEPROM dapat dihapus dengan mengnakan arus listrik, sehingga waktu yang diperlukan untuk menghapus isinya jauh lebih cepat dibandingkan dengan EPROM. Selain itu user dapat memilih byte mana saja yang akan dihapus, tidak seperti pada EPROM dimana semua isi  EPROM akan terhapus seluruhnya saat proses penghapusan dilakukan. Akan tetapi dilihat dari harga per bitnya EEPROM lebih mahal dibandingkan dengan EPROM.

FLASH ROM
Flash ROM merupakan memori yang dapat dihapus dan diprogram ulang lebih dari sekali (tidak seperti PROM yang hanya dapat diprogram satu kali). Waktu yang diperlukan untuk menghapus selulurh isinya hanya beberapa detik saja. Flash ROM juga bersifat non-volatile. Memori jenis ini banyak digunakan dalam kartu memori, drive flash USB, kamera digital, pemutar MP3, hingga telephone genggam. Pada telephone genggam flash memori berfungsi untuk menyimpan program yang diperlukan  untuk mengoperasikan peralatan. Pada kamera digital, flash memori digunakan untuk menyimpan data berupa gambar (picture image data). Pada MP3 players, flash memori digunakan untuk menyimpan data yang merepresentasikan suara.

MASK ROM
Mask ROM adalah jenis ROM yang isinya sudah di program  oleh pabrik pembuatnya, dengan kata lain Mask ROM tidak dapat diproram oleh user ( sehingga tidak dapat di up-grade). Harga per bitnya lebih murah  dibandingkan dengan jenis ROM lainnya.

⦁    Pengemasan (packaging)       
Gambar 4.4.(a)  menunjukkan sebuah contoh kemasan EPROM, yang merupakan keping 8 Mbit yang  diorganisasi sebagai 1Mx8. Dalam kasus ini, organisasi dianggap sebagai kemasan satu word per keping. Kemasan terdiri dari 32 pin, yang merupakan salah satu ukuran kemasan keping standar. Pin – pin tersebut mendukung saluran – saluran sinyal beikut ini :
⦁    Alamat word yang sedang diakses. Untuk 1M word, diperlukan sejumlah 20 buah (220 = 1M).
⦁    Data yang akan dibaca, terdiri dari 8 saluran (D0 –D7)
⦁    Catu daya keping adalah Vcc
⦁    Pin grounding Vss
⦁    Pin chip enable (CE). Karena mungkin terdapat lebih dari satu keping memori yang terhubung pada bus yang sama maka pin CE digunakan untuk mengindikasikan valid atau tidaknya pin ini. Pin CE diaktifkan oleh logik yang terhubung dengan bit berorde tinggi bus alamat ( diatas A19)
⦁    Tegangan program (Vpp).
    Konfigurasi pin DRAM yang umum ditunjukkan gambar 4.4.(b), untuk keping 16 Mbit yang diorganisasikan sebagai 4M x 4. Terdapat sejumlah perbedaan dengan keping ROM, karena ada operasi tulis maka pin – pin data merupakan input/output yang dikendalikan oleh WE (write enable) dan OE (output enable).
        
        Gambar 4.4.  Pin dan sinyal kemasan memori
⦁    Koreksi Error
Dalam melaksanakan fungsi penyimpanan, memori semikonduktor dimungkinkan mengalami kesalahan. Baik  kesalahan berat yang biasanya merupakan kerusakan fisik  memori maupun kesalahan ringan yang berhubungan data yang disimpan. Kesalahan ringan dapat dikoreksi kembali. Untuk mengadakan koreksi kesalahan data yang disimpan diperlukan dua mekanisme, yaitu mekanisme pendeteksian kesalahan dan mekanisme perbaikan kesalahan.
    Mekanisme pendeteksian kesalahan dengan menambahkan data word (D) dengan suatu kode, biasany bit cek  paritas (C). Sehingga  data  yang  disimpan memiliki panjang D + C. Kesalahan akan diketahui dengan menganalisa data dan bit paritas tersebut. Mekanisme perbaikan kesalahan yang paling sederhana adalah kode Hamming. Metode ini diciptakan Richard Hamming di Bell Lab pada tahun 1950.
     Perhatikan gambar 4.5, disajikan tiga lingkaran Venn (A, B, C) saling berpotongan sehingga terdapat 7 ruang. Metode diatas adalah koreksi kesalahan untuk word data 4 bit (D =4). Gambar 4.5a adalah data aslinya. Kemudian setiap lingkaran harus diset bit logika 1 berjumlah genap sehingga harus ditambah bit – bit paritas pada ruang yang kosong seperti gambar 4.5b. Apabila ada kesalahan penulisan bit pada data seperti gambar 4.5c akan dapat diketahui karena lingkaran A dan B memiliki logika 1 berjumlah ganjil.
                 Gambar  4.5.  Koreksi kesalahan dengan kode Hamming
    Lalu bagaimana dengan word lebih dari 4 bit ? Ada cara yang mudah yang akan diterangkan berikut. Sebelumnya perlu diketahui jumlah bit paritas yang harus ditambahkan untuk sejumlah bit word. Contoh sebelumnya adalah koreksi kesalahan untuk kesalahan tunggal yang sering disebut single error correcting (SEC). Jumlah bit paritas yang harus ditambahkan lain pada double error correcting (DEC). Tabel 4.3 menyajikan jumlah bit paritas yang harus ditambahkan dalam sistem kode Hamming.
    Tabel  4.3. Penambahan bit cek paritas untuk koreksi kode Hamming

Contoh koreksi kode Hamming 8 bit data :
Dari Tabel 4.3 untuk 8 bit data diperlukan 4 bit tambahan sehingga panjang seluruhnya adalah 12 bit. Layout bit disajikan dibawah ini :


      Bit cek paritas ditempatkan dengan perumusan 2N dimana N = 0,1,2,..., sedangkan bit data adalah sisanya. Kemudian dengan exclusive-OR dijumlahkan sebagai berikut :
C1 = D1 Å D2 Å D4 Å D5 Å D7
C2 = D1 Å D3 Å D4 Å D6 Å D7
C4 = D2 Å D3 Å D4 Å D8
C8 = D5 Å D6 Å D7 Å D8
Setiap cek bit (C) beroperasi pada setiap posisi bit data yang nomor posisinya berisi bilangan 1 pada kolomnya. Sekarang ambil contoh suatu data, misalkan masukkan data : 00111001 kemudian ganti bit data ke 3 dari 0 menjadi 1 sebagai error-nya. Bagaimanakah cara mendapatkan bit data ke 3 sebagai bit yang terdapat error?
Jawab :
Masukkan data pada perumusan cek bit paritas :
C1 = 1 Å 0 Å 1 Å 1 Å 0    = 1
C2 = 1 Å 0 Å 1 Å 1 Å 0    = 1
C4 = 0 Å 0 Å 1 Å 0    = 1
C8 = 1 Å 1 Å 0 Å 0    = 0
Sekarang bit 3 mengalami kesalahan data menjadi: 00111101
C1 = 1 Å 0 Å 1 Å 1 Å 0    = 1
C2 = 1 Å 1 Å 1 Å 1 Å 0    = 0
C4 = 0 Å 1 Å 1 Å 0    = 0
C8 = 1 Å 1 Å 0 Å 0    = 0
Apabila bit – bit cek dibandingkan antara yang lama dan baru maka terbentuk syndrom word :

      C8    C4     C2      C1
       0       1        1        1
 Å   0       0        0        1
       0       1        1        0 = 6

    Sekarang kita lihat posisi bit ke-6 adalah data ke-3. Mekanisme koreksi kesalahan akan meningkatkan realibitas bagi memori tetapi resikonya adalah menambah kompleksitas pengolahan data. Disamping itu mekanisme koreksi kesalahan akan menambah kapasitas memori karena adanya penambahan bit– bit cek paritas. Jadi ukuran memori akan lebih besar beberapa persen atau dengan kata lain kapasitas penyimpanan akan berkurang karena beberapa lokasi digunakan untuk mekanisme koreksi kesalahan.

⦁      Memori Cache (Cache Memory)


     Gambar 4.6.  Hirarki memori dari suatu system komputer
     
Suatu hirarki memori dari sistem komputer diperlihatkan pada Gambar 4.6.  Pada posisi  paling atas terdapat  Register yang terdapat dalam  CPU. Dari gambar dapat dilihat bahwa waktu acces masing-masing memori berbeda-beda. Semakin keatas waktu acces datanya semakin cepat. Jadi dalam hal ini dapat dilihat bahwa register memiliki waktu acces yang tercepat dibandingkan dengan jenis memori lainnya. Cache memory memiliki waktu access tercepat kedua.
    Perbedaan kecepatan antara prosessor dan memori utama (umumnya DRAM) semakin meningkat  seiring dengan berjalannya waktu. Hal ini disebabkan antara lain karena perkembangan prosessor yang sangat pesat terutama dalam hal laju kecepatannya  dibandingkan dengan perkembangan/peningkatan kecepatan memori utama itu sendiri. Dewasa ini , peningkatan kecepatan prosessor pertahun berkisar 25% sampai 40 % per tahun. Sedangkan waktu access memori mengalami perbaikan berkisar 10 % pertahun. Sebagai contoh,  processor Pentium 2,5 GHz dikeluarkan hanya berselang beberapa tahun saja setelah Processor 300 MHz.
    Jadi cahce memori  yang memiliki kapasistas yang lebih besar dibandingkan dengan register dan yang memiliki waktu access yang lebih cepat dibandingkan memori utama dapat mengatasi gap dalam hal waktu access bila diletakkan antara processor dan memori utama. Konsep cache ini dapat diterapkan pada dua lokasi, pertama antara memori utama dan register CPU (cache) dan yang kedua antara disk dan memori utama (disk cache) seperti yang tampak pada gambar 4.6.(b).  Dalam bab ini , kita fokus pada pembahasan cache yang terletak antara memori utama dan CPU.

4.9.1. Jumlah Cache Level
Ada tiga macam cache, yaitu: cache level 1 (L1), cache level 2 (L2), dan cache level 3 (L3), yang akan dibahas pada uranian berikut ini.
⦁    Cache level 1 (L1) : umumnya L1 berada di dalam chip CPU (onchip), jadi merupakan bagian internal chip mikroprosesor, tetapi ada juga yang dikemas pada chip tersendiri  yang terpisah dengan chip mikroprosesor. Walupun terpisah dari chip mikroprosesor tetapi masih berada satu motherboard dengan chip mikroprosesor. Kapasitas L1 berkisar antara 8 – 256 KB. L1 bekerja lebih lebih cepat dibandingkan dengan cache level 2, tetapi kapasitas  L1 biasanyta lebih kecil daripada cache L2.
⦁    Cache level 2 (L2) : Cache level 2 (L2)  terletak di luar chip mikroprosesor, jadi merupakan cache eksternal. tetapi masih berada dalam board yang sama dengan CPU. Cache jenis kedua inilah yang sering dicantumkan dalam iklan komputer. Kapasitasnya berkisar antara 64 KB sampai 2 MB. (dalam iklan-iklan Intel, L2 disebut juga Advanced Transfer Cache). Biasanya cache L2 berukuran lebih besar daripada cache L1 (komputer terbaru memiliki minimal cache L2 sebesar 512 KB) dan sering digunakan untuk mengukur kinerja PC.
Sebagai contoh, pada keluarga prosessor Pentium kapasitas L1 cache sekitar 32 KB. Sedangkan kapasitas L2 cache bisa  sampai  2 MB. Hal yang serupa juga dijumpai pada PowerPC dimana L1 cache nya berkisar 64 KB sedangkan L2 cache nya bisa mencapai 1 MB.
⦁    Cache level 3 (L3)pada motherboard: cache level 3 (L3) merupakan cache yang terpisah dari chip mikroprosesor. Cache jenis ini biasanya hanya terdapat pada komputer yang sangat canggih, yaitu yang menggunakan L2 Advanced Transfer Cache.
    Saat sekarang  ini  kebanyakan procesor mensupport  cache dua level (two-level cache). Sistem ini memiliki sebuah primary cache yang disebut juga cache level 1 (L1 cache) dan secondary cache yang disebut juga cache level 2 ( L2 cache) seperti yang diperlihatkan pada gambar 4.7.

        Gambar 4.7.  Primary dan Secondary cache

Secara teori  cache dua tingkat (two-level cache) tersebut bekerja sebagai berikut:
⦁    pertama tama prosessor berusaha mengakses data yang dibutuhkannya (instruksi atau data) dari cache level 1 (L1 cache).
⦁    Jika data yang dimaksud/dicari ada dalam L1 cache, data-data tersebut diambil dari L1 cache (“L1 cache hit”)
⦁    Jika data yang dimaksud/dicari tidak berada dalam L1 cache (“L1 cache miss”), maka data harus diambil dari L2 cache atau dari main memori.
⦁    Jika data tidak tersedia di L1 cache (“L1 cache miss”), cache controller berusaha mengakses data dari L2 cache.
⦁    Jika data yang dibutuhkan ada dalam L2 cache, maka data-data diambil dari L2 cache (“L2 cache hit”) data (word) diberikan kepada prosessor dan kemudian block data tersebut ditulis atau disimpan ke dalam L1 cache.
⦁    Jika data yang dibutuhkan tidak juga terdapat pada L2 cache (L2 cache miss), maka data harus diambil dari main memori dan diberikan kepada prosessor. Block data dari main memori tersebut kemudian ditulis atau disimpan kedalam L2 dan L1 cache.

    Dari penjelasan diatas jelas terlihat bahwa data yang sama berada pada tiga tempat secara simultan; pada L1 cache, L2 cache dan memori utama, dan dapat dilihat bahwa L1 cache selalu dalam keadaan busy sedangkan L2 cache lebih banyak dalam keadaan idle. Walaupun kebanyakan komputer mensuport system two-level cache, three-level cache juga digunakan pada beberapa prosessor. Sebagai contoh, Prosessor 21164 Compaq Alpha (yang sebelumnya DEC Alpha) menyediakan support /dukungan untuk three-level caches. Dua level cache pertama yaitu L1 dan L2 berada dalam chip prosessor (onchip) dan cache level ketiga yaitu L3 berada pada chip yang terpisah dari CPU (offchip). Kapasitas cache level ke tiga atau L3 cache bisa berukuran 1, 2, 4, 8,16, 32 atau 64 MB.
    Cache tidak bisa di-upgrade karena cache harus sesuai dengan tiper prosesor komputer yang kita beli. Berdasarkan hirarki memori, cache memory merupakan memori  yang terletak antara processor dan memori utama (main memory). Keberadaan Cache memori  dapat mengatasi  gap yang timbul antara prosessor dan memori utama  akibat perbedaan kecepatan yang dimiliki keduanya. Sehingga keberadaan cache memori dapat membantu  meningkatkan kinerja sistem komputer.

4.9.2.  Bagaimana Memori Cache Bekerja
Cache memory diletakkan/ditempatkan antara CPU dan memori utama seperti yang terlihat pada Gambar 4.8.  Kapasitas cache memory lebih kecil dibandingkan dengan memori utama. Sebagai contoh, pada PC kapasitas memori utama biasanya berkisar antara 128 MB sampai 256 MB. Sedangkan cache berkisar 16 sampai 512 KB. Cache memori biasanya merupakan SRAM sedangkan memori utama umumnya DRAM.
    CPU bekerja jauh lebih cepat dibandingkan dengan RAM, maka CPU pun lebih sering bersikap menunggu, yang tentu saja tidak efisien. Untuk mengurangi dampak tersebut, ada area yang disebut cache (dibaca “cash”). Cache menyimpan instruksi dan data yang sering digunakan komputer secara temporer, sehingga pemrosesan bisa berjalan lebih cepat. Chip SRAM sering digunakan sebagai cache.

         
           
               Gambar 4.8.  Operasi pembacaan cache

Write Policies
Pada dasarnya ada dua  cara penulisan data ke dalam cache memory yaitu write-through dan write-back. Pada write-through policy, setiap prosessor melakukan proses write (menyalin data) ke dalam cache, data yang sama juga di copykan ke dalam memory utama. Operasi penulisan melibatkan data pada memori utama dan sekaligus pada cache memori sehingga data selalu valid. Kekurangan teknik ini adalah Lalu lintas data ke memori utama dan cache sangat tinggi, Mengurangi kinerja sistem, bisa terjadi hang. Gambar 4.9. (a) dan (b) memperlihatkan proses write-through policy.

        
           Gambar  4.9. Proses write-through policies

    Write-back policy disebut juga copy-back policy, dimana update hanya dilakukan pada cache memory. Seperti yang diperlihatkan pada Gambar 4.10. Teknik meminimasi penulisan dengan cara penulisan pada cache saja. Pada saat akan terjadi penggantian blok data cache maka baru diadakan penulisan pada memori utama. Masalah : manakala data di memori utama belum di-update telah diakses modul I/O sehingga data di memori utama tidak valid
     Gambar 4.10. Operasi write hit pada  write-back cache

Rangkuman
⦁    Memori adalah bagian dari komputer tempat program program dan data – data     disimpan
⦁    Elemen dasar memori adalah sel memori. Sel memori dipresentasikan dengan     bilangan biner 1 atau 0. Sel memori mempunyai kemampuan untuk ditulisi     dandibaca.
⦁    Untuk mempelajari sistem memori secara keseluruhan, harus mengetahui     karakteristik – karakteristik kuncinya yaitu: Lokasi, Kapasitas, Satuan Transfer,     Metode Akses, Kinerja, Tipe Fisik dan Karakteristik Fisik.
⦁    Untuk memperoleh keandalan sistem ada tiga pertanyaan yang diajukan: Berapa     banyak ? Berapa cepat? Berapa mahal?
⦁    Dalam melaksanakan fungsi penyimpanan, memori semikonduktor dimungkinkan     mengalami kesalahan. Untuk mengadakan koreksi kesalahan data yang disimpan     diperlukan dua mekanisme, yaitu mekanisme pendeteksian kesalahan dan     mekanisme perbaikan kesalahan.
⦁    Cache memori difungsikan mempercepat kerja memori sehingga mendekati     kecepatan prosesor.

Soal-Soal
⦁    Buatlah konfigurasi yang menggambarkan prosesor empat buah ROM 1K x 8-bit dan bus yang berisi 12 saluran alamat dan 8 saluran data. Tambahkan blok logic chip select yang memilih salah satu dari keempat modul ROM untuk masing2 alamat 4K.
⦁    Jelaskan fungsi utama dari memori dan karakteristiknya.
⦁    Jelaskan tipe dari memori, waktu dan pengontrolanna.
⦁    Buatlah seuah kode SEC untuk word data 16-bt. Turunkan kode untuk word data 0101000000111001. Buktikan bahwa kode akan mengidentifikasi dengan benar sebuah error pada data bit 4.
⦁    Cache assoiatif set terdiri dari 64 saluran, atau slot-slot yang terbagi menjadi set-set 4 slot. Memori utama berisi 4K blok masing-masing terdiri 128 word. Jelaskan format alamat-alamat
memori utama

1 komentar:

  1. maaf kak boleh minta daftar pustaka tentang materi operasi dasar memori? buat tugas kuliah kak terimakasihh

    BalasHapus