时钟数据恢复电路和时钟数据恢复方法

文档序号:6375804阅读:375来源:国知局
专利名称:时钟数据恢复电路和时钟数据恢复方法
技术领域
这里讨论的实施例涉及处理器。
背景技术
近年来,广泛使用包括处理器(CPU)的半导体处理装置。例如在汽车中,安装了大约100个半导体处理装置。作为用于特定应用的半导体处理装置,从成本角度出发,使用通用半导体处理装置。在半导体处理装置的实际使用中,在很多情况下重复进行特定应用中的专门处理,并频繁执行特定指令。因此,为了迅速响应请求,将用户应用最优化,使用包括处理器的半导体处理装置,其中对于每个应用,向所述处理器添加了专用指令。在这样的处理器中,一般使用这样的方法其中为附加指令设置专用接口,并分配专用操作码。图IA是示出包括添加了特定指令的处理器的计算机的硬件构造的示意图。将这·样的计算机实现为半导体处理装置,且半导体处理装置包括在各个部件中。在图IA中,粗箭头线指示数据的流动,细箭头线指示指令的流动,虚箭头线指示指令操作控制信号的流动。如图IA所示,计算机具有处理器11、指令存储器21、数据存储器22以及处理附加指令的专用处理运算器23。处理器11具有指令译码部12、运算器13、寄存器文件(registerfile) 14以及数据传输模块15。指令译码部12提取从指令存储器21读取的指令,通过将提取的指令译码,产生指令操作控制信号(操作代码操作码),以用于在运算器13中执行,并将操作码输出到运算器13。此外,指令译码部12将用于执行指令的数据的信息发送到数据传输模块15。数据传输模块15从数据存储器22读取用于执行指令的数据并将数据存储在寄存器文件14中。运算器13根据操作码处理寄存器文件14中存储的数据(存在不使用数据的情况)并将处理结果的数据存储在寄存器文件14中。数据传输模块15从寄存器文件14读取处理结果的数据并将数据存储在数据存储器22中。以上是处理器的一般操作。当专用处理运算器23处理附加指令时,专用处理运算器23被连接到处理器11。处理器11具有接口,以连接专用处理运算器23。当通过指令译码部12译码的指令是附加指令时,接口将指令操作控制信号(操作码)输出到专用处理运算器23,并且数据在专用处理运算器23与寄存器文件14之间输入和输出。具有接口和运算器13的部分被称为运算部。专用处理运算器23根据对应于附加指令的操作码处理寄存器文件14中存储的数据,并将处理结果的数据存储在寄存器文件14中。图IB是示出指令译码部12持有的指令代码映射图的示例的示意图。指令译码部12具有指令代码映射图,指令代码映射图存储对应于指令的操作码,并读取和输出对应于输入指令的操作码。图IB示出4X8指令代码映射图,并针对32个指令产生操作码。例如,将附加指令分配给第四行的1X8区域,将通过运算器13执行的通用指令分配给第一行至第三行的3X8区域。
如图IB所示,在32个指令区中,将8个指令区分配给附加指令。因此,通用指令被限制为24个,附加指令被限制为8个。因此,难以充分定义可执行通用指令以及可执行附加指令的数量。不仅在连接处理附加指令的专用处理运算器23以执行附加指令时,而且在运算器13执行除了基本指令之外的专门指令时,小数量的指令产生问题。如果将指令代码映射图扩展,则可执行指令的数量增加。但是,这要求表示指令代码的比特的数量增加,并且因此,处理器的电路规模显著增加。相关文献[专利文献I]日本特开专利文献No.H05-88885[专利文献2]日本特开专利文献No.Hll-212804[专利文献3]日本特开专利文献No.2001-184209 [专利文献4]日本特开专利文献Νο·Η07-13758[专利文献5]日本特开专利文献No.2004-51104
发明内容
根据实施例,利用通过处理器持有的功能,以适合于实际应用的形式实现能够增加可执行指令数量的处理器。根据实施例的方案,一种处理器包括运算器,配置为执行指令;指令译码部,配置为将运算器中执行的指令译码,并输出操作码;以及中断寄存器,配置为接收中断信号,其中指令译码部包括指令代码映射图,该指令代码映射图存储对应于指令的操作码并根据输入的指令输出操作码,指令代码映射图将待输出的多组操作码存储为对应于附加指令的切换操作码,附加指令是指令的一部分,并且指令代码映射图根据中断信号切换多组切换操作码。在根据实施例的处理器中,通过对应于中断信号切换指令代码映射图,以适合于实际应用的形式增加可执行指令的数量。


图IA是安装有添加了指令的处理器的通用计算机的硬件概要的构造示意图。图IB是示出指令译码部持有的指令代码映射图的示例的示意图。图2是第一实施例的计算机的硬件概要的构造示意图。图3是示出中断寄存器(REG)的构造的示意图。图4A至图4D分别是示出指令译码部中的指令译码映射图,并示出附加指令区中操作码对应于中断号码I至4的变化的示意图。图5是示出第一实施例的计算机中指令译码部的构造的示意图。图6是示出使用附加指令的中断处理的程序示例的示意图。图7是示出将中断信号输入处理器并切换附加指令译码器的定时的时序图。图8是第二实施例的计算机的硬件概要的构造示意图。
具体实施例方式图2是第一实施例的计算机的硬件概要的构造示意图。
第一实施例的计算机具有处理器31、指令存储器21、数据存储器22以及处理附加指令的专用处理运算器23。处理器31具有指令译码部32、运算器33、寄存器文件34、数据传输模块35以及中断寄存器(REG) 36。指令译码部32具有附加指令译码器42。接收包括在半导体处理装置的芯片的内部和外部产生的中断信号的处理器是公知的。处理器31分支到中断操作器并响应于中断信号进行中断处理,并且在完成中断处理时通过返回(RETI)指令返回进行初始处理。中断信号具有多中断结构,其中根据执行优先级来分配中断号码。在进行中断处理时,如果接收具有较高优先级的中断信号,则处理器31中止中断处理并进行具有较高优先级的中断处理,并且在完成具有较高优先级的中断处理时返回到中止的中断处理。中断寄存器36是保留中断号码的寄存器,从处理器31分支到中断操作器直到处理器31通过RETI指令返回初始处理,中断寄存器36保留中断号码。图3是示出中断寄存器(REG)36的构造的示意图。为了如上所述根据优先级保留
多个中断号码,中断寄存器36具有堆叠结构并根据保留的中断号码输出通知信号。返回图2,指令译码部32提取从指令存储器21读取的指令,将提取的指令译码,并产生指令操作控制信号(操作码),用于在运算器33或专用处理运算器23中执行。当译码出的指令是要在运算器33中执行的通用指令时,产生的操作码被输出到运算器33,当译码出的指令是要在专用处理运算器23中执行的附加指令时,产生的操作码被输出到专用处理运算器23。使用指示来自中断寄存器36的中断号码的通知信号,在附加指令译码器42中通过对每个中断号码个别地将指令译码,做出指令是否为附加指令的确定。此外,附加指令译码器42根据中断号码切换指令代码映射图。指令译码部32将操作码输出到运算器13或者专用处理运算器23,并且同时,将用于指令执行的数据的信息发送到数据传输模块35。数据传输模块35从数据存储器22读取用于执行指令的数据并将数据存储在寄存器文件34中。运算器33根据操作码处理寄存器文件34中存储的数据并将处理结果的数据存储在寄存器文件34中。数据传输模块35从寄存器文件34读取处理结果的数据并将数据存储在数据存储器22中。如上所述,除了中断寄存器36接收中断信号以及根据中断寄存器36中的中断信号的接收状态控制附加指令译码器42之外,第一实施例的计算机的构造和操作与图I中说明的通用计算机的一样。图4A至图4D分别是示出指令译码部32中的指令译码映射图,并示出附加指令区中操作码对应于中断号码I至4的变化的示意图。中断号码I的中断信号启动定时器处理操作器,中断号码2的中断信号启动时钟处理操作器,中断号码3的中断信号启动看门狗复位处理操作器,中断号码4的中断信号启动DMA传输操作器。在进行定时器处理操作器中的处理时,将中断号码I的中断信号输入处理器31。响应于此,指令译码映射图被切换到另一个,因此第四行后半部分的四个指令对应于定时器处理操作器的处理中使用的附加指令。当在输入中断号码I的中断信号之后,定时器处理操作器运行时,附加指令译码器42将输入指令译码映射图第四行后半部分的四个指令代码时在图4A的指令译码映射图中指定的操作码输出。类似地,当在输入中断号码2的中断信号之后,时钟处理操作器运行时,附加指令译码器42将输入指令译码映射图第四行后半部分的四个指令代码时在图4B的指令译码映射图中指定的操作码输出。当在输入中断号码3或中断号码4的中断信号之后,看门狗复位处理操作器或DMA传输操作器运行时,将图4C或图4D的指令译码映射图中指定的操作码输出。当输入除了指令译码映射图的附加指令区之外区域中的指令,也就是图4A至图4D第一行至第三行的24个指令以及第四行前半部分的四个指令时,将对应于各个区域的相同操作码输出,而不管中断信号的输入如何。如上所述,指令译码映射图中32个指令区的28个指令区是正常指令区,4个指令区是附加指令区,并且将4个附加指令区形成为对于各个中断号码不同的附加指令区,因此,总共实现16个附加指令。因此,与图IB中的示例相比,实现的正常指令的数量增加4个,附加指令的数量增加8个。如上所述,使用安装添加了专用指令的处理器的半导体处理装置,但是,用户应用的分析已经弄清楚,在很多情况下是对应于中断处理来使用附加指令。结果,即使像在第一实施例中一样,根据中断信号的种类将对应于附加指令区的附加指令切换到另一个,实际上也不会出现问题。换言之,即使使得只在特定中断处理中使用附加指令,也不会出现问题。此外,在第一实施例中,只输入启动中断操作器的中断信号,不加入或输入指令切换指令译码映射图中附加指令区的信号,因此,抑制了信号数量和步骤数量的增加。可将相同指·令单独指定为不同中断处理中的附加指令。图5是示出第一实施例的计算机中指令译码部32的构造的示意图。如图5所示,指令译码部32具有通用指令译码器41、附加指令译码器42A至42D、附加指令操作码选择电路43、最终选择电路44、OR(或)门45以及AND (与)门46。通用指令译码器41将除了附加指令之外的通用指令译码并输出通用操作码。附加指令译码器42A至42D分别将附加指令译码并输出对应于中断号码的附加指令操作码。例如,附加指令译码器42A输出对应于图4A中中断号码I的附加指令区中指令代码的操作码。类似地,附加指令译码器42B至42D输出对应于图4B至图4D中附加指令区的操作码。附加指令译码器42A至42D中的每一个将附加指令译码,并且同时,产生指示译码成功的Valid信号,并连同附加指令操作码一起输出Valid信号。如果附加指令不在有效区中并且未译码,即,将NOP (无操作)译码,则Valid信号被取消。附加指令操作码选择电路43根据从中断寄存器36输出的通知信号选择从附加指令译码器42A至42D输出的附加指令操作码。例如,当通知信号指示中断信号I时,附加指令操作码选择电路43选择附加指令译码器42A的输出。类似地,当通知信号指示中断信号
2、3或4时,附加指令操作码选择电路43选择从附加指令译码器42B、42C或42D输出的附加指令操作码。此外,附加指令操作码选择电路43计算从附加指令译码器42A至42D输出的Valid信号的逻辑和,并且当从任何一个附加指令译码器42A至42D输出的Valid信号有效时,输出“1”,否则输出“O”。OR门45计算通知信号的逻辑和。当任何一个中断操作器被启动时计算结果为“1”,当没有中断操作器被启动时计算结果为“O”。AND门计算Valid信号与OR门45的逻辑积。当任何一个中断操作器被启动并且将附加指令有效译码时计算结果为“1”,否则计算结果为“O”。最终选择电路44当AND门的输出为“O”时选择从通用指令译码器41输出的通用操作码,或者,当AND门41的输出为“I”时选择从附加指令操作码选择电路43输出的附加指令操作码。
图6是示出使用附加指令的中断处理的程序示例的示意图。该中断处理是定时器处理。在此程序中,即使是在通用指令中明确规定的内容,如果处理对于各个中断操作器是明确的,则也可以预先作为译码信息而包含进来,而不需要在指令代码中定义该处理。结果,指令代码尺寸被最小化。在此示例中,使用定时器控制寄存器,但是,在使用看门狗定时器控制寄存器的情况下,这也是一样的。此外,在各个专用中断处理操作器中进行访问时,两个控制寄存器是相互独立的。因此,可使用相同的指令代码来读取各个状态寄存器,并且因此,不增加指令代码尺寸。图7是示出将中断信号输入处理器31并且附加指令译码器42A至42D切换的定时的流程图。如图7所示,在没有输入中断的状态下,输入中断信号1,并且因此,从中断寄存器36输出的通知信号为“1”,如果输入附加指令,那么导致这样的状态选择从附加指令译码器42A输出的附加操作码。当提取的指令代码不在附加指令区时,选择通用指令。如果在对应于中断信号I的中断操作器的处理周期里输入具有较高优先级的中断信号2,则处理器31将控制移动到具有较高优先级的中断处理,并且此时,中断寄存器36的输出切换为“2”。当完成对应于中断信号2的中断处理并输出返回指令(RETI)信号时,中断处理的控制移动到对应于被搁置的中断信号I的中断操作器。为了简单起见,将第一实施例中示作示例的附加指令取为计算指令。但是,附加指令不限于计算指令,并且附加指令可以是加载/存储(load/store)或分支(branch)指令。此外在第一实施例中,为了在接收到中断号码后切换指令空间的页面,处理器可以通过对中断寄存器的寄存器写入访问或者通过软件引起延迟中断而切换指令空间的页面。在第一实施例中,通过中断信号启动中断处理操作器,并且从存储器21连续读取指令,并进行中断处理。与此不同,在下述第二实施例中,将描述中断处理中进行的处理的一系列指令序列的一部分存储在处理器中,并且在启动中断处理操作器时,通过利用处理器中存储的指令序列来进行中断处理。处理器中存储的指令序列是通过附加指令启动的一系列指令。图8是第二实施例的计算机的硬件概要的构造示意图。第二实施例的计算机与第一实施例的计算机的不同在于处理器51中具有序列器 52和指令选择电路53,而其他部件相同。序列器52存储描述中断处理中进行的处理的一系列指令序列的一部分,并通过附加指令启动指令序列。当指令从序列器52输出时,指令选择电路53选择从序列器52输出的指令,在其他情况下选择从指令存储器21读取的指令。在第二实施例中,处理器51在没有中断操作器被启动的状态下,从指令存储器21读取指令并进行正常处理。当输入中断信号时,像在第一实施例中一样,根据中断信号的种类将指令译码映射图的附加指令区切换到另一个。当从指令存储器21提取的附加指令是启动序列器52中存储的指令序列的附加指令时,根据从序列器52输出的指令进行中断处理。当从指令存储器21提取的附加指令不是启动序列器52中存储的指令序列的附加指令时,进行与第一实施例的中断处理相同的中断处理。虽然说明了第一实施例和第二实施例,但是可以有各种修改示例。例如,在第一实施例和第二实施例中,将如下情况作为示例给出说明其中连接执行附加指令的专用处理运算器23,并根据中断信号的种类将指令译码映射图的附加指令区切换到另一个。但是,可将第一实施例和第二实施例的构造类似地应用于不连接专用处理运算器23的情况。例如,将对应于指令译码映射图的附加指令区的区域取为切换区,并根据中断信号的种类将该切 换区中的指令切换到对应于中断处理的种类的指令。在这种情况下,通过根据中断信号的种类将对应于切换区的指令切换到适合于中断处理的专门附加指令,也可以在实际应用中利用用户期望的指令,而不增加信号数量和步骤数量。
权利要求
1.一种处理器,包括 运算器,配置为执行指令; 指令译码部,配置为将所述运算器中执行的指令译码,并输出操作码;以及 中断寄存器,配置为接收中断信号,其中 所述指令译码部包括指令代码映射图,所述指令代码映射图存储对应于指令的操作码并根据输入的指令输出所述操作码,以及 所述指令代码映射图将待输出的多组操作码存储为对应于附加指令的切换操作码,所述附加指令是所述指令的一部分,并且所述指令代码映射图根据所述中断信号切换多组切换操作码。
2.根据权利要求I的处理器,其中 所述指令译码部包括 通用指令译码器,配置为将除了所述附加指令之外的通用指令译码并输出通用操作码; 与所述多组相对应的多个附加指令译码器,所述多个附加指令译码器配置为将所述附加指令译码并输出附加操作码; 操作码选择电路,配置为根据所述中断寄存器的数据选择从所述多个附加指令译码器输出的附加操作码;以及 最终选择电路,配置为从所述通用指令译码器输出的所述通用操作码以及从所述操作码选择电路输出的所述附加操作码的其中之一。
3.根据权利要求I的处理器,其中 所述中断信号具有多中断关系,以及 所述中断寄存器具有堆叠结构。
4.根据权利要求2的处理器,其中 所述中断信号具有多中断关系,以及 所述中断寄存器具有堆叠结构。
5.根据权利要求I至4任一项的处理器,包括序列器,所述序列器配置为存储要通过多组指令中包括的连续指令处理的指令的系列,其中 所述序列器响应于所述指令译码部对所述连续指令的检测,将所述指令的系列输出到所述指令译码部。
全文摘要
本申请涉及时钟数据恢复电路和时钟数据恢复方法。公开了一种处理器,其包括以下部件运算器,配置为执行指令;指令译码部,配置为将运算器中执行的指令译码,并输出操作码;以及中断寄存器,配置为接收中断信号,其中指令译码部包括指令代码映射图,指令代码映射图存储对应于指令的操作码并根据输入的指令输出操作码,以及指令代码映射图将待输出的多组操作码存储为对应于附加指令的切换操作码,并根据中断信号切换多组切换操作码,所述附加指令是所述指令的一部分。
文档编号G06F9/48GK102955683SQ20121031034
公开日2013年3月6日 申请日期2012年8月22日 优先权日2011年8月22日
发明者辻雅之 申请人:富士通半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1