CN108701102A - Direct memory access controller, method for reading data and method for writing data - Google Patents

Direct memory access controller, method for reading data and method for writing data Download PDF

Info

Publication number
CN108701102A
CN108701102A CN201780010826.8A CN201780010826A CN108701102A CN 108701102 A CN108701102 A CN 108701102A CN 201780010826 A CN201780010826 A CN 201780010826A CN 108701102 A CN108701102 A CN 108701102A
Authority
CN
China
Prior art keywords
data
unit
read
dma controller
control unit
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.)
Pending
Application number
CN201780010826.8A
Other languages
Chinese (zh)
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.)
SZ DJI Technology Co Ltd
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
Shenzhen Dajiang Innovations Technology Co Ltd
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 Shenzhen Dajiang Innovations Technology Co Ltd filed Critical Shenzhen Dajiang Innovations Technology Co Ltd
Publication of CN108701102A publication Critical patent/CN108701102A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

A kind of dma controller, method for reading data and method for writing data, the dma controller includes control access and read data path, control access includes reading control unit, control unit is read for generating read control signal, and read data path is controlled by read control signal and reads the first data from external memory via external bus;Read data path includes unwrapper unit, and for unwrapper unit for being unpacked to the first data, internal storage unit is written via internal bus in the first data after unpacking by read data path.Dma controller by being arranged control access and read data path inside it, read data path from external memory while reading data, data are unpacked by unwrapper unit, so that dma controller carries out de-packaging operation while data-moving, the two parallel processing, data processing speed can be improved, the performance of chip can be promoted.

Description

Direct memory access controller, method for reading data and method for writing data
Copyright notice
This patent document disclosure includes material protected by copyright.The copyright is all for copyright holder.Copyright Owner does not oppose the patent document in the presence of anyone replicates the proce's-verbal of Patent&Trademark Office and archives or should Patent discloses.
Technical field
This application involves data processing field more particularly to direct memory access (Direct Memory Access, DMA) controller, method for reading data and method for writing data.
Background technology
With the fast development of chip industry, the function complexity of chip is higher and higher.Chip is to complete data processing to lead to Include often dma controller and data processing unit.The function of dma controller on the market is all more single now, major function It is to complete data to move operation.To read data instance, as fruit chip needs reading and handles the picture number of different bit wide pixels According to then usually a preprocessing module is arranged in data processing unit in chip, completes the de-packaging operation of image data.De-packaging operation It is the image data solution of compact storage in memory to be bundled into the wieldy format of data processing unit, such as will make in DDR It is bundled into 16bit or 32bit bit wides with the image data solution of 8 bits (bit), 10bit, 12bit or 16bit bit wide compact storage According to rule storage etc..In currently existing scheme, which is completed by the preprocessing module of data processing unit, because This, dma controller moves data and preprocessing module to data unpack and serially be carried out.In other words, such as Fruit will handle one piece of image data, and dma controller is needed to complete data-moving first, and then preprocessing module could be completed to unpack Operation, can not carry out parallel.This makes the speed that chip carries out data processing very slow.
Invention content
It, can be with this application provides a kind of direct memory access controller, method for reading data and method for writing data Data processing speed is improved, the performance of chip can be promoted.
In a first aspect, a kind of direct memory access dma controller, including control access and read data path are provided, The control access includes reading control unit, and the reading control unit is controlled for generating read control signal, and by the reading Signal controls the read data path and reads the first data from external memory via external bus;The read data path includes solution Packet unit, for the unwrapper unit for being unpacked to first data, the read data path counts first after unpacking Internal storage unit is written according to via internal bus.
The dma controller of first aspect is existed by the way that control access and read data path, read data path are arranged inside it While reading data from external memory, data are unpacked by unwrapper unit so that dma controller is in data-moving It is carried out at the same time de-packaging operation, the two parallel processing can improve data processing speed, can promote the performance of chip.
Second aspect, provides a kind of direct memory access dma controller, including control access and writes data path, The control access includes writing control unit, and the control unit of writing writes control for generating write control signal, and by described Signal controls write data access and reads the second data from internal storage unit via internal bus;Write data access packet Include packaged unit, the packaged unit is for being packaged second data, and write data access is by the after packing External memory is written via external bus in two data.
The dma controller of second aspect writes data path and exists by the way that control access is arranged inside it and writes data path Toward external memory write access according to while, data are packaged by packaged unit so that dma controller is in data-moving It is carried out at the same time packaging operation, the two parallel processing can improve data processing speed, can promote the performance of chip.
The third aspect, provides a kind of method for reading data, and the method is held by direct memory access dma controller Row, the dma controller include control access and read data path, and the control access includes reading control unit, the reading Include unwrapper unit according to access, the method includes:The reading control unit generates read control signal, and is controlled by the reading Signal controls the read data path and reads the first data from external memory via external bus;The unwrapper unit is to described One data are unpacked, and internal storage unit is written via internal bus in the first data after unpacking by the read data path.
Fourth aspect, provides a kind of method for writing data, and the method is held by direct memory access dma controller Row, the dma controller include control access and write data path, and the control access includes writing control unit, described to write number Include packaged unit according to access, the method includes:The control unit of writing generates write control signal, and writes control by described Signal controls write data access and reads the second data from internal storage unit via internal bus;The packaged unit is to institute It states the second data to be packaged, external memory is written via external bus in the second data after packing by write data access.
5th aspect, provides a kind of integrated circuit, including dma controller described in claim first aspect and/or Dma controller described in second aspect.
6th aspect, provides a kind of movable equipment, including dma controller described in claim first aspect and/ Or the dma controller described in second aspect.
Description of the drawings
Fig. 1 is the dma controller schematic block diagram of the application one embodiment.
Fig. 2 is the schematic diagram of the data de-packaging operation of the application one embodiment.
Fig. 3 is a kind of schematic diagram of realization method of the descriptor caching of the application one embodiment.
Fig. 4 is the schematic diagram of the descriptor format of the application one embodiment.
Fig. 5 is the dma controller schematic block diagram of another embodiment of the application.
Fig. 6 is the dma controller schematic block diagram of another embodiment of the application.
Fig. 7 is the schematic flow chart of the method for reading data of the application one embodiment.
Fig. 8 is the schematic flow chart of the method for writing data of the application one embodiment.
Specific implementation mode
Below in conjunction with attached drawing, technical solutions in the embodiments of the present application is described.
Unless otherwise defined, all of technologies and scientific terms used here by the article and belong to the technical field of the application The normally understood meaning of technical staff is identical.The term used in the description of the present application is intended merely to description tool herein The purpose of the embodiment of body, it is not intended that in limitation the application.
The embodiment of the present application provides a kind of dma controller, has and reads data function.Fig. 1 is one implementation of the application The schematic block diagram of the dma controller 100 of example.As shown in Figure 1, dma controller 100 includes that control access 110 and reading data are logical Road 120.Control access 110 may include reading control unit 112, read control unit 112 for generating read control signal, and pass through Read control signal controls read data path 120 and reads the first data from external memory 220 via external bus 210.It is logical to read data Road 120 may include unwrapper unit 122, and for being unpacked to the first data, read data path 120 will solve unwrapper unit 122 Internal storage unit 240 is written via internal bus 230 in the first data after packet.
It should be understood that in the embodiment of the present application, external bus 210 can be level expansion interface (Advanced EXtensible Interface, AXI) bus can also be bus as defined in other agreements.External memory 220 can be double Haplotype data rate SDRAM (Double Data Rate SDRAM, DDR SDRAM), or referred to as DDR memories, wherein SDRAM It is synchronous DRAM (Synchronous Dynamic Random Access Memory).Internal bus 230 can To be crossbar switch (CROSSBAR) bus.The embodiment of the present application is to external bus 210, external memory 220, internal bus 230 It is not construed as limiting with the specific implementation form of internal storage unit 240 etc..
It should also be understood that as shown in Figure 1, the embodiment of the present application specifically can read unit by the external of read data path 120 126 read the first data via external bus 210 from external memory 220, and the embodiment of the present application is not construed as limiting this.
It is logical to read data by the way that control access and read data path are arranged inside it for the dma controller of the embodiment of the present application While Lu Cong external memories read data, data are unpacked by unwrapper unit so that dma controller is removed in data De-packaging operation is carried out while shifting, the two parallel processing can improve data processing speed, can promote the performance of chip.
Further, since dma controller unpacks data, the downstream units of dma controller need not again will be former Beginning data are unpacked, and which increase the flexibilities of the downstream units of dma controller so that the dma controller can be used in more The different application scenarios of kind, such as big end storage, small end storage etc..
Optionally, as shown in Figure 1, read data path 120 can also include the first clock processing unit 124, for reading Data path 120 read the first data into line asynchronous first in, first out (First Input First Output, FIFO) across Clock domain processing, unwrapper unit 122 are specifically used for that treated that the first data unpack to the cross clock domain that carries out FIFO.The One clock processing unit 124 can synchronize the data from different clock-domains using FIFO technologies.
First clock processing unit 124 can will be read from external memory 220 (for example, can be DDR memories) After first data carry out the cross clock domain processing of FIFO, unwrapper unit 122 is given.It should be understood that in practical applications, in order to save The bandwidth of DDR memories, the pixel value of data especially image generally all can be stored compactly in DDR memories.Different bit wide pictures The format that the image of element stores in DDR memories is different.The unwrapper unit 122 of the embodiment of the present application is in order to facilitate subsequent cell Data processing mends 0 to the first data of reading in the high-order of original pixels numerical value, by pixel bit wide be extended to 16bit or 32bit.I.e. unwrapper unit 122 need to carry out the conversion of data format.
Optionally, unwrapper unit 122 can unpack the first data according to the solution pack mode of systemic presupposition.This Shen Please embodiment support solution pack mode may include Direct Model, low level word pattern, half word pattern of low level, parity column split mould In formula, one piece of (one-bank) replication mode, high-order word pattern, high-order half word pattern and two pieces of (two-bank) replication modes At least one, and the embodiment of the present application is not limited to that.
Direct Model is to export data as former state, does not do format conversion.Low level word pattern is using a word (word, packet Include 32bit) one pixel value of lower memory, high-order zero padding.In this way, can be by 8bit, 10bit, 12bit and 16bit bit wide Pixel-expansion at 32bit.Half word pattern of low level is one pixel value of lower memory using half of word, high-order zero padding.This Sample, can be by the pixel-expansion of 8bit, 10bit and 12bit bit wide at 16bit.High-order word pattern is the height using a word One pixel value of position storage, low level zero padding.High-order half word pattern is one pixel value of higher memory using half of word, low level Zero padding.Under one-bank replication modes, each bank is one group, data is copied as 16 parts, every part of data are placed on a bank In.Under two-bank replication modes, each two bank is one group, data is copied as 8 parts, every part of data are placed on two bank In.Parity column split mode is to split data into two parts, is respectively stored in even bank and odd bank, such as by least-significant byte Data are stored in even bank, and most-significant byte data are stored in odd bank, and the embodiment of the present application is not construed as limiting this.
The pixel bit wide (pixel width) that can be supported of the embodiment of the present application may include 8bit, 10bit, 12bit And 16bit, and it is not limited only to this.
Fig. 2 is the schematic diagram of the data de-packaging operation of the application one embodiment.As shown in Fig. 2, data are with 12bit pixels Format be stored in external memory, include the data of pixel 0- pixels 9.The present embodiment is solved using half word pattern of low level Packet, each pixel 16bit, a high position are inserted into 0 to fill after unpacking.Wherein, the preceding most significant bit with data after unpacking is unpacked (Most Significant Bit, MSB) and least significant bit (Least Significant Bit, LSB) are respectively such as Fig. 2 institutes Show.The embodiment of the present application need not deposit the image data (such as data after Fig. 2 unpackings) comprising bulk redundancy information as a result, Storage stores the data before Fig. 2 is unpacked in external memory, to save memory bandwidth.
Optionally, unwrapper unit 122 may include 3 grades of pipelines (pipeline).
Data (such as first data) solution of different bit wide pixels can be bundled into a certain bit wide, example by first order pipeline Such as 16bit.In a specific example, the input of first order pipeline is can be with 128bit data.For 8bit pixels, One beat of data includes 16 pixels;For 10bit pixels, a beat of data includes 12 pixels;For 12bit pixels, a umber of beats According to including 10 pixels, after first order pipeline unpacks data, data bit width 16bit.
Second level pipeline can be filled data (padding) operation.Padding operations are will be wide high insufficient 256 × 256 band (tile) is extended to 256 × 256 tile, wherein extended area mends 0 pixel.
Third level pipeline can complete half-word to the conversion of word, the conversion of low level a to high position.Because of the first order Data after pipeline is unpacked are half word patterns of low level, if current solution pack mode requires other patterns, it is necessary to logarithm It is converted according to format.
It should be understood that unwrapper unit includes 3 grades of pipeline exemplary only, rather than the restriction to the embodiment of the present application.
Optionally, as shown in Figure 1, control access 110 can also include DCU data control unit 114.DCU data control unit 114 It can be used for reading the first descriptor of the first data, read control unit 112 and be specifically used for generating reading control according to the first descriptor Signal processed.
Optionally, as shown in Figure 1, DCU data control unit 114 can be via kernel bus 250 from kernel (core) 260 Read the first descriptor of the first data.
The descriptor of the embodiment of the present application can serve to indicate that priority, wherein need to consider there are many situation, for example, the One descriptor may include the first field, and the type that the first field is used to indicate the first data is immediate, 1D data or 2D numbers According to.The priority of immediate is more than the priority of one-dimensional (1D) data and two-dimentional (2D) data.In general, 1D tasks and 2D tasks point The data volume of the defeated 1D data of supplementary biography and 2D data is bigger.During 1D data and 2D data are transmitted, if data control The descriptor of an immediate is pressed into unit 114 processed, then according to descriptor, the task of the immediate can jump the queue in advance It executes.The dma controller of the embodiment of the present application can promote the execution efficiency of immediate as a result,.
In a specific example, the dma controller of the embodiment of the present application can be supported notable (outstanding) Efficient data receives structure.The data receiver structure can make full use of outstanding resources, in the case of smaller caching Realize efficient data receiver.For example, the case where for 8 outstanding, data receiver structure has 8 utilizable marks Know (IDentifier, ID) 0~7.The use of current ID is indicated with the register (such as register variable busy) of a 8bit Situation, bit are low, indicate that the bit corresponding ID is not used;Bit are height, are indicating the bit corresponding ID just It reads back data in waiting.Every a line of one register file of data receiver structural maintenance, register file corresponds to an ID, and storage is worked as The corresponding buffer memory address preceding ID.Whenever dma controller reads back via external bus from external memory a bat valid data When, according to the ID of the data, corresponding register file is inquired, obtains the buffer address of the data, then arrives the data buffer storage In corresponding address, while the address date in the register file is added 1.If the data currently read back are its bursts (burst) the corresponding registers of the ID are then set to 0 by the last one data, are used for other transmission.
For another example:Dma controller supports outstanding 8, if currently free ID, the ID can be used to read and write vertical Count.The data volume of immediate is usually smaller, for example, 128bit, it is only necessary to which list (single) floating-point operation can be complete At transmission.The dma controller of the embodiment of the present application under the premise of smaller cache resources consumption, to greatly promote The utilization rate of oustanding resources, so as to promote the reading efficiency of dma controller.
In a specific example, the first descriptor may include the second field, and the second field is used to indicate the first number According to the priority of corresponding task.Specifically, the description of each 1D data or the descriptor of 2D data can configure a 3bit The second field, be used to indicate the priority of data task.In a specific example, priority can be divided into 8 grades. Control access task of selection highest priority from descriptor caching is executed.If the priority of multiple tasks is identical, Being pressed into descriptor caching at first of the task is then selected to be executed.
Optionally, DCU data control unit 114 may include a register, and the register is for depositing in the first descriptor The priority of the corresponding task of first data reads control unit 112 and is used to generate reading control letter according to the priority in register Number.In one example, a kind of concrete implementation mode of descriptor caching can be as follows.Fig. 3 is one kind of descriptor caching The schematic diagram of realization method.As shown in figure 3, one register group of setting, totally 7 row, the often row of register correspond to this group of register A descriptor in descriptor caching.For example, the descriptor of the corresponding task of data of the 0th row corresponding address 0~9, the 1st The descriptor ... of the corresponding task of data of row corresponding address 10~19, and so on.The often row of register may include 3 Field (field A, field B and field C) total 7bit, field A (domains used) occupy 1bit, for indicating that the row of register is deposited Whether storage space is described symbol, and field A values are that the memory space of the row of 1 expression register is described symbol.Field B (domains pri1) Occupy 3bit, indicate the priority carried in the descriptor of data absolute value (i.e. the value in the domains pri1 by descriptor head pri Domain assignment).Field C (domains pri2) occupies 3bit, for indicating that task is pressed into the priority of descriptor caching, ensures similarity priority The task first in first out of grade.The value in the domains pri2 of the descriptor is arranged to register variable when descriptor is just pressed into Remain, while the value in the domains pri2 subtracts 1, often a descriptor is taken away from descriptor caching, by the domains pri2 of remaining descriptor Value plus 1.=
It should be understood that the citing of above-mentioned only priority, rather than the restriction to the embodiment of the present application.
Optionally, first descriptor of the embodiment of the present application may include third field, and third field is used to indicate first The solution pack mode of data.
Fig. 4 is the schematic diagram of the descriptor format of the application one embodiment.The descriptor is the descriptor of 2D data.It retouches First half-word (16bit) for stating symbol is the head dscrp_head of descriptor, indicates the mode m ode&#91 of the data;1:0] (dscrp_head[15:14]), the priority pri&#91 of the corresponding task of data;2:0](dscrp_head[13:11]), unpack mould Formula unpack_mode[2:0](dscrp_head[10:8]), pixel bit wide pixel_width[2:0](dscrp_head[7: 5]), the Chang Du &#91 of descriptor;3:0]dscrp_len
(dscrp_head[4:1]) and direction of transfer direc[0](dscrp_head[0]).Wherein, the pattern of data Mode can be that the pattern of data in immediate, 1D data or 2D data, such as this example is 2D data.Solve pack mode Unpack_mode can be one kind in aforementioned a variety of solution pack modes.Direction of transfer direc is reading direction or writes direction. dscrp_id[11:0]It is used to indicate the ID of the descriptor.Ext_addr (including ext_addr[15:0]And ext_addr[31: 16]) it is used to indicate the data address of external memory.
trans_len[15:0]It is used to indicate conveying length.toggle_num[15:0]Indicate current operation need by The number repeated.trans_width[15:0]And trans_stride[15:0]The regions 2D are used to indicate, the two parameters Initial address for calculating next time in line feed.port_cfg1[15:0]And port_cfg2[15:0]It corresponds in two respectively The number of portion's storage unit, most-significant byte for storing data and least-significant byte.padding_en[0],vld_data_height[6: 0]And vld_data_width[6:0]These three parameters are used for padding, need to carry out for example, padding_en is 1 expression Padding indicates for 0 without padding, vld_data_height[6:0]And vld_data_width[6:0]For Define the height and width of empty band.
Optionally, the dma controller of the embodiment of the present application can also include writing data path, and control access can also include Control unit is write, control unit is write and writes data path via interior for generating write control signal, and by write control signal control Portion's bus reads the second data from internal storage unit;It may include packaged unit to write data path, and packaged unit is used for the Two data are packaged, and write data path and external memory is written via external bus in the second data after packing.
Optionally, it can also includes second clock processing unit to write data path, in the second data of packaged unit pair After being packaged, the cross clock domain that the second data after packing are carried out with asynchronous FIFO is handled.
It will be unfolded in detail below about the relevant operation for writing data path.
The embodiment of the present application also provides a kind of dma controllers, have and write data function.Fig. 5 be the application another The schematic block diagram of the dma controller 500 of embodiment.As shown in figure 5, dma controller 500 includes control access 510 and writes number According to access 520.Control access 510 may include writing control unit 512, write control unit 512 for generating write control signal, and Data path 520, which is write, by write control signal control reads the second data from internal storage unit 240 via internal bus 230. It may include packaged unit 522 to write data path 520, and packaged unit 522 writes data path for being packaged to the second data External memory 220 is written via external bus 210 in the second data after packing by 520.
It should be understood that as shown in figure 5, the embodiment of the present application specifically can be by writing the external r/w cell 526 of data path 520 External memory 220 is written into via external bus 210 in the second data after packing, the embodiment of the present application is not construed as limiting this.
It is logical to write data by the way that control access is arranged inside it and writes data path for the dma controller of the embodiment of the present application Road toward external memory write access according to while, data are packaged by packaged unit so that dma controller is removed in data Packaging operation is carried out while shifting, the two parallel processing can improve data processing speed, can promote the performance of chip.
Further, since dma controller is packaged data, the upstream units of dma controller need not be by initial data It is packaged, which increase the flexibilities of the upstream units of dma controller so that the dma controller can be used in a variety of differences Application scenarios.
Optionally, as shown in figure 5, it can also includes second clock processing unit 524 to write data path 520, for beating After packet unit 522 is packaged the second data, at the cross clock domain of second data progress asynchronous FIFO after packing Reason.
Optionally, packaged unit 522 specifically can be used for, according to preset packing pattern, being packaged the second data. Corresponding with solution pack mode, the packing pattern that the embodiment of the present application is supported may include Direct Model, low level word pattern, low level half Word pattern, parity column split mode, one-bank replication modes, high-order word pattern, high-order half word pattern and two-bank are replicated At least one of pattern, and the embodiment of the present application is not limited to that.
The operation principle and flow of the packaged unit 522 of the embodiment of the present application can be with the unwrapper units of the embodiment of the present application Principle it is similar, flow is on the contrary, no longer repeated herein.
Optionally, as one embodiment, as shown in figure 5, control access 510 can also include DCU data control unit 514. DCU data control unit 514 is used to read the second descriptor of the second data, writes control unit 512 and is specifically used for according to the second description Symbol generates write control signal.
Optionally, as one embodiment, as shown in figure 5, DCU data control unit 514 can via kernel bus 250 from The second descriptor of the second data is read in kernel (core) 260.
Optionally, the second descriptor may include the first field, and the type that the first field is used to indicate the second data is vertical That is number, one-dimensional 1D data or two-dimentional 2D data.Optionally, the second descriptor may include the second field, and the second field is for referring to Show the priority of the corresponding task of the second data.Optionally, the second descriptor may include third field, and third field is for referring to Show the packing pattern (the solution pack mode that the first data are used to indicate corresponding to the third field of the first descriptor) of the second data.
The format of second descriptor of the embodiment of the present application can be same or like with the format of the first descriptor.
It should be understood that if the existing read operation for the same data has write operation again, a descriptor can be used only To two operations (or two tasks is claimed to carry out) description.
Optionally, as one embodiment, DCU data control unit 514 may include register, and the register is for depositing The priority of the corresponding task of second data in second descriptor writes control unit 512 for according to the priority in register Generate write control signal.
Optionally, as one embodiment, dma controller 500 can also include read data path, and control access can be with Including reading control unit, reads control unit and can be used for generating read control signal, and is logical by read control signal control reading data The first data are read from external memory in road via external bus;Read data path may include unwrapper unit, and unwrapper unit can be with For being unpacked to the first data, storage inside list is written via internal bus in the first data after unpacking by read data path Member.
Optionally, as one embodiment, read data path can also include the first clock processing unit, for reading According to access read the first data carry out asynchronous FIFO cross clock domain processing, unwrapper unit be specifically used for carry out FIFO across Treated that the first data are unpacked for clock domain.
It should be understood that including writing the dma controller of data path again for not only including read data path, in DCU data control unit Register can not only deposit the priority of the corresponding task of data (such as first data) being read, but also deposit is to be written The priority of the corresponding task of data (such as second data).In other words, reading data and write-in data can share same A register.Certainly, different registers can also be respectively set by reading data and write-in data, the embodiment of the present application to this not It is construed as limiting.
It includes read data path but also the feelings including writing data path to illustrate dma controller not only below with a specific example Condition.Fig. 6 is the schematic block diagram of the dma controller 600 of the application another embodiment.As shown in fig. 6, dma controller 600 wraps It includes control access 610, read data path 620 and writes data path 630.
Control access 610 may include reading control unit 612 and writing control unit 614.Control unit 612 is read for generating Read control signal, and read data path 620 is controlled by read control signal and is read from external memory 220 via external bus 210 Data.It writes control unit 614 and writes data path 630 via interior for generating write control signal, and by write control signal control Portion's bus 230 reads data from internal storage unit 240.Control access 610 can also include DCU data control unit 616.Data Control unit 616 can be used for reading the descriptor of data.DCU data control unit 616 may include interface (crf_if) module, It is the interface module of DCU data control unit 616 and kernel bus 250.Can also include reading immediately inside DCU data control unit 616 Number data buffer storage (im_cache) module, descriptor format inspection (dscrp_check) module and descriptor distribute (dscrp_ Distribute) module.Im_cache modules are the modules for caching immediate.Dscrp_check modules are for checking The module of descriptor format.Descriptor is distributed to reading immediate by dscrp_distribute modules according to the content of descriptor Task buffer (fifo_im_r) module writes immediate task buffer (fifo_im_w) module, reads 1D2D task buffers (pri_ 1d2d_r) module and write 1D2D task buffers (pri_1d2d_w) module this four modules.Fifo_im_r modules are read for caching Immediate task, fifo_im_w modules write immediate task for caching, pri_1d2d_r modules for cache read 1D tasks and 2D tasks, and have the function of task priority, pri_1d2d_w modules have task for caching the 1D tasks and 2D tasks write Priority feature.Control unit 612 is read to generate according to fifo_im_r modules or pri_1d2d_r moulds descriptor in the block and read control Signal.It writes control unit 614 and write control signal is generated according to fifo_im_w modules or pri_1d2d_w moulds descriptor in the block.
Read data path 620 may include that external unit 626 of reading reads number via external bus 210 from external memory 220 According to;Read data path 620 can also include the first clock processing unit 624, the data for reading to read data path 620 into The cross clock domain of line asynchronous FIFO is handled;Read data path 620 further includes unwrapper unit 622, after being unpacked to data, Internal storage unit 240 is written via internal bus 230.
It may include packaged unit 632 to write data path 630, for write data path 630 via internal bus 230 from The data that internal storage unit 240 is read are packaged;It can also includes second clock processing unit 634 to write data path 630, The cross clock domain that asynchronous FIFO is carried out for the data after being packaged to packaged unit 632 is handled;Writing data path 630 can also wrap External r/w cell 626 is included, for that will be packaged and cross clock domain treated data are via the write-in external memory of external bus 210 220。
It should be understood that dma controller 600 shown in fig. 6 is only the example of the embodiment of the present application and non-limiting.
Explained above is the dma controllers of the embodiment of the present application, and corresponding data are described in detail separately below and read Take method and method for writing data.
Fig. 7 is the schematic flow chart of the method for reading data 700 of the application one embodiment.Method 700 can be by DMA Controller executes, which includes control access and read data path, and control access includes reading control unit, reads data Access includes unwrapper unit.As shown in fig. 7, method 700 may comprise steps of.
S710 reads control unit and generates read control signal, and controls read data path via outside by read control signal Bus reads the first data from external memory.
S720, the first data of unwrapper unit pair unpack.
Internal storage unit is written via internal bus in the first data after unpacking by S730, read data path.
The method for reading data of the embodiment of the present application is led to by the way that control access is arranged inside dma controller and reads data Road, read data path unpack data by unwrapper unit while reading data from external memory so that DMA is controlled Device processed carries out de-packaging operation while data-moving, and the two parallel processing can improve data processing speed, can promote core The performance of piece.
Optionally, as one embodiment, the first data of S720 unwrapper units pair unpack, and may include:It unpacks single Member unpacks the first data according to preset solution pack mode.
Optionally, as one embodiment, read data path can also include the first clock processing unit, and method 700 is also May include:The first data that first clock processing unit reads read data path into line asynchronous first in, first out FIFO across when Clock domain is handled;The first data of S720 unwrapper units pair unpack, and may include:Cross clock domain of the unwrapper unit to progress FIFO Treated, and the first data are unpacked.
Optionally, as one embodiment, control access can also include DCU data control unit, and method 700 can also wrap It includes:DCU data control unit reads the first descriptor of the first data;S710 reads control unit and generates read control signal, can wrap It includes:Control unit is read according to the first descriptor, generates read control signal.
Optionally, as one embodiment, the first descriptor includes the first field, and the first field is used to indicate the first data Type be immediate, one-dimensional 1D data or two-dimentional 2D data.
Optionally, as one embodiment, the first descriptor includes the second field, and the second field is used to indicate the first data The priority of corresponding task.
Optionally, as one embodiment, the first descriptor includes third field, and third field is used to indicate the first data Solution pack mode.
Optionally, as one embodiment, DCU data control unit may include register, and method 700 can also include:It posts Storage deposits the priority of the corresponding task of the first data in the first descriptor;Control unit is read according to the first descriptor, is generated Read control signal may include:Control unit is read according to the priority in register, generates read control signal.
Optionally, as one embodiment, dma controller further includes writing data path, and control access can also include writing Control unit, it may include packaged unit to write data path, and method 700 can also include:It writes control unit generation and writes control letter Number, and data path is write by write control signal control and reads the second data from internal storage unit via internal bus;It is packaged The second data of unit pair are packaged, and write data path and external memory is written via external bus in the second data after packing.
Optionally, as one embodiment, it can also includes second clock processing unit to write data path, and method 700 is also May include:Second clock processing unit after the second data of packaged unit pair are packaged, to the second data after packing into The cross clock domain of line asynchronous first in, first out FIFO is handled.
Fig. 8 is the schematic flow chart of the method for writing data 800 of the application one embodiment.Method 800 can be by DMA Controller executes, and dma controller includes control access and writes data path, and control access includes writing control unit, and it is logical to write data Road includes packaged unit, and method 800 may comprise steps of.
S810 writes control unit and generates write control signal, and writes data path via inside by write control signal control Bus reads the second data from internal storage unit.
S820, the second data of packaged unit pair are packaged.
S830 writes data path and external memory is written via external bus in the second data after packing.
The method for writing data of the embodiment of the present application is led to by the way that control access is arranged inside dma controller and writes data Road, write data path toward external memory write access according to while, data are packaged by packaged unit so that DMA control Device processed carries out packaging operation while data-moving, and the two parallel processing can improve data processing speed, can promote core The performance of piece
Optionally, as one embodiment, the second data of S820 packaged units pair are packaged, and may include:Pack slip Member is packaged the second data according to preset packing pattern.
Optionally, as one embodiment, it can also includes second clock processing unit to write data path, and method 800 is also May include:Second clock processing unit after the second data of packaged unit pair are packaged, to the second data after packing into The cross clock domain of line asynchronous first in, first out FIFO is handled.
Optionally, as one embodiment, control access can also include DCU data control unit, and method 800 can also wrap It includes:DCU data control unit reads the second descriptor of the second data;S810 writes control unit and generates write control signal, can wrap It includes:Control unit is write according to the second descriptor, generates write control signal.
Optionally, as one embodiment, the second descriptor includes the first field, and the first field is used to indicate the second data Type be immediate, one-dimensional 1D data or two-dimentional 2D data.
Optionally, as one embodiment, the second descriptor includes the second field, and the second field is used to indicate the second data The priority of corresponding task.
Optionally, as one embodiment, the second descriptor includes third field, and third field is used to indicate the second data Packing pattern.
Optionally, as one embodiment, DCU data control unit may include register, and method 800 can also include:It posts Storage deposits the priority of the corresponding task of the second data in the second descriptor;Control unit is write according to the second descriptor, is generated Write control signal may include:It writes control unit and write control signal is generated according to the priority in register.
Optionally, as one embodiment, dma controller can also include read data path, and control access can also wrap Reading control unit is included, read data path may include unwrapper unit, and method 800 can also include:It reads control unit and generates reading control Signal processed, and read data path is controlled by read control signal and reads the first data from external memory via external bus;It unpacks The first data of unit pair unpack, and storage inside list is written via internal bus in the first data after unpacking by read data path Member.
Optionally, as one embodiment, read data path can also include the first clock processing unit, and method 800 is also May include:The first data that first clock processing unit reads read data path into line asynchronous first in, first out FIFO across when Clock domain is handled;The first data of unwrapper unit pair unpack, and may include:Unwrapper unit handles the cross clock domain for carrying out FIFO The first data afterwards are unpacked.
DMA controls are being described above in the method for reading data of the embodiment of the present application and the detailed process of method for writing data It is described in detail when device processed, details are not described herein again.
The embodiment of the present application also provides a kind of integrated circuit, which includes the dma controller of the embodiment of the present application 100, at least one of dma controller 500 and dma controller 600.
It should be understood that the integrated circuit of the embodiment of the present application can be Application-Specific Integrated Circuit (Application Specific Integrated Circuit, ASIC) or be field programmable gate array (Field-Programmable Gate Array, FPGA).
The embodiment of the present application also provides a kind of computing chip, which includes the dma controller of the embodiment of the present application 100, at least one of dma controller 500 and dma controller 600.
The embodiment of the present application also provides a kind of movable equipment, which includes the DMA controls of the embodiment of the present application At least one of device 100, dma controller 500 and dma controller 600 processed.
The movable equipment of the embodiment of the present application can be aircraft, it is particularly possible to be unmanned plane.
It should be understood that the circuit, sub-circuit, the division of subelement of each embodiment of the application are only schematical.This field is general Logical technical staff is it is to be appreciated that each exemplary circuit, sub-circuit and the subelement that the embodiments described herein describes, energy Enough rows again are split or combination.
In the above-described embodiments, can come wholly or partly by software, hardware, firmware or its arbitrary combination real It is existing.When implemented in software, it can entirely or partly realize in the form of a computer program product.The computer program Product includes one or more computer instructions.It is all or part of when loading on computers and executing the computer instruction Ground is generated according to the flow or function described in the embodiment of the present application.The computer can be all-purpose computer, special purpose computer, Computer network or other programmable devices.The computer instruction can store in a computer-readable storage medium, or Person is transmitted from a computer readable storage medium to another computer readable storage medium, for example, the computer instruction Wired (such as coaxial cable, optical fiber, digital subscriber can be passed through from a web-site, computer, server or data center Line (Digital Subscriber Line, DSL)) or wireless (such as infrared, wireless, microwave etc.) mode to another website Website, computer, server or data center are transmitted.The computer readable storage medium, which can be computer, to be deposited Any usable medium taken is either set comprising data storages such as one or more usable mediums integrated server, data centers It is standby.The usable medium can be magnetic medium (for example, floppy disk, hard disk, tape), optical medium (for example, high-density digital video CD (Digital Video Disc, DVD)) or semiconductor medium (for example, solid state disk (Solid State Disk, SSD)) etc..
It should be understood that " one embodiment " or " embodiment " that specification is mentioned in the whole text mean it is related with embodiment A particular feature, structure, or characteristic is included at least one embodiment of the application.Therefore, occur everywhere in the whole instruction " in one embodiment " or " in one embodiment " not necessarily refer to identical embodiment.In addition, these specific feature, knots Structure or characteristic can in any suitable manner combine in one or more embodiments.
It should be understood that in the various embodiments of the application, size of the sequence numbers of the above procedures is not meant to execute suitable The execution sequence of the priority of sequence, each process should be determined by its function and internal logic, the implementation without coping with the embodiment of the present application Process constitutes any restriction.
It should be understood that in the embodiment of the present application, " B corresponding with A " indicates that B is associated with A, and B can be determined according to A.But It should also be understood that determining that B is not meant to determine B only according to A according to A, B can also be determined according to A and/or other information.
It should be understood that the terms "and/or", only a kind of incidence relation of description affiliated partner, expression can deposit In three kinds of relationships, for example, A and/or B, can indicate:Individualism A exists simultaneously A and B, these three situations of individualism B. In addition, character "/" herein, it is a kind of relationship of "or" to typically represent forward-backward correlation object.
Those of ordinary skill in the art may realize that lists described in conjunction with the examples disclosed in the embodiments of the present disclosure Member and algorithm steps can be realized with the combination of electronic hardware or computer software and electronic hardware.These functions are actually It is implemented in hardware or software, depends on the specific application and design constraint of technical solution.Professional technician Each specific application can be used different methods to achieve the described function, but this realization is it is not considered that exceed Scope of the present application.
It is apparent to those skilled in the art that for convenience and simplicity of description, the system of foregoing description, The specific work process of device and unit, can refer to corresponding processes in the foregoing method embodiment, and details are not described herein.
In several embodiments provided herein, it should be understood that disclosed systems, devices and methods, it can be with It realizes by another way.For example, the apparatus embodiments described above are merely exemplary, for example, the unit It divides, only a kind of division of logic function, formula that in actual implementation, there may be another division manner, such as multiple units or component It can be combined or can be integrated into another system, or some features can be ignored or not executed.Another point, it is shown or The mutual coupling, direct-coupling or communication connection discussed can be the indirect coupling by some interfaces, device or unit It closes or communicates to connect, can be electrical, machinery or other forms.
The unit illustrated as separating component may or may not be physically separated, aobvious as unit The component shown may or may not be physical unit, you can be located at a place, or may be distributed over multiple In network element.Some or all of unit therein can be selected according to the actual needs to realize the mesh of this embodiment scheme 's.
In addition, each functional unit in each embodiment of the application can be integrated in a processing unit, it can also It is that each unit physically exists alone, it can also be during two or more units be integrated in one unit.
The above, the only specific implementation mode of the application, but the protection domain of the application is not limited thereto, it is any Those familiar with the art can easily think of the change or the replacement in the technical scope that the application discloses, and should all contain It covers within the protection domain of the application.Therefore, the protection domain of the application should be based on the protection scope of the described claims.

Claims (42)

1. a kind of direct memory access dma controller, which is characterized in that including control access and read data path,
The control access includes reading control unit, and the reading control unit passes through the reading for generating read control signal It controls the signal control read data path and reads the first data from external memory via external bus;
The read data path includes unwrapper unit, and the unwrapper unit is for unpacking first data, the reading Internal storage unit is written via internal bus in the first data after unpacking by data path.
2. dma controller according to claim 1, which is characterized in that the unwrapper unit is specifically used for according to preset Pack mode is solved, first data are unpacked.
3. dma controller according to claim 1, which is characterized in that the read data path further includes at the first clock Unit is managed, first data for reading to the read data path are at the cross clock domain of line asynchronous first in, first out FIFO Reason, the unwrapper unit are specifically used for that treated that the first data unpack to the cross clock domain that carries out FIFO.
4. dma controller according to claim 1, which is characterized in that the control access further includes DCU data control unit, The DCU data control unit is used to read the first descriptor of first data, and the reading control unit is specifically used for according to institute It states the first descriptor and generates the read control signal.
5. dma controller according to claim 4, which is characterized in that first descriptor includes the first field, described The type that first field is used to indicate first data is immediate, one-dimensional 1D data or two-dimentional 2D data.
6. dma controller according to claim 4, which is characterized in that first descriptor includes the second field, described Second field is used to indicate the priority of the corresponding task of first data.
7. dma controller according to claim 4, which is characterized in that first descriptor includes third field, described Third field is used to indicate the solution pack mode of first data.
8. dma controller according to claim 4, which is characterized in that the DCU data control unit includes register, described Register is used to deposit the priority of the corresponding task of the first data described in first descriptor, and the reading control unit is used According to the priority generation read control signal in the register.
9. dma controller according to claim 1, which is characterized in that the dma controller further includes writing data path,
The control access further includes writing control unit, and the control unit of writing passes through described for generating write control signal Write control signal controls write data access and reads the second data from the internal storage unit via the internal bus;
Write data access includes packaged unit, and the packaged unit is described to write for being packaged to second data The external memory is written via the external bus in the second data after packing by data path.
10. dma controller according to claim 9, which is characterized in that write data access further includes at second clock Unit is managed, for after the packaged unit is packaged second data, being carried out to second data after packing The cross clock domain of asynchronous first in, first out FIFO is handled.
11. a kind of direct memory access dma controller, which is characterized in that including control access and data path is write,
The control access includes writing control unit, and the control unit of writing is write for generating write control signal, and by described It controls signal control write data access and reads the second data from internal storage unit via internal bus;
Write data access includes packaged unit, and the packaged unit is described to write for being packaged to second data External memory is written via external bus in the second data after packing by data path.
12. dma controller according to claim 11, which is characterized in that the packaged unit is specifically used for according to default Packing pattern, second data are packaged.
13. dma controller according to claim 11, which is characterized in that write data access further includes second clock Processing unit, for after the packaged unit is packaged second data, to second data after packing into The cross clock domain of line asynchronous first in, first out FIFO is handled.
14. dma controller according to claim 11, which is characterized in that the control access further includes that data control is single Member, the DCU data control unit are used to read the second descriptor of second data, and the control unit of writing is specifically used for root The write control signal is generated according to second descriptor.
15. dma controller according to claim 14, which is characterized in that second descriptor includes the first field, institute It is immediate, one-dimensional 1D data or two-dimentional 2D data to state the first field and be used to indicate the type of second data.
16. dma controller according to claim 14, which is characterized in that second descriptor includes the second field, institute State the priority that the second field is used to indicate the corresponding task of second data.
17. dma controller according to claim 14, which is characterized in that second descriptor includes third field, institute State the packing pattern that third field is used to indicate second data.
18. dma controller according to claim 14, which is characterized in that the DCU data control unit includes register, institute Priority of the register for depositing the corresponding task of the second data described in second descriptor is stated, it is described to write control unit For generating the write control signal according to the priority in the register.
19. dma controller according to claim 11, which is characterized in that the dma controller further includes reading data to lead to Road,
The control access further includes reading control unit, and the reading control unit passes through described for generating read control signal Read control signal controls the read data path and reads the first data from the external memory via the external bus;
The read data path includes unwrapper unit, and the unwrapper unit is for unpacking first data, the reading The internal storage unit is written via the internal bus in the first data after unpacking by data path.
20. dma controller according to claim 19, which is characterized in that the read data path further includes the first clock Processing unit, cross clock domain of first data for being used to read the read data path into line asynchronous first in, first out FIFO Processing, the unwrapper unit are specifically used for that treated that the first data unpack to the cross clock domain that carries out FIFO.
21. a kind of method for reading data, which is characterized in that the method is executed by direct memory access dma controller, described Dma controller includes control access and read data path, and the control access includes reading control unit, the read data path packet Unwrapper unit is included, the method includes:
The reading control unit generates read control signal, and controls the read data path via outer by the read control signal Portion's bus reads the first data from external memory;
The unwrapper unit unpacks first data, and the read data path is by the first data after unpacking via interior Internal storage unit is written in portion's bus.
22. according to the method for claim 21, which is characterized in that the unwrapper unit solves first data Packet, including:
The unwrapper unit unpacks first data according to preset solution pack mode.
23. according to the method for claim 21, which is characterized in that the read data path further includes that the processing of the first clock is single Member, the method further include:
First data that the first clock processing unit reads the read data path are into line asynchronous first in, first out The cross clock domain of FIFO is handled;
The unwrapper unit unpacks first data, including:
Treated that the first data unpack to the cross clock domain that carries out FIFO for the unwrapper unit.
24. according to the method for claim 21, which is characterized in that the control access further includes DCU data control unit, institute The method of stating further includes:
The DCU data control unit reads the first descriptor of first data;
The reading control unit generates read control signal, including:
The reading control unit generates the read control signal according to first descriptor.
25. according to the method for claim 24, which is characterized in that first descriptor includes the first field, and described the The type that one field is used to indicate first data is immediate, one-dimensional 1D data or two-dimentional 2D data.
26. according to the method for claim 24, which is characterized in that first descriptor includes the second field, and described the Two fields are used to indicate the priority of the corresponding task of first data.
27. according to the method for claim 24, which is characterized in that first descriptor includes third field, and described the Three fields are used to indicate the solution pack mode of first data.
28. according to the method for claim 24, which is characterized in that the DCU data control unit includes register, the side Method further includes:
The register deposits the priority of the corresponding task of the first data described in first descriptor;
The reading control unit generates the read control signal according to first descriptor, including:
The reading control unit generates the read control signal according to the priority in the register.
29. according to the method for claim 21, which is characterized in that the dma controller further includes writing data path, described Control access further includes writing control unit, and write data access includes packaged unit, and the method further includes:
The control unit of writing generates write control signal, and controls write data access via institute by the write control signal It states internal bus and reads the second data from the internal storage unit;
The packaged unit is packaged second data, and write data access is by the second data after packing via institute It states external bus and the external memory is written.
30. according to the method for claim 29, which is characterized in that write data access further includes that second clock processing is single Member, the method further include:
The second clock processing unit is after the packaged unit is packaged second data, described in after packing The cross clock domain of second data into line asynchronous first in, first out FIFO are handled.
31. a kind of method for writing data, which is characterized in that the method is executed by direct memory access dma controller, described Dma controller includes control access and writes data path, and the control access includes writing control unit, write data access packet Packaged unit is included, the method includes:
The control unit of writing generates write control signal, and controls write data access via interior by the write control signal Portion's bus reads the second data from internal storage unit;
The packaged unit is packaged second data, and write data access is by the second data after packing via outer External memory is written in portion's bus.
32. according to the method for claim 31, which is characterized in that the packaged unit beats second data Packet, including:
The packaged unit is packaged second data according to preset packing pattern.
33. according to the method for claim 31, which is characterized in that write data access further includes that second clock processing is single Member, the method further include:
The second clock processing unit is after the packaged unit is packaged second data, described in after packing The cross clock domain of second data into line asynchronous first in, first out FIFO are handled.
34. according to the method for claim 31, which is characterized in that the control access further includes DCU data control unit, institute The method of stating further includes:
The DCU data control unit reads the second descriptor of second data;
The control unit of writing generates write control signal, including:
The control unit of writing generates the write control signal according to second descriptor.
35. according to the method for claim 34, which is characterized in that second descriptor includes the first field, and described the The type that one field is used to indicate second data is immediate, one-dimensional 1D data or two-dimentional 2D data.
36. according to the method for claim 34, which is characterized in that second descriptor includes the second field, and described the Two fields are used to indicate the priority of the corresponding task of second data.
37. according to the method for claim 34, which is characterized in that second descriptor includes third field, and described the Three fields are used to indicate the packing pattern of second data.
38. according to the method for claim 34, which is characterized in that the DCU data control unit includes register, the side Method further includes:
The register deposits the priority of the corresponding task of the second data described in second descriptor;
The control unit of writing generates the write control signal according to second descriptor, including:
The control unit of writing generates the write control signal according to the priority in the register.
39. according to the method for claim 31, which is characterized in that the dma controller further includes read data path, described Control access further includes reading control unit, and the read data path includes unwrapper unit, and the method further includes:
The reading control unit generates read control signal, and controls the read data path via institute by the read control signal It states external bus and reads the first data from the external memory;
The unwrapper unit unpacks first data, and the read data path is by the first data after unpacking via institute It states internal bus and the internal storage unit is written.
40. according to the method for claim 39, which is characterized in that the read data path further includes that the processing of the first clock is single Member, the method further include:
First data that the first clock processing unit reads the read data path are into line asynchronous first in, first out The cross clock domain of FIFO is handled;
The unwrapper unit unpacks first data, including:
Treated that the first data unpack to the cross clock domain that carries out FIFO for the unwrapper unit.
41. a kind of integrated circuit, which is characterized in that including described in any one of claims 1 to 10 dma controller and/or Dma controller described in any one of claim 11 to 20.
42. a kind of movable equipment, which is characterized in that including described in any one of claims 1 to 10 dma controller and/ Or the dma controller described in any one of claim 11 to 20.
CN201780010826.8A 2017-10-31 2017-10-31 Direct memory access controller, method for reading data and method for writing data Pending CN108701102A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/108644 WO2019084789A1 (en) 2017-10-31 2017-10-31 Direct memory access controller, data reading method, and data writing method

Publications (1)

Publication Number Publication Date
CN108701102A true CN108701102A (en) 2018-10-23

Family

ID=63844132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780010826.8A Pending CN108701102A (en) 2017-10-31 2017-10-31 Direct memory access controller, method for reading data and method for writing data

Country Status (2)

Country Link
CN (1) CN108701102A (en)
WO (1) WO2019084789A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112823343A (en) * 2020-03-11 2021-05-18 深圳市大疆创新科技有限公司 Direct memory access unit, processor, device, processing method, and storage medium
CN115794722A (en) * 2023-02-10 2023-03-14 智绘微电子科技(南京)有限公司 AXI outlinking interface conversion implementation method
CN117033270A (en) * 2023-10-08 2023-11-10 腾讯科技(深圳)有限公司 Chip, device and data processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851669A (en) * 2005-09-07 2006-10-25 深圳市海思半导体有限公司 Method for improving storage access efficiency and storage coutroller
US20090125648A1 (en) * 2007-11-14 2009-05-14 Yin-Hsi Huang Direct memory access system and method
CN102135946A (en) * 2010-01-27 2011-07-27 中兴通讯股份有限公司 Data processing method and device
CN103885919A (en) * 2014-03-20 2014-06-25 北京航空航天大学 Multi-DSP and multi-FPGA parallel processing system and implement method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584513B1 (en) * 2000-03-31 2003-06-24 Emc Corporation Direct memory access (DMA) transmitter
US7444442B2 (en) * 2005-12-13 2008-10-28 Shashank Dabral Data packing in a 32-bit DMA architecture
CN103714026B (en) * 2014-01-14 2016-09-28 中国人民解放军国防科学技术大学 A kind of memory access method supporting former address data exchange and device
CN106951388B (en) * 2017-03-16 2020-06-30 湖南博匠信息科技有限公司 PCIe-based DMA data transmission method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851669A (en) * 2005-09-07 2006-10-25 深圳市海思半导体有限公司 Method for improving storage access efficiency and storage coutroller
US20090125648A1 (en) * 2007-11-14 2009-05-14 Yin-Hsi Huang Direct memory access system and method
CN102135946A (en) * 2010-01-27 2011-07-27 中兴通讯股份有限公司 Data processing method and device
CN103885919A (en) * 2014-03-20 2014-06-25 北京航空航天大学 Multi-DSP and multi-FPGA parallel processing system and implement method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112823343A (en) * 2020-03-11 2021-05-18 深圳市大疆创新科技有限公司 Direct memory access unit, processor, device, processing method, and storage medium
WO2021179218A1 (en) * 2020-03-11 2021-09-16 深圳市大疆创新科技有限公司 Direct memory access unit, processor, device, processing method, and storage medium
CN115794722A (en) * 2023-02-10 2023-03-14 智绘微电子科技(南京)有限公司 AXI outlinking interface conversion implementation method
CN117033270A (en) * 2023-10-08 2023-11-10 腾讯科技(深圳)有限公司 Chip, device and data processing method
CN117033270B (en) * 2023-10-08 2024-01-26 腾讯科技(深圳)有限公司 Chip, device and data processing method

Also Published As

Publication number Publication date
WO2019084789A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
US20200004549A1 (en) Multi-threaded instruction buffer design
CN109219805B (en) Memory access method, related device, system and storage medium of multi-core system
US9092275B2 (en) Store operation with conditional push of a tag value to a queue
EP2126710A2 (en) Content-terminated dma
US10430210B2 (en) Systems and devices for accessing a state machine
CN113900974B (en) Storage device, data storage method and related equipment
US11714651B2 (en) Method and tensor traversal engine for strided memory access during execution of neural networks
CN102314400B (en) Method and device for dispersing converged DMA (Direct Memory Access)
CN108701102A (en) Direct memory access controller, method for reading data and method for writing data
US8943240B1 (en) Direct memory access and relative addressing
CN112189324B (en) Bandwidth matched scheduler
WO2021232843A1 (en) Image data storage method, image data processing method and system, and related apparatus
US11947979B2 (en) Systems and devices for accessing a state machine
CN103714026A (en) Memorizer access method and device supporting original-address data exchange
CN114385236A (en) Passing programmable atomic operators to a memory controller
WO2023022851A1 (en) Data storage during loop execution in a reconfigurable compute fabric
US11675588B2 (en) Tile-based result buffering in memory-compute systems
CN106227506A (en) A kind of multi-channel parallel Compress softwares system and method in memory compression system
CN116685943A (en) Self-dispatch threading in programmable atomic units
US11853216B2 (en) High bandwidth gather cache
US11740800B2 (en) Alleviating memory hotspots on systems with multiple memory controllers
WO2023014588A1 (en) Parallel matrix operations in a reconfigurable compute fabric
WO2023278015A1 (en) Loading data from memory during dispatch
CN106708473A (en) Uniform stainer array multi-warp instruction fetching circuit and method
US11704130B2 (en) Indexing external memory in a reconfigurable compute fabric

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181023