存储器与寄存器之间的数据传输装置和方法制造方法及图纸

技术编号:3748171 阅读:636 留言:0更新日期:2012-04-11 18:40
用于在存储器与寄存器之间传输数据的数据传输装置和方法,包括:确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及,根据由所述指令类型确定器确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再传输所述数据,或者根据所述指令类型直接传输所述数据。通过在存储器与寄存器之间不仅仅顺序传输数据,还在传输数据过程中对数据进行简单的变换,也即完成简单指令的全部或部分功能,本发明专利技术能够有效提高处理器的指令执行效率,并且具有硬件开销小、易于实现的优点。

【技术实现步骤摘要】

本专利技术涉及微处理器的体系结构,特别涉及用以在存储器与寄存器之间传输数据的数据传输装置和方法。
技术介绍
目前都是先将RISC(精简指令集)处理器指令执行所需的数据从存储器取到寄存 器中,然后将数据从寄存器取到功能部件以执行指令,并将结果写回到寄存器。并且,在寄 存器不够用时,将寄存器中的数据再写回存储器。也即,在存储器与寄存器之间,包括从存 储器到寄存器以及从寄存器到存储器,如图1所示直接进行数据传输,而并未对数据进行 任何变换。 换言之,在存储器与寄存器之间进行数据传输的时间和资源并没有被充分利用起 来。因此,现有技术的不足使得有必要设计新的寄存器与存储器间的数据传输机制,以降低 处理器的指令执行时间,进而大幅度提高微处理器在实际应用中的性能。
技术实现思路
有鉴于此,本专利技术旨在提供一种用于在存储器与寄存器之间进行数据传输的装置和方法,以将用以在存储器与寄存器之间进行数据传输的时间和资源充分利用起来。 为了实现上述目的,本专利技术提供了 一种数据传输装置,用于在存储器与寄存器之间进行数据传输,其包括指令类型确定器,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及并行处理器,用于根据由所述指令类型确定器确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据。 另外,本专利技术还提供了一种数据传输方法,用于在存储器与寄存器之间进行数据传输,其包括指令类型确定步骤,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及并行处理步骤,根据在所述指令类型确定步骤中确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据。 根据本专利技术的上述技术方案,在存储器与寄存器之间不仅仅顺序传输数据,在传 输数据过程中还对数据进行简单的变换,也即完成简单指令的功能或部分功能,从而有效 提高了处理器的指令执行效率,并且具有硬件开销小、易于实现的优点。附图说明 图1示出了现有技术中在存储器与寄存器之间进行数据传输的示意图; 图2示出了根据本专利技术实施例在存储器与寄存器之间进行数据传输的示意图; 图3示出了根据本专利技术实施例的数据传输装置的结构框图; 图4示出了图2所示数据传输装置中并行处理器的结构框4 图5示出了图3所示并行处理器的处理流程的示例; 图6示出了 FFT基本蝶形运算; 图7示出了 8点基2的FFT算法。具体实施例方式如上所述,本专利技术旨在充分利用在存储器与寄存器之间传输数据的时间和资源,以有效降低处理器的指令执行时间并减小硬件开销。为了实现该目的,本专利技术对在存储器与寄存器之间传输数据的数据传输机制进行了改进,且主要思路是在数据传输过程中并行进行简单的数据变换等,例如洗牌、寄存器地址变换、广播复制等,以完成某些指令操作的部分或全部功能,从而使得不必将指令发送到功能部件,或者将指令发送到功能部件后只需执行部分功能,进而减少了指令执行拍数并提高了处理器执行效率。 本专利技术的上述及其它特征、优点和有益技术效果,将通过参照附图进行的优选实施例介绍得到更充分的阐述。 图2示出了根据本专利技术实施例在存储器与寄存器之间进行数据传输的示意图。通过将图2与示出现有技术中在存储器与寄存器之间进行数据传输的示意图的图1进行比较可知,本专利技术提供了 一种用以在存储器100与寄存器(堆)200之间传输数据的数据传输装置300,以在数据传输过程中完成简单指令的功能或部分功能。 例如,通过地址变换,在数据传输过程中实现数组按列取并按行操作的功能。比如,在二维基2FFT运算中,有一步运算需要按列方向取数据并按行方向写出运算结果。由于连续传输数据效率高,因此,一般是按行将数据取进来后再进行洗牌,如图l所示。如果在数据到存储器的传输过程中实现洗牌功能,即在将数据取进来时就放在寄存器中要求的按列方向的位置,则不需要再进行洗牌,如图2所示。 更具体而言,假定内存地址按字节对齐,地址0x0、0x32、0x64、0x96地址的256位数据,每个地址的数据A、 B、 C、 D按照64位为元素单位被分为4个元素,即A3A2A1A0、B3B2B1B0、 C3C2C1C0、 D3D2D1D0。其中每个最低64位,放到0号寄存器中,即DOCOBOAO ;次低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 ;以及,在判本文档来自技高网...

【技术保护点】
一种数据传输装置,用于在存储器与寄存器之间进行数据传输,其特征在于,包括:指令类型确定器,用于确定需要在所述存储器与所述寄存器之间传输数据的指令的指令类型;以及并行处理器,用于根据由所述指令类型确定器确定的指令类型,对在所述存储器与寄存器之间传输的数据进行处理,以在执行所述指令的部分或全部功能后再进行数据传输,或者根据所述指令类型直接传输所述数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:郇丹丹张晓春刘宏伟
申请(专利权)人:北京龙芯中科技术服务中心有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1