Line 20: |
Line 20: |
| ===Video=== | | ===Video=== |
| VRAM expansion includes 3 banks of 2 VRAM slots (6 total found on the board). There is 512KB VRAM built-in to the logic board. | | VRAM expansion includes 3 banks of 2 VRAM slots (6 total found on the board). There is 512KB VRAM built-in to the logic board. |
| + | |
| + | <pre> |
| + | Obviously every display made by every 3rd party monitor vendor can't be |
| + | supported by the onboard video, but the Quadras do support a much wider |
| + | range of displays at a higher level of performance than any previous |
| + | Macintosh. The Quadra 700 and 900 support pixel depths ranging from 1 to |
| + | 32 bits per pixel (bpp), Apple displays ranging from the 512 x 384 12-inch |
| + | color monitor through the 1152 x 870 21-inch color monitor, pixel clocks |
| + | ranging from 12 to 100 MHz, and a variety of industry standards such as |
| + | VGA, SVGA, NTSC, and PAL. The Mac Quadra video port produces RS-343 RGB, |
| + | and also provides horizontal, vertical and composite sync outputs. |
| + | Composite or S-video output is not provided, but can be accomplished by |
| + | use of an external RGB-to-composite encoder. The Quadra 700 and 900 also |
| + | support Apple convolution for flicker-reduction on interlaced displays |
| + | (i.e., NTSC and PAL) at up to 8 bpp. The Mac Quadras automatically detect |
| + | the type of display attached to the video connector via 3 'sense' pins on |
| + | the video connector. Depending on the wiring of these 3 pins, software in |
| + | ROM configures the video hardware for one the supported display types. (A |
| + | full description of sense pin wiring and supported display types is in the |
| + | 2nd article.) |
| + | |
| + | The Quadra 700/900 provide the highest built-in video performance of any |
| + | Macintosh CPU to date. In a (very) simplified graphics model, we could |
| + | say that performance depends on two main factors: processor horsepower and |
| + | the bandwidth the processor has into frame buffer memory. These |
| + | machines already have a fast processor - the 68040 - which runs standard |
| + | 32-bit QuickDraw. To provide high bandwidth into frame buffer memory, |
| + | dedicated video RAM (VRAM) was used for the frame buffer, and that VRAM |
| + | was placed directly on the 68040 processor's local bus. This provides the |
| + | 68040 the same access time into frame buffer memory that it has into main |
| + | system RAM. (Transfer rates can exceed 40 MBytes/sec.) In addition, |
| + | memory options such as fast page mode are supported, which can improve |
| + | graphics performance for operations such as scrolling, |
| + | offscreen-to-onscreen pixmap transfers, etc. |
| + | |
| + | In a number of cases the design was optimized for high performance over |
| + | low cost. A good example of this is 32 bpp operation on Apple's standard |
| + | 13-inch RGB monitor at 640 x 480 resolution (and this also applies to VGA |
| + | and NTSC), which is probably the most common color monitor in use on the |
| + | Macintosh. The actual number of memory bytes needed to support 24 bpp is |
| + | 640 x 480 x 3 = 921,600. This would seem to fit within 1 MByte of memory |
| + | (as is the case with the Apple 8*24 video card), but the Quadras actually |
| + | require 2 MBytes of VRAM for this mode. The 8*24 card supports 24 bpp at |
| + | 640 x 480 by using a storage mode called 'chunky planar' to fully utilize |
| + | all its 1 MByte of VRAM. However, this results in having to perform 3 |
| + | separate memory accesses for each 24-bit pixel read from or written to the |
| + | frame buffer. (This is done in hardware so software only performs a |
| + | single read or write.) On a NuBus video card, this inefficiency is |
| + | partially masked by the synchronization delays which occur at the |
| + | processor-bus/NuBus interface. However, when frame buffer memory is |
| + | placed directly on the processor bus, this approach results in a nearly 3X |
| + | performance degradation. This was judged unacceptable for the Quadras. |
| + | Each 24-bit pixel occupies one longword (4-bytes) in VRAM, so the Quadras |
| + | actually provide 32 bpp for the 640 x 480 resolution. This pushes the |
| + | memory requirement for this mode over the 1 MByte boundary (640 x 480 x 4 |
| + | = 1,228,800 bytes). Performance is improved still more by another frame |
| + | buffer architectural feature. Frame buffer memory in the Quadras is |
| + | organized into 4 'banks' of 512 KBytes per bank. As mentioned earlier, |
| + | Quadra VRAM can operate in fast page mode. In addition, each bank of VRAM |
| + | operates in fast page mode independently of the other 3 banks. This |
| + | causes the number of in-page 'hits' to increase, and thus improves the |
| + | effective bandwidth into the frame buffer. Also, at 32 bpp, 640 x 480 |
| + | resolution, each row is set to 4096 bytes, or 1024 32-bit pixels. Each |
| + | successive row is assigned to a different VRAM bank (modulo 4, of course). |
| + | This memory organization improves performance during certain commonly |
| + | performed graphics operations such as vertical scrolling. |
| + | |
| + | In any design there are a number of tradeoffs to be made, and this is |
| + | certainly true for the frame buffer in the Mac Quadra machines. While the |
| + | video does operate at 32 bpp on up to 16-inch displays, it does not |
| + | support 21-inch displays at this pixel depth since this would have |
| + | significantly raised the cost of the motherboard. (Memory capacity and |
| + | bus bandwidths would essentially have to double, and this would be |
| + | expensive.) It does support NTSC and PAL timing, but does not provide a |
| + | composite video output. While it is much faster than any non-accelerated |
| + | video card, there are accelerated video cards that are faster (and much |
| + | more expensive, too, by the way). A separate graphics processor was not |
| + | added primarily for cost reasons. However, a graphics processor such as |
| + | the 29000 RISC chip on the 8*24GC card can only speed up the graphics |
| + | operations that it was designed to know about. If an application program |
| + | bypasses QuickDraw (which is what most Mac graphics accelerators are |
| + | designed to speed up), a graphics accelerator will not improve |
| + | performance, and can actually cause a performance degradation. |
| + | </pre> |
| | | |
| ===Expansion=== | | ===Expansion=== |