CN113760364A - 逻辑器件的控制器 - Google Patents

逻辑器件的控制器 Download PDF

Info

Publication number
CN113760364A
CN113760364A CN202010496009.1A CN202010496009A CN113760364A CN 113760364 A CN113760364 A CN 113760364A CN 202010496009 A CN202010496009 A CN 202010496009A CN 113760364 A CN113760364 A CN 113760364A
Authority
CN
China
Prior art keywords
logic device
controller
state
instruction
instruction pointer
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
CN202010496009.1A
Other languages
English (en)
Other versions
CN113760364B (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.)
Gowin Semiconductor Corp
Original Assignee
Gowin Semiconductor Corp
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 Gowin Semiconductor Corp filed Critical Gowin Semiconductor Corp
Priority to CN202010496009.1A priority Critical patent/CN113760364B/zh
Publication of CN113760364A publication Critical patent/CN113760364A/zh
Application granted granted Critical
Publication of CN113760364B publication Critical patent/CN113760364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields

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,所述第二数值为2。
可选的,在所述的逻辑器件的控制器中,所述逻辑器件的控制器还具有指令指针跳转状态;在所述译码状态,译码结果为跳转指令时,跳转到所述指令指针跳转状态;在所述指令指针跳转状态,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位,并跳转到所述指令指针控制状态。
可选的,在所述的逻辑器件的控制器中,所述参数包括区域和目标指针,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位包括:所述逻辑器件的控制器根据所述区域和目标地址得到对应的指令指针。
可选的,在所述的逻辑器件的控制器中,所述逻辑器件的控制器还具有等待状态;在所述译码状态,译码结果为等待指令时,跳转到所述等待状态;在所述等待状态,所述逻辑器件的控制器对所取的指令中的参数进行逻辑判断,在判断结果为满足时,跳转到所述指令指针控制状态。
可选的,在所述的逻辑器件的控制器中,在所述等待状态,判断结果为不满足时,保持等待状态直到判断结果为满足,跳转到所述指令指针控制状态。
可选的,在所述的逻辑器件的控制器中,所述逻辑器件的控制器还具有结束状态;在所述译码状态,译码结果为结束指令时,跳转到所述结束状态;在所述结束状态,所述逻辑器件的控制器跳转到所述空闲状态。
可选的,在所述的逻辑器件的控制器中,在所述译码状态,译码结果为空指令时,所述逻辑器件的控制器跳转到所述指令指针控制状态。
可选的,在所述的逻辑器件的控制器中,所述逻辑器件的控制器使用三位比特作为状态表示。
在本发明提供的逻辑器件的控制器中,所述逻辑器件的控制器通过状态的转换以实现对于逻辑器件的控制,其具有高效的执行效率;同时,所述逻辑器件的控制器通过获取指令指针并完成取指令的操作,并跳转到译码状态,在所述译码状态,所述逻辑器件的控制器对所取的指令进行指令译码的操作,并且在译码结果为写指令时,跳转到所述写状态,在所述写状态,所述逻辑器件的控制器根据所取的指令中的参数完成对逻辑器件的控制,即能够通过指令实现对于逻辑器件的控制,从而具备了灵活性,即本发明提供的逻辑器件的控制器兼顾了执行效率和灵活性。
附图说明
图1是本发明实施例的逻辑器件的控制器的状态跳转的一示意图;
图2是本发明实施例的逻辑器件的控制器的状态跳转的另一示意图;
图3是本发明实施例的指令的数据结构示意图;
图4是本发明实施例的一参数的数据结构示意图;
图5是本发明实施例的另一参数的数据结构示意图;
图6是本发明实施例的再一参数的数据结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的逻辑器件的控制器作进一步详细说明。根据下面的说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
请参考图1,其为本发明实施例的逻辑器件的控制器的状态跳转的一示意图。如图1所示,在本申请实施例中,所述逻辑器件的控制器具有空闲状态IDLE、指令指针控制状态NEXT、译码状态DEC以及写状态WRITE,其中,所述逻辑器件的控制器收到启动信号时,从所述空闲状态IDLE跳转到所述指令指针控制状态NEXT;在所述指令指针控制状态NEXT,所述逻辑器件的控制器获取指令指针并完成取指令的操作,并跳转到所述译码状态DEC;在所述译码状态DEC,所述逻辑器件的控制器对所取的指令进行指令译码的操作,并且在译码结果为写指令时,跳转到所述写状态WRITE;在所述写状态WRITE,所述逻辑器件的控制器根据所取的指令中的参数完成对所述逻辑器件的控制,并且跳转到所述指令指针控制状态NEXT。
在本申请实施例中,所述空闲状态IDLE为所述逻辑器件的控制器不需要工作(即不需要对逻辑器件进行控制)时或者系统复位后的状态。请继续参考图1,所述复位后的状态可以通过外部硬件或者软件rst信号进行控制,即收到rst信号后,所述逻辑器件的控制器进行复位并进入空闲状态IDLE,以使得在系统出现死机等非正常状态时或系统需要重新启动时,能够进入到正常的空闲状态IDLE。在本申请实施例中,所述逻辑器件的控制器在不需要工作时,处于空闲状态IDLE,此时,所述逻辑器件的控制器可以进行信号侦测,以检测是否有启动系统工作的启动信号。其中,若所述逻辑器件的控制器在检测到启动信号时,则从所述空闲状态IDLE跳转到所述指令指针控制状态NEXT;若所述逻辑器件的控制器没有检测到启动信号,则继续保持所述空闲状态IDLE。
进一步的,所述逻辑器件的控制器收到启动信号,从所述空闲状态IDLE跳转到所述指令指针控制状态NEXT后,在所述指令指针控制状态NEXT,所述逻辑器件的控制器获取指令指针并完成取指令的操作,并跳转到所述译码状态DEC。其中,所述逻辑器件的控制器可以从上位机、外部寄存器/存储设备、自带的寄存器/存储设备获取所述指令指针,并通过所述指令指针完成取指令的操作。在此,所述逻辑器件的控制器可以直接获取指令指针,即直接更新/得到指令指针的结果;也可以间接获取指令指针,例如得到指令指针的变化量(例如增量),并通过得到的指令指针的变化量计算得到指令指针。在得到所述指令指针后,所述逻辑器件的控制器便可以依据所述指令指针完整取指令的操作,并跳转到所述译码状态DEC。
接着,所述逻辑器件的控制器便可处于(工作在)译码状态DEC,具体的,所述逻辑器件的控制器对所取的指令进行指令译码的操作。在本申请实施例中,所述逻辑器件的控制器在译码结果为写指令INSTR_WRITE时,跳转到所述写状态WRITE。
在所述写状态WRITE,所述逻辑器件的控制器根据所取的指令中的参数完成对所述逻辑器件的控制,并且跳转到所述指令指针控制状态NEXT。此时,在所述指令指针控制状态NEXT,所述逻辑器件的控制器获取的指令指针为当前指令指针加一特定数值的结果,例如加1,即在所述写状态WRITE之后,跳转到所述指令指针控制状态NEXT时,所述指令指针加1,即所获得的指令指针为当前指令指针加1之后的指令指针。其中,对所述逻辑器件的控制包括现有技术中任意一种对于逻辑器件的控制,例如对于所述逻辑器件的控制包括对逻辑硬件的配置与调度等,对此,本申请并不作限定。
进一步的,请参考图3和图4,其中,图3是本发明实施例的指令的数据结构示意图;图4是本发明实施例的一参数的数据结构示意图。
如图3所示,在本申请实施例中,指令包括操作指令instr和参数parameter两部分。进一步的,所述指令可以为特定位宽,例如,所述指令可以为16比特(bit)位宽,其中,3比特(bit)位宽为操作指令instr,13比特(bit)位宽为参数parameter。当然,所述指令的位宽也可以较16比特少,例如,其中,3比特(bit)位宽为操作指令instr,10比特(bit)位宽为参数parameter。另外,所述指令的位宽也可以根据不同的操作指令instr而不同。
在本申请实施例中,表征写指令INSTR_WRITE的操作指令instr为010,即在所述译码状态DEC对所取的指令进行指令译码的操作得到高的三位为010时,即判定译码结果为写指令。
接着如图4所示,在本申请实施例中,所述参数parameter具体包括地址addr和操作数data,所述地址addr用于寻址对应的逻辑器件,所述操作数data用于对对应的逻辑器件执行操作。具体的,所述逻辑器件的控制器根据地址addr将操作数data配置给目标逻辑器件(例如目标逻辑硬件),或者,根据地址addr调度/启动对应的逻辑器件。例如,地址addr为5比特(bit)位宽,操作数data为8比特(bit)位宽,当addr[4:0]=5’b00001(即5比特位宽的数据:00001),data[7:0]=8’b00000010(即8比特位宽的数据00000010)时,所述逻辑器件的控制器将操作数data8’b00000010配置给地址addr为5’b00001的逻辑器件;或者所述逻辑器件的控制器将调度/启动地址为5’b00001的逻辑器件,在调度/启动时,可以不关心操作数(data)的内容。
请参考图2,其为本发明实施例的逻辑器件的控制器的状态跳转的另一示意图。进一步的,所述逻辑器件的控制器还具有条件判断状态IF;在所述译码状态DEC,译码结果为条件判断指令INSTR_IF时,跳转到所述条件判断状态IF;在所述条件判断状态IF,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位,并跳转到所述指令指针控制状态NEXT。
请继续参考图3,在本申请实施例中,表征条件判断指令INSTR_IF的操作指令instr为001,即在所述译码状态DEC对所取的指令进行指令译码的操作得到高的三位为001时,即判定译码结果为条件判断指令。
接着如图5所示,其为本发明实施例的另一参数的数据结构示意图。具体的,所述参数包括操作类型op和参与者candidates,其中,所述操作类型op例如为与操作、或操作等,以对所述参与者candidates提供的输入信息进行逻辑判断。具体的,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位包括:所述逻辑器件的控制器根据所述操作类型op对所述参与者candidates提供的输入信息进行逻辑判断,在判断结果为满足时,对获取的指令指针增加第一数值;在判断结果为不满足时,对获取的指令指针增加第二数值。例如,所述第一数值为1,所述第二数值为2。即在判断结果为满足时,所述指令指针控制状态NEXT将在当前的指令指针的基础上增加1;在判断结果为不满足时,所述指令指针控制状态NEXT将在当前的指令指针的基础上增加2。
其中,参与者candidates每1bit的信息对应一个输入信息。比如,当参与者(candidates)为10比特(bit)位宽,则candidates[9:0]的每1bit对应一个输入信息,该对应关系可以在逻辑器件设计时进行指定。比如candidates[9:0]为“10’b00_0000_0011(即10比特位宽的数据:0000000011)”时表示candidates[1:0]对应的输入信息将参与逻辑判断,candidates[9:2]对应的输入信息将不参与逻辑判断。相应的,根据candidates[1:0]对应的输入信息进行判断,得到结果为满足或者不满足,进而完成对下一个指令指针的定位,即在此,得到在指令指针控制状态NEXT时将在当前的指令指针的基础上增加1或者2的信息。
请继续参考图2,在本申请实施例中,所述逻辑器件的控制器还具有指令指针跳转状态JUMP;在所述译码状态DEC,译码结果为跳转指令INSTR_JUMP时,跳转到所述指令指针跳转状态JUMP;在所述指令指针跳转状态JUMP,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位,并跳转到所述指令指针控制状态NEXT。
一般地,跳转指令会在条件判断指令后的第一条或者第二条指令执行,条件判断指令后的第一条跳转指令的目标地址为条件判断指令判断结果为“满足”时的目标地址;条件判断指令后的第二条跳转指令的目标地址为条件判断指令判断结果为“不满足”时的目标地址。从而易于在条件判断指令不同的判断结果下,进行相应的逻辑器件的控制。
具体的,在本申请实施例中,表征跳转指令INSTR_JUMP的操作指令instr为100,即在所述译码状态DEC对所取的指令进行指令译码的操作得到高的三位为100时,即判定译码结果为跳转指令。
请参考图6,其为本发明实施例的再一参数的数据结构示意图。如图6所示,所述参数包括区域region和目标指针p_instr,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位包括:所述逻辑器件的控制器根据所述区域和目标地址得到对应的指令指针。其中,区域region可以使用或不使用,目标指针p_instr表示逻辑器件的控制器在指令指针跳转状态JUMP下指令指针的重新定位结果,即跳转到所述指令指针控制状态NEXT时,将指令指针更新为指令指针跳转状态JUMP下指令指针的定位结果。在使用区域region的情况下,比如,可以设定区域region为不同地址区域的指令集目标,将指令指针重新定位至不同的地址区域,拓展指令集可存储的空间,增加灵活性。
请继续参考图2,进一步的,所述逻辑器件的控制器还具有等待状态WAIT;在所述译码状态DEC,译码结果为等待指令INSTR_WAIT时,跳转到所述等待状态WAIT;在所述等待状态WAIT,所述逻辑器件的控制器对所取的指令中的参数进行逻辑判断,在判断结果为满足时,跳转到所述指令指针控制状态NEXT。此时,在所述指令指针控制状态NEXT,所述逻辑器件的控制器获取的指令指针为当前指令指针加一特定数值的结果,例如加1,即在所述等待状态WAIT之后,跳转到所述指令指针控制状态NEXT时,所述指令指针加1,即所获得的指令指针为当前指令指针加1之后的指令指针。
进一步的,在所述等待状态WAIT,判断结果为不满足时,保持等待状态WAIT直到判断结果为满足,跳转到所述指令指针控制状态NEXT。也即,在判断结果为不满足时,所述逻辑器件的控制器持续进行判断,直到判断结果为满足。
具体的,在本申请实施例中,表征等待指令INSTR_WAIT的操作指令instr为011,即在所述译码状态DEC对所取的指令进行指令译码的操作得到高的三位为011时,即判定译码结果为等待指令。
在此,所述参数具体也包括操作类型op和参与者candidates,其中,所述操作类型op例如为与操作、或操作等,以对所述参与者candidates提供的输入信息进行逻辑判断。具体的,根据操作类型op(比如与、或操作)以及参与者(candidates)指定的输入信息来进行逻辑判断,判断结果为“满足”或“不满足”。参与者(candidates)每1bit的信息对应一个输入信息。比如,当参与者(candidates)为10bit位宽,则candidates[9:0]的每1bit对应一个输入信息,该对应关系可以在逻辑器件设计时进行指定。比如candidates[9:0]为“10’b00_0000_0011”时表示candidates[1:0]对应的输入信息将参与逻辑判断,candidates[9:2]对应的输入信息将不参与逻辑判断。
在本申请实施例中,各指令的参数进行了复用,即所述指令包括操作指令instr和参数parameter两部分,其中,对于不同的操作指令,其具体可以采用相同或者不同的参数形式,但是均作为相应操作指令的参数,以匹配相应的操作指令的操作。
一般地,等待指令会在写指令后执行,由写指令完成调度启动逻辑器件后,由等待指令等待该逻辑器件完成任务,此时逻辑器件的任务完成标志就可以作为等待指令的一个输入信息且其对应的参与者(candidates)信息为1。任务完成后等待指令得到“满足”的逻辑判断结果,逻辑器件的控制器将由等待状态WAIT跳转到指令指针控制状态NEXT,继续执行其它指令。
请继续参考图2,进一步的,所述逻辑器件的控制器还具有结束状态END;在所述译码状态DEC,译码结果为结束指令INSTR_END时,跳转到所述结束状态END;在所述结束状态END,所述逻辑器件的控制器跳转到所述空闲状态IDLE。
具体的,在本申请实施例中,表征结束指令INSTR_END的操作指令instr为101,即在所述译码状态DEC对所取的指令进行指令译码的操作得到高的三位为101时,即判定译码结果为结束指令。在本申请实施例中,在操作指令instr为结束指令时,参数parameter可以为空,即不需要使用参数。
进一步的,在所述译码状态DEC,译码结果为空指令INSTR_NULL时,所述逻辑器件的控制器跳转到所述指令指针控制状态NEXT。此时,在所述指令指针控制状态NEXT,所述逻辑器件的控制器获取的指令指针为当前指令指针加一特定数值的结果,例如加1,即在所述译码状态DEC之后,跳转到所述指令指针控制状态NEXT时,所述指令指针加1,即所获得的指令指针为当前指令指针加1之后的指令指针。
具体的,在本申请实施例中,表征空指令INSTR_NULL的操作指令instr为000,即在所述译码状态DEC对所取的指令进行指令译码的操作得到高的三位为000时,即判定译码结果为空指令。在本申请实施例中,在操作指令instr为空指令时,参数parameter可以为空,即不需要使用参数。
在本申请实施例中,所述逻辑器件的控制器使用三位比特作为状态表示。即,通过三位比特(3bit)表示空闲状态IDLE、指令指针控制状态NEXT、译码状态DEC、写状态WRITE、条件判断状态IF、指令指针跳转状态JUMP、等待状态WAIT与结束状态END。由此,使得逻辑器件的控制器在各状态之间的条状更加清晰、便捷。
进一步的,本申请的所述逻辑器件的控制器中,空指令、条件判断指令、写指令、跳转指令、结束指令为单周期执行指令,即逻辑器件的控制器在执行这些指令时仅需要一个系统时钟周期,逻辑器件的控制器中仅等待指令为一个或者多个周期执行指令(即该指令的开始执行到指令的执行完成可以为一个系统时钟周期,也可以为多个系统时钟周期),因此该逻辑器件的控制器进一步具有执行效率高的特点。
本发明所举例介绍的指令的数据结构,主要是针对硬件逻辑配置与调度的特点进行设计,采用了非常少的指令类型,并且其参数parameter的数据结构可以根据操作指令instr的不同类型进行复用,从而实现了精简的指令集数据结构。该指令集数据结构具有非常高的灵活性,可以满足复杂的逻辑器件的配置与调度的应用。
本发明的逻辑器件的控制器采用了非常少的状态类型并配合以精简的指令集数据结构,实现了具有高执行效率、高灵活性、低成本的基于指令系统的逻辑器件控制器。
综上可见,在本发明提供的逻辑器件的控制器中,所述逻辑器件的控制器通过状态的转换以实现对于逻辑器件的控制,其具有高效的执行效率;同时,所述逻辑器件的控制器通过获取指令指针并完成取指令的操作,并跳转到所述译码状态,在所述译码状态,所述逻辑器件的控制器对所取的指令进行指令译码的操作,并且在译码结果为写指令时,跳转到所述写状态,在所述写状态,所述逻辑器件的控制器根据所取的指令中的参数完成对所述逻辑器件的控制,即能够通过指令实现对于逻辑器件的控制,从而具备了灵活性,即本发明提供的逻辑器件的控制器兼顾了执行效率和灵活性。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (12)

1.一种逻辑器件的控制器,用于对逻辑器件进行控制,其特征在于,所述逻辑器件的控制器具有空闲状态、指令指针控制状态、译码状态以及写状态,其中,
所述逻辑器件的控制器收到启动信号时,从所述空闲状态跳转到所述指令指针控制状态;
在所述指令指针控制状态,所述逻辑器件的控制器获取指令指针并完成取指令的操作,并跳转到所述译码状态;
在所述译码状态,所述逻辑器件的控制器对所取的指令进行指令译码的操作,并且在译码结果为写指令时,跳转到所述写状态;
在所述写状态,所述逻辑器件的控制器根据所取的指令中的参数完成对所述逻辑器件的控制,并且跳转到所述指令指针控制状态。
2.如权利要求1所述的逻辑器件的控制器,其特征在于,所述参数包括地址和操作数,所述地址用于寻址对应的逻辑器件,所述操作数用于对对应的逻辑器件执行操作。
3.如权利要求1所述的逻辑器件的控制器,其特征在于,所述逻辑器件的控制器还具有条件判断状态;在所述译码状态,译码结果为条件判断指令时,跳转到所述条件判断状态;在所述条件判断状态,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位,并跳转到所述指令指针控制状态。
4.如权利要求3所述的逻辑器件的控制器,其特征在于,所述参数包括操作类型和参与者,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位包括:
所述逻辑器件的控制器根据所述操作类型对所述参与者提供的输入信息进行逻辑判断,在判断结果为满足时,对获取的指令指针增加第一数值;在判断结果为不满足时,对获取的指令指针增加第二数值。
5.如权利要求4所述的逻辑器件的控制器,其特征在于,所述第一数值为1,所述第二数值为2。
6.如权利要求1所述的逻辑器件的控制器,其特征在于,所述逻辑器件的控制器还具有指令指针跳转状态;在所述译码状态,译码结果为跳转指令时,跳转到所述指令指针跳转状态;在所述指令指针跳转状态,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位,并跳转到所述指令指针控制状态。
7.如权利要求6所述的逻辑器件的控制器,其特征在于,所述参数包括区域和目标指针,所述逻辑器件的控制器根据所取的指令中的参数完成对下一个指令指针的定位包括:所述逻辑器件的控制器根据所述区域和目标地址得到对应的指令指针。
8.如权利要求1所述的逻辑器件的控制器,其特征在于,所述逻辑器件的控制器还具有等待状态;在所述译码状态,译码结果为等待指令时,跳转到所述等待状态;在所述等待状态,所述逻辑器件的控制器对所取的指令中的参数进行逻辑判断,在判断结果为满足时,跳转到所述指令指针控制状态。
9.如权利要求8所述的逻辑器件的控制器,其特征在于,在所述等待状态,判断结果为不满足时,保持等待状态直到判断结果为满足,跳转到所述指令指针控制状态。
10.如权利要求1所述的逻辑器件的控制器,其特征在于,所述逻辑器件的控制器还具有结束状态;在所述译码状态,译码结果为结束指令时,跳转到所述结束状态;在所述结束状态,所述逻辑器件的控制器跳转到所述空闲制状态。
11.如权利要求1所述的逻辑器件的控制器,其特征在于,在所述译码状态,译码结果为空指令时,所述逻辑器件的控制器跳转到所述指令指针控制状态。
12.如权利要求1~11中任一项所述的逻辑器件的控制器,其特征在于,所述逻辑器件的控制器使用三位比特作为状态表示。
CN202010496009.1A 2020-06-03 2020-06-03 逻辑器件的控制器 Active CN113760364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010496009.1A CN113760364B (zh) 2020-06-03 2020-06-03 逻辑器件的控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010496009.1A CN113760364B (zh) 2020-06-03 2020-06-03 逻辑器件的控制器

Publications (2)

Publication Number Publication Date
CN113760364A true CN113760364A (zh) 2021-12-07
CN113760364B CN113760364B (zh) 2022-06-17

Family

ID=78783389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010496009.1A Active CN113760364B (zh) 2020-06-03 2020-06-03 逻辑器件的控制器

Country Status (1)

Country Link
CN (1) CN113760364B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150468A (en) * 1989-06-30 1992-09-22 Bull Hn Information Systems Inc. State controlled instruction logic management apparatus included in a pipelined processing unit
CN1353828A (zh) * 1999-03-30 2002-06-12 西门子能量及自动化公司 可编程逻辑控制器方法,系统和设备
CN1532692A (zh) * 1999-08-30 2004-09-29 IP�����ɷ����޹�˾ 数据处理系统及其控制方法
CN101425019A (zh) * 2008-12-16 2009-05-06 中兴通讯股份有限公司 复杂可编程逻辑器件的软件加载方法与装置
CN102262611A (zh) * 2010-05-25 2011-11-30 无锡华润矽科微电子有限公司 一种16位的risc cpu系统结构
CN105573947A (zh) * 2014-10-13 2016-05-11 北京自动化控制设备研究所 一种基于apb总线的sd/mmc卡控制方法
US20170228233A1 (en) * 2016-02-09 2017-08-10 Intel Corporation Methods, apparatus, and instructions for user-level thread suspension
CN109074260A (zh) * 2016-04-28 2018-12-21 微软技术许可有限责任公司 乱序的基于块的处理器和指令调度器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150468A (en) * 1989-06-30 1992-09-22 Bull Hn Information Systems Inc. State controlled instruction logic management apparatus included in a pipelined processing unit
CN1353828A (zh) * 1999-03-30 2002-06-12 西门子能量及自动化公司 可编程逻辑控制器方法,系统和设备
CN1532692A (zh) * 1999-08-30 2004-09-29 IP�����ɷ����޹�˾ 数据处理系统及其控制方法
CN101425019A (zh) * 2008-12-16 2009-05-06 中兴通讯股份有限公司 复杂可编程逻辑器件的软件加载方法与装置
CN102262611A (zh) * 2010-05-25 2011-11-30 无锡华润矽科微电子有限公司 一种16位的risc cpu系统结构
CN105573947A (zh) * 2014-10-13 2016-05-11 北京自动化控制设备研究所 一种基于apb总线的sd/mmc卡控制方法
US20170228233A1 (en) * 2016-02-09 2017-08-10 Intel Corporation Methods, apparatus, and instructions for user-level thread suspension
CN109074260A (zh) * 2016-04-28 2018-12-21 微软技术许可有限责任公司 乱序的基于块的处理器和指令调度器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LUCA BENINI 等: "A Survey of Design Techniques for System-Level Dynamic Power Management", 《IEEE》 *
张天博: "基于精简指令集的微控制器设计", 《《中国优秀硕士论文电子期刊网 信息科技辑》》 *

Also Published As

Publication number Publication date
CN113760364B (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
EP2273377B1 (en) Interrupt control apparatuses and methods
JP5611756B2 (ja) プログラム・フロー制御
US8918664B2 (en) Integrated circuit, computer system, and control method, including power saving control to reduce power consumed by execution of a loop
KR101660659B1 (ko) 멀티-스레딩된 프로세싱 시스템에서의 서브루틴들의 실행
US9043806B2 (en) Information processing device and task switching method
US20080141013A1 (en) Digital processor with control means for the execution of nested loops
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JP3242508B2 (ja) マイクロコンピュータ
US20100050184A1 (en) Multitasking processor and task switching method thereof
US20100153786A1 (en) Processor, multiprocessor, and debugging method
US20060168430A1 (en) Apparatus and method for concealing switch latency
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
US20010023479A1 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
US7386709B2 (en) Controlling execution of a block of program instructions within a computer processing system
US20060095746A1 (en) Branch predictor, processor and branch prediction method
CN113760364B (zh) 逻辑器件的控制器
JP2006092029A (ja) マイクロコンピュータ及びトレース制御方法
KR102476357B1 (ko) 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법
US20030037227A1 (en) Processor enabling exception handling to be set by program
US7093254B2 (en) Scheduling tasks quickly in a sequential order
US20020156999A1 (en) Mixed-mode hardware multithreading
US7584344B2 (en) Instruction for conditionally yielding to a ready thread based on priority criteria
US7836277B2 (en) Pre-tracing instructions for CGA coupled processor in inactive mode for execution upon switch to active mode and continuing pre-fetching cache miss instructions
KR100355630B1 (ko) 롬 정정 유닛을 구비하는 컴퓨터 시스템
JP3602801B2 (ja) メモリデータアクセス構造およびその方法

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