0
\$\begingroup\$

After Googling around for some time, I have managed to get a good understanding what makes these components different, but I've yet to find any clear computer architecture-focused article/thread on how these types of memory interact with each other.

Any responses or links to articles is appreciated.

\$\endgroup\$
0

1 Answer 1

3
\$\begingroup\$
  1. RAM and ROM are connected to the CPU through a memory bus (data and address lines). They don't interact directly with each other. The CPU can read from both but write only to RAM.
  2. Cache is fast internal memory sits between the memory bus and the CPU. When the CPU wants to read something (data, instructions, etc) it will first check whether it's already in the cache and get it from there. If not, it will read through the memory bus from other memory and also store it in the cache so it can be accessed quicker next time you need it.
  3. Registers are internal memory locations that are directly connected to specific parts of the CPU. There are typically a lot of them and the interaction depends on purpose the register serves. For example a a configuration register for an I2S port is in essence just a bunch of knobs and switches that control the behavior of this port. "Universal registers" are very flexible pieces of hardware that can be used to do math, define an address, read/write from memory, increment a pointer, etc.
\$\endgroup\$
1
  • \$\begingroup\$ Seems like a good introductory. Thanks! \$\endgroup\$
    – EL02
    Commented Mar 1, 2022 at 22:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.