支持可重组多核ip的通用处理器及其方法

文档序号:6579549阅读:174来源:国知局
专利名称:支持可重组多核ip的通用处理器及其方法
技术领域
本发明涉及处理器,具体来说,涉及一种用于支持可重组多核IP的通用处理器以及一种用于在通用处理器中支持可重组多核IP的方法。
背景技术
处理器是一台计算机中的重要部件,其性能往往决定计算机的性能。处理器的开 发与研究是人们所关心的重要问题。图2示出了现有技术的通用处理器的一般结构。如图2所示,通用处理器2000包括指令译码装置2010以及通用算术和逻辑单元 2020。指令译码装置2010接收指令,对指令执行指令译码操作,并产生指令译码结果。通用算术和逻辑单元2020根据指令译码结果对待处理的数据执行操作,以产生 输出结果。通用处理器2000还可以包括许多其它部件,例如,时钟单元2030、存储器2040、测 试单元2050等。图2例示了现有技术的通用处理器的实现方案。在现有技术的实现方案中,首先 建立了 一个通用的结构,即,通用算术和逻辑单元2020。该通用的结构根据提供给它的控制 信号(即,指令译码结果),对待处理的数据执行各种操作。由指令译码装置2010提供控制信号。对于这种通用的结构,系统接收数据和控制信号,并产生输出。这样,对于每一个 新的程序(应用),程序员只需要提供一组新的控制信号(指令),而不需要重新连接硬件。这种通用处理器的结构存在许多问题。它以牺牲性能为代价来换取通用性。例如,在现有技术的通用处理器结构中,所有的处理最终都需要通过通用算术和 逻辑单元2020执行。因此,就这一点来说,现有技术的通用处理器是串行的或者集中式的。 而实际上,可能有许多处理是可以并行执行的。在现有技术的通用处理器中,这些原本能够 并行执行的处理必需等待通用算术和逻辑单元2020来顺序执行它们。这样,处理的速度被 降低了。此外,由于通用算术和逻辑单元2020是固定的,因此,为了对数据执行各种操作, 因此,需要有一个强大的指令译码装置2010来为它提供各种控制信号。这增加了指令译码 装置的实现复杂性和难度。在有的情况下,指令译码装置由于需要承担过多的处理负荷,而 成为制约处理器性能的瓶颈。此外,为了能够适用于各种不同的应用,对于原本可以由专用硬件一次完成的处 理,在现有技术的通用处理器中往往需要将它拆分为多个处理。这实际上大大降低了处理 器的处理性能。图3示出了现有技术的通用处理器的另一种结构。如图3所示,通用处理器3000包括分配单元3010、指令译码装置3020、专用处理单元3030以及通用算术和逻辑单元3040。分配单元3010将一部分指令发送给指令译码装置3020,以及将一部分指令发送 给专用处理单元3030,以执行专门的处理。指令译码装置3020接收指令,对指令执行指令译码操作,并产生指令译码结果。专用处理单元3030用于实现专门的处理功能。通用算术和逻辑单元3050根据指令译码结果对待处理的数据执行操作,以产生 输出结果。通用处理器3000还可以包括许多其它部件,例如,时钟单元3050、存储器3060、测 试单元3070等。由于如前面所述的通用处理器中所存在的缺陷,因此,在某些情况下,图2所示的 通用处理器无法满足一些应用的需求。因此,在图3所示的通用处理器的结构中提供专用 的处理单元以满足这部分需求。实际上,图3所示的通用处理器的结构仅仅是专用处理硬件和通用处理器的简单 叠加,而没有对图2所示的通用处理器的结构作出任何实质上的改变。例如,芯片中的资源是有限的,不可能为每种应用设置一个专用处理单元。如果为 每种应用设置一个专用处理单元,通用算术和逻辑单元也就失去了存在的意义。另外,即便是在设置有专用处理单元的情况下,专用处理单元以及通用算术和逻 辑单元的硬布线结构也都是固定的。因此,很难灵活地配置各个单元之间的连接关系,从而 动态地将一个单元的处理结果提供给另一个单元使用,或者将另一个单元的处理结果提供 给一个单元使用,或者由不同的单元并行地执行处理。这些往往也是提高处理器性能的重 要方面。另外,如果仅采用专用处理硬件电路,尽管可以针对某一种应用优化电路,从而达 到理想的性能,但是,其应用的范围却受到了很大的限制。另外,本发明的发明人注意到,技术人员已经开发出了用于实现各种功能的许多 IP核。这些IP核针对所要执行的处理,对硬件进行了优化。它们往往可以占用很少的资 源,而提供很高的处理速度。这些IP核往往能够达到很高的处理性能。但是,由于现有技 术的通用处理器的这种结构的限制,这些IP核很难被通用处理器所利用,或者仅仅能够作 为通用处理器中附属的专用处理单元而被采用。另外,尽管在现有技术中,可以使用现场可编程器件(FPGA)等来实现一些应用功 能,但是,每当硬件配置程序被下载到FPGA中之后,该FPGA的功能也就被固定了。一方面, 不可能为每种应用功能都重新下载配置程序。另一方面,如果要求同时实现多种应用功能, 则在现有技术中,只能将FPGA配置成具有前面所述的通用处理器的结构。这仍然无法解决 上述技术问题。因此,需要提出一种新的技术来解决上述现有技术中的任何问题。

发明内容
本发明的一个目的在于至少部分地解决上面所述的现有技术中的问题里的至少 一个技术问题。本发明的另一个目的在于提供一种支持多核IP的通用处理器。
本发明的另一个目的在于动态配置通用处理器中的IP资源。根据本发明的第一方面,提供了一种用于支持可重组多核IP的通用处理器,包 括多个IP核模块;指令解析单元,其被配置成输入指令并对指令进行解析,其中,该指令 包括至少一个配置域数据和至少一个操作域数据,其中,该指令解析单元还被配置成分别 输出所述配置域数据和操作域数据;以及IP核配置单元,包括用于输入所述配置域数据的 第一输入、多个第二输入、多个第二输出以及第三输出,其中该多个第二输入分别被耦合到 所述多个IP核模块的输出,该多个第二输出分别被耦合到所述多个IP核模块的输入,该第 三输出被耦合到所述通用处理器的输出。其中,所述IP核配置单元被配置成根据所述配置 域数据来调整所述多个第一输入、多个第二输出和第三输出之间的连接方式。其中,所述多 个IP核模块执行基于所述操作域数据的操作。优选地,所述通用处理器还包括指令译码器,其被配置成接收从所述指令解析单 元输出的操作域数据,对所述操作域数据执行指令译码操作,以及输出指令译码结果。其 中,所述IP核配置单元还包括第四输入,用于接收所述指令译码结果。其中,所述IP核配 置单元还被配置成根据所述配置域数据来调整所述多个第二输入、多个第二输出、第三输 出和第四输入之间的连接方式。优选地,所述IP核配置单元还包括第五输入,用于接收待处理的数据。其中,所 述IP核配置单元还被配置成根据所述配置域数据来调整所述多个第二输入、多个第二输 出、第三输出、第四输入和第五输入之间的连接方式。优选地,所述配置域数据包含用于指示连接方式的信息,以及所述操作域数据包 含用于指示所要实现的操作的信息。优选地,所述IP核配置单元包括多个选通电路,每个选通电路包括多个输入端和 输出端,其中,所述多个输入端分别被连接到所述多个第二输入、第四输入和第五输入,所 述输出端被连接到所述多个第二输出和第三输出中的一个,其中,每个选通电路被配置成 根据所述配置域数据从所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果ο优选地,每个选通电路还包括控制端,以及每个选通电路被配置成根据控制端上 的信号从所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果。其中,每个 选通电路的控制端上的信号是根据所述配置域数据而被设置的。优选地,所述IP核配置单元是可控开关阵列。优选地,所述可控开关阵列包含晶体管或CMOS管。优选地,所述可控开关阵列中的开关元件具有控制端,用于控制开关元件的导通 和关断。优选地,控制端上的控制信号是根据所述配置域数据而被设置的。优选地,所述连接方式包括串联方式、或者并联方式、或者串联和并联的组合方 式。优选地,所述多个IP核模块包括通用处理器IP核模块。优选地,所述多个IP核模块包括指令译码IP核模块以及算术和逻辑单元IP核模 块。优选地,所述多个IP核模块位于相同的芯片中。优选地,所述多个IP核模块位于在不同的芯片中。
根据本发明的第二方面,提供了一种用于在通用处理器中支持可重组多核IP的 方法,包括第一步骤,配置多个IP核模块;第二步骤,输入指令并对指令进行解析,其中, 该指令包括至少一个配置域数据和至少一个操作域数据;第三步骤,分别输出所述配置域 数据和操作域数据;第四步骤,配置第一输入以输入所述配置域数据;第五步骤,配置多个 第二输入以耦合到所述多个IP核模块的输出;第六步骤,配置多个第二输出以耦合到所述 多个IP核模块的输入;第七步骤,配置第三输出以耦合到所述通用处理器的输出;第八步 骤,根据所述配置域数据来调整所述多个第一输入、多个第二输出和第三输出之间的连接 方式;以及第九步骤,由所述多个IP核模块执行基于所述操作域数据的操作。优选地,所述方法还包括对所述操作域数据执行指令译码操作,以及输出指令译 码结果;配置第四输入以接收所述指令译码结果,其中,所述第八步骤包括根据所述配置 域数据来调整所述多个第二输入、多个第二输出、第三输出和第四输入之间的连接方式。优选地,所述方法还包括配置第五输入以接收待处理的数据,其中,所述第八步 骤包括根据所述配置域数据来调整所述多个第二输入、多个第二输出、第三输出、第四输 入和第五输入之间的连接方式。优选地,所述配置域数据包含用于指示连接方式的信息,以及所述操作域数据包 含用于指示所要实现的操作的信息。优选地,通过多个选通电路来执行所述第八步骤,其中,每个选通电路包括多个输 入端和输出端,其中,将所述多个输入端分别连接到所述多个第二输入、第四输入和第五输 入,将所述输出端连接到所述多个第二输出和第三输出中的一个,其中,每个选通电路根据 所述配置域数据从所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果。优选地,每个选通电路还包括控制端,以及每个选通电路根据控制端上的信号从 所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果,以及其中,每个选通 电路的控制端上的信号是根据所述配置域数据而被设置的。优选地,通过可控开关阵列来执行所述第八步骤。优选地,所述可控开关阵列包含晶体管或CMOS管。优选地,所述可控开关阵列中的开关元件具有控制端,用于控制开关元件的导通 和关断。优选地,控制端上的控制信号是根据所述配置域数据而被设置的。优选地,所述连接方式包括串联方式、或者并联方式、或者串联和并联的组合方 式。优选地,所述多个IP核模块包括通用处理器IP核模块。优选地,所述多个IP核模块包括指令译码IP核模块以及算术和逻辑单元IP核模 块。优选地,所述多个IP核模块位于相同的芯片中。优选地,所述多个IP核模块位于在不同的芯片中。根据本发明的第三方面,提供了 一种包括根据本发明的通用处理器的计算设备。本发明的一个优点在于,可以在通用处理器中支持多个IP核。本发明的一个优点在于,可以灵活地配置通用处理器。本发明的另一个优点在于,可以灵活地配置IP核的连接方式。本发明的另一个优点在于,可以通过指令来动态地配置IP核的连接方式。
8
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其 优点将会变得清楚。


构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解 释本发明的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中图1是示出可以应用本发明的计算设备的框图。图2是示出现有技术的一种通用处理器的框图。图3是示出现有技术的另一种通用处理器的框图。图4是示出根据本发明的第一实施例的通用处理器的框图。图5示出了本发明中所采用的指令的结构。图6是示出根据本发明的第一实施例的方法的流程图。图7是示出根据本发明的第二实施例的通用处理器中的IP核配置单元的框图。图8是示出根据本发明的第三实施例的通用处理器中的IP核配置单元的框图。图9是示出根据本发明的第三实施例的一个例子的框图。
具体实施例方式现在将参照附图来详细描述本发明的各种示例性实施例。应注意到除非另外具 体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本 发明的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明 及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适 当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不 是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一 个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。另外,需要说明的是,对于本领域技术人员公知的是,可以将数据和程序(指令) 存储在相同的存储器中以供处理器使用。因此,尽管在本说明书中描述的是“指令数据”,但 是本领域技术人员应当知道,所述“指令数据”包括指令、或者数据、或者指令和数据。另外,需要说明的是,在附图中,两个模块之间仅通过一条线连接,但是,本领域技 术人员应当知道,根据两个模块之间的数据通路的宽度,可能存在多条硬件布线,而附图中 的这种连线仅仅是示意性的,而不作为对本发明的任何限制。<硬件配置>图1是示出可以实现本发明的实施例的计算机系统1000的硬件配置的框图。如图1所示,计算机系统包括计算机1110。计算机1110包括经由系统总线1121 连接的处理单元1120、系统存储器1130、固定非易失性存储器接口 1140、移动非易失性存储器接口 1150、用户输入接口 1160、网络接口 1170、视频接口 1190和输出外围接口 1195。系统存储器1130包括R0M(只读存储器)1131和RAM(随机存取存储器)1132。 BIOS(基本输入输出系统)1133驻留在ROM 1131内。操作系统1134、应用程序1135、其它 程序模块1136和某些程序数据1137驻留在RAM 1132内。诸如硬盘的固定非易失性存储器1141连接到固定非易失性存储器接口 1140。固 定非易失性存储器1141例如可以存储操作系统1144、应用程序1145、其它程序模块1146 和某些程序数据1147。诸如软盘驱动器1151和⑶-ROM驱动器1155的移动非易失性存储器连接到移动 非易失性存储器接口 1150。例如,软盘可以被插入到软盘驱动器1151中,以及⑶(光盘) 可以被插入到⑶-ROM驱动器1155内。诸如鼠标1161和键盘1162的输入设备被连接到用户输入接口 1160。计算机1110可以通过网络接口 1170连接到远程计算机1180。例如,网络接口 1170可以通过局域网1171连接到远程计算机1181。或者,网络接口 1170可以连接到调制 解调器(调制器-解调器)1172,以及调制解调器1172经由广域网1173连接到远程计算机 1180。远程计算机1180可以包括诸如硬盘的存储器1181,其可以存储远程应用程序 1185。视频接口 1190连接到监视器1191。输出外围接口 1195连接到打印机1196和扬声器1197。本领域技术人员应当理解,图1所示的计算机系统仅仅是说明性的并且决不意味 着对本发明、其应用或使用的任何限制。<第一实施例>下面参照图4、图5和图6来说明根据本发明的第一实施例。图4是示出了根据本 发明的第一实施例的支持可重组多核IP的通用处理器的框图。图5示意性地示出了在本 发明中所采用的指令的一般结构。图6是示出了根据本发明的第一实施例的用于在通用处 理器中支持可重组多核IP的方法的流程图。如图4所示,根据本发明的第一实施例的用于支持可重组多核IP的通用处理器
4000包括指令解析单元4100、IP核配置单元4200以及多个IP核模块1、2........n,其
中,η大于等于1。指令解析单元4100输入指令并对指令进行解析。在本发明中,该指令可以包括至 少一个配置域数据和至少一个操作域数据。指令解析单元4100分别输出所述配置域数据和操作域数据。 IP核配置单元4200包括第一输入Ip多个第二输入I2_i、I2_2........12_n、多个第
二输出O2^CV2.......02_n以及第三输出03,其中,η大于等于1。如图4所示,所述第一输入I1输入来自指令解析单元4100的配置域数据。所述多
个第二输入I2-P Ι2-2........Ι2-η分别被耦合到多个IP核模块1、2........η的输出。所
述多个第二输出O2^CV2.......02_η分别被耦合到所述多个IP核模块1、2........η的输
入。所述第三输出O3被耦合到所述通用处理器4000的输出所述IP核配置单元4200可以根据所述配置域数据来调整所述多个第二输入I”、12-2........I2-n、多个第二输出O2^CV2.......02_n和第三输出O3之间的连接方式。例如,如图4所示,通用处理器4000还可以包括指令译码器4030。指令译码器 4030接收从所述指令解析单元4010输出的操作域数据。指令译码器4030对所接收的操作 域数据执行指令译码操作,以及输出指令译码结果。指令译码操作是本领域公知的,因此, 在这里不再进行更加详细的描述。所述IP核配置单元4020还可以包括第四输入14。第四输入I4用于接收从指令 译码器4030输出的指令译码结果。当然,对于本领域技术人员显而易见的是,从指令解析单元4100输出的操作域数 据可以直接被输入到第四输入14,而不经过指令译码器4030。或者,所述操作域中一部分 直接被输入到第四输入14,而另一部分经过指令译码器4030被输入到第四输入14。在这种情况下,所述IP核配置单元4020能够根据配置域数据来调整所述多个第
二输入I2-Pl2I........I2-n、多个第二输出OmCV2.......02_n、第三输出O3和第四输入I4
之间的连接方式。例如,如图4所示,通用处理器4000还对数据进行处理。待处理的数据被输入到 IP核配置单元的第五输入15。在这种情况下,所述IP核配置单元4020还能够根据所述配置域数据来调整所述
多个第二输入I2-P 12-2........I2-n、多个第二输出O2^ 02_2.......02_n、第三输出O3、第四
输入I4和第五输入I5之间的连接方式。所述IP核配置单元4020通过调整各个输入和输出之间的连接方式来配置所述多 个IP核模块1、2.......η。例如,所述IP核配置单元4020可以选择使用哪些IP核模块。例如,所述IP核配 置单元4020可以用串联方式、或者并联方式、或者串联和并联的组合方式等来配置所使用 的IP核模块。所述多个IP核模块1、2........η执行基于所述操作域数据的操作。例如,所述
多个IP核模块中的一些或者全部可以直接基于操作域数据来进行操作。例如,所述多个IP 核模块中的一些或者全部可以根据由操作域数据得到的指令译码结果来执行操作。所述多个IP核模块可以包括通用处理器IP核模块,在该模块中实现通用的处理 器。在这种情况下,该通用处理器IP核模块可以与根据本发明的实施例的通用处理器模块 4000位于相同的芯片内。或者,该通用处理器IP核模块可以与根据本发明的实施例的通用 处理器模块4000位于不同的芯片内。例如,该通用处理器IP核模块可以是另一块包含通 用处理器的芯片。另外,所述多个IP核模块可以包括算术和逻辑单元IP核模块。这样,指令译码器 4300的指令译码结果通过IP核配置单元4200而被输入到该算术和逻辑IP核模块,从而可 以执行现有技术的通用处理器操作。例如,所述多个IP核模块还可以包括指令译码装置IP核模块。在这种情况下,可 以省略图4中所示的指令译码装置4030。例如,所述多个IP核模块可以包括算术和逻辑单元IP核模块以及指令译码装置 IP核模块。在这种情况下,可以通过IP核配置单元4020,连接所述算术和逻辑单元IP核 模块以及指令译码装置IP核模块,从而能够实现现有技术的通用处理器的功能。这提供了
11一种灵活配置处理器的方式。如前面所述,所述多个IP核模块中的一部分或者全部可以位于相同的芯片中。例 如,所述多个IP核模块中的一部分或者全部可以位于与通用处理器4000位于相同的芯片 内。或者,所述多个IP核模块中的一部分或者全部可以位于不同的芯片中。例如,所 述多个IP核模块中的一部分或者全部可以位于与通用处理器4000位于不同的芯片内。下面参照图5来描述本发明中所使用的指令5000。例如,如图5所示,指令5000包括至少一个配置域数据1、2........m和至少一个
操作域数据1、2........m,其中,m大于等于1。 所述配置域数据包含用于指示连接方式的信息。如前面所述,所述连接方式例如 可以包括串联方式、或者并联方式、或者串联和并联的组合方式等。所述操作域数据包含用于指示所要实现的操作的信息。如前面所述,该操作域数据例如可以是要被指令译码器4300处理的对象。在这种 情况下,该操作域数据例如和现有技术中的指令类似。或者,该操作域数据可以被直接输入到IP核模块中,供IP核模块使用。该操作域 数据可以是IP核模块的控制数据或者可由IP核模块处理的数据。下面,参照图6来描述根据本发明的第一实施例的用于在通用处理器中支持可重 组多核IP的方法6000。图6示出了根据本发明的第一实施例的方法6000的流程图。如图6所示,在第一步骤S6100,配置多个IP核模块。例如,在通用处理器中设置 多个IP核模块。在第二步骤S6200,将指令输入到处理器中并对指令进行解析。该指令包括至少一 个配置域数据和至少一个操作域数据。在第三步骤S6300,分别输出配置域数据和操作域数据。在第四步骤S6400,配置用于输入所述配置域数据的第一输入。在第五步骤S6500,配置多个第二输入。该多个第二输入分别被耦合到所述多个 IP核模块的输出。在第六步骤S6600,配置多个第二输出。该多个第二输出分别被耦合到所述多个 IP核模块的输入。在第七步骤S6700,配置第三输出。该第三输出被耦合到通用处理器的输出。在第八步骤S6800,根据配置域数据来调整所述多个第一输入、多个第二输出和第 三输出之间的连接方式。另外,例如在本发明的实施例中,还可以对操作域数据执行指令译码操作,以及输 出指令译码结果。另外,还可以配置用于接收所述指令译码结果的第四输入。在这种情况下,可以根据配置域数据来调整所述多个第二输入、多个第二输出、第 三输出和第四输入之间的连接方式。另外,例如在本发明的实施例中,还可以配置第五输入,以接收待处理的数据。在这种情况下,可以根据所述配置域数据来调整所述多个第二输入、多个第二输 出、第三输出、第四输入和第五输入之间的连接方式。
如前面所述,所述连接方式例如可以包括串联方式、或者并联方式、或者串联和并 联的组合方式等。第九步骤,由所述多个IP核模块执行基于所述操作域数据的操作。如前面所述,例如,所述多个IP核模块可以包括通用处理器IP核模块。例如,所 述多个IP核模块可以包括算术和逻辑单元IP核模块。例如,所述多个IP核模块可以位于 相同的芯片中。例如,所述多个IP核模块可以位于在不同的芯片中。〈第二实施例〉下面参照图7来描述根据本发明的第二实施例。在第二实施例中提供了第一实施 例中的IP核配置单元的一种实现方式。由于第二实施例与第一实施例的不同之处仅在于 IP核配置单元,因此,为了简明起见,在下面仅描述该单元,而省略对其它部分的描述。图7仅仅示出了 IP核配置单元4200-a。通用处理器的其它部分可以与图4所示 的相同。在第二实施例中,通过选通电路来实现IP核配置单元。如图7所示,IP核配置单元4200-a包括多个选通电路4200_a_l、 4200-a-U......、4200-a-l 以及 4200-a-o。每个选通电路包括多个输入端和输出端。每个选通电路的多个输入端分别被连接到IP核配置单元4200-a的多个第二输入 I2-!> 12-2........12-n、第四输入I4和第五输入15。每个选通电路的输出端被连接到多个第二输出(VpCV2.......02_n和第三输出O3
中的一个。所述多个选通电路的输出端分别连接到IP核配置单元4200-a的多个第二输出 (VpCV2.......02_n和第三输出O3。每个选通电路还包括控制端。例如,根据配置域数据来设置每个选通电路的控制 端上的控制信号。每个选通电路根据控制端上的控制信号从所述多个第二输入12_2........
ι2-η、第四输入I4和第五输入I5中进行选择,并输出选择结果。例如,可以通过晶体管、CMOS管等来实现所述选通电路。这对于本领域技术人员 是公知的,因此,不再对其进行更加详细的描述。〈第三实施例〉下面参照图8来描述根据本发明的第三实施例。在第三实施例中提供了第一实施 例中的IP核配置单元的另一种实现方式。由于第三实施例与第一实施例的不同之处仅在 于IP核配置单元,因此,为了简明起见,在下面仅描述该单元,而省略对其它部分的描述。图8仅仅示出了 IP核配置单元4200-b。通用处理器的其它部分可以与图4所示 的相同。在第三实施例中,通过可控开关阵列来实现IP核配置单元。如图8所示,通过可控开关阵列中的可控开关元件SupShpSH^SnSnSm、
§2—22、§2—23、§2—4、S2—5、......、Sn_21 λ Sn—22、Sn—23、Sn_4 Λ Sn—5、SQ_21 Λ S〇—22、S〇—23、S〇—4、S〇—5,将多个弟
二输入I2-P 12-2........I2-n、第四输入I4和第五输入I5分别连接到多个第二输出O2^
02_2.......02_n和第三输出O3。通过所述可控开关元件的开关状态来控制所述各个输入和输出之间的连接关系。
13
所述可控开关阵列包含晶体管或CMOS管。所述可控开关阵列中的开关元件例如 可以具有控制端,用于控制开关元件的导通和关断。例如,控制端上的控制信号可以是根据 所述配置域数据而被设置的。在通过晶体管来实现所述可控开关元件的情况下,开关元件的两个连接端例如是 晶体管的集电极和射极,其控制端例如是晶体管的基极。在通过CMOS管来实现所述可控开关元件的情况下,开关元件的两个连接端例如 是CMOS管的源极和漏极,其控制端例如是晶体管的栅极。〈第四实施例〉在本发明的第四实施例中,例如,可用在计算设备中采用根据本发明的第一至第 三实施例的通用处理器。〈例子1>图9示出了根据本发明的第三实施例的一个例子。图9A示出了根据本发明的第 三实施例的IP核配置单元的连接方式。图9A示出了经过连接之后的简化电路图。在本例子中,假设存在3个IP核模块,即,加法器IP核模块、乘法器IP核模块以 及除法器IP核模块。在图9A中,根据配置域数据的配置,可控开关元件S1+ S2_5、S3_21、S3_22、S。_23导通。图9B示出了最终实现的电路。在图9B中,待处理的数据被输入到加法器IP核模 块,指令译码结果被输入到乘法器IP核模块。加法器IP核模块和乘法器IP核模块的处理 结果被输入到除法器IP核模块。除法器IP核模块的处理结果作为输出结果被输出。图9仅仅是说明本发明的第三实施例的一个例子,而不是对本发明的任何限制。可能以许多方式来实现本发明的方法和处理器。例如,可通过软件、硬件、固件或 者软件、硬件、固件的任何组合来实现本发明的方法和处理器。用于所述方法的步骤的上述 顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方 式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些 程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行 根据本发明的方法的程序的记录介质。虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技 术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技 术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发 明的范围由所附权利要求来限定。
权利要求
一种用于支持可重组多核IP的通用处理器,包括多个IP核模块;指令解析单元,其被配置成输入指令并对指令进行解析,其中,该指令包括至少一个配置域数据和至少一个操作域数据,其中,该指令解析单元还被配置成分别输出所述配置域数据和操作域数据;以及IP核配置单元,包括第一输入,用于输入所述配置域数据,多个第二输入,该多个第二输入分别被耦合到所述多个IP核模块的输出,多个第二输出,该多个第二输出分别被耦合到所述多个IP核模块的输入,以及第三输出,该第三输出被耦合到所述通用处理器的输出,其中,所述IP核配置单元被配置成根据所述配置域数据来调整所述多个第一输入、多个第二输出和第三输出之间的连接方式,其中,所述多个IP核模块执行基于所述操作域数据的操作。
2.如权利要求1所述的通用处理器,还包括指令译码器,其被配置成接收从所述指令解析单元输出的操作域数据,对所述操作域 数据执行指令译码操作,以及输出指令译码结果,其中,所述IP核配置单元还包括第四输入,用于接收所述指令译码结果, 其中,所述IP核配置单元还被配置成根据所述配置域数据来调整所述多个第二输入、 多个第二输出、第三输出和第四输入之间的连接方式。
3.如权利要求1所述的通用处理器,其中,所述IP核配置单元还包括第五输入,用于 接收待处理的数据,其中,所述IP核配置单元还被配置成根据所述配置域数据来调整所述多个第二输入、 多个第二输出、第三输出、第四输入和第五输入之间的连接方式。
4.如权利要求1所述的通用处理器,其中,所述配置域数据包含用于指示连接方式的信息,以及所述操作域数据包含用于 指示所要实现的操作的信息。
5.如权利要求1-4中的任何一个所述的通用处理器,其中,所述IP核配置单元包括多个选通电路,每个选通电路包括多个输入端和输出 端,其中,所述多个输入端分别被连接到所述多个第二输入、第四输入和第五输入,所述输 出端被连接到所述多个第二输出和第三输出中的一个,其中,每个选通电路被配置成根据 所述配置域数据从所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果。
6.如权利要求5所述的通用处理器,其中,每个选通电路还包括控制端,以及每个选通电路被配置成根据控制端上的信号 从所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果,以及 其中,每个选通电路的控制端上的信号是根据所述配置域数据而被设置的。
7.如权利要求1-4中的任何一个所述的通用处理器, 其中,所述IP核配置单元是可控开关阵列。
8.如权利要求7所述的通用处理器,其中,所述可控开关阵列包含晶体管或CMOS管。
9.如权利要求7所述的通用处理器,其中,所述可控开关阵列中的开关元件具有控制端,用于控制开关元件的导通和关断, 其中,控制端上的控制信号是根据所述配置域数据而被设置的。
10.如权利要求1-4中的任何一个所述的通用处理器,其中,所述连接方式包括串联方式、或者并联方式、或者串联和并联的组合方式。
11.如权利要求1-4中的任何一个所述的通用处理器, 其中,所述多个IP核模块包括通用处理器IP核模块。
12.如权利要求1-4中的任何一个所述的通用处理器,其中,所述多个IP核模块包括指令译码IP核模块以及算术和逻辑单元IP核模块。
13.如权利要求1-4中的任何一个所述的通用处理器, 其中,所述多个IP核模块位于相同的芯片中。
14.如权利要求1-4中的任何一个所述的通用处理器, 其中,所述多个IP核模块位于在不同的芯片中。
15.一种用于在通用处理器中支持可重组多核IP的方法,包括 第一步骤,配置多个IP核模块;第二步骤,输入指令并对指令进行解析,其中,该指令包括至少一个配置域数据和至少 一个操作域数据;第三步骤,分别输出所述配置域数据和操作域数据;第四步骤,配置第一输入以输入所述配置域数据;第五步骤,配置多个第二输入以耦合到所述多个IP核模块的输出;第六步骤,配置多个第二输出以耦合到所述多个IP核模块的输入;第七步骤,配置第三输出以耦合到所述通用处理器的输出;第八步骤,根据所述配置域数据来调整所述多个第一输入、多个第二输出和第三输出 之间的连接方式;以及第九步骤,由所述多个IP核模块执行基于所述操作域数据的操作。
16.如权利要求15所述的方法,还包括对所述操作域数据执行指令译码操作,以及输出指令译码结果; 配置第四输入以接收所述指令译码结果;其中,所述第八步骤包括根据所述配置域数据来调整所述多个第二输入、多个第二输 出、第三输出和第四输入之间的连接方式。
17.如权利要求15所述的方法,还包括 配置第五输入以接收待处理的数据,其中,所述第八步骤包括根据所述配置域数据来调整所述多个第二输入、多个第二输 出、第三输出、第四输入和第五输入之间的连接方式。
18.如权利要求15所述的方法,其中,所述配置域数据包含用于指示连接方式的信息,以及所述操作域数据包含用于 指示所要实现的操作的信息。
19.如权利要求15-18中的任何一个所述的方法,其中,通过多个选通电路来执行所述第八步骤,其中,每个选通电路包括多个输入端和输出端,其中,将所述多个输入端分别连接到所述多个第二输入、第四输入和第五输入,将 所述输出端连接到所述多个第二输出和第三输出中的一个,其中,每个选通电路根据所述 配置域数据从所述多个第二输入、第四输入和第五输入中进行选择并输出选择结果。
20.如权利要求19所述的方法,其中,每个选通电路还包括控制端,以及每个选通电路根据控制端上的信号从所述多 个第二输入、第四输入和第五输入中进行选择并输出选择结果,以及其中,每个选通电路的控制端上的信号是根据所述配置域数据而被设置的。
21.如权利要求15-19中的任何一个所述的方法, 通过可控开关阵列来执行所述第八步骤。
22.如权利要求21所述的方法,其中,所述可控开关阵列包含晶体管或CMOS管。
23.如权利要求21所述的方法,其中,所述可控开关阵列中的开关元件具有控制端,用于控制开关元件的导通和关断, 其中,控制端上的控制信号是根据所述配置域数据而被设置的。
24.如权利要求15-19中的任何一个所述的方法,其中,所述连接方式包括串联方式、或者并联方式、或者串联和并联的组合方式。
25.如权利要求15-19中的任何一个所述的方法,其中,所述多个IP核模块包括通用处理器IP核模块。
26.如权利要求15-19中的任何一个所述的方法,其中,所述多个IP核模块包括指令译码IP核模块以及算术和逻辑单元IP核模块。
27.如权利要求15-19中的任何一个所述的方法, 其中,所述多个IP核模块位于相同的芯片中。
28.如权利要求15-19中的任何一个所述的方法, 其中,所述多个IP核模块位于在不同的芯片中。
29.—种包括如权利要求1-14中的任何一个所述的通用处理器的计算设备。
全文摘要
本发明公开了一种支持可重组多核IP的通用处理器及其方法。该通用处理器包括多个IP核模块;指令解析单元,被配置成输入指令并对指令进行解析,该指令包括至少一个配置域数据和至少一个操作域数据,该指令解析单元分别输出配置域数据和操作域数据;和IP核配置单元。IP核配置单元包括第一输入,用于输入配置域数据;多个第二输入,分别被耦合到多个IP核模块的输出;多个第二输出,分别被耦合到多个IP核模块的输入;和第三输出,被耦合到通用处理器的输出。IP核配置单元被配置成根据配置域数据来调整多个第一输入、多个第二输出和第三输出之间的连接方式。多个IP核模块执行基于操作域数据的操作。
文档编号G06F15/78GK101996156SQ20091016137
公开日2011年3月30日 申请日期2009年8月10日 优先权日2009年8月10日
发明者刘大力, 曹春春 申请人:北京多思科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1