Is CPU Registers part of Primary Memory? 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:


Both (a) and (b) are true
Only (a) is true
Only (b) is true
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?
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.