I read about blitters - history and technical implementation (what I could understand), for example in Amiga and Bally Astrocade.
The principle is that there is a fast copying of memory from one place to another, faster than the processor could do.
Most of all, a blitter is needed to speed up the output of 2D graphics. And here I have a question.
Let's assume that the pixel format is RGB332 = 8bit per pixel, 256 colors in one pallete.
If you have bitmaps in RAM, then the best case for copying speed is 1 pixel per 1 cycle. And most likely you will need to use DMA. Or without DMA - allocate one chip of memory for the blitter for itself.
But the copying process can be parallelized. There are 32 KB of video memory for bitmaps. These 32 KB are divided into 4 blocks of 8 KB. And here the best case is 4 pixels per 1 cycle, since reading is done from 4 chips simultaneously. If there are 8 chips of 4 KB, then the best case is 8 pixels per cycle. In addition, it is necessary to make it so that 4 or 8 pixels per cycle can be written to the frame buffer. We do this in a similar way - split the frame buffer into several parallel chips.
That is, we read 4 or 8 pixels from the texture memory in parallel, process them (bit mask, change color channels, ...) and write in parallel to the frame buffer.
This method is more suitable for a blitter, if it has a separate memory for storing textures.
It is impossible to combine this method of organizing texture storage and storing them in the common RAM of the processor.
If I understood correctly, Amiga and Bally Astrocade used a method with one memory chip, without parallelization (the best case is 1 pixel per 1 cycle via DMA). Textures were stored either in RAM (one chip) or in special blitter memory (a separate chip, but also one).
Were there any blitter implementations based on this parallel principle? Why wasn't this method used in early blitters (Amiga, Bally Astrocade, Xerox Altho)?
I can assume that it's a matter of chip price - one 32kb chip could cost less than 4 8kb chips, or 8 4kb chips.
And I have doubts about the Amiga blitter is serial, I read that it can copy data from 3 DMA sources. But I don’t understand whether it’s parallel from 3xchips at once.