CN108920188A - 一种扩展寄存器堆的方法及装置 - Google Patents

一种扩展寄存器堆的方法及装置 Download PDF

Info

Publication number
CN108920188A
CN108920188A CN201810718793.9A CN201810718793A CN108920188A CN 108920188 A CN108920188 A CN 108920188A CN 201810718793 A CN201810718793 A CN 201810718793A CN 108920188 A CN108920188 A CN 108920188A
Authority
CN
China
Prior art keywords
register
index
instruction
register file
extension
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
CN201810718793.9A
Other languages
English (en)
Other versions
CN108920188B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201810718793.9A priority Critical patent/CN108920188B/zh
Publication of CN108920188A publication Critical patent/CN108920188A/zh
Application granted granted Critical
Publication of CN108920188B publication Critical patent/CN108920188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache

Landscapes

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

Abstract

本发明公开了一种扩展寄存器堆的方法及装置,本发明的实施例方法包括进入扩展模式:写寄存器堆扩展模式控制寄存器,置位寄存器堆扩展控制位,并设置相应的寄存器堆扩展索引;使用扩展寄存器堆:指令译码时判断当前模式,如果在寄存器堆扩展模式下,则合并寄存器堆扩展索引和指令编码中的寄存器索引,形成一个完整的寄存器索引,然后读取原寄存器堆或扩展寄存器堆,并执行指令;退出扩展模式:写寄存器堆扩展模式控制寄存器,清除寄存器堆扩展控制位;装置包括寄存器堆扩展控制寄存器、寄存器索引合并器、扩展寄存器堆、寄存器数据多路选择器。本发明能够增加指令可访问的寄存器数量,具有硬件开销小、面积开销小、性价比高的优点。

Description

一种扩展寄存器堆的方法及装置
技术领域
本发明涉及微处理器设计领域,具体涉及一种扩展寄存器堆的方法及装置。
背景技术
在处理器中,寄存器堆是微处理器中贮存操作数的部件,访问速度快,可供指令直接访问。如图1所示,处理器一般结构包括存储器、取指部件、译码器、寄存器堆和执行部件,处理器通过取指部件从存储器读取指令,通过译码器对指令进行译码,执行部件使用指令编码中的寄存器索引访问寄存器堆获取源操作数进行计算,并将结果写回到寄存器堆。如图1所示的传统的处理器,从存储器读取指令,对指令进行译码,从寄存器堆中读取操作数,然后在功能部件中执行指令。
处理器中寄存器的数量往往会受到限制。大部分微处理器为了简化硬件设计和提高时钟频率,往往使用固定长度的指令编码,比如32位,如图2所示,32位分别包括操作码opcode、rm、rn、rd和函数func字段,由于指令编码中寄存器索引字段只有5位,所以该处理器只能访问32个寄存器。在指令的编码中,某些字段(例如opcode)用于操作功能编码,某些字段用于立即数,某些字段用于寄存器堆的索引。由于指令长度的限制,指令中用于索引寄存器的字段一般为5位,因而限制了指令可以直接访问的寄存器只有32个。寄存器堆的大小直接决定了软件可以直接使用的寄存器数量。如果能够扩展寄存器堆,即增加寄存器的数量,则可以提高软件调度的灵活性,并提高程序的性能。然而增加寄存器的数量必须增加用于访问寄存器堆的索引的位数。由于指令长度的限制,无法在指令编码中直接扩展寄存器索引的位数,即使能够做到,也会导致与原有的指令不兼容。
因此,如何实现既能扩展寄存器堆的大小,又能保持对原有指令编码的兼容,就成为扩展寄存器堆时亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种扩展寄存器堆的方法及装置,本发明能够增加寄存器数量,且能够在保持原有指令编码兼容的条件下,扩展寄存器堆的大小,且具有硬件开销小、性价比高的优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种扩展寄存器堆的方法,实施步骤包括:
1)对取指部件取出的指令进行译码;
2)判断译码结果是否为预设的扩展寄存器堆控制指令,如果是扩展寄存器堆控制指令则跳转执行步骤3);否则,跳转执行步骤4);
3)判断扩展寄存器堆控制指令的指令类型,如果指令类型为使能,则置位预设的寄存器堆扩展控制寄存器,使得处理器进入寄存器堆扩展模式,在寄存器堆扩展模式下处理器可以访问原生寄存器堆和扩展寄存器堆;如果指令类型为修改索引,则设置寄存器堆扩展索引;如果指令类型为退出,则清除预设的寄存器堆扩展控制寄存器,使得处理器进入常规模式,在常规模式下处理器可以访问原生寄存器堆、不能访问扩展寄存器堆;跳转执行步骤7);
4)判断处理器当前的寄存器堆模式类型,如果为寄存器堆扩展模式,则跳转执行步骤5);如果为常规模式,则跳转执行步骤6);
5)将预设的寄存器堆扩展索引、指令编码中的寄存器索引进行合并形成扩展的寄存器索引,根据扩展的寄存器索引访问扩展寄存器堆中的指令并执行;跳转执行步骤7);
6)通过执行部件访问原生寄存器堆的指令并执行;跳转执行步骤7);
7)跳转执行步骤1)以处理下一跳指令。
优选地,步骤5)的详细步骤包括:
5.1)抽取指令编码中的源操作数寄存器索引和目的操作数寄存器索引,提取预设的各个寄存器堆扩展索引;
5.2)对于每个源操作数寄存器堆扩展索引,如果为0,则使用指令编码中的寄存器索引访问常规寄存器堆;如果不为0,则将指令编码中的寄存器索引与寄存器堆扩展控制寄存器中的相应扩展索引合并成一个完整的寄存器索引,并使用该索引访问扩展寄存器堆;
5.3)执行指令得到结果;
5.4)对于每个目的操作数寄存器堆扩展索引,如果为0,则使用指令编码中的目的寄存器索引常规寄存器堆写入结果;如果不为0,则将指令编码中的目的寄存器索引与寄存器堆扩展控制寄存器中的相应扩展索引合并成一个完整的寄存器索引,并使用该索引访问扩展寄存器堆写入执行指令得到的结果。
本发明还提供一种扩展寄存器堆的装置,包括处理器,所述处理器被编程以执行本发明扩展寄存器堆的方法的步骤。
本发明还提供一种应用本发明扩展寄存器堆的方法的装置,包括:
寄存器堆扩展控制寄存器,包含一个控制位V以及n个位宽为m的寄存器堆扩展索引字段,控制位V置位时表示处理器处于寄存器堆扩展使能状态,可以访问扩展寄存器堆;控制位V被清除时表处理器处于寄存器堆扩展未使能状态,只能访问原生寄存器堆,不访问扩展寄存器堆;如果处理器每拍最多执行i条指令,指令编码中寄存器操作数最多有j个,则寄存器堆扩展索引字段的位宽n=i*j,扩展索引字段可以寻址原有寄存器数量的2m-1倍,m为寄存器堆扩展控制寄存器的位宽;
寄存器索引合并器,用于将所述寄存器堆扩展控制寄存器中的寄存器堆扩展索引字段的值与指令编码中相应的寄存器索引拼接,形成一个完整的扩展寄存器索引;
扩展寄存器堆,用于扩展原生寄存器堆的存储容量;
多路选择器,用于从原生寄存堆和扩展寄存器堆总选择待执行的指令。
优选地,所述扩展寄存器堆中每个寄存器的数据位宽与原寄存器堆的数据位宽相同,寄存器的数量是原生寄存堆中寄存器数量的2m-1倍,m为寄存器堆扩展控制寄存器的位宽。
和现有技术相比,本发明具有下述有益效果:本发明在指令中增加了对扩展寄存器堆控制指令的指令及其类型的判断,从而实现了寄存器堆扩展模式的进入、退出以及设置寄存器堆扩展索引的功能,同时在进入寄存器堆扩展模式后,将预设的寄存器堆扩展索引、指令编码中的寄存器索引进行合并形成扩展的寄存器索引,根据扩展的寄存器索引访问原生寄存器堆或者扩展寄存器堆中的指令并执行,从而本能够增加寄存器数量,且能够在保持原有指令编码兼容的条件下,扩展寄存器堆的大小,且具有硬件开销小、性价比高的优点。
附图说明
图1为现有技术典型的处理器示意图。
图2为现有技术典型的32位固定长度指令的编码示意图。
图3为本发明实施例一方法的流程示意图。
图4为本发明实施例一中支持扩展寄存器堆的处理器示意图。
图5为本发明实施例一中寄存器堆扩展模式控制寄存器。
图6为本发明实施例一中扩展寄存器堆和原寄存器堆的编址与访问机制。
图7为本发明实施例二中支持2条指令同时访问的寄存器堆扩展模式控制寄存器。
图8为本发明实施例二中支持2条指令同时访问扩展寄存器堆和原寄存器堆的编址与访问机制。
具体实施方式
实施例一:
如图3所示,本实施例扩展寄存器堆的方法的实施步骤包括:
1)对取指部件取出的指令进行译码;
2)判断译码结果是否为预设的扩展寄存器堆控制指令,如果是扩展寄存器堆控制指令则跳转执行步骤3);否则,跳转执行步骤4);
3)判断扩展寄存器堆控制指令的指令类型,如果指令类型为使能,则置位预设的寄存器堆扩展控制寄存器,使得处理器进入寄存器堆扩展模式,在寄存器堆扩展模式下处理器可以访问原生寄存器堆和扩展寄存器堆;如果指令类型为修改索引,则设置寄存器堆扩展索引;如果指令类型为退出,则清除预设的寄存器堆扩展控制寄存器,使得处理器进入常规模式,在常规模式下处理器可以访问原生寄存器堆、不能访问扩展寄存器堆;跳转执行步骤7);
4)判断处理器当前的寄存器堆模式类型,如果为寄存器堆扩展模式,则跳转执行步骤5);如果为常规模式,则跳转执行步骤6);
5)将预设的寄存器堆扩展索引、指令编码中的寄存器索引进行合并形成扩展的寄存器索引,根据扩展的寄存器索引访问扩展寄存器堆中的指令并执行;跳转执行步骤7);
6)通过执行部件访问原生寄存器堆的指令并执行;跳转执行步骤7);
7)跳转执行步骤1)以处理下一跳指令。
本实施例中,步骤5)的详细步骤包括:
5.1)抽取指令编码中的源操作数寄存器索引和目的操作数寄存器索引,提取预设的各个寄存器堆扩展索引;
5.2)对于每个源操作数寄存器堆扩展索引,如果为0,则使用指令编码中的寄存器索引访问常规寄存器堆;如果不为0,则将指令编码中的寄存器索引与寄存器堆扩展控制寄存器中的相应扩展索引合并成一个完整的寄存器索引,并使用该索引访问扩展寄存器堆;
5.3)执行指令得到结果;
5.4)对于每个目的操作数寄存器堆扩展索引,如果为0,则使用指令编码中的目的寄存器索引常规寄存器堆写入结果;如果不为0,则将指令编码中的目的寄存器索引与寄存器堆扩展控制寄存器中的相应扩展索引合并成一个完整的寄存器索引,并使用该索引访问扩展寄存器堆写入执行指令得到的结果。
本实施例还提供一种扩展寄存器堆的装置,包括处理器,该处理器被编程以执行本实施例前述扩展寄存器堆的方法的步骤。
如图4所示,本实施例还提供一种应用本实施例前述扩展寄存器堆的方法的装置,包括:
寄存器堆扩展控制寄存器,包含一个控制位V以及n个位宽为m的寄存器堆扩展索引字段,控制位V置位时表示处理器处于寄存器堆扩展使能状态,可以访问扩展寄存器堆;控制位V被清除时表处理器处于寄存器堆扩展未使能状态,只能访问原生寄存器堆,不访问扩展寄存器堆;如果处理器每拍最多执行i条指令,指令编码中寄存器操作数最多有j个,则寄存器堆扩展索引字段的位宽n=i*j,扩展索引字段可以寻址原有寄存器数量的2m-1倍,m为寄存器堆扩展控制寄存器的位宽;
寄存器索引合并器,用于将寄存器堆扩展控制寄存器中的寄存器堆扩展索引字段的值与指令编码中相应的寄存器索引拼接,形成一个完整的扩展寄存器索引;
扩展寄存器堆,用于扩展原生寄存器堆的存储容量;
多路选择器,用于从原生寄存堆和扩展寄存器堆总选择待执行的指令。
本实施例中,扩展寄存器堆中每个寄存器的数据位宽与原寄存器堆的数据位宽相同,寄存器的数量是原生寄存堆中寄存器数量的2m-1倍,m为寄存器堆扩展控制寄存器的位宽。
与图1所示的传统的处理器相比,本实施例新增了寄存器堆扩展控制寄存器,寄存器索引合并器、扩展寄存器堆和数据选择器等装置。处理器复位后处于常规模式,只使用原生寄存器堆,不能使用扩展寄存器堆;如果软件需要使用扩展寄存器堆,则需要插入一条指令写寄存器堆扩展模式控制寄存器,置位其中的使能位,并设置其中的寄存器堆扩展索引。处理器硬件执行这条指令时进入寄存器堆扩展模式,允许使用扩展的寄存器堆。
如图5所示,本实施例中的扩展寄存器堆同样也为32位,且控制位V位于第32位,前12位分别为erd字段(目的操作数的扩展索引)、ern字段(第二个源操作数的扩展索引)以及erm字段(第一个源操作数的扩展索引),第13~31位则为reserved字段(保留字段)。
如图6所示,处理器在寄存器堆扩展模式下,对于每一条访问寄存器堆的指令,提取指令编码中的寄存器索引,将寄存器堆扩展模式控制寄存器的erm字段(第一个源操作数的扩展索引)与指令编码中的rm字段(第一个源操作数的索引)合并形成一个源操作数的寄存器访问索引,将寄存器堆扩展模式控制寄存器的ern字段(第二个源操作数的扩展索引)与指令编码中的rn字段(第二个源操作数的索引)合并形成一个源操作数的寄存器访问索引,将寄存器堆扩展模式控制寄存器的erd字段(目的操作数的扩展索引)与指令编码中的rd字段(目的操作数的索引)合并形成一个源操作数的寄存器访问索引,并访问扩展寄存器堆;当然,如果寄存器堆扩展索引为零,则仍然访问原生的寄存器堆。如果后续指令的扩展寄存器堆索引保持不变,则后续指令继续使用寄存器堆扩展控制寄存器中的寄存器堆扩展索引。如果后续指令的扩展寄存器堆索引需要修改,则软件需要插入一条修改扩展索引的指令,并改写寄存器堆扩展索引。如果软件不再需要访问扩展寄存器,则插入一条指令写寄存器堆扩展模式控制寄存器,清除其中的使能位。处理器硬件执行这条指令时退出寄存器堆扩展模式,回到常规模式。
实施例二:
本实施例与实施例一基本相同,其主要不同点为扩展寄存器堆的结构以及扩展寄存器堆和原生寄存器堆的合并方式有所不同。
如图7所示,本实施例中的扩展寄存器堆同样也为32位,但是本实施例中的扩展寄存器堆支持两条指令同时访问扩展寄存器堆,其中第31位的控制位V仍然表示扩展模式有效;此外,前12位的erd0字段、ern0字段、erm0字段用于第一条指令访问扩展寄存器堆;前13~24位的erd1字段、ern1字段、erm1字段用于第二条指令访问扩展寄存器堆;其余则为reserved字段(保留字段)。其中,erm0是第一条指令第一个源操作数的扩展索引、ern0是第一条指令第二个源操作数的扩展索引、erd0是第一条指令的目的操作数的扩展索引。erm1第二条指令第一个源操作数的扩展索引、ern1是第二条指令第二个源操作数的扩展索引、errd1是第二条指令的目的操作数的扩展索引。
图8给出了两条指令同时访问扩展寄存器堆的索引合并方法,第一条指令中的寄存器索引分别与原生寄存器的rm0、rn0和rd0 一一对应进行合并,形成第一条指令的扩展寄存器堆访问索引,第二条指令中的寄存器索引分别与原生寄存器的rm1、rn1和rd1 一一对应进行合并,形成第二条指令的扩展寄存器堆访问索引。原生寄存器中,rm0字段为第一条指令的第一个源操作数的索引,rn0字段为第一条指令的第二个源操作数的索引,rd0字段为第一条指令的目的操作数的索引,rm1字段为第二条指令的第一个源操作数的索引,rn1字段为第二条指令的第二个源操作数的索引,rd1字段为第二条指令的目的操作数的索引。类似地,还可以支持更多指令的同时访问,在此不再赘述。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.一种扩展寄存器堆的方法,其特征在于实施步骤包括:
1)对取指部件取出的指令进行译码;
2)判断译码结果是否为预设的扩展寄存器堆控制指令,如果是扩展寄存器堆控制指令则跳转执行步骤3);否则,跳转执行步骤4);
3)判断扩展寄存器堆控制指令的指令类型,如果指令类型为使能,则置位预设的寄存器堆扩展控制寄存器,使得处理器进入寄存器堆扩展模式,在寄存器堆扩展模式下处理器可以访问原生寄存器堆和扩展寄存器堆;如果指令类型为修改索引,则设置寄存器堆扩展索引;如果指令类型为退出,则清除预设的寄存器堆扩展控制寄存器,使得处理器进入常规模式,在常规模式下处理器可以访问原生寄存器堆、不能访问扩展寄存器堆;跳转执行步骤7);
4)判断处理器当前的寄存器堆模式类型,如果为寄存器堆扩展模式,则跳转执行步骤5);如果为常规模式,则跳转执行步骤6);
5)将预设的寄存器堆扩展索引、指令编码中的寄存器索引进行合并形成扩展的寄存器索引,根据扩展的寄存器索引访问扩展寄存器堆中的指令并执行;跳转执行步骤7);
6)通过执行部件访问原生寄存器堆的指令并执行;跳转执行步骤7);
7)跳转执行步骤1)以处理下一跳指令。
2.根据权利要求1所述的扩展寄存器堆的方法,其特征在于,步骤5)的详细步骤包括:
5.1)抽取指令编码中的源操作数寄存器索引和目的操作数寄存器索引,提取预设的各个寄存器堆扩展索引;
5.2)对于每个源操作数寄存器堆扩展索引,如果为0,则使用指令编码中的寄存器索引访问常规寄存器堆;如果不为0,则将指令编码中的寄存器索引与寄存器堆扩展控制寄存器中的相应扩展索引合并成一个完整的寄存器索引,并使用该索引访问扩展寄存器堆;
5.3)执行指令得到结果;
5.4)对于每个目的操作数寄存器堆扩展索引,如果为0,则使用指令编码中的目的寄存器索引常规寄存器堆写入结果;如果不为0,则将指令编码中的目的寄存器索引与寄存器堆扩展控制寄存器中的相应扩展索引合并成一个完整的寄存器索引,并使用该索引访问扩展寄存器堆写入执行指令得到的结果。
3.一种扩展寄存器堆的装置,包括处理器,其特征在于:所述处理器被编程以执行权利要求1或2所述扩展寄存器堆的方法的步骤。
4.一种应用权利要求1或2所述扩展寄存器堆的方法的装置,其特征在于包括:
寄存器堆扩展控制寄存器,包含一个控制位V以及n个位宽为m的寄存器堆扩展索引字段,控制位V置位时表示处理器处于寄存器堆扩展使能状态,可以访问扩展寄存器堆;控制位V被清除时表处理器处于寄存器堆扩展未使能状态,只能访问原生寄存器堆,不访问扩展寄存器堆;如果处理器每拍最多执行i条指令,指令编码中寄存器操作数最多有j个,则寄存器堆扩展索引字段的位宽n=i*j,扩展索引字段可以寻址原有寄存器数量的2m-1倍,m为寄存器堆扩展控制寄存器的位宽;
寄存器索引合并器,用于将所述寄存器堆扩展控制寄存器中的寄存器堆扩展索引字段的值与指令编码中相应的寄存器索引拼接,形成一个完整的扩展寄存器索引;
扩展寄存器堆,用于扩展原生寄存器堆的存储容量;
多路选择器,用于从原生寄存堆和扩展寄存器堆总选择待执行的指令。
5.根据权利要求4所述扩展寄存器堆的方法的装置,其特征在于:所述扩展寄存器堆中每个寄存器的数据位宽与原寄存器堆的数据位宽相同,寄存器的数量是原生寄存堆中寄存器数量的2m-1倍,m为寄存器堆扩展控制寄存器的位宽。
CN201810718793.9A 2018-07-03 2018-07-03 一种扩展寄存器堆的方法及装置 Active CN108920188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810718793.9A CN108920188B (zh) 2018-07-03 2018-07-03 一种扩展寄存器堆的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810718793.9A CN108920188B (zh) 2018-07-03 2018-07-03 一种扩展寄存器堆的方法及装置

Publications (2)

Publication Number Publication Date
CN108920188A true CN108920188A (zh) 2018-11-30
CN108920188B CN108920188B (zh) 2021-04-27

Family

ID=64423547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810718793.9A Active CN108920188B (zh) 2018-07-03 2018-07-03 一种扩展寄存器堆的方法及装置

Country Status (1)

Country Link
CN (1) CN108920188B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764810A (zh) * 2021-01-20 2021-05-07 重庆邮电大学 一种应用于处理器的寄存器控制simd指令扩展方法
CN115437691A (zh) * 2022-11-09 2022-12-06 进迭时空(杭州)科技有限公司 一种针对risc-v矢量与浮点寄存器的物理寄存器堆分配装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040093505A1 (en) * 2002-07-09 2004-05-13 Fujitsu Limited Open generic tamper resistant CPU and application system thereof
CN102467404A (zh) * 2011-10-14 2012-05-23 海尔集团技术研发中心 一种基于物理内存实现软件快速切换的方法及装置
CN105787360A (zh) * 2016-03-02 2016-07-20 杭州字节信息技术有限公司 一种嵌入式系统内存安全访问控制的技术实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040093505A1 (en) * 2002-07-09 2004-05-13 Fujitsu Limited Open generic tamper resistant CPU and application system thereof
CN102467404A (zh) * 2011-10-14 2012-05-23 海尔集团技术研发中心 一种基于物理内存实现软件快速切换的方法及装置
CN105787360A (zh) * 2016-03-02 2016-07-20 杭州字节信息技术有限公司 一种嵌入式系统内存安全访问控制的技术实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙彩霞等: "乱序超标量处理器核的性能分析与优化", 《国防科技大学学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764810A (zh) * 2021-01-20 2021-05-07 重庆邮电大学 一种应用于处理器的寄存器控制simd指令扩展方法
CN112764810B (zh) * 2021-01-20 2022-09-20 重庆邮电大学 一种应用于处理器的寄存器控制simd指令扩展方法
CN115437691A (zh) * 2022-11-09 2022-12-06 进迭时空(杭州)科技有限公司 一种针对risc-v矢量与浮点寄存器的物理寄存器堆分配装置
CN115437691B (zh) * 2022-11-09 2023-01-31 进迭时空(杭州)科技有限公司 一种针对risc-v矢量与浮点寄存器的物理寄存器堆分配装置

Also Published As

Publication number Publication date
CN108920188B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
US5758115A (en) Interoperability with multiple instruction sets
KR101812569B1 (ko) 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑
KR101503554B1 (ko) 에일리어스 어드레싱을 이용한 가변 길이 인스트럭션 인코딩의 구현
US4454578A (en) Data processing unit with pipelined operands
CN101868783B (zh) 增强的微处理器或微控制器
US4305124A (en) Pipelined computer
EP0138419A2 (en) Central processing unit for a digital computer
WO2002029563A1 (en) Storing stack operands in registers
JP2010524088A (ja) 適切なプレデコーディングにより可変長命令セットから命令をプレロードするシステム、方法およびソフトウェア
CN104978284A (zh) 处理器子程序高速缓冲存储器
KR100385495B1 (ko) 워드정렬브랜치타겟을가지는처리시스템
JP5625809B2 (ja) 演算処理装置、情報処理装置及び制御方法
US6292845B1 (en) Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
EP2396723B1 (en) Microcontroller with special banking instructions and method therefor
CN101868780B (zh) 增强的微处理器或微控制器
CN108920188A (zh) 一种扩展寄存器堆的方法及装置
CN102681819B (zh) 实现灵活且低成本的指令替换方法及装置
KR20130112909A (ko) 권한 레벨에 관계없는 세그먼트 레지스터 판독 및 기입용 시스템, 장치, 및 방법
US4893235A (en) Central processing unit for a digital computer
KR20010007093A (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
US20070245120A1 (en) Multiple microcontroller system, instruction, and instruction execution method for the same
JP5238960B2 (ja) マイクロプロセッサ内の命令トランザクションを低減する方法及び装置
CN1898641B (zh) 微控制器指令集
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
KR20140135796A (ko) 컨텍스트 스위치를 구비한 마이크로컨트롤러

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant