0
$\begingroup$

A friend of mine appeared in an exam recently, and one of the question asked was regarding CPU Registers, which has two points:

  • (a) CPU Registers are part of Primary Memory
  • (b) They are volatile

And the choices given were:

  1. Both (a) and (b) are true
  2. Only (a) is true
  3. Only (b) is true
  4. None of the above

They are volatile. So the second and forth options can be avoided. The confusion was regarding whether it was part of Primary Memory. To my knowledge, CPU Caches, RAMs and ROMs can be called as primary memory. But will CPU registers would be called as part of primary memory? Or will it be considered as Level0 caches?

$\endgroup$
  • $\begingroup$ Man, why don't they just ask this as two separate true/false questions? $\endgroup$ – David Richerby Jun 18 at 9:34
2
$\begingroup$

CPU registers are often counted as part of primary memory (since they are directly accessed by the CPU - see Wikipedia) and are often volatile, so it seems likely that the expected answer is (1).

However, this is one of those annoyingly ambiguous questions which depend on the student memorising a very specific set of definitions and ignoring any exceptions.

$\endgroup$
0
$\begingroup$

This depends on actual CPU. Any modern CPU contains its registers, so they aren't a part of memory. Caches by definition cannot be part of memory too - they are hidden (to programmer) structures making memory access faster.

$\endgroup$
0
$\begingroup$

Outside your course, the question would be: How do you define “primary memory” and how do you define “volatile”.

I’ve seen one CPU where registers were stored in RAM, so it depends on the CPU as well.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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