CN110045986B - 一种指令处理方法、装置及存储介质 - Google Patents

一种指令处理方法、装置及存储介质 Download PDF

Info

Publication number
CN110045986B
CN110045986B CN201810040773.0A CN201810040773A CN110045986B CN 110045986 B CN110045986 B CN 110045986B CN 201810040773 A CN201810040773 A CN 201810040773A CN 110045986 B CN110045986 B CN 110045986B
Authority
CN
China
Prior art keywords
instruction
searched
computer
items
entries
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.)
Active
Application number
CN201810040773.0A
Other languages
English (en)
Other versions
CN110045986A (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.)
Longxin Zhongke (Beijing) Information Technology Co.,Ltd.
Original Assignee
Longxin Zhongke Beijing Information Technology Co ltd
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 Longxin Zhongke Beijing Information Technology Co ltd filed Critical Longxin Zhongke Beijing Information Technology Co ltd
Priority to CN201810040773.0A priority Critical patent/CN110045986B/zh
Publication of CN110045986A publication Critical patent/CN110045986A/zh
Application granted granted Critical
Publication of CN110045986B publication Critical patent/CN110045986B/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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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
    • 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/30181Instruction operation extension or modification
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种指令处理方法、装置及存储介质,可以应用于运行有操作系统的计算机,该计算机工作在命令行模式。该方法包括:接收指令查找请求,所述指令查找请求包括:待查找指令条目数的指示信息;在指令索引列表中的指令索引的总条目数大于0时,对所述待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数;根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;显示查找到的指令索引对应的指令。本发明提供的指令处理方法、装置及存储介质,可以提高计算机的指令查找效率。

Description

一种指令处理方法、装置及存储介质
技术领域
本发明涉及计算机技术,尤其涉及一种指令处理方法、装置及存储介质。
背景技术
威克沃(vxWorks)操作系统是一种嵌入式实时操作系统,具有良好的可靠性和卓越的实时性。因此,vxWorks操作系统被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,例如卫星通讯、军事演习、弹道制导、飞机导航等。
目前,运行vxWorks操作系统的计算机可以工作在编辑模式和命令行模式。当计算机工作在编辑模式时,计算机可以接收并保存用户输入的指令,同时,计算机可以为该指令生成指令索引。当计算机工作在命令行模式时,计算机可以根据用户输入的待查找指令条目数,在计算机的指令索引列表中,查找待查找指令条目数对应的指令的指令索引。具体地,计算机可以逐条查找每个指令索引,同时每查找到一个指令索引,将待查找指令条目数减1,直至待查找指令条目数归零。此时,待查找指令条目数归零时所查找到的指令索引即为待查找指令条目数对应的指令的指令索引。然后,计算机可以显示该指令索引对应的指令。通过这种方式,可以使用户不用再手动输入已保存在计算机上的指令,提高了指令的输入效率。
然而,现有技术中,当用户输入的待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数时,计算机根据该待查找指令条目数,会循环的对指令索引列表中的指令索引进行查找,直至待查找指令条目数归零;因此,当用户输入的待查找指令条目数量大于甚至远远大于指令索引列表中的指令索引的总数目时,多次逐条查找指令索引列表,甚至是多次遍历整个指令索引列表将导致指令查找效率较低。
发明内容
本发明提供一种指令处理方法、装置及存储介质,用于解决现有技术中计算机指令查找效率较低的技术问题。
本发明第一方面提供一种指令处理方法,应用于运行有操作系统的计算机,该计算机工作在命令行模式,该方法包括:
接收指令查找请求,所述指令查找请求包括:待查找指令条目数的指示信息;
在指令索引列表中的指令索引的总条目数大于0时,对所述待查找指令条目数和所述指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数;
根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
显示查找到的指令索引对应的指令。
在一种可能的实施方式中,所述对所述待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数之前,还包括:
确定所述待查找指令条目数大于或等于所述指令索引列表中的指令索引的总条目数。
在一种可能的实施方式中,所述指令查找请求还包括:指令查找方向的指示信息;
所述根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引,包括:
以当前指令的指令索引作为查找起点,根据所述修正后的待查找指令条目数,沿所述指令查找方向,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
所述当前指令为下述任一项:所述计算机在编辑模式下接收到的指令、所述计算机在命令行模式下接收到的指令、所述计算机前一显示的指令;所述计算机前一显示的指令为所述计算机当前时间点之前,最新显示的内容。
在一种可能的实施方式中,所述操作系统为嵌入式实时操作系统。
本发明第二方面提供一种指令处理装置,应用于运行有操作系统的计算机,该计算机工作在命令行模式,该装置包括:
接收模块,用于接收指令查找请求,所述指令查找请求包括:待查找指令条目数的指示信息;
处理模块,用于在指令索引列表中的指令索引的总条目数大于0时,对所述待查找指令条目数和所述指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数,并根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
显示模块,用于显示查找到的指令索引对应的指令。
在一种可能的实施方式中,所述处理模块,还用于在对所述待查找指令条目数和所述总条目数进行取余运算,得到所述修正后的待查找指令条目数之前,确定所述待查找指令条目数大于或等于所述指令索引列表中的指令索引的总条目数。
在一种可能的实施方式中,所述指令查找请求还包括:指令查找方向的指示信息;
所述处理模块,具体用于以当前指令的指令索引作为查找起点,根据所述修正后的待查找指令条目数,沿所述指令查找方向,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
所述当前指令为下述任一项:所述计算机在编辑模式下接收到的指令、所述计算机在命令行模式下接收到的指令、所述计算机前一显示的指令;所述计算机前一显示的指令为所述计算机当前时间点之前,最新显示的内容。
在一种可能的实施方式中,所述操作系统为嵌入式实时操作系统。
本发明第三方面提供一种指令处理装置,应用于运行有操作系统的计算机,该计算机工作在命令行模式,该装置包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行第一方面任一项所述的方法。
本发明第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现第一方面任一项所述的方法。
本发明提供的指令处理方法、装置及存储介质,计算机在接收携带有待查找指令条目数的指示信息的指令查找请求后,可以使用待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算后得到的余数,作为修正后的待查找指令条目数,进行指令查找。由于修正后的待查找指令条目数小于指令索引列表中的指令索引的总条目数,因此,即便待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数,计算机在使用修正后的待查找指令条目数,在指令索引列表中查找指令索引时,也不需要循环的对指令索引列表中的指令索引查找,可以减少计算机进行指令查找的时间,进而可以提高计算机的指令查找效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为指令索引列表的结构示意图一;
图2为指令索引列表的结构示意图二;
图3为本发明提供的一种指令处理方法的流程示意图;
图4为本发明提供的另一种指令处理方法的流程示意图;
图5为本发明提供的一种指令处理装置的结构示意图;
图6为本发明提供的另一种指令处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所涉及的计算机运行有操作系统。例如:实时操作系统、嵌入式实时操作系统等。这里所说的嵌入式实时操作系统例如可以为vxWorks操作系统、Linux操作系统等。因此,上述计算机在运行操作系统的过程中,可以工作在编辑模式和命令行模式。
下面以运行有vxWorks操作系统的计算机为例,对现有的指令查询方法进行说明。
目前,运行vxWorks操作系统的计算机在编辑模式下,可以接收用户输入的指令。计算机在接收到用户输入的指令后,可以动态分配存储该指令的内存空间,并在分配的内存空间中保存该指令。同时,计算机可以在指令索引列表中插入该指令对应的指令索引。
该指令索引为链表形式的索引,即该指令索引可以指向该指令索引对应的指令在内存空间中的起始地址,记录有该指令索引所对应的指令的长度(即该指令所包括的字符数),还可以指向下一指令索引在内存空间中的起始地址。也就是说,通过指令索引可以链接到该指令索引所索引的指令,还可以链接到指令索引列表中位于该指令索引之后的下一个指令索引。相应地,指令索引列表中该指令索引的前一指令索引可以记录有该指令索引在内存空间中的起始地址。
这样,当计算机工作在命令行模式时,计算机可以根据用户输入的待查找指令条目数,在计算机的指令索引列表中,查找待查找指令条目数对应的指令的指令索引。通过这种方式,可以使用户不用再手动输入已保存在计算机上的指令,提高了指令的输入效率。
现有技术中,运行有vxWorks的计算机通过结构体来实现指令索引列表中的指令索引。例如,下述所示的typedef struct结构体。具体如下:
Figure BDA0001549434960000051
Figure BDA0001549434960000061
需要说明的是,由于一个指令索引对应一个指令,因此,上述typedef struct结构体的数量,具体可以根据当前所接收到的用户输入的指令的条目数确定。进一步地,上述typedef struct ctx_hist结构体的成员histNum,也可以是指计算机中保存的指令的总条目数。上述typedef struct ctx_hist结构体的成员histSize,也可以是指计算机能够保存的指令的最大总条目数。其中,计算机能够保存的指令的最大总条目数具体可以根据计算机所运行的操作系统的设置确定,例如20。
图1为指令索引列表的结构示意图一。图2为指令索引列表的结构示意图二。如图1所示,以上述typedef struct ctx_hist结构体和typedef struct结构体为例,假定指令索引列表支持的指令索引的最大总条目数为20。则计算机在编辑模式下还未接收到用户输入的任一指令时,该指令索引列表的结构可以如图1所示。此时,图1中示出的typedef structctx_hist结构体中当前指向的指令索引在内存空间中的起始地址(即成员pCurrentHist)为空。指令索引列表中的第一个指令索引在内存空间中的起始地址(即成员histList)为空。指令索引列表中的指令索引的总条目数(即成员histNum)为空。指令索引列表支持的指令索引的最大总条目数(即成员histSize)为20。当前指向的指令索引在指令索引列表中的排序(即成员nodeNumber)为空。图1中示出的虚线框的typedef struct结构体1至typedefstruct结构体20表示typedef struct结构体1至typedef struct结构体20对应的指令索引还未存在于指令索引列表中。
假定计算机在编辑模式下,接收到用户依次输入的3个指令,分别为devs、ifconfig、i。则当计算机采用上述方式将各个指令保存到内存中,并为每个指令生成指令索引后,该指令索引列表的结构可以如图2所示。
在本示例中,typedef struct ctx_hist结构体中当前指向的指令索引在内存空间中的起始地址(即成员pCurrentHist)为第二个指令索引在内存空间中的起始地址。指令索引列表中的第一个指令索引在内存空间中的起始地址(即成员histList)为指令devs的指令索引在内存空间中的起始地址。指令索引列表中的指令索引的总条目数(即成员histNum)为3。指令索引列表支持的指令索引的最大总条目数(即成员histSize)为20。当前指向的指令索引在指令索引列表中的排序(即成员nodeNumber)为2。
在该场景下,指令索引列表中的typedef struct结构体1为指令1(devs)对应的指令索引,typedef struct结构体2为指令2(ifconfig)对应的指令索引,typedef struct结构体3为指令3(i)对应的指令索引。
其中,typedef struct结构体1的成员node指向的是typedef struct结构体2在内存空间中的起始地址,即指令ifconfig对应的指令索引在内存空间中的起始地址。typedefstruct结构体1的成员lineSize表示指令devs的长度为4。typedef struct结构体1的成员line指向指令devs在内存空间中的起始地址。
typedef struct结构体2的成员node指向的是typedef struct结构体3在内存空间中的起始地址,即指令i对应的指令索引在内存空间中的起始地址。typedef struct结构体2的成员lineSize表示指令ifconfig的长度为7。typedef struct结构体2的成员line指向指令ifconfig在内存空间中的起始地址。
typedef struct结构体3的成员node指向的是第四个typedef struct结构体在内存空间中的起始地址。由于在本示例中,该指令索引列表中没有第四个typedef struct结构体,因此,该成员node指向为空。typedef struct结构体3的成员lineSize表示指令i的长度为1。typedef struct结构体3的成员line指向指令i在内存空间中的起始地址。
以图2所示的指令索引列表的结构为例,当计算机工作在命令行模式下时,计算机在接收到用户输入的待查找指令条目数后,可以通过typedef struct ctx_hist结构体的成员pCurrentHist,沿指令查找方向,在指令索引列表中查找该待查找指令条目数对应的指令索引。其中,指令查找方向可以为向前查找,或,向后查找。该指令查找方向可以为预设的指令查找方向,也可以为用户随待查找指令条目数一起输入的指令查找方向。
以用户输入的待查找指令条目数为10为例,假定指令查找方向为向后查找,则计算机可以将typedef struct ctx_hist结构体的成员pCurrentHist当前指向的第二个指令索引作为查找起点,根据待查找指令条目数,使typedef struct ctx_hist结构体的成员pCurrentHist向后依次指向每个指令索引。同时,在成员pCurrentHist每指向一个指令索引时,计算机可以将待查找指令条目数减1。
此时,由于用户输入的待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数,即typedef struct ctx_hist结构体的成员histNum的取值,因此,计算机可以使typedef struct ctx_hist结构体的成员pCurrentHist,循环指向指令索引列表中的每个指令索引,直至待查找指令条目数归零。即,计算机可以使typedef struct ctx_hist结构体的成员pCurrentHist依次指向第3个指令索引、第1个指令索引、第2个指令索引、第3个指令索引、第1个指令索引、第2个指令索引、第3个指令索引、第1个指令索引、第2个指令索引、第3个指令索引。在本示例中,计算机循环查找了3次指令索引列表。
在该场景下,第3个指令索引为待查找指令条目数归零时所查找到的指令索引,因此,第3个指令索引为待查找指令条目数对应的指令的指令索引。然后,计算机可以根据第3个指令索引所指向的指令i在内存空间中的起始地址,从内存中读取i并显示在屏幕上的光标位置,完成指令的查找。
通过上述描述可知,当用户输入的待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数时,计算机根据该待查找指令条目数,会循环的对指令索引列表中的指令索引查找,直至待查找指令条目数归零才会停止指令查找任务,导致指令查找占用的时间较长,进而造成指令查找效率较低的问题。
考虑到上述问题,本发明提供了一种指令处理方法,能够使运行有操作系统的计算机快速的查找到待查找指令条目数对应的指令,提高了指令查找效率。另外,本发明所提供的指令处理方法的执行主体可以为指令处理装置,该指令处理装置可以为驱动程序、程序代码软件,也可以为存储有相关执行代码的介质,例如,U盘等;或者,该指令处理装置还可以为集成或安装有相关执行代码的实体装置,例如,芯片、微控制单元(MicrocontrollerUnit,简称MCU)、电脑、计算机等。
举例来说,该方案可应用于运行有任一操作系统的计算机,例如,嵌入式操作系统的计算机。作为示例说明,运行嵌入式实时操作系统的计算机可以安装有无内部互锁流水级的微处理器(Microprocessor without interlocked piped stages,简称MIPS),该处理器具有高性能低功耗的特点,可应用于服务器、高性能计算机、低能耗数据中心、个人高性能计算机、高端桌面应用、高吞吐计算应用、工业控制、数字信号处理、高端嵌入式应用等产品。
下面以集成或安装有相关执行代码的计算机为例,以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本发明提供的一种指令处理方法的流程示意图。本实施例涉及的是计算机使用待查找指令条目数和指令索引列表中的指令索引的总条目数的余数作为修正后的待查找指令条目数,进行指令查找的具体过程。如图3所示,该方法包括:
S101、接收指令查找请求,指令查找请求包括:待查找指令条目数的指示信息。
S102、在指令索引列表中的指令索引的总条目数大于0时,对待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数。
S103、根据修正后的待查找指令条目数,在指令索引列表中查找修正后的待查找指令条目数对应的指令索引。
S104、显示查找到的指令索引对应的指令。
在本实施例中,当计算机在命令行模式下接收到用户输入的携带有待查找指令条目数的指示信息的指令查找请求之后,计算机可以在指令索引列表中的指令索引的总条目数大于0时,将待查找指令条目数作为被除数,将指令索引列表中的指令索引的总条目数作为除数,对待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,以将余数作为修正后的待查找指令条目数。然后,计算机可以使用该修正后的待查找指令条目数,在指令索引列表中查找修正后的待查找指令条目数对应的指令索引。
可选的,所述指令查找请求还包括:指令查找方向的指示信息。此时,如前述实施例所说,计算机在执行指令查找任务时,可以沿指令查找方向,在指令索引列表中查找指令。该指令查找方向可以为向前查找,或,向后查找。该指令查找方向可以为预设的指令查找方向,也可以为用户随待查找指令条目数一起输入的指令查找方向。
因此,在一种实施例中,当上述指令查找请求还包括指令查找方向的指示信息时,上述计算机可以以当前指令的指令索引作为查找起点,根据修正后的待查找指令条目数,沿指令查找方向,在指令索引列表中查找修正后的待查找指令条目数对应的指令索引。
结合图2所示实施例,当前指令可以是typedef struct ctx_hist结构体中的成员pCurrentHist当前指向的指令索引对应的指令。该指令可以为在执行此次指令查找任务之前,计算机在编辑模式下接收到的用户输入的指令、计算机在命令行模式下接收到的用户输入的指令、或者计算机前一显示的指令(即计算机在当前时间点之前最新显示的内容)等中的任一指令,对此不再赘述。
继续参照上述图2所示的示例,计算机可以对待查找指令条目数10与指令索引列表中的指令索引的总条目数3进行取余运算,得到余数1。然后,计算机可以将该余数作为修正后的待查找指令条目数,通过typedef struct ctx_hist结构体的成员pCurrentHist,沿指令查找方向,在指令索引列表中查找该待查找指令条目数对应的指令索引。
以指令查找方向为向后查找为例,在该场景下,计算机可以使typedef structctx_hist结构体的成员pCurrentHist向后查找一个指令索引(即指令索引3),即可使修正后的待查找指令条目数归零。即,第3个指令索引为修正后的待查找指令条目数归零时所查找到的指令索引。然后,计算机可以根据第3个指令索引所指向的指令i在内存空间中的起始地址,从内存中读取i并显示在屏幕上的光标位置,完成指令的查找。
通过上述描述可知,计算机在使用修正后的待查找指令条目数,在指令索引列表中查找到的指令索引,与,使用待查找指令条目数,在指令索引列表中查找到的指令索引是同一个。也就是说,计算机使用修正后的待查找指令条目数,也可以查找到待查找指令条目数对应的指令索引。
由于上述修正后的待查找指令条目数为待查找指令条目数与指令索引列表中的指令索引的总条目数进行取余运算后得到的余数,所以修正后的待查找指令条目数小于指令索引列表中的指令索引的总条目数。因此,即便待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数,计算机使用修正后的待查找指令条目数,在指令索引列表中查找指令索引时,也不需要循环的对指令索引列表中的指令索引进行查找。因此,可以减少计算机进行指令查找的时间,进而可以提高计算机的指令查找效率。
再例如,继续参照上述图2所示的示例,当用户输入的待查找指令条目数远大于或等于指令索引列表中的指令索引的总条目数时,假定用户输入的待查找指令条目数为10000,则在该场景下,计算机需要循环的对指令索引列表中的指令索引查找3333遍,导致指令查找会占用很长的时间(例如70多分钟)。
此时,若计算机运行的是vxWorks操作系统,由于vxWorks操作系统为抢占式操作系统,所以高优先级任务长时间运行时低优先级的任务得不到CPU的资源(任务优先级的取值为0~255,取值越低说明优先级越高)。由于指令查找任务的优先级为1,因此,当计算机长时间查找指令时,会导致低优先级的任务无法执行,进而使计算机所运行的vxWorks系统出现假死状态。
而采用本实施例所提供的方法,计算机可以对待查找指令条目数10000与指令索引列表中的指令索引的总条目数3进行取余运算,得到余数1。然后,计算机可以将该余数作为修正后的待查找指令条目数,通过typedef struct ctx_hist结构体的成员pCurrentHist,向后查找一个指令索引(即指令索引3),仅通过一次查找即可得到待查找指令条目数对应的指令索引。因此,可以大大减少计算机进行指令查找的时间,进而可以提高计算机的指令查找效率。同时,计算机无须花费很长的时间执行指令查找任务,还可以避免计算机所运行的vxWorks系统出现假死状态,便于计算机执行其他较低优先等级的任务。
可选的,在一些实施例中,上述计算机还可以在对待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算之前,先判断待查找指令条目数是否大于或等于指令索引列表中的指令索引的总条目数,进而计算机在确定待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数之后,在指令索引列表中的指令索引的总条目数大于0时,对待查找指令条目数和总条目数进行取余运算,得到修正后的待查找指令条目数。而在待查找指令条目数小于指令索引列表中的指令索引的总条目数时,计算机可以采用现有技术中的方式,直接使用待查找指令条目数查找指令,不需要通过取余运算对待查找指令条目数进行修正。通过这种方式,可以提高计算机的指令查找效率。
另外,在本实施例中,上述计算机还可以在对待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算之前,先判断指令索引列表中的指令索引的总条目数是否大于0,进而计算机在指令索引列表中的指令索引的总条目数大于0,且待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数时,对待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数。而在指令索引列表中的指令索引的总条目数小于或等于0时,计算机可以停止流程,不需要执行指令查找操作。通过这种方式,可以进一步提高计算机的指令查找效率。
另外,关于计算机如何根据修正后的待查找指令条目数,沿指令索引查找方向,在指令索引列表中查找修正后的待查找指令条目数对应的指令索引,可以参见前述实施例的描述,不再一一赘述。
下面通过一个完成的流程,对上述指令处理方法进行说明。图4为本发明提供的另一种指令处理方法的流程示意图。如图4所示,该方法包括:
S201、接收指令查找请求,指令查找请求包括:待查找指令条目数的指示信息和指令查找方向的指示信息。
S202、确定指令索引列表中的指令索引的总条目数是否大于0。若是,则执行S203,若否,则结束。
S203、确定待查找指令条目数是否大于或等于指令索引列表中的指令索引的总条目数。若是,则执行S205,若否,则执行S204。
S204、以当前指令的指令索引作为查找起点,根据待查找指令条目数,沿指令查找方向,在指令索引列表中查找待查找指令条目数对应的指令索引。
执行完S204之后,执行S207。
S205、对待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数。
S206、以当前指令的指令索引作为查找起点,根据修正后的待查找指令条目数,沿指令查找方向,在指令索引列表中查找修正后的待查找指令条目数对应的指令索引。
S207、显示查找到的指令索引对应的指令。
执行完S207之后,流程结束。
本发明实施例提供的指令处理方法,计算机在接收携带有待查找指令条目数的指示信息和指令查找方向的指示信息的指令查找请求后,可以使用待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算得到的余数,作为修正后的待查找指令条目数,进行指令查找。由于修正后的待查找指令条目数小于指令索引列表中的指令索引的总条目数,因此,即便待查找指令条目数大于或等于指令索引列表中的指令索引的总条目数,计算机在使用修正后的待查找指令条目数,在指令索引列表中查找指令索引时,也不需要循环的对指令索引列表中的指令索引查找,可以减少计算机进行指令查找的时间,进而可以提高计算机的指令查找效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明提供的一种指令处理装置的结构示意图。该指令处理装置可以通过软件、硬件或者两者的结合实现计算机的部分或者全部。该计算机例如可以运行操作系统(例如嵌入式实时操作系统或linux操作系统),且该计算机可以工作在命令行模式,如图5所示,该指令处理装置可以包括:接收模块11、处理模块12和显示模块13。其中,
接收模块11,用于接收指令查找请求,所述指令查找请求包括:待查找指令条目数的指示信息;
处理模块12,用于在所述指令索引列表中的指令索引的总条目数大于0时,对所述待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数,并根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
显示模块13,用于显示查找到的指令索引对应的指令。
可选的,在一些实施例中,处理模块12,还用于在对所述待查找指令条目数和所述总条目数进行取余运算,得到所述修正后的待查找指令条目数之前,确定所述待查找指令条目数大于或等于所述指令索引列表中的指令索引的总条目数。
可选的,在一些实施例中,在上述指令查找请求还包括指令查找方向的指示信息时,处理模块12,具体用于以当前指令的指令索引作为查找起点,根据所述修正后的待查找指令条目数,沿所述指令查找方向,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引。其中,这里所说的当前指令例如可以为下述任一项:所述计算机在编辑模式下接收到的指令、所述计算机在命令行模式下接收到的指令、所述计算机前一显示的指令。所述计算机前一显示的指令为所述计算机当前时间点之前,最新显示的内容。
本发明提供的指令处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图6为本发明提供的另一种指令处理装置的结构示意图。该指令处理装置可以应用于运行操作系统(例如嵌入式实时操作系统或linux操作系统)的计算机,且该计算机可以工作在命令行模式,如图6所示,该指令处理装置可以包括:至少一个处理器21和存储器22。图6示出的是以一个处理器为例的指令处理装置,其中,
存储器22,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器22可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器21用于执行所述存储器22存储的计算机执行指令,以实现上述实施例中的指令处理方法,其实现原理和技术效果类似,在此不再赘述。
其中,处理器21可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器22和处理器21独立实现,则通信接口、存储器22和处理器21可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器22和处理器21集成在一块芯片上实现,则通信接口、存储器22和处理器21可以通过内部接口完成相同间的通信。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质。具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种指令处理方法,应用于运行有操作系统的计算机,其特征在于,所述计算机工作在命令行模式,所述方法包括:
接收指令查找请求,所述指令查找请求包括:待查找指令条目数的指示信息;
在指令索引列表中的指令索引的总条目数大于0时,所述待查找指令条目数对所述指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数;
根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
显示查找到的指令索引对应的指令。
2.根据权利要求1所述的方法,其特征在于,所述对所述待查找指令条目数和指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数之前,还包括:
确定所述待查找指令条目数大于或等于所述指令索引列表中的指令索引的总条目数。
3.根据权利要求1或2所述的方法,其特征在于,所述指令查找请求还包括:指令查找方向的指示信息;
所述根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引,包括:
以当前指令的指令索引作为查找起点,根据所述修正后的待查找指令条目数,沿所述指令查找方向,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
所述当前指令为下述任一项:所述计算机在编辑模式下接收到的指令、所述计算机在命令行模式下接收到的指令、所述计算机前一显示的指令;所述计算机前一显示的指令为所述计算机当前时间点之前,最新显示的内容。
4.根据权利要求1或2所述的方法,其特征在于,所述操作系统为嵌入式实时操作系统。
5.一种指令处理装置,其特征在于,应用于运行有操作系统的计算机,其特征在于,所述计算机工作在命令行模式,所述装置包括:
接收模块,用于接收指令查找请求,所述指令查找请求包括:待查找指令条目数的指示信息;
处理模块,用于在指令索引列表中的指令索引的总条目数大于0时,所述待查找指令条目数对所述指令索引列表中的指令索引的总条目数进行取余运算,得到修正后的待查找指令条目数,并根据所述修正后的待查找指令条目数,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
显示模块,用于显示查找到的指令索引对应的指令。
6.根据权利要求5所述的装置,其特征在于,所述处理模块,还用于在对所述待查找指令条目数和所述总条目数进行取余运算,得到所述修正后的待查找指令条目数之前,确定所述待查找指令条目数大于或等于所述指令索引列表中的指令索引的总条目数。
7.根据权利要求5或6所述的装置,其特征在于,所述指令查找请求还包括:指令查找方向的指示信息;
所述处理模块,具体用于以当前指令的指令索引作为查找起点,根据所述修正后的待查找指令条目数,沿所述指令查找方向,在所述指令索引列表中查找所述修正后的待查找指令条目数对应的指令索引;
所述当前指令为下述任一项:所述计算机在编辑模式下接收到的指令、所述计算机在命令行模式下接收到的指令、所述计算机前一显示的指令;所述计算机前一显示的指令为所述计算机当前时间点之前,最新显示的内容。
8.根据权利要求5或6所述的装置,其特征在于,所述操作系统为嵌入式实时操作系统。
9.一种指令处理装置,应用于运行有操作系统的计算机,其特征在于,所述计算机工作在命令行模式,所述装置包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现权利要求1-4中任一项所述的方法。
CN201810040773.0A 2018-01-16 2018-01-16 一种指令处理方法、装置及存储介质 Active CN110045986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810040773.0A CN110045986B (zh) 2018-01-16 2018-01-16 一种指令处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810040773.0A CN110045986B (zh) 2018-01-16 2018-01-16 一种指令处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110045986A CN110045986A (zh) 2019-07-23
CN110045986B true CN110045986B (zh) 2021-07-27

Family

ID=67273499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810040773.0A Active CN110045986B (zh) 2018-01-16 2018-01-16 一种指令处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110045986B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101137966A (zh) * 2001-08-27 2008-03-05 英特尔公司 通用执行数据通路中软件控制的内容可寻址存储器
CN104115113A (zh) * 2011-12-14 2014-10-22 英特尔公司 用于循环剩余掩码指令的系统、装置和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9696692B2 (en) * 2012-04-13 2017-07-04 Rockwell Automation Technologies, Inc. Industrial automation control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101137966A (zh) * 2001-08-27 2008-03-05 英特尔公司 通用执行数据通路中软件控制的内容可寻址存储器
CN104115113A (zh) * 2011-12-14 2014-10-22 英特尔公司 用于循环剩余掩码指令的系统、装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数据结构复习之散列表查找;niuman;《https://www.cnblogs.com/changyaohua/p/4657205.html》;20150718;全文 *

Also Published As

Publication number Publication date
CN110045986A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
US8056080B2 (en) Multi-core/thread work-group computation scheduler
US9471342B2 (en) Register mapping
EP2962198B1 (en) Executing an operating system on processors having different instruction set architectures
CN111177476B (zh) 数据查询方法、装置、电子设备及可读存储介质
CN105045632A (zh) 一种多核环境下实现免锁队列的方法和设备
CN106126731B (zh) 一种获取Elasticsearch分页数据的方法及装置
CN109582962B (zh) 分词方法及装置
CN109076021A (zh) 数据处理的方法和装置
CN104239134A (zh) 一种众核系统的任务管理方法和装置
CN117311817B (zh) 一种协处理器控制方法、装置、设备及存储介质
US8719274B1 (en) Method, system, and apparatus for providing generic database services within an extensible firmware interface environment
CN110045986B (zh) 一种指令处理方法、装置及存储介质
US20160139957A1 (en) Method and system for scheduling virtual machines in integrated virtual machine clusters
US10296378B2 (en) Efficient processor load balancing using predication
CN113032119A (zh) 一种任务调度方法、装置、存储介质及电子设备
CN107832349B (zh) 一种业务对象的管理方法以及信息管理系统
CN108958967B (zh) 一种数据处理的方法以及服务器
CN111143351B (zh) Imsi数据管理方法及设备
CN111782633B (zh) 数据处理方法、装置及电子设备
CN110837412B (zh) 一种作业就绪状态判断方法、装置、设备和存储介质
CN110688103B (zh) 代码编写方法、装置、电子设备及计算机可读存储介质
CN110232043B (zh) 显示文件的方法、系统、电子设备及计算机存储介质
CN113590623A (zh) 一种用于数据深分页查询的方法、装置及设备
US9367347B1 (en) Systems and methods for command execution order control in electronic systems
CN113449155B (zh) 用于特征表示处理的方法、装置、设备和介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210625

Address after: 100176 Room 101, 1st floor, building 10, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Applicant after: Longxin Zhongke (Beijing) Information Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: Loongson Zhongke Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant