专利名称:一种用于计算机硬件实验微处理器的嵌入式运行控制逻辑的制作方法
技术领域:
本发明属于计算机教学实验仪器技术领域,具体涉及一种用于计算机硬件实验微处理器的嵌入式运行控制逻辑,主要面向计算机组成原理、计算机系统结构的教学实验,也可用于数字逻辑电路、计算机接口技术等计算机硬件系列课程的实验。
背景技术:
现阶段,国内各高校计算机组成原理和计算机系统结构课程采用FPGA (现场可编程门阵列)进行微处理器设计实验已经成为一种先进的实验教学方式,也已经有一些实验装置出现。现有技术中,实验装置使用独立控制台的方式控制实验微处理器的运行,控制台和实验微处理器电路处于不同的芯片内,实验者通过在电脑上进行操作控制控制台产生各种控制信号,控制实验微处理器的运行。如发明专利CN1741094采用单片机实现控制台,实现对CPU进行半个时钟、I个时钟和连续运行的控制,但是不能设置断点运行,也没有微指 令单步运行和微指令断点运行;发明专利CN101290724采用专门设计的FPGA作为控制芯片,用于发出内存总线的所有控制信号、监听实验芯片的寄存器信息、对外发送消息,通过控制实验芯片的时钟来控制实验CPU的运行,但同样缺少微程序的运行控制,对能够提高实验效率的断点运行缺乏有力支持;复旦天欣科教仪器厂生产的FD-MCES计算机系统结构实验仪采用单片机和FPGA共同实现控制台,能够对微程序控制或硬布线控制的实验微处理器进行单步或连续运行控制,但是在微程序控制方式下只能提供微指令的运行控制,不能以机器指令为单位控制运行。此外,上述已有技术采用独立的芯片实现控制台,其功能需要针对特定的实验事先设计固化,对实验者不透明,不能由实验者灵活配置;控制台与实验芯片的连接关系固定,在一定程度上限制了实验微处理器的设计,约束了实验者创新能力的发挥。综上所述,目前缺乏一种有效的控制实验微处理器运行的运行控制逻辑,能够适用于微程序控制和硬布线控制的微处理器,具有全面、高效的运行控制方式,如微指令单步、指令单步、微指令断点、指令断点和全速连续运行等运行控制方式,并且可嵌入实验芯片内部、对实验者透明、可由实验者灵活配置。
发明内容
针对上述现有技术中计算机硬件实验装置在实验微处理器运行控制的实现方式上存在的局限和不足,提出了一种用于计算机硬件实验中实验微处理器的嵌入式运行控制逻辑,该运行控制逻辑和实验微处理器电路存在于同一 FPGA芯片内部,具有单时钟脉冲、微指令单步、指令单步、微指令断点、指令断点、连续运行、停止运行以及复位等微处理器运行控制方式,适用于微程序控制和硬布线控制的微处理器。为了实现上述目的,本发明提出了一种用于计算机硬件实验中实验微处理器的运行控制逻辑,包括机器指令单步结束标志移位寄存器、运行控制命令移位寄存器、断点数据移位寄存器、运行状态控制器、机器指令单步结束判断逻辑和断点匹配逻辑六个子模块,其中,机器指令单步结束标志移位寄存器、运行控制命令移位寄存器和断点数据移位寄存器依次连接在一个移位寄存器组中,数据由信息传递逻辑以移位的方式写入;机器指令单步结束标志移位寄存器用于存放实验微处理器机器指令单步结束判断标志;运行控制命令移位寄存器用于存放微处理器运行控制命令;断点数据移位寄存器用于存放断点数据;运行状态控制器采用自动机的方式产生实验微处理器的复位信号、实验微处理器不同运行方式的运行控制信号以及机器指令单步结束判断逻辑和断点匹配逻辑的使能信号;机器指令单步结束判断逻辑根据实验微处理器和运行状态控制器的当前状态,向运行状态控制器发送当前机器指令执行结束标志;断点匹配逻辑根据实验微处理器和运行状态控制器的当前状态,向运行状态控制器发送断点匹配标志。进一步地,运行状态控制器包含两个自动机,一个自动机产生实验微处理器的复位信号,使实验微处理器进入初始状态;另一个自动机可产生机器指令单步结束判断逻辑和断点匹配逻辑的使能信号,并实现实验微处理器的单时钟脉冲运行、连续运行、停止运行、微指令单步运行、机器指令单步运行、微指令断点运行、机器指令断点运行等7种运行方式。其中,单时钟脉冲运行,使运行控制信号有效,实验微处理器进入运行状态,一个处
理器时钟周期后释放运行控制信号,实验微处理器进入停止状态;连续运行使运行控制信号一直有效,实验微处理器进入运行状态,直至运行控制逻辑接收到停止运行命令时,释放运行控制信号,实验微处理器进入停止状态;停止运行方式使运行控制信号无效,实验微处理器进入停止状态,此运行控制功能仅在连续运行控制下起作用;微指令单步运行方式使运行控制信号有效,实验微处理器进入运行状态,两个处理器时钟周期后,释放运行控制信号,实验微处理器进入停止状态;机器指令单步运行方式使运行控制信号有效,实验微处理器进入运行状态,直至检测到实验微处理器已执行完本条机器指令时,释放运行控制信号,实验微处理器进入停止状态;微指令断点运行运行方式使运行控制信号有效,实验微处理器进入运行状态,直至检测到实验微处理器已执行完毕所设置的断点微指令时,释放运行控制信号,实验微处理器进入停止状态,实验人员发送此条命令之前,需要提前设置断点微指令;机器指令断点运行运行方式使运行控制信号有效,从而使实验微处理器进入运行状态,直至检测到实验微处理器已执行完毕所设置的断点机器指令时,释放运行控制信号,实验微处理器进入停止状态;实验人员发送此条命令之前,需要提前设置断点微指令。进一步地,断点匹配逻辑根据实验微处理器的微地址寄存器、程序计数器以及断点值判断实验微处理器是否已执行到断点值所表示的微指令或者机器指令,并向运行状态控制器发送断点匹配标志。断点匹配逻辑包括Bp解码器、微指令断点比较器、机器指令断点比较器和选择器,其中,Bp解码器根据断点数据的格式对断点数据进行解析;微指令断点比较器负责微指令断点匹配;机器指令断点比较器负责机器指令断点匹配;选择器对微指令断点比较器和机器指令断点比较器的输出进行选择输出。进一步地,机器指令单步结束判断逻辑包括StepEndFlag寄存器和比较器,其中StepEndFlag寄存器存放由机器指令单步结束标志移位寄存器传递的机器指令运行结束判断标志,比较器根据当前微指令地址和机器指令运行结束判断标志判断当前机器指令是否执行结束。本发明实现的实验微处理器嵌入式运行控制逻辑具有较全面的运行控制方式,不仅适用于硬布线的微处理器,还适用于微程序控制的微处理器;针对微程序控制的实验微处理器,不仅具有微指令单步和微指令断点运行方式,还具有机器指令单步及断点运行方式,提高了实验便利性和效率。本发明实现的实验微处理器嵌入式运行控制逻辑与实验微处理器处于同一 FPGA内部,无需额外的单片机等芯片作为控制台,成本低;对实验者透明,可由实验者根据实验微处理器的设计配置运行控制逻辑的内部寄存器,具有较大的灵活性和较强的实用性。
图I所示为嵌入式运行控制逻辑在计算机硬件实验系统中的一个具体实施例;图2所示为本发明计算机硬件实验微处理器嵌入式运行控制逻辑的结构框图;图3所示为本发明计算机硬件实验微处理器嵌入式运行控制逻辑中运行状态控制器的自动机I的状态转移图;图4所示为本发明计算机硬件实验微处理器嵌入式运行控制逻辑中运行状态控 制器的自动机2的状态转移图;图5所示为本发明计算机硬件实验微处理器嵌入式运行控制逻辑中断点匹配逻辑的结构框图;图6所示为本发明计算机硬件实验微处理器嵌入式运行控制逻辑中机器指令单步结束判断逻辑的结构框图。
具体实施例方式下面结合附图和实施实例对本发明作进一步描述。如图I所示为嵌入式运行控制逻辑在计算机硬件实验系统的一个具体实施例,本实施例采用FPGA芯片作为运行控制逻辑、信息传递逻辑以及实验微处理器的承载芯片,即运行控制逻辑、信息传递逻辑以及实验微处理器配置在同一 FPGA芯片内部,实验微处理器使用自主开发16位微指令处理器JU-C2。从图中可以看出,信息传递模块通过USB-JTAG协议转换器与计算机相连,接收来自计算机的实验微处理器的运行数据和控制命令,处理后发送给运行控制逻辑,运行控制逻辑产生实验微处理器的运行控制信号。如图2所示为本发明提出的计算机硬件实验微处理器的嵌入式运行控制逻辑的结构框图,从图2可以看出运行控制逻辑由机器指令单步结束标志移位寄存器、运行控制命令移位寄存器、断点数据移位寄存器、运行状态控制器、机器指令单步结束判断逻辑和断点匹配逻辑6个部分组成,其中,机器指令单步结束标志移位寄存器、运行控制命令移位寄存器和断点数据移位寄存器依次连接在USB-JTAG协议转换器的一条扫描链中,TDI和TDO分别对应移位寄存器组的数据输入端和数据输出端。机器指令单步结束标志移位寄存器负责接收并存储信息传递逻辑传递的数据,产生机器指令运行结束判断标志Flag信号;运行控制命令移位寄存器负责接收并存储信息传递逻辑传递的数据,产生处理器运行控制命令Cmd信号;断点数据移位寄存器负责接收并存储信息传递逻辑传递的数据,产生断点数据Bp信号,Bp信号按照其数据编码规则分为微指令断点值和机器指令断点值;运行状态控制器依据运行控制命令移位寄存器传递的微处理器运行控制命令Cmd,使用2个自动机分别产生实验微处理器运行控制信号Run和实验微处理器复位信号CPUReset,并产生机器指令单步结束判断逻辑的使能控制信号StepRun和断点匹配逻辑的使能控制信号BpRun ;断点匹配逻辑依据断点数据Bp、实验微处理器的程序计数器PC和微地址寄存器uAR判断实验微处理器是否已执行到断点指令,并向运行状态控制器发送断点匹配标志BpStop ;机器指令单步结束判断逻辑依据机器指令运行结束判断标志Flag信号和实验微处理器的微地址寄存器uAR判断实验微处理器的当前机器指令是否已执行结束,并向运行状态控制器发送机器指令执行结束标志St印Stop。上述机器指令单步结束标志移位寄存器、运行控制命令移位寄存器以及断点数据移位寄存器由实验装置中的信息传递逻辑提供数据,依次连接在一个移位寄存器组中;机器指令单步结束标志移位寄存器与机器指令单步结束判断逻辑通过Flag信号线相连;断点数据移位寄存器与断点匹配逻辑通过Bp信号线连接;运行状态控制器与运行控制命令移位寄存器通过Cmd信号线连接,与机器指令单步结束判断逻辑通过StepRun和StepStop信号线相连,与断点匹配逻辑通过BpRun和BpStop信号线相连,与实验微处理器通过Run以及CPUReset信号线相连;机器指令单步结束判断逻辑与实验微处理器通过uAR信号线相连;断点匹配逻辑与实验微处理器通过微地址寄存器uAR和程序计数器PC信号线相连。
上述运行状态控制器由其内部自动机I可以实现单时钟脉冲、连续运行、停止运行、微指令单步运行、机器指令单步运行、微指令断点运行以及机器指令断点运行七种微处理器运行方式,自动机I的输出为Run信号,其中单时钟脉冲运行控制逻辑产生运行控制信号Run信号有效,使实验微处理器进入运行状态,Run信号只维持一个处理器时钟周期的有效时间,用来控制实验微处理器的单步运行;连续运行运行控制逻辑产生运行控制信号Run信号有效,使实验微处理器进入运行状态,并持续保持Run信号有效;停止运行运行控制逻辑使运行控制信号Run信号无效,使实验微处理器进入停止状态,此运行控制命令仅在连续运行控制命令有效的情况下起作用;微指令单步运行控制逻辑产生运行控制信号Run信号有效,使实验微处理器进入运行状态,Run信号维持两个处理器时钟周期后,Run信号自动释放变为无效,实验微处理器进入停止状态;机器指令单步运行控制逻辑产生运行控制信号Run信号有效,使实验微处理器进入运行状态,开始执行当前机器指令,并使发送到机器指令单步结束判断逻辑的StepRun信号有效,运行控制逻辑通过机器指令单步结束判断逻辑回送的StepStop信号检测实验微处理器的状态,直至检测到实验微处理器已执行完本条机器指令,即St印Stop信号有效,释放Run和St印Run信号,实验微处理器进入停止状态;微指令断点运行实验人员向运行控制逻辑发送此条命令之前,需要提前设置断点数据移位寄存器。运行控制逻辑产生运行控制信号Run信号有效,使实验微处理器进入运行状态,并使发送到断点匹配逻辑的BpRun信号有效,运行控制逻辑通过断点匹配逻辑回送的BpStop信号检测实验微处理器的状态,直至检测到实验微处理器已执行完毕所设置的断点微指令,即BpStop信号有效,释放Run和BpRun信号,实验微处理器进入停止状态;机器指令断点运行实验人员向运行控制逻辑发送此条命令之前,需要提前设置断点数据移位寄存器。运行控制逻辑产生运行控制信号Run信号有效,使实验微处理器进入运行状态,并使发送到断点匹配逻辑的BpRun信号有效,运行控制逻辑通过断点匹配逻辑回送的BpStop信号检测实验微处理器的状态,直至检测到实验微处理器已执行完毕所设置的断点微指令,即BpStop信号有效,释放Run和BpRun信号,实验微处理器进入停止状态。上述运行状态控制器可以通过自动机I产生机器指令单步结束判断逻辑的使能控制信号StepRun信号和断点匹配逻辑的使能控制信号BpRun信号;运行状态控制器通过自动机2可以产生实验微处理器复位信号,即CPUReset信号,使微处理器进入初始状态。如图3所示为运行状态控制器的内部自动机I的状态转移图,包含七个状态,分别为 IDLE、BeginRun、ExecuteRun、WaitBreak、WaitEncU WaitStop 以及 EndRun 状态,其中IDLE状态自动机I在复位信号Reset有效后进入IDLE空闲状态,此时运行状态控制器输出的运行控制信号Run无效,在单步、断点以及连续运行运行控制命令的作用下,自动机I发生状态转移,次态为BeginRun状态; BeginRun状态此状态下,运行状态控制器输出的运行控制信号Run有效,实验微处理器进入运行状态,根据实验微处理器运行控制命令的不同,在运行状态控制器的下一个有效时钟边沿进入不同的状态。当运行控制命令为单时钟脉冲时,次态为EndRun状态;否则,次态为ExecuteRun状态;ExecuteRun状态此状态下,运行状态控制器输出的运行控制信号Run有效,实验微处理器处于运行状态,根据实验微处理器运行控制命令的不同,在运行状态控制器的下一个有效时钟边沿进入不同的状态。运行控制命令为连续运行时,次态为WaitStop状态;运彳了控制命令为微指令单步时,次态为EndRun状态;运彳了控制命令为机器指令单步时,次态为WaitEnd状态;运行控制命令为微指令断点运行或机器指令断点运行时,次态为WaitBreak 状态;WaitBreak状态此状态下,运行状态控制器输出的运行控制信号Run有效,送向断点匹配逻辑的BpRun信号有效,实验微处理器处于运行状态。此时,断点匹配逻辑循环检测实验微处理器的uAR和PC,直至处理器运行至已设置的微指令断点或者机器指令断点后,断点匹配逻辑的输出BpStop有效,运行控制自动机I发生状态转移,次态为EndRun状态;WaitEnd状态此状态下,运行状态控制器输出的运行控制信号Run有效,送向机器指令单步结束判断逻辑的StepRun信号有效,实验微处理器处于运行状态。此时,机器指令单步结束判断逻辑循环检测实验微处理器的uAR,直至处理器执行完本条机器指令,机器指令单步结束判断逻辑的输出StepStop信号有效,运行控制自动机I发生状态转移,次态为EndRun状态;WaitStop状态此状态下,运行状态控制器输出的运行控制信号Run有效,实验微处理器处于运行状态。此时,运行状态控制器循环检测接收自信息传递逻辑的处理器运行控制命令Cmd,若Cmd为停止运行控制命令,自动机I发生状态转移,次态为EndRun状态;EndRun状态此状态下,运行状态控制器输出的运行控制信号Run无效,实验微处理器进入停止状态,在运行状态控制器的下一个有效时钟边沿,自动机I发生状态转移,次态为IDLE状态。如图4所示为运行状态控制器的内部自动机2的状态转移图,包含两个状态,分别为IDLE、ResetOP状态。自动机2在复位信号Reset有效后进入IDLE空闲状态,此时运行状态控制器的输出信号CPUReset无效,在CPU复位运行控制命令的作用下,自动机2发生状态转移,次态为ResetOP状态;图5所示为断点匹配逻辑的结构框图,包括Bp解码器、微指令断点比较器、机器指令断点比较器和选择器,其中,Bp解码器根据断点数据的格式对断点数据移位寄存器的输出Bp进行解析,并产生微指令断点值uARBp、机器指令断点值PCBp以及区分机器指令和微指令断点的Sel信号;微指令断点比较器在对实验微处理器的uAR信号和微指令断点值uARBp进行比较,产生匹配信号uAROK ;机器指令断点比较器对实验微处理器的uAR信号、PC信号以及机器指令断点值PCBp进行比较,产生匹配信号PCOK ;选择器根据Bp解码器产生的Sel信号选择输出uAROK和PCOK信号,产生BpStop信号。当运行状态控制器接收到微指令断点运行或者机器指令断点运行控制命令后,使断点匹配逻辑使能信号BpRun有效,断点匹配逻辑根据实验微处理器的微地址寄存器的值uAR、程序计数器的值PC以及断点值Bp,判断实验微处理器是否已执行到断点值Bp所表示的微指令或者机器指令,并向运行状态控制器发送断点匹配标志BpStop。图6所示为机器指令单步结束判断逻辑的结构框图,包括St印EndFlag寄存器和比较器,其中StepEndFlag寄存器存放由机器指令单步结束标志移位寄存器传递的机器指令运行结束判断标志Flag ;比较器负责对当前微指令地址uAR和机器指令运行结束判断标志StepEndFlag进行比对,并输出StepStop信号,若当前微指令地址uAR是否与StepEndFlag相等来判断当前机器指令是否执行结束,当uAR的值与StepEndFlag相等表示当前机器指令已执行结束,置StepStop信号有效,否则StepStop信号置为无效。当运行状态控制器接收到机器指令单步运行控制命令后,使机器指令单步结束判断逻辑使能信号StepRun有效,机器指令单步结束判断逻辑根据实验微处理器微地址寄存器的值uAR以及机器指令单步结束标志移位寄存器输出的Flag判断当前机器指令是否已执行结束,向运行状态控制器发送机器指令执行结束标志StepStop。
权利要求
1.一种用于计算机硬件实验微处理器的嵌入式运行控制逻辑,其特征在于包括机器指令单步结束标志移位寄存器、运行控制命令移位寄存器、断点数据移位寄存器、运行状态控制器、机器指令单步结束判断逻辑和断点匹配逻辑; 所述机器指令单步结束标志移位寄存器用于存放实验微处理器机器指令单步结束判断标志; 所述运行控制命令移位寄存器用于存放微处理器运行控制命令; 所述断点数据移位寄存器用于存放断点数据; 所述运行状态控制器采用自动机的方式产生实验微处理器的复位信号、实验微处理器运行控制信号以及机器指令单步结束判断逻辑和断点匹配逻辑的使能信号; 所述机器指令单步结束判断逻辑根据实验微处理器和运行状态控制器的当前状态,向运行状态控制器发送当前机器指令执行结束标志; 所述断点匹配逻辑根据实验微处理器和运行状态控制器的当前状态,向运行状态控制器发送断点匹配标志; 所述机器指令单步结束标志移位寄存器、运行控制命令移位寄存器和断点数据移位寄存器依次连接在一个移位寄存器组中,数据由信息传递逻辑以移位的方式写入。
2.如权利要求I所述的用于计算机硬件实验微处理器的嵌入式运行控制逻辑,其特征在于,所述运行状态控制器包含两个自动机,一个自动机产生实验微处理器的复位信号,另一个自动机可实现实验微处理器的单时钟脉冲运行、连续运行、停止运行、微指令单步运行、机器指令单步运行、微指令断点运行、机器指令断点运行等7种运行方式; 单时钟脉冲运行方式使运行控制信号有效,实验微处理器进入运行状态,一个处理器时钟周期后释放运行控制信号,实验微处理器进入停止状态; 连续运行方式使运行控制信号一直有效,实验微处理器进入运行状态,直至运行控制逻辑接收到停止运行命令时,释放运行控制信号,实验微处理器进入停止状态; 停止运行方式使运行控制信号无效,实验微处理器进入停止状态,此运行控制功能仅在连续运行控制下起作用; 微指令单步运行方式使运行控制信号有效,实验微处理器进入运行状态,两个处理器时钟周期后,释放运行控制信号,实验微处理器进入停止状态; 机器指令单步运行方式使运行控制信号有效,实验微处理器进入运行状态,直至检测到实验微处理器已执行完本条机器指令时,释放运行控制信号,实验微处理器进入停止状态; 微指令断点运行方式使运行控制信号有效,实验微处理器进入运行状态,直至检测到实验微处理器已执行完毕所设置的断点微指令时,释放运行控制信号,实验微处理器进入停止状态;实验人员发送此条命令之前,需要提前设置断点微指令; 机器指令断点运行方式使运行控制信号有效,从而使实验微处理器进入运行状态,直至检测到实验微处理器已执行完毕所设置的断点机器指令时,释放运行控制信号,实验微处理器进入停止状态;实验人员发送此条命令之前,需要提前设置断点指令。
3.如权利要求I所述的用于计算机硬件实验微处理器的嵌入式运行控制逻辑,其特征在于,所述断点匹配逻辑包括Bp解码器、微指令断点比较器、机器指令断点比较器和选择器,其中,Bp解码器根据断点数据的格式对断点数据进行解析;微指令断点比较器负责微指令断点匹配;机器指令断点比较器负责机器指令断点匹配;选择器对微指令断点比较器和机器指令断点比较器的输出进行选择输出。
4.如权利要求I所述的用于计算机硬件实验微处理器的嵌入式运行控制逻辑,其特征在于,所述机器指令单步结束判断逻辑包括St印EndFlag寄存器和比较器,其中StepEndFlag寄存器存放由机器指令单步结束标志移位寄存器传递的机器指令运行结束判断标志,比较器根据当前微指令地址和机器指令运行结束判断标志判断当前机器指令是否执行结束。
全文摘要
本发明属于计算机教学实验仪器技术领域,具体涉及一种用于计算机硬件实验微处理器的嵌入式运行控制逻辑,包括机器指令单步结束标志移位寄存器、运行控制命令移位寄存器、断点数据移位寄存器、运行状态控制器、机器指令单步结束判断逻辑和断点匹配逻辑六个子模块,该运行控制逻辑和实验微处理器电路存在于同一FPGA芯片内部,具有单时钟脉冲、微指令单步、指令单步、微指令断点、指令断点、连续运行、停止运行以及复位等微处理器运行控制方式,适用于微程序控制和硬布线控制的微处理器。
文档编号G06F9/44GK102929644SQ20121047700
公开日2013年2月13日 申请日期2012年11月22日 优先权日2012年11月22日
发明者肖铁军, 常志恒, 韩晓茹, 丁伟 申请人:江苏大学