CN101739383A - 一种可配置处理器体系结构和控制方法 - Google Patents

一种可配置处理器体系结构和控制方法 Download PDF

Info

Publication number
CN101739383A
CN101739383A CN200910001682A CN200910001682A CN101739383A CN 101739383 A CN101739383 A CN 101739383A CN 200910001682 A CN200910001682 A CN 200910001682A CN 200910001682 A CN200910001682 A CN 200910001682A CN 101739383 A CN101739383 A CN 101739383A
Authority
CN
China
Prior art keywords
configurable
configuration
parts
register
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910001682A
Other languages
English (en)
Other versions
CN101739383B (zh
Inventor
王新安
赵勇
戴鹏
胡子一
崔小乐
申凌
吴泽俊
焦玉中
张兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Shenzhen Graduate School
Original Assignee
Peking University Shenzhen Graduate School
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University Shenzhen Graduate School filed Critical Peking University Shenzhen Graduate School
Priority to CN2009100016827A priority Critical patent/CN101739383B/zh
Publication of CN101739383A publication Critical patent/CN101739383A/zh
Application granted granted Critical
Publication of CN101739383B publication Critical patent/CN101739383B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种可配置处理器体系结构,包括互连的可配置控制部件和可配置部件,所述可配置控制部件用于执行指令向可配置部件发出配置信息,所述可配置部件用于根据该配置信息执行处理任务。本发明还公开了一种可配置处理器的控制方法,包括以下步骤:可配置控制部件向可配置部件发送配置信息,可配置部件依据所述配置信息执行相应操作。本发明将数据处理操作的复杂性移入各个可配置部件,可配置控制部件非常简单,不需要设计复杂的指令流水线、不需要加多级快速指令缓存去提升处理器的性能;其配置指令通过长指令实现,可以简化因可配置部件数目变化而带来的配置复杂性。

Description

一种可配置处理器体系结构和控制方法
技术领域
本发明涉及集成电路设计领域,具体涉及一种可配置处理器体系结构和控制方法。
背景技术
随着集成电路制造工艺进入90nm-45nm阶段,数据流算法(如数字媒体和通信基带等)的ASIC(Application Specific Integrated Circuit,即专用集成电路)设计,面临设计周期长、设计成本高、灵活性差、扩展性差,难以满足产品快速上市、功能不断提升的需求。
现有处理器的体系结构和指令系统,包括CPU和DSP,存在三个方面的问题:第一是要实现高性能的算法运算功能,一定需要相对复杂的体系结构和指令系统,并且不易扩展,除了工艺进步的因素之外,从体系结构上提升运算性能,往往需要重新修改整个处理器的设计、甚至修改整个指令系统,比如增加运算部件和存储部件与数据通路等;第二是现有处理器的体系结构提升性能需要付出较大的功耗和面积代价,因为它主要通过提升指令的执行速度来获得性能的提升,比如增加流水线的级数或条数、增加快速缓存等,导致处理器控制部件复杂性的快速提升;第三是基于一般处理器指令系统的算法实现,反汇编后的程序代码的语义明确,比较容易被抄袭,难以保证核心算法的知识产权。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种结构简单、易于扩展的可配置处理器体系结构,本发明要解决的另一个技术问题是提供可配置处理器的控制方法。
本发明是通过以下技术方案来解决上述技术问题的:
一种可配置处理器体系结构,包括互连的可配置控制部件和可配置部件,所述可配置控制部件用于执行指令向可配置部件发出配置信息,所述可配置部件用于根据该配置信息执行处理任务。
上述可配置部件包括可配置数据路径部件、可配置输入输出部件和至少一个可配置运算部件,所述可配置输入输出部件包括可配置存储部件和/或可配置输入输出端口。
上述可配置部件具有配置寄存器和功能单元,所述可配置控制部件将配置信息写入指定的可配置部件中的配置寄存器,所述可配置部件的功能单元根据其自身配置寄存器中的配置信息进行规定的操作来执行处理任务。
上述可配置控制部件包括指令寄存器和通用寄存器,所述指令寄存器的大小、通用寄存器的数量可配置。
一种可配置处理器的控制方法,包括以下步骤:
可配置控制部件向可配置部件发送配置信息;
可配置部件依据所述配置信息执行相应操作。
上述可配置部件包括配置寄存器和功能单元,所述可配置控制部件执行配置指令,将配置信息写入指令中指定的可配置部件的配置寄存器中,所述可配置部件根据其自身配置寄存器中的配置信息执行相应操作。
上述配置指令至少包含操作码、源和目的参数,所述操作码为规定指令所执行操作的命令码,所述源为指令操作的对象,所述目的是用于指定写入配置信息的配置寄存器。
上述配置指令中的源包括寄存器中的内容或立即数。
上述配置指令是通过定义超长指令字加以实现的,所述超长指令字的字长是根据其所配置的可配置部件的数目来设置的。
上述配置指令的字长配置通过修正指令寄存器加以实现。
本发明与现有技术相比较的有益效果是:
(1)对于本发明的处理器体系结构而言,将运算操作的复杂性移入各个可配置运算部件,将数据通路的复杂性移入可配置数据路径部件,将输入输出的复杂性移入可配置输入输出部件,这样,可配置控制部件非常简单,不需要设计复杂的指令流水线、不需要加多级快速指令缓存去提升处理器的性能;
(2)对于本发明的处理器体系结构而言,需要提升处理器的性能可通过增加可配置运算部件的数量实现,无需变更处理器的整个架构,仅需要其它相关部件简单扩展即可,如增加可配置控制部件的字长等;
(3)对于本发明的处理器体系结构而言,可配置部件的操作通过可配置控制部件执行配置指令驱动完成,即使反汇编可配置控制部件的程序代码,在不知晓配置信息所代表的运算操作就难以获得算法实现的过程,可以实现对算法的有效保护;
(4)对于本发明的控制方法而言,其配置指令通过长指令实现,可以简化因可配置部件数目变化而带来的配置复杂性;
(5)对于本发明的控制方法而言,可配置控制部件的配置只需通过修正指令寄存器等与字长相关的硬件模块,简化了配置过程。
附图说明
图1是本发明可配置处理器体系结构实施例1结构示意图;
图2是本发明可配置处理器体系结构实施例2结构示意图。
具体实施方式
下面用具体实施方式结合附图对本发明作进一步详细说明。
本发明一种可配置处理器的体系结构,第一种实施方式,如图1所示,一种可配置嵌入式DSP,包括一个可配置控制部件CU、一个可配置数据路径部件Router、一个可配置输入输出端口IOPort、一个可配置存储部件MEM、至少一个可配置运算部件ALU,本例的ALU为两个,分别为ALU1和ALU2。可配置部件Router、IOPort、MEM、ALU1和ALU2均包括配置寄存器和功能单元。可配置控制部件CU执行配置指令,将配置信息写入指定的可配置部件的配置寄存器,所述功能单元根据其自身配置寄存器中的配置信息执行规定的操作。
可配置运算部件ALU1和ALU2的运算功能部件可以配置为一种或多种算术逻辑操作,包括加法器、乘法器、移位器等基本的功能模块,其根据各自的配置寄存器C1、C2的配置信息完成相应的算术逻辑操作。其中,每个ALU有两路输入和一路输出。
可配置数据路径Router,包含一组既存放操作数又存放运算结果的寄存器RRO,一组存放操作数的寄存器RRI,本例中,RRO有两个分别是RRO1和RRO2,RRI有两个分别是RRI1和RRI2,Router还包含一个可配置的交换开关Switch,用来将RRO和RRI的数据按配置寄存器C3的配置信息送往ALU的输入。本例中,ALU1的每路输入由Router中的交换开关Switch按照配置信息从Router中的数据寄存器RRO1或RRI1中选择,ALU1的输出连接到Router中的数据寄存器RRO1;而ALU2的每路输入由Router中的交换开关Switch按照配置信息从Router中的数据寄存器RRO2或RRI2中选择,ALU2的输出连接到Router中的数据寄存器RRO2。
可配置存储部件MEM包括配置寄存器C4和可以通过配置寄存器C4管理访问其方式的存储体,对于按地址访问的存储体而言就是其地址产生器根据配置寄存器C4中的配置信息设定存储体存取数据的地址基址和跳变步长。对于需要进行格式转换的存储体,其格式转换器根据配置寄存器C4中的配置信息完成外部数据与该存储体的格式转换。
可配置输入输出端口IOPort,可以根据其配置寄存器C5的配置信息配置为总线接口访问、存储器访问等多种形式。
可配置控制部件CU,指令的字长根据ALU等部件的功能定义和数量多少来配置,指令存储器的大小和通用寄存器Greg的多少可配置。指令存储器中的配置指令经过译码和执行,将配置信息发到可配置部件的配置寄存器中。
可配置存储部件MEM、可配置输入输出端口IOPort、可配置控制部件CU和可配置数据路径Router通过总线互连。
本发明一种可配置处理器的体系结构,其另一种实施方式,如图2所示,其与第一种实施方式的差别在于没有可配置存储部件MEM,可配置输入输出端口IOPort具体为存储器访问接口IOMemory。
在一种实施例中,可配置处理器通过以下步骤对可配置部件进行控制:
可配置控制部件向可配置部件发送配置信息;
可配置部件依据所述配置信息执行相应操作。
在某一种实施方式中,可配置部件包括配置寄存器和功能单元,可配置控制部件执行指令,将配置信息写入指令中指定的可配置部件的配置寄存器中,可配置部件根据其自身配置寄存器中的配置信息执行相应操作。指令至少包含操作码、源和目的参数,所述操作码为规定指令所执行操作的命令码,所述源为指令操作的对象,所述目的是用于指定写入配置信息的配置寄存器。
在一种实施方式中,指令包括配置指令、数据输入输出指令(可包括总线接口访问指令和存储器访问指令)、数据传输指令和转移控制指令。
配置指令的实现过程是通过可配置控制部件执行配置指令,向可配置部件的配置寄存器发送配置信息,可配置部件接收配置信息执行处理任务。
1.配置指令
本实施方式中,配置指令包含操作码、源和目的参数,所述操作码为规定指令所执行操作的命令码,所述源为指令操作的对象,所述目的是用于指定写入配置信息的配置寄存器。
(1)MOV ALU immdata;将立即数immdata按位按顺序送往各ALU的配置寄存器;
配置ALU的指令同时蕴含ALU所执行的算术逻辑运算指令。该指令的执行意味着各ALU按照配置信息完成指示的运算操作,该配置指令在逻辑上等价于:
OP1ALU RRO,RR;OP2ALU RRO,RR;...;OPNALU RRO,RR;其中OP1,OP2,...,OPN代表指示各ALU的操作码,各个ALU相应的RRO既是一个操作数,也存放操作结果,另一个操作数由Router中的Switch按照其配置寄存器的内容指定;
(2)MOV Router immdata;将立即数immdata送往Router的配置寄存器;
该指令的执行仅完成对Router中Switch的配置,不直接驱动ALU的操作;
(3)MOV RouterALU immdata;将立即数immdata按位按顺序送往各ALU的配置寄存器和Router的配置寄存器;
该指令在完成Switch配置的同时驱动ALU完成指示的运算操作;配置指令通过定义超长指令字来实现向多个可配置部件发送配置信息,超长指令字的字长可以根据其所配置的可配置部件的数目来设置。
(4)MOV MEM immdata;将立即数immdata送往MEM的配置寄存器;
通过改变配置指令来实现配置,指令字长可以根据其配置的运算部件、存储部件、数据路径部件及输入输出端口的数目调整或配置,优选的方式,只需修正指令寄存器等与字长相关的硬件模块,其他如译码器等无需改变。
2.总线接口访问指令,例如:
(1)IN RR,IOPort;将IOPort的数据输入到指定的RRI或RRO;
(2)IN Greg,IOPort;将IOPort的数据输入到指定的通用寄存器Greg;
(3)IN MEM,IOPort;将IOPort的数据输入到MEM;
(4)OUT Greg,IOPort;将指定的通用寄存器Greg的数据输出到可配置输入输出端口IOPort;
(5)OUT RR,IOPort;将指定的RRO或RRI的数据输出到IOPort;
(6)OUT MEM,IOPort;将MEM的数据输出到IOPort;
根据IOPort的数据位宽,可以同时指定多个RR(即RRI或RRO)或Greg。
3.存储器访问指令,例如:
(1)LOAD RGM,addr;将地址addr存储的数据读取到指定的RRI或RRO或Greg或MEM;
(2)STORE RGM,addr;将指定的RRI或RRO或Greg或MEM的数据写入指定的存储地址addr;
4.RR、Greg、MEM之间的数据传输指令,例如:
(1)MOV RR,Greg;将Greg的数据传输给RR;
(2)MOV Greg,RR;将RR的数据传输给Greg;
(3)MOV Greg,MEM;将MEM的数据读出到Greg;
(4)MOV MEM,Greg;将Greg的数据写入到MEM;
(5)MOV RR,MEM;将MEM的数据读出到RR;
(6)MOV MEM,RR;将RR的数据写入到MEM;
5.转移控制指令,例如:
(1)JMP Iaddr;无条件转移到绝对指令地址Iaddr;
(2)JMP n;无条件转移到相对指令地址n;
(3)JMP F(ALU),Iaddr;按条件表达式F(ALU)的值决定是否转移到绝对指令地址Iaddr;表达式F(ALU)是各个ALU输出状态的逻辑组合;
(4)JMP F(ALU),n;按条件表达式F(ALU)的值决定是否转移到相对指令地址n;
(5)HLT;暂停指令。
可以看出,本发明的指令系统非常简单,很容易实现,在不改变本发明指令系统基本实现方法(通过配置ALU驱动其完成指定的运算,仅可能精简指令种类,简化CU的实现)的基础上,可以适当增加或减少。
针对本发明可配置嵌入式DSP的体系结构,ALU运算操作配置指令的实现方法的具体实施例如下:
本例中有2个ALU,每个ALU的配置寄存器由3位构成,其值指示的运算操作定义如下:
000不做任何操作
001加法
010减法
011乘法
100除法
101取大
110取小
111赋值
本例中Router的Switch采用全互连的结构,即每个RRI和RRO均可以连接到ALU的每一个输入端,这样Router的配置寄存器需要8位,每2位指示一个ALU输入端的数据来源于哪个RRO或RRI,具体定义如下:
00  RRO1
01  RRI1
10  RRO2
11  RRI2
这样,指令序列:
MOV Router 00101011;
MOV ALU 001011;
MOV RouterALU 001011 00101011;
均表示2个ALU完成如下运算操作:
RRO1=RRO1+RRO2,RRO2=RRO1×RRI2。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种可配置处理器体系结构,其特征在于:包括互连的可配置控制部件和可配置部件,所述可配置控制部件用于执行指令向可配置部件发出配置信息,所述可配置部件用于根据该配置信息执行处理任务。
2.根据权利要求1所述的可配置处理器体系结构,其特征在于:所述可配置部件包括可配置数据路径部件、可配置输入输出部件和至少一个可配置运算部件,所述可配置输入输出部件包括可配置存储部件和/或可配置输入输出端口。
3.根据权利要求2所述的可配置处理器体系结构,其特征在于:所述可配置部件具有配置寄存器和功能单元,所述可配置控制部件将配置信息写入指定的可配置部件中的配置寄存器,所述可配置部件的功能单元根据其自身配置寄存器中的配置信息所规定的操作来执行处理任务。
4.根据权利要求1所述的可配置处理器体系结构,其特征在于:所述可配置控制部件包括指令寄存器和通用寄存器,所述指令寄存器的大小、通用寄存器的数量可配置。
5.一种可配置处理器的控制方法,其特征在于包括以下步骤:
可配置控制部件向可配置部件发送配置信息;
可配置部件依据所述配置信息执行相应操作。
6.根据权利要求5所述的控制方法,其特征在于,所述可配置部件包括配置寄存器和功能单元,所述可配置控制部件执行配置指令,将配置信息写入指令中指定的可配置部件的配置寄存器中,所述可配置部件根据其自身配置寄存器中的配置信息执行相应操作。
7.根据权利要求5或6所述的控制方法,其特征在于,所述配置指令至少包含操作码、源和目的参数,所述操作码为规定指令所执行操作的命令码,所述源为指令操作的对象,所述目的是用于指定写入配置信息的配置寄存器。
8.根据权利要求7所述的控制方法,其特征在于,所述配置指令中的源包括寄存器中的内容或立即数。
9.根据权利要求8所述的控制方法,其特征在于,所述配置指令通过定义超长指令字加以实现,所述超长指令字的字长根据其所配置的可配置部件的数目来设置。
10.根据权利要求9所述的控制方法,其特征在于,所述配置指令的字长配置通过修正指令寄存器加以实现。
CN2009100016827A 2008-11-19 2009-01-08 一种可配置处理器体系结构和控制方法 Expired - Fee Related CN101739383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100016827A CN101739383B (zh) 2008-11-19 2009-01-08 一种可配置处理器体系结构和控制方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200810217464.2 2008-11-19
CN200810217464 2008-11-19
CN2009100016827A CN101739383B (zh) 2008-11-19 2009-01-08 一种可配置处理器体系结构和控制方法

Publications (2)

Publication Number Publication Date
CN101739383A true CN101739383A (zh) 2010-06-16
CN101739383B CN101739383B (zh) 2012-04-25

Family

ID=42462881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100016827A Expired - Fee Related CN101739383B (zh) 2008-11-19 2009-01-08 一种可配置处理器体系结构和控制方法

Country Status (1)

Country Link
CN (1) CN101739383B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033736A (zh) * 2010-12-31 2011-04-27 清华大学 一种指令集可扩展处理器的控制方法
CN102804165A (zh) * 2009-02-11 2012-11-28 四次方有限公司 具有可扩展数据路径的前端处理器
CN103206968A (zh) * 2012-01-12 2013-07-17 三美电机株式会社 传感器输出修正电路及修正装置、顺序控制电路及方法
CN103377070A (zh) * 2012-04-12 2013-10-30 沈阳高精数控技术有限公司 一种现场总线接口抽象方法
CN106155357A (zh) * 2015-04-23 2016-11-23 鸿富锦精密工业(武汉)有限公司 鼠标、生理指标检测系统及方法
CN106557356A (zh) * 2015-09-25 2017-04-05 阿里巴巴集团控股有限公司 一种任务处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315040C (zh) * 2002-01-08 2007-05-09 北京南思达科技发展有限公司 一种逻辑可重组电路

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804165A (zh) * 2009-02-11 2012-11-28 四次方有限公司 具有可扩展数据路径的前端处理器
CN102033736A (zh) * 2010-12-31 2011-04-27 清华大学 一种指令集可扩展处理器的控制方法
CN103206968A (zh) * 2012-01-12 2013-07-17 三美电机株式会社 传感器输出修正电路及修正装置、顺序控制电路及方法
CN103206968B (zh) * 2012-01-12 2016-12-21 三美电机株式会社 传感器输出修正电路及修正装置、顺序控制电路及方法
CN103377070A (zh) * 2012-04-12 2013-10-30 沈阳高精数控技术有限公司 一种现场总线接口抽象方法
CN103377070B (zh) * 2012-04-12 2016-08-31 沈阳高精数控智能技术股份有限公司 一种现场总线接口抽象方法
CN106155357A (zh) * 2015-04-23 2016-11-23 鸿富锦精密工业(武汉)有限公司 鼠标、生理指标检测系统及方法
CN106557356A (zh) * 2015-09-25 2017-04-05 阿里巴巴集团控股有限公司 一种任务处理方法及装置
CN106557356B (zh) * 2015-09-25 2020-06-19 阿里巴巴集团控股有限公司 一种任务处理方法及装置

Also Published As

Publication number Publication date
CN101739383B (zh) 2012-04-25

Similar Documents

Publication Publication Date Title
US10417175B2 (en) Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10469397B2 (en) Processors and methods with configurable network-based dataflow operator circuits
US10445250B2 (en) Apparatus, methods, and systems with a configurable spatial accelerator
US11307873B2 (en) Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10387319B2 (en) Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10445451B2 (en) Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10558575B2 (en) Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) Processors, methods, and systems with a configurable spatial accelerator
CN106293640B (zh) 用于紧密耦合的异构计算的硬件处理器、方法以及硬件装置
US10817291B2 (en) Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10891240B2 (en) Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US20190303263A1 (en) Apparatus, methods, and systems for integrated performance monitoring in a configurable spatial accelerator
US20190303297A1 (en) Apparatus, methods, and systems for remote memory access in a configurable spatial accelerator
US11029958B1 (en) Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator
US20190004878A1 (en) Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features
US10853073B2 (en) Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10678724B1 (en) Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
CN101739383B (zh) 一种可配置处理器体系结构和控制方法
CN104350461B (zh) 具有不同的读和写掩码的多元素指令
CN107003846A (zh) 用于向量索引加载和存储的方法和装置
EP3757814A1 (en) Apparatuses, methods, and systems for time-multiplexing in a configurable spatial accelerator
CN110321159A (zh) 用于实现链式区块操作的系统和方法
US11907713B2 (en) Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
Bhosle et al. FPGA Implementation of low power pipelined 32-bit RISC Processor
Albishri Design & Development of a High-speed Performance ALU by Using Execution Modes and Multi-Operand Operation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120425

Termination date: 20180108