信息处理装置、微型计算机及电子设备的制作方法

文档序号:6619443
专利名称:信息处理装置、微型计算机及电子设备的制作方法
技术领域
本发明涉及一种信息处理装置、微型计算机及电子设备。
背景技术
想要提高流水线型的CPU的性能,在提高运行频率的同时,削减条件转移时需要的时钟脉冲数目也非常重要。
不过,在流水线体系结构中,当产生转移指令和循环指令时,必须重新从取转移端(转移目的地)指令开始。所以,例如,在“取”“解码”“执行”“存取”“写入”的通常五级流水线CPU中,因为要高速转移,需要具有加法器,专门用于在解码阶段对转移指令进行解码时对转移端地址进行运算。这样一来,因为解码完成时正在计算转移端地址,所以,接着能够从转移端开始取。
专利文献特开平5-27971号不过,在条件转移的情况下,由于是在得到了转移指令前的比较指令的执行结果后确定是取转移端指令还是取下一个(非转移端)指令,所以可以形成关键路径,在一个时钟脉冲期间进行此操作时每个时钟脉冲的处理时间变长。
当具有这样的关键路径时运行频率的上限变低,因此,存在不能将运行频率提高至超过该上限的问题。

发明内容
本发明克服了以上技术问题,其目的在于提供一种信息处理装置、微型计算机及电子设备,其在采用了流水线体系结构的信息处理装置中,不必扩大电路规模就能够提高运行频率,实现较少的时钟脉冲数目的条件转移。
(1)本发明涉及一种进行流水线控制的信息处理装置,其特征在于包括第一取提示装置,用于取非转移端指令;第二取提示装置,用于取转移端指令;取电路,对用于取指令码的取地址进行运算,取给第一取提示装置或第二取提示装置,并将第一取提示装置或第二取提示装置的指令输出到解码电路;解码电路,接收并解码由第一取提示装置或第二取提示装置所取的指令码;以及执行电路,根据解码结果执行指令,其中,所述取电路包括选择电路,所述选择电路根据比较指令的执行结果,选择是否将第一取提示装置或第二取提示装置中任一个的指令传送给解码电路。
所说的比较指令是指先于条件转移指令配置、用于判定后续的条件转移指令的转移条件的指令。
此外,可以根据比较指令的执行结果和在流水线控制中表示与比较指令的执行平行进行解码的解码对象指令是条件转移指令的信息,可以选择是否将第一取提示装置或第二取提示装置中任一个的指令传送给解码电路。
可以将非转移时的地址顺次预取给第一取提示装置,并且一旦知道(条件转移指令被解码或在解码途中)转移端地址就立刻预取给第二取提示装置。
此外,其结构可以在同一时钟脉冲内既可以进行向取非转移端指令的第一取提示装置的取、又可以进行向取转移端指令的第二取提示装置的取(存储器也对应为双通道),也可以在同一时钟脉冲内只进行其中任一个的指令的取。
根据本发明,当为非转移指令的时候,在下一个指令预取给第一取提示装置、条件转移指令到来时,不涉及转移/非转移而取转移端指令,然后,选择电路可以根据比较指令的执行结果,选择非转移端(第一取提示装置)或转移端(第二取提示装置)中任一个的指令,并将其传送给解码电路。
在这里,在选择是否取转非移端/转移端中的一个是在知道比较指令的执行结果之后进行的情况下,由于确定取转移端还是取下一个(非转移端)指令是在得到转移指令前的比较指令的执行结果后作出的,所以当此操作是在一个时钟脉冲中进行时,将形成每一个时钟脉冲的处理时间都变长的关键路径(critical path)。
不过,根据本发明,不必在取前参照比较指令的执行结果,取非转移端/转移端两个指令,将其传送给解码电路,此时根据比较指令的执行结果选择其中一个指令,因为是这种结构,所以能够将应该在一个时钟脉冲内进行的处理所需的时间变短,进而能够提高运行频率。
因为取提示装置和选择电路能够对应增加,所以设置转移预测电路时不会导致电路规模的增大。
这样的话,根据本发明,不必扩大电路规模就能够在提高运行频率的同时实现较少时钟脉冲数目的条件转移。
(2)在本发明的信息处理装置中,所述解码电路判断解码对象指令是否是转移指令,当为转移指令时,向取电路输出转移指令的转移端地址,所述取电路在解码对象指令是转移指令时,根据已接收的转移端地址,将转移端指令取给第二取提示装置;在解码对象指令不是转移指令时,所述取电路对非转移端地址进行运算,并根据该非转移端地址,将非转移端指令取给第一取提示装置。
能够按照诸如指令长度或读出单位的位宽来增量可编程计数器,从而求得非转移端地址。
取电路可以根据诸如是否接收到转移端地址来判断解码对象指令是否是转移指令,也可以在从解码电路接收有关解码对象指令是否是转移指令的信息(转移指令发生信息)之后,根据上述信息进行判断。
例如当解码对象指令是转移指令时,可以在下一个时钟脉冲取转移端,当解码对象指令不是转移指令时,可以在下一个时钟脉冲取非转移端。
这样一来,即使在一个时钟脉冲中只存取转移指令或非转移指令中的任一个时,因为在比较指令的执行完成后的时钟脉冲中、成为转移端、非转移端两个都被取了的状态,所以在此,选择电路能够根据比较指令的执行结果选择转移端或非转移端中的任一个,并将其传送给解码电路。
(3)在本发明的信息处理装置中,在指令解码完成前,所述解码电路向取电路输出转移指令的转移端地址。
根据本发明,因为能够更快地取转移端,所以在一个时钟脉冲内应该进行处理的处理时间被缩短。
(4)在本发明的信息处理装置中,所述取电路从连续的地址中同时取两个或多于两个的指令。
例如就16位指令来说,用32位宽存取时就能够同时存取连续的两个指令。
(5)本发明涉及一种微型计算机,其包括上述任一所述的信息处理装置。
(6)本发明涉及一种电子设备,其包括上述任一所述的信息处理装置;接受输入信息的装置;以及用于根据输入信息输出已由所述信息处理装置处理过的结果的装置。
根据本发明,因为内置了以低成本实现高速运行的信息处理装置,所以能够提供价廉且具有高性能的电子设备。


图1是对本实施例的信息处理装置的结构进行说明的功能框图。
图2是对发生条件转移时的情况进行说明的示意图。
图3是本实施例和比较例的具体动作比较的示意图。
图4是比较例的处理时间(关键路径)的示意图。
图5是第三个时钟脉冲的本实施例的处理时间的示意图。
图6是本实施例的一例微型计算机的硬件框图。
图7是一例包含微型计算机的电子设备的框图。
图8A、图8B和图8C是各种电子设备的实例外观图。
具体实施例方式
以下,参照附图对本发明的优选实施例进行说明。
1.信息处理装置图1是对本发明的实施例的信息处理装置的结构进行说明的功能框图。
本实施例的信息处理装置1是进行流水线控制的信息处理装置(例如微型计算机),其包括CPU(广义上的处理电路)10;BCU(总线控制单元)100、存储器110(ROMRead Only Memory)和RAM(Random Access Memory)。
除此之外,信息处理装置1还可包括MMU(MemoryManagement Unit)、DMAC(Direct Access Memory Controller)、LCD(Liquid Crystal Display)驱动器或者SIO(Serial Input Output)等各种外围电路。
CPU 10按照ROM和RAM中存储的程序,在流水线控制中,进行指令取、指令解码、运算处理、写入寄存器等。CPU 10可处理32位宽的数据,处理16位的指令码。
BCU(总线控制单元)100对没有图示的32位指令数据总线、用于指令数据存取的指令地址总线、32位数据总线、用于数据存取的数据地址总线、和用于控制信号的控制总线等的各种总线进行总线控制处理。
而且,该CPU 10通过该总线从存储器110中读取应该执行的指令。
另外,CPU 10包括取电路20、解码电路60、执行电路70等。
取电路20包括取非转移端指令的第一取提示装置22-1和22-2;取转移端指令的第二取提示装置24;取址(取地址)运算电路30;以及选择电路40。
取址运算电路30进行取地址运算以取指令码,并将其输出至BCU,其包括非转移地址运算电路32、转移端地址保持寄存器34、选择器36和读出地址输出电路38等。
非转移地址运算电路32,将按照指令长度(或者指令长度的整数倍,例如按照指令长度为16位、总线宽度为32位的单位读出时选择32位)增量没有图示的用于取的可编程计数器中保持的值而得到的值作为非转移地址进行运算。
转移端地址保持寄存器34一旦从解码电路60接受到转移端地址,就将其保持于转移端地址保持寄存器34中。
选择器36在从解码电路60接受了转移指令发生信息64时,选择转移端地址保持寄存器的值,并输出到读出地址输出电路38,在除此之外的情况下,选择非转移地址运算电路32所运算的非转移地址的值,并输出到读出地址输出电路38。
读出地址输出电路38将由选择器36选择的地址作为来自存储器110的读出地址输出到BCU 100。
在此,取址运算电路30可以不等待确定条件转移指令的转移条件的COMP指令执行完,就将该转移端地址作为读出地址输出至BCU 100。
选择电路40根据比较指令的执行结果(根据作为条件转移指令的解码结果66、及比较指令的比较结果设置的标志76)选择第一取提示装置22-1、22-2或第二取提示装置24中一个的指令,并输出到解码电路60。输出的指令通过触发器(FF)电路42输入到解码电路60。
这样,在本实施例中,在即将将指令码捕获到触发器(FF)电路42之前设置MUX(选择电路40),根据标志76选择转移端的指令码(被第二取提示装置取的指令码)或非转移端的指令码(被第二取提示装置预取的指令码),该标志是根据比较指令的执行结果得到的。
解码电路60是接受选择电路40所选择的指令码并进行解码处理的电路,并将解码结果66输出到特定的寄存器等。而且,在解码过程中,当识别出是转移指令时,将转移端地址62输出到取电路20的转移端地址保持寄存器34。
执行电路70包括进行数据和地址运算的运算电路(ALU)72,及寄存器堆78等,根据已由该解码电路60解码的指令的操作内容进行该指令的执行,并对执行结果74和各种标志76进行设置。
寄存器堆78可以包括16个通用寄存器R0-R15、可编程计数器(PC)、处理器状态寄存器(PSR)、栈指示器(SP)、算术低寄存器(ALR)、算术高寄存器(AHR)等的用于CPU的寄存器。
根据本实施例,包括取非转移端指令的第一取提示装置、取转移端指令的第二取提示装置、以及选择电路40,该选择电路40根据比较指令的执行结果,选择是否将第一取提示装置或第二取提示装置中一个的指令传送给解码器。因此,在为非转移指令的情况下,将下一个指令预取给第一取提示装置,在条件转移指令到来时,不涉及转移/非转移而取非转移端指令,选择电路40能够根据比较指令的执行结果,选择非转移端(第一取提示装置)或转移端(第二取提示装置)中一个的指令,并将其传送给解码电路60。
此外,取电路20可以从连续的地址中同时取两个指令或多于两个的指令。即,例如对于16位长的指令用32位宽的数据长度存取时,能够通过一次存取读出连续的两个指令。因此,可以分别在第一取提示装置22-1、第二取提示装置22-2中存储连续的两个指令。
图2是对发生条件转移时的情况进行说明的示意图。
当使用310所示的指令码以条件转移312转移到转移端312时,条件转移“jpeg L1”312指令的下一个指令“add”313成为无用的取而转为nop(空操作)(参考350),可是,随后,转移端“sub”314可被取,并且转移可用一个指令(一个时钟脉冲)的开销(オ—バ—ヘツド)来进行。
在此,在比较(或者现有的一般构成)例中,因为在cmp指令执行时计算是否为eq的标志,所以在观察其标志信息方面,如果是转移,则开始转移端的取。
这样,在比较例中,在条件转移的情况下,因为在得到转移指令前的比较指令的执行结果后确定是取转移端还是取下一个(非转移端)的指令,所以在一个时钟脉冲内进行此操作时,形成每一个时钟脉冲的处理时间变长的关键路径。
图3是本实施例和比较例的具体操作比较的示意图。
这里,在各个时钟脉冲中,对与图2的指令列表对应的本实施例和比较例的操作进行说明。
首先,在第一个时钟脉冲中,在比较例中进行“cmp”的取,而在本实施例中,进行“cmp”和“jpeg”这两个连续指令的取。在该日寸钟脉冲中,比较例和本实施例之间的处理时间差别不大。
在接着(第二个)的时钟脉冲中,在比较例中,进行“cmp”的下一个“jpeg”的取,同时还进行“cmp”的解码。在本实施例中,进行“cmp”的解码(关于“cmp”的下一个指令“jpeg”在前面的时钟脉冲中已经取完毕)。在该时钟脉冲中,比较例和本实施例之间的处理时间差别不大。
在接着(第三个)的时钟脉冲中,在比较例中,进行“jpeg”的下一个“add”的取、“jpeg”的解码、“cmp”的执行,以及根据“cmp”的执行结果进行转移、非转移的判断(参照370),并根据判断结果输出转移或非转移的取地址(参照380)。这样在比较例中,因为需要在一个时钟脉冲内根据“cmp”的执行结果进行转移、非转移的判断操作(参照370)和根据判断结果输出转移或非转移的取地址操作(参照380),所以处理时间变长(成为关键路径)(参照图4)。
与之相对,在本实施例中,进行“add”和“and”这两个连续指令的取、“jpeg”的解码、“cmp”的执行。
在接着(第四个)的时钟脉冲中,在比较例中,当为转移时,进行转移端的“sub”的取、“add”的解码、以及“jpeg”的执行,当为非转移时,进行“add”的下一个“and”的取、“add”的解码、以及“jpeg”的执行。与之相对,在本实施例中,进行转移端的“sub”的取、“add”的解码、以及“jpeg”的执行。在该时钟脉冲中,比较例和本实施例之间的处理时间差别不大。
在接着(第五个)的时钟脉冲中,在比较例中,当为转移时,进行转移端“sub”的下一个“or”的取、“sub”的解码、以及“add”的取消执行;当为非转移时,进行“add”的下一个指令的取、“and”的解码、以及“add”的执行。与之相对,在本实施例中,当为转移时,进行已经取完毕的“sub”的解码、“add”的取消执行;当为非转移时进行“and”的下一个指令的取、“and”的解码、以及“add”的执行。在该时钟脉冲中,比较例和本实施例之间的处理时间差别不大。
从上述说明可以得知,在第三个时钟脉冲中,比较例因为需要在一个时钟脉冲内根据“cmp”的执行结果进行转移、非转移的判断操作(参照370),及根据判断结果输出转移或非转移的取地址(参照380),所以形成关键路径,成为提高运行频率的主要障碍。
图4是第三个时钟脉冲的比较例的处理时间(关键路径)的示意图。
410表示执行cmp指令并将结果存储在标志寄存器中的步骤,需要约8nS(纳秒)。
420表示根据标志寄存器的内容判断是取下一个指令还是取转移端指令,并生成控制信号的步骤,需要约1nS(纳秒)。
430表示根据控制信号选择下一个指令的地址或转移端指令地址中的一个作为取地址的步骤,需要约1nS(纳秒)。
440表示取地址到达存储器(RAM等)的步骤,因为途中总线的迟延(延迟)以及通过高速缓冲、MMU的逻辑电路,所以需要约5nS(纳秒)。
这样,在比较例中,因为具有每个时钟脉冲需要15nS(纳秒)的关键路径,所以运行频率的上限为67MHz。
图5是第三个时钟脉冲的本实施例的处理时间的示意图。
210表示解码jpeg指令,从解码电路输出的转移端地址保持到转移端地址保持寄存器的步骤,需要约4nS(纳秒)。
220表示选择器36从解码电路60中接受转移指令发生信息64,并选择转移端地址保持寄存器中的值的步骤,需要约1nS(纳秒)。
230表示取地址到达存储器(RAM等)的步骤,因为途中总线的迟延以及通过高速缓冲、MMU的逻辑电路,从而需要约5nS(纳秒)。
这样,在本实施例中,因为每个时钟脉冲10nS(纳秒)就足够了,所以运行频率可提高到100MHz。
2.微型计算机图6是本实施例的一例微型计算机的硬件框图。
本微型计算机700包括CPU 510,高速缓冲存储器520,LCD控制器530,复位电路540,可编程定时器550,实时时钟脉冲(RTC)560,DRAM控制器兼总线I/F 570,中断控制器580,串行接口590,总线控制器600,A/D转换器610,D/A转换器620,输入端口630,输出端口640,I/O端口650,时钟脉冲发生装置660,预定标器670以及将它们连接的通用总线680,专用总线730等,及各种插针690等。
CPU 510具有诸如图1所示的结构。
3.电子设备图7示出了本实施例的电子设备的一例框图。本实施例的电子设备800包括微型计算机(或者ASIC)810;输入部820;存储器830;电源生成部840、LCD 850和声音输出部860。
这里,输入部820用于输入各种数据。微型计算机810能够根据该输入部820输入的数据进行各种处理。存储器830作为微型计算机810等的作业区域。电源生成部840用于生成电子设备800使用的各种电源。LCD 850用于输出电子设备所显示的各种图像(字符、图标、图表等)。声音输出部860用于输出电子设备800所输出的各种声音(声音、游戏声音等),其功能通过扬声器等硬件实现。
图8(A)示出了电子设备之一的移动电话950的一例外观图。该移动电话950包括作为输入部发挥作用的拨号盘按钮952;显示电话号码、名字和图标等的LCD 954;以及作为声音输出部发挥作用、并输出游戏声音的扬声器956。
图8(B)示出了电子设备之一的便携式游戏装置960的一例外观图。该便携式游戏装置960包括作为输入部发挥作用的操作按钮962;十字键964;显示游戏图像的LCD 966;以及作为声音输出部发挥作用、并输出游戏声音的扬声器968。
图8(C)示出了电子设备之一的个人计算机970的一例外观图。该个人计算机970包括用作输入部的键盘972;显示字符、数据、图表等的LCD 974;以及声音输出部976。
通过将本实施例的微型计算机组装成图8(A)至图8(C)的电子设备,能够提供价廉、图像处理速度快、性价比良好的电子设备。
此外,作为可利用本实施例的电子设备,除了图8(A)、图8(B)和图8(C)所示的以外,还可以有便携式信息终端、寻呼机、电子台式计算器、配有触摸屏的装置、投影仪、文字处理器、探视器型或者监控直视式带式录像机、使用汽车驾驶导向系统等的LCD的等各种电子设备。
并且,本发明并不仅限于本实施例,在本发明的精神和范围之内可以有各种变形例。
尽管本发明已经参照附图和优选实施例进行了说明,但是,对于本领域的技术人员来说,本发明可以有各种更改和变化。本发明的各种更改、变化和等同物由权利要求书的内容涵盖。
附图标记说明1 信息处理装置 10 CPU20 取电路 22-1、22-2 第一取提示装置24 第二取提示装置 30 取址运算电路32 非转移地址运算电路 34 转移端地址保持电路36 选择器 38 读出地址输出电路40 选择电路 60 解码电路62 转移信息设置电路 70 执行电路72 数据/地址运算电路74 执行结果76 标志 78 寄存器堆100 BCU (总线控制单元) 110 存储器510 CPU 530 LCD控制器540 复位电路550 可编程定时器560 实时时钟脉冲(RTC) 570 DRAM控制器兼总线I/F580 中断控制器 590 串行接口600 总线控制器 610 A/D转换器620 D/A转换器 630 输入端口
640 输出端口650 I/O端口660 时钟脉冲发生装置(PLL)670 预定标器680 通用总线690 各种插针700 微型计算机710 ROM 720 RAM730 MMU 800 电子设备850 LCD
权利要求
1.一种进行流水线控制的信息处理装置,其特征在于包括第一取提示装置,用于取非转移端指令;第二取提示装置,用于取转移端指令;取电路,对用于取指令码的取地址进行运算,将其取给第一取提示装置或第二取提示装置,并将第一取提示装置或第二取提示装置的指令输出到解码电路;解码电路,用于接收并解码由第一取提示装置或第二取提示装置所取的指令码;以及执行电路,根据解码结果执行指令,其中,所述取电路包括选择电路,所述选择电路根据比较指令的执行结果,选择是否将第一取提示装置或第二取提示装置中任一个的指令传送给解码电路。
2.根据权利要求1所述的信息处理装置,其特征在于所述解码电路判断解码对象指令是否是转移指令,当为转移指令时,向取电路输出转移指令的转移端地址,在解码对象指令是转移指令时,所述取电路根据已接收的转移端地址,将转移端指令取给第二取提示装置;在解码对象指令不是转移指令时,所述取电路对非转移端地址进行运算,并根据所述非转移端地址,将非转移端指令取给第一取提示装置。
3.根据权利要求1或2所述的信息处理装置,其特征在于在指令解码完成前,所述解码电路向取电路输出转移指令的转移端地址。
4.根据权利要求1至3中任一所述的信息处理装置,其特征在于所述取电路从连续的地址中同时取两个指令或多于两个指令的指令。
5.一种微型计算机,其特征在于包括根据权利要求1至4中任一所述的信息处理装置。
6.一种电子设备,其特征在于包括根据权利要求1至4中任一所述的信息处理装置;接受输入信息的装置;以及用于根据输入信息输出由所述信息处理装置处理过的结果的装置。
全文摘要
本发明公开了一种信息处理装置,在采用流水线体系结构的装置中,不必增大电路规模就可提高运行频率,并实现较少时钟脉冲数目的条件转移。该装置(1)包括取非转移端指令的第一取提示装置(22);取转移端指令的第二取提示装置(24);取电路(20),对用于取指令码的取地址进行运算,将其取给第一取提示装置或第二取提示装置,并将第一取提示装置或第二取提示装置的指令输出给解码电路;解码电路(60),接收并解码第一取提示装置或第二取提示装置所取的指令码;以及根据解码结果执行指令的执行电路(70),取电路包括选择电路(40),其根据比较指令的执行结果,选择是否将第一取提示装置或第二取提示装置中任一个的指令传送到解码电路。
文档编号G06F9/00GK1713136SQ20051007222
公开日2005年12月28日 申请日期2005年5月23日 优先权日2004年6月15日
发明者工藤真 申请人:精工爱普生株式会社
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1