处理器和半导体集成电路的制作方法

文档序号:6407209阅读:129来源:国知局
专利名称:处理器和半导体集成电路的制作方法
相关申请参照本申请是基于并享有2003年6月4日提交的日本专利申请P2003-159174的优先权,该申请的内容通过引用整体结合于此。
背景技术
1.发明领域本发明涉及处理器。具体地,本发明涉及包括一种可扩展的处理器或者一种可重新配置的计算单元的处理器和半导体大规模集成电路(LSI)。
2.相关技术的描述可扩展的处理器核心是一种可以通过附加一个扩展单元来增强性能的处理器。扩展单元的实现可以采用逻辑电路,例如,适用于一种应用、在处理器核心外部的可重新配置的计算电路(例如,M.Borgatti等人发表的“具有动态扩展嵌入式微处理器、FPGA(现场可编程门阵列和用户I/O性能的可重新配置系统”,IEEE 2002 Custom Integrated Circuits Conference,2-3-1,P.13-16)。
另外,还有一种常规的用户处理器,它可以通过连接一个扩展电路来增强处理器的性能,该电路设置在处理器核心的外部,可以由用户来设计或者可以由销售商来提供。外部电路可以是一个适用于单一周期的计算单元,一个适用于多个周期的复杂计算单元,或者一个协同处理器(例如,F.Lertora发表的“适用于人脸识别的专用处理器”,Embedded Processor Forum,2002年5月1日,www.MDRonline.com)。
通过在一个大规模集成(LSI)电路上执行多个应用,和/或通过使用诸如可重新配置现场可编程门阵列的适用于扩展单元的应用来改变扩展单元的功能,此扩展处理器核心可以配置成一个高性能的计算单元。然而,可重新配置逻辑电路的工作速度比普通专用集成电路(ASIC)低。也就是说,扩展单元比采用ASIC单元的处理器核心低。因此,就需要在处理器核心和扩展电路之间的同步。
此外,上述处理器仍存在着问题,即使通过设计适用于应用的扩展单元和将该扩展单元与处理器核心相连接、仍需要设计适用于各种应用的扩展单元,这就增加了开发的时间和成本。
发明概述本发明的一个方面是一种可扩展处理器,它包括具有一个通用寄存器处理器核心、一个指令译码器,以及一个第二执行单元;扩展单元包括一个与处理器核心相连接的第一执行单元;以及一个连接着处理器核心和扩展单元的直接存储器访问控制器。
本发明的另一方面是一种包括一个半导体芯片的半导体LSI电路,一个集成在半导体芯片上并包括一个通用寄存器的处理器核心,一个指令译码器,和一个第二执行单元;一个扩展单元,它集成在半导体芯片上并包括一个与处理器核心相连接的第一执行单元;和一个直接存储器访问控制器,它集成在半导体芯片上并与处理器核心和扩展单元相连接。
附图简要描述

图1显示根据本发明作为比较实例的扩展处理器的示意方框图;图2显示根据本发明第一实施例的扩展处理器的基本结构;图3显示根据本发明第一实施例的扩展处理器的示意方框图;图4显示时钟禁止信号发生电路的示意结构实例,该电路可以用于根据本发明第一实施例的扩展处理器;图5根据本发明第一实施例的可扩展处理器,显示适用于处理器核心以及与时钟CLK相关的扩展单元的指令结构的实例,在这种情况下,适用于扩展单元的指令也可以采用处理器核心所使用的相同时钟计数器来执行;图6根据本发明第一实施例的可扩展处理器,显示适用于处理器核心和扩展单元的指令结构的实例,在这种情况下,可暂停适用于处理器核心的时钟CLKC;图7显示根据本发明第二实施例的扩展处理器的示意方框图;图8根据本发明第二实施例的可扩展处理器,显示适用于处理器核心和扩展单元的指令结构的实例,在这种情况下,可暂停适用于处理器核心的流水线;图9显示包括一个暂停周期计数器(SCYN)字段的指令代码配置;
图10显示根据本发明第三实施例的扩展处理器的示意方框图;和,图11显示根据本发明第四实施例的扩展处理器的示意方框图。
实施例的详细描述本发明的各个实施例将参考附图进行讨论。应该注意的是,相同的或类似的参考数字应用于在整个附图中相同的或类似的部分和元件,并且将省略或简化相同的或类似的部分和元件的讨论。
总的来说,作为一种常规电路模块的表示法,应该意识到,各个附图的尺寸并不限制于从一幅图到另一幅图,也不限制于任何一幅给定的附图,尤其是电路图可以是任意地画出,只要便于附图的阅读即可。
在以下的描述中,将进一步阐述许多具体的细节,例如,特定的信号值,等等,以提供对本发明整体的了解。然而,很显然,对本领域的熟练技术人士来说,本发明可不采用这类细节来实现。在其它实例中,已经以模块的方式来显示了众所周知的电路,以便于不会因不需要的细节而淡化本发明。
以下参考附图来讨论本发明的实施例。在以下附图中,相同的或类似的数字将表示相同的或类似的部件。以下所显示的实施例只是用于解释实现根据本发明技术想法的装置和方法,并不是将根据本发明的技术想法限制于以下所显示的装置和方法。这些根据本发明的技术想法可以接收在权利要求内的各种改进。
(比较实例)如图1所示,一种可扩展处理器,作为一个根据本发明的比较实例,是由一个处理器核心10和一个扩展单元32构成的。处理器核心10和扩展单元32都采用相同的时钟速度,因为处理器核心10和扩展单元32都具有相同的时钟CLK。此外,一个用于传输源数据1的源数据线SD1L;一个用于传输源数据2的源数据线SD2L;一个传输指令代码ICOD的指令代码传输线;以及一个传输在处理器核心10和扩展单元32之间所提供的计算结果ALR的计算结果传输线。配置接口线CON I/F连接着扩展单元32。
处理器10包括一个指令高速缓存器12,一个指令RAM 14,一个通用寄存器16,一个指令译码器18,一个第二执行单元20,一个数据高速缓存器26,以及一个数据RAM 28。扩展单元32包括一个第一执行单元36。一个指令高速缓存器12和一个指令RAM 14连接着通用寄存器16和指令译码器18。指令译码器18还连接着第二执行单元20和第一执行单元36。通用寄存器(GPR)16向第二执行单元20传输源数据1和源数据2,并且通过允许源数据1传输的源数据线SD1L和允许源数据2传输的源数据线SD2L连接着第一执行单元36。第二执行单元20包括一个算术逻辑单元(ALU)22和一个移位寄存器24;从第二执行单元20延伸至数据高速缓存器26和数据RAM 28的总线。此外,传输来自第一执行单元输出的计算结果的输出线与第二执行单元20的各个输出线、数据高速缓存器26和数据RAM 28的输出线相连接。此外,采用上述方式相互连接的输出线馈送至通用寄存器16。
以上所讨论的处理器核心10是一个可扩展的处理器核心。诸如一个作为适于应用的计算电路的扩展单元32可附加于外部,也就是说,在处理器核心的外边,从而可获得高的性能。使用例如由现场可编程门阵列(FPGA)组成的用于扩展单元32的可重新配置的逻辑电路,允许采用一个单一的LSI来处理多个应用;并且可以通过改变在一个应用中的扩展单元32的功能来提供一个高效的计算单元。
根据本发明一个实施例的“可扩展处理器”是一个在处理器核心的外边具有一个扩展单元的处理器。举例来说,在扩展单元具有诸如“可重新配置”逻辑电路的计算单元结构的情况下,在根据本发明实施例的“可扩展处理器”中也可以包括一个具有一个可重新配置计算单元的处理器。解释根据本发明第一实施例以及一种可扩展处理器的基本结构,该结构具有一种允许暂停处理器核心用的时钟的操作模式。解释根据本发明第二实施例的可扩展处理器,该处理器包括一种允许暂停处理器核心用的流水线的操作模式。解释根据本发明第三和第四实施例的可扩展处理器,该可扩展处理器在一个扩展单元中包括一个可重新配置的逻辑电路。
(第一实施例)首先解释根据本发明实施例的一个可扩展处理器的基本结构,随后解释此
(基本结构)根据本发明第一实施例的可扩展处理器的基本结构包括一个处理器核心10,一个直接存储器访问控制器(DMAC)30,一个扩展单元32,一个总线桥54,一个全局总线GB,以及一个控制总线CB,正如图2所示。在处理器核心10和扩展单元32之间提供了一个扩展计算接口线EAL I/F。该EAL I/F包括一个用于传输原数据1的源数据线SD1L;一个用于传输源数据2的源数据线SD2L;一个用于传输扩展指令代码EIC的线;一个用于传输连接着处理器核心10和扩展单元32之间的计算结果ALR的线。控制总线CB连接着处理器核心10和扩展单元32。逻辑数据总线LDB连接着DMAC 30和扩展单元32。同样,逻辑数据总线LDB连接着DMAC 30和数据RAM 28。处理总线接口线PB I/F连接着处理器核心10和总线桥54。此外,全局总线GB也连接着总线桥54。
处理器核心10包括一个指令高速缓存器12,一个指令RAM 14,一个通用寄存器16,一个指令译码器18,一个第二执行单元20,一个数据高速缓存器26,以及一个数据RAM 28。执行单元32包括一个指令译码器34,一个第一执行单元36,一个控制寄存器38,以及一个本机存储器40。指令高速缓存器12和指令RAM 14连接着指令译码器18。指令译码器18还连接着第二执行单元20和指令译码器34。通用寄存器16向第二执行单元20传输源数据1和源数据2,并且通过源数据线SD1L和源数据线SD2L连接着第一执行单元36。第二执行单元20包括一个ALU 22和一个一位寄存器24;从第二执行单元20延伸至数据高速缓存器26和数据RAM 28的总线。此外,传输计算结果的输出线一起连接着第二执行单元20的输出线,以及数据缓存器26和数据RAM 28的输出线。此外,连接在一起的输出线馈送至通用寄存器16。此外,一个数据RAM接口线DR I/F连接着第一执行单元36和数据RAM 28。本机数据总线LDB联系着DMAC 30和数据RAM 28。
在扩展单元32中,将来自指令译码器34的信号传输至第一执行单元36。该第一执行单元36,控制寄存器38和本机存储器40通过传输信号进行相互之间的通讯。控制寄存器38通过控制总线CB与处理器核心10相耦合。
图2所示方框图的整体构成了一个嵌入式系统(SOC)半导体LSI电路,并且同时以一个单独的功能模块构成了一个称之为“专用处理器”。全局总线GB可称之为单片总线,并且与SOC中的各个模块相耦合。以下描述各个单元的功能。
第一执行单元36接收来自处理器核心10的数据,执行计算并随后将所计算的结果返回至处理器核心10。扩展单元32包括一个控制寄存器38。处理器核心10可以通过控制总线CB来读取存储于控制寄存器38中的数据,或者以同样的方式所写入的数据。执行单元32包括本机存储器40。第一执行单元36可以使用存储于本机存储器40中的数据,执行计算,或者将它的执行结果写入到本机存储器40。第一执行单元36可以访问数据RAM 28,数据RAM 28构成了嵌入在处理器核心中的存储器。
DMAC 30执行在专用处理器的内部存储器(即,在处理器核心10中的数据RAM 28)之间的数据传输以及在专用处理器的内部单元之间的数据传输。由于扩展单元32实际上是嵌入式本机存储器40中的,因此本机存储器40也可以是一个DMAC 40的数据传输目标。
扩展单元32的第一执行单元36可以使用处理器核心10的内部数据RAM 28来提供一个高性能。因为扩展单元32的本机存储器40的使用本身就允许一个最优化的存储器结构,所以能够获得更高的性能。
应该注意的是,正如在图2所示实例中所显示的那样,扩展单元32的内部控制寄存器38,扩展单元32的内部本机存储器40以及处理器核心10的内部数据RAM 28并不是始终都是必需的。
处理器核心10是一个上述讨论功能模块中的中央处理器,并且包括一个适用于扩展单元2的扩展计算接口线EAL I/F。
扩展单元32执行与处理器核心10的方向或指令相符合的操作。扩展指令代码EIC是由处理器核心10发出,并且经指令译码器34解释。第一执行单元36执行一项操作。本机存储器40输入来自第一执行单元36的结果或向第一执行单元36输出结果,作为它的操作。控制寄存器38具有一个寄存器的功能,从而可以通过控制总线CB来控制扩展单元32的操作。
DMAC 30执行在上述功能模块中的数据传输,以及在功能模块内部和功能模块外部之间的数据传输。通过来自处理器核心10的控制总线CB来进行设置传输的信息,等等。
总线桥54将上述功能模块的内部与其外部相连接(全局总线GB)。
控制总线CB包含着用于写入在DMAC 30或者扩展单元32中的控制寄存器38,或者从控制寄存器38中读取的总线。
扩展计算接口线EAL I/F构成了一个用于处理器核心10的接口以与扩展单元32协同工作。扩展计算接口线EAL I/F包括一个扩展指令代码EIC,它适用于将来自处理器核心10的指令代码发送至扩展单元32;源数据1和源数据2,适用于发送存储于处理器核心10的通用寄存器16的数值;一个计算结果ALR,它是由扩展单元32发送至处理器核心10的计算结果;以及一个控制信号CB,正如以上所描述的。
控制信号CB包括诸如“有效信号”或“无效信号”的信号,其中,有效信号表示发送给扩展单元32的指令是有效的,而无效信号则允许执行是无效的。
本机数据总线LDB设置在DMAC 30和本机存储器40之间和在DMAC 30和数据RAM 28之间,并且其功能如同上述功能模块中的内部数据总线,正如以上所讨论的。
数据RAM接口线DR I/F构成了一个适用于在扩展单元32中的第一执行单元36访问处理器核心10的内部数据RAM 28的接口,并且特别提供了数据的读取/写入功能。
处理器总线接口线PB I/F具有一个适用于处理器核心访问全局总线GB的接口的功能。
正如图3所示,根据本发明第一实施例的可扩展处理器包括图2所示的基本结构,在该结构中,在处理器核心10和扩展单元32之间设置了一个时钟禁止信号发生电路42和一个时钟门控电路44,从而可以暂停处理器核心10的时钟CLK。指令译码器18所分出的扩展指令代码EIC可以提供给时钟禁止信号发生电路42。时钟门控电路44是由一个与门48和一个锁存器46所组成。时钟CLK分别提供给时钟禁止信号发生电路42和时钟门控电路44。来自时钟禁止信号发生电路42的输出传输至在时钟门控电路44中的锁存器46;并且将与门48的输出提供给处理器核心10。
参考图3,用于扩展单元32的扩展指令代码EIC是由指令译码器18发送的。另外,在指令译码器18之前来分出扩展指令代码EIC的结构也是有可能的。在这种情况下,由指令译码器18将一个扩展指令有效信号EIVS提供给扩展单元32,正如图3所示。应该注意的是,在这种情况下,可以使用从指令译码器18接收到的扩展指令代码EIC,向扩展单元32提供扩展指令有效信号EIVS的结构是普通的。
适用于扩展单元32的时钟CLKE可以作为与门57的输出信号来产生,与门的输入时钟CLK和扩展指令有效信号EIVS,正如图3所示。应该注意的是,由于图3所显示的处理器核心的内部结构和扩展单元32的内部结构都是相同于如同图2所示的基本结构,因此省略了对该结构的详细解释。有关图3所示的扩展单元32的内部结构,图示说明了第一执行单元36,但是省略了在扩展单元32中所包括的控制寄存器38和本机存储器40的图示说明。控制寄存器38和本机存储器40可以设置在扩展单元32的外部。
应该注意的是,由于适用于在处理器核心10和扩展单元32之间连接的总线或者类似于总线,都可以与图2所示的基本结构相同,因此就可以省略该详细解释。
根据本发明第一实施例的可扩展处理器包括处理器核心10和扩展单元32,它们可以通过暂停或者暂时停止处理器核心的方法来实现与扩展单元32的扩展指令代码EIC相一致的同步。在扩展单元32的结构包括例如,一个可重新配置的逻辑电路的情况下,由于可重新配置逻辑电路是以低速工作的,所以扩展单元32只能采用多个时钟周期来执行一项操作。这时,就需要暂停(或者临时停止)处理器核心10的流水线,直至完成扩展单元32的操作。
采用根据本发明第一实施例的扩展处理器,可以在适用于扩展单元32的扩展指令代码EIC中准备表示暂停周期计数的字段,并且可以根据表示暂停周期计数的字段数值来暂停处理器核心10。为了能够暂停处理器核心10,可以暂停提供给处理器核心10的时钟CLKC。
时钟禁止信号发生电路42,它产生一个引起处理器核心10的时钟CLKC停止的时钟禁止信号CDS,该电路包括一个或门50,它适用于输入一个暂停的周期计数SCYN;或门501和502,以两级的方式来构成,或门50的输出是其中一个的输入;触发电路521和522,相互级连使得或门50的输出连接至第一级;多路选择器(MUX)53,它输入或门50的输出以及或门501和502的输出,并且以两级的方式构成;以及一个与门55,它具有多路选择器53的输出以及作为输入信号的扩展指令有效信号EIVS,并且输出一个时钟禁止信号CDS,正如图4所示。从图3中可以显而易见,时钟CLK是两级级连的触发器电路521和522的一个输入信号。两级级连的触发器521和522的输出分别与或门501和502的另一输入端相耦合。暂停周期计数SCYN以一个门控信号的方式提供给MUX 53。
如果表示暂停周期计数SCYN的字段是由两位构成的,并且这些位的数值表示着暂停周期计数SCYN,例如,“00”表示“不暂停”,“01”表示“一个周期暂停”,“10”表示“两个周期暂停”,以及“11”表示“三个周期暂停”。通过将该电路所产生的信号(即,时钟禁止信号)提供给时钟门控电路,就有可能将时钟暂停在一个所需要的时间周期中。这是一项优点,因为暂停时钟允许功率消耗的减少。
根据本发明第一实施例的可扩展处理器提供了只来自扩展指令代码EIC的暂停周期SCYN;另外,它也可以使用另一个输入信号。这是一个确定暂停周期计数SCYN的实例方法,该方法通过在扩展单元32重新配置时定义一个基本的暂停周期计数并随后将扩展单元32的数值提供给时钟禁止信号发生电路42的方法来确定暂停周期计数SCYN。如果基本暂停周期计数是2,当在一个扩展指令代码EIC中的暂停周期计数SCYN字段是“00”时,则将产生一个适用于两个周期的暂停。
根据本发明第一实施例的可扩展处理器具有时钟禁止信号发生电路42,它可以设置在处理器核心10的外部,也可以设置在扩展单元32的外部;另外,时钟禁止信号发生电路42也可以设置在处理器核心10的内部,或者在扩展单元32的内部。
假定时钟禁止信号发生电路42是在根据本发明第一实施例的可扩展处理器的内部,且该电路是一个适用于当时钟CLKC和时钟CLKE具有相同相位和相同频率时的电路。另外,即使在适用于扩展单元32的时钟CLKE是由于处理器核心10的时钟CLKC分频而引起时,依然可以考虑时钟CLK相位的电路方式来构成时钟禁止信号发生电路42。
(操作模式)采用根据本发明第一实施例的可扩展处理器,当适用于扩展单元32的指令也可以采用与适用于处理器核心10相同的时钟计数来执行时,所构成的适用于处理器核心10和扩展单元32的指令如图5所示。适用于处理器核心10的流水线的初始结构是,例如,可以有诸如取指令(F),指令译码(D),执行(E),存储器访问(M),以及写回(W)等5级,其中,各级都需占用一个时钟周期并且各级都是以一个重叠的方式进行操作。在适用于扩展单元32的指令是采用与处理器核心10相同的时钟计数来执行的情况下,适用于处理器核心的指令1,2和3可以分别采用INS1C,INS2C和INS3C来表示,它们都与时钟CLK有关,正如图5所示。
采用根据本发明第一实施例的可扩展处理器,适用于处理器核心10和扩展单元32的指令在暂停了处理器核心10的时钟CLKC时的结构如图6所示。如果扩展单元32的操作需要占用4个时钟周期,则处理器核心10可以暂停3个时钟周期。因此,适用于处理器核心10的一个指令1,适用于扩展单元32的一个指令2以及适用于处理器核心10的一个指令3可以分别以INS1C,INS2C和INS3C来表示,它们都与适用于处理器核心10的时钟CLKC有关,也与适用于扩展单元32的时钟CLKE有关,正如图6所示。也就是说,暂停适用于M级指令1(INS1C)的流程操作,直至完成适用于扩展单元32的E级后续指令。采用同样的方式,暂停适用于D级指令3(INS3C)的后续操作,直至完成适用于扩展单元32的E级流程指令2(INS2E)。
采用根据本发明第一实施例的可扩展处理器,处理器核心10和扩展单元32能够同步,从而便于使用较低速度的逻辑电路。
(第二实施例)根据本发明第二实施例的可扩展处理器,如图7所示,它包括一个附加在图2所示基本结构中的处理器核心10和扩展单元32之间的暂停请求信号发生电路56。有指令译码器18所分出的扩展指令代码EIC提供给该暂停请求信号发生电路56。暂停请求信号发生电路56的输出提供给处理器核心10。应该注意的是,实际上,由于处理器核心10的内部结构和扩展单元32的内部结构都相同于图2所示的基本结构,因此就省略了对其的详细解释。有关图7所示的扩展单元32的内部结构,图示说明的第一执行单元36,但是,在图2所示的扩展单元32中所包括的控制寄存器38和本机存储器40并没有图示说明。也就是说,省略了对其的图示说明。控制寄存器38和本机存储器40可以设置在扩展单元32的外部。
应该注意的是,由于常常用于处理器核心10和扩展单元32相互连接的总线或者类似于总线都相同于图2所示的基本结构,因此也省略对其的详细解释。
根据本发明第二实施例的可扩展处理器,如图7所示,它包括一个附加设置在图2所示基本结构的处理器核心10和扩展单元32之间,从而可以暂停适用于处理器核心10的流水线,而不是适用于处理器核心10的时钟。
参考图7,一个适用于扩展单元32的指令代码EIC可以由指令译码器18输出。另外,在指令译码器18之前分出扩展指令代码的结构是有可能的,正如图3所示的第一实施例的情况。在这种情况下,扩展指令有效信号EIVS从指令译码器18输出到扩展单元32,正如图7所示。应该注意的是,当扩展指令代码EIC从指令译码器18输出时,将扩展指令有效信号EIVS输入至扩展单元32的结构是常规的。
适用于扩展单元32的时钟CLKE是由与门57以输出信号方式提供的,与门输入了时钟CLK和扩展指令有效信号EIVS,正如图7所示,这也是相同于图3所示的第一实施例。
(操作模式)处理器核心10的流水线初始结构为例如,可以有诸如取指令(F),指令译码(D),执行(E),存储器访问(M),以及写回(W)等5级,其中,各级都需占用一个时钟周期并且各级都是以一个重叠的方式进行操作。在适用于扩展单元32的指令是采用相同于处理器核心10的时钟计数来执行的情况下,适用于处理器核心的指令1(INS1C),适用于扩展单元32的指令2(INS2E),以及适用于处理器核心10的指令3(INS3C)可以分别采用INS1C,INS2C和INS3C来表示,它们都与时钟CLK有关,正如图5所示。
采用根据本发明第二实施例的可扩展处理器,适用于处理器核心10和扩展单元32的指令在暂停了处理器核心10的流水线时的结构如图8所示。因此,一旦暂停请求信号发生电路56接收到时钟CLK并发出的暂停请求信号SRS已经到达处理器核心10之后,适用于处理器核心的指令1,适用于扩展单元32的指令2,以及适用于处理器核心10的指令3可以分别采用INS1C,INS2C和INS3C来表示。当存在着与时钟CLK有关的暂停请求信号SRS时,正如图8所示,由于它容易只暂停一个目标级,而不是时钟CLK,因此暂停适用于处理器核心10的流程指令1(INS1C)是没有必要的。于是,就有可能完成直至适用于处理器核心10的W级流程指令1(INS1C)。相比之下,可采用同样的方式,可以在D级暂停适用于处理器核心10的后续指令3(INS3C),如同暂停图6所示的处理器核心时钟CLKC的操作模式,并且在完成适用于扩展单元32的E级流程指令2(INS2E),再执行E级的后续指令3(INS3C)。
(暂停请求发生电路)在根据本发明第二实施例的可扩展处理器中的暂停请求信号发生电路56的结构可以与图4所示的时钟禁止信号发生电路42基本相同。在假定根据本发明第二实施例的可扩展处理器中的暂停请求信号发生电路56是适用于时钟CLKC和时钟CLKE具有相同相位和相同频率情况的电路,即使在适用于扩展单元32的时钟CLKE引起是由于处理器核心10的时钟CLKC分频情况下引起的,仍有可能基于时钟CLK相位来构成其它电路。
(第二实施例的改进实例)根据本发明第二实施例的可扩展处理器包括可重新配置的逻辑电路,它可以构成如图7所示的暂停请求信号发生电路56。采用以可重新配置逻辑电路来构成暂停请求信号发生电路56,对一个指令代码的0P代码字段的译码容易允许包含一个暂停周期计数SCYN。特别是,对于包括一个特殊暂停周期计数字段的指令代码来说,并不一定是必需的。于是,有可能高效利用比特图形。
应该注意的是,具有暂停周期计数(SCYN)字段的指令代码的结构如图9所示。当适用于扩展单元32的指令长度是16位,并且其中4位(适用于16位寄存器)乘以2,和2位分别是用于通用寄存器数值GPRN和暂停周期计数SCYN时,只有6位可以用于OP代码。于是,不同指令的最大数为64。在图9中,GPRN S1和GPRN S2分别表示作为源1的通用寄存器数值和作为源2的通用寄存器数值。实际上,由于存在着使用立即值的指令或者类似指令,因此就进一步减小了不同指令的数。这时,如果适用于暂停周期计数SCYN的两位是不需要,对OP代码来说,8位将成为有效的,它允许将最大数定义为256条指令。
此外,在采用根据本发明第一实施例的可扩展处理器的同时,讨论通过暂停适用于处理器核心10的时钟CLKC来暂停处理器核心10的方法。也有可能采用根据本发明第二实施例的可扩展处理器来暂停处理器核心10的流水线,它采用相同于时钟禁止信号CDS作为请求流水线停止的信号。
(第三实施例)根据本发明第三实施例的可扩展处理器的基本结构包括一个处理器核心10,一个DMAC 30,以及一个扩展单元32,正如图10所示。一个扩展的计算接口线EAL I/F设置在处理器核心10和扩展单元32之间。此外,一个用于传输原数据1的源数据线SD1L;一个用于传输源数据2的源数据线SD2L;一个用于传输扩展指令代码EIC的线;一个用传输控制信号CS线;一个用于传输连接着处理器核心10和扩展单元32之间的计算结果ALR的线。此外,控制总线CB连接在处理器核心10和扩展单元32之间。本机数据总线LDB连接在DMAC30和扩展单元32之间。处理总线接口线PB I/F连接处理器核心10。
处理器10的结构包括一个指令高速缓存器12,一个指令RAM 14,一个通用寄存器16,一个指令译码器18,一个第二执行单元20,一个数据高速缓存器26,以及一个数据RAM 28。扩展单元32包括一个指令译码器34,一个可重新配置的第一执行单元37,一个控制寄存器38,以及本机存储器40。指令高速缓存器12和指令RAM 14连接至通用寄存器16和指令译码器18。指令译码器18还连接着第二执行单元20和指令译码器34。通用寄存器16将源数据1和源数据2传输到第二执行单元20,并且通过允许传输源数据1的源数据线SD1L和传输源数据2的源数据线SD2L连接着可重新配置的第一执行单元37。第二执行单元20包括一个ALU 22和一个移位寄存器24;从第二执行单元20延伸至数据高速缓存器26和数据RAM 28总线。此外,传输来自重新配置第一执行单元37的计算结果的总线一起连接着第二执行单元20的输出线,以及数据高速缓存器26和数据RAM 28的输出线。一起连接着的输出线反馈至通用寄存器16。数据RAM接口线DR I/F连接着重新配置第一执行单元37和数据RAM28。本机数据总线LDB连接在DMAC 30和数据RAM 28之间。重新配置接口线CON I/F连接着重新配置第一执行单元37和DMAC 30。在扩展单元32,来自指令译码器34的信号传输至重新配置的第一执行单元37,并且信号在第一执行单元37、控制寄存器38和本机存储器40之间传输。控制寄存器38通过控制总线CB与处理器核心10相耦合。上述的扩展计算接口线EAL I/F包括一个扩展指令代码EIC,一个源数据1线SD1L,一个源数据2线SD2L,一个控制信号CB,以及一个计算结果ALR。
图10所示方框图的整体构成了一个嵌入式(SOC)半导体LSI电路,并且同时以一个单独的功能模块构成了一个称之为“专用处理器”。全局总线GB(图10中省略了)可称之为片内总线,并且与SOC中的各个模块相耦合。以下描述各个单元的功能。
处理器核心10是一个上述功能模块中的中央处理器,并且包括一个适用于扩展单元2的扩展计算接口线EAL I/F。
扩展单元32执行与处理器核心10的方向或指令相一致的操作。扩展指令代码EIC是由处理器核心10发出,并且经指令译码器34解释。可重新配置的第一执行单元37执行一项算术操作。本机存储器40输入来自可重新配置的第一执行单元37的结果或向该第一执行单元37输出结果,作为它的算术操作。控制寄存器38具有一个寄存器的功能,从而可以通过控制总线CB来控制扩展单元32的操作。
扩展计算接口线EAL I/F构成了一个用于处理器核心10与扩展单元32协同工作的接口。扩展计算接口线EAL I/F包括一个扩展指令代码EIC,它适用于将来自处理器核心10的指令代码发送至扩展单元32;源数据1和源数据2,适用于发送存储于处理器核心10的通用寄存器16的数值;一个计算结果ALR,它是由扩展单元32发送至处理器核心10的计算结果;以及一个控制信号CB,正如以上所描述的。控制信号CB包括诸如“有效信号”或“无效信号”的信号,其中,有效信号表示发送给扩展单元32的指令是有效的,而无效信号则表示该指令是无效的且不允许执行。
本机数据总线LDB设置在DMAC 30和本机存储器40之间和在DMAC 30和数据RAM 28之间,并且其功能如同上述功能模块中的内部数据总线,正如以上所讨论的。
数据RAM接口线DR I/F构成了一个适用于在扩展单元32中的可重新配置第一执行单元37访问处理器核心10的内部数据RAM 28的接口,并且特别提供了数据的读取/写入功能。
处理器总线接口线PB I/F具有一个适用于处理器核心10访问全局总线GB(附图中未显示)接口的功能。
可重新配置第一执行单元37是由一个可重新配置逻辑电路所构成的。该可重新配置逻辑电路可认为是一种诸如现场可编程门阵列(FPGA)的电路。
DMAC 30适用于数据传输,这是在上述功能模块中处理数据所需要的,数据在功能模块的内部和功能模块的外部之间的传输,并且该传输常适用于可重新配置的第一执行单元37的结构。可以通过来自处理器核心10的控制总线CB来执行设置传输信息等等。
控制总线CB包含着用于向DMAC 20的内部控制寄存器38或者控制单元32写入,和从控制寄存器38读取的总线。在适用于可重新配置第一执行单元37的数据处理模式和配置模式之间控制转接的信号是通过控制总线CB来传输的。
根据本发明第三实施例的可扩展处理器相对应于例如,使用诸如FPGA的可重新配置的逻辑电路的专用处理器,如同第一执行单元37。可重新配置第一执行单元37特别构成了一个可重新配置的计算单元。可重新配置逻辑电路作为扩展单元32中计算单元的使用允许根据应用改变扩展单元32中的功能。这类结构允许相同的专用处理器来处理不同的应用/功能。一般来说,有可能将初始的功能改变为不同的功能。此外,可重新配置第一执行单元37的动态重新配置可以应用于不同的操作功能,它可以在一个应用的各个不同时段中切换,并随后以各个不同时段来执行。在这种情况下,当按惯例需要多个计算单元时,由于相同的扩展单元32执行着不同的功能,所以只能由一个计算单元来处理所有的不同功能。
一般来说,由于可重新配置逻辑电路具有一个适用于改变配置的配置接口线CON I/F,所以可以通过从CON I/F线提供配置信息就可以改变逻辑状态。配置信息可以在DMAC 30的控制下通过数据传输来提供。通过从诸如设置在专用处理器的外部的存储器向控制单元32传输配置信息,可以执行重新配置。
在扩展单元32包括诸如数据RAM 28的情况下,DMAC 30也可以执行向数据RAM 28的数据传输。这时,在DMAC 30和扩展单元32之间的接口可以采用两个子接口来构成一个接口适用于正常的数据传输,而另一个接口适用于重新配置。另外,该接口也可以采用在扩展单元32中所存在分路的单独接口来构成。
由于重新配置的逻辑电路的工作速度一般都十分慢,所以可以采用并行工作方式来提供高的性能。在这种情况下,会发生数据供给能力的问题。然而,由于采用根据本发明第三实施例的扩展处理器的结构,所以相邻的本机存储器40都是有效的并且也能够有效地提供数据。因为扩展单元32内部存储器的使用可产生一个最优化的配置,所以可以获得较高的性能。
(第三实施例的改进实例1)在根据本发明第三实施例的扩展处理器中,图10显示了一个结构实例,在该实例中,在扩展单元32中的指令译码器34可以设置在可重新配置的第一执行单元37的外部。然而,本发明并不限制于这种结构。另外,指令译码器34自身也可以采用诸如可重新配置的第一执行单元37的相同逻辑电路来构成。在这种情况下,指令译码器34可以构成在可重新配置的第一执行单元37内。
(第三实施例的改进实例2)在根据本发明第三实施例的扩展处理器中,直接引导在适用于重新配置第一执行单元37的数据处理模式和配置模式之间完成转接的信号是通过控制总线CB来传输的。然而,并不一定需要通过控制总线CB来执行模式的转接。另外,也可以使用适用于配置数据传输的CON I/F,正如图10所示。
(第四实施例)重新配置逻辑电路需要接收配置数据。根据本发明第四实施例的扩展处理器包括本机存储器40,它设置在扩展单元32中,用于存储配置数据。提供给本机存储器40的数据是由DMAC 30通过本机数据总线LDB来传输的。DMAC 30将存储于外部存储器中的数据传输到本机存储器40。来自外部存储器的数据可以通过总线桥(附图中省略)和一个全局总线GB(附图中省略)传输到DMAC 30。另外,处理器核心10的内部数据RAM 28可以作为外部存储器使用。在这种情况下,数据可以通过连接着数据RAM 28的本机数据总线LDB传输到DMAC 30,并且随后数据可以通过DMAC 30写入到本机存储器40。
根据本发明第四实施例的扩展处理器的基本结构包括一个处理器核心10,一个DMAC 30和一个扩展单元32,正如图11所示。由于处理器核心10和扩展单元32的内部结构是基本相同于图10所示的结构,所以就省略了对其的解释。然而,由于在处理器核心10和扩展单元32之间的总线或类似的都基本相同于图10所示的结构,因此就省略了对其的解释。
重新配置第一执行单元37执行一个算术操作。本机存储器40作为重新配置第一执行单元37的输入和/或输出单元来执行它的算术操作。根据本发明第四实施例的扩展处理器为扩展单元32中本机存储器40提供了用于存储的配置数据,正如以上所讨论的。
本机数据总线LDB设置在DMAC 30和本机存储器40之间以及在DMAC 30和数据RAM 28之间,并且具有上述功能模块中的内部数据总线的功能。
数据RAM接口线DR I/F是一个适用于在扩展单元32中的可重新配置第一执行单元37访问处理器核心10的内部数据RAM 28的接口,并且特别提供了数据的读取/写入功能。
处理器总线接口线PB I/F具有一个适用于处理器核心10访问全局总线GB(附图中未显示)的接口的功能。可重新配置第一执行单元37是由一个可重新配置的逻辑电路所特别构成的。该可重新配置逻辑电路可认为是诸如一个现场可编程门阵列(FPGA)的电路。
DMAC 30适用于数据传输,处理上述功能模块中的数据就需要进行数据传输,在内部功能模块和功能模块外部之间的数据传输,以及用于可重新配置第一执行单元37的配置的数据传输,设置传输信息等等,都可以由处理器核心10提供控制总线CB来执行。
控制总线CB包含用于向DMAC 20中的控制寄存器38或控制单元32写入数据,以及从状态寄存器读取数据的总线。直接引导在适用于重新配置第一执行单元37的数据处理模式和配置模式之间转接的信号是通过控制总线CB来传输的。
根据本发明第四实施例的扩展处理器相对应于例如,一个专用处理器,它使用诸如FPGA所构成的可重新配置逻辑电路来作为在扩展单元32中的可重新配置第一执行单元37。可重新配置第一执行单元37特别构成了一个可重新配置计算单元。可重新配置逻辑电路作为扩展单元32的一个计算单元来使用,就允许根据应用来改变扩展单元32的功能。这就允许相同的专用处理器可以处理不同的应用/功能。特别是,这就有可能从初始的功能转变成不同的功能。此外,可重新配置第一执行单元37的动态重新配置可以应用于不同的操作功能,它可以在一个应用的各个不同时段中切换,并随后以各个不同时段来执行。在这种情况下,当按惯例需要多个计算单元时,由于相同的扩展单元32执行着不同的功能,所以只要一个计算单元就能处理所有的不同功能。
在扩展单元32包括诸如数据RAM的存储器的情况下,DMAC30也可以执行向存储器的数据传输。在DMAC30和扩展单元32之间的接口可以采用在扩展单元中所存在分路的一个单独接口来构成。另外,它可以采用两个子接口来构成一个接口适用于正常的数据传输,而另一个接口适用于重新配置。
由于重新配置的逻辑电路的工作速度一般都十分慢,所以可以采用并行工作的方式,来提供高的性能。在这种情况下,会发生数据供给能力的问题。然而,由于采用根据本发明第四实施例的扩展处理器的结构,所以相邻的本机存储器40都是有效的并且也能够有效地提供数据。因为扩展单元32内部存储器的使用可产生一个最优化的配置,所以可以获得较高的性能。
(第四实施例的改进实例1)在根据本发明第四实施例的扩展处理器中,图11显示了一个结构实例,在该实例中,在扩展单元32中的指令译码器34可以设置在可重新配置的第一执行单元37的外部。然而,本发明并不限制于这种结构。另外,指令译码器34自身也可以采用诸如可重新配置的第一执行单元37的相同逻辑电路来构成。在这种情况下,指令译码器34可以构成在可重新配置的第一执行单元37内。
(第四实施例的改进实例2)在根据本发明第四实施例的扩展处理器中,直接引导在适用于重新配置第一执行单元37的数据处理模式和配置模式之间转接的信号是通过控制总线CB来传输的。然而,并不一定需要通过控制总线CB来执行模式的完成变化。
参考图11,由于DMAC 30有可能实现诸如将配置数据传输到扩展单元32的本机存储器40,以及可重新配置的第一执行单元37可同时访问在处理器核心10中的数据RAM 28并进行数据处理,所以就可以忽略配置数据传输的开销。
根据本发明的可扩展处理器和半导体LSI电路,由于处理器核心和扩展单元可以通过暂停适用于处理器核心的时钟和/或流水线实现同步,使之与扩展单元的指令代码相一致,从而提供了高效的和高性能的可扩展处理器和嵌入式LSI电路。
很显然,本发明覆盖了本文所没有讨论的各种实施例。因此,从以上的解释中可以清楚的意识到,本发明的技术范围只能由后附的权利要求所定义。
(其它实施例)在根据上述实施例来讨论本发明的过程中,应该理解的是,构成本披露的描述和附图并不限制本发明。本披露使得本领域中的熟练技术人士对各种其它实施例、工作实例以及工作技术更加清晰。因此,从以上的解释中可以清楚的意识到,本发明的技术范围只能由后附的权利要求所定义。
本领域熟练技术人士,在接收了本披露的技术之后,有可能在不背离其技术范围的条件下作出各种不同改进。
权利要求
1.一种处理器,其特征在于,它包括处理器核心,它包括一通用寄存器、一指令译码器和一第二执行单元;扩展单元,它包括一连接至所述处理器核心的第一执行单元;和,直接存储器访问控制器,它连接至所述处理器核心和所述扩展单元。
2.如权利要求1所述的处理器,其特征在于,还包括一连接至着所述处理器核心和所述扩展单元的控制总线。
3.如权利要求2所述的处理器,其特征在于,还包括一个时钟禁止信号发生电路,该电路被组织成用于接收来自所述指令译码器的扩展指令代码,并且输出一个时钟禁止信号。
4.如权利要求3所述的处理器,其特征在于,还包括一个时钟门控电路,该电路被组织成用于接收时钟禁止信号,并且传输所述信号,以暂停用于所述处理器核心的时钟信号。
5.如权利要求4所述的处理器,其特征在于,所述时钟禁止信号暂停用于所述处理器核心的所述时钟信号。
6.如权利要求2所述的处理器,其特征在于,还包括一个暂停请求信号发生电路,该电路被组织用于接收来自所述指令译码器的扩展指令代码,并且向所述处理器核心传输一个暂停请求信号。
7.如权利要求2所述的处理器,其特征在于,所述第一执行单元是一个可重新配置的第一执行单元。
8.如权利要求7所述的处理器,其特征在于,所述扩展单元还包括指令译码器,控制寄存器和本机存储器。
9.如权利要求7所述的处理器,其特征在于,在所述扩展单元中的所述指令译码器还包括一个可重新配置的逻辑电路,该电路与可重新配置第一执行单元相同。
10.如权利要求7所述的处理器,其特征在于,提供给可重新配置逻辑电路的配置数据是通过一个将所述扩展单元中的可重新配置第一执行单元与直接存储器访问控制器相连接的配置接口传输来自直接访问存储器的数据来实现的。
11.如权利要求8所述的处理器,其特征在于,提供给可重新配置逻辑电路的配置数据存储于所述扩展单元的内部本机存储器。
12.一种半导体集成电路,其特征在于,它包括半导体芯片;处理器核心,它集成在所述半导体芯片上,包括一通用寄存器、一指令译码器和一第二执行单元;扩展单元,它集成在所述半导体芯片上,包括一连接于所述处理器核心的第一执行单元;和,直接存储器访问控制器,它集成在所述半导体芯片上,并连接至所述处理器核心和所述扩展单元。
13.如权利要求12所述的半导体集成电路,其特征在于,还包括一集成于所述半导体芯片上并连接至所述处理器核心和所述扩展单元的控制总线。
14.如权利要求13所述的半导体集成电路,其特征在于,还包括一集成于所述半导体芯片上的时钟禁止信号发生电路,该电路被组织成用于接收来自所述指令译码器的扩展指令代码,并输出一个时钟禁止信号。
15.如权利要求14所述的半导体集成电路,其特征在于,还包括一集成于所述半导体芯片上的时钟门控电路,该电路被组织成用于接收时钟禁止信号,并发送一信号以暂停用于所述处理器核心的时钟信号。
16.如权利要求13所述的半导体集成电路,其特征在于,还包括一集成于所述半导体芯片上的暂停请求信号发生电路,该电路被组织成用于接收来自所述指令译码器的扩展指令代码,并且向所述处理器核心传输一个暂停请求信号。
17.如权利要求13所述的半导体集成电路,其特征在于,所述第一执行单元是一个可重新配置的第一执行单元。
18.如权利要求17所述的半导体集成电路,在所述扩展单元中的所述指令译码器还包括一个可重新配置的逻辑电路,该电路与可重新配置第一执行单元相同。
19.如权利要求17所述的半导体集成电路,其特征在于,提供给可重新配置逻辑电路的配置数据是通过一个将所述扩展单元中的可重新配置第一执行单元和直接存储器访问控制器相连接的配置接口传输来自直接访问存储器的数据来实现的。
20.如权利要求17所述的半导体集成电路,其特征在于,提供给可重新配置逻辑电路的配置数据存储于所述扩展单元的内部本机存储器。
全文摘要
一种处理器包括一个处理器核心,该核心具有一个通用寄存器,一个指令译码器和一个扩展单元。扩展单元包括另一个连接着处理器核心的执行单元;以及,一个直接存储器访问控制器连接着处理器核心和扩展单元。
文档编号G06F15/78GK1573683SQ20041004886
公开日2005年2月2日 申请日期2004年6月4日 优先权日2003年6月4日
发明者井上智史 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1