CN101937409B - Time-sharing multiplexing DMA (direct memory access) controller - Google Patents

Time-sharing multiplexing DMA (direct memory access) controller Download PDF

Info

Publication number
CN101937409B
CN101937409B CN201010273958XA CN201010273958A CN101937409B CN 101937409 B CN101937409 B CN 101937409B CN 201010273958X A CN201010273958X A CN 201010273958XA CN 201010273958 A CN201010273958 A CN 201010273958A CN 101937409 B CN101937409 B CN 101937409B
Authority
CN
China
Prior art keywords
time
peripheral
memory bus
data
dma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010273958XA
Other languages
Chinese (zh)
Other versions
CN101937409A (en
Inventor
郭二辉
洪一
宋何娟
龚晓华
周乐
钟小艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui core Century Technology Co., Ltd.
Original Assignee
CETC 38 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 38 Research Institute filed Critical CETC 38 Research Institute
Priority to CN201010273958XA priority Critical patent/CN101937409B/en
Publication of CN101937409A publication Critical patent/CN101937409A/en
Application granted granted Critical
Publication of CN101937409B publication Critical patent/CN101937409B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

The invention discloses a time-sharing multiplexing DMA (direct memory access) controller, which comprises a plurality of peripheral access channels in pieces of data with unified scale, a time-sharing multiplexer and a control module, wherein the peripheral access channels are used for connecting peripheral interfaces and broadband memory buses; the time-sharing multiplexer is used for connecting the peripheral access channels with the broadband memory buses in different time slices; and the control module comprises a set of control registers and control signal produced logic circuits for port configuration, and is used for inputting the serial numbers and control data of the control register, and carrying out configuration on the control registers, producing sequential control signals by the control signal produced logic circuits according to the valves of the control registers, and controlling the peripheral access channels and the time-sharing multiplexer. The invention has the advantages that each peripheral DMA operation is performed in the pieces of data with unified scale, the pieces of data belonging to different peripheral channels are transformed in different time slots, and the DMA throughput rate is increased by time-sharing multiplexing.

Description

Time-sharing multiplex direct memory access (DMA) controller
Technical field
The present invention relates to a kind of time-sharing multiplex direct memory access (DMA) controller, belong to the microprocessor memory technical field.
Background technology
Direct memory access (DMA) (Direct Memory Access is hereinafter to be referred as DMA) is that a kind of microprocessor is intervened minimum data transmission technology, directly between storer and peripheral hardware, transmits data.DMA manages by being independent of third party's control module microprocessor, that be called dma controller, and dma controller and microprocessor are shared memory bus.
Development along with microelectric technique; The raising day by day of integrated circuit integrated level; Functional part integrated on the microprocessor is more and more, and the memory bus bandwidth of microprocessor is also more and more wideer, and the difference between memory bus bandwidth and the single peripheral hardware bandwidth is also increasing.Under this background, directly visit the broadband memory bus with peripheral hardware, will cause the waste of broadband memory bus bandwidth during the peripheral access; Under the situation that two and two above peripheral hardware existence are arranged, limited the throughput of DMA; Simultaneously, have to line up when obtaining the access rights of memory bus, in fact also reduced the transmission bandwidth of each peripheral hardware when two and plural peripheral hardware.
Goal of the invention
The object of the present invention is to provide a kind of broadband memory bus and the bandwidth difference between relatively at a slow speed the peripheral hardware more than two and two that can the little reason device in balance place; Bandwidth waste when overcoming two and two above peripheral hardwares and directly visiting the broadband memory bus; Make the memory bus access right authorize different peripheral channels at different time slots; To make full use of the bandwidth of broadband memory bus, satisfy each time-sharing multiplex direct memory access (DMA) controller of the DMA bandwidth demand of peripheral hardware at a slow speed.
Summary of the invention
Its technical scheme is: a kind of time-sharing multiplex direct memory access (DMA) controller comprises:
With the data slice of unifying scale is the peripheral access passage of unit more than one, is used to connect Peripheral Interface and broadband memory bus, when data from the broadband memory bus when peripheral hardware transmits, with the data serializing of broadband memory bus, to mate the peripheral hardware bandwidth; When data from peripheral hardware when the broadband memory bus is transmitted, with the relative slow data parallelization of Peripheral Interface, with coupling broadband memory bus bandwidth;
-time-sharing multiplex Port Multiplier is used in different time slices different peripheral access passages being connected with the broadband memory bus;
-control module comprises that one group of control register, control signal produce logical circuit and a configured port; Configured port is used to import the numbering and the control data of control register; Control signal produces logical circuit each control register of input configuration according to configured port, and produces timing control signal according to the state of control register, controls each peripheral access passage and time-sharing multiplex Port Multiplier.
Its technique effect is: time-sharing multiplex direct memory access (DMA) controller of the present invention; Balance locate the broadband memory bus of little reason device and the bandwidth difference between relatively at a slow speed the peripheral hardware more than two and two; Avoided peripheral hardware at a slow speed directly to visit the bandwidth waste of the broadband memory bus that the broadband memory bus causes; Is that unit carries out with the dma operation of each peripheral hardware with the data slice of unifying scale; Belong to the data slice of different peripheral passage in different slot transmission,, improved the throughput of DMA through time-sharing multiplex.
Description of drawings
Fig. 1 is a time-sharing multiplex dma controller configuration diagram;
Fig. 2 is a time-sharing multiplex dma operation process flow diagram;
Fig. 3 is time-sharing multiplex dma controller and storage bus interfaces sequential synoptic diagram.
Embodiment
As shown in Figure 1, a kind of time-sharing multiplex direct memory access (DMA) controller comprises:
-be the peripheral access passage of unit with the data slice of unifying scale, be used to connect Peripheral Interface and broadband memory bus, when data from the broadband memory bus when peripheral hardware transmits, with the data serializing of broadband memory bus, with coupling peripheral hardware bandwidth; When data from peripheral hardware when the broadband memory bus is transmitted, with the relative slow data parallelization of Peripheral Interface, with coupling broadband memory bus bandwidth.
-time-sharing multiplex Port Multiplier is used in different time slices different peripheral access passages being connected with the broadband memory bus;
-control module comprises that one group of control register, control signal produce logical circuit and a configured port; This group control register is configurable, and the corresponding unique numbering of each control register, so that configured port; Configured port is used to import the numbering and the control data of control register; Control signal produces logical circuit each control register of input configuration according to configured port, and produces timing control signal according to the state of control register, controls each peripheral access passage and time-sharing multiplex Port Multiplier.
Above-mentioned is a plurality of peripheral access passages of unit with the data slice of unifying scale, and each peripheral access passage comprises a buffer register group and a first-in first-out buffer (FIFO buffer, First In First Out buffer).The port width of the scale of buffer register group, the degree of depth of first-in first-out buffer and time-sharing multiplex Port Multiplier must with the bandwidth match of broadband memory bus; The port number of time-sharing multiplex Port Multiplier port number coupling necessary and peripheral hardware at a slow speed, the principle of coupling is following:
The bandwidth of definition broadband memory bus reaches at a slow speed, and the bandwidth of peripheral hardware is a unit with " byte per second " all;
Data in the definition direct memory access process all are unit with the byte;
Definition broadband memory bus bandwidth is N times of peripheral hardware average bandwidth at a slow speed, i.e. 1≤N≤32;
Define at a slow speed that the number of peripheral hardware is M, the scale of then said buffer register group is the N byte, and the degree of depth of said first in first out buffering is the N byte, and the input port number of said time-sharing multiplex Port Multiplier is that M, input port width are the N byte.
Above-mentioned control register comprises a passage enable register CHER, channel status register CHSR, maximum 32 channel transfer length register CHLR0~CHLR31.Totally 32 of enable register; Whether a peripheral access passage, wherein each CHER be enabled, be 1 o'clock at CHER if on behalf of, show that corresponding peripheral access passage is enabled; Otherwise show that this passage is not enabled, the peripheral access passage that only is enabled could be participated in time-sharing multiplex DMA transmission.Totally 32 in channel status register; The corresponding state of representing a peripheral access passage of each CHSR wherein; At CHSR is 1 o'clock, shows that corresponding peripheral channel is ready to, and can carry out the transmission of a data pieces; Otherwise show that respective channel is not ready for, current transmission cycle can not carry out the data slice transmission.32 channel transfer length register CHLR0~CHLR31; Each channel transfer length register bit wide is 32, and numerical value is wherein represented the data total length of corresponding peripheral channel DMA transmission, like this; The data length that each peripheral hardware can transmit is minimum to be 0 byte, is at most 2 32-1=4294967295 byte.
The treatment scheme of above-mentioned time-sharing multiplex DMA is as shown in Figure 2, when control register CHER is configured, triggers a time-sharing multiplex DMA and opens beginning signal Bgn, in memory bus cycle of this signal step-down, just shows that time-sharing multiplex DMA starts.Time-sharing multiplex DMA operates according to following step after starting:
The first step, at first step-by-step sense channel enable register CHER notes the peripheral channel sum T that is enabled, and channel capacity t is initialized as 0.
Second step, detect t passage that is enabled and whether be ready to, if be ready to, then transmit a data pieces of t the passage that is enabled, otherwise detect the next passage that is enabled.The ready condition of passage is; The buffer register group has been filled up or the transmission length of respective channel reaches; Particularly be divided into two kinds of situation: when from peripheral channel when memory bus is transmitted; The buffer register group of respective channel is filled up from the data of first in first out buffering or last byte of respective channel transmission length legislations has write the buffer register group, just shows that this passage is ready to; When from memory bus when peripheral hardware transmits, the buffer register group of respective channel has been filled up from the data of memory bus or last byte of respective channel transmission length legislations has write the buffer register group, just shows that this passage is ready to.
The 3rd step, after a data pieces of having transmitted t the passage that is enabled, detect the transmission of this passage and whether accomplish, when this channel transfer is accomplished, remove the corresponding position of this passage in the CHER register; Otherwise channel capacity t is added 1 and to K delivery value, returned for second step afterwards.The t condition that channel transfer accomplishes that is enabled is, all bytes of the transmission length register regulation that this passage is corresponding are end of transmission all.
The 4th step, when t is enabled after channel transfer accomplishes and remove the corresponding position among the CHER, whether detect CHER by full scale clearance, as CHER during, show that the transmission of all passages is all accomplished by full scale clearance, promptly time-sharing multiplex DMA finishes; As CHER during not by full scale clearance, return the first step, continue remaining DMA transmission.
As shown in Figure 3, when CHER is configured, triggers a time-sharing multiplex DMA and open beginning signal Bgn, memory bus cycle of Bgn signal step-down, expression time-sharing multiplex DMA transmission beginning; In memory bus cycle of Req signal step-down, expression time-sharing multiplex dma controller is to the transmission of memory bus application one data pieces; Ack signal step-down, the request of expression memory bus respective transmissions, dma controller can carry out the transmission of a data pieces; The data of transmitting between Bus signal indication time-sharing multiplex dma controller and the memory bus, Ch0 slice0 representes that the 0th data pieces, the Ch1slice0 of the 0th peripheral channel transmission represent the 0th data pieces of the 1st peripheral channel transmission ... By that analogy.

Claims (3)

1. a time-sharing multiplex direct memory access (DMA) controller is characterized in that, comprising:
-a plurality of be the peripheral access passage of unit with the data slice of unifying scale, be used to connect Peripheral Interface and broadband memory bus, when data from the broadband memory bus when peripheral hardware transmits, with the data serializing of broadband memory bus, with coupling peripheral hardware bandwidth; When data from peripheral hardware when the broadband memory bus is transmitted, with the relative slow data parallelization of Peripheral Interface, with coupling broadband memory bus bandwidth;
-time-sharing multiplex Port Multiplier is used in different time slices different peripheral access passages being connected with the broadband memory bus;
-control module comprises that one group of control register, control signal produce logical circuit and a configured port; Configured port is used to import the numbering and the control data of control register; Control signal produces logical circuit each control register of input configuration according to configured port, and produces timing control signal according to the state of control register, controls each peripheral access passage and time-sharing multiplex Port Multiplier;
Said a plurality of be the peripheral access passage of unit with the data slice of unifying scale; Each peripheral access passage comprises a buffer register group and a first-in first-out buffer; The port width of the scale of buffer register group, the degree of depth of first-in first-out buffer and time-sharing multiplex Port Multiplier must with the bandwidth match of broadband memory bus, the port number of time-sharing multiplex Port Multiplier must with the port number coupling of peripheral hardware at a slow speed.
2. time-sharing multiplex direct memory access (DMA) controller as claimed in claim 1; It is characterized in that: the bandwidth match of the scale of said buffer register group and broadband memory bus, the bandwidth of definition broadband memory bus and at a slow speed the bandwidth of peripheral hardware be unit all with " byte per second ";
Data in the definition direct memory access process all are unit with the byte;
Definition broadband memory bus bandwidth is N times of peripheral hardware average bandwidth at a slow speed, i.e. 1≤N≤32;
Define at a slow speed that the number of peripheral hardware is M, the scale of then said buffer register group is the N byte, and the degree of depth of said first in first out buffering is the N byte, and the input port number of said time-sharing multiplex Port Multiplier is that M, input port width are the N byte.
3. time-sharing multiplex direct memory access (DMA) controller as claimed in claim 1 is characterized in that: said control register comprises a passage enable register, a channel status register and a plurality of channel transfer length register.
CN201010273958XA 2010-09-02 2010-09-02 Time-sharing multiplexing DMA (direct memory access) controller Active CN101937409B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010273958XA CN101937409B (en) 2010-09-02 2010-09-02 Time-sharing multiplexing DMA (direct memory access) controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010273958XA CN101937409B (en) 2010-09-02 2010-09-02 Time-sharing multiplexing DMA (direct memory access) controller

Publications (2)

Publication Number Publication Date
CN101937409A CN101937409A (en) 2011-01-05
CN101937409B true CN101937409B (en) 2012-06-27

Family

ID=43390745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010273958XA Active CN101937409B (en) 2010-09-02 2010-09-02 Time-sharing multiplexing DMA (direct memory access) controller

Country Status (1)

Country Link
CN (1) CN101937409B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521180B (en) * 2011-12-02 2014-10-22 百利通科技(扬州)有限公司 Multi-channel real-time direct reading memory structure
CN103226529B (en) * 2012-01-31 2017-03-15 上海华虹集成电路有限责任公司 Dual-ported memory circuit based on Nandflash
CN104076233B (en) * 2014-07-18 2017-03-15 彭浩明 Degree of aging detection method and detection means
CN105740156B (en) * 2014-12-08 2019-01-15 联想(北京)有限公司 Access control method and device, access method, storage method and access system
CN106683694A (en) * 2016-12-19 2017-05-17 西安微电子技术研究所 Rate-adaptive storer interface circuit
KR102439017B1 (en) * 2017-11-30 2022-09-01 엘지디스플레이 주식회사 Display device and interface method thereof
CN111198532B (en) * 2020-01-20 2021-06-22 北京韬盛科技发展有限公司 Time-division multiplexing cross start-stop system and control method thereof
CN112463668B (en) * 2020-11-20 2021-10-22 华中科技大学 Multichannel high-speed data access structure based on STT-MRAM
CN116662228B (en) * 2023-06-16 2024-01-30 深圳市东方聚成科技有限公司 Access method for time-division multiplexing local memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504633B (en) * 2009-03-27 2012-09-05 无锡中星微电子有限公司 Multi-channel DMA controller
CN201465098U (en) * 2009-07-14 2010-05-12 浪潮电子信息产业股份有限公司 Multi-channel crossed DMA

Also Published As

Publication number Publication date
CN101937409A (en) 2011-01-05

Similar Documents

Publication Publication Date Title
CN101937409B (en) Time-sharing multiplexing DMA (direct memory access) controller
US8724665B2 (en) Pseudo-synchronous time division multiplexing
CN102449614B (en) Packetized interface for coupling agents
CN100568008C (en) A kind of test circuit of chip multi-core processor and design method of testability thereof
EP1738267B1 (en) System and method for organizing data transfers with memory hub memory modules
JP5401453B2 (en) Clock frequency adjustment for semiconductor devices
EP2293447A1 (en) Adaptive-Allocation of I/O Bandwidth using a configurable Interconnect Topology
CN101404645B (en) Multiport Ethernet interface, its implementing method and physical layer interface
US9678917B2 (en) Communications assembly having logic multichannel communication via a physical transmission path for serial interchip data transmission
CN104022775A (en) FIFO protocol based digital interface circuit for SerDes technology
US20110179212A1 (en) Bus arbitration for sideband signals
CN209149287U (en) Big data operation acceleration system
JP2007524917A (en) System and method for selectively influencing data flow to and from a memory device
EP1733309B1 (en) Integrated circuit and method for transaction retraction
CN102521180B (en) Multi-channel real-time direct reading memory structure
CN106487364A (en) A kind of clock buffer circuit and integrated circuit
CN103116557B (en) The data receiver method of dynamic overtime control is carried out based on change in count
CN106683694A (en) Rate-adaptive storer interface circuit
US7761243B2 (en) Measuring device for process engineering and operating method for a measuring device
KR101527674B1 (en) Backplane, and control system and control method using the same
US7650443B1 (en) Methods and apparatus for allocating access to a host device buffer
US7984212B2 (en) System and method for utilizing first-in-first-out (FIFO) resources for handling differences in data rates between peripherals via a merge module that merges FIFO channels
CN115202257B (en) LPC bus protocol conversion and equipment parallel control device and method
US5933615A (en) Optimization of the transfer of data word sequences
CN106095714A (en) The storage device of USB data transmission and electronic equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191119

Address after: 5 / F, airborne center, 38 new area, No. 199, Xiangzhang Avenue, hi tech Zone, Hefei City, Anhui Province 230000

Patentee after: Anhui core Century Technology Co., Ltd.

Address before: 230088, 199 camphor Road, Shushan District, Anhui, Hefei

Patentee before: No.38 Inst., China Electronic Sci. & Tech. Group Co.