《一种处理器结构.pdf》由会员分享,可在线阅读,更多相关《一种处理器结构.pdf(10页完整版)》请在专利查询网上搜索。
本发明公开了一种处理器结构,包括算法数据控制部件、数据通路、用于对输入数据执行运算操作的运算部件,所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。本发明有利于运算部件功能和数量的扩展,并有利于多个处理器的级联。同时,本发明具有良好的算法保密性。 。
CN200810216362.9
2008.09.28
CN101685389A
2010.03.31
授权
有权
授权|||实质审查的生效IPC(主分类):G06F 9/30申请日:20080928|||公开
G06F9/30; G06F9/318
G06F9/30
北京大学深圳研究生院
王新安; 戴 鹏; 周 丹; 叶兆华; 黄 维; 刘彦亮; 魏 来; 肖高发
518055广东省深圳市南山区西丽深圳大学城北大校区
深圳鼎合诚知识产权代理有限公司
陈俊斌
本发明公开了一种处理器结构,包括算法数据控制部件、数据通路、用于对输入数据执行运算操作的运算部件,所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。本发明有利于运算部件功能和数量的扩展,并有利于多个处理器的级联。同时,本发明具有良好的算法保密性。
1. 一种处理器结构,包括算法数据控制部件、用于选择数据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件,其特征在于:所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。2. 如权利要求1所述的处理器结构,其特征在于:所述数据通路包括数据输入通路和输出选择单元,所述数据输入通路包括数据输入交换开关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配置寄存器,所述运算部件包括逻辑运算单元和配置寄存器,所述算法数据控制部件根据配置指令,将配置信息写入指令中指定的配置寄存器。3. 如权利要求2所述的处理器结构,其特征在于:所述算法数据控制部件包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存器,所述配置信息为通用寄存器中的内容、立即数或数据存储器中的内容。4. 如权利要求2所述的处理器结构,其特征在于:所述处理器还包括输入端口寄存器,所述配置信息为输入端口寄存器中的内容。5. 输出选择单元输出选择单元如权利要求1所述的处理器结构,其特征在于:所述算法数据控制部件还用于在处理器对数据流进行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息。6. 如权利要求5所述的处理器结构,其特征在于:所述恢复信息为从执行暂停指令开始计时或计数完成的信息或中断信号。7. 一种处理器结构,包括算法数据控制部件、用于选择数据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件,其特征在于:所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置,所述配置指令包含操作码、配置信息和配置目的三个操作元素。8. 如权利要求7所述的处理器结构,其特征在于:所述数据通路包括数据输入通路和输出选择单元,所述数据输入通路包括数据输入交换开关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配置寄存器,所述运算部件包括逻辑运算单元和配置寄存器,所述算法数据控制部件包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存器,所述配置信息包括通用寄存器中的内容、立即数或数据存储器的内容或输入端口的寄存器的内容,所述配置目的为数据输入通路的配置寄存器、输出选择单元的输出端口配置寄存器或运算部件的配置寄存器。9. 如权利要求8所述的处理器结构,其特征在于:所述算法数据控制部件还用于在处理器对数据流进行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息。10. 如权利要求9所述的处理器结构,其特征在于:所述暂停指令包括操作码和暂停时间计数信息两个操作元素。
一种处理器结构 【技术领域】 本发明涉及集成电路设计领域,具体涉及一种可配置运算部件和数据通路的处理器结构。 【背景技术】 随着集成电路制造工艺进入90nm-45nm阶段,复杂算法(如数字媒体和无线通信算法等)的ASIC(Application Specific Integrated Circuit,即专用集成电路)实现,面临设计周期长、设计成本高、灵活性差、扩展性差,难以满足产品快速上市、功能不断提升的需求。因此,基于存储指令控制方式,即处理器,实现复杂算法,就显得越来越重要。 然而,一般处理器和指令系统的设计方法,要支持复杂算法的实现,必然需要相对复杂的指令系统和指令格式以及实现方式,并且不易扩展,比如,当处理器需要支持一种新的运算功能或增加新的运算部件时,往往需要重新修改整个处理器的设计、甚至修改整个指令系统,以支持新功能的实现。同时,基于一般处理器指令系统的算法设计,程序代码的语义明确,比较容易被抄袭,难以保证算法实现的知识产权。 【发明内容】 本发明的主要目的就是解决现有技术中的问题,提供一种处理器结构,有利于扩展,具有良好的算法保密性。 为实现上述目的,本发明提供一种处理器结构,包括算法数据控制部件、用于选择数据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件,所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置。 在一种实施例中,所述数据通路包括数据输入通路和输出选择单元,所述数据输入通路包括数据输入交换开关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配置寄存器,所述运算部件包括逻辑运算单元和配置寄存器,所述算法数据控制部件根据配置指令,将配置信息写入指令中指定的配置寄存器。 所述算法数据控制部件包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存器,所述配置信息为通用寄存器中的内容、立即数或数据存储器中的内容。 在另一种实施例中,所述算法数据控制部件还用于在处理器对数据流进行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息。 所述恢复信息为从执行暂停指令开始计时或计数完成的信息或中断信号。 本发明还提供一种处理器结构,包括算法数据控制部件、用于选择数据输入或输出来源的数据通路、用于对输入数据执行运算操作的运算部件,所述算法数据控制部件执行配置指令,对数据通路的输入或输出数据路径和/或运算部件的运算功能进行配置,所述配置指令包含操作码、配置信息和配置目的三个操作元素。 在另一实施例中,所述算法数据控制部件还用于在处理器对数据流进行运算时执行暂停指令,控制处理器处于暂停状态,并使所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息,所述暂停指令包括操作码和暂停时间计数信息两个操作元素。 本发明的有益效果是:本发明采用单一种类的配置指令来配置数据通路所选择的数据通路和运算部件的运算功能,使运算部件完成全部运算操作,并且指令集非常简单,不需要复杂的译码逻辑,可简化硬件结构,可支持复杂的运算功能,在运算部件增加额外的计算功能时,不需要对配置指令进行修改和增加,仅需定义新增配置信息的语义即可,所以有利于运算部件功能和数量的扩展,并有利于多个处理器的级联。同时,与现有技术中的具有确定性语义的指令不同,本发明的配置指令中包含操作码、配置信息和配置目的三个操作元素,不同的配置信息来源和不同的配置目的,可产生不同的语义,可能同样的指令完成不同的配置,所以本发明具有良好的算法保密性。 【附图说明】 图1是本发明一种实施例中处理器结构中ADU的硬件模块框图; 图2是本发明一种实施例的配置硬件框图。 【具体实施方式】 本申请的特征及优点将通过实施例结合附图进行详细说明。 实施例一: 处理器中包括算法数据控制部件(简称ADU,algorithm and datacontrol unit)、用于选择数据输入或输出来源的数据通路和用于对输入数据执行运算操作的运算部件(简称ALU)。ADU负责配置数据通路的数据路径和ALU的运算功能,即针对相关的算法应用,ADU通过执行配置指令进行数据通路的路径配置和ALU的运算功能配置。 所述数据通路包括数据输入通路(简称Switch)和输出选择单元,所述数据输入通路包括数据输入交换开关和配置寄存器,所述输出选择单元包括数据输出转换开关和输出端口配置寄存器。所述运算部件ALU包括逻辑运算单元和配置寄存器,所述算法数据控制部件ADU包括加载模块和通用寄存器,所述加载模块用于从外部端口加载指令或数据并存入通用寄存器,算法数据控制部件ADU根据配置指令,将配置信息写入指令中指定的配置寄存器。 配置指令包含操作码、配置信息和配置目的三个操作元素,格式和位宽不限,所述配置信息为通用寄存器中的内容或立即数或数据存储器的内容或输入端口的寄存器的内容。例如: Movesc reg,configreg: 该指令将通用寄存器reg中的数据写入指定的配置寄存器,该配置寄存器直接完成相应的运算部件的功能或数据通路的路径配置。 作为该类指令的变种,在指令位宽允许的情况下,也可将上述指令中的通用寄存器reg改为立即数imm,即Movesc imm,configreg。将imm直接写入指定的配置寄存器。 立即数imm也可表示数据存储器的地址,将对应地址的数据存储器的数据作为配置信息,立即数还可以是具体的操作或数值。 上述配置寄存器中数据所代表的配置含义,即指定的运算操作或数据路径,可以根据需要定制,从而使非法的程序代码获取者无法破译实际执行的算法。 Movesd reg,datareg: 该指令将通用寄存器reg中的数据写入指定的数据寄存器。 作为该指令的变种,该指令中的reg可以是处理器的数据输入端口寄存器,即将处理器的数据输入端口寄存器的值写入指定的数据寄存器,配置指令为:Input port,datareg。同样,该指令中的datareg可以指处理器的数据输出端口寄存器,即将处理器的通用寄存器的值写入指定的数据输出端口寄存器,配置指令为:Output reg,port。 如图1所示为算法数据控制部件ADU的一种具体结构,所述ADU可以理解为是一个不包括运算部件的只有几条指令的处理器,自然具有指令存储器、数据存储器、通用寄存器、定时或计数器、译码器等模块。图中模块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的内容或者是立即数。指令中指定的配置寄存器可以是数据输入通路Switch的配置寄存器,也可以是运算部件ALU的配置寄存器,还可以是输出选择单元的配置寄存器。 以上可知,利用该配置指令及其硬件实现,可方便地改变其内部的算术逻辑单元的连接关系和运算功能,实现处理器的数据通路和功能的可配置性,适用于对大规模数据流处理的情况,特别是针对数字信号处理的阵列。 本发明在需要增加计算功能时,不需要对指令进行修改和增加,仅需定义新增配置信息的语义即可,有利于处理器功能的扩展并且不增加硬件设计的复杂性。 本发明仅需通过简单的配置指令即可完成各种复杂的运算操作和算法映射,从指令设计上来看各功能单元执行的指令基本相同,而通过配置信息的不同却可完成不同的操作。例如同样的movesc指令,根据所写的配置寄存器不同而配置不同步骤的功能实现;由于ALU可根据硬件设计者自行设计算术逻辑单元,因此即使执行配置ALU指令的配置信息完全一样,计算单元的执行功能也可根据算术逻辑单元的不同而不同。因此,本发明中的指令具有加密性,各系统设计厂商可根据实际情况自定义阵列ALU中算术逻辑单元簇的配置信息的语义,从而得到自定义的指令系统,并可有效保护自主知识产权。 实施例二、 本实施例是在上述实施例基础上的进一步改进。 在进行数据流处理时,常常会遇到一个逻辑运算单元仅需完成一个特定功能运算的情况下,这样往往需要反复循环地执行一段特定的程序。本实施例为了避免程序的重复执行,定义了控制处理器暂停的暂停指令,所述暂停指令包括操作码和暂停时间计数信息两个操作元素,其一种格式是: Rouser#imm; 在处理器对数据流进行运算时ADU执行暂停指令,控制处理器处于暂停状态,启动定时器计时或计数器计数,同时使处理器处于暂停状态,使所述数据通路和/或运算部件的配置信息保持不变,直到接收到恢复信息。当计时或计数完成时,处理器恢复正常运行状态。 该指令也可写为rouser reg的形式,这时reg中的值取代imm。 暂停指令还可以是以下格式: HLT; 该指令作为rouser指令的特殊形式,即当ADU执行该指令时,将暂停处理器的工作,直到被其他信号(如中断信号等)唤醒。 例如,在处理数据流时,假设运算部件的上次运算是加法运算,执行暂停指令后,运算部件将保持加法运算功能,对输入的数据作加法运算,直到处理器恢复正常运行状态,运算部件被配置以新的运算功能。 本发明的指令和硬件结构有利于阵列ALU中的数据流处理。阵列ALU结构中的每个处理单元都可通过该配置指令完成相应配置从而实现不同的计算功能,在进行大规模数字信号处理时,数据从阵列ALU的输入端口流进,途经各个处理单元完成相应的运算操作,即可完成复杂的数字信号处理的算法映射,而不需要各处理单元频繁地执行指令,仅需在初始化时完成各计算单元功能和数据路径配置,或在少数处理单元工作过程中进行相应的运算功能和数据路径的修改。 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
下载文档到电脑,查找使用更方便
30 金币 0人已下载
还可以输入200字符
暂无评论,赶快抢占沙发吧。
copyright@ 2017-2018 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1