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

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

Info

Publication number
WO2010057375A1
WO2010057375A1 PCT/CN2009/071034 CN2009071034W WO2010057375A1 WO 2010057375 A1 WO2010057375 A1 WO 2010057375A1 CN 2009071034 W CN2009071034 W CN 2009071034W WO 2010057375 A1 WO2010057375 A1 WO 2010057375A1
Authority
WO
WIPO (PCT)
Prior art keywords
configurable
component
configuration
instruction
register
Prior art date
Application number
PCT/CN2009/071034
Other languages
English (en)
French (fr)
Inventor
王新安
戴鹏
胡子一
焦玉中
赵勇
崔小乐
申凌
吴泽俊
张兴
Original Assignee
北京大学深圳研究生院
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 北京大学深圳研究生院 filed Critical 北京大学深圳研究生院
Publication of WO2010057375A1 publication Critical patent/WO2010057375A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Definitions

  • the present invention relates to the field of integrated circuit design, and in particular to a configurable processor architecture and control method.
  • ASIC application specific algorithms, such as digital media and communication baseband
  • 90nm-45nm stage Application Specific Integrated
  • Circuit ie ASIC design
  • ASIC application-specific integrated circuit
  • the architecture and instruction system of the existing processor including the CPU and DSP, have three problems:
  • the first is to achieve high-performance algorithmic computing functions, which requires a relatively complex architecture and instruction system, and It is not easy to expand.
  • improving the computing performance from the architecture often requires re-modification of the entire processor design, and even modification of the entire instruction system, such as adding computing components and storage components and data paths;
  • the architecture of the existing processor needs to pay a large power and area cost, because it mainly improves the execution speed of the instruction, such as increasing the number of stages or the number of pipelines, increasing the fast cache, etc. It leads to the rapid improvement of the complexity of the processor control component.
  • the third is based on the algorithm implementation of the general processor instruction system. The semantics of the disassembled program code are clear and easy to be copied, and it is difficult to guarantee the intellectual property of the core algorithm.
  • the technical problem to be solved by the present invention is to provide a configurable processor architecture that is simple in structure and easy to expand.
  • Another technical problem to be solved by the present invention is to provide a control method of a configurable processor.
  • a configurable processor architecture comprising interconnected configurable control components and configurable components, the configurable control component for executing instructions to issue configuration information to a configurable component, the configurable component for A processing task is performed based on the configuration information.
  • the configurable components described above include a configurable data path component, a configurable input and output component, and at least one configurable computing component, the configurable input and output component including a configurable storage component and a y or configurable input and output port.
  • the configurable component has a configuration register and a functional unit, the configurable control component writing configuration information to a configuration register in a specified configurable component, the functional unit of the configurable component being in accordance with a configuration register in its own configuration
  • the configuration information performs the specified operations to perform processing tasks.
  • the above configurable control unit includes an instruction register and a general purpose register, and the size of the instruction register and the number of general purpose registers are configurable.
  • a configurable processor control method comprising the following steps:
  • the configurable control unit sends configuration information to the configurable component
  • the configurable component performs the appropriate action based on the configuration information.
  • the configurable component includes a configuration register and a functional unit, the configurable control component executing a configuration instruction to write configuration information into a configuration register of a configurable component specified in the instruction, the configurable component being configured according to its own configuration
  • the configuration information in the register performs the corresponding operation.
  • the configuration command includes at least an operation code, a source and a destination parameter, the operation code is a command code that specifies an operation performed by the instruction, the source is an object of the instruction operation, and the purpose is to specify the write configuration information.
  • Configuration register is a command code that specifies an operation performed by the instruction.
  • the source in the above configuration instructions includes the contents of the register or an immediate value.
  • the above configuration instructions are implemented by defining a very long instruction word whose word length is set according to the number of configurable components that it is configured.
  • the complexity of the arithmetic operations is moved into the configurable computing components, the complexity of the data path is moved into the configurable data path components, and the complexity of the input and output is moved into the configurable input and output components.
  • the configurable control components are very simple, there is no need to design complex instruction pipelines, and no multi-level fast instruction cache is needed to improve the performance of the processor;
  • the performance of the processor needs to be increased by increasing the number of configurable computing components, without changing the entire architecture of the processor, and only requiring other related components to simply expand, such as adding configurability. Control the word length of the component, etc.;
  • the operation of the configurable component is performed by the configurable control component executing the configuration instruction, even if the program code of the configurable control component is disassembled, it is difficult to understand the arithmetic operation represented by the configuration information. Obtaining the process of algorithm implementation can effectively protect the algorithm;
  • the configuration instructions are implemented by long instructions, which can simplify the configuration complexity caused by the change in the number of configurable components;
  • the configuration of the configurable control unit simplifies the configuration process by simply modifying the hardware module associated with the word length such as the instruction register.
  • Embodiment 1 is a schematic structural diagram of Embodiment 1 of a configurable processor architecture of the present invention
  • Embodiment 2 is a schematic structural diagram of Embodiment 2 of a configurable processor architecture of the present invention.
  • FIG. 1 An architecture of a configurable processor of the present invention, a first embodiment, as shown in FIG. 1, a configurable embedded DSP, comprising a configurable control unit CU, a configurable data path component Router A configurable input/output port IOPort, a configurable storage unit MEM, and at least one configurable computing unit ALU.
  • the ALU of this example is two, ALU1 and ALU2, respectively.
  • the configurable components Router, IOPorts MEMs ALUl and ALU2 both include configuration registers and functional units.
  • the configurable control unit CU executes a configuration command to write configuration information to a configuration register of a designated configurable component, and the function unit performs a prescribed operation according to the configuration information in its own configuration register.
  • the operational functions of the configurable arithmetic components ALU1 and ALU2 can be configured as one or more arithmetic logic operations, including basic functional modules such as adders, multipliers, shifters, etc., which are sent according to their respective configurations.
  • the configuration information of the registers C1 and C2 completes the corresponding arithmetic logic operations.
  • each ALU has two inputs and one output.
  • the configurable data path Router contains a set of registers RRO that store both operands and operation results, and a set of registers RRI that store operands.
  • RR0 has two RR1 and RR02, respectively. The two are RRI1 and RRI2, respectively.
  • the Router also includes a configurable switch switch, which is used to send the RR0 and RRI data to the ALU input according to the configuration information of the configuration register C3.
  • each input of AL U1 is selected by the switch switch in the Router from the data register RR01 or RRI1 in the Router according to the configuration information.
  • the output of ALU1 is connected to the data register RR01 in the Router; and each path of the AL U2 The input is selected by the switch switch in the Router from the data register RR02 or RRI2 in the Router according to the configuration information.
  • the output of the ALU2 is connected to the data register RR02 in the Router.
  • the configurable storage unit MEM includes a configuration register C4 and a bank that can be managed to access its mode through the configuration register C4.
  • its address generator is set according to the configuration information in the configuration register C4.
  • the format converter performs format conversion of the external data and the bank according to the configuration information in the configuration register C4.
  • Configurable input and output port IOPort which can be configured as bus interface access, memory access, etc. according to the configuration information of its configuration register C5.
  • Configurable Control Unit CU the word length of the instruction is configured according to the function definition and number of components such as ALU, and the size of the instruction memory and the number of general-purpose registers Greg are configurable.
  • the configuration instructions in the instruction memory are decoded and executed, and the configuration information is sent to the configuration registers of the configurable component.
  • Configurable storage unit MEM configurable input and output port IOPort, configurable control unit CU and configurable data path Router® over bus interconnect.
  • FIG. 2 The architecture of a configurable processor of the present invention, another embodiment of which is shown in FIG. 2, which differs from the first embodiment in that there is no configurable storage component MEM, and the input and output ports can be configured. 10
  • Port is specifically the memory access interface IOMemory.
  • the configurable processor controls the configurable components by the following steps:
  • the configurable control component sends configuration information to the configurable component
  • the configurable component performs the appropriate action based on the configuration information.
  • the configurable component includes a configuration register and a functional unit, the configurable control component executing the instruction, writing the configuration information to a configuration register of the configurable component specified in the instruction, and the configurable component is configured according to its own configuration register
  • the configuration information in the operation performs the corresponding operation.
  • the instruction includes at least an opcode, a source and a destination parameter, the opcode is a command code specifying an operation performed by the instruction, the source is an object of the instruction operation, and the purpose is to specify a configuration register to write the configuration information.
  • the instructions include configuration instructions, data input and output instructions (which may include bus interface access instructions and memory access instructions), data transfer instructions, and transfer control instructions.
  • the implementation of the configuration instructions is performed by the configurable control component executing the configuration instructions, sending configuration information to the configuration registers of the configurable component, and the configurable component receiving the configuration information to perform processing tasks.
  • the configuration command includes an operation code, a source and a destination parameter
  • the operation code is a command code that specifies an operation performed by the instruction
  • the source is an object of the instruction operation
  • the purpose is to specify the write. Enter the configuration register for the configuration information.
  • Immdata sends the immediate immdata to the configuration registers of each ALU in order;
  • the instructions that configure the ALU contain the arithmetic logic operations instructions executed by the ALU.
  • the execution of the instruction means that each ALU completes the indicated operation according to the configuration information, which is logically equivalent to: [50] OP1 ALU RRO, RR; OP2ALU RRO, RR; ...; OPNALU
  • RRO, RR where OPl, OP2, ..., OPN represents the opcode indicating each ALU, the corresponding RRO of each ALU is both an operand and the result of the operation, and the other operand is switched by the Switch in the Router according to its configuration register.
  • Immdata send the immediate immdata to the configuration register of each ALU and the configuration register of the router in order;
  • the instruction completes the indicated operation operation of the ALU that completes the configuration of the Switch; the configuration instruction realizes sending configuration information to multiple configurable components by defining a very long instruction word, and the word length of the super long instruction word can be Set to the number of configurable components that are configured according to it.
  • the instruction word length can be adjusted or configured according to the number of arithmetic components, storage components, data path components, and input/output ports configured by it. In a preferred manner, only the instruction register and the like are corrected. Long related hardware modules, others such as decoders do not need to be changed.
  • bus interface access instructions for example:
  • RGM addr
  • RGM addr
  • F (ALU) laddr; Determines whether to transfer to the absolute instruction address by the value of the conditional expression F (ALU). I addr;
  • the expression F (ALU) is a logical combination of the output states of the various ALUs;
  • the instruction system of the present invention is very simple and easy to implement, without changing the basic implementation method of the instruction system of the present invention (by configuring the ALU to drive the specified operation, it is only possible to streamline the instruction type and simplify the implementation of the CU. On the basis of, it can be increased or decreased as appropriate.
  • the Switch of the Router uses a fully interconnected structure, that is, each RRI and RRO can be connected to each input of the AL U, so that the configuration register of the Router needs 8 bits, and each 2 bits indicates an ALU.
  • the RRO or RRI from which the data at the input comes from is defined as follows:
  • MOV RouterALU 001011 00101011;
  • RR01 RR01+RR02
  • RR02 RR01xRRI2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

一种可配置处理器体系结构和控制方法
[1] 技术领域
[2] 本发明涉及集成电路设计领域, 具体涉及一种可配置处理器体系结构和控制方 法。
[3] 背景技术
[4] 随着集成电路制造工艺进入 90nm-45nm阶段, 数据流算法 (如数字媒体和通信 基带等) 的 ASIC (Application Specific Integrated
Circuit, 即专用集成电路) 设计, 面临设计周期长、 设计成本高、 灵活性差、 扩 展性差, 难以满足产品快速上市、 功能不断提升的需求。
[5] 现有处理器的体系结构和指令系统, 包括 CPU和 DSP, 存在三个方面的问题: 第一是要实现高性能的算法运算功能, 一定需要相对复杂的体系结构和指令系 统, 并且不易扩展, 除了工艺进步的因素之外, 从体系结构上提升运算性能, 往往需要重新修改整个处理器的设计、 甚至修改整个指令系统, 比如增加运算 部件和存储部件与数据通路等; 第二是现有处理器的体系结构提升性能需要付 出较大的功耗和面积代价, 因为它主要通过提升指令的执行速度来获得性能的 提升, 比如增加流水线的级数或条数、 增加快速缓存等, 导致处理器控制部件 复杂性的快速提升; 第三是基于一般处理器指令系统的算法实现, 反汇编后的 程序代码的语义明确, 比较容易被抄袭, 难以保证核心算法的知识产权。
[6] 发明内容
[7] 有鉴于此, 本发明要解决的技术问题是提供一种结构简单、 易于扩展的可配置 处理器体系结构, 本发明要解决的另一个技术问题是提供可配置处理器的控制 方法。
[8] 本发明是通过以下技术方案来解决上述技术问题的:
[9] 一种可配置处理器体系结构, 包括互连的可配置控制部件和可配置部件, 所述 可配置控制部件用于执行指令向可配置部件发出配置信息, 所述可配置部件用 于根据该配置信息执行处理任务。 [10] 上述可配置部件包括可配置数据路径部件、 可配置输入输出部件和至少一个可 配置运算部件, 所述可配置输入输出部件包括可配置存储部件和 y或可配置输 入输出端口。
[11] 上述可配置部件具有配置寄存器和功能单元, 所述可配置控制部件将配置信息 写入指定的可配置部件中的配置寄存器, 所述可配置部件的功能单元根据其自 身配置寄存器中的配置信息进行规定的操作来执行处理任务。
[12] 上述可配置控制部件包括指令寄存器和通用寄存器, 所述指令寄存器的大小、 通用寄存器的数量可配置。
[13] 一种可配置处理器的控制方法, 包括以下步骤:
[14] 可配置控制部件向可配置部件发送配置信息;
[15] 可配置部件依据所述配置信息执行相应操作。
[16] 上述可配置部件包括配置寄存器和功能单元, 所述可配置控制部件执行配置指 令, 将配置信息写入指令中指定的可配置部件的配置寄存器中, 所述可配置部 件根据其自身配置寄存器中的配置信息执行相应操作。
[17] 上述配置指令至少包含操作码、 源和目的参数, 所述操作码为规定指令所执行 操作的命令码, 所述源为指令操作的对象, 所述目的是用于指定写入配置信息 的配置寄存器。
[18] 上述配置指令中的源包括寄存器中的内容或立即数。
[19] 上述配置指令是通过定义超长指令字加以实现的, 所述超长指令字的字长是根 据其所配置的可配置部件的数目来设置的。
[20] 上述配置指令的字长配置通过修正指令寄存器加以实现。
[21] 本发明与现有技术相比较的有益效果是:
[22] 1.
对于本发明的处理器体系结构而言, 将运算操作的复杂性移入各个可配置运算 部件, 将数据通路的复杂性移入可配置数据路径部件, 将输入输出的复杂性移 入可配置输入输出部件, 这样, 可配置控制部件非常简单, 不需要设计复杂的 指令流水线、 不需要加多级快速指令缓存去提升处理器的性能;
[23] 2. 对于本发明的处理器体系结构而言, 需要提升处理器的性能可通过增加可配置 运算部件的数量实现, 无需变更处理器的整个架构, 仅需要其它相关部件简单 扩展即可, 如增加可配置控制部件的字长等;
[24] 3.
对于本发明的处理器体系结构而言, 可配置部件的操作通过可配置控制部件执 行配置指令驱动完成, 即使反汇编可配置控制部件的程序代码, 在不知晓配置 信息所代表的运算操作就难以获得算法实现的过程, 可以实现对算法的有效保 护;
[25] 4.
对于本发明的控制方法而言, 其配置指令通过长指令实现, 可以简化因可配置 部件数目变化而带来的配置复杂性;
[26] 5.
对于本发明的控制方法而言, 可配置控制部件的配置只需通过修正指令寄存器 等与字长相关的硬件模块, 简化了配置过程。
[27] 附图说明
[28] 图 1是本发明可配置处理器体系结构实施例 1结构示意图;
[29] 图 2是本发明可配置处理器体系结构实施例 2结构示意图。
[30] 具体实施方式
[31] 下面用具体实施方式结合附图对本发明作进一步详细说明。
[32] 本发明一种可配置处理器的体系结构, 第一种实施方式, 如图 1所示, 一种可 配置嵌入式 DSP, 包括一个可配置控制部件 CU、 一个可配置数据路径部件 Router 、 一个可配置输入输出端口 IOPort、 一个可配置存储部件 MEM、 至少一个可配 置运算部件 ALU, 本例的 ALU为两个, 分别为 ALU1和 ALU2。 可配置部件 Router 、 IOPorts MEMs ALUl和 ALU2均包括配置寄存器和功能单元。 可配置控制部 件 CU执行配置指令, 将配置信息写入指定的可配置部件的配置寄存器, 所述功 能单元根据其自身配置寄存器中的配置信息执行规定的操作。
[33] 可配置运算部件 ALU1和 ALU2的运算功能部件可以配置为一种或多种算术逻辑 操作, 包括加法器、 乘法器、 移位器等基本的功能模块, 其根据各自的配置寄 存器 Cl、 C2的配置信息完成相应的算术逻辑操作。 其中, 每个 ALU有两路输入 和一路输出。
[34] 可配置数据路径 Router, 包含一组既存放操作数又存放运算结果的寄存器 RRO , 一组存放操作数的寄存器 RRI, 本例中, RR0有两个分别是 RR01和 RR02, R RI有两个分别是 RRI1和 RRI2, Router还包含一个可配置的交换开关 Switch, 用来 将 RR0和 RRI的数据按配置寄存器 C3的配置信息送往 ALU的输入。 本例中, AL U1的每路输入由 Router中的交换开关 Switch按照配置信息从 Router中的数据寄存 器 RR01或 RRI1中选择, ALU1的输出连接到 Router中的数据寄存器 RR01 ; 而 AL U2的每路输入由 Router中的交换开关 Switch按照配置信息从 Router中的数据寄存 器 RR02或 RRI2中选择, ALU2的输出连接到 Router中的数据寄存器 RR02。
[35] 可配置存储部件 MEM包括配置寄存器 C4和可以通过配置寄存器 C4管理访问其 方式的存储体, 对于按地址访问的存储体而言就是其地址产生器根据配置寄存 器 C4中的配置信息设定存储体存取数据的地址基址和跳变步长。 对于需要进行 格式转换的存储体, 其格式转换器根据配置寄存器 C4中的配置信息完成外部数 据与该存储体的格式转换。
[36] 可配置输入输出端口 IOPort, 可以根据其配置寄存器 C5的配置信息配置为总线 接口访问、 存储器访问等多种形式。
[37] 可配置控制部件 CU, 指令的字长根据 ALU等部件的功能定义和数量多少来配 置, 指令存储器的大小和通用寄存器 Greg的多少可配置。 指令存储器中的配置 指令经过译码和执行, 将配置信息发到可配置部件的配置寄存器中。
[38] 可配置存储部件 MEM、 可配置输入输出端口 IOPort、 可配置控制部件 CU和可 配置数据路径 Router®过总线互连。
[39] 本发明一种可配置处理器的体系结构, 其另一种实施方式, 如图 2所示, 其与 第一种实施方式的差别在于没有可配置存储部件 MEM, 可配置输入输出端口 10
Port具体为存储器访问接口 IOMemory。
[40] 在一种实施例中, 可配置处理器通过以下步骤对可配置部件进行控制:
[41] 可配置控制部件向可配置部件发送配置信息;
[42] 可配置部件依据所述配置信息执行相应操作。 在某一种实施方式中, 可配置部件包括配置寄存器和功能单元, 可配置控制部 件执行指令, 将配置信息写入指令中指定的可配置部件的配置寄存器中, 可配 置部件根据其自身配置寄存器中的配置信息执行相应操作。 指令至少包含操作 码、 源和目的参数, 所述操作码为规定指令所执行操作的命令码, 所述源为指 令操作的对象, 所述目的是用于指定写入配置信息的配置寄存器。
在一种实施方式中, 指令包括配置指令、 数据输入输出指令 (可包括总线接口 访问指令和存储器访问指令) 、 数据传输指令和转移控制指令。
[45] 配置指令的实现过程是通过可配置控制部件执行配置指令, 向可配置部件的配 置寄存器发送配置信息, 可配置部件接收配置信息执行处理任务。
[46] 一、 配置指令
[47] 本实施方式中, 配置指令包含操作码、 源和目的参数, 所述操作码为规定指令 所执行操作的命令码, 所述源为指令操作的对象, 所述目的是用于指定写入配 置信息的配置寄存器。
[48] 1. MOV ALU
immdata; 将立即数 immdata按位按顺序送往各 ALU的配置寄存器;
[49] 配置 ALU的指令同吋蕴含 ALU所执行的算术逻辑运算指令。 该指令的执行意味 着各 ALU按照配置信息完成指示的运算操作, 该配置指令在逻辑上等价于: [50] OP1 ALU RRO, RR; OP2ALU RRO, RR; ...; OPNALU
RRO, RR; 其中 OPl, OP2, ..., OPN代表指示各 ALU的操作码, 各个 ALU相 应的 RRO既是一个操作数, 也存放操作结果, 另一个操作数由 Router中的 Switch 按照其配置寄存器的内容指定;
[51] 2. MOV Router immdata; 将立即数 immdata送往 Router的配置寄存器;
[52] 该指令的执行仅完成对 Router中 Switch的配置, 不直接驱动 ALU的操作;
[53] 3. MOV RouterALU
immdata; 将立即数 immdata按位按顺序送往各 ALU的配置寄存器和 Router的配置 寄存器;
[54] 该指令在完成 Switch配置的同吋驱动 ALU完成指示的运算操作; 配置指令通过 定义超长指令字来实现向多个可配置部件发送配置信息, 超长指令字的字长可 以根据其所配置的可配置部件的数目来设置。
[55] 4. MOV MEM immdata; 将立即数 immdata送往 MEM的配置寄存器;
[56] 通过改变配置指令来实现配置, 指令字长可以根据其配置的运算部件、 存储部 件、 数据路径部件及输入输出端口的数目调整或配置, 优选的方式, 只需修正 指令寄存器等与字长相关的硬件模块, 其他如译码器等无需改变。
[57] 二、 总线接口访问指令, 例如:
[58] l. IN RR, IOPort; 将 IOPort的数据输入到指定的 RRI或 RRO;
[59] 2. IN Greg, IOPort; 将 IOPort的数据输入到指定的通用寄存器 Greg;
[60] 3. IN MEM, IOPort; 将 IOPort的数据输入到 MEM;
[61] 4. OUT
Greg, IOPort; 将指定的通用寄存器 Greg的数据输出到可配置输入输出端口 IOPo rt;
[62] 5. OUT RR, IOPort; 将指定的 RRO或 RRI的数据输出到 IOPort;
[63] 6. OUT MEM, IOPort; 将 MEM的数据输出到 IOPort;
[64] 根据 IOPort的数据位宽, 可以同吋指定多个 RR (即 RRI或 RRO) 或 Greg。
[65] 三、 存储器访问指令, 例如:
[66] 1. LOAD
RGM, addr; 将地址 addr存储的数据读取到指定的 RRI或 RRO或 Greg或 MEM;
[67] 2. STORE
RGM, addr; 将指定的 RRI或 RRO或 Greg或 MEM的数据写入指定的存储地址 addr
[68] 四、 RR、 Gregs MEM之间的数据传输指令, 例如:
[69] l. MOV RR, Greg; 将 Greg的数据传输给 RR;
[70] 2. MOV Greg, RR; 将 RR的数据传输给 Greg;
[71] 3. MOV Greg, MEM; 将 MEM的数据读出到 Greg;
[72] 4. MOV MEM, Greg; 将 Greg的数据写入到 MEM;
[73] 5. MOV RR, MEM; 将 MEM的数据读出到 RR;
[74] 6. MOV MEM, RR; 将 RR的数据写入到 MEM; [75] 五、 转移控制指令, 例如:
[76] l. JMP laddr; 无条件转移到绝对指令地址 laddr;
[77] 2. JMP n; 无条件转移到相对指令地址 n;
[78] 3. JMP
F (ALU) , laddr; 按条件表达式 F (ALU) 的值决定是否转移到绝对指令地址 I addr; 表达式 F (ALU) 是各个 ALU输出状态的逻辑组合;
[79] 4. JMP
F (ALU) , n; 按条件表达式 F (ALU) 的值决定是否转移到相对指令地址 n;
[80] 5. HLT; 暂停指令。
[81] 可以看出, 本发明的指令系统非常简单, 很容易实现, 在不改变本发明指令系 统基本实现方法 (通过配置 ALU驱动其完成指定的运算, 仅可能精简指令种类 , 简化 CU的实现) 的基础上, 可以适当增加或减少。
[82] 针对本发明可配置嵌入式 DSP的体系结构, ALU运算操作配置指令的实现方法 的具体实施例如下:
[83] 本例中有 2个 ALU, 每个 ALU的配置寄存器由 3位构成, 其值指示的运算操作定 义如下:
[84] 000不做任何操作
[85] 001加法
[86] 010减法
[87] 011乘法
[88] 100除法
[89] 101取大
[90] 110取小
[91] 111赋值
[92] 本例中 Router的 Switch釆用全互连的结构, 即每个 RRI和 RRO均可以连接到 AL U的每一个输入端, 这样 Router的配置寄存器需要 8位, 每 2位指示一个 ALU输入 端的数据来源于哪个 RRO或 RRI, 具体定义如下:
[93] 00 RR01 [94] 01 RRI1
[95] 10 RR02
[96] 11 RRI2
[97] 这样, 指令序列:
[98] MOV Router 00101011;
[99] MOV ALU 001011;
[100] 或
[101] MOV RouterALU 001011 00101011;
[102] 均表示 2个 ALU完成如下运算操作:
[103] RR01=RR01+RR02, RR02=RR01xRRI2。
[104] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明, 不能认 定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的普通技术 人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应当视为属于本发明的保护范围。

Claims

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810217464 2008-11-19
CN200810217464.2 2008-11-19

Publications (1)

Publication Number Publication Date
WO2010057375A1 true WO2010057375A1 (zh) 2010-05-27

Family

ID=42197822

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/071034 WO2010057375A1 (zh) 2008-11-19 2009-03-26 一种可配置处理器体系结构和控制方法

Country Status (1)

Country Link
WO (1) WO2010057375A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656446A (zh) * 2002-05-24 2005-08-17 皇家飞利浦电子股份有限公司 可配置处理器
CN1666187A (zh) * 2002-06-28 2005-09-07 摩托罗拉公司 可重配置的流型矢量处理器
CN1716229A (zh) * 2004-06-28 2006-01-04 富士通株式会社 可重配置处理器和半导体器件
CN101073074A (zh) * 2004-12-07 2007-11-14 松下电器产业株式会社 可重新配置的信号处理器
CN101257483A (zh) * 2008-01-24 2008-09-03 复旦大学 一种应用于无线通信系统基带信号处理的可配置处理器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656446A (zh) * 2002-05-24 2005-08-17 皇家飞利浦电子股份有限公司 可配置处理器
CN1666187A (zh) * 2002-06-28 2005-09-07 摩托罗拉公司 可重配置的流型矢量处理器
CN1716229A (zh) * 2004-06-28 2006-01-04 富士通株式会社 可重配置处理器和半导体器件
CN101073074A (zh) * 2004-12-07 2007-11-14 松下电器产业株式会社 可重新配置的信号处理器
CN101257483A (zh) * 2008-01-24 2008-09-03 复旦大学 一种应用于无线通信系统基带信号处理的可配置处理器

Similar Documents

Publication Publication Date Title
JP7264955B2 (ja) プログラム可能な最適化を有するメモリネットワークプロセッサ
US20190102179A1 (en) Processors and methods for privileged configuration in a spatial array
EP3776229A1 (en) Apparatuses, methods, and systems for remote memory access in a configurable spatial accelerator
US10140124B2 (en) Reconfigurable microprocessor hardware architecture
EP3109766A2 (en) Hardware processors and methods for tightly-coupled heterogeneous computing
US10678541B2 (en) Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions
WO2001016710A1 (fr) Processeur de donnees
US9594395B2 (en) Clock routing techniques
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
US7139899B2 (en) Selected register decode values for pipeline stage register addressing
WO2022142479A1 (zh) 一种硬件加速器、数据处理方法、系统级芯片及介质
CN112099762A (zh) 快速实现sm2密码算法的协处理系统及方法
WO2009141612A2 (en) Improvements relating to data processing architecture
US20080288728A1 (en) multicore wireless and media signal processor (msp)
CN112486908B (zh) 层次化的多rpu多pea的可重构处理器
JPH11306084A (ja) 情報処理装置及び記憶媒体
US8402251B2 (en) Selecting configuration memory address for execution circuit conditionally based on input address or computation result of preceding execution circuit as address
US6948049B2 (en) Data processing system and control method
JPH10222367A (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
US10445099B2 (en) Reconfigurable microprocessor hardware architecture
JP2002229779A (ja) 情報処理装置
WO2010057375A1 (zh) 一种可配置处理器体系结构和控制方法
JP2001202241A (ja) 実行パケットが2以上の取出しパケットをスパンするマイクロプロセッサを備えるディジタル処理システム及び同システムの操作方法
JP5372307B2 (ja) データ処理装置およびその制御方法
JP2000207210A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09827124

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09827124

Country of ref document: EP

Kind code of ref document: A1