Menu
CoddyTech

Register vs Memori

Termasuk bagian Dasar-Dasar dalam perjalanan Assembly di Coddy. Pelajaran 3 dari 45.

Kamu kini telah mempelajari dua tempat penyimpanan data di dalam komputer:

  • Register: kotak penyimpanan kecil di dalam CPU
  • Memori (RAM): kisi-kisi besar berisi slot bernomor di luar CPU

Tetapi mengapa ada dua tempat? Mengapa CPU tidak menyimpan semuanya di memori?

Jawabannya adalah kecepatan. Register sangat cepat karena berada di dalam CPU. Memori lebih lambat karena berada di luar. CPU dapat mengakses register dalam satu siklus, tetapi mengakses memori membutuhkan waktu jauh lebih lama.

Perbandingan berdampingan:

FiturRegisterMemori (RAM)
LokasiDi dalam CPUDi luar CPU
KecepatanSangat cepat (1 siklus)Lebih lambat (banyak siklus)
Jumlah slot penyimpananSangat sedikit (16-32 pada x86-64)Jutaan atau miliaran
Ukuran setiap slot8 byte (64 bit)1 byte
Cara mengaksesnyaDengan nama (rax, rbx, rcx...)Dengan alamat (1000, msg, buffer)
Volatil?Ya (hilang saat daya dimatikan)Ya (hilang saat daya dimatikan)

Aturan terpenting dalam assembly:

Sebuah instruksi dapat menggunakan paling banyak satu operand memori. Untuk menggabungkan dua nilai yang keduanya berada di memori, muat salah satunya ke dalam register terlebih dahulu.

Register juga menjadi tempat untuk menyimpan nilai yang kamu gunakan, karena setiap akses ke memori berlangsung lambat.

Pola tiga langkah yang akan sering kamu gunakan:

LangkahYang terjadiContoh
1. LOADSalin data dari memori ke dalam registermov rax, [count]
2. WORKLakukan sesuatu dengan registeradd rax, 5
3. STORESalin hasilnya kembali ke memori (jika diperlukan)mov [result], rax

Apa yang terjadi jika kamu lupa aturan ini?

Jika kamu mencoba menjumlahkan dua angka yang keduanya berada di memori, assembler akan memberikan error. CPU tidak dapat melakukannya. Kamu harus memuat salah satunya ke dalam register terlebih dahulu.

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Assembly