Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Memory Data Register (MDR) vs Memory Buffer Register (MBR)

Wikipedia gives similar definition for Memory Data Registers and Memory Buffer Registers.

Yet, its page on processor registers differentiate the two without saying what sets them apart (https://en.wikipedia.org/wiki/Processor_register). So, is there any difference between MBRs and MDRs? If yes, what makes them different?

Thank you for your help!

like image 702
hokkaidi Avatar asked Mar 02 '16 21:03

hokkaidi


2 Answers

The Wikipedia article you referenced is currently very low quality. But the terms MDR and MBR reminded me of a Stackoverflow question I answered a few months ago.

My guess is that whoever created the MDR and MBR entries on Wikipedia was using one of Williams Stallings textbooks. I don't know for sure and there are no references on either of the stub pages. And I haven't read Stallings' books, but I remember some of the details from the previous question that I answered and it looks very similar.

In either case the "Internal registers" section of the Wikipedia page on Processor register is not currently reliable information and does not provide an explanation that is generally applicable to most CPUs.

like image 122
Gabriel Southern Avatar answered Oct 24 '22 06:10

Gabriel Southern


I think the difference has become blurred or perhaps meaningless. In the IBM 1620 Data Processing System (introduced in 1959), the MBR holds data read from core or about to be written to core. The 1620 MBR is two bytes* wide to speed up instruction fetching, but most data operations are performed on single bytes. The byte under scrutiny, which came from/goes to either the odd or even half of the MBR, lives in the MDR, which is one byte wide.

  • Not eight bits. It's complicated.
like image 42
David Wise Avatar answered Oct 24 '22 05:10

David Wise