I don't know if this is the right forum to post this question, but I thought so because this forum is for educators and I'm a trainer and my question is related to education.
I want to do an introduction for a technical manual about basics of microcontroller, and got to the memory chapter.
I started with a definition for the three main memory types in a microcontroller, which are:
- Program memory (ROM): Which is basically a flash memory for storing the program HEX file for execution.
- Data memory (RAM): Which is for processing data during operation of the microcontroller, but the data is lost after resetting the microcontroller.
- EEPROM: Which has the advantage of reading and writing data during the operation of the microcontroller and also keep the data after resetting the device.
Then, I posted a picture of microcontroller's block diagram and how it's connected to the internal units as a subtitle of the memory chapter.
The next subtitle is the term "registers" as they are the building block of any type of MEMORY in computer, whether it's ROM, RAM or EEPROM. Because I found this information in a website, and want to be sure.
This is the link to the website:
Section 5.1: Registers. As the previous section is 4. Program Memory.
Then in section 5. Data memory, the author explain the sub-parts of Data memory which are:
- 5.1 Registers
- 5.2 Bits and bytes
So, my question here, is: Registers are memory cells to every memory type, and the difference is that ROM memory are non-volatile registers, RAM are volatile registers and EEPROM is also non-volatile registers? So they all are basically register.
Add1: I want to add this picture I found in an eBook:
So, the only memory called registers is the CPU registers other memories called just memory. But how about the arrangement in microcontroller sector?
My updated question is how registers differ from other memory cells in other types of memories? Like, Flash and EEPROM memories.