Arsip Blog

Senin, 11 Juli 2005

Memori Komputer

Memori merupakan istilah generik yang merujuk pada media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang diproses oleh prosesor akan disimpan di dalam memori fisik. Data yang disimpan dalam memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup). Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan hilang.


Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke dalam media penyimpanan permanen (umumnya berbasis disk, semacam hard disk atau floppy disk), sehingga data tersebut dapat dibuka kembali di lain kesempatan. Memori fisik umumnya diimplementasikan dalam bentuk Random Access Memory (RAM), yang bersifat dinamis (DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial).


Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak dapat ditulisi sewaktu-waktu. Selain itu, hard disk yang juga merupakan salah satu media penyimpanan juga dapat diakses secara acak, tapi ia tidak digolongkan ke dalam Random Access Memory.


Penggunaan memori

Komponen utama dalam sistem komputer adalah Arithmetic and Logic Unit (ALU), Control Circuitry, Storage Space dan piranti Input/Output. Tanpa memori, komputer hanya berfungsi sebagai piranti pemroses sinyal digital saja, contohnya kalkulator atau media player. Kemampuan memori untuk menyimpan data, instruksi dan informasi-lah yang membuat komputer dapat disebut sebagai komputer multi-fungsi (general-purpose). Komputer merupakan piranti digital, maka informasi disajikan dengan sistem bilangan biner (binary). Teks, angka, gambar, suara dan video dikonversikan menjadi sekumpulan bilangan biner (binary digit atau disingkat bit). Sekumpulan bilangan biner dikenal dengan istilah BYTE, dimana :
1 bita = 8 bit
1 bit = 1 karakter
1 kilobita = 1024 bita
bps = bit per second 1 kbps = 1000 bps 1 mbps = 1.000.000 bps


Semakin besar ukuran memorinya maka semakin banyak pula informasi yang dapat disimpan di dalam komputer (media penyimpanan).

Jenis-jenis memori
Beberapa jenis memori yang banyak digunakan adalah sebagai berikut:

  1. Register prosesor

  2. RAM atau Random Access Memory

  3. Cache Memory (SRAM) (Static RAM)

  4. Memori fisik (DRAM) (Dynamic RAM)

  5. Perangkat penyimpanan berbasis disk magnetis

  6. Perangkat penyimpanan berbasis disk optik

  7. Memori yang hanya dapat dibaca atau ROM (Read Only Memory)

  8. Flash Memory

  9. Punched Card (kuno)

  10. CD atau Compact Disk

  11. DVD


Pembagian memori
Dalam pembicaraan mengenai arsitektur komputer seperti arsitektur von Neumann, misalnya, kapasitas dan kecepatan memori dibedakan dengan menggunakan hierarki memori. Hierarki ini disusun dari jenis memori yang paling cepat hingga yang paling lambat; disusun dari yang paling kecil kapasitasnya hingga paling besar kapasitasnya; dan diurutkan dari harga tiap bit memori-nya mulai dari yang paling tinggi (mahal) hingga yang paling rendah (murah).


 

Register prosesor

Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.


Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.


Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tetapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.


Jenis register
Register terbagi menjadi beberapa kelas:

  • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).

  • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.

  • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.

  • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).

  • Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.

  • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.

  • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.

  • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.


 

Ukuran register


Tabel berikit berisi ukuran register dan padanan prosesornya



























RegisterProsesor
4-bitIntel 4004
8-bitIntel 8080
16-bitIntel 8086Intel 8088Intel 80286
32-bitIntel 80386Intel 80486Intel Pentium ProIntel PentiumIntel Pentium 2Intel Pentium 3Intel Pentium 4Intel CeleronIntel XeonAMD K5AMD K6AMD AthlonAMD Athlon MPAMD Athlon XPAMD Athlon 4AMD DuronAMD Sempron
64-bitIntel ItaniumIntel Itanium 2Intel XeonIntel CoreIntel Core 2AMD Athlon 64AMD Athlon X2AMD Athlon FXAMD Turion 64AMD Turion X2AMD Sempron

 

Random access memory (RAM)
RAM (Random access memory) adalah sebuah tipe penyimpanan komputer yang isinya dapat diakses dalam waktu yang tetap tidak memperdulikan letak data tersebut dalam memori. Ini berlawanan dengan alat memori urut, seperti tape magnetik, disk dan drum, di mana gerakan mekanikal dari media penyimpanan memaksa komputer untuk mengakses data secara berurutan.


Pertama kali dikenal pada tahun 60'an. Hanya saja saat itu memori semikonduktor belumlah populer karena harganya yang sangat mahal. Saat itu lebih lazim untuk menggunakan memori utama magnetic.


Perusahaan semikonduktor seperti Intel memulai debutnya dengan memproduksi RAM , lebih tepatnya jenis DRAM.


Biasanya RAM dapat ditulis dan dibaca, berlawanan dengan ROM (read-only-memory), RAM biasanya digunakan untuk penyimpanan primer (memori utama) dalam komputer untuk digunakan dan mengubah informasi secara aktif, meskipun beberapa alat menggunakan beberapa jenis RAM untuk menyediakan penyimpanan sekunder jangka-panjang.


Tetapi ada juga yang berpendapat bahwa ROM merupakan jenis lain dari RAM, karena sifatnya yang sebenarnya juga Random Access seperti halnya SRAM ataupun DRAM. Hanya saja memang proses penulisan pada ROM membutuhkan proses khusus yang tidak semudah dan fleksibel seperti halnya pada SRAM atau DRAM. Selain itu beberapa bagian dari space addres RAM ( memori utama ) dari sebuah sistem yang dipetakan kedalam satu atau dua chip ROM.


Tipe umum






Beberapa jenis RAM. Dari atas ke bawah: DIP, SIPP, SIMM 30 pin, SIMM 72 pin, DIMM, DDR DIMM.





Ada 2 tipe RAM yang dikenal secara umum, RAM Statis (SRAM), dan RAM Dinamis (DRAM). Pada SRAM, sedikit data disimpan dengan metode yang dikenal dengan metode memory cell 6 transistor. RAM tipe ini akan lebih mahal untuk di produksi, namun secara umum lebih cepat dan membutuhkan lebih sedikit daya daripada DRAM, dan, di komputer-komputer modern, sering digunakan sebagai memory cache pada CPU. DRAM menyimpan sedikit data menggunakan transistor dan kapasitor (sepasang), yang di mana bersama-sama meliputi sebuah memory cell DRAM. Kapasitornya menahan beban/daya tinggi atau rendah (1,0, masing-masing ), dan transistornya berperan sebagai saklar yang memberikan kontrol sirkuit pada chip untuk membaca status daya dari kapasitor atau menggantinya. Di karena kan jenis memory ini yang relatif lebih murah untuk diproduksi daripada SRAM, maka DRAM adalah wujud dari RAM yang lebih sering digunakan pada komputer-komputer modern.


Baik RAM Statis maupun RAM Dinamis, dianggap rentan, di mana keadaannya akan hilang atau ter-reset saat sistem kehilangan daya. Sebaliknya, ROM (dalam bahasa Inggris : Read-Only Memory) menyimpan data dengan cara mengaktifkan / menonaktifkan transistor terpilih secara permanen, demikian sehingga memory-nya tidak dapat diubah. Variasi ROM yang dapat di-meyimpan data (seperti EEPROM dan Flash Memory) berbagi data baik di ROM maupun RAM, membuat data menjadi bisa diakses tanpa daya dan dapat diperbaharui tanpa butuh alat-alat spesial. ROM semikonduktor ini termasuk USB flash drives, memory card untuk kamera, perangkat portabel, dll. ECC Memory (yang di mana bisa berupa SRAM maupun DRAM) memiliki sirkuit khusus untuk mendeteksi atau mengkoreksi kesalahan yang acak (memory error) di dalam data yang tersimpan, menggunakan menggunakan bit paritas (parity bits) atau kode koreksi error (error correction code).


Secara umum, istilah RAM mengacu kepada perangkat-perangkat solid-state memory (baik SRAM maupun DRAM), dan lebih spesifiknya memory utama pada kebanyakan komputer. Pada optical storage, istilah DVD-RAM adalah sedikit keliru karena, tidak seperti CD-RW atau DVD-RW, DVD-RAM tidak perlu dibersihkan datanya (erased) sebelum penggunaan ulang (reuse). Namun DVD-RAM berperilaku/bekerja seperti sebuah Hard-Disk Drive (HDD) walau lebih lamban.


RAM pada umumnya memiliki 2 tipe berdasarkan penggunaanya pada PC atau laptop/notebook, RAM berjenis DIMM (Dual In-line Memory Module) dan SODIMM (Small Outline Dual In-line Memory Module). Jenis RAM SODIMM biasa dipakai di perangkat yang memiliki space atau ruang yang sempit seperti laptop atau notebook, small footprint, high-end printer dan router. Sedangkan RAM jenis DIMM biasa digunakan pada Komputer atau PC.


 

Cache Memory (SRAM) (Static RAM)


Tembolok atau memori singgahan (Inggris: 'cache') dalam teknologi informasi adalah mekanisme penyimpanan data sekunder berkecepatan tinggi yang digunakan untuk menyimpan data / instruksi yang sering diakses. Memori cache dimaksudkan untuk memberi kecepatan memori yang mendekati memori yang paling cepat yang bisa diperoleh, dan pada waktu yang sama menyediakan kapasitas memori yang besar dengan harga yang lebih murah dari jenis-jenis memori semikonduktor.


Konsep memori singgahan


Pengertian singgahan


Istilah Cache berasal dari kata bahasa Perancis cache yang berarti tempat sembunyi. Sesuai definisi tersebut cache adalah tempat menyimpan data sementara. Mekanisme ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada singgahan tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat. Singgahan adalah memoritipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang lebih mahal dari memori utama. Memori singgahan ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu pada memori utama.


Tingkatan singgahan


Memori singgahan bisa terdiri dari beberapa tingkatan, misalnya L1,L2 dan L3. Singgahan memori level 1 (L1) adalah memori singgahan yang terletak dalam prosesor (cache internal). Singgahan ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb. Singgahan level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun singgahan L2 ini memiliki kecepatan yang lebih rendah dari singgahan L1. Singgahan L2 terletak terpisah dengan prosesor atau disebut dengan singgahan eksternal. Sedangkan singgahan level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari singgahan L2 dari masing-masing inti prosesor.

Cara kerja singgahan

Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada singgahan. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, singgahan dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori singgahan yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.


Dua jenis singgahan yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.


Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk cachingmenggunakan sebagian dari memori komputer.


Stuktur sistem singgahan

Memori utama terdiri dari sampai dengan 2n word beralamat, dengan masing-masing word mempunyai n-bit alamat yang unik. Untuk keperluan pemetaan, memori ini dinggap terdiri dari sejumlah blok yang mempunyai panjang K word masing-masing bloknya. Dengan demikian, ada M = 2n/K blok. Cache terdiri dari C buah baris yang masing-masing mengandung K word, dan banyaknya baris jauh lebih sedikit dibandingkan dengan banyaknya blok memori utama (C << M). Di setiap saat, beberapa subset blok memori berada pada baris dalam cache. jika sebuah word di dalam blok memori dibaca, blok itu ditransfer ke salah satu baris cache. karena terdapat lebih banyak blok bila dibanding dengan baris, maka setiap baris tidak dapat menjadi unik dan permanen untuk dipersempahkan ke blok tertentu mana yang disimpan. Tag biasanya merupakan bagian dari alamat memori utama.


Elemen rancangan singgahan

Elemen-elemen penting dari rancangan memori singgahan adalah sebagai berikut:




  • Ukuran singgahan, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache.

  • Fungsi pemetaan (Mapping), terdiri dari Pemetaan Langsung, Asosiatif, Asosiatif Set.Pemetaan langsung merupakan teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Pemetaan asosiatif dapat mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache.Hal ini menurut artikel dari Yulisdin Mukhlis, ST., MT

  • Algoritme penggantian, terdiri dari Least Recently Used (LRU), First in First Out (FIFO), Least Frequently Used (LFU), Acak. Algoritme penggantian digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat bagi blok baru. Ada 2 metode algoritme penggantian yaitu Write-through dan Write-back.Write-through adalah Cache dan memori utama diupdate secara bersamaan waktunya. Sedangkan Write-back melakukan pemutakhiran data di memori utama hanya pada saat word memori telah dimodifikasi dari singgahan.

  • Ukuran blok, blok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati singgahan. 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 di perlukan dalam waktu dekat.(Dikutip dari artikel milik Yulisdin "Mukhlis, ST., MT")

  • Line size, jumlah singgahan, satu atau dua dua tingkat, kesatuan atau terpisah


Istilah penting yang berhubungan

  • Cache hit, jika data yang diminta oleh unit yang lebih tinggi dan ada dalam cache disebut "hit". Permintaan dapat dilayani dengan cepat. Maksud urutan unit dari rendah hingga tinggi yaitu: Streamer - Hardisk Memori - Second Level - First level - CPU cache.

  • Cache miss, bila data yang diminta tidak ada dalam cache, harus diambil dari unit dibawahnya yang cukup memakan waktu. Ini disebut miss (gagal)

  • Burst mode, dalam modus cepat ini cache mengambil banyak data sekaligus dari unit dibawahnya. Ia mengambil lebih dari yang dibutuhkan dengan asumsi, data yang diminta berikutnya letaknya berdekatan.

  • LRU (Least Recently Used) adalah algoritme penggantian cache.

  • COASTCache on the stick adalah bentuk khusus L2, yang dapat diganti-ganti seperti RAM dan ditempatkan pada modul.

  • DRAM, memori dinamik (''Dynamic Random Access Memory) adalah bentuk yang paling umum. DRAM hanya menggunakan sebuah kapasitor untuk menyimpan, sehingga kecil dan murah untuk kapasitas besar. Kekurangannya: kecepatannya tidak begitu tinggi.

  • SRAM, memori statik (Static RAM) ini menggunakan sakelar elektronik (flip-flop) untuk menyimpan. secara teknis flip-flop pada RAM lebih rumit dari kapasitor pada DRAM. Karena lebih cepat, SRAM biasanya digunakan untuk cache L1 atau L2.

  • SDRAM, memori dinamik tersinkronisasi (Synchronous DRAM) merupakan perkembangan lebih lanjut dari DRAM. Akses pada memori disinkronkan dengan frekuensi sistem prosesorsehingga menghemat waktu. Pada motherboard modern, SDRAM berfungsi sebagai pengganti langsung DRAM.

  • First level cache (L1), ini tingkat cache teratas dalam hierarki, dengan kapasitas memori terkecil, termahal dan tercepat.

  • Second level cache (L2), cache level dua ini memiliki kapasitas lebih besar dari L1, tetapi lebih lambat dan murah. Cache L2 masih lebih cepat dibandingkan dengan RAM.

  • Write back (WB), cache digunakan tidak hanya saat membaca, tetapi juga dalam proses menulis.

  • Write through (WT), mementingkan keamanan: cache hanya digunakan saat membaca, sedangkan untuk menulis ditunggu hingga memori yang dituju selesai menulis...


 

Tidak ada komentar:

Posting Komentar