CN101763244B - 存储器与寄存器之间的数据传输装置和方法 - Google Patents
存储器与寄存器之间的数据传输装置和方法 Download PDFInfo
- Publication number
- CN101763244B CN101763244B CN 201010034465 CN201010034465A CN101763244B CN 101763244 B CN101763244 B CN 101763244B CN 201010034465 CN201010034465 CN 201010034465 CN 201010034465 A CN201010034465 A CN 201010034465A CN 101763244 B CN101763244 B CN 101763244B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- read
- register
- side read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
用于在存储器与寄存器之间传输数据的数据传输装置和方法,包括:确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及,根据由所述指令类型确定器确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再传输所述数据,或者根据所述指令类型直接传输所述数据。通过在存储器与寄存器之间不仅仅顺序传输数据,还在传输数据过程中对数据进行简单的变换,也即完成简单指令的全部或部分功能,本发明能够有效提高处理器的指令执行效率,并且具有硬件开销小、易于实现的优点。
Description
技术领域
本发明涉及微处理器的体系结构,特别涉及用以在存储器与寄存器之间传输数据的数据传输装置和方法。
背景技术
目前都是先将RISC(精简指令集)处理器指令执行所需的数据从存储器取到寄存器中,然后将数据从寄存器取到功能部件以执行指令,并将结果写回到寄存器。并且,在寄存器不够用时,将寄存器中的数据再写回存储器。也即,在存储器与寄存器之间,包括从存储器到寄存器以及从寄存器到存储器,如图1所示直接进行数据传输,而并未对数据进行任何变换。
换言之,在存储器与寄存器之间进行数据传输的时间和资源并没有被充分利用起来。因此,现有技术的不足使得有必要设计新的寄存器与存储器间的数据传输机制,以降低处理器的指令执行时间,进而大幅度提高微处理器在实际应用中的性能。
发明内容
有鉴于此,本发明旨在提供一种用于在存储器与寄存器之间进行数据传输的装置和方法,以将用以在存储器与寄存器之间进行数据传输的时间和资源充分利用起来。
为了实现上述目的,本发明提供了一种数据传输装置,用于在存储器与寄存器之间进行数据传输,其包括:指令类型确定器,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及并行处理器,用于根据由所述指令类型确定器确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据。
另外,本发明还提供了一种数据传输方法,用于在存储器与寄存器之间进行数据传输,其包括:指令类型确定步骤,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及并行处理步骤,根据在所述指令类型确定步骤中确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据。
根据本发明的上述技术方案,在存储器与寄存器之间不仅仅顺序传输数据,在传输数据过程中还对数据进行简单的变换,也即完成简单指令的功能或部分功能,从而有效提高了处理器的指令执行效率,并且具有硬件开销小、易于实现的优点。
附图说明
图1示出了现有技术中在存储器与寄存器之间进行数据传输的示意图;
图2示出了根据本发明实施例在存储器与寄存器之间进行数据传输的示意图;
图3示出了根据本发明实施例的数据传输装置的结构框图;
图4示出了图2所示数据传输装置中并行处理器的结构框图;
图5示出了图3所示并行处理器的处理流程的示例;
图6示出了FFT基本蝶形运算;
图7示出了8点基2的FFT算法。
具体实施方式
如上所述,本发明旨在充分利用在存储器与寄存器之间传输数据的时间和资源,以有效降低处理器的指令执行时间并减小硬件开销。为了实现该目的,本发明对在存储器与寄存器之间传输数据的数据传输机制进行了改进,且主要思路是:在数据传输过程中并行进行简单的数据变换等,例如洗牌、寄存器地址变换、广播复制等,以完成某些指令操作的部分或全部功能,从而使得不必将指令发送到功能部件,或者将指令发送到功能部件后只需执行部分功能,进而减少了指令执行拍数并提高了处理器执行效率。
本发明的上述及其它特征、优点和有益技术效果,将通过参照附图进行的优选实施例介绍得到更充分的阐述。
图2示出了根据本发明实施例在存储器与寄存器之间进行数据传输的示意图。通过将图2与示出现有技术中在存储器与寄存器之间进行数据传输的示意图的图1进行比较可知,本发明提供了一种用以在存储器100与寄存器(堆)200之间传输数据的数据传输装置300,以在数据传输过程中完成简单指令的功能或部分功能。
例如,通过地址变换,在数据传输过程中实现数组按列取并按行操作的功能。比如,在二维基2FFT运算中,有一步运算需要按列方向取数据并按行方向写出运算结果。由于连续传输数据效率高,因此,一般是按行将数据取进来后再进行洗牌,如图1所示。如果在数据到存储器的传输过程中实现洗牌功能,即在将数据取进来时就放在寄存器中要求的按列方向的位置,则不需要再进行洗牌,如图2所示。
更具体而言,假定内存地址按字节对齐,地址0x0、0x32、0x64、0x96地址的256位数据,每个地址的数据A、B、C、D按照64位为元素单位被分为4个元素,即A3A2A1A0、B3B2B1B0、C3C2C1C0、D3D2D1D0。其中每个最低64位,放到0号寄存器中,即D0C0B0A0;次低64位放到1号寄存器中,即D1C1B1A1;次高64位放到2号寄存器中,即D2C2B2A2;最高64位放到3号寄存器中,即D3C3B3A3。在现有技术中,如图1所示,将数据顺序取到0,1,2,3号寄存器中,再用洗牌指令实现数据的混合。然而,在本发明中,如图2所示,通过数据传输装置300在数据传输过程中进行地址变换,即使数据放置在寄存器的地址变化,实现了在将数据取到寄存器时直接将数据按指令要求排列好,并因此节省了洗牌指令的执行时间。
图2中所示的数据传输装置在数据传输过程执行的操作包括:是否对数据进行地址变换,例如,执行广泛应用于FFT(快速傅里叶变换)中的地址位反序(Bitrevert)操作;以及,是否对数据进行数据变换,例如执行洗牌、横向/纵向填充、复制位等控制。
具体而言,在将数据从存储器取到寄存器时,可以根据取指令类型决定是直接将数据放到请求的地址中,还是对数据做一些简单的变换。所述简单的变换至少包括:地址位反序;纵向填充,即将所读取到的一行数据按列地址存放;散列,即按各种指令的要求对所读取到的一行连续地址的数据做散列;复制,即对所读取到的数据做复制后再放到寄存器中;以及洗牌,对所读取到的数据做洗牌后再放到寄存器中,以完成洗牌指令的功能。
同理,在将数据从寄存器写回存储器时,也增加是否做地址变换和/或数据变换等操作的控制。
图3给出了根据本发明实施例的数据传输装置300的结构框图。如图3所示,数据传输装置300包括指令类型确定器310和并行处理器320,其中:
指令类型确定器310用于确定指令400的类型,并将所确定的指令类型401输出至并行处理器320。
并行处理器320用于根据指令类型401判断是否要在数据传输过程中并行地对数据进行一些简单变换。并且,在判断结果为是的情况下,对待传输的数据进行处理,以在执行指令400的部分或全部功能后再进行数据传输,从而尽量减少处理器指令的执行拍数;以及,在判断结果为否的情况下,直接进行数据传输。具体而言:
当要将数据从存储器100取到寄存器200中时,并行处理器320根据指令类型401判断是否要对从存储器100读取的第一待传输数据501做简单变换。在判断结果为是的情况下,对第一待传输数据501进行处理,并将处理后所得到的第一传输数据502写入寄存器200;以及,在判断结果为否的情况下,将第一待传输数据501作为第一传输数据502直接写入寄存器200。
当要将数据从寄存器200取到存储器100中时,并行处理器320根据指令类型401判断是否要对从寄存器200读取的第二待传输数据503做简单变换。在判断结果为是的情况下,对第二待传输数据503进行处理,并将处理后所得到的第二传输数据504写入存储器100;以及,在判断结果为否的情况下,将第二待传输数据503作为第二传输数据503直接写入存储器100。
下面将参考图4详细描述并行处理器320的优选实施例。如图4所示,并行处理器320可优选为包括存储侧读写单元321、寄存侧读写单元322、数据变换单元323、地址变换单元324和直通单元325。其中:
存储侧读写单元321用于根据指令400对存储器100进行数据读写。更具体地,在从存储器100向寄存器200传输数据的情况下,存储侧读写单元321从存储器100读取执行指令400所需的数据,也即第一待传输数据501,并根据指令类型401将第一待传输数据501分发至数据变换单元323、地址变换单元324或者直通单元325。以及,在从寄存器200向存储器100传输数据的情况下,存储侧读写单元321将从数据变换单元323、地址变换单元324或者直通单元325接收到的第二传输数据504写入存储器100。
寄存侧读写单元322用于根据指令400对寄存器200进行数据读写。更具体地,在从寄存器200向存储器100传输数据的情况下,寄存侧读写单元322根据指令400从寄存器200读取数据,也即第二待传输数据503,并根据指令类型401将第二待传输数据503分发至数据变换单元323、地址变换单元324或者直通单元325。以及,在从存储器100向寄存器200传输数据的情况下,寄存侧读写单元322将从数据变换单元323、地址变换单元324或者直通单元325接收到的第一传输数据502写入寄存器200。
数据变换单元323用于根据指令类型401对从一侧读写单元接收到的待传输数据进行数据变换,并将处理后所得到的传输数据发送至另一侧读写单元。更具体地,在从存储器100向寄存器200传输数据的情况下,数据变换单元323根据指令类型401对从存储侧读写单元321接收到的第一待传输数据501进行数据变换,并将处理后所得到的第一传输数据502发送至寄存侧读写单元322。以及,在从寄存器200向存储器100传输数据的情况下,数据变换单元323根据指令类型401对从寄存侧读写单元322接收到的第二待传输数据503进行数据变换,并将处理后所得到的第二传输数据504发送至存储侧读写单元321。
地址变换单元324用于根据指令类型401对从一侧读写单元接收到的待传输数据进行地址变换,并将处理后所得到的传输数据发送至另一侧读写单元。更具体地,在从存储器100向寄存器200传输数据的情况下,地址变换单元324根据指令类型401对从存储侧读写单元321接收到的第一待传输数据501进行地址变换,并将处理后所得到的第一传输数据502发送至寄存侧读写单元322。以及,在从寄存器200向存储器100传输数据的情况下,地址变换单元324根据指令类型401对从寄存侧读写单元322接收到的第二待传输数据503进行地址变换,并将处理后所得到的第二传输数据504发送至存储侧读写单元321。
直通单元325用于将待传输数据直接发送到对应的数据读写器,而不对待传输数据进行任何处理。更具体地,在从存储器100向寄存器200传输数据的情况下,直通单元325将从存储侧读写单元321接收到的第一待传输数据501作为第一传输数据502直接传输至寄存侧读写单元322。以及,在从寄存器200向存储器100传输数据的情况下,直通单元325将从寄存侧读写单元322接收到的第二待传输数据503作为第二传输数据504直接传输至存储侧读写单元321。
图5示出了并行处理器320的处理流程的示例之一,以更详细地说明并行处理器320的工作原理。如图5所示:
首先,判断是否从存储器100读取数据(步骤S00),并基于判断结果选择性执行下述步骤S10或S20。
如果判断为从存储器100读取数据(步骤S00为是),从存储器100读取执行指令400所需的数据(步骤S10),并就此执行后续步骤S11至S16中的部分步骤。
在步骤S11,根据指令400的指令类型401判断是否要对所读取到的数据(即第一待传输数据501)进行变换。在判断为是的情况下进入步骤S12,以进一步判断是进入步骤S13对第一待传输数据501进行地址变换,还是进入步骤S14对第一待传输数据501进行数据变换。然而,在判断为否的情况下进入步骤S15,以直接传输所读取到的第一待传输数据501。
最终,经由步骤S13、S14中任一进入步骤S16,以将通过对第一待传输数据501进行地址/数据变换后得到的第一传输数据502写入寄存器200;或者经由步骤S15进入步骤S16,以将所读取到的第一待传输数据501按原样写入寄存器200。
如果判断为从寄存器200读取数据(步骤S00为否),根据指令400从寄存器200读取数据(步骤S20),并就此执行后续步骤S21至S26中的部分步骤,其具体流程与上述类似,故不再赘述。
另外,本发明还提供了与上述数据传输装置相对应的数据传输方法。该数据传输方法包括:指令类型确定步骤,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及并行处理步骤,根据在所述指令类型确定步骤中确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据。
对于上述数据传输方法,前述针对数据传输装置的描述均同样适用。并且,本领域技术人员还应能理解:实现上述方法实施例的全部或部分功能可通过与程序指令相关的硬件来完成。该程序可以存储在计算机可读存储介质,由读取该程序的计算机通过执行该程序来实现上述方法实施例中的全部或部分步骤。其中,所述存储介质包括ROM(Read OnlyMemory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、磁碟或光盘等。
下面将具体描述可适用于本发明的对数据进行地址变换和数据变换的操作示例。
通过地址变换,在数据传输过程中实现逆位序。蝶形运算是基2的FFT算法的基本单元,蝶形运算如图6所示。8点的基2的FFT信号蝶形图如图7所示。由图7可以看出,变换后的输出序列X(K)依照顺序排列,但输入序列x(n)的次序不再是原来的自然顺序,虽然看起来好像杂乱无章,但实际上是有规律可循的。下表1给出了倒位序实现过程。当序列x(n)的下标n被表示为二进制形式时,规律是倒序输入,顺序输出。
自然顺序(n) | 二进制数 | 倒位序二进制数 | 倒位序数 |
0 | 000 | 000 | 0 |
1 | 001 | 100 | 4 |
2 | 010 | 010 | 2 |
3 | 011 | 110 | 6 |
4 | 100 | 001 | 1 |
5 | 101 | 101 | 5 |
6 | 110 | 011 | 3 |
7 | 111 | 111 | 7 |
表1N=8的倒位序数
数据从寄存器到存储器一般是连续存取,以实现高效率。因此,可以将连续的数据取到寄存器中,在结果输出到存储器的过程中对寄存器的数据输出做地址位反序。可以在地址位反序后进行收集,以将收集到的连续的数据写入存储器。从而不需要把不同的点提取出来,分别进行多次输出。
复数FFT运算程序采用单精度浮点,虚实部各占32位。同一复数点的格式是实部和虚部在一起,总共占64位。其中,实部占高32位,虚部占低32位。各点顺序输入,依次放到寄存器中,每个256位向量寄存器可以容纳4个点。向存储器输出结果时进行地址位反序。
通过数据变换,在数据传输过程中完成复制操作。复制的数据元素可以为字节、半字、字、双字、四字等。下面说明中的乘法操作只是示例,可以是加法、减法、乘法、除法等算数操作,或者是与、或、非、与非、或非等逻辑操作。如64位向量乘法指令VBCMULD vd,vs,vt,imm8根据立即数imm8的imm8[1:0]选择对应vs寄存器中的相应64位数作为被乘数,分别与vt寄存器中各64位数相乘,求得结果赋值到目的寄存器vd的对应位中。现有技术中,用以执行该VBCMULD指令的功能部件的操作描述如下:
VBCMULD
case(imm8[1:0])
00:
vd[63:0]←vs[63:0]*vt[63:0];
vd[127:64]←vs[63:0]*vt[127:64];
vd[191:128]←vs[63:0]*vt[191:128];
vd[255:192]←vs[63:0]*vt[255:192];
01:
vd[63:0]←vs[127:64]*vt[63:0];
vd[127:64]←vs[127:64]*vt[127:64];
vd[191:128]←vs[127:64]*vt[191:128];
vd[255:192]←vs[127:64]*vt[255:192];
10:
vd[63:0]←vs[191:128]*vt[63:0];
vd[127:64]←vs[191:128]*vt[127:64];
vd[191:128]←vs[191:128]*vt[191:128];
vd[255:192]←vs[191:128]*vt[255:192];
11:
vd[63:0]←vs[255:192]*vt[63:0];
vd[127:64]←vs[255:192]*vt[127:64];
vd[191:128]←vs[255:192]*vt[191:128];
vd[255:192]←vs[255:192]*vt[255:192];
endcase
在指令从存储器取数据到寄存器的过程中,根据imm8的值选择将vs的不同64位进行复制送到寄存器,然后将复制好的数据送到功能部件。由此使得,用以执行该指令的功能部件不需要在运算之前根据立即数imm8进行数据选择,而可以直接按各自的64位进行vs和vt的乘法操作。进而使得,用以执行上述该VBCMULD指令的功能部件的数据操作被简化为如下:
vd[63:0]←vs[63:0]*vt[63:0];
vd[127:64]←vs[127:64]*vt[127:64];
vd[191:128]←vs[191:128]*vt[191:128];
vd[255:192]←vs[255:192]*vt[255:192];
由此可见,通过在数据传输过程中完成一些简单指令的功能,本发明确实能够有效减小指令的执行拍数,并因此提高处理器的执行效率。
需要声明的是,上述发明内容及具体实施方式仅旨在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理内,当可作各种修改、等同替换、或改进。本发明的保护范围以所附权利要求书为准。
Claims (10)
1.一种数据传输装置,用于在存储器与寄存器之间进行数据传输,其特征在于,包括:
指令类型确定器,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及
并行处理器,用于根据由所述指令类型确定器确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,进行数据变换或地址变换,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据;
所述并行处理器包括:
存储侧读写单元,用于根据所述指令对所述存储器进行数据读写;
寄存侧读写单元,用于根据所述指令对所述寄存器进行数据读写;
数据变换单元,用于根据所述指令类型,对从所述存储侧读写单元接收到的数据进行数据变换,并将进行数据变换后的数据传输至所述寄存侧读写单元;对从所述寄存侧读写单元接收到的数据进行数据变换,并将进行数据变换后的数据传输至所述存储侧读写单元;
地址变换单元,用于根据所述指令类型,对从所述存储侧读写单元接收到的数据进行地址变换,并将进行地址变换后的数据传输至所述寄存侧读写单元;对从所述寄存侧读写单元接收到的数据进行地址变换,并将进行地址变换后的数据传输至所述存储侧读写单元;以及
直通单元,用于将从所述存储侧读写单元接收到的数据直接传输至所述寄存侧读写单元;将从所述寄存侧读写单元接收到的数据直接传输至所述存储侧读写单元。
2.根据权利要求1所述的数据传输装置,其特征在于,在从所述存储器向所述寄存器传输数据的情况下,
所述存储侧读写单元从所述存储器读取执行所述指令所需的数据,并根据所述指令类型将所读取到的数据分发至所述数据变换单元、所述地址变换单元或所述直通单元,以在经由所述数据变换单元或所述地址变换单元执行所述指令的部分或全部功能后将数据传输至所述寄存侧读写单元,或者经由所述直通单元将所读取到的数据直接传输至所述寄存侧读写单元;以及
所述寄存侧读写单元将从所述数据变换单元、所述地址变换单元或所述直通单元接收到的数据写入所述寄存器。
3.根据权利要求1所述的数据传输装置,其特征在于,在从所述寄存器向所述存储器传输数据的情况下,
所述寄存侧读写单元根据所述指令从所述寄存器读取数据,并根据所述指令类型将所读取到的数据分发至所述数据变换单元、所述地址变换单元或所述直通单元,以在经由所述数据变换单元或所述地址变换单元对所述数据进行相应的处理后再将其传输至所述存储侧读写单元,或者经由所述直通单元将所读取到的数据直接传输至所述存储侧读写单元;以及
所述存储侧读写单元将从所述数据变换单元、所述地址变换单元或所述直通单元接收到的数据写入所述存储器。
4.根据权利要求1至3中任一项所述的数据传输装置,其特征在于,由所述地址变换单元进行的地址变换包括如下的处理:地址位反序或地址行列变换。
5.根据权利要求1至3中任一项所述的数据传输装置,其特征在于,由所述数据变换单元进行的数据变换包括如下的处理:洗牌、横向填充、纵向填充或复制操作。
6.一种数据传输方法,用于在存储器与寄存器之间进行数据传输,其特征在于,包括:
指令类型确定步骤,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及
并行处理步骤,根据在所述指令类型确定步骤中确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,进行数据变换或地址变换,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据;
所述并行处理步骤包括:
存储侧读写步骤,用于根据所述指令对所述存储器进行数据读写;
寄存侧读写步骤,用于根据所述指令对所述寄存器进行数据读写;
数据变换步骤,用于根据所述指令类型,对经由所述存储侧读写步骤或所述寄存侧读写步骤接收到的数据进行数据变换,以在进行所述数据变换之后再经由所述寄存侧读写步骤或所述存储侧读写步骤传输变换后的数据;
地址变换步骤,用于根据所述指令类型,对经由所述存储侧读写步骤/所述寄存侧读写步骤接收到的数据进行地址变换,以在进行所述地址变换之后再经由所述寄存侧读写步骤或所述存储侧读写步骤传输变换后的数据;以及
直通步骤,用于直接传输经由所述存储侧读写步骤/所述寄存侧读写步骤接收到的数据。
7.根据权利要求6所述的数据传输方法,其特征在于,在从所述存储器向所述寄存器传输数据的情况下,
经由所述存储侧读写步骤从所述存储器读取执行所述指令所需的数据;
根据所述指令类型,经由所述数据变换步骤或所述地址变换步骤对所读取到的数据进行处理后再将其传输,或者经由所述直通步骤直接传输所读取到的数据;以及
经由所述寄存侧读写步骤将经由所述数据变换步骤、所述地址变换步骤或所述直通步骤接收到的数据写入所述寄存器。
8.根据权利要求6所述的数据传输方法,其特征在于,在从所述寄存器向所述存储器传输数据的情况下,
经由所述寄存侧读写步骤,根据所述指令从所述寄存器读取数据;
根据所述指令类型,经由所述数据变换步骤或所述地址变换步骤对所读取到的数据进行处理后再将其传输,或者经由所述直通步骤直接传输所读取到的数据;以及
经由所述存储侧读写步骤将经由所述数据变换步骤、所述地址变换步骤或所述直通步骤接收到的数据写入所述存储器。
9.根据权利要求6至8中任一项所述的数据传输方法,其特征在于,在所述地址变换步骤进行的地址变换包括如下的处理:地址位反序或地址行列变换。
10.根据权利要求6至8中任一项所述的数据传输方法,其特征在于,在所述数据变换步骤进行的数据变换包括如下的处理:洗牌、横向填充、纵向填充或复制操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010034465 CN101763244B (zh) | 2010-01-21 | 2010-01-21 | 存储器与寄存器之间的数据传输装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010034465 CN101763244B (zh) | 2010-01-21 | 2010-01-21 | 存储器与寄存器之间的数据传输装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101763244A CN101763244A (zh) | 2010-06-30 |
CN101763244B true CN101763244B (zh) | 2013-09-18 |
Family
ID=42494422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010034465 Active CN101763244B (zh) | 2010-01-21 | 2010-01-21 | 存储器与寄存器之间的数据传输装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101763244B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682835B (zh) * | 2011-03-11 | 2015-05-13 | 晨星软件研发(深圳)有限公司 | 动态随机存取存储器的控制方法及控制器 |
CN104216842B (zh) * | 2013-06-05 | 2017-06-06 | 上海华虹宏力半导体制造有限公司 | 寄存器组与存储器数据双向传输结构及数据双向传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
US20060112258A1 (en) * | 2004-11-25 | 2006-05-25 | Yang Yil S | Parallel data path architecture for high energy efficiency |
CN1959630A (zh) * | 2005-10-31 | 2007-05-09 | 松下电器产业株式会社 | 微处理器 |
CN101231632A (zh) * | 2007-11-20 | 2008-07-30 | 西安电子科技大学 | 应用fpga进行浮点fft处理的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062220A (ja) * | 2002-07-24 | 2004-02-26 | Matsushita Electric Ind Co Ltd | 情報処理装置、情報処理方法、およびプログラム変換装置 |
US7627735B2 (en) * | 2005-10-21 | 2009-12-01 | Intel Corporation | Implementing vector memory operations |
US8667250B2 (en) * | 2007-12-26 | 2014-03-04 | Intel Corporation | Methods, apparatus, and instructions for converting vector data |
-
2010
- 2010-01-21 CN CN 201010034465 patent/CN101763244B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
US20060112258A1 (en) * | 2004-11-25 | 2006-05-25 | Yang Yil S | Parallel data path architecture for high energy efficiency |
CN1959630A (zh) * | 2005-10-31 | 2007-05-09 | 松下电器产业株式会社 | 微处理器 |
CN101231632A (zh) * | 2007-11-20 | 2008-07-30 | 西安电子科技大学 | 应用fpga进行浮点fft处理的方法 |
Non-Patent Citations (1)
Title |
---|
朱旭涛.微处理器数据通路控制单元的研究与实现.《微机发展》.2006,第5卷(第2期),91-93. * |
Also Published As
Publication number | Publication date |
---|---|
CN101763244A (zh) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204055B2 (en) | System and methods for expandably wide processor instructions | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储***及加速计算方法 | |
CN104077233A (zh) | 单通道卷积层及多通道卷积层处理方法和装置 | |
JPS6148037A (ja) | 浮動小数点演算装置 | |
KR20120035177A (ko) | 메모리 디바이스의 내부 프로세서의 조건부 연산 | |
CN105389277A (zh) | Gpdsp中面向科学计算的高性能dma部件 | |
CN103049241A (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
EP3623940A2 (en) | Systems and methods for performing horizontal tile operations | |
US20210166156A1 (en) | Data processing system and data processing method | |
EP3974966A1 (en) | Large scale matrix restructuring and matrix-scalar operations | |
CN104346132A (zh) | 应用于智能卡虚拟机运行的控制装置及智能卡虚拟机 | |
TW202127326A (zh) | 用於加速神經網路計算的硬體電路 | |
CN101763244B (zh) | 存储器与寄存器之间的数据传输装置和方法 | |
CN102012802B (zh) | 面向向量处理器数据交换的方法及装置 | |
CN104679690A (zh) | 用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法 | |
CN110750300A (zh) | 一种基于忆阻器存储器内处理的混合计算装置 | |
Lee et al. | Large‐scale 3D fast Fourier transform computation on a GPU | |
US10824370B2 (en) | Systems and methods for implementing random access memory in a flow-based machine perception and dense algorithm integrated circuit based on computing and coalescing of indices | |
EP3929732A1 (en) | Matrix data scatter and gather by row | |
EP3929734A1 (en) | Loading and storing matrix data with datatype conversion | |
JPH06505588A (ja) | 並列ソフトウェア処理用ネットワーク構造 | |
EP4107630A1 (en) | Bit string accumulation | |
CN114116012B (zh) | 基于混洗操作的fft码位反序算法向量化实现方法及装置 | |
US11669489B2 (en) | Sparse systolic array design | |
Foster | Uncoupling central processor and storage device speeds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100080 No. 10 South Road, Haidian District Academy of Sciences, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |