具有执行送数指令执行部件的数据处理器及其操作方法技术

技术编号:2890859 阅读:247 留言:0更新日期:2012-04-11 18:40
所公开的数据处理器(10)派送送数/存储多重和送数/存储串指令到一个送数/存储部件(28)作为一序列的简单送数或存储指令。该序列器单元(18)指定再命名缓冲器(34)的一个入口,该送数/存储部件写回每个简单送数指令的数据到该入口。这个策略便于对随后指令的较早数据转发。相反地,如果它不能提供简单存储指令的操作数,该序列器单元提供再命名缓冲器标记给该送数/存储部件。(*该技术在2015年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数字计算系统,具体涉及送数指令和存储指令。所有的数据处理器都要执行它们内部计算的结果传送到其数据处理系统部分的其余部分(或反之亦然)的某个指令。这些计算结果可以传送到一个外部存储系统以便存储待日后使用;传送到一个CRT以对使用者进行显示;或者传送到一个网络以便再传输给另一个数据处理系统。这些指令经常称为“存储”指令或“写”指令。反之,数据可从一个外部存储系统或者从一个输入/输出(I/O)设备如键盘传送到该数据处理系统,以进行数据处理。这些指令通常称为“送数”指令或“读”指令。甚至在一个特定的计算机结构中也有很多各种各样的送数/存储指令。各种送数/存储指令减轻了软件程序的负担。这些种指令在传送数据的数量、数据源及地址或目的地的计算、数据格式等方面互相不同。一种类型的送数/存储指令是“送数多重”(loadmultiple)或“存储多重”指令。在几个处理器时钟周期期间,这两个指令将一系列顺序存储单元的内容装载入一系列顺序内部寄存器或反之亦然。存储器的存储单元的数量,存储器地址的起始地址和该内部寄存器的起始地址是由该指令格式及其操作数确定的。送数/存储多重指令是在流水线式数据处理器中是待实施的一个困难的指令。某些数据处理器,特别是减少的指令集的计算机(“RISC”)和一些复杂指令集的计算机(“CISC”),重叠指令处理以提高性能。这个策略经常被送数/存储多重指令打破。例如,单个送数多重指令可更新每个内部寄存器。在该指令流中所有顺序指令必须延迟直到相关数据可用为止。相反地,单个存储多重指令可每个内部寄存器输出。这时指令必须延迟直到该数据可用为止。同时,该存储多重指令必须以某类型内部队列缓冲。因此这个策略防止其它指令使用这些资源。根据本专利技术,这里公开了一种具有执行送数指令的执行部件的数据处理器及操作方法,它基本上消除了已知数据处理器和方案的缺点。所公开的数据处理器具有互相连接的多个结构寄存器、一个再命名缓冲器、一个送数部件和一个顺序器部件。再命名缓冲器有多个入口用于缓冲多个指令的不同指令的多个结果的不同结果。对于派送(dispatch)给它的每个送数指令标记时,送数部件请求以从存储系统来的地址索引的数据。该送数部件也在送数指令标记对内该标记规定的多个再命令缓冲器的多个入口之一中缓冲该数据。该序列器单元接收要求N×M字节的送数多重指令,这里N和W是整数,N大于1,而且多个结构寄存器的每一个的容量为W字节。然后序列器部件发送N送数指令标记对到该送数单元。所公开的方法具有以下步骤在第一时间期间,在序列器部件中接收送数多重指令,和在N个顺序时间期间,派送N个送数指令标记对到一个送数部件和将再命名缓冲器的多个入口的不同入口存储到多个结构寄存器的不同结构寄存器。该送数多重指令请求N×M字节的数据,这里N和M是整数,N大于1而且多个结构寄存器的每一个的容量为W字节。对于传送给它的每个送数指令标记对,该送数部件请求以存储系统的地址索引的W字节数据。该送数部件还在多个再命名缓冲器入口之一中缓冲W字节数据。送数指令标记识别特定的索引入口。下面结合附图详细叙述本专利技术,这将会对其特性和优点有更清楚的理解,各图中相同的标号表示相同和相应部分,其中附图说明图1示出按照本专利技术构成的数据处理器的方框图;图2示出图1所示的数据处理器所执行的指令的定时图;图3示出图1所示的送数/存储部件28的方框图;图4示出可能状态的状态瞬变图,其中可能示出图3的存储队列的每个入口。图1示出按照本专利技术构成的数据处理器10的方框图。数据处理器10实施Power PC Architecture(增强能力的PC结构)指令集。Power PC Architecture指令集包括送数/存储多重和送数/存储串指令。当数据处理器10执行一个指令流时它确定这些指令的存在和“不滚动”或分解这些指令为一序列的单个送数或单个存储指令。第一例子,如果数据处理器10遇到一个存储多重指令,且把十六个顺序的内部存储器内容输出到十六个顺序存储单元,则数据处理器10调派十六个单个的寄存器存储指令。这个策略允许数据处理器10使用其送数/存储多重指令的再命名方法。而且,数据处理器10可以派送送数/存储多重指令以外的其它指令。继续参照图1,一个总线接口单元(以下称BIU)12控制在数据处理器10与数据处理系统其余部分(未示出)之间的数据流。BIU12与一个指令高速缓冲存储器14和一个数据高速缓冲存储器16相连接。指令高速缓冲存储器14给序列器单元18提供一个指令流。序列器单元18把各个指令传送到一个合适的执行单元。数据处理器10具有一个分支单元20、一个固定点执行部件A22、一个固定点执行部件B24、一个复合固定点执行部件26、一个送数/存储执行部件28和一个浮点执行部件30。固定点执行部件A22、固定点执行部件B24、复合固定点执行部件26和送数/存储执行部件28读出并把它们的结果写入到通用结构寄存器文件32(标记GPR并在以下面称GPR文件)和第一再命名缓冲器34。第一再命名缓冲器34将在下文结合图3和4再详述。浮点执行部件26和送数/存储执行单元28读出它们的结果并写入到一个浮点结构寄存器文件36(被标记的FPR和下文的FPR文件)和第二再命名缓冲器38。不具有所公开的专利技术的数据处理器10的操作是本领域公知的。通常,分支单元20在给定一些数据寄存器和指令本身的内容的情况下确定什么样的编程指令序列是合适的。指令高速缓冲存储器14把这个编程指示的序列提供给序列器18。如果指令高速缓冲存储器14不包含所要求的指令,则它从数据处理器10外部的主存储系统(未示出)取出它们。序列器单元18把编程指令序列的各个指令派送到各个执行部件20、22、24、26、28和30。序列器单元18还在再命名缓冲器34或38中保留一个入口,在其中暂时存储每个指令的结果,如果有的话。这两个再命名缓冲器都是先进先出(“FIFO”)队列的。每个执行部件执行一定等级指令中的一个或多个指令。每个执行部件的特定等级指令由执行部件的名字来指明。例如,固定点执行部件A和B对于以固定点表示式表示的操作数执行简单的算术运算,例如加、减、与、或和异或运算。复合固定点执行部件26对以固定点表示式表示的操作数执行更复杂的算术运算,例如乘和除。浮点执行部件30对于以浮点表示式表示的操作数执行算术运算,例如乘和除。固定点执行部件A与B及复合固定点单元26把它们操作的结果返回到第一再命名缓冲器34中的指定入口。当产生该结果的该指令前面的所有指令已更新它们GPR文件入口时,第一再命名缓冲器34周期地更新具有第一再命令缓冲器34来的一个入口的GPR文件32的入口。序列器单元18保持再定序缓冲器39以协调这个更新。再定序缓冲器39是一个FIFO队列的,从其原始顺序存储该编程指令流的一部分。序列器单元18等待直到再定序缓冲器39中的最旧指令已完成为止。然后,序列器单元18按照分配给该指令的再命名缓冲器入口中存储的结果来更新该结构寄存器。序列器单元18还使再定序缓冲器39中的该指令入口无效,以便给后面的指令留出空间。第一再命名缓冲器34和GPR文件32二者可把操作数提供给固定点执行部件A与B及复合固定点单元26。浮点执行部件30把其操作本文档来自技高网...

【技术保护点】
一种具有执行送数指令的执行单元的数据处理器,其特征在于该数据处理器包括:多个结构寄存器;一个再命名缓冲器,连接到该多个结构寄存器,该再命名缓冲器包括多个入口,该多个入口的每个入口缓存多个指令的不同指令的多个结果的不同结果;一个送数部件,连接该再命名缓冲器,用于派送给它的每个送数指令标记对,该送数部件从存储系统请求由一个地址索引的数据,并且在由一个标记索引的再命名缓冲器的多个入口之一中缓冲该数据,该送数指令标记对包括识别该再命名缓冲器多个入口之一的标记;和一个序列器单元,连接到该送数部件,该序列器单元接收送数多重指令,该送数多重指令要求N×W字节,这里N和W是整数,N大于1和多个结构寄存器的每一个的容量为W字节,该序列器单元传送N个送数指令标记对到该送数部件。2.根据权利要求1的数据处理器,其特征在于,该序列器单元传送一个地址到该送数部件,和其中该送数部件进一步的特征在于地址计算装置产生N个送数指令标记对的(N-1)对的(N-1)个地址。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:大卫P伯吉斯马文A登曼小米尔顿M胡德马克A克尼拉文亚克林格雷厄姆R墨菲瑟昂优恩彼得桑
申请(专利权)人:摩托罗拉公司
类型:发明
国别省市:US[美国]

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

1