DMA control device controlling sequential storage of data
AssigneeMitsubishi Denki Kabushiki Kaisha
InventorTakashi Yamasaki
Life of this patent
Estimating the term…
Abstract
A DMA transfer of 8-bit units and 16-bit units can be performed regardless of the proceeding direction of the address and whether the first address to be accessed is even or odd. In a conventional DMA transfer, the DMA control device required a function for selecting 8-bit configuration or 16-bit configuration of transfer data when the proceeding directions of addresses at the transfer source and transfer destination were different. The present invention reverses a determined result and indicates whether the first address to be transferred is even or odd, when the proceeding direction of the address is "reverse" and the data has a 16-bit configuration.
Claims14
A DMA control device provided with a plurality of temporary storing means for data to be transferred from a transfer source beginning at a first address to a transfer destination through data buses, switching means for shifting input and output between said temporary storing means and the data buses, control signal generating means for generating control signals for controlling the switching means, and determining means outputting a determined result indicating whether said first address is even or odd, said determining means formed from a flip-flop;
- in which the control signal generating means produces said control signals in accordance with said determined result, so that data stored in the temporary storing means are handled in the proper order regardless of whether the first address to be transferred is even or odd and whether the proceeding direction of the address is in a forward direction or a reverse direction, the control device comprising:
- reversing means, coupled to an input of said determining means, for causing said determined result output from said determining means to reverse when a first signal indicates a multiple byte configuration of transfer data and when a second signal indicates data storage in a reverse direction, the first signal indicating whether the bit configuration of the transfer data is of one byte or more than one byte, and the second signal indicating whether data are stored in storage areas arranged in an increasing address sequence or a decreasing address sequence at a transfer source, or whether data are stored in storage areas arranged in an increasing address sequence or in a decreasing address sequence at a transfer destination.
A control circuit for use in a computer, the computer having a direct memory access function in which a transfer of a plurality of memory words from a plurality of source addresses in a data source, beginning with a first address, to a plurality of destination addresses in a data destination is performed by transferring a plurality of transfer units, said computer having a mode register which outputs a word-size signal indicating whether the bit width of the words in said plurality of memory words is equal to the bit width of one transfer unit or is equal to twice the bit width of one transfer unit, wherein said mode register also outputs a direction signal, indicating whether the ascending/descending order in which said plurality of memory words are transferred from said data source is the same as the ascending/descending order in which said plurality of memory words are transferred to said data destination, the control circuit comprising:
- reversing means for receiving a first signal indicating whether said first address is even or odd, and for receiving said word-size signal and said direction signal and for outputting a second signal, said second signal being the inverse of said first signal if said word-size signal indicates that the bit width of the words being transferred is twice the bit width of one transfer unit and the direction signal indicates that the ascending/descending order in which said plurality of memory words are transferred from said data source is not the same as the ascending/descending order in which said plurality of memory words are transferred to said data destination, said second signal being identical to said first signal in all other cases;
- means for receiving said second signal and, in response, transferring data from said source to said destination, wherein said plurality of memory words are stored in said plurality of destination addresses of said destination without exchanging upper and lower order bits of any of said plurality of memory words.
A data transfer method for use in a computer, the computer having a direct memory access function in which a transfer of a plurality of memory words from a plurality of source addresses in a data source, beginning with a first address, to a plurality of destination addresses in a data destination is performed by transferring a plurality of transfer units, said computer having a mode register which outputs a word-size signal indicating whether the bit width of the words in said plurality of memory words is equal to the bit width of one transfer unit or is equal to twice the bit width of one transfer unit, wherein said mode register also outputs a direction signal, indicating whether the ascending/descending order in which said plurality of memory words are transferred from said data source is the same as the ascending/descending order in which said plurality of memory words are transferred to said data destination, the method comprising:
- controlling a logic circuit and a memory transfer control circuit;
- receiving, in said logic circuit, a first signal indicating whether said first address is even or odd, said word-size signal and said direction signal and outputting, from said logic circuit, a second signal, said second signal being the inverse of said first signal if said word-size signal indicates that the bit width of the plurality of memory words being transferred is twice the bit width of one transfer unit and the direction signal indicates that the ascending/descending order in which said plurality of memory words are transferred from said data source is not the same as the ascending/descending order in which said plurality of memory words are transferred to said data destination, said second signal being identical to said first signal in all other cases;
- receiving said second signal in said memory transfer control circuit and, in response, transferring data from said source to said destination, wherein said plurality of memory words are stored in said plurality of destination addresses of said destination without exchanging upper and lower order bits of any of said plurality of memory words.
A DMA control device comprising:
- at least a first and a second temporary storing means for data to be transferred from a transfer source beginning at a first address to a transfer destination through data buses;
- switching means for shifting data between said at least first and second temporary storing means and each of the data buses;
- control signal generating means for generating control signals for controlling the switching means;
- determining means outputting a determined result indicating whether said first address is even or odd, wherein the control signal generating means produces said control signals in accordance with said determined result, so that data stored in the at least first and second temporary storing means are handled in the proper order regardless of whether the first address to be transferred is even or odd and whether the address increments or decrements;
- and
- reversing means for reversing said determined result output from said determining means when a first signal indicates a multiple byte configuration of transfer data and when a second signal indicates that data storage should proceed by decrementing, the first signal indicating whether the bit configuration of the transfer data is of one byte or more than one byte, and the second signal indicating whether data are stored in storage areas arranged in an increasing sequence or whether the data is to be stored in a decreasing sequence;
- wherein said determining means comprises a flip flop having a first input coupled to an output of said reversing means.
A DMA control device for sequentially storing a plurality of unit data constituting data to be transferred in a plurality of temporary storage means and then transferring the unit data from a transfer source to a transfer destination through data buses, the control device comprising:
- a switch disposed between the plurality of temporary storage means and the data buses;
- reversing means having an input terminal (Z terminal) for receiving the lowest order bit value (Z(ADO)) of a first address in the transfer source where the transfer data was stored or the lowest order bit value (Z(ADO)) of a first address in the transfer destination where the transfer data is to be stored, an output terminal (CNT terminal), an input terminal (X terminal) for receiving a first signal (X) indicating that the proceeding direction of addresses for storing the transfer data at a transfer source is different from that at a transfer destination, and an input terminal (Y terminal) for receiving a second signal (Y) indicating that data to be processed by a single transfer process is formed of the plurality of unit data, the reversing means for reversing the input lowest order bit value (Z(ADO)) when the first signal and the second signal are input and for outputting the reversed value from the output terminal (CNT terminal);
- determining means, coupled to the output terminal of the reversing means, for receiving an output signal (CNT) sent from this output terminal and for outputting a determined result indicating whether the first address at a transfer source where the transfer data was stored or the first address at a transfer destination where the transfer data is to be stored is even or odd;
- and
- control signal generating means for generating a control signal for controlling the switch based on the output of the determining means in order to transfer the plurality of unit data to be processed by a single transfer process in the proper order.
Dependencies are inferred from the claim text.