Pada tulisan sebelumnya, sudah dibahas terkait memori pada komputer — secara umum — baik yang bersifat volatil maupun non-volatil.
Nah, pada tulisan ini akan dibahas sedikit lebih detail bagaimana cara memori menyimpan data, khususnya pada volatile memory seperti register, cache memory, dan RAM.

Ilustrasi: Sel-Sel pada Memori
Ilustrasi: Sel-Sel pada Memori.
Struktur Fisik Memori

Secara fisik, memori terdiri dari jutaan sel, di mana setiap sel menyimpan 1 bit data, yaitu 0 atau 1. Bit-bit ini digabungkan menjadi satuan data yang lebih besar:

  • 1 Byte = 8 bit
  • 1 Word = 2 byte (16 bit)
  • 1 Double Word (DWORD) = 4 byte (32 bit)
  • 1 Quad Word (QWORD) = 8 byte (64 bit)
  • 1 Paragraph = 16 byte (128 bit)

Catatan: Ukuran word bisa berbeda tergantung arsitektur. Pada sistem 32-bit (x86), 1 word = 2 byte. Namun pada arsitektur 64-bit modern, 1 word dapat berarti 8 byte.

Setiap byte dalam memori memiliki alamat unik (memory address) yang memungkinkan CPU membaca atau menulis ke lokasi tersebut.

Representasi Data di Memori

Semua data dalam komputer — teks, angka, gambar, hingga suara — harus dikonversi ke dalam bentuk biner (bit-bit 0 dan 1) agar bisa disimpan di memori.

Contoh representasi data di memori:

  • Huruf ‘B’ = 66 (dalam kode ascii) = 0x42 = 0100 0010 (1 byte)
  • Bilangan bulat 16800 = 0x41D0 = 0100 0001 1101 0000 (2 byte)
  • String ‘ABC’ = 0x41 0x42 0x43 = 0100 0001 0100 0010 0100 0011 (3 byte)
Alamat Memori (Memory Address)

Memori komputer bersifat random-access, artinya CPU bisa langsung mengakses lokasi memori manapun tanpa harus berurutan.

Contoh penyimpanan string "ABC" di memori:

Alamat MemoriNilai (Hex)Nilai (Biner)Nilai (ASCII)
0x10000x410100 0001‘A’
0x10010x420100 0010‘B’
0x10020x430100 0011‘C’
Endianness: Urutan Penyimpanan Byte

Untuk data yang terdiri lebih dari 1 byte (misalnya bilangan int atau float), cara penyimpanan byte-nya di memori tergantung pada arsitektur sistem:

  • Little Endian: Byte paling rendah (Least Significant Byte / LSB) disimpan terlebih dahulu.
  • Big Endian: Byte paling tinggi (Most Significant Byte / MSB) disimpan terlebih dahulu.

Contoh penyimpanan bilangan 0x12345678 (4 byte):

ArsitekturUrutan Penyimpanan di Memori
Little Endian78 56 34 12
Big Endian12 34 56 78
Proses Penyimpanan Data oleh CPU

Bagaimana CPU menyimpan data ke memori? Prosesnya secara umum:

  1. CPU mengirimkan alamat memori ke Address Bus.
  2. Data dikirim melalui Data Bus.
  3. Memory Controller mengaktifkan sinyal Write.
  4. Sel memori menyimpan bit-bit data ke lokasi yang ditentukan.

Proses ini terjadi dalam hitungan nanodetik, dan bisa melibatkan cache memory jika data dianggap “sering digunakan”.

Penutup

Itulah gambaran bagaimana memori — khususnya volatile memory seperti RAM dan register — menyimpan data. Mulai dari representasi biner, penataan alamat, urutan byte (endianness), hingga proses teknis penyimpanan oleh CPU.

Sekian, semoga bermanfaat.

CMIIW.