Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!andante!mit-eddie!killer!elg From: elg@killer.UUCP Newsgroups: comp.arch Subject: Re: Self-modifying code (and bitblt) Message-ID: <4894@killer.DALLAS.TX.US> Date: 23 Jul 88 05:50:18 GMT References: <7439@ico.ISC.COM> Organization: The Unix(R) Connection, Dallas, Texas Lines: 50 in article <7439@ico.ISC.COM>, rcd@ico.ISC.COM (Dick Dunn) says: > >> > >You can save an even greater factor by building the BitBlt into the >> > >hardware.... >> > No. You can save a large factor over *poor* software implementations of >> > BitBlt... >> However, a hardware BitBlt using DMA can be operating while the CPU is >> servicing other processes, with no slowdown in CPU speed... > First, that's only true if either the bitblt is being done to *and* from > memory not accessed by the CPU, or the memory bandwidth is high enough to > handle both the CPU and the bitblt DMA cycles. That's exactly what the Amiga does. There is 512K of RAM dedicated to screen operations, while the OS and (with xtended RAM) user programs run out RAM or ROM which is on a seperate bus inaccessible to the blitter. Thus, while the blitter runs, user programs are free to run without bus contention. In addition, the blitter takes advantage of the fact that the 68000 only uses half the available memory bandwidth, and even when the 68000 is accessing "chip" RAM (blitter-accessible RAM), the blitter can still run at half-speed until the 68000 goes somewhere else. All in all, a very useful and elegant design, given its age ('83-'84 or therebouts), and the low cost of implementation ($650 for a complete machine, with disk drive, whereas 68020's and 68030's would cost almost the same as the complete A-500 after production costs and two levels of markups). > context-switch time. Unless you get a bitblt operation that takes longer > than *two* context switches (out and back), it costs more. For the case > where you're bitblting characters (probably the most common case), you will > lose big. That's one of the major flaws that they found in the Amiga's handling of text i/o... Charlie Heath of Microsmiths replaced the bitblt with plain old memory moves, and is almost twice as fast. However, I still would not want to use a plain old 68000 machine which had to use a software loop to scroll a 32K bitmap.... I've seen Macs and ST's, which have much simpler hardware and software which should be faster than the Amiga's message-passing OS (which requires a context switch to send the text to the console.device process , then another context switch to get back to the user process)... and the speed of window management and scrolling simply cannot compare. That hardware makes more difference than you'd think, given all the other factors involved. -- Eric Lee Green ..!{ames,decwrl,mit-eddie,osu-cis}!killer!elg Snail Mail P.O. Box 92191 Lafayette, LA 70509 PC Pursuit: A diabolical conspiracy to cause spelling flames upon the net, by rendering the typer inable to read what he has written.