CN101739383B - 一种可配置处理器体系结构和控制方法 - Google Patents
一种可配置处理器体系结构和控制方法 Download PDFInfo
- Publication number
- CN101739383B CN101739383B CN2009100016827A CN200910001682A CN101739383B CN 101739383 B CN101739383 B CN 101739383B CN 2009100016827 A CN2009100016827 A CN 2009100016827A CN 200910001682 A CN200910001682 A CN 200910001682A CN 101739383 B CN101739383 B CN 101739383B
- Authority
- CN
- China
- Prior art keywords
- configurable
- configuration
- register
- parts
- instruction
- 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.)
- Expired - Fee Related
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按照配置信息完成指示的运算操作,该配置指令在逻辑上等价于:
OP1 ALU 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 00101100101011;
均表示2个ALU完成如下运算操作:
RRO1=RRO1+RRO2,RRO2=RRO1×RRI2。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种可配置处理器体系结构,其特征在于:包括互连的可配置控制部件和可配置部件,所述可配置控制部件执行配置指令向可配置部件发出配置信息,所述可配置部件根据该配置信息执行处理任务,所述配置指令至少包含操作码、源和目的参数,所述操作码为规定指令所执行操作的命令码,所述源为指令操作的对象,所述目的是用于指定写入配置信息的配置寄存器。
2.根据权利要求1所述的可配置处理器体系结构,其特征在于:所述可配置部件包括可配置数据路径部件、可配置输入输出部件和至少一个可配置运算部件,所述可配置输入输出部件包括可配置存储部件和/或可配置输入输出端口。
3.根据权利要求2所述的可配置处理器体系结构,其特征在于:所述可配置部件具有配置寄存器和功能单元,所述可配置控制部件将配置信息写入指定的可配置部件中的配置寄存器,所述可配置部件的功能单元根据其自身配置寄存器中的配置信息所规定的操作来执行处理任务。
4.根据权利要求1所述的可配置处理器体系结构,其特征在于:所述可配置控制部件包括指令寄存器和通用寄存器,所述指令寄存器的大小、通用寄存器的数量可配置。
5.一种可配置处理器的控制方法,其特征在于包括以下步骤:
可配置控制部件执行配置指令,将配置信息写入指令中指定的可配置部件的配置寄存器中,所述配置指令至少包含操作码、源和目的参数,所述操作码为规定指令所执行操作的命令码,所述源为指令操作的对象,所述目的是用于指定写入配置信息的配置寄存器;
可配置部件依据其自身配置寄存器中写入的配置信息执行相应操作。
6.根据权利要求5所述的控制方法,其特征在于,所述配置指令中的源包括寄存器中的内容或立即数。
7.根据权利要求6所述的控制方法,其特征在于,所述配置指令通过定义超长指令字加以实现,所述超长指令字的字长根据其所配置的可配置部件的数目来设置。
8.根据权利要求7所述的控制方法,其特征在于,所述配置指令的字长配置通过修正指令寄存器加以实现。
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 CN101739383A (zh) | 2010-06-16 |
CN101739383B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100321579A1 (en) * | 2009-02-11 | 2010-12-23 | Mohammad Ahmad | Front End Processor with Extendable Data Path |
CN102033736A (zh) * | 2010-12-31 | 2011-04-27 | 清华大学 | 一种指令集可扩展处理器的控制方法 |
JP5915192B2 (ja) * | 2012-01-12 | 2016-05-11 | ミツミ電機株式会社 | センサ出力補正回路及びセンサ出力補正装置 |
CN103377070B (zh) * | 2012-04-12 | 2016-08-31 | 沈阳高精数控智能技术股份有限公司 | 一种现场总线接口抽象方法 |
CN106155357A (zh) * | 2015-04-23 | 2016-11-23 | 鸿富锦精密工业(武汉)有限公司 | 鼠标、生理指标检测系统及方法 |
CN106557356B (zh) * | 2015-09-25 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 一种任务处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1431588A (zh) * | 2002-01-08 | 2003-07-23 | 北京南思达科技发展有限公司 | 一种逻辑可重组电路 |
-
2009
- 2009-01-08 CN CN2009100016827A patent/CN101739383B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1431588A (zh) * | 2002-01-08 | 2003-07-23 | 北京南思达科技发展有限公司 | 一种逻辑可重组电路 |
Also Published As
Publication number | Publication date |
---|---|
CN101739383A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417175B2 (en) | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator | |
US10445250B2 (en) | Apparatus, methods, and systems with a configurable spatial accelerator | |
JP6456867B2 (ja) | 密結合ヘテロジニアスコンピューティングのためのハードウェアプロセッサ及び方法 | |
US10891240B2 (en) | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator | |
US11029958B1 (en) | Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator | |
US10817291B2 (en) | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator | |
US20190303263A1 (en) | Apparatus, methods, and systems for integrated performance monitoring in a configurable spatial accelerator | |
EP3776229A1 (en) | Apparatuses, methods, and systems for remote memory access in a configurable spatial accelerator | |
US20190303153A1 (en) | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator | |
CN104040484B (zh) | 浮点缩放处理器、方法、系统和指令 | |
CN104011657B (zh) | 用于向量计算和累计的装置和方法 | |
US10853073B2 (en) | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator | |
EP3602277A1 (en) | Systems, methods, and apparatuses for dot production operations | |
CN104145245B (zh) | 浮点舍入量确定处理器、方法、系统和指令 | |
JP2024038122A (ja) | 行列演算アクセラレータの命令のための装置、方法、およびシステム | |
CN101739383B (zh) | 一种可配置处理器体系结构和控制方法 | |
KR20230002229A (ko) | 체인화된 타일 연산들을 구현하기 위한 시스템들 및 방법들 | |
CN104603745A (zh) | 用于独立数据上递归计算的向量化的读和写掩码更新指令 | |
CN107003846A (zh) | 用于向量索引加载和存储的方法和装置 | |
CN104350461B (zh) | 具有不同的读和写掩码的多元素指令 | |
US20200409709A1 (en) | Apparatuses, methods, and systems for time-multiplexing in a configurable spatial accelerator | |
US11907713B2 (en) | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator | |
CN110909882A (zh) | 用于执行水平铺块操作的系统和方法 | |
CN105264489A (zh) | 访问作为多个较小寄存器或组合的较大寄存器的寄存器组的处理器、方法和系统 | |
CN101211256A (zh) | 一种专用双流水线risc指令系统及其操作方法 |
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 |
Granted publication date: 20120425 Termination date: 20180108 |
|
CF01 | Termination of patent right due to non-payment of annual fee |