CN102270112A - Risc微处理器指令译码电路 - Google Patents

Risc微处理器指令译码电路 Download PDF

Info

Publication number
CN102270112A
CN102270112A CN2010101914666A CN201010191466A CN102270112A CN 102270112 A CN102270112 A CN 102270112A CN 2010101914666 A CN2010101914666 A CN 2010101914666A CN 201010191466 A CN201010191466 A CN 201010191466A CN 102270112 A CN102270112 A CN 102270112A
Authority
CN
China
Prior art keywords
instruction
bit
register
command
immediate
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.)
Pending
Application number
CN2010101914666A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2010101914666A priority Critical patent/CN102270112A/zh
Publication of CN102270112A publication Critical patent/CN102270112A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种RISC微处理器指令译码电路,指令比较器比较指令代码字段和目标指令代码;指令缓存器中64位指令寄存器用于暂存当前等待译码的指令,7位指令长度寄存器用于记载当前指令寄存器中包含的指令比特数;操作数选择器将立即数字段输出给取指单元,立即数字段和寄存器字段输出给执行单元;指令计数器计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数;指令移位器将指令计数器的输出作为输入参数,并根据7位指令长度寄存器的内容对64位指令寄存器内的输入的指令数据左移,移位后与64位指令寄存器内的输入指令合并。本发明电路结构简单,规模小,级数少,可显著提高RISC微处理器的性能。

Description

RISC微处理器指令译码电路
技术领域
本发明涉及微处理器领域,特别是涉及一种RISC(精简指令集计算机)微处理器指令译码电路。
背景技术
当前VLSI(超大规模集成电路)和SOC(片上系统)设计都离不开中央微处理器这一核心部件。中央微处理器是整个SOC芯片的大脑,所有外围设备驱动程序及操作系统代码都由它解释和执行。而所有这些软件代码,不论用何种高级语言(C,C++,Java)书写,最终都将被编译成机器指令,并由中央微处理器取指,译码和执行。
片上系统设计时采用的中央微处理器大多以IP(知识产权)形式提供,其主要供应商有美国的ARM和MIPS公司等。这些公司提供的中央微处理器IP都有一个共同的缺点,即指令译码结构复杂。这是由以下原因造成的:
(1)试图在有限的指令位数(32,16位)里压缩尽可能多的指令,这样每种指令的共性就很少,造成译码结构复杂;
(2)这些微处理器的指令系统大多数在80或90年代就已经完成了设计。随着微处理器IP一代又一代的更新,新的指令又会出现。在早期没有对指令结构进行系统设计的情况下,译码结构只会变得越来越复杂,译码电路规模也会变得越来越大。而译码结构复杂则会导致RISC微处理器的主频无法很快提高,只能通过增加译码电路的流水线级数来实现,这样又会引起更大的跳转指令执行延迟等一系列其他问题。
最近ARM公司重新设计了它的RISC微处理器指令集并用在Cortex系列微处理器上就很好的说明了这一问题。
发明内容
本发明要解决的技术问题是提供一种RISC微处理器指令译码电路,电路结构简单,规模小,级数少,可以显著提高RISC微处理器的性能,并且减少RISC微处理器的功耗。
为解决上述技术问题,本发明的RISC微处理器指令译码电路结构,采用两级流水线结构,第一级流水线计算下一个时钟周期应该读取多少字节的指令,并把这一数字通知取指单元;第二级流水线对暂存的指令进行译码,并向执行单元传达命令;
包括:
指令比较器,比较指令代码字段和目标指令代码,如果相等则输出1;
指令缓存器,包括一个64位指令寄存器和一个7位指令长度寄存器;64位指令寄存器用于暂存当前等待译码的指令;7位指令长度寄存器用于记载当前64位指令寄存器中包含的指令比特数;
操作数选择器,根据64位指令寄存器中的指令代码字段和I比特字段,选择64位指令寄存器中的指令操作数字段,将立即数输出给取指单元,将立即数和操作数输出给执行单元;
指令计数器,从指令数据总线获得输入指令并计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数,并输出给指令移位器;根据当前正在译码的指令长度和从指令数据总线获得的输入指令计算出下一个时钟周期需要读取的指令字节数,并输出给取指流水线;
指令移位器,将指令计数器输出的当前指令的总字节数作为输入参数,并根据7位指令长度寄存器的内容,对64位指令寄存器内的输入的指令数据进行左移移位操作,移位后的数据与64位指令寄存器内的输入的指令数据进行合并;合并后的指令数据又存入64位指令寄存器中;
其中,I比特表示意义如下:
1)对算术指令,I=1时,RegC为4位立即数;
2)对直接跳转指令,I=1时,RegA,RegB和RegC组成12位立即数;
3)对间接跳转指令,I=1时,RegB和RegC组成8位立即数;
4)对直接读写指令,I=1时,RegB和RegC组成8位立即数;
5)对间接读写指令,I=1时,RegC为4位立即数;
RegA,RegB和RegC为寄存器。
本发明对RISC微处理器指令结构进行了系统设计,采用了变长指令和冗余编码等技术,使得译码电路结构非常简单,电路规模小,电路级数少,可以显著提高RISC微处理器的性能,并且减少RISC微处理器的功耗,使得RISC微处理器的译码电路不再成为RISC微处理器设计的瓶颈。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是RISC微处理器指令译码电路结构图。
具体实施方式
本发明对RISC微处理器指令结构进行了系统设计,采用了变长码指令集,指令有8位,16位,24位,32位四种编码,使用频率越高的指令长度越短,这样可以提高代码密度;采用了冗余编码,尽管四种指令编码长度不一,其指令格式和指令字段意义完全一致。因此,指令译码电路结构非常简单,电路规模小,电路级数少;另外还预留了部分指令空间,便于未来扩展指令。
(一)指令编码和指令格式
下面逐一说明各种指令编码。每种指令编码都包含几个指令字段。指令的描述为汇编语言。本发明描述的指令集将包含5种类型的指令,即算术指令,跳转指令,间接跳转指令,直接读写指令和间接读写指令。同种类型指令的译码电路结构基本一致。
指令类型与指令代码的关系如下。
1.算术指令。
  指令代码   汇编语言助记符   解释
  0   Add   加法指令
  1   Sub   减法指令
  2   Push   入栈指令
  3   Pop   出栈指令
  4   Mov   数据移动指令
  5   Ashr   算术右移指令
  6   Ashl   算术左移指令
  7   Cmp   比较指令
  8   Adc   带进位加法指令
  9   Sbc   带进位减法指令
  10   Mul   乘法指令
  11   Div   除法指令
  12   Mod   取模指令
  13   And   逻辑与指令
  14   Or   逻辑或指令
  15   Xor   逻辑异或指令
  16   Neg   算术非指令
  17   Not   逻辑取反指令
  18   Lshr   逻辑右移指令
  19   Rotl   循环左移指令
  20   Rotr   循环右移指令
2.跳转指令。
  指令代码   汇编语言助记符   解释
  21   B      当U==0Bl     当U==1   无条件跳转指令函数调用指令
  22   Beq    当U==0Bne    当U==1   相等则跳转不相等则跳转
  23   Bgt    当U==0Bgtu   当U==1   大于则跳转
  24   Bge    当U==0   大于等于则跳转
  25   Blt    当U==0   小于则跳转
  26   Ble    当U==0   小于等于则跳转
3.间接跳转指令。
  指令代码   汇编语言助记符   解释
  27   J   间接跳转指令
4.直接读写指令。
  指令代码   汇编语言助记符   解释
  28   Ldi   直接地址读内存指令
  29   Sti   直接地址写内存指令
5.间接读写指令。
  指令代码   汇编语言助记符   解释
  30   Ld   间接地址读内存指令
  31   St   间接地址写内存指令
汇编语言表示形式为[指令代码][目的寄存器],[源寄存器1],[源寄存器2/立即数]。与基本形式不同的汇编指令将另行解释。目的寄存器用RegA表示,源寄存器用RegB,RegC表示。立即数用Imm表示,后面带的数字表示立即数的长度。不同指令的寄存器操作数数目有所不同。
汇编指令有如下几种形式。
1)单操作数指令形式如下:
指令代码  RegA或Imm。
2)双操作数指令形式如下:
指令代码RegA,RegB或Imm。
3)三操作数指令形式如下:
指令代码RegA,RegB,RegC或Imm。
4)间接读写指令形式如下:
指令代码RegA,[RegB][RegC或Imm]。
当指令中的I比特为1时相应操作数将被解释为立即数。立即数的长度与指令类型和指令编码有关。
下面详细描述各种指令编码及指令中各个字段的意义。
(1)8位指令
指令编码如下表,
1                    3                    4
  0   指令代码   RegA(寄存器A)
表格上方的数字为位数(下同),操作数A。
指令代码如下表,
  指令代码   汇编语言表示  解释
  0   Inc  RegA  寄存器A加一
  1   Dec  RegA  寄存器A减一
  2   Push RegA  寄存器A入栈
  3   Pop  RegA  寄存器A出栈
  4   Mov  RegA,0  寄存器A清零
  5   Ashr RegA,1  寄存器A右移一位
  6   Ashl RegA,1  寄存器A左移一位
  7   Cmp  RegA,0  寄存器A与零比较
(2)16位指令
指令编码如下表,
2        5        1        4        4
  10   指令代码   U   RegA(寄存器A)   RegB(寄存器B)
U比特代表是否为无符号数操作,对跳转指令意义见跳转指令表。RegA为目标寄存器,RegB为源寄存器。
指令类型表如下,
  指令类型   汇编语言表示   解释
  算术指令   指令代码RegA,RegA,RegB   二操作数算术指令,RegA既为源操作数,又为目标操作数;Push/Pop指令只使用一个操作数RegA
  跳转指令   指令代码Imm8   短距离跳转指令,跳转范围为-128到127字节
  间接跳转指令   J    [RegA]   间接跳转指令,跳转到RegA指向的地址
  直接读写指令   指令代码RegA,Imm4   读写内存指令,地址为4位立即数,数据从RegA读出或写入RegA
  间接读写指令   指令代码RegA,[RegB]   读写内存指令,地址在RegB中,数据从RegA读出或写入RegA
(3)24位指令
指令编码如下表,
3    5    1    2    1    4    4    4
  110   指令代码  U   T   I   RegA(寄存器A)   RegB(寄存器B)   RegC/Imm4(寄存器C)
U比特代表是否为无符号数操作,对跳转指令意义见跳转指令表。
T比特代表数据类型:
1)对于算术指令T=0时为整数操作,T=1时为长整数(64比特)操作,T=2时为单精度浮点数操作,T=3时为双精度浮点数操作。
2)对于读写指令T=0时为字节(8位)操作,T=1时为双字节(16比特)操作,T=2时为字(32位)操作,T=3时为双字(64比特)操作。
3)对跳转指令没有意义。
I比特表示意义如下:
1)对算术指令,I=1时RegC为4位立即数。
2)对直接跳转指令,I=1时RegA,RegB和RegC组成12位立即数。
3)对间接跳转指令,I=1时RegB和RegC组成8位立即数。
4)对直接读写指令,I=1时RegB和RegC组成8位立即数。
5)对间接读写指令,I=1时RegC为4位立即数。
指令类型表如下,
  指令类型  汇编语言表示   解释
  算术指令  指令代码RegA,RegB,RegC/Imm4   三操作数算术指令,RegA为目标操作数;Push/Pop指令只使用一个操作数RegA
  跳转指令  指令代码Imm12   短距离跳转指令,跳转范围为-4096到4095字节
  间接跳转指令  J    [RegA]   间接跳转指令,跳转到RegA指向的地址
  直接读写指令  指令代码RegA,Imm8   直接地址读写内存指令,地址为8位立即数
  间接读写指令  指令代码RegA,[RegB][RegC/Imm4]   间接地址读写内存指令,地址为RegB和RegC/Imm4的和
(4)32位指令
指令编码如下表,
4    5    1    1    2    2    4    4    4    4
  1110   指令代码  E   U   T   I   RegA(寄存器A)   RegB(寄存器B)   RegC/Imm8(寄存器C)   RegD/Imm8(寄存器D)
U比特代表是否为无符号数操作,对跳转指令意义见跳转指令表。
T比特代表数据类型:
1)对于算术指令T=0时为整数操作,T=1时为长整数(64比特)操作,T=2时为单精度浮点数操作,T=3时为双精度浮点数操作。
2)对于读写指令T=0时为字节(8位)操作,T=1时为双字节(16比特)操作,T=2时为字(32位)操作,T=3时为双字(64比特)操作。
3)对跳转指令没有意义。
I比特代表立即数的表示方法:
1)对算术指令:I=0时为寄存器C(无立即数),I=1时为8位立即数(由寄存器C和寄存器D组成),I=2时为24位立即数(由寄存器C和寄存器D加两个后续字节组成),3为32位立即数(由寄存器C和寄存器D加三个后续字节组成)。
2)对跳转指令:RegA和RegB被解释为立即数,I=0和1时为16位立即数(由寄存器A,寄存器B,寄存器C和寄存器D组成),I=2时为32位立即数(由寄存器A,寄存器B,寄存器C和寄存器D加两个后续字节组成),I=3时为32位立即数(由寄存器C和寄存器D加三个后续字节组成)。
3)对间接跳转指令:RegA为基址寄存器,RegB被解释为立即数,I=0和1时为12位立即数(由寄存器B,寄存器C和寄存器D组成),I=2时为28位立即数(由寄存器B,寄存器C和寄存器D加两个后续字节组成),I=3时为32位立即数(由寄存器C和寄存器D加三个后续字节组成)。
4)对直接读写指令:RegA为数据寄存器,RegB被解释为立即数,I=0和1时为12位立即数(由寄存器B,寄存器C和寄存器D组成),I=2时为28位立即数(由寄存器B,寄存器C和寄存器D加两个后续字节组成),I=3时为32位立即数(由寄存器C和寄存器D加三个后续字节组成)。
5)对间接读写指令:RegB为基址寄存器,I=0时为无立即数(RegC为偏址寄存器),I=1时为12位立即数(由寄存器B,寄存器C和寄存器D组成),I=2时为28位立即数(由寄存器B,寄存器C和寄存器D加两个后续字节组成),I=3时为32位立即数(由寄存器C和寄存器D加三个后续字节组成)。
E比特为扩展指令比特,E=1表示扩展指令(为未来会增加的指令预留空间)。
32位指令与24位指令形式基本一致,区别只在E比特和I比特,即立即数长度多4比特。RegA为目标寄存器,RegB,RegC/Imm为源寄存器和操作数。
指令类型表如下,
  指令类型   汇编语言表示   解释
  算术指令   指令代码RegA,RegB,RegC/Imm   三操作数算术指令,RegA为目标操作数;Push/Pop指令只使用一个操作数RegA;立即数的长度由I比特决定
  跳转指令   指令代码Imm   跳转指令,跳转范由I比特决定
  间接跳转指令   J    [RegA]   间接跳转指令,跳转到RegA指向的地址
  直接读写指令   指令代码RegA,Imm   读写内存指令,地址为立即数,数据在RegA中
  间接读写指令   指令代码RegA,[RegB][RegC/Imm]   读写内存指令,地址为RegB和RegC/Imm的和,数据在RegA中
(二)指令译码的原理及其电路结构
指令译码电路是微处理器多级流水线中的一级,它的前级流水线为取指单元,后级流水线为执行单元。指令译码电路在微处理器中的作用有两个:
1)通知取指单元读取下一条指令,指令数据通过指令数据总线传递给指令译码电路。
2)对指令进行译码,向微处理器的执行单元传达命令。
参见附图所示,本发明所述的RISC微处理器指令译码电路采用了两级流水线设计:
第一级流水线计算下一个时钟周期应该读取多少字节的指令,并把这一数字通知取指单元。
第二级流水线对暂存的指令进行译码,并向执行单元传达命令。
以下所述RISC微处理器指令译码电路及其各个组成部分均由标准数字电路构成,可以采用RTL(寄存器传输语言,包括Verilog和VHDL等语言)描述电路行为,然后使用商用EDA(计算机辅助设计)软件(如Synopsys公司的Design Compiler)综合出电路网表。综合后的电路网表由基本单元库中的各种基本单元组成,而基本单元库则为每个集成电路制造商(如台积电和中芯国际等)都需要提供的。
指令比较器,比较指令代码字段和目标指令代码(如要译码加法指令,则与加法代码0进行比较),如果相等则输出1。电路逻辑可以用RTL描述并综合出电路网表。指令比较器也可以用于比较T比特字段和E比特字段。
指令缓存器,包括一个64位指令寄存器和一个7位指令长度寄存器。64位指令寄存器暂存了当前等待译码的指令。7位指令长度寄存器记载了当前64位指令寄存器中包含的指令比特数。两种寄存器均为时序电路,由时钟信号触发,用于暂存数据,使用D触发器即可实现。
操作数选择器,根据64位指令寄存器中的指令代码字段和I比特字段,选择64位指令寄存器中的指令操作数字段,将立即数输出给取指单元,将立即数和操作数输出给执行单元。
指令计数器,1)从指令数据总线获得输入指令并计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数(比特偏移数),并输出给指令移位器。2)根据当前正在译码的指令长度和从指令数据总线获得的输入指令计算出下一个时钟周期需要读取的指令字节数,并输出给取指流水线(即第一级流水线)。
指令移位器,将指令计数器输出的比特偏移数作为输入参数,并根据7位指令长度寄存器的内容,对64位指令寄存器内的输入的指令数据进行左移移位操作,移位后的数据与64位指令寄存器内的输入的指令数据进行合并。合并后的指令数据又存入64位指令寄存器中。
所述RISC微处理器指令译码电路,从指令T比特和E比特译码得出的信号将直接用来选择执行单元,其中ALU(算术逻辑单元)和乘除法控制信号可以被32位定点运算单元,64位定点运算单元,单精度浮点运算单元,双精度浮点运算单元和DSP(数字信号处理)等扩展运算单元共享,从而节省了电路硬件开销。
本发明由于采用了变长指令集,出现频率越高的指令越短,从而使指令密度大大增加;不同长度的指令其指令代码和其他辅助字段的意义相同,译码电路规模大大减少;采用两级流水线译码电路,每一级的电路级数都很小,使微处理器运行在较高频率成为可能;不同运算单元共享一组译码结果,译码电路规模大大减少。
本发明所述的RISC微处理器指令译码电路,可以采用如下方法实现:
1)使用Verilog或VHDL等RTL描述语言实现基本模块电路。
2)使用Verilog或VHDL等RTL描述语言实现RISC微处理器指令译码电路(参见附图)。
3)使用商用EDA软件(如Synopsys公司的Design Compiler等)RTL综合工具综合译码电路的RTL描述得到译码电路的电路网表。
4)译码电路将和取指单元,执行单元等其他流水线部件一起组成微处理器。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (4)

1.一种RISC微处理器指令译码电路,采用两级流水线结构,第一级流水线计算下一个时钟周期应该读取多少字节的指令,并把这一数字通知取指单元;第二级流水线对暂存的指令进行译码,并向执行单元传达命令;
其特征在于,包括:
指令比较器,比较指令代码字段和目标指令代码,如果相等则输出1;
指令缓存器,包括一个64位指令寄存器和一个7位指令长度寄存器;64位指令寄存器用于暂存当前等待译码的指令;7位指令长度寄存器用于记载当前64位指令寄存器中包含的指令比特数;
操作数选择器,根据64位指令寄存器中的指令代码字段和I比特字段,选择64位指令寄存器中的指令操作数字段,将立即数输出给取指单元,将立即数和操作数输出给执行单元;
指令计数器,从指令数据总线获得输入指令并计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数,并输出给指令移位器;根据当前正在译码的指令长度和从指令数据总线获得的输入指令计算出下一个时钟周期需要读取的指令字节数,并输出给取指流水线;
指令移位器,将指令计数器输出的当前指令的总字节数作为输入参数,并根据7位指令长度寄存器的内容,对64位指令寄存器内的输入的指令数据进行左移移位操作,移位后的数据与64位指令寄存器内的输入的指令数据进行合并;合并后的指令数据又存入64位指令寄存器中;
其中,I比特表示意义如下:
1)对算术指令,I=1时,RegC为4位立即数;
2)对直接跳转指令,I=1时,RegA,RegB和RegC组成12位立即数;
3)对间接跳转指令,I=1时,RegB和RegC组成8位立即数;
4)对直接读写指令,I=1时,RegB和RegC组成8位立即数;
5)对间接读写指令,I=1时,RegC为4位立即数;
RegA,RegB和RegC为寄存器。
2.如权利要求1所述的RISC微处理器指令译码电路,其特征在于:所述指令比较器用于比较T比特字段和E比特字段;其中,
T比特代表数据类型:
1)对于算术指令,T=0时为整数操作,T=1时为64比特长整数操作,T=2时为单精度浮点数操作,T=3时为双精度浮点数操作;
2)对于读写指令,T=0时为8比特字节操作,T=1时为16比特双字节操作,T=2时为32位字操作,T=3时为64比特双字操作;
3)对跳转指令没有意义;
E比特为扩展指令比特,E=1表示扩展指令。
3.如权利要求2所述的RISC微处理器指令译码电路,其特征在于:从指令T比特和E比特译码得出的信号将直接用来选择运算单元,其中ALU和乘除法控制信号被32位定点运算单元,64位定点运算单元,单精度浮点运算单元,双精度浮点运算单元和DSP扩展运算单元共享。
4.如权利要求1所述的RISC微处理器指令译码电路,其特征在于:所述64位指令寄存器和7位指令长度寄存器均为时序电路,由时钟信号触发。
CN2010101914666A 2010-06-03 2010-06-03 Risc微处理器指令译码电路 Pending CN102270112A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101914666A CN102270112A (zh) 2010-06-03 2010-06-03 Risc微处理器指令译码电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101914666A CN102270112A (zh) 2010-06-03 2010-06-03 Risc微处理器指令译码电路

Publications (1)

Publication Number Publication Date
CN102270112A true CN102270112A (zh) 2011-12-07

Family

ID=45052423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101914666A Pending CN102270112A (zh) 2010-06-03 2010-06-03 Risc微处理器指令译码电路

Country Status (1)

Country Link
CN (1) CN102270112A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784304A (zh) * 2016-08-30 2018-03-09 合肥君正科技有限公司 一种图像处理方法和装置
CN109032665A (zh) * 2017-06-09 2018-12-18 龙芯中科技术有限公司 微处理器中指令输出处理方法及装置
JP2019109926A (ja) * 2014-07-30 2019-07-04 リニア アルジェブラ テクノロジーズ リミテッド ベクトルプロセッサ
CN110858150A (zh) * 2018-08-22 2020-03-03 上海寒武纪信息科技有限公司 一种具有局部实时可重构流水级的运算装置
CN112214242A (zh) * 2020-09-23 2021-01-12 上海赛昉科技有限公司 一种risc-v指令压缩方法、系统及计算机可读介质
CN114020332A (zh) * 2022-01-05 2022-02-08 北京微核芯科技有限公司 指令处理方法及其装置
US11579872B2 (en) 2013-08-08 2023-02-14 Movidius Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
WO2024169618A1 (zh) * 2023-02-14 2024-08-22 华为技术有限公司 一种代码编译方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300004A (zh) * 1999-12-13 2001-06-20 杭州华盛微电子有限公司 精简指令集流水线结构的微控制器的指令定义方法
CN1497435A (zh) * 2002-09-25 2004-05-19 ���µ�����ҵ��ʽ���� 处理器
CN101702118A (zh) * 2009-11-12 2010-05-05 中国人民解放军国防科学技术大学 非完全锁步的vliw处理器流水线控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300004A (zh) * 1999-12-13 2001-06-20 杭州华盛微电子有限公司 精简指令集流水线结构的微控制器的指令定义方法
CN1497435A (zh) * 2002-09-25 2004-05-19 ���µ�����ҵ��ʽ���� 处理器
CN101702118A (zh) * 2009-11-12 2010-05-05 中国人民解放军国防科学技术大学 非完全锁步的vliw处理器流水线控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
齐家月: "一种RISC型微处理器指令流水线结构", 《小型微型计算机系统》, vol. 16, no. 10, 31 October 1995 (1995-10-31), pages 1 - 2 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579872B2 (en) 2013-08-08 2023-02-14 Movidius Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
JP2019109926A (ja) * 2014-07-30 2019-07-04 リニア アルジェブラ テクノロジーズ リミテッド ベクトルプロセッサ
CN110515658A (zh) * 2014-07-30 2019-11-29 莫维迪厄斯有限公司 用于管理可变长度指令的方法和设备
JP2021061036A (ja) * 2014-07-30 2021-04-15 リニア アルジェブラ テクノロジーズ リミテッド ベクトルプロセッサ
CN107784304A (zh) * 2016-08-30 2018-03-09 合肥君正科技有限公司 一种图像处理方法和装置
CN109032665A (zh) * 2017-06-09 2018-12-18 龙芯中科技术有限公司 微处理器中指令输出处理方法及装置
CN109032665B (zh) * 2017-06-09 2021-01-26 龙芯中科技术股份有限公司 微处理器中指令输出处理方法及装置
CN110858150A (zh) * 2018-08-22 2020-03-03 上海寒武纪信息科技有限公司 一种具有局部实时可重构流水级的运算装置
CN112214242A (zh) * 2020-09-23 2021-01-12 上海赛昉科技有限公司 一种risc-v指令压缩方法、系统及计算机可读介质
CN114020332A (zh) * 2022-01-05 2022-02-08 北京微核芯科技有限公司 指令处理方法及其装置
WO2024169618A1 (zh) * 2023-02-14 2024-08-22 华为技术有限公司 一种代码编译方法及电子设备

Similar Documents

Publication Publication Date Title
CN102270112A (zh) Risc微处理器指令译码电路
US7774768B2 (en) Method and apparatus for processor code optimization using code compression
US7617388B2 (en) Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution
US8386755B2 (en) Non-atomic scheduling of micro-operations to perform round instruction
US7380112B2 (en) Processor and compiler for decoding an instruction and executing the decoded instruction with conditional execution flags
US6848074B2 (en) Method and apparatus for implementing a single cycle operation in a data processing system
KR100718754B1 (ko) 길이가 다른 명령어집합 구조를 갖는 설정가능형데이터프로세서
KR101893814B1 (ko) 3 소스 피연산자 부동 소수점 가산 프로세서, 방법, 시스템, 및 명령어
US8918445B2 (en) Circuit which performs split precision, signed/unsigned, fixed and floating point, real and complex multiplication
EP0994413B1 (en) Data processing system with conditional execution of extended compound instructions
US7219212B1 (en) Load/store operation of memory misaligned vector data using alignment register storing realigned data portion for combining with remaining portion
CN113032012B (zh) 用于低能加速器处理器架构的设备
TWI544406B (zh) 浮點捨入處理器
CN108647044B (zh) 浮点缩放处理器、方法、系统和指令
US7917568B2 (en) X87 fused multiply-add instruction
TWI493453B (zh) 提高精確度積和演算之微處理器及其視頻解碼裝置、其方法及其電腦程式產品
CN101495959A (zh) 组合微处理器内的多个寄存器单元的方法和系统
JP2001034471A (ja) Vliw方式プロセッサ
US8140608B1 (en) Pipelined integer division using floating-point reciprocal
US11086625B2 (en) Compression assist instructions
TWI697836B (zh) 處理包括高功率及標準指令之指令集的方法與處理器
KR20090042293A (ko) 마이크로프로세서 내에서 시프팅 및 라운딩 연산들을 수행하기 위한 방법 및 시스템
US20130290677A1 (en) Efficient extraction of execution sets from fetch sets
WO2004092913A2 (en) Digital processor apparatus with code compression and method
JP2007102821A (ja) プロセッサおよびコンパイラ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111207