处理器的制作方法

文档序号:6567532阅读:268来源:国知局
专利名称:处理器的制作方法
技术领域
本发明涉及能够并列解释并执行多个指令的处理器。
背景技术
近年来,在能够并列解释并执行多个指令的处理器中,提出了各种 有关对不能同时执行的多个指令的控制方法的技术。
作为一例,设有控制单元,该控制单元将指令发送给执行阶段,在 执行阶段中的指令的处理中判断是否依存于不可利用的数据,在依存的 情况下仅使该指令停止而同时执行其他指令。即,提出了在前进到执行 阶段后不能同时执行的情况下,发生风险而停止处理的技术(参照例如 专利文献l)。
此外,通过对应于指令缓冲器及各运算器的指令寄存器的未发出的 指令数判断是否能够进行指令的同时执行,进行寄存器的更新控制。即, 提出了在处理器中准备监视执行状态的电路,根据在运算器中先行的指 令文是怎样的执行状态的信息,在前进到执行阶段之前控制指令供给来
停止处理的技术(参照例如专利文献2)。
专利文献l:日本特开平8-221273号公报 专利文献2:日本特开平8-305567号公报
但是,在以往的技术中,在判断执行阶段中的指令的数据依存性的 控制单元中,如果随着省面积化而减少运算器的数量,则有对于发生构 造风险的多个指令不能适用的问题。它是为了在将指令发送给执行阶段 后判断指令的同时执行可能性。
此外,如果对于对1个指令代码执行多个操作的多循环指令准备并
列数的计数器,则能够同时执行多个多循环指令,但如果伴随着省面积 化而减少计数器的数量,则产生同样的问题。
此外,在以往的根据指令缓冲器与指令寄存器的未发出的指令数判 断同时执行的可否的方法中,由于除了需要检测运算器中的指令执行状 态,还有对于己经具有并列地保持多个指令的指令缓冲器的处理器不能 适用的问题。
艮P,有在如随着省面积化而减少了运算器的数量的情况、或者随着 高速化而将单循环指令变更为多循环指令的情况等那样变更了架构的情 况下,不能适用的问题。

发明内容
所以,本发明是鉴于上述问题而做出的,目的是提供一种处理器, 该处理器在如随着省面积化而减少了运算器的数量的情况、或者随着高 速化而将单循环指令变更为多循环指令的情况等那样、变更了处理器的 构造的情况下,也能够不改变对变更前的架构最适合化的目标代码而利 用。
在解决上述问题时,有关本发明的处理器,(a)是能够将多个指令并 列解释的处理器,具备(b)指令缓冲器,保持可并列执行的指令组;(c) 指令解释单元,可同时解释上述指令组的一部分或全部;(d)指令发出 控制单元,检测在上述指令组中是否存在阻碍同时执行上述指令组的原 因,在存在上述原因的情况下,依次供给上述指令组的指令,在不存在 上述原因的情况下,控制上述指令缓冲器向上述指令解释单元供给上述 指令组,以同时供给上述指令组的所有指令。
由此,即使在存在指令执行部的结构最适合化于部分不同的其他处 理器用的指令程序、能够同时执行的指令的组合不同、在指令缓冲器中 保持有不能同时执行的多个指令的情况下,通过由指令发出控制单元依 次供给,也能够不改变程序或进行指令缓冲器的保存方法的变更等、而 原样地利用程序。
此外,能够不检测指令执行部的动作状态等、仅通过指令的静态信 息就能够判断可否同时执行,有利于设计容易化以及设计周期的縮短。
进而,上述指令发出控制单元基于从上述指令解释单元输入的上述 指令组的解释结果,检测出在上述指令组之中包含有发生构造风险的指 令的组合的情况,作为上述原因。
此外,上述指令发出控制单元基于从上述指令解释单元输入的上述 指令组的解释结果,检测出在上述指令组之中包含有1个以上有可能发 生构造风险的指令的情况,作为上述原因。
由此,能够使构造风险的检测简单化,能够使检测变得更高速,所 以也有利于处理器的动作速度的高速化。
或者,上述指令发出控制单元基于简单解释从上述指令缓冲器输入 的上述指令组的结果,检测出在上述指令组之中包含有规定数量的多循 环指令的情况,作为上述原因。
或者,上述指令发出控制单元基于简单解释从上述指令缓冲器输入 的上述指令组的结果,检测出在上述指令组之中包含有1个以上多循环 指令的情况,作为上述原因。
由此,能够使多循环指令的检测简单化,能够使检测变得更高速, 所以也有利于处理器的动作速度的高速化。
或者,上述指令发出控制单元在依次供给上述指令组的指令的情况 下,利用以能够由上述指令解释单元同时解释的最大指令数为最大值的 计数器,从上述指令组之中依次每次供给1个对应于上述计数器的各个 值的指令。
由此,能够不检测指令执行部的动作状态等而通过仅由指令缓冲器 的指令决定的计数器的计数器值进行指令供给的控制,有利于设计容易 化以及设计期间的縮短。
或者,上述指令发出控制单元在依次供给上述指令组的指令的情况 下,利用以保持在上述指令缓冲器中的指令数为最大值的计数器,从上 述指令组之中依次每次供给1个对应于上述计数器的各个值的指令。
由此,即使在指令缓冲器中没有配置有指令解释单元能够同时解释 的最大指令数的情况下,也能够没有冗余的设备周期而控制指令的供给, 有利于处理性能的提高。
或者,上述指令发出控制单元在依次供给上述指令组的指令的情况 下,将上述指令组分割为有可能发生上述构造风险的指令为1个指令以 下的子指令组,利用以有可能发生上述构造风险的指令数为最大值的计 数器,依次供给对应于上述计数器的各个值的子指令组。
由此,能够总是同时供给可同时执行的最大指令数,有利于处理性 能的提高。
或者,上述指令发出控制单元在依次供给上述指令组的指令的情况 下,将上述指令组分割为上述多循环指令为1个指令以下的子指令组, 利用以上述多循环指令数为最大值的计数器,依次供给对应于上述计数 器的各个值的子指令组。
由此,能够总是同时供给可同时执行的最大指令数,有利于处理性 能的提高。
另外,本发明不仅可以作为处理器实现,也可以作为控制处理器的 方法等实现。
此外,也可以作为组装有由处理器提供的功能的LSI、将其功能形成 在FPGA、 CPLD等的可编程逻辑设备中的IP核心、以及记录有该IP核 心的记录介质等来实现。
以上,根据本发明的处理器,即使在存在有指令执行部的结构最适 合化于部分不同的其他处理器用的指令程序,能够同时执行的指令的组 合不同,在指令缓冲器中保持有不能同时执行的多个指令的情况下,通 过由指令发出控制单元依次供给,也能够不改变程序或进行指令缓冲器 的保存方法的变更等、而原样地利用程序。
此外,能够不检测指令执行部的动作状态等、仅通过指令的静态信 息就能够判断可否同时执行,有利于设计容易化以及设计周期的縮短。
此外,在处理器在其他处理器中是单循环指令、能够同时执行多个
的指令变为多循环指令而不能同时执行多个的情况下,即使在存在有包 含该指令的最适合化于上述其他处理器用的程序的情况下,在指令缓冲 器中保持有不能同时执行的多个多循环指令的情况下,通过由指令发出 控制部依次供给,也能够不改变程序或进行指令缓冲器的保存方法的变 更等、而原样利用程序。


图1是表示实施方式1的处理器的结构的框图。
图2是表示实施方式1的指令解码器的结构的框图。
图3是表示实施方式1的指令发出控制部的结构的框图。
图4A是表示用来说明实施方式1的程序例的图。
图4B是表示用来说明实施方式1的程序例的图。
图5A是用来说明实施方式1的动作说明图。
图5B是用来说明实施方式1的动作说明图。
图6是表示实施方式2的处理器的结构的框图。
图7是表示实施方式2的指令发出控制部的结构的框图。
图8A是表示用来说明实施方式2的程序例的图。
图8B是表示用来说明实施方式2的程序例的图。
图8C是表示用来说明实施方式2的程序例的图。
图9A是用来说明实施方式2的动作说明图。
图9B是用来说明实施方式2的动作说明图。
图9C是用来说明实施方式2的动作说明图。
图10是表示实施方式3的处理器的结构的框图。
图11是表示实施方式3的指令发出控制部的结构的框图。
图12A是表示用来说明实施方式3的程序例的图。
图12B是表示用来说明实施方式3的程序例的图。
图13A是用来说明实施方式3的动作说明图。
图13B是用来说明实施方式3的动作说明图。
图14是表示实施方式4的处理器的结构的框图。 图15是表示实施方式4的指令发出控制部的结构的框图。 图16A是表示用来说明实施方式4的程序例的图。 图16B是表示用来说明实施方式4的程序例的图。 图17A是用来说明实施方式4的动作说明图。 图17B是用来说明实施方式4的动作说明图。 图18是表示实施方式5的处理器的结构的框图。 图19是表示实施方式5的指令发出控制部的结构的框图。 图20A是表示用来说明实施方式5的程序例的图。 图20B是表示用来说明实施方式5的程序例的图。 图20C是表示用来说明实施方式5的程序例的图。 图21A是用来说明实施方式5的动作说明图。 图21B是用来说明实施方式5的动作说明图。 图21C是用来说明实施方式5的动作说明图。 图22是表示实施方式6的处理器的结构的框图。 图23是表示实施方式6的指令发出控制部的结构的框图。 图24是表示实施方式6的无效化指令选择部的输入输出关系的真值 表的图。
图25A是表示用来说明实施方式6的程序例的图。 图25B是表示用来说明实施方式6的程序例的图。 图26A是用来说明实施方式6的动作说明图。 图26B是用来说明实施方式6的动作说明图。 附图标记说明
101、 201、 301、 401、 501、 601处理器
102、 402指令缓冲器
103、 403指令解释部
104、 404指令执行部
105、 405指令解码器
106、 406控制信号选择部
107、 407算术逻辑运算部
108、 408积和运算部
109、 409存储器访问控制部
110、 410寄存器文件
111、 211、 311、 411、 511、 611指令发出控制部
112、 212构造风险检测部
113、 313、 41.4、 614指令无效化控制部 412多循环指令解释管理部
413、 513、 613多循环指令检测部
420除法运算部
624无效化指令选择部
具体实施方式
(实施方式l)
以下,参照附图对本发明的实施方式l进行说明。
实施方式1的处理器是能够并列解释多个指令并执行的处理器,其 特征在于,其特征在于,保持可并列执行的指令组,能够同时解释指令 组的一部分或全部,检测在指令组中是否存在阻碍同时执行指令组的原 因,在存在原因的情况下依次供给指令组的指令,在不存在原因的情况 下控制指令缓冲器而将指令组向指令解释部供给,以将指令组的所有的 指令同时供给。
此外,实施方式1的处理器的特征还在于,基于从指令解释部输入 的指令组的解释结果,检测在指令组之中包含有发生构造风险的指令的 组合的情况,作为原因。
此外,实施方式1的处理器的特征还在于,在依次供给指令组的指 令的情况下,利用以能够由指令解释部同时解释的最大指令数为最大值 的计数器,从指令组中将对应于各个计数器的值的指令每次供给1个。
遵循以上的点,对实施方式1的处理器进行说明。
图1是表示本实施方式的处理器的结构的框图。这里是能够同时执
行3个指令的处理器的结构,但本发明的适用范围并不限于3个指令。 如图1所示,处理器101具备指令缓冲器组102、指令解释部103、 指令执行部104、指令发出控制部lll等。
指令缓冲器组102具备多个指令缓冲器,保持指令组。这里,假设 由指令缓冲器102-1 102-3构成。指令缓冲器102-1保持有指令代码 151-1和指令有效信息152-1。指令缓冲器102-2保持有指令代码151-2 和指令有效信息152-2。指令缓冲器102-3保持有指令代码151-3和指令 有效信息152-3。
指令解释部103由指令解码器105-1 105-3、控制信号选择部106 构成。
指令执行部104由算术逻辑运算部107、积和运算部108、存储器访 问控制部109、和寄存器文件110构成。通过算术逻辑运算部107、积和 运算部108、存储器访问控制部109执行指令,将执行而得到的结果保存 到寄存器文件110中。
图2是表示本实施方式的指令解码器105-1 105-3的结构的框图。 这里,对指令解码器105-1进行说明,对于指令解码器105-2、 105-3,由 于是与指令解码器105-1相同的结构,所以省略说明。
如图2所示,指令解码器105-1从指令缓冲器102-1接受指令代码 151-1及指令有效信息152-1。此时,如果指令有效信息152-1被肯定, 则将指令代码151-1解码。并且,将对应于解码结果的指令执行控制信 号153-1向控制信号选择部106输出。此外,在检测到有可能发生构造 风险的指令时,将对应于解码结果的发出控制指令检测信号154-1向指 令发出控制部111输出。另一方面,如果指令有效信息152-1被否定,则 不将指令代码151-1解码。
控制信号选择部106从指令解码器105-1 105-3接受指令执行控制 信号153-1 153-3,从指令发出控制部111接受指令无效化信号155-1
155-3,将对应于有效的指令的指令执行控制信号157向指令执行部104 输出。具体而言,如果指令无效化信号155-1被否定,则对应于指令执 行控制信号153-1的指令执行控制信号157被肯定。此外,对于指令无 效化信号155-2与指令执行控制信号153-2、指令无效化信号155-3与指 令执行控制信号153-3也同样。假设指令无效化信号155-1 155-3都被 否定,则对应于指令执行控制信号153-1 153-3的全部的指令执行控制 信号157被肯定。即,对应于指令无效化信号155-1 155-3被否定的组 合,将指令执行控制信号153-1 153-3组合、对应于组合后的指令执行 控制信号153-1 153-3的指令执行控制信号157被肯定。
图3是表示本实施方式的指令发出控制部111的结构的框图。如图3 所示,指令发出控制部111具备构造风险检测部112、指令无效化控制部 113等。
构造风险检测部112从指令解码器105-1 105-3接受发出控制指令 检测信号154-1 154-3,由逻辑积电路114-1 3分别在发出控制指令检 测信号154-1与发出控制指令检测信号154-2、发出控制指令检测信号 154-2与发出控制指令检测信号154-3、发出控制指令检测信号154-1与 发出控制指令检测信号154-3之间检测2个指令的发出控制对象的指令 的有无。进而,由逻辑和电路115判断2个指令以上的发出控制对象的 指令的有无,将对应于判断结果的依次发出指示信号162向指令无效化 控制部113输出。此时,如果有发出控制对象的指令,则依次发出指示 信号162被肯定。
指令无效化控制部113接受依次发出指示信号162,启动初始值0的 2-bit累加计数器116。接着,2-bit累加计数器116在依次发出指示信号 162被肯定的每个期间机器周期,更新计数器值163。
比较器117-1 117-3从2-bit累加计数器116接受计数器值163。进 而,比较器117-1将值"0"与计数器值163比较,将比较结果164-1向 逻辑积电路118-1输出。同样,比较器117-2将值"1"与计数器值163 比较,将比较结果164-2向逻辑积电路118-2输出。比较器117-3将值"2"
与计数器值163比较,将比较结果164-3向逻辑积电路118-3输出。
逻辑积电路118-1 118-3从构造风险检测部112接受依次发出指示 信号162。进而,逻辑积电路118-1从比较器117-1接受比较结果164-1, 将对应于依次发出指示信号162与比较结果164-1的逻辑积的指令无效 化信号155-1输出。同样,逻辑积电路118-2从比较器117-2接受比较结 果164-2,将对应于依次发出指示信号162与比较结果164-2的逻辑积的 指令无效化信号155-2输出。逻辑积电路118-3从比较器117-3接受比较 结果164-3,将对应于依次发出指示信号162与比较结果164-3的逻辑积 的指令无效化信号155-3输出。此外,逻辑积电路118-3还将指令无效化 信号155-3作为指令缓冲器更新停止信号156输出。 对于以上那样构成的处理器,以下说明其动作。 图4A、图4B是用来进行动作说明的指令程序例,图5A、图5B是 其动作说明图。这里,在图4A、图4B、图5A、图5B中,add表示加法 指令,mac表示积和运算指令,Id表示来自存储器的装载指令,能够通 过算术逻辑运算部107、积和运算部108、存储器访问控制部109执行。 这里,在实施方式1的处理器101中使用的程序中,假设所有指令配置 为,使得仅有可能发生对算术逻辑运算部107的构造风险、即在指令缓 冲器102中有可能配置有多个算术逻辑运算指令,但不会发生除此以外 的构造风险。
在图4A所示的指令的组合(add, mac, ld)中,由于执行这些指令 的运算部的数量足够,所以能够同时执行3个指令。指令解码器105-1 检测使用算术逻辑运算部107的指令,将对应于检测结果的发出控制指 令检测信号154-1向指令发出控制部111输出。同样,指令解码器105-2 检测使用算术逻辑运算部107的指令,将对应于检测结果的发出控制指 令检测信号154-2向指令发出控制部111输出。指令解码器105-3检测使 用算术逻辑运算部107的指令,将对应于检测结果的发出控制指令检测 信号154-3向指令发出控制部111输出。
在图4A所示的指令的组合中,构造风险检测部112由于2个指令以
上的发出控制指令检测信号没有被肯定,所以不肯定依次发出指示信号
162。此外,指令无效化控制部113不肯定指令无效化信号155-l 155-3 以及指令缓冲器更新停止信号156。
随之,控制信号选择部106同时输出与图4A所示的全部3个指令对 应的指令执行控制信号157。并且,如图5A所示,指令执行部104同时 执行这些指令。
另一方面,在图4B所示的指令的组合(add, add, ld)中,由于能 够执行add指令的算术逻辑运算部107只存在1个,所以指令执行部104 不能同时执行。在该指令的组合中,由于构造风险检测部112不能肯定 两个指令以上的发出控制指令检测信号,所以肯定依次发出指示信号 162。此外,指令无效化控制部113接受依次发出指示信号162,依次肯 定指令无效化信号155-1 155-3,以使得每次1个指令成为有效。
随之,控制信号选择部106将对应于每次1个指令的指令执行控制 信号157向指令执行部104输出。并且,如图5B所示,指令执行部104 每次执行一个指令。此时,指令发出控制部111停止指令缓冲器组102 的更新直到全部指令被发出,所以肯定指令缓冲器更新停止信号156直 到第2个机器周期。
这样,处理器101即使在指令缓冲器组102中配置有发生构造风险 的指令的组合,也能够在不知道指令执行部104的动作状态的情况下, 仅通过指令缓冲器组102的内容的信息避免构造风险来执行指令。
另外,在将指令组的指令依次供给的情况下,依次每次供给一个指 令,但在有多个运算器的情况下,例如在有两个算术逻辑运算部的情况 下,也可以不只是依次每次供给1个指令,而是如包括两个使用算术逻 辑运算部的指令的组那样、对将能够分别独立地同时处理的多个指令集 合为一个的指令组依次供给。
(实施方式2)
接着,参照附图对有关本发明的实施方式2进行说明。
在实施方式1的处理器101中,有时在来自指令解码器105-1 105-3 的解码结果输出的时间中没有富余、如果设置指令发出控制部111,则动 作速度会降低而不能满足用户要求的动作速度规格。相对于此,如图6 所示,在实施方式2的处理器201中,其特征在于,代替指令发出控制 部111而具备指令发出控制部211,消除了这样的问题。
艮P,实施方式2的处理器的特征在于,根据从指令解释部输入的指 令组的解释结果,作为原因而检测在指令组中包含1个以上有可能发生 构造风险的指令的情况。
遵循以上的点,对实施方式2的处理器进行说明。另外,对于与实 施方式1的处理器101相同的结构要素赋予相同的参考表及而省略说明。
图7是表示本实施方式的指令发出控制部211的结构的框图。如图7 所示,构造风险监测部212从指令解码器105-1 105-3接受发出控制指 令检测信号154-1 154-3,通过逻辑和电路214判断有无1个指令以上 的发出控制对象的指令,将对应于判断结果的依次发出指示信号162向 指令无效化控制部113输出。
对以上那样构成的处理器,以下说明其动作。
图8A 图8C是用来进行动作说明的程序例,图9A 图9C是其动 作说明图。这里,在图8A 图8C、图9A 图9C中,rnd表示舍入运算 指令,能够在算术逻辑运算部107中执行,"一"表示没有配置有指令的 情况。这里,被供给到实施方式2的处理器201中的程序有可能仅发生 舍入运算处理对算术逻辑运算部107的构造风险。即,有可能多个舍入 运算指令配置在指令缓冲器组102中、或者舍入运算指令与算术逻辑运 算指令的组合同时配置在指令缓冲器组102中,将全指令配置为使得除 此以外不会发生构造风险。
在图8A所示的指令组合(add, mac, ld)中,由于执行这些指令的 运算部的数量足够,所以能够同时执行3个指令。指令解码器105-1检 测使用算术逻辑运算部107的指令,将对应于检测结果的发出控制指令 检测信号154-1向指令发出控制部211输出。同样,指令解码器105-2检
测使用算术逻辑运算部107的指令,将对应于检测结果的发出控制指令 检测信号154-2向指令发出控制部211输出。指令解码器105-3检测使用 算术逻辑运算部107的指令,将对应于检测结果的发出控制指令检测信 号154-3向指令发出控制部211输出。
在图8A所示的指令的组合中,构造风险监测部212由于不能肯定1 个指令以上的发出控制指令检测信号,所以不肯定依次发出指示信号 162。此夕卜,指令无效化控制部113不肯定指令无效化信号155-1 155-3 以及指令缓冲器更新停止信号156。
随之,控制信号选择部106将对应于图8A所示的全部3个指令的指 令执行控制信号157同时向指令执行部104输出。接着,如图9A所示, 指令执行部104对该指令的组合同时执行各个指令。
在图8B所示的指令的组合(rnd, add, Id)中,由于能够执行rnd 指令或add指令的算术逻辑运算部107在指令执行部104中只存在1个, 所以指令执行部104不能同时执行。在该指令的组合中,构造风险检测 部212由于1个指令以上的发出控制指令检测信号被肯定,所以肯定依 次发出指示信号162。此外,指令无效化控制部113接受依次发出指示信 号162,依次肯定指令无效化信号155-l 155-3,以使得每次1个指令变 为有效。
随之,控制信号选择部106将对应于每次1个指令的指令执行控制 信号157向指令执行部104输出。接着,如图9B所示,指令执行部104 每次执行1个指令。此时,指令发出控制部211停止指令缓冲器组102 的更新直到全部指令被发出,所以肯定指令缓冲器更新停止信号156直 到第2机器周期。
在图8C所示的指令的组合(md, ld,-)中,使用算术逻辑运算部 107的指令只是md指令l个指令,不发生构造风险。但是,构造风险检 测部212由于1个指令以上的发出控制指令检测信号被肯定,所以肯定 依次发出指示信号162。此外,指令无效化控制部113接受依次发出指示 信号162,依次肯定指令无效化信号155-l 155-3,以使得每次1个指令
变为有效。
随之,控制信号选择部106将对应于每次1个指令的指令执行控制 信号157向指令执行部104输出。接着,如图9C所示,指令执行部104 每次执行1个指令。此时,指令发出控制部211停止指令缓冲器组102 的更新直到全部指令被发出,所以肯定指令缓冲器更新停止信号156直 到第2机器周期。
另外,如图8C所示,在所有指令缓冲器中都没有配置指令的情况下, 在有关本发明的实施方式1及实施方式2中,与没有配置的指令数相等 的机器周期数的期间作为什么都不发出的冗余的期间存在。
这样,处理器201即使在指令缓冲器组102中配置有发生构造风险 的指令的组合,也不用知道指令执行部104的动作状态,并且通过构造 风险检测部212仅由1个逻辑和电路构成,能够仅通过指令缓冲器组102 的内容的信息避免构造风险来执行指令。
(实施方式3)
接着,参照附图对有关本发明的实施方式3进行说明。
在实施方式1的处理器101中,在所有指令缓冲器中没有配置有指 令的情况下存在冗长的期间。对此,如图10所示,实施方式3的处理器 301中,其特征在于,代替指令发出控制部111而具备指令发出控制部 311,能够消除这样的问题。
艮P,实施方式3的处理器的特征在于,在依次供给指令组的指令的 情况下,利用以保持在指令缓冲器中的指令数为最大值的计数器,从指 令组之中将对应于每个计数器的值的指令依次每次供给1个指令。
遵循以上的点对实施方式3的处理器301进行说明。另外,对于与 实施方式1的处理器101相同的结构要素赋予相同的标号而省略说明。
图11是表示本实施方式的指令发出控制部311的结构的框图。如图 11所示,指令无效化控制部313接受依次发出指示信号162及指令有效 信息152-1 152-3,输出指令无效化信号355-1 355-3以及指令缓冲器 更新停止信号356。
对以上那样构成的处理器,以下说明其动作。
图12A、图12B是用来进行动作说明的程序例,图13A、图13B是 其动作说明图。这里,被供给到实施方式3的处理器301中的程序与有 关本发明的实施方式1同样,假设仅有可能发生对算术逻辑运算部107 的构造风险。即,将全指令配置为,使得有可能配置有多个算术逻辑运 算指令,除此以外不会发生构造风险。
在图12A所示的指令组合(add, add, ld)中,由于能够执行add 指令的算术逻辑运算部107只存在1个,所以不能同时执行两个add指 令。在该指令的组合中,由于构造风险检测部112不能肯定两个指令以 上的发出控制指令检测信号,所以肯定依次发出指示信号162。此外,指 令无效化控制部313接受依次发行指示信号162及指令有效信息152-2、 152-3。此时,指令有效信息152-3也被肯定。由此,检测到存在3个指 令,依次肯定指令无效化信号355-l 355-3,以每次使1个指令有效。
随之,控制信号选择部106将对应于每次1个指令的指令执行控制 信号157向指令执行部104输出。接着,如图13A所示,指令执行部104 每次执行1个指令。此时,指令发出控制部31停止指令缓冲器组102的 更新直到全部指令被发出,所以肯定指令缓冲器更新停止信号356直到 第2机器周期。
另一方面,在图12B所示的指令的组合(add, add,-)中,构造风 险检测部112由于不能肯定两个指令以上的发出控制指令检测信号,所 以与图12A所示的指令的组合同样肯定依次发出指示信号162。
但是,指令无效化控制部313接受依次发出指示信号162及指令有 效信息152-2、 152-3。此时,指令有效信息152-2被肯定,指令有效信息 152-3没有被肯定。由此,检测到存在两个指令,依次肯定指令无效化信 号355-1 355-3以使每次1个指令变为有效。
随之,控制信号选择部106将对应于每次1个指令的指令执行控制 信号157向指令执行部104输出。接着,如图13B所示,指令执行部104
每次执行1个指令。此时,指令发出控制部311仅肯定第1机器周期的 指令缓冲器更新停止信号356,否定第2机器周期更新停止信号。由此, 在接着的机器周期中将新的指令保存到指令缓冲器组102中。
这样,处理器301即使在指令缓冲器组102中配置有发生构造风险 的指令的组合,也不用知道指令执行部104的动作状态,并且仅通过指 令缓冲器组102的内容避免构造风险,能够仅在配置在指令缓冲器中的 指令数量的机器周期数量的期间依次发出指令。
(实施方式4)
接着,参照附图对有关本发明的实施方式4进行说明。
在多循环指令解释管理部从来自指令解码器的多个指令选择能够解 释的1个指令来进行多循环指令的解释管理的情况下,即使在实施方式1 的处理器101中单纯地包含有多循环指令解释管理部,如果配置有多个 多循环指令,则由于在多循环指令解释管理部中的指令选择时刻会发生 多个多循环指令的竞争,所以不能不进行解释管理而使用。对此,如图 14所示,在实施方式4的处理器401中,其特征在于,代替指令缓冲器 组102、指令解释部103、指令执行部104、指令发出控制部111而具备 指令缓冲器组402、指令解释部403、指令执行部404、指令发出控制部 411、多循环指令解释管理部412等,能够消除这样的问题。
艮P,实施方式4的处理器基于简单解释从指令缓冲器组输入的指令 组的结果,以在指令组中包含有规定数量的多循环指令为原因来检测。
这里,在简单解释时,至少确定是否是多循环指令。
所谓的"多循环指令"是指对1个指令执行多个运算的指令。另外, 将此时执行的运算也称作微操作。
遵循以上的点,对实施方式4的处理器401进行说明。另外,对于 与实施方式1的处理器101相同的结构要素赋予相同的标号而省略说明。
图14是表示本实施方式的处理器的结构的框图。如图14所示,处 理器401具备指令缓冲器组402、指令解释部403、指令执行部404、指令发出控制部411、多循环指令解释管理部412等。
指令缓冲器组402具备多个指令缓冲器,保持指令组。这里,假设 由指令缓冲器402-1 402-3构成。指令缓冲器402-1 402-3保持有指令 代码451-1 451-3和指令有效信息452-1 452-3。
指令解释部403由指令解码器405-1 405-3、控制信号选择部406 构成。
指令解码器405-1 405-3从指令缓冲器402-1 402-3接受指令代码
451- 1 451-3,从指令发出控制部411接受指令有效信息462-1 462-3。 进而,将该解码结果中的多循环指令的检测结果作为多循环指令信号 463-1 463-3向多循环指令解释管理部412输出,从多循环指令解释管 理部412接受微操作指示信号464-1 464-3。并且,将来自指令缓冲器 402-1 402-3的信息和对应于微操作指示信号464-1 464-3的指令执行 控制信号457向指令执行部404输出。
控制信号选择部406从指令解码器405-1 405-3接受指令执行控制 信号453-1 453-3,将对应于有效的指令的指令执行控制信号457向指 令执行部404输出。
指令执行部404由算术逻辑运算部407、积和运算部408、存储器访 问控制部409、寄存器文件410、和除法运算部420构成,进行指令的执 行及执行结果的保存。
多循环指令解释管理部412从指令解码器405-1 405-3接受多循环 指令信号463-1 463-3,将微操作指示信号464-1 464-3向指令解码器 405-1 405-3输出,向指令发出控制部411输出计数器更新停止信号466。
图15是表示本实施方式的指令发出控制部4H的结构的框图。如图 15所示,指令发出控制部411具备多循环指令检测部413、指令无效化 控制部414、逻辑和电路415、逻辑积电路416-l 416-3等。
并且,逻辑积电路416-1从指令缓冲器402-1接受指令有效信息
452- 1,从指令无效化控制部414接受指令无效化信号468-1。并且,将 指令有效信息462-1向指令解码器405-1输出,该指令有效信息462-1对
应于使指令无效化信号468-1反转后的信号与指令有效信息452-1的逻辑 积。同样,逻辑积电路416-2将指令有效信息462-2向指令解码器405-2 输出,该指令有效信息462-2对应于使从指令无效化控制部414接受到 的指令无效化信号468-2反转后的信号与从指令缓沖器402-2接受到的指 令有效信息452-2的逻辑积。逻辑积电路416-3将指令有效信息462-3向 指令解码器405-3输出,该指令有效信息462-3对应于使从指令无效化控 制部414接受到的指令无效化信号468-3反转后的信号与从指令缓冲器 402-3接受到的指令有效信息452-3的逻辑积。
逻辑和电路415从多循环指令解释管理部412接受计数器更新停止 信号466,从指令无效化控制部414接受指令缓冲器更新停止信号469。 并且,将指令缓冲器更新停止信号456向指令缓冲器组402输出,该指 令缓冲器更新停止信号456对应于计数器更新停止信号466与指令缓冲 器更新停止信号469的逻辑和。
多循环指令检测部413从指令缓冲器402-1接受指令代码451-1及指 令有效信息452-1 。并且,从指令缓冲器402-2接受指令代码451-2及指 令有效信息452-2。从指令缓冲器402-3接受指令代码451-3及指令有效 信息452-3。进而,通过多循环指令检测解码器421-l 421-3检测可配置 多个的多循环指令。通过逻辑积电路422-1 422-3检测有无两个指令的 多循环指令。通过逻辑和电路423判断可配置两个以上的多个多循环指 令的有无。并且,将对应于判断结果的依次发出指示信号465向指令无 效化控制部414输出。
指令无效化控制部414从多循环指令检测部413接受依次发出指示 信号465,从多循环指令解释管理部412接受计数器更新停止信号466, 启动初始值0的2-bit累加计数器417。并且,2-bit累加计数器417在依 次发出指示信号465被肯定的期间、且计数器更新停止信号466被否定 的机器周期,更新计数器值。
比较器418-1 418-3从2-bit累加计数器417接受计数器值467。进 而,比较器418-1将值"0"与计数器值467比较,将比较结果470-1向 逻辑积电路419-1输出。同样,比较器418-2将值"1"与计数器值467 比较,将比较结果470-2向逻辑积电路419-2输出。比较器418-3将值"2" 与计数器值467比较,将比较结果470-3向逻辑积电路419-3输出。
逻辑积电路419-1 419-3从多循环指令检测部413接受依次发出指 示信号465。进而,逻辑积电路419-1从比较器418-1接受比较结果470-1, 将指令无效化信号468-1向逻辑积电路416-1输出,该指令无效化信号 468-1对应于依次发出指示信号465与比较结果470-1的逻辑积。同样, 逻辑积电路419-2从比较器418-2接受比较结果470-2,将指令无效化信 号468-2向逻辑积电路416-2输出,该指令无效化信号468-2对应于依次 发出指示信号465与比较结果470-2的逻辑积。逻辑积电路419-3从比较 器418-3接受比较结果470-3,将指令无效化信号468-3向逻辑积电路 416-3输出,该指令无效化信号468-3对应于依次发出指示信号465与比 较结果470-3的逻辑积。
对于以上那样构成的处理器,以下说明其动作。
图16A、图16B是用来进行动作说明的指令程序例,图17A、图17B 是其动作说明图。这里,在图16A、图16B、图17A、图17B中,div表 示除法指令,是由多循环指令解释管理部412管理的n循环的多循环指 令,能够由除法运算部420执行。这里,在实施方式4的处理器401中 使用的程序中,多循环指令中的仅除法运算有可能在指令缓冲器组402 中配置有多个,对于除此以外的多循环指令配置为使其不会在指令缓冲 器组402中配置有多个。
在图16A所示的指令的组合(add, div, ld)中,多循环指令检测部 413由于作为多循环指令的div指令是一个,所以否定依次发出指示信号 465。由此,由于指令有效信息462-l 462-3同时被肯定,所以指令代码 451-1 451-3被指令解码器405-1 405-3同时解码。
此时,多循环指令解释管理部412接受1个多循环指令div的多循环 指令信号464-2而进行解释管理。并且,在多循环指令的解释管理中, 并且在不是多循环指令的最终微操作的期间,多循环指令解释管理部412
肯定计数器更新停止信号466。指令发出控制部411由于指令缓冲器更新 停止信号469被否定,所以将计数器更新停止信号466原样作为指令缓 冲器更新停止信号456输出。
随之,控制信号选择部406对于这些指令的组合,将对应于各个指 令的指令控制信号457同时向指令执行部404输出。并且,如图17A所 示,指令执行部404对这些指令的组合同时执行各个指令。
另一方面,在图16B所示的指令的组合(add, div, div)中,多循 环指令检测部413由于作为多循环指令的div指令是两个,所以肯定依次 发出指示信号465。由此,当计数器值467为"0"时,指令有效信息462-1 462-3中的仅对应于add指令的指令有效信息462-1被肯定,所以仅将指 令代码451-1用指令解码器405-1进行解码。
进而,多循环指令解释管理部412由于不存在有效的多循环指令, 所以将计数器更新停止信号466否定。因此,在接着的机器周期将计数 器值467更新为"1"。由此,当计数器值467为"1"时,由于指令有效 信息462-1 462-3中的仅对应于第1个div指令的指令有效信息462-2 被肯定,所以仅将指令代码451-2用指令解码器405-2进行解码。
进而,多循环指令解释管理部412由于存在有效的多循环指令div, 所以将计数器更新停止信号466肯定。因此,停止2-bit累加计数器417 的更新,直到第1个div的解释管理结束。在成为第1个div的最终微操 作时,多循环指令解释管理部412将计数器更新停止信号466否定,所 以在接着的机器周期将计数器值467更新为"2"。由此,由于对应于第2 个div指令的指令有效信息462-3被肯定,所以只有指令代码451-3被指 令解码器405-3解码。
接着,多循环指令解释管理部412由于存在有效的多循环指令div, 所以将计数器更新停止信号466肯定。因此,停止2-bit累加计数器417 的更新,直到第2个div的解释管理结束。在成为第2个div的最终微操 作时,多循环指令解释管理部412由于将计数器更新停止信号466否定, 所以指令缓冲器更新停止信号456也被否定,在下一机器周期中更新指
令缓冲器组402。
随之,控制信号选择部401将对应于每次1个指令的指令执行控制 信号457向指令执行部404输出。接着,如图17B所示,指令执行部404 每次执行1个指令。
这样,处理器401即使在指令缓冲器组402中配置有多个多循环指 令,也不用知道指令执行部404的动作状态,通过仅根据指令缓冲器组 402的内容和来自多循环指令解释管理部412的计数器更新停止信号466 依次发出指令,能够执行指令。
(实施方式5)
接着,参照附图对有关本发明的实施方式5进行说明。 在实施方式4的处理器401中,有时在指令有效信息462-1 462-3 的输出的时间中没有富余,如果设置指令发出控制部411则动作速度降 低,不能满足用户要求的动作速度规格。相对于此,如图18所示,在实 施方式5的处理器501中,代替指令发出控制部411而具备指令发出控 制部5U,能够解决这样的问题。
艮口,实施方式5的处理器的特征在于,基于将从指令缓冲器输入的 指令组简单解释的结果,作为原因而检测在指令组之中包含1个以上多 循环指令的情况。
这里,在简单解释时,假设至少确定是否是多循环指令。 遵循以上的点,对实施方式5的处理器501进行说明。另夕卜,对于 与实施方式4的处理器401相同的结构要素赋予相同的标号而省略说明。 图19是表示本实施方式的指令发出控制部511的结构的框图。如图 19所示,多循环指令检测部513从指令缓冲器402-1 402-3接受指令代 码451-l 451-3以及指令有效信息452-l 452-3,通过多循环指令检测 解码器521-1~521-3检测可配置多个的多循环指令。进而,通过逻辑和 电路522判断能够配置1个指令以上的多个多循环指令的有无,将其判 断结果作为依次发出指示信号465向指令无效化控制部414输出。对于以上那样构成的处理器,以下说明其动作。
图20A 图20C是用来进行动作说明的指令程序例,图21A 图21C 是其动作说明图。这里,在实施方式5的处理器501中使用的程序中, 假设配置为,使多循环指令中的仅除法运算有可能在指令缓冲器组402 中配置有多个,除此以外的多循环指令不会在指令缓冲器组402中配置 有多个。
在图20A所示的指令的组合(add, mac, ld)中,多循环指令检测 部513由于不能检测到可配置多个的多循环指令,所以将依次发出指示 信号465否定。
随之,控制信号选择部406对这些指令的组合,将对应于各个指令 的指令执行控制信号457同时向指令执行部404输出。接着,如图21A 所示,指令执行部404对这些指令的组合同时执行各自的指令。
另一方面,在图20B所示的指令的组合(add, div, div)中,多循 环指令检测部513由于可配置多个的多循环指令是两个,所以将依次发 出指示信号465肯定。
随之,控制信号选择部406将对应于每次1个指令的指令执行控制 信号457向指令执行部404输出。接着,如图21B所示,指令执行部404
每次执行1个指令。
在图20C所示的指令的组合(add, div, ld)中,在多循环指令检测 部513中,可配置多个的多循环指令只是1个,即使对指令解释部405 供给图20C所示的指令的组合也能够通过多循环指令解释管理部412进 行控制。但是,多循环指令检测部513检测出可配置多个的1个指令以 上的多循环指令,将依次发出指示信号465予以肯定。
随之,控制信号选择部406将对应于每次1个指令的指令执行控制 信号457向指令执行部404输出。接着,如图21C所示,指令执行部404
每次执行1个指令。
这样,处理器501即使在指令缓冲器402中配置有多个多循环指令, 也不用知道指令执行部404的动作状态、且多循环指令检测部513通过
多循环指令检测解码器521-1 521-3和1个逻辑和电路522的结构,能 够在指令缓冲器组402的内容中避免构造风险来执行指令。
另外,在所有指令缓冲器中没有配置有指令的情况下,在本发明的 实施方式4及实施方式5中与没有配置的指令数相等的机器周期数量的 期间作为什么都不能发出的冗余期间存在,但相对于此,通过将指令有 效信息452-2 452-3向指令无效化控制部414追加、进行与本发明的实 施方式3中的指令发出控制部313同样的控制,能够将冗余的期间去除。
(实施方式6)
接着,参照附图对本发明的实施方式6进行说明。
在实施方式4的处理器401中,在多循环指令检测部413中,如果 依次发出指示信号465被肯定,则不仅是多循环指令,能够与多循环指 令同时执行的单循环指令也被每次1个指令地依次供给。相对于此,如 图22所示,在实施方式6的处理器601中,其特征在于,代替指令发出 控制部411而具备指令发出控制部611,能够消除这样的问题。
遵循以上的点,对实施方式6的处理器601进行说明。另外,对于 与实施方式4的处理器401相同的结构要素赋予相同的标号而省略说明。
图23是表示本实施方式的指令发出控制部611的结构的框图。如图 23所示,指令发出控制部611由多循环指令检测部613、指令无效化控 制部614构成。
多循环指令检测部613从指令缓冲器402-1 402-3接受指令代码 451-1 451-3及指令有效信息452-1 452-3,通过多循环指令检测解码 器421-l 421-3检测可配置多个的多循环指令。进而,将多循环指令检 测信号472-1 472-3向指令无效化控制部614输出。此外,通过以多循 环指令检测信号472-1 472-3为输入的逻辑积电路422-1 422-3检测两 个指令的多循环指令的有无,通过逻辑和电路423判断可配置多个两指 令以上的多循环指令的有无。并且将其判断结果作为依次发出指示信号 465向指令无效化控制部614输出。 指令无效化控制部614从多循环指令检测部613接受依次发出指示 信号465以及多循环指令检测信号472-l 472-3,从多循环指令解释管 理部412接受计数器更新停止信号466。进而,启动初始值"0"的2-bit 累加计数器417。并且,2-bit累加计数器417在依次发出指示信号465 被肯定的期间、并且计数器更新停止信号466被否定的机器周期,更新 计数器值。
比较器418-1 418-3从2-bit累加计数器417接受计数器值467,将 各个值"0"、 "1"、 "2"与计数器值467比较,将比较结果470-l 470-3 向逻辑积电路419-l 419-3输出。
逻辑积电路419-1 419-3从比较器418-1 418-3接受比较结果 470-1 470-3,从多循环指令检测部613接受依次发出指示信号465,取 比较结果470-1 470-3与依次发出指示信号465的逻辑积,将其结果作 为子指令组无效化信息674-1 674-3向无效化指令选择部624供给。
无效化指令选择部624基于图24所示的真值表,按照多循环指令检 测信号472-1 472-3从子指令组无效化信息674-1 674-3中选择1个, 作为指令无效化信息468-1 468-3输出。
逻辑积电路625 627及逻辑和电路628构成为,在多循环指令是两 个指令的情况下、当计数器值467为"0"时,在多循环指令是3个指令 的情况下、当计数器值467为"0"或"1"时,将缓冲器更新信号456 予以肯定。
对于以上那样构成的处理器,以下说明其动作。
图25A、图25B是用来进行动作说明的指令程序例,图26A、图26B 是其动作说明图。这里,在实施方式6的处理器601中使用的程序假设 配置为,使多循环指令中的仅除法运算有可能在指令缓冲器组402中配 置有多个,除此以外的多循环指令不会在指令缓冲器组402中配置有多个。
在图25A所示的指令的组合(add, mac, ld)中,多循环指令检测 部613由于没有检测到可配置多个的多循环指令,所以将依次发出指示
信号465予以否定。由此,指令有效信息462-l 462-3同时被肯定,所 以指令代码451-l 451-3被指令解码器405-1 405-3同时解码。
随之,控制信号选择部406对于这些指令的组合,将对应于各个指 令的指令控制信号457同时向指令执行部404输出。并且,如图26A所 示,指令执行部404对这些指令的组合同时执行各个指令。
在图25B所示的指令的组合(add, div, div)中,多循环指令检测 部613检测出可配置多个的多循环指令存在两个指令以上,肯定依次发 出指示信号465。此时,多循环指令检测部613将多循环指令检测信号 472-2及472-3也予以肯定。
此外,指令无效化控制部614由于多循环指令是两个指令,所以仅 在计数器值467是"0"时肯定缓冲器更新停止信号456。
无效化指令选择部624由于多循环指令检测信号472-1 472-3分别 是"0"、"1"、"1",所以如图24所示,对于指令无效化信息468-l 468-3, 分别选择子指令组无效化信息674-1、 674-1、 674-2并输出。
由此,如图26B所示,首先add指令与第ldiv指令被向指令解释部 403供给,接着第2div指令被向指令解释部403供给。另夕卜,作为与第 ldiv信号同时被供给的单循环指令的add指令在与第ldiv指令同时被向 指令解释部403供给后,由多循环指令解释管理部412与div指令的最终 微操作同时发出。
这样,处理器601即使在指令缓冲器组402中配置有多个多循环指 令的情况下,也不用知道指令执行部404的动作状态,通过仅根据指令 缓冲器组402的内容的信息避免构造风险、将可同时执行的最大数量的 指令同时供给,能够以可执行的最小的循环数执行指令。
另外,在本发明的实施方式3的处理器中,也将发出控制指令检测 信号154-1 154-3作为指令无效化控制部313的输入追加,通过将指令 无效化控制部313做成与指令无效化控制部614同样的结构,通过将可 同时执行的最大数量的指令同时供给,能够以可执行的最小循环数执行 指令。
另外,如实施方式6的处理器那样,在实施方式1的处理器中,在 依次供给指令组的指令的情况下,也可以将指令组分割为有可能发生构 造风险的指令为1个指令以下的子指令组,利用以有可能发生构造风险 的指令数为最大值的计数器,依次供给对应于每个计数器值的子指令组。
(其他)
另外,有关本发明的处理器也可以通过全定制LSI (Large Scale Integration)实J见。此夕卜,也可以通过ASIC (Application Specific Integrated Circuit)等那样的半定制LSI实现。此外,也可以通过FPGA (Field Programmable Gate Array ) 、 CPLD (Complex Programmable Logic Device)
等那样的可编程逻辑设备实现。此外,也可以作为可动态改写电路结构 的动态可重构设备来实现。
进而,将构成本发明的处理器的1个以上的功能形成在这些LSI中 的设计数据也可以做成通过VHDL (Very high speed integrated circuit Hardware Description Language)、 Verilog-HDL、 SystemC等另卩样的石更"[牛描 述语言描述的程序(以下称作HDL程序)。此外,也可以做成将HDL程 序逻辑合成而得到的门级的网络列表。此外,也可以做成在门级的网络 列表中附加了配置信息、过程条件等的微单元信息。此外,也可以做成 尺寸、定时等被规定的掩码数据。
进而,设计数据也可以记录在光学记录介质(例如CD-ROM等)、 磁记录介质(例如硬盘等)、光磁记录介质(例如MO等)、半导体存储 器(例如存储卡等)等那样的计算机可读取的记录介质中,以便能够被 计算机系统、内嵌系统等的硬件系统读出。
或者,设计数据也可以保持在传送路径上的硬件系统中,以便能够 经由网络等的传送路径由其他硬件系统得到。进而,从硬件系统经由传 送路径被其他硬件系统取得的设计数据也可以经由下载线缆被下载到可 编程逻辑设备中。
或者,被逻辑合成、配置、布线的设计数据也可以记录在串行ROM
中,以便在通电时能够被传送给FPGA。并且,记录在串行ROM中的设 计数据也可以在通电时直接被下载到FPGA中。
工业实用性
本发明可以作为如下的处理器等来使用,该处理器在如伴随着省面 积而减少运算器的数量的情况、或者随着高速化而将单循环指令变更为 多循环指令的情况等那样变更了构架的情况下,也能够不改变而利用最 适于变更前的构架的目标码。
权利要求
1、一种处理器,能够将多个指令并列解释并执行,其特征在于,具备指令缓冲器,保持可并列执行的指令组;指令解释单元,可同时解释上述指令组的一部分或全部;指令发出控制单元,检测在上述指令组中是否存在阻碍同时执行上述指令组的原因,在存在上述原因的情况下,依次供给上述指令组的指令,在不存在上述原因的情况下,控制上述指令缓冲器向上述指令解释单元供给上述指令组,以同时供给上述指令组的所有指令。
2、 如权利要求1所述的处理器,其特征在于,上述指令发出控制单元基于从上述指令解释单元输入的上述指令组 的解释结果,检测出在上述指令组之中包含有发生构造风险的指令的组 合的情况,作为上述原因。
3、 如权利要求1所述的处理器,其特征在于,上述指令发出控制单元基于从上述指令解释单元输入的上述指令组 的解释结果,检测出在上述指令组之中包含有1个以上有可能发生构造 风险的指令的情况,作为上述原因。
4、 如权利要求1所述的处理器,其特征在于,上述指令发出控制单元基于简单解释从上述指令缓冲器输入的上述 指令组的结果,检测出在上述指令组之中包含有规定数量的多循环指令 的情况,作为上述原因。
5、 如权利要求1所述的处理器,其特征在于,上述指令发出控制单元基于简单解释从上述指令缓冲器输入的上述 指令组的结果,检测出在上述指令组之中包含有1个以上多循环指令的 情况,作为上述原因。
6、 如权利要求1所述的处理器,其特征在于,上述指令发出控制单元在依次供给上述指令组的指令的情况下,利用以能够由上述指令解释单元同时解释的最大指令数为最大值的计数 器,从上述指令组之中依次每次供给1个对应于上述计数器的各个值的 指令。
7、 如权利要求1所述的处理器,其特征在于,上述指令发出控制单元在依次供给上述指令组的指令的情况下,利 用以保持在上述指令缓冲器中的指令数为最大值的计数器,从上述指令 组之中依次每次供给1个对应于上述计数器的各个值的指令。
8、 如权利要求2所述的处理器,其特征在于,上述指令发出控制单元在依次供给上述指令组的指令的情况下,将 上述指令组分割为有可能发生上述构造风险的指令为1个指令以下的子 指令组,利用以有可能发生上述构造风险的指令数为最大值的计数器, 依次供给对应于上述计数器的各个值的子指令组。
9、 如权利要求3所述的处理器,其特征在于,上述指令发出控制单元在依次供给上述指令组的指令的情况下,将 上述指令组分割为有可能发生上述构造风险的指令为1个指令以下的子 指令组,利用以有可能发生上述构造风险的指令数为最大值的计数器, 依次供给对应于上述计数器的各个值的子指令组。
10、 如权利要求4所述的处理器,其特征在于, 上述指令发出控制单元在依次供给上述指令组的指令的情况下,将上述指令组分割为上述多循环指令为1个指令以下的子指令组,利用以 上述多循环指令数为最大值的计数器,依次供给对应于上述计数器的各 个值的子指令组。
11、 如权利要求5所述的处理器,其特征在于, 上述指令发出控制单元在依次供给上述指令组的指令的情况下,将上述指令组分割为上述多循环指令为1个指令以下的子指令组,利用以 上述多循环指令数为最大值的计数器,依次供给对应于上述计数器的各 个值的子指令组。
全文摘要
本发明的处理器(101)具备指令缓冲器(102),保持可并列执行的指令组;指令解释单元(103),可同时解释指令组的一部分或全部;指令发出控制单元(111),检测在指令组中是否存在阻碍同时执行指令组的原因,在存在原因的情况下依次供给指令组的指令,在不存在原因的情况下控制指令缓冲器(102)将指令组向指令解释部(103)供给,以将指令组的所有指令同时供给。
文档编号G06F9/38GK101180607SQ20068001781
公开日2008年5月14日 申请日期2006年3月9日 优先权日2005年6月15日
发明者细木哲 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1