Patent US4989113A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4989113A Expired / Lapsed US ⏱️ 0.0 years remaining

Data processing device having direct memory access with improved transfer control

Assignee: Texas Instruments Inc
•
Filing: 1987-12-28
•
Granted: 1991-01-29
•
Expires: 2007-12-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A microcomputer is disclosed which provides for a dedicated DMA data and address bus connecting an on-chip DNA controller with on-chip memories, and with on-chip ports for access to external memory and input/output devices. The DMA controller contains a control register which has two start bits, capable of representing four start codes. The four start codes allow for the unconditional starting and aborting of a DMA transfer, as well as for stopping the DMA after the current read or write operation, or after the next write operation (i.e., completion of a data word transfer). The control register also contains two status bits which the DMA controller writes with the status of the DMA operation, and also contains two synchronization bits for synchronizing the DMA operation in the source, destination, or source and destination modes (or not at all). Two interrupt enable registers are provided in the microcomputer, for independently enabling interrupts for the CPU and the DMA. In any of the synchronization modes, the DMA will suspend its operation awaiting an interrupt which is not enabled for the CPU but which is enabled for purposes of DMA. The use of system interrupts for DMA synchronization does not require dedicated DMA interrupt terminals for the microcomputer.

Inventors

  • 👤 Kim Asal

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 21:22
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/20; G06F13/32

Claims Analysis

Total Claims: 46
Claim 1
Independent Claim 195 words
A microcomputer, comprising: a central processing unit for performing data processing instructions; a bus, connected to said central processing units; a DMA control register connected to said central processing unit for storing a start code of at least two bits; and a DMA controller, connected to said bus and to said DMA control register, for reading data from said bus by placing a source memory address signal thereupon and receiving data therefrom, and for writing data to said bus by placing a destination memory address signal thereupon and presenting data thereto, said reading and writing repetitively performed constituting a DMA transfer of a block, wherein said DMA controller begins said DMA transfer responsive to a first value of said start code, said DMA controller further operable in selectable ways to stop said DMA transfer including a first way that aborts said DMA transfer upon completion of a next instance of said writing responsive to entry of a second value of said start code into said DMA control register during a read in said DMA transfer, and a second way that aborts said DMA transfer responsive to entry of a third value of said start code.
Claim 2
Dependent Claim 195 words
A microcomputer, comprising: a central processing unit for performing data processing instructions; a bus, connected to said central processing units; a DMA control register connected to said central processing unit for storing a start code of at least two bits; and a DMA controller, connected to said bus and to said DMA control register, for reading data from said bus by placing a source memory address signal thereupon and receiving data therefrom, and for writing data to said bus by placing a destination memory address signal thereupon and presenting data thereto, said reading and writing repetitively performed constituting a DMA transfer of a block, wherein said DMA controller begins said DMA transfer responsive to a first value of said start code, said DMA controller further operable in selectable ways to stop said DMA transfer including a first way that aborts said DMA transfer upon completion of a next instance of said writing responsive to entry of a second value of said start code into said DMA control register during a read in said DMA transfer, and a second way that aborts said DMA transfer responsive to entry of a third value of said start code.
Claim 3
Dependent Claim 31 words
The microcomputer of claim 1, wherein said DMA controller aborts said DMA transfer upon completion of the current reading or writing step responsive to a fourth value of said start code.
Claim 4
Dependent Claim 39 words
The microcomputer of claim 1, wherein said DMA control register further is for storing a status code written thereto by said DMA controller, said status code indicating the status of the DMA transfer being performed by said DMA controller.
Claim 5
Dependent Claim 27 words
The microcomputer of claim 3, wherein a first value of said status code indicates that said DMA controller has completed the reading of data from said bus.
Claim 6
Dependent Claim 27 words
The microcomputer of claim 4, wherein a second value of said status code indicates that said DMA controller has completed the writing of data to said bus.
Claim 7
Dependent Claim 32 words
The microcomputer of claim 1, further comprising a memory connected to said bus, which is addressable by an address signal on said bus and which communicates data to and from said bus.
Claim 8
Dependent Claim 23 words
The microcomputer of claim 6, further comprising a peripheral port connected to said bus and an external memory connected to said peripheral port.
Claim 9
Dependent Claim 23 words
The microcomputer of claim 1, further comprising a peripheral port connected to said bus and an external memory connected to said peripheral port.
Claim 10
Dependent Claim 242 words
A data processing system comprising: a memory; an external bus connected to said memory; and a microcomputer, comprising: a central processing unit for performing data processing instructions; an internal bus, connected to said central processing unit; a memory port, connected between said internal bus and said external bus, for communicating address and data signals therebetween; a DMA control register connected to said central processing unit for storing a start code of at least two bits; and a DMA controller, connected to said internal bus and to said DMA control register, for reading data from said internal bus by placing a source memory address signal thereupon and receiving data therefrom, and for writing data to said internal bus by placing a destination memory address signal thereupon and presenting data thereto, said reading and writing repetitively performed constituting a DMA transfer of a block, wherein said DMA controller begins said DMA transfer responsive to a first value of said start code, said DMA controller further operable in selectable ways to stop said DMA transfer including a first way that aborts said DMA transfer upon completion of a next instance of said writing responsive to entry of a second value of said start code into said DMA control register during a read in said DMA transfer, and a second way that aborts said DMA transfer responsive to entry of a third value of said start code; wherein said memory is addressable by said DMA controller.
Claim 11
Dependent Claim 242 words
A data processing system comprising: a memory; an external bus connected to said memory; and a microcomputer, comprising: a central processing unit for performing data processing instructions; an internal bus, connected to said central processing unit; a memory port, connected between said internal bus and said external bus, for communicating address and data signals therebetween; a DMA control register connected to said central processing unit for storing a start code of at least two bits; and a DMA controller, connected to said internal bus and to said DMA control register, for reading data from said internal bus by placing a source memory address signal thereupon and receiving data therefrom, and for writing data to said internal bus by placing a destination memory address signal thereupon and presenting data thereto, said reading and writing repetitively performed constituting a DMA transfer of a block, wherein said DMA controller begins said DMA transfer responsive to a first value of said start code, said DMA controller further operable in selectable ways to stop said DMA transfer including a first way that aborts said DMA transfer upon completion of a next instance of said writing responsive to entry of a second value of said start code into said DMA control register during a read in said DMA transfer, and a second way that aborts said DMA transfer responsive to entry of a third value of said start code; wherein said memory is addressable by said DMA controller.
Claim 12
Dependent Claim 31 words
The system of claim 9, wherein said DMA controller aborts said DMA transfer upon completion of the current reading or writing step responsive to a fourth value of said start code.
Claim 13
Dependent Claim 39 words
The system of claim 9, wherein said DMA control register further is for storing a status code written thereto by said DMA controller, said status code indicating the status of the DMA transfer being performed by said DMA controller.
Claim 14
Dependent Claim 27 words
The system of claim 11, wherein a first value of said status code indicates that said DMA controller has completed the reading of data from said bus.
Claim 15
Dependent Claim 27 words
The system of claim 12, wherein a second value of said status code indicates that said DMA controller has completed the writing of data to said bus.
Claim 16
Dependent Claim 30 words
The system of claim 9, wherein said microcomputer further comprises an internal memory connected to said internal bus, said internal memory addressable by an address signal on said internal bus.
Claim 17
Dependent Claim 147 words
The system of claim 9, further comprising: an interrupt line, connected between said memory and said microcomputer for communicating an interrupt signal from said memory to said microcomputer; wherein said microcomputer further comprises: a central processing unit interrupt enable register, connected to said central processing unit, for storing a CPU interrupt enable code; and a DMA interrupt enable register, connected to said central processing unit, for storing a DMA interrupt enable code; wherein said DMA control register is further for storing a synchronization code; and wherein said DMA controller suspends said DMA transfer responsive to a first value of said synchronization code in said DMA control register until an interrupt signal occurs on said interrupt line from said memory when said DMA interrupt enable code and said CPU interrupt enable code represent that the interrupt signal is for said DMA controller and not said central processing unit.
Claim 18
Dependent Claim 77 words
The system of claim 15, wherein said DMA controller suspends said DMA transfer until an interrupt signal for said DMA controller occurs on said interrupt line from said memory between reading and writing responsive to said first value of said synchronization code, and alternatively suspends said DMA transfer until an interrupt signal for said DMA controller occurs on said interrupt line from said memory between writing and reading responsive to a second value of said synchronization code.
Claim 19
Dependent Claim 47 words
The system of claim 16, wherein said DMA controller suspends said DMA transfer until an interrupt signal for said DMA controller occurs on said interrupt line from said memory between reading and writing and between writing and reading responsive to a third value of said synchronization code.
Claim 20
Dependent Claim 209 words
A microcomputer, comprising: a central processing unit for performing data processing instructions; an internal bus, connected to said central processing unit; an interrupt terminal, connected to said central processing unit, for receiving an interrupt signal to said microcomputer; a CPU interrupt enable register, connected to said central processing unit, for storing a CPU interrupt enable code; a DMA interrupt enable register, connected to said central processing unit, for storing a DMA interrupt enable code; a DMA control register for storing a synchronization code; and a DMA controller, connected to said internal bus and to said DMA control register, for reading data from said internal bus by placing a source memory address signal thereupon and receiving data therefrom, and for writing data to said internal bus by placing a destination memory address signal thereupon and presenting data thereto, said reading and writing repetitively performed constituting a DMA transfer of a block, wherein said DMA controller suspends said DMA transfer responsive to a first value of said synchronization code in said DMA control register until an interrupt signal occurs at said interrupt terminal when said DMA interrupt enable code and said CPU interrupt enable code represent that the interrupt signal is for said DMA controller and not said central processing unit.
Claim 21
Dependent Claim 209 words
A microcomputer, comprising: a central processing unit for performing data processing instructions; an internal bus, connected to said central processing unit; an interrupt terminal, connected to said central processing unit, for receiving an interrupt signal to said microcomputer; a CPU interrupt enable register, connected to said central processing unit, for storing a CPU interrupt enable code; a DMA interrupt enable register, connected to said central processing unit, for storing a DMA interrupt enable code; a DMA control register for storing a synchronization code; and a DMA controller, connected to said internal bus and to said DMA control register, for reading data from said internal bus by placing a source memory address signal thereupon and receiving data therefrom, and for writing data to said internal bus by placing a destination memory address signal thereupon and presenting data thereto, said reading and writing repetitively performed constituting a DMA transfer of a block, wherein said DMA controller suspends said DMA transfer responsive to a first value of said synchronization code in said DMA control register until an interrupt signal occurs at said interrupt terminal when said DMA interrupt enable code and said CPU interrupt enable code represent that the interrupt signal is for said DMA controller and not said central processing unit.
Claim 22
Dependent Claim 71 words
The microcomputer of claim 18, wherein said DMA controller suspends said DMA transfer until an interrupt signal for said DMA controller occurs at said interrupt terminal between reading and writing responsive to said first value of said synchronization code, and alternatively suspends said DMA transfer until an interrupt signal for said DMA controller occurs at said interrupt terminal between writing and reading responsive to a second value of said synchronization code.
Claim 23
Dependent Claim 44 words
The microcomputer of claim 19, wherein said DMA controller suspends said DMA transfer until an interrupt signal for said DMA controller occurs at said interrupt terminal between reading and writing and between writing and reading responsive to a third value of said synchronization code.
Claim 24
Dependent Claim 114 words
The microcomputer of claim 18, wherein said DMA control register is further for storing a start code of at least two bits; and wherein said DMA controller begins said DMA transfer responsive to a first value of said start code, said DMA controller further operable in selectable ways to stop said DMA transfer including a first way that aborts said DMA transfer upon completion of a next instance of said writing responsive to entry of a second value of said start code into said DMA control register during a read in said DMA transfer, and a second way that aborts said DMA transfer responsive to entry of a third value of said start code.
Claim 25
Dependent Claim 31 words
The microcomputer of claim 21, wherein said DMA controller aborts said DMA transfer upon completion of the current reading or writing step responsive to a fourth value of said start code.
Claim 26
Dependent Claim 39 words
The microcomputer of claim 21, wherein said DMA control register further is for storing a status code written thereto by said DMA controller, said status code indicating the status of the DMA transfer being performed by said DMA controller.
Claim 27
Dependent Claim 28 words
The microcomputer of claim 22, wherein a first value of said status code indicates that said DMA controller has completed the reading of data from said internal bus.
Claim 28
Dependent Claim 28 words
The microcomputer of claim 24, wherein a second value of said status code indicates that said DMA controller has completed the writing of data to said internal bus.
Claim 29
Dependent Claim 35 words
The microcomputer of claim 21, further comprising a memory connected to said internal bus, which is addressable by an address signal on said internal bus and which communicates data to and from said internal bus.
Claim 30
Dependent Claim 24 words
The microcomputer of claim 26, further comprising a peripheral port connected to said internal bus and an external memory connected to said peripheral port.
Claim 31
Dependent Claim 24 words
The microcomputer of claim 21, further comprising a peripheral port connected to said internal bus and an external memory connected to said peripheral port.
Claim 32
Dependent Claim 158 words
A microcomputer system comprising: a central processing unit arranged to execute data processing instructions and produce digital signals; a memory for storing a block of data, the memory connected to said central processing unit; a peripheral device to which the block of data from said memory is to be transferred; and a direct memory access (DMA) controller connected to said central processing unit, said memory and said peripheral device, said DMA controller including a DMA control register and a DMA control circuit responsive to a first code entered from the microcomputer system into said DMA control register to start transferring the block, and then upon entry of a second code into the DMA control register during the transfer, to stop the transfer operation within the block in a manner defined by the second code and then start in sequence with a succeeding DMA operation in response to subsequent entry of the first code into the DMA control register.
Claim 33
Dependent Claim 158 words
A microcomputer system comprising: a central processing unit arranged to execute data processing instructions and produce digital signals; a memory for storing a block of data, the memory connected to said central processing unit; a peripheral device to which the block of data from said memory is to be transferred; and a direct memory access (DMA) controller connected to said central processing unit, said memory and said peripheral device, said DMA controller including a DMA control register and a DMA control circuit responsive to a first code entered from the microcomputer system into said DMA control register to start transferring the block, and then upon entry of a second code into the DMA control register during the transfer, to stop the transfer operation within the block in a manner defined by the second code and then start in sequence with a succeeding DMA operation in response to subsequent entry of the first code into the DMA control register.
Claim 34
Dependent Claim 145 words
A direct memory access (DMA) controller for use in a microcomputer system having a central processing unit arranged to execute data processing instructions and produce digital signals, memory for storing a block of data and connected to said central processing unit, and a peripheral device to which the block of data from memory is to be transferred, the DMA controller comprising: a DMA control register; and a DMA control circuit responsive to a first code entered from the system into said DMA control register to start transferring the block, and then upon entry of a second code into the DMA control register during the transfer, to stop the transfer operation within the block in a manner defined by the second code and then start in sequence with a succeeding DMA operation in response to subsequent entry of the first code into the DMA control register.
Claim 35
Dependent Claim 145 words
A direct memory access (DMA) controller for use in a microcomputer system having a central processing unit arranged to execute data processing instructions and produce digital signals, memory for storing a block of data and connected to said central processing unit, and a peripheral device to which the block of data from memory is to be transferred, the DMA controller comprising: a DMA control register; and a DMA control circuit responsive to a first code entered from the system into said DMA control register to start transferring the block, and then upon entry of a second code into the DMA control register during the transfer, to stop the transfer operation within the block in a manner defined by the second code and then start in sequence with a succeeding DMA operation in response to subsequent entry of the first code into the DMA control register.
Claim 36
Dependent Claim 16 words
A DMA controller of claim 30 wherein each of said codes is a two bit code.
Claim 37
Dependent Claim 25 words
A DMA controller of claim 30 wherein each of said codes is a multibit code entered into the same bits of said DMA control register.
Claim 38
Dependent Claim 23 words
A DMA controller of claim 30 wherein said first code is a start code and said second code defines a DMA abort mode.
Claim 39
Dependent Claim 24 words
A DMA controller of claim 30 wherein said second code defines a stop after a current read, whereupon operations start in sequence subsequently with
Claim 40
Dependent Claim 27 words
A DMA controller of claim 30 wherein said second code defines a stop upon reaching a DMA write whereupon operations start in sequence subsequently with a read.
Claim 41
Dependent Claim 46 words
A DMA controller of claim 30 wherein said DMA controller includes means operative during a current DMA read and responsive to a value of the second code defining a stop upon reaching a DMA write for completing the read and executing the write whence stop occurs.
Claim 42
Dependent Claim 51 words
A DMA controller of claim 30 wherein the second code has a first value which defines an unconditional abort of the transfer and a second value alternatively enterable into the DMA control register which defines a stop within the transfer whereupon the transfer is resumed upon entry of the first code.
Claim 43
Independent Claim 140 words
A method of direct memory access (DMA) control of a microcomputer system having a central processing unit arranged to execute data processing instructions and produce digital signals, memory for storing a block of data and connected to the central processing unit, a DMA control circuit with a DMA control register, and peripheral device to which the block of data from the memory is to be transferred, the method comprising the steps of: entering a first code into the DMA control register to start transferring the block; entering a second code into the DMA control register during the transfer to stop the transfer operation within the block in a manner defined by the second code; and starting the transfer again in sequence with a succeeding DMA operation in response to subsequent entry of the first code into the DMA control register.
Claim 44
Independent Claim 140 words
A method of direct memory access (DMA) control of a microcomputer system having a central processing unit arranged to execute data processing instructions and produce digital signals, memory for storing a block of data and connected to the central processing unit, a DMA control circuit with a DMA control register, and peripheral device to which the block of data from the memory is to be transferred, the method comprising the steps of: entering a first code into the DMA control register to start transferring the block; entering a second code into the DMA control register during the transfer to stop the transfer operation within the block in a manner defined by the second code; and starting the transfer again in sequence with a succeeding DMA operation in response to subsequent entry of the first code into the DMA control register.
Claim 45
Dependent Claim 24 words
The method of claim 38 wherein each of said codes is a multibit code entered into the same bits of the DMA control register.
Claim 46
Dependent Claim 21 words
The method of claim 38 wherein said second code can have a plurality of values defining different aborts of the transfer.

References Cited (Backward Citations)

US3757306A Cited
US4074351A Cited
US4075691A Cited
US4577282A Cited
US4528626A Cited
US4688166A Cited
US4797853A Cited
US4847750A Cited
US4782439A Cited
US4908748A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-01-28 1994-07-30 1995-01-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-01-28 1998-07-30 1999-01-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-01-28 2002-07-30 2003-01-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag