CN108509289A - 一种基于MIPS处理器vxWorks系统的验证方法和装置 - Google Patents

一种基于MIPS处理器vxWorks系统的验证方法和装置 Download PDF

Info

Publication number
CN108509289A
CN108509289A CN201710113729.3A CN201710113729A CN108509289A CN 108509289 A CN108509289 A CN 108509289A CN 201710113729 A CN201710113729 A CN 201710113729A CN 108509289 A CN108509289 A CN 108509289A
Authority
CN
China
Prior art keywords
address
alignment
alignment address
length
test data
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
CN201710113729.3A
Other languages
English (en)
Other versions
CN108509289B (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201710113729.3A priority Critical patent/CN108509289B/zh
Publication of CN108509289A publication Critical patent/CN108509289A/zh
Application granted granted Critical
Publication of CN108509289B publication Critical patent/CN108509289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种基于MIPS处理器vxWorks系统的验证方法。所述方法包括:验证程序随机生成至少一种预设长度的测试数据单元,获取MIPS处理器的内存的对齐地址,针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值,将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。依据本发明方案,使得可以对内存进行非对齐地址访问,预先验证vxWorks系统能够处理非对齐地址访问,确保vxWorks系统不存在非对齐地址的访问导致异常的隐患,也不存在系统访问非对齐地址导致异常重启的隐患。

Description

一种基于MIPS处理器vxWorks系统的验证方法和装置
技术领域
本发明涉及内存访问技术领域,特别是涉及一种基于MIPS处理器vxWorks系统的验证方法和一种基于MIPS处理器vxWorks系统的验证装置。
背景技术
目前,计算机主要的体系架构可以分为两类,复杂指令集计算机(英文全称:Complex Instruction Set Computing,英文简称:CISC)和精简指令集计算机(英文全称:Reduced Instruction Set Computing,英文简称:RISC)。两类体系架构对要访问的一定长度的数据的地址是要有对齐要求的,其中RISC体系架构对对齐要求更为严格,例如:MIPS(英文全称:Microprocessor without interlocked piped stages,中文名称:无内部互锁流水级的微处理器)属于一种RISC体系架构。不同体系架构的非对齐地址访问会带来以下几种问题:程序运行速度慢、程序死锁、操作系统异常重启、程序运行产生错误的结果。
使用访存指令读取或写入数据单元时,目标地址必须是所访问之数据单元字节数的整数倍,叫做地址对齐访问。例如,在MIPS平台上,读取一个2个字节长度的数据单元时,存储器的地址必须是2的整数倍;读取一个4个字节长度的数据单元时,存储器的地址必须是4的整数倍;写入一个8个字节长度的数据单元时,存储器的地址必须是8的整数倍。MIPS平台一旦遇到非对齐地址的变量访问就会出现系统异常,需要靠操作系统软件处理非对齐地址访问异常,如果操作系统中没有处理好非对齐地址访问异常会出现系统重启的故障。
vxWorks系统是一种嵌入式实时操作系统,这种操作系统小巧且具有可裁剪性,在开发时为了精简系统或对系统进行裁剪时,可能导致vxWorks系统不具备处理非对齐地址的访问的能力,存在非对齐地址的访问导致异常的隐患,存在系统访问非对齐地址导致异常重启的隐患。
发明内容
本发明实施例所要解决的技术问题是提供一种基于MIPS处理器vxWorks系统的验证方法及装置,以便预先验证vxWorks系统能够处理非对齐地址访问,确保vxWorks系统不存在非对齐地址的访问导致异常的隐患。
为了解决上述问题,本发明公开了一种基于MIPS处理器vxWorks系统的验证方法,包括:
验证程序随机生成至少一种预设长度的测试数据单元,所述验证程序运行于vxWorks系统,所述vxWorks系统运行于MIPS处理器上;
所述验证程序获取MIPS处理器的内存的对齐地址;
所述验证程序针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值;
所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
优选地,所述获取MIPS处理器的内存的对齐地址包括:
获取在所述处理器的内存中请求的连续的内存块的首地址;
针对所述首地址向后取整得到所述对齐地址。
优选地,所述针对所述首地址向后取整得到所述对齐地址包括:
以任意一种所述测试数据单元的长度,对所述首地址向后取整得到对齐地址。
优选地,所述针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址包括:
将所述对齐地址的下一个位置的地址作为所述非对齐地址。
优选地,在所述将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过之后,所述方法还包括:
显示出所述vxWorks系统能够处理非对齐地址访问的提示。
相应的,本发明实施例还提供了一种基于MIPS处理器vxWorks系统的验证装置,包括:
数据单元生成模块,用于验证程序随机生成至少一种预设长度的测试数据单元,所述验证程序运行于vxWorks系统,所述vxWorks系统运行于MIPS处理器上;
对齐地址获取模块,用于所述验证程序获取MIPS处理器的内存的对齐地址;
非对齐地址查找模块,用于所述验证程序针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值;
数据单元写入模块,用于所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
优选地,所述对齐地址获取模块包括:
首地址获取子模块,用于获取在所述处理器的内存中请求的连续的内存块的首地址;
向后取整子模块,用于针对所述首地址向后取整得到所述对齐地址。
优选地,所述向后取整子模块,具体用于以任意一种所述测试数据单元的长度,对所述首地址向后取整得到对齐地址。
优选地,所述非对齐地址查找模块,具体用于将所述对齐地址的下一个位置的地址作为所述非对齐地址。
优选地,所述装置还包括:
提示显示模块,用于在所述将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过之后,显示出所述vxWorks系统能够处理非对齐地址访问的提示。
依据本发明实施例,通过验证程序随机生成至少一种预设长度的测试数据单元,获取MIPS处理器的内存的对齐地址,针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值,将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过,使得可以对内存进行非对齐地址访问,预先验证vxWorks系统能够处理非对齐地址访问,确保vxWorks系统不存在非对齐地址的访问导致异常的隐患,也不存在系统访问非对齐地址导致异常重启的隐患。
附图说明
图1示出了本发明实施例一的一种基于MIPS处理器vxWorks系统的验证方法的步骤流程图;
图2示出了本发明实施例二的一种基于MIPS处理器vxWorks系统的验证方法的步骤流程图;
图3示出了本发明实施例三的一种基于MIPS处理器vxWorks系统的验证装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例一的一种基于MIPS处理器vxWorks系统的验证方法的步骤流程图,具体可以包括如下步骤:
步骤101,验证程序随机生成至少一种预设长度的测试数据单元。
MIPS处理器是指基于MIPS架构的处理器,是一种采取精简指令集的处理器,广泛被使用在许多电子产品、网络设备、个人娱乐设备与商业设备上。
在本发明实施例中,MIPS处理器是无法处理非对齐地址访问,一旦发生非对齐地址访问的情形,系统就会出现诸如死机或重启等异常。除非运行在MIPS处理器上的操作系统可以处理非对齐地址访问。
vxWorks系统是指一种嵌入式实时操作系统,以其良好的可靠性和卓越的实时性被广泛地应用于通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。vxWorks操作系统具有良好的实时性和稳定性、高效的任务管理、灵活的任务间通信方式、高度可裁剪、方便移植等特点。
在本发明实施例中,验证程序是指用于验证在MIPS处理器上运行的vxWorks系统可以处理非对齐地址访问的一种测试程序,验证程序运行于vxWorks系统,vxWorks系统运行于MIPS处理器上。本发明实施例中的验证程序可以由C语言来实现,相比汇编语言而言更具有跨平台的移植性。
数据单元是指根据不同变量类型具有不同长度的数据结构体,通常数据单元长度包括1字节、2字节、4字节、8字节和16字节等。由于针对不同的数据单元长度,操作系统需要有不同的处理来应对各数据单元长度对应的非对齐地址访问异常,本发明实施例中,测试数据单元是指验证一个操作系统可以处理非对齐地址访问需要验证的数据单元。
本发明实施例中,测试数据单元长度可以包括2字节、4字节、8字节中至少一种,定义三种长度的数据单元中的至少一种,得到测试数据单元。验证程序可以预设一种长度,也可以预设多种长度,按照预设长度随机生成测试数据单元的数据,生成的测试数据单元至少有一个,以用于后续将数据写入内存。
步骤102,所述验证程序获取MIPS处理器的内存的对齐地址。
在内存中读写数据时大都是按字大小块来进行操作的,对齐地址是指所访问之数据单元字节数的整数倍的内存地址,例如读取一个半字(2个字节长度)的数据单元时,分配存储器的对齐地址是2的整数倍,内存地址用二进制表示的话,对齐地址至少最右一位为0。非对齐地址是指对所访问之数据单元字节数不是整数倍的内存地址,例如写入一个字(4个字节长度)的数据单元时,分配存储器的非齐地址不是4的整数倍,内存地址用二进制表示的话,非对齐地址最右两位不都为0。
内存的对齐地址可以根据数据单元的数据单元长度确定,例如对于4字节长度的数据单元访问时,对应的对齐地址为4的整数倍,在内存中获取一个4的整数倍的地址,即对应的对齐地址。或者对于8字节长度的数据单元访问时,对应的对齐地址为8的整数倍,在内存中获取一个8的整数倍的地址,即对应的对齐地址。
在本发明实施例中,获取MIPS处理器的内存的对齐地址可以是对于2个字节、4个字节或8个字节的对齐地址,或者其他任意适用的对齐地址,本发明实施例对此不作限制。
步骤103,所述验证程序针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址。
设定位置差值为测试数据单元的长度的非整数倍的数值,其中测试数据单元是指用于验证的待写入内存的数据单元,具体可以是2字节长度的数据单元、4字节长度的数据单元或8字节长度的数据单元。如果只有一种长度的测试数据单元进行写入验证,则设定位置差值只需为该测试数据单元的长度的非整数倍的数值即可。如果有多种长度的测试数据单元进行写入验证,则设定位置差值需为每种测试数据单元的长度的非整数倍的数值。
在本发明实施例中,对齐地址对应的数值可能是测试数据单元的长度的整数倍,由于设定位置差值为测试数据单元的长度的非整数倍的数值,在内存中从获取的对齐地址开始向后查找到设定位置差值的位置的内存地址,查找到的内存地址对应的数值一定不是测试数据单元的长度的整数倍,也就是查找到的内存地址为非对齐地址。
例如,获取到对齐地址后,向后查找对齐地址后第三个地址,该地址对应数值不是测试数据单元的长度的整数倍,为非对齐地址。
步骤104,所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
在本发明实施例中,测试数据单元的长度可以有多种,具体可以包括2字节、4字节或8字节等。将至少一种长度的测试数据单元写入非对齐地址对应的内存中,如果写入过程正常,说明vxWorks系统可以处理非对齐地址访问,可以避免由于MIPS处理器不可以处理非对齐地址访问导致到异常,所以验证通过,反之如果vxWorks系统不可以处理非对齐地址访问,MIPS处理器直接进行非对齐地址访问会导致异常发生,甚至导致系统重启。
例如,一种验证过程中,可以将2字节长度、4字节长度和8字节长度的测试数据单元分别写入内存,如果全部写入过程正常,则验证通过。
依据本发明实施例,通过验证程序随机生成至少一种预设长度的测试数据单元,获取MIPS处理器的内存的对齐地址,针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值,将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过,使得可以对内存进行非对齐地址访问,预先验证vxWorks系统能够处理非对齐地址访问,确保vxWorks系统不存在非对齐地址的访问导致异常的隐患,也不存在系统访问非对齐地址导致异常重启的隐患。
在本发明实施例中,优选地,还可以针对写入内存的各种长度的所述测试数据单元,若写入过程正常,则针对对应长度的非对齐地址访问验证通过。
具体而言,各种长度的测试数据单元是分别写入内存的,如果一种长度的测试数据单元写入内存,且写入正常,则对于这种测试数据单元长度的非对齐地址访问,验证通过,也就是vxWorks系统可以处理这种测试数据单元长度的非对齐地址访问。使得针对不同数据单元长度,分别预先验证vxWorks系统能够处理非对齐地址的访问异常。
参照图2,示出了本发明实施例二的一种基于MIPS处理器vxWorks系统的验证方法的步骤流程图,具体可以包括如下步骤:
步骤201,验证程序随机生成至少一种预设长度的测试数据单元。
在本发明实施例中,此步骤具体实现可以参见上述实施例描述,此处不再赘述。
步骤202,获取在所述处理器的内存中请求的连续的内存块的首地址。
本发明实施例中,在内存中请求连续的内存块用于进行非地址对齐访问,具体可以在内存中申请任意适用长度的数据结构以用于写入获取的至少一种数据单元,请求连续的内存块后,获取连续的内存块在内存中的首地址。
步骤203,针对所述首地址向后取整得到所述对齐地址。
本发明实施例中,首地址有可能是对齐地址也可能是非对齐地址,针对所述首地址向后取整具体是指从首地址向后找到第一个为数据单元长度整数倍的内存地址。对首地址向后取整具体要看针对哪种数据单元长度向后取整,具体可以从首地址向后查找第一个对齐地址。本发明中可以是针对任意适用的长度的对齐地址,本发明实施例对此不作限制。例如可以按照4字节向后取整得到对齐地址,具体可以从首地址向后找到第一个最右两位都为0的内存位置的地址就是4字节对应的对齐地址。
在本发明实施例中,优选地,所述针对所述首地址向后取整得到所述对齐地址可以包括:以任意一种所述测试数据单元的长度,对所述首地址向后取整得到对齐地址。
从首地址向后查找第一个对齐地址,对齐地址为任意一种数据单元长度的整数倍的内存地址,内存地址用二进制表达时,根据数据单元长度确定对齐地址最右数值为0的位数,从首地址查找相应最右位数为0的地址。例如查找4字节对应的对齐地址时,从首地址查找第一个最右两位为0的地址为对齐地址。
步骤204,将所述对齐地址的下一个地址作为所述非对齐地址。
在本发明实施例中,查找到对齐地址后,将对齐地址的对应数值加一得到的下一个地址就是非对齐地址,对于可用于验证的数据单元长度,包括2字节、4字节和8字节,如果对齐地址是2字节或4字节或8字节的整数倍,那么对齐地址的下一个地址一定不是2字节或4字节或8字节的整数倍,也就是下一个地址一定是非对齐地址。当然,对于4字节或8字节的数据单元来说,由于2不是4或8的整数倍的数值,对齐地址后第二个地址对于4字节或8字节也是非对齐地址。同理,对于2字节的数据单元,在对齐地址上加1、加3、加5等等都可以得到非对齐地址,而对于4字节的数据单元,在对齐地址上加1、加2、加3、加5、加6等等都可以得到非对齐地址,而对于8字节的数据单元,在对齐地址上加1、加2、加3、加4、加5、加6、加7等等都可以得到非对齐地址。将对齐地址的下一个地址作为非对齐地址对于各种长度的数据单元都可以得到非对齐地址,所以是一种获得非对齐地址的优选方式,具体得到非对齐地址的方式,本发明对此并不做限制。
步骤205,所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
在本发明实施例中,本步骤具体实现方式与上一实施例描述一致,此处不做赘述。
步骤206,显示出所述vxWorks系统能够处理非对齐地址访问的提示。
在本发明实施例中,如果写入过程正常,则可以生成提示,提示vxWorks系统能够处理非对齐地址的访问,并且做出显示,也就是说如果运行本验证程序,如果没有显示出vxWorks系统能够处理非对齐地址访问的提示,则说明vxWorks系统无法处理非对齐地址的访问。
依据本发明实施例,通过验证程序随机生成至少一种预设长度的测试数据单元,获取在所述处理器的内存中请求的连续的内存块的首地址,针对所述首地址向后取整得到所述对齐地址,将所述对齐地址的下一个地址作为所述非对齐地址,使得可以根据对齐地址得到非对齐地址。
进一步通过所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过,显示出所述vxWorks系统能够处理非对齐地址访问的提示,使得可以对内存进行非对齐地址访问,预先验证vxWorks系统能够处理非对齐地址访问,确保vxWorks系统不存在非对齐地址的访问导致异常的隐患,也不存在系统访问非对齐地址导致异常重启的隐患。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明实施例三的一种基于MIPS处理器vxWorks系统的验证装置实施例的结构框图,具体可以包括如下模块:
数据单元生成模块301,用于验证程序随机生成至少一种预设长度的测试数据单元,所述验证程序运行于vxWorks系统,所述vxWorks系统运行于MIPS处理器上;
对齐地址获取模块302,用于所述验证程序获取MIPS处理器的内存的对齐地址;
非对齐地址查找模块303,用于所述验证程序针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值;
数据单元写入模块304,用于所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
在本发明实施例中,优选地,所述对齐地址获取模块包括:
首地址获取子模块,用于获取在所述处理器的内存中请求的连续的内存块的首地址;
向后取整子模块,用于针对所述首地址向后取整得到所述对齐地址。
在本发明实施例中,优选地,所述向后取整子模块,具体用于以任意一种所述测试数据单元的长度,对所述首地址向后取整得到对齐地址。
在本发明实施例中,优选地,所述非对齐地址查找模块,具体用于将所述对齐地址的下一个位置的地址作为所述非对齐地址。
在本发明实施例中,优选地,所述装置还包括:
提示显示模块,用于在所述将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过之后,显示出所述vxWorks系统能够处理非对齐地址访问的提示。
依据本发明实施例,通过验证程序随机生成至少一种预设长度的测试数据单元,获取MIPS处理器的内存的对齐地址,针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值,将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过,使得可以对内存进行非对齐地址访问,预先验证vxWorks系统能够处理非对齐地址访问,确保vxWorks系统不存在非对齐地址的访问导致异常的隐患,也不存在系统访问非对齐地址导致异常重启的隐患。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于MIPS处理器vxWorks系统的验证方法和一种基于MIPS处理器vxWorks系统的验证装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于MIPS处理器vxWorks系统的验证方法,其特征在于,包括:
验证程序随机生成至少一种预设长度的测试数据单元,所述验证程序运行于vxWorks系统,所述vxWorks系统运行于MIPS处理器上;
所述验证程序获取MIPS处理器的内存的对齐地址;
所述验证程序针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值;
所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
2.根据权利要求1所述的方法,其特征在于,所述获取MIPS处理器的内存的对齐地址包括:
获取在所述处理器的内存中请求的连续的内存块的首地址;
针对所述首地址向后取整得到所述对齐地址。
3.根据权利要求2所述的方法,其特征在于,所述针对所述首地址向后取整得到所述对齐地址包括:
以任意一种所述测试数据单元的长度,对所述首地址向后取整得到对齐地址。
4.根据权利要求1所述的方法,其特征在于,所述针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址包括:
将所述对齐地址的下一个位置的地址作为所述非对齐地址。
5.根据权利要求1所述的方法,其特征在于,在所述将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过之后,所述方法还包括:
显示出所述vxWorks系统能够处理非对齐地址访问的提示。
6.一种基于MIPS处理器vxWorks系统的验证装置,其特征在于,包括:
数据单元生成模块,用于验证程序随机生成至少一种预设长度的测试数据单元,所述验证程序运行于vxWorks系统,所述vxWorks系统运行于MIPS处理器上;
对齐地址获取模块,用于所述验证程序获取MIPS处理器的内存的对齐地址;
非对齐地址查找模块,用于所述验证程序针对所述对齐地址向后查找设定位置差值的地址,得到非对齐地址,所述设定位置差值为测试数据单元的长度的非整数倍的数值;
数据单元写入模块,用于所述验证程序将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过。
7.根据权利要求6所述的装置,其特征在于,所述对齐地址获取模块包括:
首地址获取子模块,用于获取在所述处理器的内存中请求的连续的内存块的首地址;
向后取整子模块,用于针对所述首地址向后取整得到所述对齐地址。
8.根据权利要求7所述的装置,其特征在于,所述向后取整子模块,具体用于以任意一种所述测试数据单元的长度,对所述首地址向后取整得到对齐地址。
9.根据权利要求6所述的装置,其特征在于,所述非对齐地址查找模块,具体用于将所述对齐地址的下一个位置的地址作为所述非对齐地址。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
提示显示模块,用于在所述将至少一种长度的所述测试数据单元写入所述非对齐地址对应的内存,若写入过程正常,则验证通过之后,显示出所述vxWorks系统能够处理非对齐地址访问的提示。
CN201710113729.3A 2017-02-28 2017-02-28 一种基于MIPS处理器vxWorks系统的验证方法和装置 Active CN108509289B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710113729.3A CN108509289B (zh) 2017-02-28 2017-02-28 一种基于MIPS处理器vxWorks系统的验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710113729.3A CN108509289B (zh) 2017-02-28 2017-02-28 一种基于MIPS处理器vxWorks系统的验证方法和装置

Publications (2)

Publication Number Publication Date
CN108509289A true CN108509289A (zh) 2018-09-07
CN108509289B CN108509289B (zh) 2021-06-29

Family

ID=63373476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710113729.3A Active CN108509289B (zh) 2017-02-28 2017-02-28 一种基于MIPS处理器vxWorks系统的验证方法和装置

Country Status (1)

Country Link
CN (1) CN108509289B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0279228B1 (en) * 1987-02-12 1994-11-30 International Business Machines Corporation A frame buffer in or for a raster scan video display
US6105119A (en) * 1997-04-04 2000-08-15 Texas Instruments Incorporated Data transfer circuitry, DSP wrapper circuitry and improved processor devices, methods and systems
US20020174317A1 (en) * 2001-05-18 2002-11-21 Intel Corporation Apparatus and method for performing non-aligned memory accesses
JP2005267209A (ja) * 2004-03-18 2005-09-29 Sunplus Technology Co Ltd プロセッサ中で未アライメントデータを読み取る装置及び方法
CN101299192A (zh) * 2008-06-18 2008-11-05 中国科学院计算技术研究所 一种非对齐访存的处理方法
US20100153609A1 (en) * 2008-12-15 2010-06-17 Brahmanandam Karuturi Non-system bus width data transfer executable at a non-aligned system bus address
CN101819608A (zh) * 2010-01-27 2010-09-01 北京龙芯中科技术服务中心有限公司 一种微处理器指令级随机验证中加速取指的装置和方法
CN101826050A (zh) * 2010-02-03 2010-09-08 北京龙芯中科技术服务中心有限公司 一种用于制造后处理器芯片验证的随机验证方法及装置
CN104407880A (zh) * 2014-10-27 2015-03-11 杭州中天微系统有限公司 支持硬件非对齐存储访问的risc处理器加载/存储单元
CN104461925A (zh) * 2014-11-14 2015-03-25 浪潮(北京)电子信息产业有限公司 一种存储设备地址对齐的自动纠正方法和装置
CN105446777A (zh) * 2015-11-18 2016-03-30 上海兆芯集成电路有限公司 高速缓存行的非对齐加载指令的推测并行执行方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0279228B1 (en) * 1987-02-12 1994-11-30 International Business Machines Corporation A frame buffer in or for a raster scan video display
US6105119A (en) * 1997-04-04 2000-08-15 Texas Instruments Incorporated Data transfer circuitry, DSP wrapper circuitry and improved processor devices, methods and systems
US20020174317A1 (en) * 2001-05-18 2002-11-21 Intel Corporation Apparatus and method for performing non-aligned memory accesses
JP2005267209A (ja) * 2004-03-18 2005-09-29 Sunplus Technology Co Ltd プロセッサ中で未アライメントデータを読み取る装置及び方法
CN101299192A (zh) * 2008-06-18 2008-11-05 中国科学院计算技术研究所 一种非对齐访存的处理方法
US20100153609A1 (en) * 2008-12-15 2010-06-17 Brahmanandam Karuturi Non-system bus width data transfer executable at a non-aligned system bus address
CN101819608A (zh) * 2010-01-27 2010-09-01 北京龙芯中科技术服务中心有限公司 一种微处理器指令级随机验证中加速取指的装置和方法
CN101826050A (zh) * 2010-02-03 2010-09-08 北京龙芯中科技术服务中心有限公司 一种用于制造后处理器芯片验证的随机验证方法及装置
CN104407880A (zh) * 2014-10-27 2015-03-11 杭州中天微系统有限公司 支持硬件非对齐存储访问的risc处理器加载/存储单元
CN104461925A (zh) * 2014-11-14 2015-03-25 浪潮(北京)电子信息产业有限公司 一种存储设备地址对齐的自动纠正方法和装置
CN105446777A (zh) * 2015-11-18 2016-03-30 上海兆芯集成电路有限公司 高速缓存行的非对齐加载指令的推测并行执行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
燕世林: "并行向量访存单元的设计与优化", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN108509289B (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
US9767093B2 (en) Syntactic parser assisted semantic rule inference
CN108133007A (zh) 一种数据同步方法和系统
CN103248667B (zh) 一种分布式系统的资源访问方法和系统
US10678482B2 (en) Multi-tier data synchronizer based on concurrent linked list
CN107092491B (zh) 一种配置加载方法和系统
CN107832446B (zh) 一种配置项信息的搜索方法及计算设备
US20140130175A1 (en) Data Leakage Detection in a Multi-Tenant Data Architecture
CN112363753A (zh) 数据校验方法、装置、电子设备及存储介质
CN103198122A (zh) 重启内存数据库的方法和装置
CN110502881A (zh) 动态修改安卓系统只读属性的方法、系统及存储介质
CN106897338A (zh) 一种针对数据库的数据修改请求处理方法及装置
US8601459B2 (en) Control structure refinement of loops using static analysis
CN106775951A (zh) 一种安卓应用的运行管理方法和装置
US10936827B1 (en) Machine evaluation of translation accuracy
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
CN109858285B (zh) 区块链数据的处理方法、装置、设备和介质
WO2023098462A1 (en) Improving performance of sql execution sequence in production database instance
CN108509289A (zh) 一种基于MIPS处理器vxWorks系统的验证方法和装置
CN111522881A (zh) 业务数据处理方法、装置、服务器及存储介质
CN111857979A (zh) 一种分布式系统的信息管理方法、系统、存储介质及设备
CN114036218A (zh) 一种数据模型切换方法、装置、服务器和存储介质
CN112527325B (zh) 一种应用于超融合架构的部署方法及系统
CN103761233A (zh) 处理数据库操作请求的方法、设备和系统
CN104579743B (zh) 一种电信设备远端维护的方法和系统
CN114564250B (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.

GR01 Patent grant
GR01 Patent grant