TWI771852B - Direct memory access device, data transmission method and electronic device - Google Patents
Direct memory access device, data transmission method and electronic device Download PDFInfo
- Publication number
- TWI771852B TWI771852B TW109146736A TW109146736A TWI771852B TW I771852 B TWI771852 B TW I771852B TW 109146736 A TW109146736 A TW 109146736A TW 109146736 A TW109146736 A TW 109146736A TW I771852 B TWI771852 B TW I771852B
- Authority
- TW
- Taiwan
- Prior art keywords
- amount
- data
- memory access
- direct memory
- transmission
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
Description
本發明涉及一種直接記憶體存取(Direct Memory Access,DMA)裝置,且特別是一種可以偵測資料傳輸量且能減少傳輸時間的直接記憶體存取裝置及其資料傳輸方法與使用上述直接記憶體存取裝置的電子設備。 The present invention relates to a direct memory access (Direct Memory Access, DMA) device, and more particularly to a direct memory access device capable of detecting data transfer volume and reducing transfer time, a data transfer method thereof, and the use of the above-mentioned direct memory access device. The electronic equipment of the body access device.
直接記憶體存取技術允許具有計算能力的電子設備中的周邊裝置可以不透過處理器的介入處理,即可以直接地對記憶體裝置(例如但不限定為系統記憶體)進行存取。上述電子設備例如但不限定為電腦、智能手機、平板電腦或智能家電,以及上述周邊裝置例如但不限定為硬碟控制器、繪圖顯示卡、網路卡或音效卡。 Direct memory access technology allows peripheral devices in electronic equipment with computing capabilities to directly access memory devices (such as but not limited to system memory) without the intervention of the processor. The above-mentioned electronic devices are, for example, but not limited to, computers, smart phones, tablet computers, or smart home appliances, and the above-mentioned peripheral devices are, for example, but not limited to, hard disk controllers, graphic display cards, network cards, or sound cards.
請參照圖1,圖1是先前技術之直接記憶體存取裝置進行資料傳輸的操作示意圖。當周邊裝置12要將資料傳送給直接記憶體存取裝置10或自直接記憶體存取裝置10接收資料時,直接記憶體存取裝置10與周邊裝置12會進行溝通,以設定好對應的通道進行後續資料傳輸,以及設定傳輸資料總量及每次進行傳輸的預設單次傳輸量,其中傳輸資料總量通常會是預設單次傳輸量的整數倍。於圖1,由上而下,預設單次傳輸量分別被設定為1位元組(byte,或稱字節)、半字元(half word)與1字元(word)。
Please refer to FIG. 1 . FIG. 1 is a schematic diagram of the operation of the prior art direct memory access device for data transmission. When the
假設要傳送16個位元組的資料(即,傳輸資料總量為16個位元組),且預設單次傳輸量被設定為1個位元組,則總共會進行16次的傳輸。於每一次傳輸中,周邊裝置12會先發送請求訊號(request signal)給直接記憶體存取裝置10,直接記憶體存取裝置10在收到請求訊號後,開始進行1個位元組之資料量的資料傳輸(傳送給周邊裝置12,或接收周邊裝置12的資料),並於傳輸完1個位元組之資料量的資料後,直接記憶體存取裝置10會傳送對應於請求訊號的確認回覆訊號(acknowledge(ACK)signal)給周邊裝置12。在進行多次的傳輸後,於最後一次傳輸中(於此例為第16次的傳輸),直接記憶體存取裝置10在傳送確認回覆訊號給周邊裝置12後,還會發出一個拉高(pulled up)的結束訊號(finish signal)給周邊裝置12,以表示傳輸資料總量的資料(於此例中為16個位元組之資料量的資料)已經全數傳輸完成。由上述可知,當周邊裝置12需要與直接記憶體存取裝置10大量地進行資料傳輸時,系統中的通道與頻寬將大量地被占用,此將造成頻寬壅塞與系統效率降低等技術問題。
Assuming that 16 bytes of data are to be transmitted (ie, the total amount of data to be transmitted is 16 bytes), and the default single transmission amount is set to 1 byte, a total of 16 transmissions will be performed. In each transmission, the
本發明的實施例提供了一種直接記憶體存取裝置,包括:自動傳輸資料量偵測器,具有記錄待傳輸資料量的描述符,用於判斷所述待傳輸資料量是否大於等於預設單次傳輸量,以藉此產生當次傳輸量與有效旗標訊號給與所述直接記憶體存取裝置電性連接的周邊裝置,其中所述預設單次傳輸量大於等於多個字元;其中所述周邊裝置根據所述當次傳輸量與所述有效旗標訊號產生請求訊號給所述直接記憶體存取裝置以進行資料傳輸服務請求。 An embodiment of the present invention provides a direct memory access device, comprising: an automatic transfer data amount detector, which has a descriptor for recording the amount of data to be transferred, and is used to determine whether the amount of data to be transferred is greater than or equal to a preset amount a secondary transfer amount, so as to generate a current transfer amount and a valid flag signal to a peripheral device electrically connected to the direct memory access device, wherein the preset single transfer amount is greater than or equal to a plurality of characters; The peripheral device generates a request signal to the direct memory access device according to the current transmission amount and the valid flag signal to perform a data transmission service request.
可選地,當所述待傳輸資料量大於等於預設單次傳輸量,所述自動傳輸資料量偵測器將所述當次傳輸量設為所述預設單次傳輸量;當所述待傳 輸資料量小於預設單次傳輸量,所述自動傳輸資料量偵測器將所述當次傳輸量設為所述待傳輸資料量。 Optionally, when the amount of data to be transmitted is greater than or equal to a preset single transmission amount, the automatic transmission data amount detector sets the current transmission amount as the preset single transmission amount; when the pending The amount of transmitted data is less than the preset single transmission amount, and the automatic transmission data amount detector sets the current transmission amount as the to-be-transmitted data amount.
可選地,當所述待傳輸資料量為零時,所述直接記憶體存取裝置傳送拉高的結束訊號給所述周邊裝置。 Optionally, when the amount of data to be transmitted is zero, the direct memory access device transmits a high end signal to the peripheral device.
可選地,於所述直接記憶體存取裝置收到所述請求訊號時,所述直接記憶體存取裝置進行資料量為對應於所述請求訊號之所述當次傳輸量的資料傳輸,並於資料傳輸完成後,傳送回覆確認訊號給所述周邊裝置。 Optionally, when the direct memory access device receives the request signal, the direct memory access device performs data transmission with a data volume corresponding to the current transmission volume of the request signal, And after the data transmission is completed, a reply confirmation signal is sent to the peripheral device.
可選地,所述預設單次傳輸量為兩個字元,當所述待傳輸資料量大於等於預設單次傳輸量,所述資料傳輸服務請求的完成花費三個時脈時間;當所述待傳輸資料量小於預設單次傳輸量,所述資料傳輸服務請求的完成花費兩個或三個時脈時間。 Optionally, the preset single transmission amount is two characters, and when the amount of data to be transmitted is greater than or equal to the preset single transmission amount, the completion of the data transmission service request takes three clock times; when The amount of data to be transmitted is less than the preset single transmission amount, and the completion of the data transmission service request takes two or three clock times.
本發明的實施例提供了一種直接記憶體存取裝置,其特徵在於:當待傳輸資料量大於等於預設單次傳輸量,所述直接記憶體存取裝置將當次傳輸量設為所述預設單次傳輸量;當所述待傳輸資料量小於預設單次傳輸量,所述直接記憶體存取裝置將所述當次傳輸量設為所述待傳輸資料量;所述直接記憶體存取裝置將所述當次傳輸量傳送給周邊裝置,其中所述直接記憶體存取裝置透過匯流排電性連接所述周邊裝置;於所述直接記憶體存取裝置收到所述請求訊號時,所述直接記憶體存取裝置進行資料量為對應於所述請求訊號之所述當次傳輸量的資料傳輸,並於資料傳輸完成後,傳送回覆確認訊號給所述周邊裝置,其中所述請求訊號為所述周邊裝置根據收到的所述有效旗標訊號與所述當次傳輸量而產生。 An embodiment of the present invention provides a direct memory access device, characterized in that: when the amount of data to be transferred is greater than or equal to a preset single transfer amount, the direct memory access device sets the current transfer amount as the a preset single transmission amount; when the amount of data to be transmitted is less than the preset single transmission amount, the direct memory access device sets the current transmission amount as the amount of data to be transmitted; the direct memory access The memory access device transmits the current transfer amount to a peripheral device, wherein the direct memory access device is electrically connected to the peripheral device through a bus; the request is received from the direct memory access device signal, the direct memory access device performs data transmission with a data volume corresponding to the current transmission volume of the request signal, and sends a reply confirmation signal to the peripheral device after the data transmission is completed, wherein The request signal is generated by the peripheral device according to the received valid flag signal and the current transmission amount.
本發明的實施例提供了一種用於直接記憶體存取裝置的資料傳輸方法,包括:判斷待傳輸資料量是否大於等於預設單次傳輸量,以藉此產生當次傳輸量與有效旗標訊號給與所述直接記憶體存取裝置電性連接的周邊裝 置,其中所述預設單次傳輸量大於等於多個字元;以及接收與所述直接記憶體存取裝置電性連接的周邊裝置傳送的請求訊號以進行資料傳輸服務請求,其中所述周邊裝置根據所述當次傳輸量與所述有效旗標訊號產生所述請求訊號。 An embodiment of the present invention provides a data transmission method for a direct memory access device, comprising: judging whether the amount of data to be transmitted is greater than or equal to a preset single transmission amount, thereby generating the current transmission amount and a valid flag A signal is given to a peripheral device that is electrically connected to the direct memory access device setting, wherein the preset single transmission amount is greater than or equal to a plurality of characters; and receiving a request signal transmitted by a peripheral device electrically connected to the direct memory access device to perform a data transmission service request, wherein the peripheral device The device generates the request signal according to the current transmission amount and the valid flag signal.
可選地,當所述待傳輸資料量大於等於預設單次傳輸量,將所述當次傳輸量設為所述預設單次傳輸量;當所述待傳輸資料量小於預設單次傳輸量,將所述當次傳輸量設為所述待傳輸資料量。 Optionally, when the amount of data to be transmitted is greater than or equal to the preset single transmission amount, the current transmission amount is set as the preset single transmission amount; when the amount of data to be transmitted is less than the preset single transmission amount Transmission amount, the current transmission amount is set as the amount of data to be transmitted.
本發明的實施例提供了一種電子設備,包括:前述任一種直接記憶體存取裝置;以及所述周邊裝置,透過匯流排與所述直接記憶體存取裝置電性連接。 An embodiment of the present invention provides an electronic device, comprising: any of the foregoing direct memory access devices; and the peripheral device, which is electrically connected to the direct memory access device through a bus bar.
可選地,所述電子設備為電腦、智能手機、平板電腦或智能家電,以及所述周邊裝置為硬碟控制器、繪圖顯示卡、網路卡或音效卡。 Optionally, the electronic device is a computer, a smart phone, a tablet computer or a smart home appliance, and the peripheral device is a hard disk controller, a graphics display card, a network card or a sound card.
綜上所述,本發明實施例的直接記憶體存取裝置能比先前技術省下更多的時脈時間來進行資料傳輸,且可以有效地提升電子設備之整體的系統效率。 To sum up, the direct memory access device of the embodiment of the present invention can save more clock time for data transmission than the prior art, and can effectively improve the overall system efficiency of the electronic device.
為了進一步理解本發明的技術、手段和效果,可以參考以下詳細描述和附圖,從而可以徹底和具體地理解本發明的目的、特徵和概念。然而,以下詳細描述和附圖僅用於參考和說明本發明的實現方式,其並非用於限制本發明。 For a further understanding of the techniques, means and effects of the present invention, reference may be made to the following detailed description and accompanying drawings, so that the objects, features and concepts of the present invention can be thoroughly and specifically understood. However, the following detailed description and accompanying drawings are only used to refer to and illustrate the implementation of the present invention, and are not intended to limit the present invention.
10、20:直接記憶體存取裝置 10, 20: Direct memory access device
12、22:周邊裝置 12, 22: Peripherals
2:電子設備 2: Electronic equipment
202:自動傳輸資料量偵測器 202: Automatically transmit data volume detector
204:描述符 204: Descriptor
S40~S50:步驟 S40~S50: Steps
提供的附圖用以使本發明所屬技術領域具有通常知識者可以進一步理解本發明,並且被併入與構成本發明之說明書的一部分。附圖示出了本發明的示範實施例,並且用以與本發明之說明書一起用於解釋本發明的原理。 The accompanying drawings are provided to enable those of ordinary skill in the art to which the invention pertains to further understand the present invention, and are incorporated in and constitute a part of the specification of the present invention. The drawings illustrate exemplary embodiments of the invention, and together with the description of the invention serve to explain the principles of the invention.
圖1是先前技術之直接記憶體存取裝置進行資料傳輸的操作示意圖。 FIG. 1 is a schematic diagram of the operation of the direct memory access device of the prior art for data transmission.
圖2是本發明實施例的直接記憶體存取裝置的功能方塊示意圖。 FIG. 2 is a functional block diagram of a direct memory access device according to an embodiment of the present invention.
圖3是本發明實施例直接記憶體存取裝置進行資料傳輸的操作示意圖。 FIG. 3 is a schematic diagram of the operation of the direct memory access device for data transmission according to the embodiment of the present invention.
圖4是本發明實施例之直接記憶體存取裝置使用的資料傳輸方法的流程示意圖。 FIG. 4 is a schematic flowchart of a data transmission method used by a direct memory access device according to an embodiment of the present invention.
現在將詳細參考本發明的示範實施例,其示範實施例會在附圖中被繪示出。在可能的情況下,在附圖和說明書中使用相同的元件符號來指代相同或相似的部件。另外,示範實施例的做法僅是本發明之設計概念的實現方式之一,下述的該等示範皆非用於限定本發明。 Reference will now be made in detail to exemplary embodiments of the present invention, exemplary embodiments of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used in the drawings and the description to refer to the same or like parts. In addition, the practice of the exemplary embodiment is only one way of realizing the design concept of the present invention, and the following examples are not intended to limit the present invention.
本發明實施例提供一種直接記憶體存取裝置,其仍遵守接收請求訊號與回傳確認回覆訊號的交握(hand shaking)協定之服務工作模式,但預設單次傳輸量可以設定為多個字元,例如,兩個字元或兩個以上的字元。再者,直接記憶體存取裝置具有自動傳輸資料量偵測器(Auto Transfer Count Detector,ATCD),自動傳輸資料量偵測器會主動地偵測每一次應該要傳輸多少資料量的資料,並自動地通知周邊裝置。若該次傳輸要傳輸的資料量低於預設單次傳輸量(通常是對應於傳輸資料總量之資料的最後一次傳輸)時,自動傳輸資料量偵測器仍會提供該次要傳輸的資料量給周邊裝置。如此,周邊裝置在該次傳輸時,不需要等到收集到多個字元之資料量的資料才發出該次的請求訊號。另外,每一次傳輸的過程,直接記憶體存取裝置還會傳送有效旗標(valid flag)訊號給周邊裝置,以表示該次傳輸為有效的傳輸,且周邊裝置可以向直接記憶體存取裝置 進行資料傳輸服務請求。透過本發明實施例的直接記憶體存取裝置之架構,將可以減少周邊裝置發出請求訊號給直接記憶體存取裝置進行資料傳輸服務請求的次數,故能改善占用匯流排(bus)頻寬的技術問題,並提升整體電子設備的系統效能。 An embodiment of the present invention provides a direct memory access device that still complies with the service working mode of the hand shaking protocol of receiving a request signal and returning an acknowledgment reply signal, but the default single transmission amount can be set to multiple characters, for example, two or more characters. Furthermore, the direct memory access device has an Auto Transfer Count Detector (ATCD), which actively detects how much data should be transferred each time, and calculates the amount of data to be transferred. Automatically notify peripheral devices. If the amount of data to be transmitted in this transmission is lower than the preset single transmission amount (usually the last transmission of the data corresponding to the total amount of transmitted data), the automatic transmission data amount detector will still provide the secondary transmission. Data volume to peripheral devices. In this way, during this transmission, the peripheral device does not need to wait until the data of the data amount of a plurality of characters is collected before sending the request signal this time. In addition, during each transfer process, the direct memory access device will also send a valid flag signal to the peripheral device to indicate that the transfer is a valid transfer, and the peripheral device can send the direct memory access device to the direct memory access device. To make a data transfer service request. Through the structure of the direct memory access device according to the embodiment of the present invention, the number of times that the peripheral device sends a request signal to the direct memory access device to perform data transmission service requests can be improved, so that the bandwidth occupied by the bus can be improved. technical problems, and improve the system performance of the overall electronic equipment.
在說明完本發明實施例的直接記憶體存取裝置的設計概念後,將進一步說明實現的細節。請先參照圖2,圖2是本發明實施例的直接記憶體存取裝置的功能方塊示意圖。於圖2的實施例中,電子設備2包括了直接記憶體存取裝置20與周邊裝置22,直接記憶體存取裝置20與周邊裝置22可以透過系統的匯流排而電性連接。於此實施例中,電子設備2例如但不限定為電腦、智能手機、平板電腦或智能家電,以及周邊裝置22例如但不限定為硬碟控制器、繪圖顯示卡、網路卡或音效卡。
After describing the design concept of the direct memory access device according to the embodiment of the present invention, the implementation details will be further described. Please refer to FIG. 2 first. FIG. 2 is a functional block diagram of a direct memory access device according to an embodiment of the present invention. In the embodiment of FIG. 2 , the
直接記憶體存取裝置20包括自動傳輸資料量偵測器202,其中自動傳輸資料量偵測器202記錄有描述符(descriptor)204,其中描述符204記錄有待傳輸資料量CNT,其中待傳輸資料量CNT的初始值為傳輸資料總量,且在每一次傳輸時,待傳輸資料量CNT為前一次傳輸的待傳輸資料量CNT減去前一次的當次傳輸量Info_Count。直接記憶體存取裝置20的預設單次傳輸量可以設定是多個字元,例如兩個字元或兩個以上的字元。自動傳輸資料量偵測器202會傳送當次傳輸量Info_Count及有效旗標訊號Valid_Flag給周邊裝置22,以讓周邊裝置22可以根據當次傳輸量Info_Count及有效旗標訊號Valid_Flag發出請求訊號給直接記憶體存取裝置20,從而向直接記憶體存取裝置20進行資料量為當次傳輸量Info_Count之資料傳輸服務請求。
The direct
當描述符204中的待傳輸資料量CNT大於等於預設單次傳輸量,則自動傳輸資料量偵測器202決定當次傳輸量Info_Count為預設單次傳輸量。當描述符204中的待傳輸資料量CNT小於預設單次傳輸量,則自動傳輸資料量偵測器202決定當次傳輸量Info_Count為待傳輸資料量CNT,故周邊裝置22不需要繼續等待待傳輸資料量CNT大於等於預設單次傳輸量後,才能發出請求訊號向直接記憶體存取裝置20進行資料傳輸服務請求,即可以避免匯流排的頻寬被長期佔據而不使用。
When the amount of data to be transmitted CNT in the
請接著參照圖3,圖3是本發明實施例直接記憶體存取裝置進行資料傳輸的操作示意圖。於此實施例中,預設單次傳輸量設定為兩個字元,待傳輸資料量CNT的初始值為995個位元組,因此,除了最後一次的傳輸外,自動傳輸資料量偵測器202傳送數值為8個位元組(2個字元)的當次傳輸量Info_Count(Info_Count=8)與數值為有效的有效旗標訊號Valid_Flag(Valid_Flag=Valid)給周邊裝置22,以讓周邊裝置22巷進行資料量為兩個字元之資料量的資料傳輸。在最後一次的傳輸中,待傳輸資料量CNT的數值為3位元組,因此,自動傳輸資料量偵測器202傳送數值為3位元組的當次傳輸量Info_Count(Info_Count=3)與數值為有效的有效旗標訊號Valid_Flag(Valid_Flag=Valid)給周邊裝置22,以讓周邊裝置22進行3個位元組之資料量的資料傳輸。
Next, please refer to FIG. 3 . FIG. 3 is a schematic diagram of the operation of the direct memory access device for data transmission according to the embodiment of the present invention. In this embodiment, the default single transmission amount is set to two characters, and the initial value of the amount of data to be transmitted CNT is 995 bytes. Therefore, except for the last transmission, the automatic transmission data amount
由上可知,透過自動傳輸資料量偵測器202傳遞當次傳輸量Info_Count與有效旗標訊號Valid_Flag給周邊裝置22以及將單次傳輸量設定為多個字元的做法,可以減少周邊裝置22發出請求訊號次數、等待發出請求訊號的時間以及佔據匯流排的時間,且在相同的傳輸資料總量的情況下,直接記憶體
存取裝置20能比先前技術省下更多的時脈時間(cycle time)來進行資料傳輸,故更可以有效地提升整體的系統效率。
As can be seen from the above, the method of transmitting the current transmission amount Info_Count and the valid flag signal Valid_Flag to the
進一步地說,於先前技術中,若要傳輸8個資料量為1個位元組的資料,則周邊裝置共需要發出8次的請求訊號(假設預設單次傳輸量為1位元組),在每一次的傳輸中大概會花費2個時脈時間來處理(註:小於1個字元的資料的讀寫需要2個時脈時間)。因此,於先前技術中,要傳輸完8個資料量為1個位元組的資料,就總共需要16個時脈時間來處理。然而,透過使用本發明實施例的直接記憶體存取裝置20,由於預設單次傳輸量可以設為2字元或2字元以上,故直接記憶體存取裝置20的自動傳輸資料量偵測器202偵測到當次有資料量為8個位元組的資料要傳輸,且據此發出數值為8個位元組的當次傳輸量Info_Count(Info_Count=8)與數值為有效的有效旗標訊號Valid_Flag(Valid_Flag=Valid)給周邊裝置22,使得周邊裝置22只要發出一次請求訊號向直接記憶體存取裝置20進行資料傳輸服務請求即可,其中在該次傳輸的處理當中,共需要花費3個時脈時間(註:資料量為超過1個字元但不大於2個字元的資料的讀寫需要3個時脈時間)。
Further, in the prior art, to transmit 8 pieces of data with a data volume of 1 byte, the peripheral device needs to send a total of 8 request signals (assuming the default single transmission volume is 1 byte) , it will take about 2 clock time to process in each transmission (Note: the reading and writing of data less than 1 character requires 2 clock time). Therefore, in the prior art, it takes 16 clock times in total to complete the transmission of 8 pieces of data with a data volume of 1 byte. However, by using the direct
另外,在當次傳輸量小於預設單次傳輸量時,假設資料量為3位元組的資料,先前技術的周邊裝置需要發出三次請求訊號進行三次的資料傳輸,故需要6個時脈時間,然而,本發明實施例的自動傳輸資料量偵測器202會發出數值為3個位元組的當次傳輸量Info_Count(Info_Count=3)與數值為有效的有效旗標訊號Valid_Flag(Valid_Flag=Valid)給周邊裝置22,故周邊裝置22只要發出一次請求訊號向直接記憶體存取裝置20進行資料傳輸服務請求即可,故僅需要2個時脈時間。因此,若以圖3的例子來看,傳輸資料總量為995個位元組時,先前技術需要1990(995*2=1990)個時脈時間來完成全部的傳輸,然而,使用本發
明實施例的直接記憶體存取裝置20則僅要374(124*3+2=374)個時脈時間來完成全部的傳輸。
In addition, when the transmission volume is smaller than the preset single transmission volume, assuming that the data volume is 3-byte data, the peripheral device of the prior art needs to send three request signals to perform three data transmissions, so it takes 6 clock times However, the automatic transmission
接著,請同時參照圖2與圖4,圖4是本發明實施例之直接記憶體存取裝置使用的資料傳輸方法的流程示意圖。前述直接記憶體存取裝置20可以是透過硬體的方式來實現自動傳輸資料量偵測器202,或者是透過韌體的方式來實現自動傳輸資料量偵測器202,以使得直接記憶體存取裝置20進行如圖4的資料傳輸方法。首先,在步驟S40中,判斷自動傳輸資料量偵測器202紀錄的待傳輸資料量CNT是否大於等於預設單次傳輸量。若待傳輸資料量CNT大於等於預設單次傳輸量,則進行步驟S42;若待傳輸資料量CNT小於預設單次傳輸量則進行步驟S42,則進行步驟S44。
Next, please refer to FIG. 2 and FIG. 4 at the same time. FIG. 4 is a schematic flowchart of a data transmission method used by a direct memory access device according to an embodiment of the present invention. The aforementioned direct
在步驟S42中,將當次傳輸量Info_Count設為預設單次傳輸量與將有效旗標訊號Valid_Flag設為有效,並將當次傳輸量Info_Count與有效旗標訊號Valid_Flag發送給周邊裝置22。在步驟S44中,將當次傳輸量Info_Count設為待傳輸資料量CNT與將有效旗標訊號Valid_Flag設為有效,並將當次傳輸量Info_Count與有效旗標訊號Valid_Flag發送給周邊裝置22。接著,在步驟S46中,接收周邊裝置的請求訊號,並進行資料量為當次傳輸量Info_Count的資料傳輸,以及於進行完資料傳輸後,傳送回覆確認訊號給周邊裝置22。之後,在步驟S48中,判斷待傳輸資料量CNT是否為零,若傳輸資料量CNT為零,則執行步驟S50,否則,則繼續進行步驟S40。在步驟S50中,傳送一個拉高的結束訊號給周邊裝置22,以表示傳輸資料總量的資料已經全數傳輸完成。
In step S42 , the current transmission amount Info_Count is set as the preset single transmission amount and the valid flag signal Valid_Flag is set as valid, and the current transmission amount Info_Count and the valid flag signal Valid_Flag are sent to the
綜合以上所述,相較於先前技術,在相同的傳輸資料總量的情況下,本發明實施例的直接記憶體存取裝置能比先前技術省下更多的時脈時間來進行資料傳輸。除此之外,透過自動傳輸資料量偵測器的使用,周邊裝置不需要繼續等待待傳輸資料量大於等於預設單次傳輸量後,才能發出請求訊號向直 接記憶體存取裝置進行資料傳輸服務請求,故可以避免匯流排的頻寬被長期佔據而不使用。整體來說,本發明實施例的直接記憶體存取裝置可以有效地提升電子設備之整體的系統效率。 To sum up the above, compared with the prior art, under the condition of the same total amount of data to be transmitted, the DMA device according to the embodiment of the present invention can save more clock time for data transmission than the prior art. In addition, through the use of the automatic transmission data volume detector, the peripheral device does not need to continue to wait for the transmission data volume to be greater than or equal to the preset single transmission volume before sending a request signal to the direct The memory access device is connected to the data transmission service request, so that the bandwidth of the bus can be prevented from being occupied for a long time and not used. Overall, the direct memory access device of the embodiment of the present invention can effectively improve the overall system efficiency of the electronic device.
應當理解,本文描述的示例和實施例僅用於說明目的,並且鑑於其的各種修改或改變將被建議給本領域技術人員,並且將被包括在本申請的精神和範圍以及所附權利要求的範圍之內。 It is to be understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in view thereof will be suggested to those skilled in the art and are to be included within the spirit and scope of the present application and the scope of the appended claims. within the range.
20:直接記憶體存取裝置 20: Direct memory access device
22:周邊裝置 22: Peripherals
2:電子設備 2: Electronic equipment
202:自動傳輸資料量偵測器 202: Automatically transmit data volume detector
204:描述符 204: Descriptor
Claims (10)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109146736A TWI771852B (en) | 2020-12-29 | 2020-12-29 | Direct memory access device, data transmission method and electronic device |
| CN202111552734.7A CN114691564A (en) | 2020-12-29 | 2021-12-17 | Direct memory access device, data transmission method and electronic device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109146736A TWI771852B (en) | 2020-12-29 | 2020-12-29 | Direct memory access device, data transmission method and electronic device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202225985A TW202225985A (en) | 2022-07-01 |
| TWI771852B true TWI771852B (en) | 2022-07-21 |
Family
ID=82136183
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW109146736A TWI771852B (en) | 2020-12-29 | 2020-12-29 | Direct memory access device, data transmission method and electronic device |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN114691564A (en) |
| TW (1) | TWI771852B (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020133645A1 (en) * | 2001-03-16 | 2002-09-19 | Samsung Electronics Co., Ltd. | Direct memory access controller for converting a transfer mode flexibly in accordance with a data transfer counter value |
| US20040044809A1 (en) * | 2002-08-30 | 2004-03-04 | Fujitsu Limited | DMA controller and DMA transfer method |
| CN101158930A (en) * | 2007-11-19 | 2008-04-09 | 中兴通讯股份有限公司 | Method and device for externally controlling DMA controller |
| CN101174248A (en) * | 2006-11-03 | 2008-05-07 | 三星电子株式会社 | Method and apparatus for transferring data using direct memory access control |
| US20150026368A1 (en) * | 2013-07-17 | 2015-01-22 | Mellanox Technologies Ltd. | Direct memory access to storage devices |
| CN105320625A (en) * | 2015-10-16 | 2016-02-10 | 陕西海泰电子有限责任公司 | PCIe based DMA transmission method for hardware packet |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101339541B (en) * | 2008-08-11 | 2012-06-06 | 无锡中星微电子有限公司 | DMA data-transmission method and DMA controller |
| TWI465905B (en) * | 2010-09-22 | 2014-12-21 | Toshiba Kk | Memory system having high data transfer efficiency and host controller |
| CN102567256B (en) * | 2011-12-16 | 2015-01-07 | 龙芯中科技术有限公司 | Processor system, as well as multi-channel memory copying DMA accelerator and method thereof |
-
2020
- 2020-12-29 TW TW109146736A patent/TWI771852B/en active
-
2021
- 2021-12-17 CN CN202111552734.7A patent/CN114691564A/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020133645A1 (en) * | 2001-03-16 | 2002-09-19 | Samsung Electronics Co., Ltd. | Direct memory access controller for converting a transfer mode flexibly in accordance with a data transfer counter value |
| US20040044809A1 (en) * | 2002-08-30 | 2004-03-04 | Fujitsu Limited | DMA controller and DMA transfer method |
| CN101174248A (en) * | 2006-11-03 | 2008-05-07 | 三星电子株式会社 | Method and apparatus for transferring data using direct memory access control |
| CN101158930A (en) * | 2007-11-19 | 2008-04-09 | 中兴通讯股份有限公司 | Method and device for externally controlling DMA controller |
| US20150026368A1 (en) * | 2013-07-17 | 2015-01-22 | Mellanox Technologies Ltd. | Direct memory access to storage devices |
| CN105320625A (en) * | 2015-10-16 | 2016-02-10 | 陕西海泰电子有限责任公司 | PCIe based DMA transmission method for hardware packet |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114691564A (en) | 2022-07-01 |
| TW202225985A (en) | 2022-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8799532B2 (en) | High speed USB hub with full speed to high speed transaction translator | |
| TWI636367B (en) | Methods and apparatus for a multiple master bus protocol | |
| TW556090B (en) | Data transmission control device, electronic machine, and control method for data transmission | |
| JP3636157B2 (en) | Data transfer control device, electronic device, and data transfer control method | |
| CN111651384B (en) | Register reading and writing method, chip, subsystem, register set and terminal | |
| TWI742422B (en) | Aggregated in-band interrupt | |
| US9990328B2 (en) | Increased data flow in universal serial bus (USB) cables | |
| JP4452690B2 (en) | Electronic device, control method thereof, host device and control method thereof | |
| CN108052473B (en) | Serial communication device | |
| CN111078597B (en) | An interrupt message generating device, method and terminal device | |
| CN113419679A (en) | Storage device, system-on-chip, electronic equipment and storage method | |
| US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
| TWI233553B (en) | Bus system and bus interface for connection to a bus | |
| US20060039405A1 (en) | Systems and methods for frame ordering in wide port SAS connections | |
| JP2003316732A (en) | Data transfer control device, electronic device, and data transfer control method | |
| TWI771852B (en) | Direct memory access device, data transmission method and electronic device | |
| CN103885910B (en) | Method for IIC communication between multiple devices in master mode | |
| JP3636160B2 (en) | Data transfer control device, electronic device, and data transfer control method | |
| US7043589B2 (en) | Bus system and bus interface | |
| US12147368B2 (en) | Method of transmitting universal serial bus (USB) commands and associated electronic device | |
| JP4431768B2 (en) | Portable electronic device, reading method and writing method | |
| TWI854261B (en) | Electronic apparatus and communication method thereof having both defined and undefined bus communication mechanism | |
| JP2001337911A (en) | USB-ATAPI interface system and ATAPI-USB conversion device used for it | |
| JP2009026165A (en) | Controller, electronic device, and control method of electronic device | |
| JP2003316734A (en) | Data transfer control device, electronic device, and data transfer control method |