0

Suppose you have two chips - for concreteness, say a CPU and a video chip - both of which want to access memory at the maximum bandwidth of which the memory is capable. Say each video frame is X bytes, the CPU wants to write X bytes to generate the next frame, the video chip wants to read X bytes to display the current frame and the memory has maximum bandwidth 60X bytes per second so it can handle either the read requests or the write requests but not both.

Is it possible to have two memory banks, each X bytes in size and each capable of 60X bytes per second, such that on even frames the CPU writes to the first bank and the video chip reads from the second bank, and on odd frames vice versa?

rwallace
  • 31,405
  • 40
  • 123
  • 242
  • 1
    Isn't that what double buffering is? The CPU writes to one memory chip while the video is reading from the other and when both are finished you do a page flip and then each has the other chip and starts again? http://wiki.osdev.org/Double_Buffering – Jerry Jeremiah Jan 24 '17 at 22:46
  • @JerryJeremiah Yeah, I'm asking whether the two buffers can be in separate memory banks so the CPU and the video chip can be accessing them simultaneously. – rwallace Jan 25 '17 at 01:21
  • 1
    They would have to be in separate memory banks. At least that's how I would do it. The hard part is knowing when to do the flip. – Jerry Jeremiah Jan 25 '17 at 01:26

0 Answers0