Electrical – What to call the cells of memory in a computer or a microcontroller

eepromramrom;

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:

  1. Program memory (ROM): Which is basically a flash memory for storing the program HEX file for execution.
  2. Data memory (RAM): Which is for processing data during operation of the microcontroller, but the data is lost after resetting the microcontroller.
  3. 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:

Link

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:

computer memory classification

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.

Best Answer

In my mind, a register is a storage location that is within the CPU, or directly addressable by the CPU - things like the Accumulator, index registers, and similar things. I would not say that EPROM, FLASH and RAM have registers.

If you look at the assembly-language instruction set for a microprocessor or microcontroller, you will see that some instructions deal with registers, while others deal with RAM, EPROM or FLASH memory access, so the processor sees a register as something different than a memory location.