System for transferring input/output data independently through an input/output bus interface in response to programmable instructions stored in a program memory
DCFirst Claim
1. An apparatus for transferring data on a bus, comprising:
- an input output bus interface adapted to connect to a computer;
a dedicated input output first in first out interface adapted to connect to an external device;
a program memory connected to said input output bus interface for storing a plurality of program instructions;
said program memory capable of receiving a plurality of new program instructions under direction of said computer; and
a processor for processing said new program instructions stored in said program memory to control said data received at said input output bus interface and said data transferred at said dedicated input output first in first out interface, so that said processor can transfer said data through said input output bus interface independent of control over said data by said computer.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
A programmable DMA controller that uses an instruction set dedicated to moving data efficiently over a bus, comprising a program memory, a program counter, a FIFO memory, a bus buffer, registers, an accumulator, and an ALU. The DMA controller instruction set comprises the following instructions: load, move, add, subtract, branch on zero, branch on not zero, lock, and interrupt. Another DMA controller embodiment uses a SIMD processor. In operation, a CPU downloads DMA programs to the DMA controller. The DMA controller stores these programs in its program memory. The CPU signals the DMA to begin a DMA transfer operation. The ALU and associated devices execute the program instructions to perform the desired DMA transfer. The DMA controller then sends an interrupt to the CPU to indicate the DMA transfer is complete.
127 Citations
23 Claims
-
1. An apparatus for transferring data on a bus, comprising:
-
an input output bus interface adapted to connect to a computer; a dedicated input output first in first out interface adapted to connect to an external device; a program memory connected to said input output bus interface for storing a plurality of program instructions; said program memory capable of receiving a plurality of new program instructions under direction of said computer; and a processor for processing said new program instructions stored in said program memory to control said data received at said input output bus interface and said data transferred at said dedicated input output first in first out interface, so that said processor can transfer said data through said input output bus interface independent of control over said data by said computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 16, 17, 18, 19, 20, 21, 22)
-
-
9. A method for transferring data between a computer and an external device across an input output bus comprising the steps of:
-
downloading program instructions from said computer; and executing said stored program instructions to controllably transfer said data between said computer and said external device across said input output bus, independent of control over said data by said computer. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
23. An apparatus for transferring data on a bus between a computer and an external device in response to programmable instructions, comprising:
-
an input output bus interface adapted to connect to said computer for transferring said data between said computer and said input output bus interface; an input output first in first out interface adapted to connect to said external device for transferring said data between said input output first in first out interface and said external device; a program memory connected to said input output bus interface for storing a plurality of program instructions; said program memory capable of receiving and storing a plurality of new program instructions from said computer; and a processor for processing said new program instructions stored in said program memory and for operating on said data, to controllably transfer said data through said input output bus interface and to controllably transfer said data through said input output first in first out interface, independent of control over said data by said computer.
-
Specification