一种处理器结构的制作方法

文档序号:6470267阅读:148来源:国知局
专利名称:一种处理器结构的制作方法
一种处理器结构
技术领域
本发明涉及集成电路设计领域,具体涉及一种可配置运算部件和数据通路的处理器结构。背景技术
随着集成电路制造工艺进入90nm-45nm阶段,复杂算法(如数字媒体和无线通信算法等)的ASIC (Application Specific Integrated Circuit,即专用集成电路)实现,面临设计周期长、设计成本高、灵活性差、扩展性差,难以满足产品快速上市、功能不断提升的需求。因此,基于存储指令控制方式,即处理器,实现复杂算法,就显得越来越重要。
然而, 一般处理器和指令系统的设计方法,要支持复杂算法的实现,必然需要相对复杂的指令系统和指令格式以及实现方式,并且不易扩展,比如,当处理器需要支持一种新的运算功能或增加新的运算部件时,往往需要重新修改整个处理器的设计、甚至修改整个指令系统,以支持新功能的实现。同时,基于一般处理器指令系统的算法设计,程序代码的语义明确,比较容易被抄袭,难以保证算法实现的知识产权。
发明内容
本发明的主要目的就是解决现有技术中的问题,提供一种处理器结构,有利于扩展,具有良好的算法保密性。
为实现上述目的,本发明提供一种处理器结构,包括算法数据控制部件、用于选择数据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件,所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。
在一种实施例中,所述数据通路包括数据输入通路和输出选择单元,所述数据输入通路包括数据输入交换开关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配置寄存器,所述运算部件包括逻辑运算单元和配置寄存器,所述算法数据控制部件根据配置指令,将配置信
息写入指令中指定的配置寄存器。
所述算法数据控制部件包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存器,所述配置信息为通用寄存器中的内容、立即数或数据存储器中的内容。
在另一种实施例中,所述算法数据控制部件还用于在处理器对数据流 进行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路 和/或运算部件的配置信息保持不变,直到接收到恢复信息。
所述恢复信息为从执行暂停指令开始计时或计数完成的信息或中断信号。
本发明还提供一种处理器结构,包括算法数据控制部件、用于选择数 据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件, 所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径 和/或运算部件的运算功能进行配置,所述配置指令包含操作码、配置信息 和配置目的三个操作元素。
在另一实施例中,所述算法数据控制部件还用于在处理器对数据流进 行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/ 或运算部件的配置信息保持不变,直到接收到恢复信息,所述暂停指令包 括操作码和暂停时间计数信息两个操作元素。
本发明的有益效果是本发明采用单一种类的配置指令来配置数据通 路所选择的数据通路和运算部件的运算功能,使运算部件完成全部运算操 作,并且指令集非常简单,不需要复杂的译码逻辑,可简化硬件结构,可 支持复杂的运算功能,在运算部件增加额外的计算功能时,不需要对配置 指令进行修改和增加,仅需定义新增配置信息的语义即可,所以有利于运 算部件功能和数量的扩展,并有利于多个处理器的级联。同时,与现有技 术中的具有确定性语义的指令不同,本发明的配置指令中包含操作码、配 置信息和配置目的三个操作元素,不同的配置信息来源和不同的配置目的, 可产生不同的语义,可能同样的指令完成不同的配置,所以本发明具有良 好的算法保密性。

图1是本发明一种实施例中处理器结构中ADU的硬件模块框图; 图2是本发明一种实施例的配置硬件框图。
具体实施方式
本申请的特征及优点将通过实施例结合附图进行详细说明。 实施例一
处理器中包括算法数据控制部件(简称ADU, algorithm and data control imit)、用于选择数据输入或输出来源的数据通路和用于对输入数据执行运算操作的运算部件(简称ALU)。 ADU负责配置数据通路的数据路 径和ALU的运算功能,即针对相关的算法应用,ADU通过执行配置指令进 行数据通路的路径配置和ALU的运算功能配置。
所述数据通路包括数据输入通路(简称Switch)和输出选择单元,所 述数据输入通路包括数据输入交换开关和配置寄存器,所述输出选择单元 包括数据输出转换开关和输出端口配置寄存器。所述运算部件ALU包括逻 辑运算单元和配置寄存器,所述算法数据控制部件ADU包括加载模块和通 用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存 器,算法数据控制部件ADU根据配置指令,将配置信息写入指令中指定的 配置寄存器。
配置指令包含操作码、配置信息和配置目的三个操作元素,格式和位 宽不限,所述配置信息为通用寄存器中的内容或立即数或数据存储器的内 容或输入端口的寄存器的内容。例如
Movesc reg, configreg:
该指令将通用寄存器reg中的数据写入指定的配置寄存器,该配置寄 存器直接完成相应的运算部件的功能或数据通路的路径配置。
作为该类指令的变种,在指令位宽允许的情况下,也可将上述指令中 的ffi用寄存器reg改为立艮卩数imm,艮卩Movesc imm, configreg。 4每imm 直接写入指定的配置寄存器。
立即数imm也可表示数据存储器的地址,将对应地址的数据存储器的 数据作为配置信息,立即数还可以是具体的操作或数值。
上述配置寄存器中数据所代表的配置含义,即指定的运算操作或数据 路径,可以根据需要定制,从而使非法的程序代码获取者无法破译实际执 行的算法。
Movesd reg, datareg:
该指令将通用寄存器reg中的数据写入指定的数据寄存器。 作为该指令的变种,该指令中的reg可以是处理器的数据输入端口寄
存器,即将处理器的数据输入端口寄存器的值写入指定的数据寄存器,配 置指令为Input port, datareg。同样,该指令中的datareg可以指处理 器的数据输出端口寄存器,即将处理器的通用寄存器的值写入指定的数据 输出端口寄存器,配置指令为Output reg, port。
如图1所示为算法数据控制部件ADU的一种具体结构,所述ADU可以 理解为是一个不包括运算部件的只有几条指令的处理器,自然具有指令存
6储器、数据存储器、通用寄存器、定时或计数器、译码器等模块。图中模 块1为程序计数器PC,用来指示当前运行程序的地址;模块2和3分别代 表数据存储器DMEM和指令存储器IMEM,分别用来存储数据和指令,当然 也可以采用一个存储器存储数据和指令;模块4是译码单元,用做分析指 令含义,解释指令行为;模块6为通用寄存器组,用于存储数据或指令; 模块7表示加载模块。加载模块7从外部端口加载数据存入数据存储器 DMEM或指令存储器IMEM。当加载模块7加载的是数据时,加载模块将数据 从输入端口加载至数据存储器dmem,当加载模块7加载的是指令时,载模 块将指令从输入端口加载至指令存储器imem,通过pc模块提供的地址将 从指令存储器中选择对应指令进行操作。
如图2所以为处理器的一种具体结构,为方便说明,本图中ALU簇仅 画了2个ALU。图中模块11表示处理器中的ADU单元,该单元负责执行本 发明中的一系列指令;模块12、 13、 17分别代表Switch、 ALU簇和输出选 择单元,该三部分负责完成数据的运算处理;模块14和15分别代表处理 器的输入端口和输出端口,负责数据的输入和输出。
本实施例中,所述Switch包含交换开关和配置寄存器。所述运算部 件ALU族可包含一个或多个ALU,每个ALU包括逻辑运算单元和配置寄存 器,其中ALU包括但不限于加法器、乘法器、移位器等基本的运算模块。 特别的,ALU还可以包括各种专用的运算单元,如蝶形运算单元、cordic 单元等。输出选择单元包括数据输出转换开关和配置寄存器(即输出端口 寄存器)。图中18a、 18b、 18c分别代表Switch、 ALU簇和输出选择单元的 配置寄存器,模块19代表数据输入通路Switch的数据寄存器,为ALU簇 保存操作数据。
在数据输入通路Switch的输入端,输入数据来源有三个算法数据 控制部件ADU中的通用寄存器中暂存的数据、从输入端口输入的数据和输 出选择单元17输出的数据,数据输入通路Switch可根据配置信息在三个 数据来源中进行选择。
输出选择单元可通过四个路径输出数据,即将数据输出到输出端口、 输出到数据输入通路Switch的输入口和存入ADU的通用寄存器,数据存储
器,输出选择单元可根据配置信息在四个数据输出路径中进行选择。
算法数据控制部件ADU执行配置指令,将配置信息写入指令中指定的 配置寄存器。配置信息可以是通用寄存器/dmem的内容或者是立即数。指
7令中指定的配置寄存器可以是数据输入通路Switch的配置寄存器,也可以 是运算部件ALU的配置寄存器,还可以是输出选择单元的配置寄存器。
以上可知,利用该配置指令及其硬件实现,可方便地改变其内部的算 术逻辑单元的连接关系和运算功能,实现处理器的数据通路和功能的可配 置性,适用于对大规模数据流处理的情况,特别是针对数字信号处理的阵 列。
本发明在需要增加计算功能时,不需要对指令进行修改和增加,仅需 定义新增配置信息的语义即可,有利于处理器功能的扩展并且不增加硬件 设计的复杂性。
本发明仅需通过简单的配置指令即可完成各种复杂的运算操作和算 法映射,从指令设计上来看各功能单元执行的指令基本相同,而通过配置 信息的不同却可完成不同的操作。例如同样的movesc指令,根据所写的配 置寄存器不同而配置不同步骤的功能实现;由于ALU可根据硬件设计者自 行设计算术逻辑单元,因此即使执行配置ALU指令的配置信息完全一样, 计算单元的执行功能也可根据算术逻辑单元的不同而不同。因此,本发明
中的指令具有加密性,各系统设计厂商可根据实际情况自定义阵列ALU中 算术逻辑单元簇的配置信息的语义,从而得到自定义的指令系统,并可有 效保护自主知识产权。 实施例二、
本实施例是在上述实施例基础上的进一步改进。
在进行数据流处理时,常常会遇到一个逻辑运算单元仅需完成一个特 定功能运算的情况下,这样往往需要反复循环地执行一段特定的程序。本 实施例为了避免程序的重复执行,定义了控制处理器暂停的暂停指令,所 述暂停指令包括操作码和暂停时间计数信息两个操作元素,其一种格式是
Rouser #imnu
在处理器对数据流进行运算时ADU执行暂停指令,控制处理器处于暂 停状态,启动定时器计时或计数器计数,同时使处理器处于暂停状态,使 所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息。 当计时或计数完成时,处理器恢复正常运行状态。
该指令也可写为rouser reg的形式,这时reg中的值取代imm。
暂停指令还可以是以下格式 HLT;
该指令作为rouser指令的特殊形式,即当ADU执行该指令时,将暂
8停处理器的工作,直到被其他信号(如中断信号等)唤醒。
例如,在处理数据流时,假设运算部件的上次运算是加法运算,执行 暂停指令后,运算部件将保持加法运算功能,对输入的数据作加法运算, 直到处理器恢复正常运行状态,运算部件被配置以新的运算功能。
本发明的指令和硬件结构有利于阵列ALU中的数据流处理。阵列ALU 结构中的每个处理单元都可通过该配置指令完成相应配置从而实现不同的 计算功能,在进行大规模数字信号处理时,数据从阵列ALU的输入端口流 进,途经各个处理单元完成相应的运算操作,即可完成复杂的数字信号处 理的算法映射,而不需要各处理单元频繁地执行指令,仅需在初始化时完 成各计算单元功能和数据路径配置,或在少数处理单元工作过程中进行相
应的运算功能和数据路径的修改。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若 干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种处理器结构,包括算法数据控制部件、用于选择数据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件,其特征在于所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。
2. 如权利要求1所述的处理器结构,其特征在于所述数据通路包 括数据输入通路和输出选择单元,所述数据输入通路包括数据输入交换开 关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配 置寄存器,所述运算部件包括逻辑运算单元和配置寄存器,所述算法数据 控制部件根据配置指令,将配置信息写入指令中指定的配置寄存器。
3. 如权利要求2所述的处理器结构,其特征在于所述算法数据控 制部件包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指 令或数据并存入通用寄存器,所述配置信息为通用寄存器中的内容、立即 数或数据存储器中的内容。
4. 如权利要求2所述的处理器结构,其特征在于所述处理器还包 括输入端口寄存器,所述配置信息为输入端口寄存器中的内容。
5. 输出选择单元输出选择单元如权利要求1所述的处理器结构,其 特征在于所述算法数据控制部件还用于在处理器对数据流进行运算时执 行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/或运算部 件的配置信息保持不变,直到接收到恢复信息。
6. 如权利要求5所述的处理器结构,其特征在于所述恢复信息为 从执行暂停指令开始计时或计数完成的信息或中断信号。
7. —种处理器结构,包括算法数据控制部件、用于选择数据输入或 输出来源的数据通路、用于对输入数据执行运算操作的运算部件,其特征 在于所述算法数据控制部件执行配置指令,对数据通路的输入或输出数 据路径和/或运算部件的运算功能进行配置,所述配置指令包含操作码、 配置信息和配置目的三个操作元素。
8. 如权利要求7所述的处理器结构,其特征在于所述数据通路包 括数据输入通路和输出选择单元,所述数据输入通路包括数据输入交换开 关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配 置寄存器,所述运算部件包括逻辑运算单元和配置寄存器,所述算法数据控制部件包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存器,所述配置信息包括通用寄存器中的内容、立即数或数据存储器的内容或输入端口的寄存器的内容,所述配置目的为数据输入通路的配置寄存器、输出选择单元的输出端口配置寄存器或运算部件的配置寄存器。
9. 如权利要求8所述的处理器结构,其特征在于所述算法数据控制部件还用于在处理器对数据流进行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息。
10. 如权利要求9所述的处理器结构,其特征在于所述暂停指令包括操作码和暂停时间计数信息两个操作元素。
全文摘要
本发明公开了一种处理器结构,包括算法数据控制部件、数据通路、用于对输入数据执行运算操作的运算部件,所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。本发明有利于运算部件功能和数量的扩展,并有利于多个处理器的级联。同时,本发明具有良好的算法保密性。
文档编号G06F9/30GK101685389SQ20081021636
公开日2010年3月31日 申请日期2008年9月28日 优先权日2008年9月28日
发明者刘彦亮, 叶兆华, 丹 周, 鹏 戴, 王新安, 肖高发, 来 魏, 维 黄 申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1