DMA controller in which bus access ratio can be set

Electrical computers and digital data processing systems: input/ – Input/output data processing – Direct memory accessing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S022000

Reexamination Certificate

active

06691182

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a DMA (Direct Memory Access) controller performing controls such as direct data transfer between memories not through a CPU (Central Processing Unit). More particularly, the present invention relates to a DMA controller in which a bus access ratio can be set.
2. Description of the Background Art
Recently, as a greater number of information processing apparatuses such as personal computers are used, these apparatuses are required to operate at higher processing speed and provide greater functionality. Examples of features for increasing the processing speed of such information processing apparatuses include DMA that provides for direct data transfer between memories not through a CPU. The structure and operation of a conventional DMA controller will be described in the following.
Structure of conventional DMA Controller
FIG. 1
is a block diagram showing a general structure of a conventional DMA controller. The DMA controller includes: a source address register
10
storing a source address for DMA; a destination address register
11
storing a destination address for DMA; a DMA transfer counter
12
storing a number of transfers of DMA; a DMA request selecting register
13
selecting a request signal for DMA; a DMA controlling portion
50
accessing an external memory (not shown) for DMA transfer; a DMA request detecting portion
60
detecting an externally applied DMA request in accordance with the settings of DMA request selecting register
13
; and a bus access request controlling portion
70
requesting a bus arbiter (not shown) a permission to use a bus in response to the bus access request from DMA controlling portion
50
.
Signals
100
to
104
shown on the left side of the DMA controller are used by an external bus master such as a CPU in accessing source address register
10
, destination address register
11
, DMA transfer counter
12
or DMA request selecting register
13
. These signals are: a chip select (CS) signal
100
indicating as to if access is valid; 32 address (ADDR) signals
101
selecting a register to be accessed; a read/write control (R/W) signal
102
indicating if the access is read or write access; 32 write data (WDATA) signals
103
transferring data for write access; and 32 read data (RDATA) signals
104
transferring data for read access.
Signals
110
to
114
shown on the right side of the DMA controller are used by DMA controlling portion
50
in accessing the external memory (not shown). These signals are: 32 address (ADDR) signals
110
selecting a region to be accessed; a read/write control (R/W) signal
111
indicating if access is read or write access; 32 write data (WDATA) signals
112
transferring data for write access; 32 read data (RDATA) signals
113
transferring data for read access; and a ready (READY) signal
114
indicating the completion of bus access.
Other signals used are: a DMA request (DMAREQ) signal
120
accepting an externally applied DMA request; a bus access request (BUSREQ) signal
130
to the bus arbiter (not shown); a bus access granting (BUSGNT) signal
131
from the bus arbiter; and a clock (CLK) signal
150
generally used for a system.
DMA request detecting portion
60
detects the rise of a signal selected by DMA request selecting register
13
among 32 DMAREQ signals
120
and stores in an internal register (not shown) the fact that there is a DMA request from an external portion. DMA request detecting portion
60
outputs a DMA request (dmrq) to DMA controlling portion
50
when the internal register is set. DMA request detecting portion
60
resets the above mentioned internal register when a DMA acknowledgement (dmack) is output from DMA controlling portion
50
. Bus access request controlling portion
70
asserts BUSREQ signal
130
when a DMA enable (dmen) signal is output from DMA controlling portion
50
.
FIG. 2
is a block diagram used for describing in greater detail the structure of DMA controlling portion
50
. DMA controlling portion
50
includes: a source address counter
251
of a 32-bit counter calculating a source address; a destination address counter
252
of a 32-bit counter calculating a destination address; a transfer counter
253
of a 16-bit counter for calculating a transferred data amount; a state machine (FSM)
254
generating and outputting a control signal depending on the state of data transfer by DMA; an address generating portion
255
generating and outputting an ADDR signal
110
based on outputs from source address counter
251
and destination address counter
252
; and a write data generating portion
256
generating and outputting a WDATA signal
112
.
FSM
254
generates and outputs a DMA acknowledgement (dmack) signal, destination address setting (saset) signal, read completion (rdcmp) signal, DMA enable (dmen) signal, write completion (wrcmp) signal and RIW signal
111
. FSM
254
will later be described in greater detail.
When dmack is asserted, a value (sa) that has been set in source address register
10
is set in source address counter
251
. When rdcmp is asserted, the value of source address counter
251
is increased by 4, but the current value is maintained in other cycles.
When dmack is asserted, a value (da) that has been set in destination address counter
11
is set in destination address counter
252
. When wrcmp is asserted, the value of destination address counter
252
is increased by 4, but the current value is maintained in other cycles.
When dmack is asserted, a value (tr) that has been set in DMA transfer counter
12
is set in transfer counter
253
. When wrcmp is asserted, the value of transfer counter
253
is decreased by 1, but the current value is maintained in other cycles.
FIG. 3
is a block diagram used for describing the structure of write data generating portion
256
in greater detail. Write data generating portion
256
includes selectors
301
and
302
, flip-flops
303
and
304
, and an AND circuit
305
. Note that selector
302
and flip-flop
304
both have a 32-bit width.
When READY is asserted, selector
301
selects and outputs rdcmp. At the time, if rdcmp is asserted, flip-flop
303
holds and outputs “H” at the rise of a CLK signal. When READY is asserted next time, AND circuit
305
outputs “H” and selector
302
selects and outputs the value of RDATA
113
. Flip-flop
304
holds the value of RDATA
113
at the rise of CLK for outputting it as WDATA
112
.
FIG. 4
is a diagram showing state transitions of FSM
254
. Circles represent states, whereas arrows represent state transitions. Transition conditions are shown next to the arrows representing the state transitions. If none of the transition conditions is met, FSM
254
is maintained in the current state. FSM
254
is initially set in an IDLE state. Note that, in the state transition diagram, “&,” “|,” and “!” respectively represent a logical product, logical addition and negation.
Outputs from FSM
254
are a dmen signal, dmack signal, saset signal, R/W signal
111
, rdcmp signal, and wrcmp signal. The dmen signal is negated in the IDLE state, and asserted in all the other states. The dmack signal is asserted only in transition from the idle state to a BUSREQ1 state, and negated in all other states. The saset signal is asserted only in transition from the BUSREQ1 state to an RD state, and negated in all the other states. R/W
111
indicates write in WR state, and read in all the other states. The rdcmp signal is asserted only in transition from the RD state to a BUSREQ2 state or WR state, and negated in all the other states. The wrcmp is asserted only in transition from the WR state to the IDLE state, BUSREQ1 state or RD state, and negated in all the other states.
Operation of Conventional DMA Controller
(1) Settings of DMA
DMA is set when an external CPU writes values to internal registers (source address register
10
, destination address register
11
, DMA transfer counter
12
and DMA request selecting register
13
of the DMA controller).
FIG. 5
is a timing chart

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

DMA controller in which bus access ratio can be set does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with DMA controller in which bus access ratio can be set, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and DMA controller in which bus access ratio can be set will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3348752

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.