Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!apple!sun-barr!newstop!sun!stpeter!cmcmanis From: cmcmanis@stpeter.Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga.hardware Subject: Re: Bitplanes - good or bad Keywords: writing a pixel Message-ID: <133675@sun.Eng.Sun.COM> Date: 29 Mar 90 21:00:18 GMT References: <5917@tekig5.PEN.TEK.COM> Sender: news@sun.Eng.Sun.COM Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Organization: Sun Microsystems, Mountain View Lines: 79 A pretty decent description from Wayne about bitplanes and there strengths and weaknesses. Yes, bitplanes are better for games. The Amiga was designed as a game machine originally and this comes through in its architecture. And, as Wayne empirically determined, using the blitter for things like writing a pixel is not very efficient. So the question Jeff Porter (and Amiga guy) might ask himself is "Given this architecture, how can I make it go faster?" From where I'm sitting, there seems to be two possible answers. One, the blitter wants to work on one bitplane, in part because logical operations on multiple bit pixels are tougher. So to enhance the speed of the operation, you can enhance the parallelism. This is sometimes referred to as the "Blitter per Bitplane" approach. Given four blitters, drawing into four bitplanes and sharing all registers except the source/destination pointers in common. Operating in this mode would be slightly more than 4 times faster than the current scheme. The slightly more comes from the fact that in the current system there are some register reload times which are common in our mythical multiblitter. The nice thing about this idea is that it can be "backward" compatible on a register level with the existing Amiga because older programs would just start the "one" blitter. Of course for extra power the chip would run the blitters without common registers as well so that one could be decoding MFM data from the floppy while the other was outlining a box on the screen. So far everything looks wonderful, but... And you knew it was coming. How would this multiheaded blitter talk to memory ? Now the Amiga blitter is a "Word" blitter and not a true "Bit" blitter. What it does is read in a word, (16 bits) operate on it and write it back out, possibly shifted left or right. The speed comes from the fact that the memory cycle of the blitter looks something like : (psuedo timing diagram) Bus Cycle 1 Bus Cycle 2 A1-A11 |--------<-Address->|-------<-Address->|-- Read* |--------__________-|------------------|-- Write* |-------------------|--------_________-|-- The only way to utilize the massive parallelism of 4 blitters (or N blitters) is if they can all read data from memory _at the same time_. Hmmm, bad news eh? If you have serialize each blitters request then you are suddenly only marginially faster than a single blitter being run 4 times. Now this is possible, but it means N-way accessible memory (or N copies of the memory) and N buses for the blitters to all simultaneously get to the memory. That of course is a fundamental change to the way in which the Amiga is built. The other option is to use a pixel blitter rather than a blitter that operates on bits. And there are lots of examples of those. (The 32010 comes to mind) Here's an idea for a new system : +----------------------------+ +-| blitter - 1Meg VRAM - 1 bit| ---+ | +----------------------------+ | +-------+ | +----------------------------+ | | +--- Red +-| blitter - 1Meg VRAM - 1 bit| -+ +-----+ | | +----------------------------+ +-------+ Video +--- Green | +----------------------------+ +-------+ RDAC | +-| blitter - 1Meg VRAM - 1 bit| -+ +-----+ +--- Blue | +----------------------------+ | | | | +----------------------------+ | +----- -+ +-| blitter - 1Meg VRAM - 1 bit| ---+ | +----------------------------+ Common Bus You could add blitter/bitplane combinations as required. The RDAC could handle "eight" of then for 256 out of 16M colors. It might work and it would surely be fun to build :-) --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: Internet: cmcmanis@Eng.Sun.COM These opinions are my own and no one elses, but you knew that didn't you. "If it didn't have bones in it, it wouldn't be crunchy now would it?!"