Path: utzoo!attcan!uunet!husc6!think!ames!killer!tness7!tness1!nuchat!sugar!ficc!peter From: peter@ficc.UUCP (Peter da Silva) Newsgroups: comp.arch Subject: Re: Self-modifying code (and bitblt) Message-ID: <1151@ficc.UUCP> Date: 25 Jul 88 16:30:42 GMT References: <5254@june.cs.washington.edu> <76700032@p.cs.uiuc.edu> <302@laic.UUCP> <7439@ico.ISC.COM> Organization: SCADA Lines: 49 In article <7439@ico.ISC.COM>, rcd@ico.ISC.COM (Dick Dunn) writes: Me: > > > >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... Me: > > 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. I'd guess that's rare; we > seem to be afflicted with memory-bound CPUs in a lot of systems. Well, for the Amiga the memory bandwidth is high enough, *and* the blitter only affects display memory. Memory requests for the CPU to memory outside the display memory area (the first 512K as it turns out) is on another bus. > But more importantly, in many cases you can't do anything else because > either (a) there's only one process running or (b) you can't afford the > context-switch time. The Amiga context switch time is on the order of a procedure call... the Amiga Exec is a realtime operating system... all processes are "lightweight" in UNIX jargon. > 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. When scrolling a window you just blit the whole thing instead of doing it a character at a time, and you win big (80 by 24 by 8 by 8 bits == 15,360 bytes). As for text, see below. > [dynamic compilation] > Ummm...but what does this prove? Not much, I think, until someone actually > tries it and finds out whether it's slower. Given that the Amiga already > has a useful bitblt (of whatever form), there's no great incentive to write > another. Well, there are already programs out that SetFunction the Text() routine to speed up text drawing of fixed 8-by-8 characters (the common case, as you say) and there is apparently lots of dynamically compile BitBlt code out there waiting to be nabbed. -- Peter da Silva `-_-' Ferranti International Controls Corporation. "Have you hugged U your wolf today?" (uunet,tness1)!sugar!ficc!peter.