Selasa, 04 Juli 2017

Penjelasan Memori Arduino, EEPROM, Flash, dan SRAM

Layaknya otak manusia, yang mampu menyimpan ingatan dalam memori. Arduino,  juga memiliki memori untuk menyimpan data dan program. 

Disini ane akan menjelaskan tentang memori pada Arduino, mulai dari ukuran,  jenis-jenisnya,  hingga kelebihan dan kekurangannya masing-masing memori. 

Perlu digaris bawahi,  bahwa struktur memori pada semua board Arduino adalah sama. Namun tidak untuk Arduino Due yang memiliki arsitektur komputer yang berbeda. 

Terdapat tiga jenis memori yang terdapat pada Arduino.

- Flash Memory atau program space,  memori untuk menyimpan sketch/program Arduino.

- SRAM (Static Random Access Memory), memori untuk menyimpan data-data variabel sementara.

-EEPROM (Electrically Eraseable Programmable Read Only Memory),  memori yang menyimpan data variabel dalam jangka waktu yang lama(long-term information).

Nah, Flash Memory dan EEPROM masuk dalam kategori memori non-volatile. Artinya, sekalipun Arduino kehilangan catu daya, data atau program pada kedua memori tersebut tidak akan hilang. Sedangkam SRAM masuk dalam kategori memori volatile, yang datanya akan hilang ketika Arduino kehilangan catu daya. 

Mengenai ukuran memori. Setiap Arduino memiliki ukuran yang berbeda-beda tergantung dari jenis IC Mikrokontroller yang digunakan.  Kita ambil contoh Arduino UNO yang menggunakan IC AtMega 328P. Dimana:

- Flash Memory,  32KB namun 5KB-nya sudah digunakan untuk bootloader. Sehingga hanya sisa 27KB. 

- SRAM,  2KB

- EEPROM,  1KB

"Wah kecil banget ya??? " Haha...  emang kecil banget.  Wong saat ini memori internal HP sudah ada yang 32GB.  Namun,  bagi para pemula, memori 32KB Arduino kadang masih dirasa cukup besar.

Perlu diperhatikan bahwa ukuran SRAM di Arduino UNO hanya 2KB. Oleh karena itu, pada saat deklarasi variabel, gunakan jenis tipe data sesuai dengan kapasitasnya. Hal ini untuk menghindari kepenuhan pada SRAM,  karena jika SRAM kepenuhan, Arduino akan bekerja tidak normal. 

1 komentar: