> > > What is the 8089 used for? Some sort of DMA or IO controller?
> > It was called an I/O processor. It was a _very_ fancy DMA controller --
> > more like a processor designed for moving data around, checking status
> > bits, and so on.
> Did you program it by writing to registers (using the 80x86 IN/OUT
> instruction) or did it work like the 80x87, which extended the instruction
> set?
The 8089 IOP, can be seen (as a lot of people prefer) of as a smart
DMA controller for usual ways of DMA transfer which is able to follow
programmed instruction sequences stored in (main-) memory. I rather
prefer to see it as a very specialized processor. In some way it is
quite similar to a CDP 1802. A bit weired but quite usefull. Basicly
capable of doing general purpose work, but with a very restricted and
focused on data transfer. For example are the DMA operations part of
the instruction set - rather than a seperate unit. Also, the IOP may
execute two programms at the same time.
IOP Programms can consist just of a setup for DMA operation, or be
quite sophisticated drivers for programmed IO, or copmbinations
thereof. For example could the IOP read a block from a floppy disk
via DMA and then do things like code translation before it signals
the end of the operation to the main CPU. Likely for some interfaces,
lets use a quite classic example, connecting a baudot tty. In a CPU/IOP
system the CPU would just prepare the ASCII data to be sent in a memory
block and build a message block which names the operation (basicly
addressing the device driver programm), points to the data, and tells
how the result ist to be handled. Then an 'attention' signal is issued
and the IOP starts to handle the IO. From the IOPs view this signal
is an interupt. Now the IOP jumps to the selected programm, and
starts to output each byte ... after translating it to the according
Baudot sequence. When done, an interupt for the CPU may be generated.
Such operations can be chained from the CPU, so you could first let
the interface be initialized and then a block of date be sent....
The possibilities are wide open.
Gruss
H.
BTW: I found a Company in INDIA ( Hiya John ) who sell a traing kit
which can have a 8089 ...
http://www.dynalogindia.com/Products/MF-86-88/Datasheets/mf8688.PDF
Achtung, their web site works only with IE
It' also important that the 8089 can be integrated into an 8086 system
with almost no glue logic. Bus synchronisation is done via RQ/GT.
--
VCF Europa 4.0 am 03./04. Mai 2003 in Muenchen
http://www.vcfe.org/
Received on Mon Nov 25 2002 - 07:27:01 GMT