GARTHWILSON wrote:
Would you really want it going off board though?
Maybe I missed it, but I don't remember Dmitri talking about exposing the STD-bus so far off-board that it involves running ribbon cable half-way across a desk. A PCB card-edge connector would be sufficient.
Quote:
Although I have virtually no knowledge of color graphics displays, I would think the driver circuitry would be something you would especially want on the CPU board if possible.
The vast majority of computers have off-board display devices. Integrated chipsets are routinely disabled in favor of 3rd-party graphics cards manufactured by ATI or nVidia. Just about the only on-board video devices used today are those found in servers, and only for convenience's sake. Insofar as their capabilities, they're usually not much more sophisticated than the Amiga's display hardware (e.g., super-basic 2D acceleration on average).
And this is a good thing, because technologies advance regularly. That Matrox graphics card is awesome for AutoCAD and desktop publishing, but pathetic for arcade games. Conversely, that TV capture card (another extremely high-bandwidth device) has
no on-board analog at all. And what happens if you want to expand your computer from one monitor to two, but you only have one on-board video source?
Quote:
If the VIC used the same memory as the processor, you would have to slow the processor waaaaaaay down for them to work together, right?
Surprise!! The VIC-I and VIC-II chips use the same RAM that the processor uses. VIC-I relies exclusively on phase-1 access, while the VIC-II uses phase-1 for most, but occasionally needs phase-2 access as well (usually for sprite and character-matrix access). Google for "VIC-II bad-lines" for more detail on the subject than I can provide here.
This is why I said that the C64's bus runs at 2.016MHz (and, in fact,
any 65xx-bus will technically run at 2F, where F is the CPU's clock frequency. It
has to, by definition, for no 65xx processor transfers data during phase 1!).
Quote:
But I'm not sure if I understand you to be saying that it has its own separate video-memory bus.
You misunderstood greatly, I'm afraid.
I'm saying the
equivalent SPI interface for the C64's memory architecture must be
at least 52MHz in order to maintain its timing relationship with the processor. I also said that if you
optimize the interface (e.g.,
are no longer bus-timing-compatible with the VIC-II), you can shrink it down to 16MHz.
The VIC-II not only shares the bus with the processor,
it dominates the CPU entirely and utterly. The VIC-II is what generates the CPU's clock. It's what controls the CPU's access to RAM. It's also what generates DRAM timing information. You want a free performance boost on the C64 and C128? Blank the screen. Want to run the CPU at 2MHz on the C128? You
must blank the VIC-generated screen.
Quote:
That would definitely be parallel, regardless of how the processor talks to the VIC and maybe goes through the VIC to store data in the video RAM.
The Commodore 128 uses a VDC chip for its 80-column display and graphics. To do so, the 8502 accesses video RAM
through the VDC chip. The performance
is horrible compared to the VIC, because the CPU has to wait for the VDC to finish display refresh before it can let the CPU access through. Worse, instead of the VDC asserting the CPU's RDY line, the CPU has to soft-poll to see when it's ready. This is why most 80-column C128 programs also put the CPU in 2MHz mode (which eliminates the 40-column display too; see above) to make up for the loss in performance.
But let's not go there -- I never brought up the VDC, nor do I want to persue it.
My purpose is to demonstrate that a need for parallel interconnects exists. I used video generation because it's trivially understood. You have 320x200 pixels to display, and you need to do it 60 times per second. Even the simplest of assumptions (black and white only, no text modes, no sprites, etc) will demonstrate a rather substantial bandwidth requirement.
Another great example -- those HDMI connectors you see everywhere. Essentially, these are DVI connectors in a smaller form-factor. DVI transmits video information at
gigabits per second speed,
AND over multiple lanes concurrently. E.g., each color channel is a single serial link, but it's running six (two reds, two greens, and two blues) channels
in parallel. You're free to do the math on that one.