CN102262608A - 基于处理器核的协处理器读写操作控制方法及装置 - Google Patents
基于处理器核的协处理器读写操作控制方法及装置 Download PDFInfo
- Publication number
- CN102262608A CN102262608A CN2011102132162A CN201110213216A CN102262608A CN 102262608 A CN102262608 A CN 102262608A CN 2011102132162 A CN2011102132162 A CN 2011102132162A CN 201110213216 A CN201110213216 A CN 201110213216A CN 102262608 A CN102262608 A CN 102262608A
- Authority
- CN
- China
- Prior art keywords
- coprocessor
- read
- write
- processor
- buffer structure
- 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
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明公开了一种基于处理器核的协处理器读写操作控制方法及装置,方法步骤如下:1)建立协处理器接口,在协处理器接口中建立写缓冲结构和读缓冲结构;2)在协处理器写操作时,处理器访存单元将写操作信息写入写缓冲结构,协处理器接口发出协处理器写操作;3)在协处理器读操作时,处理器访存单元将读操作信息写入读缓冲结构,协处理器接口发出协处理器读操作,将读操作结果缓存至读缓冲结构中并通知处理器访存单元,处理器访存单元将读操作结果写入处理器核缓存;装置包括协处理器读写控制单元、写缓冲结构和读缓冲结构。本发明具有数据传输效率高、通信延迟低、协处理器处理性能高、硬件资源利用率高、对处理器核流水线性能影响低的优点。
Description
技术领域
本发明涉及处理器领域,具体涉及一种处理器核和协处理器之间的数据通信控制方法及装置。
背景技术
随着通信和多媒体等数字信号处理技术的不断发展,各种数字信号处理应用所需要的处理器性能也越来越高,单靠通用处理器的性能往往难以满足应用需要,因此越来越多的处理器中集成了专用的协处理器,用以执行数字信号处理应用中的核心算法模块,协处理器能同处理器核并行执行,有效提高了处理器的性能。
为了实现与处理器核进行通信,一种方法是将协处理器连接到处理器的各种总线上,协处理器和处理器核缓存(例如处理器Cache或者片上RAM)间的数据传输常采用DMA控制实现,DMA同处理器核并行工作,进行高效数据传输。但是,协处理器连接到处理器的总线上存在以下三个缺点:
1)处理器核和处理器的总线间信号传输延迟较大,协处理器连接在总线上不能与处理器核紧耦合地进行并行处理工作。
2)处理器总线上连接了大量的外设和协处理器,各种设备间竞争使用总线,协处理器实现的核心算法常具有较强的实时性要求,因此将协处理器连接在总线上难以保证其实时性能。
3)处理器核的工作频率较高,而总线由于接入了各种设备,因此总线的工作频率较低。协处理器连接到总线上,只能采用较低频率工作,降低了处理器核和协处理器之间的数据传输性能。
针对上述问题,另一种方法是将协处理器连接在处理器核上,由处理器核执行协处理器指令,直接控制使用协处理器,处理器核和协处理器间的数据传递是通过处理器核执行协处理器搬移指令实现。但是,处理器核直接连接协处理器存在以下问题:
1)同Load/Store指令相似,协处理器搬移指令也会遇到数据缺失。如果通过停顿流水线的方法解决数据缺失带来的延迟会降低处理器核的性能。因此,如何高效实现协处理器搬移指令,且不对处理器核流水线性能造成损失是设计人员必须考虑的问题。
2)数字信号处理应用中,协处理器实现的核心算法常需要处理大量地址连续的数据。这些数据的搬移需要执行大量的协处理器搬移指令,频繁访问数据Cache或片上RAM才能完成,这会影响处理器核执行的算法的性能。
综上所述,如何将处理器核与协处理器相连,在少损害处理器核性能的前提下,实现两者间的高效数据传输,从而使处理器核与协处理器能协同并行工作,提供充足的计算能力满足应用需求,仍是微处理器设计领域的一个热点研究课题。
发明内容
本发明要解决的技术问题是提供一种数据传输效率高、通信延迟低、协处理器处理性能高、硬件资源利用率高、对处理器核流水线性能影响低的基于处理器核的协处理器读写操作控制方法及装置。
为了解决上述技术问题,本发明采用的技术方案为:一种基于处理器核的协处理器读写操作控制方法,其实施步骤如下:
1)在协处理器与处理器核之间建立协处理器接口,并在协处理器接口中建立写缓冲结构和读缓冲结构;
2)在进行协处理器写操作时,处理器访存单元将待写数据和协处理器地址写入写缓冲结构;同时协处理器接口在协处理器未进行写操作时根据写缓冲结构中缓存的数据和协处理器地址发出协处理器写操作;
3)在进行协处理器读操作时,处理器访存单元将处理器地址和协处理器地址写入读缓冲结构;同时协处理器接口在协处理器未进行读操作时根据读缓冲结构中缓存的处理器地址和协处理器地址发出协处理器读操作,在读操作完毕后将读取数据和处理器地址缓存至读缓冲结构中并通知处理器访存单元,处理器访存单元将读缓冲结构中缓存的读取数据写入处理器核缓存。
作为本发明基于处理器核的协处理器读写操作控制方法的进一步改进:
所述步骤2)协处理器接口发出协处理器写操作时,根据所述写缓冲结构中缓存时间最久的数据和协处理器地址发出协处理器写操作;所述步骤3)协处理器接口发出协处理器读操作时,根据所述读缓冲结构中缓存时间最久的处理器地址和协处理器地址发出协处理器读操作;所述处理器访存单元将读取数据写入处理器核缓存时,在读缓冲结构中将缓存时间最久的读操作返回数据写入处理器核缓存。
所述步骤1)中在协处理器与处理器核之间建立协处理器接口时,协处理器接口与处理器核之间的数据宽度与处理器核缓存的行宽度相同。
所述步骤2)中处理器访存单元将待写数据和协处理器地址写入写缓冲结构时,如果写缓冲结构已满则停顿处理器的访存流水线直至写缓冲结构存在空闲空间。
所述步骤3)中处理器访存单元将处理器地址和协处理器地址写入读缓冲结构时,如果读缓冲结构已满则停顿处理器的访存流水线直至读缓冲结构存在空闲空间。
所述协处理器接口发出协处理器写操作的详细步骤如下:
A)检查写缓冲结构是否为空,如果写缓冲结构非空则进入步骤B),否则重复步骤A);
B)检查协处理器接口是否已经发出协处理器写操作,如果协处理器接口尚未发出协处理器写操作则执行步骤C),否则检测发出的协处理器写操作是否已经返回完成信号,如果返回完成信号则执行步骤C),否则等待返回完成信号,并在返回完成信号后执行步骤C);
C)协处理器接口发出协处理器写操作。
所述协处理器接口发出协处理器读操作的详细步骤如下:
a)检查读缓冲结构是否为空,如果读缓冲结构非空则进入步骤b),否则重复步骤a);
b)检查协处理器接口是否已经发出协处理器读操作,如果协处理器接口尚未发出协处理器读操作则执行步骤c),否则检测发出的协处理器读操作是否已经返回完成信号,如果返回完成信号则执行步骤c),否则等待返回完成信号,并在返回完成信号后执行步骤c);
c)协处理器接口发出协处理器读操作。
本发明还提供一种基于处理器核的协处理器读写操作控制装置,包括用于向协处理器发出读写操作指令以及获取读操作结果的协处理器读写控制单元、用于缓冲协处理器写操作指令的写缓冲结构和用于缓冲协处理器读操作指令及读取结果的读缓冲结构,所述写缓冲结构、读缓冲结构分别与协处理器读写控制单元相连,所述协处理器读写控制单元分别与处理器核、协处理器相连。
作为本发明基于处理器核的协处理器读写操作控制装置的进一步改进:
所述协处理器读写控制单元与处理器核之间的数据总线宽度与所述处理器核的处理器核缓存的行宽度相同。
所述写缓冲结构包括多个先进先出结构的写操作指令缓冲单元,所述写操作指令缓冲单元包括第一数据槽和第一协处理器地址槽;所述读缓冲结构包括多个先进先出结构的读操作地址缓冲单元和多个先进先出结构的读操作结果缓冲单元,所述读操作地址缓冲单元包括用于缓存协处理器读操作指令的第一处理器地址槽和第二协处理器地址槽,所述读操作结果缓冲单元包括用于缓存协处理器读操作结果的第二处理器地址槽和第二数据槽。
本发明基于处理器核的协处理器读写操作控制方法具有下述优点:
1、本发明在协处理器与处理器核之间建立协处理器接口,协处理器接口间接代表处理器接管对协处理器的写操作和读操作,协处理器与处理器核之间无需经过协议转换,协处理器直接通过协处理器接口连接在处理器核上,处理器核和协处理器之间通过协处理器接口可以进行紧耦合的协同并行工作,有利于提高处理器的性能,通信延迟短。
2、本发明的协处理器直接通过协处理器接口连接在处理器核上,因此协处理器不用匹配低频率的总线,从而协处理器能够工作在较高的频率上,有助于提高协处理器性能。
3、本发明通过协处理器接口间接代表处理器接管对协处理器的写操作和读操作,对协处理器的写操作和读操作的相关数据和地址信息可以缓存在协处理器接口的写缓冲结构和读缓冲结构中,而协处理器接口与协处理器的交互完全在后台由协处理器接口自动完成,对处理器核的流水线性能影响小。
4、进一步,本发明协处理器接口与处理器核之间的数据宽度与处理器核缓存的行宽度相同,因此协处理器接口与协处理器接口之间传输数据不需要进行数据宽度转换即可实现,有效提高了数据传输效率。同时,高的数据宽度减少了协处理器搬移指令访问处理器核缓存的次数,减少了对处理器核性能的影响。
本发明基于处理器核的协处理器读写操作控制装置由于具有与上述基于处理器核的协处理器读写操作控制方法相对应的结构,因此也具备上述基于处理器核的协处理器读写操作控制方法相对应的优点。
附图说明
图1为本发明实施例的方法流程示意图。
图2为本发明实施协处理器接口发出协处理器写操作的流程示意图。
图3为本发明实施协处理器接口发出协处理器读操作的流程示意图。
图4为本发明实施例的框架结构示意图。
图5为本发明实施例写缓冲结构的结构示意图。
图6为本发明实施例读缓冲结构的结构示意图。
图例说明:1、协处理器读写控制单元;2、写缓冲结构;21、写操作指令缓冲单元;211、第一数据槽;212、第一协处理器地址槽;3、读缓冲结构;31、读操作地址缓冲单元;311、第一处理器地址槽;312、第二协处理器地址槽;32、读操作结果缓冲单元;321、第二处理器地址槽;322、第二数据槽;4、处理器核;5、协处理器;6、处理器核缓存。
具体实施方式
如图1所示,本发明实施例基于处理器核的协处理器读写操作控制方法的实施步骤如下:
1)在协处理器与处理器核之间建立协处理器接口,并在协处理器接口中建立写缓冲结构和读缓冲结构;
2)在进行协处理器写操作时,处理器核的处理器访存单元将待写数据和协处理器地址写入写缓冲结构;同时协处理器接口在协处理器未进行写操作时根据写缓冲结构中缓存的数据和协处理器地址发出协处理器写操作;
3)在进行协处理器读操作时,处理器核的处理器访存单元将处理器地址和协处理器地址写入读缓冲结构;同时协处理器接口在协处理器未进行读操作时根据读缓冲结构中缓存的处理器地址和协处理器地址发出协处理器读操作,在读操作完毕后将读取数据和处理器地址缓存至读缓冲结构中并通知处理器访存单元,处理器访存单元将读缓冲结构中缓存的读取数据写入处理器核缓存。
本实施例中,处理器的协处理器搬移指令包括LoadS指令和StoreS指令。处理器核和扩展接口通过执行LoadS和StoreS指令控制处理器核缓存(Cache或片上RAM)和协处理器间传输数据。LoadS/StoreS指令格式如下:
LoadS Rs,Rd;(其中,Rs为协处理器地址,Rd为处理器地址)
StoreS Rs,Rd;(其中,Rs为处理器地址,Rd为协处理器地址)
本实施例中,Rs和Rd为处理器核的通用寄存器,宽度为32bit。LoadS指令将协处理器内地址为Rs的数据搬移到处理器内地址为Rd的存储空间;StoreS指令将处理器内地址为Rs的数据搬移到协处理器内地址为Rd的空间。为了解决Load/Store指令同LoadS/StoreS指令间访存冲突,本实施例中,LoadS/StoreS指令在指令字中共享同一个指令槽,且都由处理器核的处理器访存单元执行,每拍只能派发一条访存指令到处理器访存单元执行,这样就保证了处理器核缓存中只有处理器访存单元的一个访问源,避免了访存冲突。同Load/Store指令一样,LoadS/StoreS指令在流水线中执行的拍数是固定的,如果访问Cache引起数据缺失,会造成流水线停顿。但与Load/Store指令不同的是,协处理器端的数据传输延迟也会影响LoadS/StoreS指令的流水执行,造成流水线停顿。处理器核缓存的数据缺失可以通过程序员精心的数据预取和数据调度等操作减少甚至消除,但这些方法对减少协处理器端的数据传输延迟没有效果,这是因为扩展端口可以接入各种类型的协处理器,数据的传输速率和宽度都不确定。
步骤1)中在协处理器与处理器核之间建立协处理器接口时,协处理器接口与处理器核之间的数据宽度与处理器核缓存的行宽度相同。每个LoadS和StoreS指令传输数据宽度是可选的,可为32bit或一个Cache或片上RAM存储行,对于大量地址连续数据的搬移,大的数据宽度有利于减少访存次数,提高传输带宽。
步骤2)协处理器接口发出协处理器写操作时,根据写缓冲结构中缓存时间最久的数据和协处理器地址发出协处理器写操作;步骤3)协处理器接口发出协处理器读操作时,根据读缓冲结构中缓存时间最久的处理器地址和协处理器地址发出协处理器读操作;处理器访存单元将读取数据写入处理器核缓存时,在读缓冲结构中将缓存时间最久的读操作返回数据写入处理器核缓存。
步骤2)中处理器访存单元将待写数据和协处理器地址写入写缓冲结构时,如果写缓冲结构已满则停顿处理器的访存流水线直至写缓冲结构存在空闲空间。步骤3)中处理器访存单元将处理器地址和协处理器地址写入读缓冲结构时,如果读缓冲结构已满则停顿处理器的访存流水线直至读缓冲结构存在空闲空间。
如图2所示,协处理器接口发出协处理器写操作的详细步骤如下:
A)检查写缓冲结构是否为空,如果写缓冲结构非空则进入步骤B),否则重复步骤A);
B)检查协处理器接口是否已经发出协处理器写操作,如果协处理器接口尚未发出协处理器写操作则执行步骤C),否则检测发出的协处理器写操作是否已经返回完成信号,如果返回完成信号则执行步骤C),否则等待返回完成信号,并在返回完成信号后执行步骤C);
C)协处理器接口发出协处理器写操作。
如图3所示,协处理器接口发出协处理器读操作的详细步骤如下:
a)检查读缓冲结构是否为空,如果读缓冲结构非空则进入步骤b),否则重复步骤a);
b)检查协处理器接口是否已经发出协处理器读操作,如果协处理器接口尚未发出协处理器读操作则执行步骤c),否则检测发出的协处理器读操作是否已经返回完成信号,如果返回完成信号则执行步骤c),否则等待返回完成信号,并在返回完成信号后执行步骤c);
c)协处理器接口发出协处理器读操作。
如图4所示,本发明实施例基于处理器核的协处理器读写操作控制装置包括用于向协处理器发出读写操作指令以及获取读操作结果的协处理器读写控制单元1、用于缓冲协处理器写操作指令的写缓冲结构2和用于缓冲协处理器读操作指令及读取结果的读缓冲结构3,写缓冲结构2、读缓冲结构3分别与协处理器读写控制单元1相连,协处理器读写控制单元1分别与处理器核4、协处理器5相连。本实施例中,协处理器读写控制单元1与处理器核4之间的数据总线宽度与处理器核4的处理器核缓存6的行宽度相同。本发明实施例中,协处理器读写控制单元1位于处理器核4和协处理器5之间,可与处理器核4并行工作,协同处理器核4高效地完成处理器的处理器核缓存6和协处理器5间的数据传输。处理器核4通过执行协处理器搬移指令在处理器核缓存6和协处理器5间搬移数据,协处理器搬移指令在处理器核4的处理器访存单元(LS单元)中完成预处理,然后发送到本实施例中的写缓冲结构2或者读缓冲结构3,然后处理器访存单元继续执行其他指令。协处理器读写控制单元1根据写缓冲结构2或者读缓冲结构3中缓冲的内容,自动同协处理器5进行通信,完成数据的读或写操作,从而提高了数据传输的效率,降低了数据传输延迟对处理器核流水线性能的影响。为了减少协处理器端的数据延迟对处理器访存单元流水线的影响,本发明在扩展接口中设计了LoadS/StoreS指令缓冲,协同处理器核完成LoadS/StoreS指令的执行。写缓冲结构2和读缓冲结构3采用先进先出(First In First Out,FIFO)结构设计,深度可以配置为2/4/8/16/32/64。
如图5所示,写缓冲结构2包括多个先进先出结构的写操作指令缓冲单元21,写操作指令缓冲单元21包括第一数据槽211和第一协处理器地址槽212。写缓冲结构2采用先进先出(First In First Out,FIFO)结构设计,处理器访存单元执行StoreS指令时首先检查写缓冲结构2是否已满,如果为满,停顿流水线直至有空闲空间。然后从处理器核缓存6中读相应数据,将数据和相应协处理地址分别写入写缓冲结构2中的同一个写操作指令缓冲单元21的数据槽和地址槽中。协处理器读写控制单元1自动检测写缓冲结构2的状态,如果写缓冲结构2中的指令缓冲非空,且之前协处理器读写控制单元1没有发出协处理器写操作,或前一个协处理器写操作已经返回完成信号,则发出一个写操作,将写缓冲结构2中的数据按地址写入协处理器;否则等待写完成信号返回。
如图6所示,读缓冲结构3包括多个先进先出结构的读操作地址缓冲单元31和多个先进先出结构的读操作结果缓冲单元32,读操作地址缓冲单元31包括用于缓存协处理器读操作指令的第一处理器地址槽311和第二协处理器地址槽312,读操作结果缓冲单元32包括用于缓存协处理器读操作结果的第二处理器地址槽321和第二数据槽322。
读缓冲结构3包含2个FIFO结构:读操作地址缓冲单元31和读操作结果缓冲单元32。处理器访存单元执行LoadS指令时首先检查读操作地址缓冲单元31是否已满,如果为满,停顿流水线直至读操作地址缓冲单元31有缓冲单元空出。然后将相应的处理器地址和协处理器地址写入读操作地址缓冲单元31的第一处理器地址槽311和第二协处理器地址槽312。
协处理器读写控制单元1自动检测LoadS指令的读操作地址缓冲单元31的状态,如果读操作地址缓冲单元31非空,且之前没有发出读协处理器操作,或前一个读协处理器操作已经返回完成信号,则协处理器读写控制单元1向协处理器5发出一个读操作,将读操作地址缓冲单元31中的地址槽值作为读地址发给协处理器5。读操作返回数据后,协处理器读写控制单元1将读数据结果写入读操作结果缓冲单元32的第二处理器地址槽321和第二数据槽322中。
处理器访存单元自动检测读操作结果缓冲单元32状态,如果读操作结果缓冲单元32非空,则发出通知处理器访存单元。然后处理器访存单元检测Load/Store流水线,如果当前拍没有派发Load/Store指令或LoadS/StoreS指令,则插入一个StoreS指令,将读操作结果缓冲单元32中存储的读数据写入处理器核缓存6。
本实施例在执行StoreS指令时,处理器访存单元先从处理器核缓存6中取出数据后连同协处理器地址一起存入写缓冲结构2,然后由协处理器读写控制单元1控制自动完成写协处理器操作。处理器访存单元中StoreS指令分3步执行,各步骤功能如下,第1步:检查写缓冲结构2是否已满,如果为满,停顿流水线直至有空闲空间;第2步:发送读地址到处理器核缓存6,读相应数据;第3步:将读出的数据和相应协处理地址写入写缓冲结构2。
本实施例LoadS指令的执行过程分两部分完成:
1) LoadS指令执行时,处理器访存单元只将LoadS指令中协处理器地址和处理器地址写入读缓冲结构3中相应的槽。处理器访存单元执行这一部分功能时,分2步执行,各步骤功能如下,第1步,检查读缓冲结构3是否已满,如果为满,停顿流水线直至有空闲空间;第2步:将处理器地址和协处理器地址写入读缓冲结构3。
2)协处理器读写控制单元1会根据读缓冲结构3中的缓冲内容发出读协处理器操作,处理器地址和读操作返回的数据缓存在数据缓冲中。如果读缓冲结构3非空,则通知处理器访存单元,然后处理器访存单元检测流水线,如果当前拍处理器访存单元没有派发Load/Store指令或LoadS/StoreS指令,则插入一个LoadSW指令,将LoadS结果缓冲中存储的读数据写入处理器核空间。LoadSW指令格式如下:LoadSW Data, Addr;其中,LoadSW指令由处理器访存单元自动生成,Data和Addr分别是StoreS缓冲中数据槽和处理器地址槽的值。
采用LoadS/StoreS指令缓冲给处理器带来了新的数据不一致问题。因此本发明要求与协处理器进行交互时,处理器需要划出单独的存储器空间供与协处理器进行数据传输使用。数据传输过程中此块空间不允许其他程序使用,以免因数据相关性等问题引起错误。同时,本文设计了指令CounterStart和条件指令StoreSEnd和LoadSEnd来辅助实现同步操作,解决数据一致性问题。条件指令StoreSEnd和LoadSEnd用来判断指令缓冲的空满程度。执行LoadSEnd或StoreSEnd指令时,处理器访存单元会检查相应的指令缓冲中是否还有缓存的指令,并将结果返回给条件寄存器。指令流可根据条件寄存器的值进行不同的分支选择。
协处理器计算完成后需要通知处理器核,这种通信通常用中断机制实现。但处理器核处理中断的开销较大,本发明除支持中断机制外,还提供了一种固定时长触发机制,它通过指令缓冲单元中的一个时钟计数器实现。协处理器完成一次计算的时间通常是固定的,可将此时间设定为时钟计数器的阈值。当协处理器开始工作时,处理器核通过CounterStart指令启动时钟计数器工作,同时阻塞LoadS指令缓冲中指令的流出。此时可将取回计算结果的LoadS指令发送到指令缓冲中缓存。当时钟计数器达到阈值后,自动允许LoadS指令缓冲中的指令流出,从协处理器取回计算结果。处理器核可通过LoadSEnd指令查询指令缓冲的情况,从而判断协处理器的计算是否已完成。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于处理器核的协处理器读写操作控制方法,其特征在于其实施步骤如下:
1)在协处理器与处理器核之间建立协处理器接口,并在协处理器接口中建立写缓冲结构和读缓冲结构;
2)在进行协处理器写操作时,处理器核的处理器访存单元将待写数据和协处理器地址写入写缓冲结构;同时所述协处理器接口在协处理器未进行写操作时根据写缓冲结构中缓存的数据和协处理器地址发出协处理器写操作;
3)在进行协处理器读操作时,处理器核的处理器访存单元将处理器地址和协处理器地址写入读缓冲结构;同时所述协处理器接口在协处理器未进行读操作时根据读缓冲结构中缓存的处理器地址和协处理器地址发出协处理器读操作,在读操作完毕后将读取数据和处理器地址缓存至读缓冲结构中并通知处理器访存单元,处理器访存单元将读缓冲结构中缓存的读取数据写入处理器核缓存。
2.根据权利要求1所述的基于处理器核的协处理器读写操作控制方法,其特征在于:所述步骤2)协处理器接口发出协处理器写操作时,根据所述写缓冲结构中缓存时间最久的数据和协处理器地址发出协处理器写操作;所述步骤3)协处理器接口发出协处理器读操作时,根据所述读缓冲结构中缓存时间最久的处理器地址和协处理器地址发出协处理器读操作;所述处理器访存单元将读取数据写入处理器核缓存时,在读缓冲结构中将缓存时间最久的读操作返回数据写入处理器核缓存。
3.根据权利要求2所述的基于处理器核的协处理器读写操作控制方法,其特征在于:所述步骤1)中在协处理器与处理器核之间建立协处理器接口时,协处理器接口与处理器核之间的数据宽度与处理器核缓存的行宽度相同。
4.根据权利要求1所述的基于处理器核的协处理器读写操作控制方法,其特征在于:所述步骤2)中处理器访存单元将待写数据和协处理器地址写入写缓冲结构时,如果写缓冲结构已满则停顿处理器的访存流水线直至写缓冲结构存在空闲空间。
5.根据权利要求4所述的基于处理器核的协处理器读写操作控制方法,其特征在于:所述步骤3)中处理器访存单元将处理器地址和协处理器地址写入读缓冲结构时,如果读缓冲结构已满则停顿处理器的访存流水线直至读缓冲结构存在空闲空间。
6.根据权利要求1~5中任意一项所述的基于处理器核的协处理器读写操作控制方法,其特征在于所述协处理器接口发出协处理器写操作的详细步骤如下:
A)检查写缓冲结构是否为空,如果写缓冲结构非空则进入步骤B),否则重复步骤A);
B)检查协处理器接口是否已经发出协处理器写操作,如果协处理器接口尚未发出协处理器写操作则执行步骤C),否则检测发出的协处理器写操作是否已经返回完成信号,如果返回完成信号则执行步骤C),否则等待返回完成信号,并在返回完成信号后执行步骤C);
C)协处理器接口发出协处理器写操作。
7.根据权利要求6所述的基于处理器核的协处理器读写操作控制方法,其特征在于所述协处理器接口发出协处理器读操作的详细步骤如下:
a)检查读缓冲结构是否为空,如果读缓冲结构非空则进入步骤b),否则重复步骤a);
b)检查协处理器接口是否已经发出协处理器读操作,如果协处理器接口尚未发出协处理器读操作则执行步骤c),否则检测发出的协处理器读操作是否已经返回完成信号,如果返回完成信号则执行步骤c),否则等待返回完成信号,并在返回完成信号后执行步骤c);
c)协处理器接口发出协处理器读操作。
8.一种基于处理器核的协处理器读写操作控制装置,其特征在于:包括用于向协处理器发出读写操作指令以及获取读操作结果的协处理器读写控制单元(1)、用于缓冲协处理器写操作指令的写缓冲结构(2)和用于缓冲协处理器读操作指令及读取结果的读缓冲结构(3),所述写缓冲结构(2)、读缓冲结构(3)分别与协处理器读写控制单元(1)相连,所述协处理器读写控制单元(1)分别与处理器核(4)、协处理器(5)相连。
9.根据权利要求8所述的基于处理器核的协处理器读写操作控制装置,其特征在于:所述协处理器读写控制单元(1)与处理器核(4)之间的数据总线宽度与所述处理器核(4)的处理器核缓存(6)的行宽度相同。
10.根据权利要求8或9所述的基于处理器核的协处理器读写操作控制装置,其特征在于:所述写缓冲结构(2)包括多个先进先出结构的写操作指令缓冲单元(21),所述写操作指令缓冲单元(21)包括第一数据槽(211)和第一协处理器地址槽(212);所述读缓冲结构(3)包括多个先进先出结构的读操作地址缓冲单元(31)和多个先进先出结构的读操作结果缓冲单元(32),所述读操作地址缓冲单元(31)包括用于缓存协处理器读操作指令的第一处理器地址槽(311)和第二协处理器地址槽(312),所述读操作结果缓冲单元(32)包括用于缓存协处理器读操作结果的第二处理器地址槽(321)和第二数据槽(322)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102132162A CN102262608A (zh) | 2011-07-28 | 2011-07-28 | 基于处理器核的协处理器读写操作控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102132162A CN102262608A (zh) | 2011-07-28 | 2011-07-28 | 基于处理器核的协处理器读写操作控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102262608A true CN102262608A (zh) | 2011-11-30 |
Family
ID=45009242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102132162A Pending CN102262608A (zh) | 2011-07-28 | 2011-07-28 | 基于处理器核的协处理器读写操作控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102262608A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567278A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院计算技术研究所 | 一种片上多核数据传输方法和装置 |
WO2015176664A1 (zh) * | 2014-05-21 | 2015-11-26 | 华为技术有限公司 | 一种数据操作的方法、设备和系统 |
CN105446841A (zh) * | 2015-11-24 | 2016-03-30 | 无锡江南计算技术研究所 | 缓存一致性测试方法 |
CN105786758A (zh) * | 2016-02-26 | 2016-07-20 | 同济大学 | 一种具有数据缓存功能的处理器装置及其数据读写方法 |
CN110399215A (zh) * | 2019-06-25 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种协处理器、一种电子设备及一种数据处理方法 |
CN110858387A (zh) * | 2018-08-10 | 2020-03-03 | 辉达公司 | 鲁棒且高效的多处理器-协处理器接口 |
WO2023241478A1 (zh) * | 2022-06-13 | 2023-12-21 | 上海寒武纪信息科技有限公司 | 人工智能加速器流水线性能分析方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000576A (zh) * | 2006-01-13 | 2007-07-18 | 上海华虹集成电路有限责任公司 | 软仿真器中协处理器的实现方法 |
CN101008921A (zh) * | 2007-01-26 | 2007-08-01 | 浙江大学 | 基于总线侦听的嵌入式异构多核缓存一致性方法 |
CN101116053A (zh) * | 2005-02-09 | 2008-01-30 | 先进微装置公司 | 适用于高效数字信号处理的数据处理器及其方法 |
CN101202628A (zh) * | 2006-12-11 | 2008-06-18 | 北京中电华大电子设计有限责任公司 | 分组哈希协处理器的一种实现方法 |
CN101523361A (zh) * | 2006-10-17 | 2009-09-02 | Arm有限公司 | 数据处理设备中对共享存储器的写访问请求的处理 |
US20100131718A1 (en) * | 2008-11-26 | 2010-05-27 | Masato Uchiyama | Multiprocessor system |
-
2011
- 2011-07-28 CN CN2011102132162A patent/CN102262608A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101116053A (zh) * | 2005-02-09 | 2008-01-30 | 先进微装置公司 | 适用于高效数字信号处理的数据处理器及其方法 |
CN101000576A (zh) * | 2006-01-13 | 2007-07-18 | 上海华虹集成电路有限责任公司 | 软仿真器中协处理器的实现方法 |
CN101523361A (zh) * | 2006-10-17 | 2009-09-02 | Arm有限公司 | 数据处理设备中对共享存储器的写访问请求的处理 |
CN101202628A (zh) * | 2006-12-11 | 2008-06-18 | 北京中电华大电子设计有限责任公司 | 分组哈希协处理器的一种实现方法 |
CN101008921A (zh) * | 2007-01-26 | 2007-08-01 | 浙江大学 | 基于总线侦听的嵌入式异构多核缓存一致性方法 |
US20100131718A1 (en) * | 2008-11-26 | 2010-05-27 | Masato Uchiyama | Multiprocessor system |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567278A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院计算技术研究所 | 一种片上多核数据传输方法和装置 |
WO2015176664A1 (zh) * | 2014-05-21 | 2015-11-26 | 华为技术有限公司 | 一种数据操作的方法、设备和系统 |
US10318165B2 (en) | 2014-05-21 | 2019-06-11 | Huawei Technologies Co., Ltd. | Data operating method, device, and system |
US11010056B2 (en) | 2014-05-21 | 2021-05-18 | Huawei Technologies Co., Ltd. | Data operating method, device, and system |
CN105446841A (zh) * | 2015-11-24 | 2016-03-30 | 无锡江南计算技术研究所 | 缓存一致性测试方法 |
CN105446841B (zh) * | 2015-11-24 | 2019-02-12 | 无锡江南计算技术研究所 | 缓存一致性测试方法 |
CN105786758A (zh) * | 2016-02-26 | 2016-07-20 | 同济大学 | 一种具有数据缓存功能的处理器装置及其数据读写方法 |
CN105786758B (zh) * | 2016-02-26 | 2019-12-03 | 同济大学 | 一种具有数据缓存功能的处理器装置 |
CN110858387A (zh) * | 2018-08-10 | 2020-03-03 | 辉达公司 | 鲁棒且高效的多处理器-协处理器接口 |
CN110858387B (zh) * | 2018-08-10 | 2024-03-15 | 辉达公司 | 鲁棒且高效的多处理器-协处理器接口 |
CN110399215A (zh) * | 2019-06-25 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种协处理器、一种电子设备及一种数据处理方法 |
WO2023241478A1 (zh) * | 2022-06-13 | 2023-12-21 | 上海寒武纪信息科技有限公司 | 人工智能加速器流水线性能分析方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262608A (zh) | 基于处理器核的协处理器读写操作控制方法及装置 | |
CN102446158B (zh) | 多核处理器及多核处理器组 | |
CN102270189B (zh) | 基于fpga多核系统的核间通信方法 | |
CN101221541B (zh) | 用于soc的可编程通信控制器 | |
CN101526924B (zh) | 一种优化数字信号处理芯片数据访问的方法 | |
CN110347635A (zh) | 一种基于多层总线的异构多核微处理器 | |
CN101187908A (zh) | 单芯片多处理器共享数据存储空间的访问方法 | |
CN106371807B (zh) | 一种扩展处理器指令集的方法及装置 | |
CN104317770A (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
CN105389277A (zh) | Gpdsp中面向科学计算的高性能dma部件 | |
CN102841871B (zh) | 基于高速串行总线的DMA结构的pipeline读写方法 | |
CN101925160A (zh) | 无线数据收发方法及其系统 | |
CN103019655B (zh) | 面向多核微处理器的内存拷贝加速方法及装置 | |
CN101359321A (zh) | 一种实现处理器相互通讯的方法及装置 | |
CN104679691A (zh) | 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法 | |
CN101876964A (zh) | 一种芯片的片上多处理器结构 | |
CN100573500C (zh) | 基于Avalon总线的流处理器IP核 | |
CN105487989A (zh) | 一种降低响应延时提高系统效率的中断控制器及控制方法 | |
CN112948287B (zh) | 一种基于Hashmap缓存机制的SD卡读写方法及系统 | |
CN108234147A (zh) | Gpdsp中基于主机计数的dma广播数据传输方法 | |
CN117435251A (zh) | 一种后量子密码算法处理器及其片上系统 | |
CN102339386A (zh) | 一种嵌入式指纹特征提取加速方法 | |
CN103838694A (zh) | 一种fpga高速读取usb接口数据的方法 | |
CN103019829A (zh) | 用签名实现的多核程序内存竞争记录及重演方法 | |
CN100527095C (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 |
Application publication date: 20111130 |