Minggu, 29 Oktober 2023

Pertemuan 3

 MEMORY, REGISTER, TIMER & COUNTER MIKROKONTROLER ATMEGA 16/32/8535


Program Memory, Data Memory, dan EEPROM 

adalah tiga jenis memori yang terdapat pada mikrokontroler, termasuk ATMEGA 16/32/8535. Berikut adalah penjelasan singkat tentang ketiga jenis memori tersebut:

  • Program Memory: merupakan memori yang digunakan untuk menyimpan program atau firmware yang akan dijalankan oleh mikrokontroler. Program Memory pada ATMEGA 16/32/8535 terdiri dari 8 KB memori flash yang dapat diprogram secara in-system.
  • Data Memory: merupakan memori yang digunakan untuk menyimpan data yang dibutuhkan oleh program yang dijalankan oleh mikrokontroler. Data Memory pada ATMEGA 16/32/8535 terdiri dari 32 x 8 general purpose working registers dan 32 buah saluran I/O, yaitu Port A, Port B, Port C, dan Port D.
  • EEPROM (Electrically Erasable Programmable Read-Only Memory): merupakan memori non-volatile yang dapat dihapus dan diprogram ulang secara elektrik. EEPROM pada ATMEGA 16/32/8535 digunakan untuk menyimpan data yang perlu disimpan secara permanen, seperti konfigurasi sistem atau data yang harus dipertahankan meskipun daya listrik terputus.

Program Memory dan Data Memory terletak pada bagian utama mikrokontroler, sedangkan EEPROM terletak pada bagian yang terpisah. Program Memory dan Data Memory pada ATMEGA 16/32/8535 terletak pada user program space, sedangkan EEPROM terletak pada user configuration space. Program Memory dan Data Memory dapat diakses secara langsung oleh CPU, sedangkan EEPROM memerlukan instruksi khusus untuk membaca atau menulis data.


General Purpose Register (GPR) 

adalah register yang digunakan untuk menyimpan data sementara dalam pengolahan data oleh CPU. ATMEGA 16/32/8535 memiliki 32 buah GPR yang terdiri dari 8-bit dan dapat diakses langsung oleh CPU. GPR pada ATMEGA 16/32/8535 terletak pada user data space dan dapat digunakan untuk menyimpan data yang dibutuhkan oleh program yang dijalankan oleh mikrokontroler. Setiap GPR pada ATMEGA 16/32/8535 juga memiliki alamat memori data yang terletak pada 32 lokasi pertama dari user data space. GPR pada ATMEGA 16/32/8535 dapat digunakan untuk berbagai keperluan, seperti untuk menyimpan data sementara, melakukan operasi aritmatika, dan mengakses port I/O. GPR pada ATMEGA 16/32/8535 juga dapat digunakan untuk melakukan operasi bit-wise, seperti shift, rotate, dan logical operations.



General Purpose Register (GPR) adalah jenis register dalam komputer yang memiliki beberapa fungsi utama:

  • Penyimpanan Data: Fungsi utama dari GPR adalah menyimpan data sementara yang digunakan dalam operasi komputasi. Ini bisa berupa bilangan, karakter, alamat memori, atau jenis data lainnya yang diperlukan dalam program komputer.
  • Operasi Aritmetika dan Logika: GPR digunakan dalam berbagai operasi aritmetika (seperti penambahan, pengurangan, perkalian) dan operasi logika (seperti AND, OR, NOT) dalam instruksi komputer. Data diambil dari GPR, dioperasikan, dan hasilnya seringkali disimpan kembali ke GPR yang sama atau GPR lainnya.
  • Penyimpanan Alamat Memori: GPR dapat digunakan untuk menyimpan alamat memori yang digunakan dalam operasi baca/tulis data dari/ke memori utama. Ini memungkinkan komputer untuk mengakses data dari lokasi yang berbeda dalam memori sesuai kebutuhan.Penyimpanan Nilai Kembalian: Saat suatu fungsi atau subroutine dalam program komputer selesai dijalankan, nilai kembalian sering disimpan dalam GPR. Ini memungkinkan nilai kembalian tersebut diakses oleh bagian program yang memanggil fungsi tersebut.
  • Operasi Penunjuk (Pointer): GPR dapat digunakan sebagai penunjuk (pointer) yang mengarahkan ke lokasi tertentu dalam memori atau ke struktur data lainnya. Ini berguna dalam pengolahan data yang lebih kompleks.Penyimpanan Data Sementara: GPR juga digunakan untuk menyimpan sementara data yang diperlukan dalam eksekusi instruksi, seperti data yang harus diakses berulang-ulang dalam suatu loop atau dalam rangkaian instruksi yang saling bergantung.

Status Register (SREG)

juga dikenal sebagai Register Status atau Register Flag, adalah sebuah register khusus yang digunakan dalam beberapa mikrokontroler dan mikroprosesor untuk melacak dan mengontrol status hasil dari operasi aritmetika dan logika. Status Register ini terutama digunakan dalam arsitektur yang menggunakan bahasa assembly, sehingga pemrogram dapat memantau dan merespons hasil operasi instruksi secara tepat.



SREG biasanya terdiri dari beberapa bit yang mewakili berbagai status dan flag. Beberapa flag umum yang terdapat dalam SREG meliputi:

  • Zero Flag (Z): Flag ini akan diatur jika hasil operasi adalah nol. Misalnya, setelah operasi pengurangan, jika hasilnya adalah 0, maka Z-flag akan diatur.
  • Carry Flag (C) Flag ini menunjukkan adanya carry atau pinjaman saat operasi aritmetika seperti penambahan. Ini memungkinkan perhitungan yang lebih besar dari kapasitas bit register yang digunakan.
  • Overflow Flag (V): Overflow flag mengindikasikan bahwa hasil operasi aritmetika tidak dapat direpresentasikan dalam batas-batas yang diizinkan oleh jumlah bit yang digunakan.
  • Sign Flag (S/N): Sign flag menunjukkan tanda dari hasil operasi, yaitu apakah hasilnya positif atau negatif.
  • Parity Flag (P): Parity flag menunjukkan apakah jumlah bit yang diatur (biasanya bit 1) dalam hasil operasi adalah ganjil atau genap.
  • Global Interrupt Flag (I): Flag ini digunakan untuk mengaktifkan atau menonaktifkan interupsi. Ketika I-flag diatur, interupsi dinonaktifkan.

Status Register ini digunakan oleh pemrogram untuk menguji status hasil operasi dan mengambil tindakan yang sesuai berdasarkan flag yang diatur atau dihapus. Misalnya, pemrogram dapat menggunakan SREG untuk mengecek apakah hasil operasi adalah nol atau negatif, dan berdasarkan itu, mereka dapat mengambil langkah-langkah yang sesuai dalam kode program.
Penting untuk memahami Status Register dalam pemrograman level rendah untuk mengendalikan dan memantau hasil operasi dan perilaku program secara efisien.

Stack Pointer (SP) 

adalah register yang digunakan dalam arsitektur komputer untuk melacak posisi atau alamat saat ini dalam stack, yang merupakan struktur data yang digunakan untuk menyimpan data secara tumpukan (LIFO, Last-In-First-Out). Stack digunakan dalam berbagai konteks dalam pemrograman komputer, termasuk saat pemanggilan fungsi, pengelolaan tumpukan data sementara, penyimpanan alamat pengembalian, dan pengelolaan data konteks.


referensi :

1. https://www.sciencedirect.com/topics/computer-science/general-purpose-register



Tidak ada komentar:

Posting Komentar

Pertemuan 3

 MEMORY, REGISTER, TIMER & COUNTER MIKROKONTROLER ATMEGA 16/32/8535 Program Memory, Data Memory, dan EEPROM   adalah tiga jenis memori y...