CN101452429A - 一种cpu及一种cpu内部与外部数据传输的方法 - Google Patents

一种cpu及一种cpu内部与外部数据传输的方法 Download PDF

Info

Publication number
CN101452429A
CN101452429A CNA2008102266663A CN200810226666A CN101452429A CN 101452429 A CN101452429 A CN 101452429A CN A2008102266663 A CNA2008102266663 A CN A2008102266663A CN 200810226666 A CN200810226666 A CN 200810226666A CN 101452429 A CN101452429 A CN 101452429A
Authority
CN
China
Prior art keywords
cpu
dma
dmac
information
data transmission
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
CNA2008102266663A
Other languages
English (en)
Inventor
石艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijin Hongqi Shengli Technology Development Co Ltd
Original Assignee
Beijin Hongqi Shengli Technology Development 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 Beijin Hongqi Shengli Technology Development Co Ltd filed Critical Beijin Hongqi Shengli Technology Development Co Ltd
Priority to CNA2008102266663A priority Critical patent/CN101452429A/zh
Publication of CN101452429A publication Critical patent/CN101452429A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明提供了一种CPU和一种CPU内部与外部数据传输的方法,该CPU包括:总控制器,用于接收DMA信息指令,以及向运算器发送控制指令;运算器,用于将所述DMA信息配置给直接存储控制器DMAC;直接存储控制器DMAC,用于依据所述DMA信息,进行DMA数据传输;外部总线接口,用于CPU内部与CPU外部的通信;存储控制器,用于存储进行DMA数据传输的数据。本发明的DMAC置于CPU内部,在进行DMA传输时,CPU对DMAC的初始化及总线控制权的交替使用,在CPU内部就能完成,从而避免了总线的竞争,提高了数据传输的效率。

Description

一种CPU及一种CPU内部与外部数据传输的方法
技术领域
本发明涉及一种芯片处理器,特别涉及一种CPU及一种CPU内部与外部数据传输的方法。
背景技术
现有的DMA(Direct Memory Access,直接存储器存取)是采用一个专门的硬件电路——DMA控制器(DMAC)来控制内存与外设之间的数据交流,在进行DMA数据传输之前,DMAC会向CPU申请总线控制权,CPU接到申请后,将控制权交给DMAC,进行数据传输,在传输结束后,DMAC将总线控制权交还给CPU。
具体而言,一次DMA数据传送过程为:当外部设备有数据传输的需求时,就向DMAC发出DMA请求;DMAC接收到请求后,向CPU提出请求;CPU在当前机器周期结束后响应该请求,将系统总线的控制权交由DMAC接管,并向DMAC提供DMA数据传输的信息;然后DMAC开始工作,进行数据传送;传送结束后,DMAC向CPU发出中断请求,DMA操作结束,CPU重新接管总线的控制权。
可以看出,现有的DMAC设置在CPU的外部,负责所有内存与外设之间的数据交互,其负载较大;并且,如果CPU本地寄存器组的数据需要与外设进行交互时,必须占用总线配置DMAC,并触发相应外设;然后再将总线控制权交给DMAC,而DMAC完成数据交互后,又将占用总线向CPU发出中断信号并交还总线控制权,显然,这个过程非常浪费总线资源,而实际中总线的带宽是有限的;再者,由于总线的传输速度低于CPU的内部数据传输速度,在这种情况下,CPU本地寄存器组的数据与外设交互时,其传输速度也必然受到总线传输速率的限制,从而传输效率较低。
发明内容
本发明所要解决的技术问题是提供一种CPU及一种CPU内部与外部数据传输的方法,用以减轻DMAC的负载、提高总线资源利用率和CPU内部与外部数据传输的效率。
为了解决上述问题,本发明公开了一种CPU,所述CPU包括:
总控制器,用于接收DMA信息指令,以及向运算器发送控制指令;
运算器,用于将所述DMA信息配置给直接存储控制器DMAC;
直接存储控制器DMAC,用于依据所述DMA信息,进行DMA数据传输;
外部总线接口,用于CPU内部与CPU外部的通信;
存储控制器,用于存储进行DMA数据传输的数据。
具体的,所述DMA信息包括:进行DMA数据传输的源地址信息、目标地址信息、数据长度信息和控制信息。
优选的,所述CPU还包括:DMA专用总线接口,用于DMAC与CPU外部的通信。
进一步,所述总控制器,还用于接收DMAC发送的中断请求。
为了解决上述问题,本发明还公开了一种CPU内部与外部数据传输的方法,所述方法包括:
所述总控制器接收DMA信息指令,发送配置所述DMA信息的指令给运算器;所述运算器将所述DMA信息配置给DMAC;所述DMAC依据所述DMA信息,通过外部总线接口,进行DMA数据传输。
具体的,所述DMA信息包括:进行DMA数据传输的源地址信息、目标地址信息、数据长度信息和控制信息。
进一步,所述方法包括:当从CPU外部到内部进行数据传输时,所述DMAC依据所述DMA信息,通过外部总线接口,从CPU外部获取数据,并通过位于CPU内部的存储控制器,将所述数据传输至目标地址。
进一步,所述方法包括:当从CPU内部到外部进行数据传输时,所述DMAC依据所述DMA信息,通过位于CPU内部的存储控制器,从源地址获取数据,,并通过外部总线接口,将所述数据传输至目标地址。
优选的,所述方法还包括:当所述DMA数据传输完成后,所述DMAC向所述总控制器发送中断请求。
优选的,所述方法还包括:所述DMAC通过专用总线接口与CPU外部进行通信。
与现有技术相比,本发明具有以下优点:
本发明的DMAC置于CPU内部,在以DMA传输方式传输数据时,CPU对DMAC的初始化及总线控制权的交替使用,在CPU内部就能完成,从而避免了总线的竞争,提高了传输效率。
进一步,由于CPU内部的传输速率远大于外部,使得采用DMA传输方式进行数据传输的效率提高。
与此同时,由于DMAC置于CPU的内部,在测试时便于对DMAC的状态进行实时的监测。
附图说明
图1为本发明的一种CPU装置实施例的结构示意图;
图2为本发明的一种CPU内部与外部数据传输方法实施例的步骤流程图;
图3为本发明的一种从CPU外部到内部进行数据传输方法实施例的步骤流程图;
图4为本发明的一种从CPU内部到外部进行数据传输方法实施例的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的核心构思之一在于:DMAC设置于CPU内部,这样CPU内部与外设之间进行数据传输时,无需占用总线进行DMAC配置和总线控制权的交替使用,节约了总线资源,提高了CPU和DMAC的工作效率。
参照图1,示出了本发明一种CPU装置实施例,该CPU包括:
总控制器101,用于接收DMA信息指令,以及向运算器102发送控制指令;具体的,所述DMA信息包括:进行DMA数据传输的源地址信息、目标地址信息、数据长度信息和控制信息。
运算器102,用于将所述DMA信息配置给所述DMAC103;即把所述DMA信息相应的配置到DMAC103的源地址寄存器、目标地址寄存器、数据长度寄存器和控制寄存器中。
直接存储控制器DMAC103,用于依据所述DMA信息,进行DMA数据传输。一种优选的方案是,当所述DMA数据传输结束后,所述DMAC103向总控制器101发送中断请求,然后总控制器101重新接管总线控制权。当然,在所述DMA数据传输结束后,所述DMAC103也可以不向总控制器101发送中断请求,只是停止执行数据传输,此时总控制器可以通过查看的方式获得DMAC的状态。
外部总线接口104,用于CPU内部与CPU外部的通信;即所述DMAC103需要通过外部总线接口,与CPU外部进行通信。在另一种优选的实施例中,可以在CPU中增加一个DMA专用总线接口,所述接口专用于DMAC与CPU外部的通信,在进行DMA传输时,就不需要占用原有的外部总线接口104,提高系统效率。
存储控制器105,用于存储进行DMA数据传输的数据。
当有DMA传输需求时,用户发出进行DMA传输的CPU指令,所述指令为向内部DMAC103的寄存器写入DMA信息;总控制器101接收所述指令,并向运算器102发送控制指令;然后所述运算器102执行该指令,将所述DMA信息配置到DMAC103的寄存器中;接着DMAC103依据所述DMA信息,经过外部总线接口104,通过存储控制器105进行DMA数据传输。
参照图2,示出了使用本发明的CPU进行CPU内部与外部数据传输的方法实施例,所述方法包括以下步骤:
步骤201,当有DMA传输需求时,用户发出向内部DMAC的寄存器写入DMA信息的CPU指令;总控制器接收所述指令,并向运算器发送控制指令。
步骤202,所述运算器执行所述CPU指令,将所述DMA信息配置到DMAC的寄存器中;并且所述总控制器通过CPU的内部连线,向所述DMAC交出总线的控制权。其中,所述DMA信息包括:进行DMA数据传输的源地址信息、目标地址信息、数据长度信息和控制信息;该步骤中,所述运算器把所述DMA信息相应的配置到DMAC的源地址寄存器、目标地址寄存器、数据长度寄存器和控制寄存器中。
步骤203,所述DMAC依据所述DMA信息,经过外部总线接口,通过位于CPU内部的存储控制器进行DMA数据传输,把指定的数据从源地址传输到目的地址。在一种优选的实施方式中,可以在CPU内部增加一个DMA专用总线接口,所述DMAC可以通过所述DMA专用总线接口与CPU外部进行数据传输,这就不需要占用原有的外部总线接口,提高了系统效率。
进一步,在另一种方法实施例中,还可以包括步骤204,即当所述DMA数据传输完毕后,所述DMAC向所述总控制器发送中断请求,然后总控制器重新接管总线控制权。当然,在所述DMA数据传输结束后,所述DMAC也可以不向总控制器发送中断请求,只是停止执行数据传输,此时总控制器可以通过查看的方式获得DMAC的状态。
下面结合图3和图4,分别对本方法中,从CPU外部到内部和从CPU内部到外部进行的数据传输过程进行详细描述。
参照图3,本发明的一种从CPU外部到内部进行数据传输的方法实施例的步骤如下:
步骤301,当有从CPU外部到内部进行DMA传输的需求时,用户发出向内部DMAC的寄存器写入DMA信息的CPU指令;
步骤302,总控制器接收所述指令,并向运算器发送控制指令;
步骤303,所述运算器执行所述CPU指令,将所述DMA信息配置到DMAC的寄存器中;并且所述总控制器通过CPU的内部连线,向所述DMAC交出总线的控制权;
步骤304,依据所述DMA信息,所述DMAC通过外部总线接口,从CPU外部的源地址获取数据,并存储至位于CPU内部的存储控制器中;
步骤305,所述存储控制器将所述数据传输至CPU内部的目标地址;
步骤306,所述DMAC向所述总控制器发送中断请求。
参照图4,本发明的一种从CPU内部到外部进行数据传输的方法实施例的步骤如下:
步骤401,当有从CPU内部到外部进行DMA传输的需求时,用户发出向内部DMAC的寄存器写入DMA信息的CPU指令;
步骤402,总控制器接收所述指令,并向运算器发送控制指令;
步骤403,所述运算器执行所述CPU指令,将所述DMA信息配置到DMAC的寄存器中;并且所述总控制器通过CPU的内部连线,向所述DMAC交出总线的控制权;步骤404,依据所述DMA信息,位于CPU内部的存储控制器从CPU内部的源地址获取数据;
步骤405,所述DMAC从所述存储控制器中获取数据,并通过外部总线接口,将所述数据传输至CPU外部的目标地址;
步骤406,所述DMAC向所述总控制器发送中断请求。
在本发明中,由于DMA设置在CPU的内部,对DMAC的配置以及总线接口控制权的交替,都是通过CPU内部连线完成的,节约了总线资源,避免了与外部总线的竞争,提高了传输效率。
需要说明的是,由于DMAC、总控制器、运算器和存储控制器都处于CPU的内部,所以它们之间的通信都是通过CPU的内部连线实现的。一般情况下,CPU内部连线之间的传输速度是CPU外部总线传输速度的2倍,所以本发明的方法,增加了通信和数据传输的速度。
同时,由于DMAC置于CPU的内部,在测试时便于对DMAC的状态进行实时的监测。
为使本领域技术人员更好地理解本发明,以下通过一个具体的例子对本发明的方法实施例作进一步的说明。现有以下需求:从CPU外部地址0 x 10000000向内部地址0 x 00000000传送一段数据,数据长度为0 x 100,即256字节。
首先,用户发出向内部DMAC的寄存器写入DMA信息的CPU指令;总控制器接收所述指令,并发送配置DMA信息的指令给运算器;所述运算器执行所述CPU指令,将所述DMA信息配置到DMAC的寄存器中,即把源地址信息(0 x 10000000)、目标地址信息(0 x 00000000)和数据长度信息(0 x 100,即256字节),分别配置到DMAC的源地址寄存器、目标地址寄存器和数据长度寄存器中;
然后,所述DMAC开始进行DMA传输,依据所述DMA信息,所述DMAC通过外部总线接口,从源地址0x10000000处,获取长度256字节的数据,并将所述数据写入存储控制器;所述存储控制器再将所述数据写入目标地址0 x 00000000处;
最后,所述DMA传输结束,所述DMAC向总控制器发出中断请求,交还总线控制权。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种CPU及一种CPU内部与外部数据传输的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1、一种CPU,其特征在于,所述CPU包括:
总控制器,用于接收DMA信息指令,以及向运算器发送控制指令;
运算器,用于将所述DMA信息配置给直接存储控制器DMAC;
直接存储控制器DMAC,用于依据所述DMA信息,进行DMA数据传输;
外部总线接口,用于CPU内部与CPU外部的通信;
存储控制器,用于存储进行DMA数据传输的数据。
2、根据权利要求1所述的CPU,其特征在于,所述DMA信息包括:进行DMA数据传输的源地址信息、目标地址信息、数据长度信息和控制信息。
3、根据权利要求1所述的CPU,其特征在于,还包括:
DMA专用总线接口,用于DMAC与CPU外部的通信。
4、根据权利要求1所述的CPU,其特征在于,
所述总控制器,还用于接收DMAC发送的中断请求。
5、一种CPU内部与外部数据传输的方法,其特征在于,所述方法包括:
所述总控制器接收DMA信息指令,发送配置所述DMA信息的指令给运算器;
所述运算器将所述DMA信息配置给DMAC;
所述DMAC依据所述DMA信息,通过外部总线接口,进行DMA数据传输。
6、根据权利要求5所述的方法,其特征在于,所述DMA信息包括:进行DMA数据传输的源地址信息、目标地址信息、数据长度信息和控制信息。
7、根据权利要求5所述的方法,其特征在于,
当从CPU外部到内部进行数据传输时,所述DMAC依据所述DMA信息,通过外部总线接口,从CPU外部获取数据,并通过位于CPU内部的存储控制器,将所述数据传输至目标地址。
8、根据权利要求5所述的方法,其特征在于,
当从CPU内部到外部进行数据传输时,所述DMAC依据所述DMA信息,通过位于CPU内部的存储控制器,从源地址获取数据,,并通过外部总线接口,将所述数据传输至目标地址。
9、根据权利要求5所述的方法,其特征在于,还包括:
当所述DMA数据传输完成后,所述DMAC向所述总控制器发送中断请求。
10、根据权利要求5所述的方法,其特征在于所述DMAC通过专用总线接口与CPU外部进行通信。
CNA2008102266663A 2008-11-19 2008-11-19 一种cpu及一种cpu内部与外部数据传输的方法 Pending CN101452429A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008102266663A CN101452429A (zh) 2008-11-19 2008-11-19 一种cpu及一种cpu内部与外部数据传输的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008102266663A CN101452429A (zh) 2008-11-19 2008-11-19 一种cpu及一种cpu内部与外部数据传输的方法

Publications (1)

Publication Number Publication Date
CN101452429A true CN101452429A (zh) 2009-06-10

Family

ID=40734669

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008102266663A Pending CN101452429A (zh) 2008-11-19 2008-11-19 一种cpu及一种cpu内部与外部数据传输的方法

Country Status (1)

Country Link
CN (1) CN101452429A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226529A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 基于Nandflash的双端口存储器电路
CN104123250A (zh) * 2013-04-25 2014-10-29 上海联影医疗科技有限公司 基于dma的数据传输方法
CN107844435A (zh) * 2017-11-08 2018-03-27 北京锐安科技有限公司 一种缓存系统、方法及装置
CN110069432A (zh) * 2018-01-22 2019-07-30 华大半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226529A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 基于Nandflash的双端口存储器电路
CN103226529B (zh) * 2012-01-31 2017-03-15 上海华虹集成电路有限责任公司 基于Nandflash的双端口存储器电路
CN104123250A (zh) * 2013-04-25 2014-10-29 上海联影医疗科技有限公司 基于dma的数据传输方法
CN104123250B (zh) * 2013-04-25 2019-02-01 上海联影医疗科技有限公司 基于dma的数据传输方法
CN107844435A (zh) * 2017-11-08 2018-03-27 北京锐安科技有限公司 一种缓存系统、方法及装置
CN110069432A (zh) * 2018-01-22 2019-07-30 华大半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法
CN110069432B (zh) * 2018-01-22 2023-03-24 小华半导体有限公司 带有数据处理功能的外围电路互连系统及其联动方法

Similar Documents

Publication Publication Date Title
CN103714026B (zh) 一种支持原址数据交换的存储器访问方法及装置
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
US9658975B2 (en) Data transfer manager
EP3644192B1 (en) Master chip, slave chip, and dma transfer system between chips
CN102446158A (zh) 多核处理器及多核处理器组
CN103180817A (zh) 存储扩展装置及服务器
CN114647602B (zh) 一种跨芯片访问控制的方法、装置、设备及介质
CN101452430B (zh) 多处理器之间的通信方法与包括多处理器的通信装置
CN108959136A (zh) 基于spi的数据传输加速装置、系统及数据传输方法
CN101452429A (zh) 一种cpu及一种cpu内部与外部数据传输的方法
CN101452427B (zh) 一种dma数据传输系统及方法和一种中央处理器
CN111400230A (zh) 数据传输方法、系统、控制设备及存储介质
CN110515872B (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
JP2000163312A (ja) マイクロプロセッサ
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
US9128924B2 (en) Method and apparatus for wireless broadband systems direct data transfer
CN110765046A (zh) 一种动态可重构高速串行总线的dma传输装置与方法
CN106909523B (zh) 大规模数据传输方法及系统
CN102622319B (zh) 基于mpmc的高速存储器接口ip核的数据交换系统
CN101950276B (zh) 一种存储器访问装置及其程序执行方法
CN113157602B (zh) 一种对内存进行分配的方法、设备及计算机可读存储介质
CN113051200A (zh) 一种基于双路的数据采集并行数据传输及存储的装置及方法
CN103593437A (zh) 一种基于dma的数据压缩芯片结构及其实现方法
CN118363914B (zh) 数据处理方法、固态硬盘设备及主机
CN108874685A (zh) 固态硬盘的数据处理方法以及固态硬盘

Legal Events

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

Open date: 20090610