CN102959526B - 地址变换检查装置、中央处理运算装置及地址变换检查方法 - Google Patents

地址变换检查装置、中央处理运算装置及地址变换检查方法 Download PDF

Info

Publication number
CN102959526B
CN102959526B CN201180031504.4A CN201180031504A CN102959526B CN 102959526 B CN102959526 B CN 102959526B CN 201180031504 A CN201180031504 A CN 201180031504A CN 102959526 B CN102959526 B CN 102959526B
Authority
CN
China
Prior art keywords
address
map table
abnormality detection
detection information
physical
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
CN201180031504.4A
Other languages
English (en)
Other versions
CN102959526A (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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Publication of CN102959526A publication Critical patent/CN102959526A/zh
Application granted granted Critical
Publication of CN102959526B publication Critical patent/CN102959526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

本发明提供一种地址变换检查装置、中央处理运算装置及地址变换检查方法。信息处理装置(10)具备基于用于对作为物理存储器的地址的物理地址和作为虚拟存储器的地址的虚拟地址进行变换的变换表来变换所述虚拟地址和所述物理地址的MMU(20)。并且,在RAM(14)中存储了表示页面表的页面表信息、以及附加于页面表信息并且用于检测由MMU(20)进行的虚拟地址和物理地址的变换有无异常的异常检测信息。并且,CPU(12)基于异常检测信息来检测由MMU(20)进行的虚拟地址和物理地址的变换有无异常。由此,利用被读入至设置于存储器管理装置内的缓冲器中的变换表,能够在保持执行其他程序的状态下检查中央处理运算装置是否能正常地对物理存储器访问。

Description

地址变换检查装置、中央处理运算装置及地址变换检查方法
技术领域
本发明涉及地址变换检查装置、中央处理运算装置及地址变换检查方法。
背景技术
为使CPU(Central Processing Unit:中央处理运算装置)对RAM(Random Access Memory)等按页面单位(例如,按几k字节)区分后的物理存储器访问,有时会用到虚拟地址。虚拟地址是指,使不连续的物理存储器的区域在虚拟上连续起来的虚拟存储器的地址,且虚拟地址与物理地址不同。因而,在CPU使用虚拟地址的情况下,存储器管理装置(Memory Management Unit,以下称作“MMU”。)通过将虚拟地址变换成物理地址,由此可以进行CPU对物理存储器的访问。
MMU从RAM向页面索引缓冲器(Translation Look-aside Buffer,以下称作“TLB”。)读入(加载)页面表,并利用该页面表将从CPU有访问请求的虚拟地址变换成物理地址,其中页面表是用于将物理地址变换成虚拟地址的变换表。
页面表如图6的示意图所示那样,设置有用于对物理存储器50的每个存储器页面进行访问的存储器页面入口,各存储器页面入口描述了所对应的存储器页面的虚拟地址以及物理地址。在MMU52所设置的TLB54中,根据物理存储器50所存储的页面表信息读入并存储了必要的存储器页面入口。
另外,存储器页面入口描述了表示“读”、“写”以及“执行”等的存储器保护属性。专利文献1所记载的技术为如下技术:通过对被读入至MMU的页面表的存储器页面入口的存储器保护属性的保护位设定值,由此可以防止其他任务误重写仅某任务使用的全程变量而导致任务失控。
在先技术文献
专利文献
专利文献1:日本特开平10-289158号公报
发明内容
发明要解决的课题
另一方面,在图6的示意图所示的由于被读入至MMU52的TLB54中的页面表的破损、以及MMU52的故障等而导致CPU56不能经由MMU52正常地对物理存储器50访问的情况下,CPU56的停止(挂起)、失控、或对所连接的其他装置的输出值的突变等可能会使得CPU56的动作成为异常。
本发明是鉴于上述情况而完成的,其目的在于提供一种地址变换检查装置、中央处理运算装置及地址变换检查方法,利用被读入至设置于存储器管理装置内的缓冲器中的变换表,能够在保持执行其他程序的状态下检查中央处理运算装置是否能正常地对物理存储器访问。
用于解决课题的技术方案
为了解决上述课题,本发明的地址变换检查装置采用以下技术方案。
即、本发明的第一技术方案涉及的地址变换检查装置具备:存储器管理装置,其基于用于对作为物理存储器的地址的物理地址和作为虚拟存储器的地址的虚拟地址进行变换的变换表,来变换所述虚拟地址和所述物理地址;缓冲器,其被设置于所述存储器管理装置内,并存储表示所述变换表的变换表信息;存储单元,其被设置于所述存储器管理装置外,并存储所述变换表信息、以及附加于所述变换表信息的异常检测信息,该异常检测信息用于检测有无由所述存储器管理装置进行的所述虚拟地址和所述物理地址的变换的异常;和异常检测单元,其基于所述异常检测信息来检测所述异常的有无。
根据上述构成,由存储器管理装置基于用于对作为物理存储器的地址的物理地址和作为虚拟存储器的地址的虚拟地址进行变换的变换表,来变换虚拟地址和物理地址。在设置于存储器管理装置内的缓冲器中,存储了表示用于上述变换的变换表的变换表信息。
物理存储器例如为RAM等,虚拟存储器为使不连续的物理存储器的区域在虚拟上连续起来的存储器。并且,在中央处理运算装置使用虚拟地址的情况下,由于利用虚拟地址不能对物理存储器直接访问,因而利用存储器管理装置并基于变换表来变换虚拟地址和物理地址。通过该变换,中央处理运算装置可以对物理存储器访问。
然而,变换表信息在被读入至设置于存储器管理装置的缓冲器之前,被存储至被设置于存储器管理装置外的存储单元中。在该存储单元中,用于对由存储器管理装置进行的虚拟地址和物理地址的变换有无异常的异常检测信息被附加于变换表信息中来进行存储。
并且,由异常检测单元,基于上述异常检测信息来检测有无由存储器管理装置进行的虚拟地址和物理地址的变换的异常。
由此,利用被附加于变换表信息的异常检测信息,检测有无由存储器管理装置进行的虚拟地址和物理地址的变换的异常,因而利用被读入至设置于存储器管理装置内的缓冲器中的变换表,能够在保持执行其他程序的状态下检查中央处理运算装置是否能正常地对物理存储器访问。
在上述第一技术方案中优选,所述异常检测信息是基于由所述变换表信息所示的所述变换表而生成的、用于循环冗余检查(Cyclic RedundancyCheck)的CRC值,所述异常检测单元在异常检测信息与所述变换表信息一起读入至所述缓冲器之前,基于成为读入对象的由所述变换表信息所示的所述变换表来生成新CRC值,并检测作为所述异常检测信息的CRC值和该新CRC值的异同。
根据上述构成,异常检测信息是基于由变换表信息所示的所述变换表而生成的、用于循环冗余检查的CRC值。并且,异常检测单元在异常检测信息与变换表信息一起读入至缓冲器之前,基于成为读入对象的由变换表信息所示的变换表来生成新CRC值,并检测作为异常检测信息的CRC值和该新CRC值的异同。
由此,能够检测被读入至缓冲器的变换表有无破损,因而能够在保持执行其他程序的状态下检查中央处理运算装置是否能正常地对物理存储器访问。
在上述第一技术方案中优选,所述异常检测信息以页面为单位而附加于所述变换表。
根据上述构成,一般地,物理存储器按页面单位进行区分,按照中央处理运算装置能以页面为单位对物理存储器访问的方式生成了变换表,因而异常检测信息以页面为单位而附加于变换表。
由此,能够以页面为单位来检查有无变换表的破损。
在上述第一技术方案中优选,所述物理存储器在预先确定的物理地址存储了预先确定的值,将所述异常检测信息作为用于对所述预先确定的物理地址和所述虚拟地址进行变换的信息,所述异常检测单元利用被读入至所述缓冲器的所述异常检测信息,根据与所述预先确定的物理地址对应的所述虚拟地址,读出被存储至所述物理存储器的值,并检测所读出的该值与所述预先确定的值的异同。
根据上述构成,物理存储器在预先确定的物理地址存储了预先确定的值,异常检测信息被作为用于对上述预先确定的物理地址和虚拟地址进行变换的信息。
并且,由异常检测单元利用被读入至缓冲器的异常检测信息,根据与预先确定的物理地址对应的虚拟地址,读出被存储至物理存储器的值,并检测所读出的该值与预先确定的值的异同。即、在能够将存储器管理装置被输入的虚拟地址正确地变换成物理地址的情况下,所读出的值和预先确定的值相同,而在不能将存储器管理装置被输入的虚拟地址正确地变换成物理地址的情况下,所读出的值和预先确定的值不同。
由此,能够检测有无由存储器管理装置进行的虚拟地址和物理地址的变换的异常,因而能够在保持执行其他程序的状态下检查中央处理运算装置能否正常地对物理存储器访问。
本发明的第二技术方案涉及的中央处理运算装置,是具备上述记载的地址变换检查装置的中央处理运算装置,在由所述地址变换检查装置所具备的所述异常检测单元检测到由所述存储器管理装置进行的所述虚拟地址和所述物理地址的变换的异常的情况下,使执行中的程序停止。
根据上述构成,中央处理运算装置在由地址变换检查装置所具备的异常检测单元检测到由存储器管理装置进行的虚拟地址和物理地址的变换的异常的情况下,使执行中的程序停止。
由此,能够防止因为由存储器管理装置进行的虚拟地址和物理地址的变换的异常,而使得中央处理运算装置的动作成为异常。
本发明的第三技术方案涉及的地址变换检查方法是中央处理运算装置的地址变换检查方法,该中央处理运算装置从外部的存储单元向缓冲器存储表示变换表的变换表信息并对存储器管理装置进行访问,该变换表用于对作为物理存储器的地址的物理地址和作为虚拟存储器的地址的虚拟地址进行变换,该存储器管理装置基于存储至该缓冲器的变换表信息来变换所述虚拟地址和所述物理地址,基于附加于所述变换表信息的异常检测信息来检测异常的有无,该异常检测信息用于有无检测由所述存储器管理装置进行的所述虚拟地址和所述物理地址的变换的所述异常。
根据上述构成,利用被附加于变换表信息的异常检测信息,检测有无由存储器管理装置进行的虚拟地址和物理地址的变换的异常,因而利用被读入至设置于存储器管理装置内的缓冲器中的变换表,能够在保持执行其他程序的状态下检查中央处理运算装置是否能正常地对物理存储器访问。
根据本发明,具有下述优良效果:利用被读入至设置于存储器管理装置内的缓冲器中的变换表,能够在保持执行其他程序的状态下检查中央处理运算装置是否能正常地对物理存储器访问。
附图说明
图1是表示本发明的第1实施方式涉及的信息处理装置的电气系统的主要部分构成的图。
图2是表示本发明的第1实施方式涉及的RAM中所存储的页面表信息以及异常检测信息的构成的示意图。
图3是表示本发明的第1实施方式涉及的地址变换检查程序的处理流程的流程图。
图4是表示本发明的第2实施方式涉及的RAM中所存储的页面表信息以及异常检测信息的构成的示意图。
图5是表示本发明的第2实施方式涉及的地址变换检查程序的处理流程的流程图。
图6是归纳说明以往的MMU的处理的示意图。
具体实施方式
以下,参照附图,对本发明涉及的地址变换检查装置、中央处理运算装置以及地址变换检查方法的一实施方式进行说明。
〔第1实施方式〕
以下,对本发明的第1实施方式进行说明。
图1是表示本实施方式涉及的信息处理装置10的电气构成的框图。
信息处理装置10具备:承担信息处理装置10整体动作的CPU12、被用作由CPU12执行各种程序时的工作区等的物理存储器即RAM14、预先存储了各种程序或各种信息(数据)等的ROM(Read Only Memory)16、以及作为对各种程序以及各种信息进行存储的存储单元的HDD(HardDisk Drive)18。此外,作为存储单元,并不限于HDD18,也可以使用Flash ROM等其他存储单元,只要是能存储数据的存储单元即可。
CPU12具备:用于执行程序的程序执行部22、以及在输入了后述的CPU例外(页面故障)通知的情况下进行使正执行的程序停止的停止处理的例外处理部24。
另外,CPU12经由内部总线40而与MMU20连接,所述MMU20基于用于变换虚拟地址和物理地址的变换表(以下称作“页面表”。),将从CPU12输出的虚拟地址变换成物理地址。
页面表如图2所示包括多个存储器页面入口(存储器页面#1入口~存储器页面#N入口),该存储器页面入口是对作为物理存储器的RAM14的每个页面单位(存储器页面#1~#N(N为整数))所设置的。此外,存储器页面入口描述了所对应的存储器页面的虚拟地址、物理地址、以及仅受理具有“读”、“写”、“执行”及全部权限的用户的访问的“超级用户模式”等的存储器保护属性。
MMU20具备TLB26、地址变换部28以及存储器保护部30。
TLB26存储表示页面表的页面表信息。更具体而言,TLB26,从RAM14所存储的页面表信息读入并存储由CPU12执行的程序所需的存储器页面入口。
地址变换部28利用被读入至TLB26中的页面表信息来进行虚拟地址和物理地址的变换处理。
存储器保护部30在由地址变换部28从虚拟地址变换后的物理地址,检测有无不能对物理存储器访问的非法访问,在检测到非法访问的情况下,向CPU12输出CPU例外通知,该CPU例外通知是表示为非法访问的信号。
此外,页面表信息被预先存储至HDD18中,如果开始了信息处理装置10的动作,则从HDD18向RAM14发送,并进行存储。然后,根据由CPU12执行的程序,将RAM14中所存储的页面表信息读入至TLB26。
另外,信息处理装置10具备:由键盘以及鼠标等构成且受理各种操作的输入的操作输入部32、以及例如为液晶显示器装置等的图像显示部34。此外,操作输入部32并不限于键盘以及鼠标等,只要为按钮(pushbutton)等可受理对信息处理装置10的操作的输入,也可以是其他的输入装置。另外,图像显示部34并不限于液晶显示器等,只要为LED(LightEmitting Diode)等可向使用信息处理装置10的用户报知各种信息,也可以是其他的显示装置。
而且,信息处理装置10具备输入输出处理部38,该输入输出处理部38经由通信线路36而与其他信息处理装置、或被信息处理装置10控制的其他装置等的外部装置相连接,并进行与该外部装置之间的各种信息的输入输出。
此外,通信线路36是由电力供应商提供的广域通信线路、或LAN(Local Area Network)等局域通信网、或外部路径等,可以是有线线路或无线线路的任何线路。
这些的MMU20、RAM14、ROM16、HDD18、操作输入部32、图像显示部34以及输入输出处理部38经由内部总线40而彼此被电连接。因此,CPU12能够分别进行:经由MMU20而向RAM14、ROM16以及HDD18的访问、对操作输入部32的操作状态的掌握、图像显示部34所对应的图像的显示、以及经由输入输出处理部38而与外部装置之间的各种信息的收发等。
在此,在由于被读入至MMU20的TLB26中的页面表的破损、以及MMU20的故障等而使得CPU12不能经由MMU20正常地对RAM14访问的情况下,CPU12的停止、失控、或对所连接的其他装置的输出值的突变等可能会使得CPU12的动作成为异常。因而,在本第1实施方式涉及的MMU20的TLB26中,从RAM14读入了页面表信息、以及用于对有无由MMU20进行的虚拟地址和物理地址的变换的异常进行检测的异常检测信息。
本第1实施方式涉及的异常检测信息是基于由页面表信息所示的页面表而生成的、用于循环冗余检查(Cyclic Redundancy Check)的CRC值。此外,作为生成CRC值的方法,也可以采用以往已知的方法,并在本第1实施方式中省略其说明。
并且,如图2所示,CRC值是针对作为物理存储器的RAM14的存储器页面#1~#N所分别对应的每个存储器页面#1入口~存储器页面#N入口而设置的。即、CRC值是针对RAM14的每个页面单位而生成的。
并且,本第1实施方式涉及的CPU12在页面表信息被读入至TLB26之前进行地址变换检查处理,即:基于被附加于该页面表信息的异常检测信息,来检测有无由MMU20进行的虚拟地址和物理地址的变换的异常。
接下来,对本第1实施方式涉及的信息处理装置10的作用进行说明。
图3是表示在RAM14中所存储的页面表信息被与异常检测信息一起读入至TLB26之前,由CPU12执行的地址变换检查程序的处理流程的流程图,该程序被预先存储至HDD18的规定区域。
在步骤100中,针对被读入至TLB26的成为对象的页面表信息的每个存储器页面入口,基于该存储器页面入口而生成新CRC值。
在接下来的步骤102中,按每个存储器页面入口,对作为被读入至TLB26的成为对象的页面表信息的作为异常检测信息的CRC值、和在步骤100中所生成的新CRC值进行比较。
在接下来的步骤104中,判定作为异常检测信息的CRC值和新CRC值是否不同,在肯定判定时不会使成为读入对象的页面表信息读入至TLB26,而向步骤106转变,另一方面,在否定判定时使成为读入对象的页面表信息读入至TLB26,然后结束本程序。
即、在步骤104中成为肯定判定时,检测到由被读入至TLB26的页面表信息所示的页面表因为某些原因发生了破损。此外,页面表的破损的原因为:不适当程序导致的页面表重写、RAM14中产生的例如放射线影响导致的短暂性错误而使得页面表的位乱码等。
在步骤106中,判定是否有执行中的程序,在肯定判定时向步骤108转变,而在否定判定时向步骤110转变。
在步骤108中,由程序执行部22使执行中的程序停止,向步骤110转变。
在步骤110中,在发生了页面数据的破损、以及已使执行中的程序停止了的情况下,通过向图像显示部34的画面显示被停止的程序的名称等实施了进行报知的保持处理之后,结束本程序。另外,也可在该报知处理中,报知检测到破损的存储器页面入口。
此外,作为异常检测信息的CRC值,可以在生成页面表信息的同时被生成,并存储至HDD18中,也可以在每当初始化CPU12时、或每当变更页面表的属性时生成,并进行更新。
尤其是,如果在生成页面表信息的同时生成CRC值并已存储至HDD18中的情况下,检测到CRC值不同,则认为页面表是在从HDD18经由RAM14而读入至TLB26的过程中发生了破损。
如以上说明的那样,本第1实施方式涉及的信息处理装置10,利用MMU20基于用于对物理地址和虚拟地址进行变换的变换表,来变换虚拟地址和物理地址。此外,在被设置于MMU20的TLB26中存储了表示变换表的变换表信息。
变换表信息在被读入至TLB26之前,附加用于对有无由MMU20进行的虚拟地址和物理地址的变换的异常进行检测的异常检测信息而后存储至被设置于MMU20外的RAM14中。
然后,CPU12基于异常检测信息来检测有无由MMU20进行的虚拟地址和物理地址的变换的异常。
由此,本第1实施方式涉及的CPU12,利用附加于页面表信息的异常检测信息,检测有无由MMU20进行的虚拟地址和物理地址的变换的异常,因此利用被读入至设于MMU20内的TLB26中的页面表,能够在保持执行其他程序的状态下检查CPU12能否正常地对物理存储器访问。
另外,本第1实施方式涉及的异常检测信息,是基于由页面表信息所示的页面表而生成的、用于循环冗余检查的CRC值,在页面表信息被读入至TLB26之前,基于成为读入对象的由页面表信息所示的页面表来生成新CRC值,并检测作为异常检测信息的CRC值和该新CRC值的异同。
由此,本第1实施方式涉及的CPU12能够检测被读入至TLB26中的页面表有无破损,因而能够在保持执行其他程序的状态下检查CPU12能否正常地对物理存储器访问。
另外,本第1实施方式涉及的异常检测信息,以页面为单位而附加于页面表,因而能够以页面为单位来检查有无页面表的破损。
而且,本第1实施方式涉及的CPU12,在检测到由MMU20进行的虚拟地址和物理地址的变换的异常的情况下,使执行中的程序停止,因而能够防止以由MMU20进行的虚拟地址和物理地址的变换的异常为原因,而使得CPU12的动作成为异常。
〔第2实施方式〕
以下,对本发明的第2实施方式进行说明。
此外,本第2实施方式涉及的信息处理装置10的构成与图1所示的第1实施方式涉及的信息处理装置10的构成相同,因而省略其说明。
在本第2实施方式中,使作为物理存储器的RAM14的预先确定的物理地址存储了预先确定的值(以下称作“幻模式(magic pattern)”。),将异常检测信息作为用于变换预先确定的物理地址和虚拟地址的信息。
即、本第2实施方式涉及的异常检测信息,如图4所示,为用于对存储有幻模式的存储器页面#α(α为与1~N不同的整数)访问的存储器页面入口,该存储器页面入口被附加于页面表信息。此外,在本第2实施方式涉及的存储器页面#α中,作为幻模式的一例而存储了0x5A5A5A5A。另外,与RAM14所存储的幻模式相同的信息被预先描述在后述的地址变换检查程序中。
此外,作为信息处理装置10的构成,如果CPU12可以不经由MMU20地进行向RAM14的写入,则优选在使MMU20动作之前进行向RAM14的幻模式的写入,但是并不限定于此,也可以在MMU20的动作开始后向RAM14写入幻模式。
另外,幻模式可以每隔规定时间间隔被变更,写入幻模式的物理地址也可以每隔规定时间间隔被改变。
接下来,对本第2实施方式涉及的信息处理装置10的作用进行说明。
图5是表示在进行本第2实施方式涉及的异常检测处理的情况下,由CPU12的程序执行部22所执行的地址变换检查程序的处理流程的流程图,该程序被预先存储至HDD18的规定区域。此外,每隔预先确定的时间间隔(例如10分钟),从HDD18向RAM14发送并存储地址变换检查程序,然后执行该程序。
首先,在步骤300中,通过对作为异常检测信息的存储器页面入口的虚拟地址进行访问,来判定异常检测信息是否已被读入至TLB26,在肯定判定时向步骤304转变,而在否定判定时向步骤302转变。即、在不能访问的情况是异常检测信息没有被读入至TLB26的情况,能够访问的情况是异常检测信息已被读入至TLB26的情况。
在步骤302中,由于作为异常检测信息的存储器页面入口没有被读入至TLB26,因而从RAM14向TLB26读入异常检测信息。
在步骤304中,向MMU20输出用于读入RAM14所存储的幻模式的虚拟地址,并基于被读入至TLB26的作为异常检测信息的存储器页面入口而使虚拟地址变换成物理地址,从RAM14读出幻数。
在接下来的步骤306中,检测被预先描述在地址变换检查程序中的幻模式和从RAM14读出的幻模式之间的异同。即、在本步骤中,判定被预先描述在地址变换检查程序中的幻模式和从RAM14读出的幻模式是否一致,在肯定判定时结束本程序,而在否定判定时向步骤308转变。
此外,在能够将MMU20被输入的虚拟地址正确地变换成物理地址的情况下,从RAM14读出的幻模式和被预先描述至地址变换检查程序中的幻模式相同,而在不能将MMU20被输入的虚拟地址正确地变换成物理地址的情况下,从RAM14读出的幻模式和被预先描述在地址变换检查程序中的幻模式不同。在从RAM14读出的幻模式和被预先描述至地址变换检查程序中的幻模式不同的情况下,认为由MMU20进行的虚拟地址和物理地址的变换发生异常、即认为MMU20发生了故障。
在步骤308中,判定是否有执行中的程序,在肯定判定时向步骤310转变,而在否定判定时向步骤312转变。
在步骤310中,由程序执行部22使执行中的程序停止。
在步骤312中,在幻模式不一致、以及已使执行中的程序停止了的情况下,通过向图像显示部34的画面显示被停止的程序的名称等而实施进行报知的报知处理之后,结束本程序。
此外,即便在上述步骤304中不能从RAM14中读出幻模式的情况下,在步骤306中也视作幻模式不一致,继续进行之后的处理。即便在不能从RAM14中读出幻模式的情况下,也认为由MMU20进行的虚拟地址和物理地址的变换发生异常、即认为MMU20发生了故障。
如以上说明过的那样,本第2实施方式涉及的信息处理装置10,在物理存储器的预先确定的物理地址存储了幻模式,将异常检测信息作为用于对上述预先确定的物理地址和虚拟地址进行变换的信息。并且,本第2实施方式涉及的CPU12利用被读入至TLB26中的异常检测信息,根据与预先确定的物理地址对应的虚拟地址,读出被存储至物理存储器的值,并检测所读出的值和幻模式的异同。
由此,本第2实施方式涉及的CPU12能够检测由MMU20进行的虚拟地址和物理地址的变换有无异常,因而能够在保持执行其他程序的状态下检查CPU12能否正确地对物理存储器访问。
以上,利用上述各实施方式对本发明进行了说明,但是本发明的技术范围并不限于上述实施方式所记载的范围。在不脱离本发明宗旨的范围内能够对上述各实施方式施加多种多样的变更或改良,该变更或改良后的方式也包含在本发明的技术范围内。
例如,在上述各实施方式中,针对将物理存储器设为RAM14的情况进行了说明,但是本发明并不限定于此,也可采用下述方式:将物理存储器设为RAM14以及HDD18。
另外,在上述各实施方式中,说明了作为报知处理而经由图像显示装置进行报知的情况,但是本发明并不限定于此,例如也可采用下述方式:在输入输出处理部28连接了印刷装置的情况下,通过将记载有报知内容的句子以图像的形式形成于纸介质等上来让该印刷装置进行报知的方式;或者以未图示的扬声器以声音的形式进行报知的方式。
符号说明:
10  信息处理装置
12  CPU
14  RAM
20  MMU
26  TLB
30  存储器保护部

Claims (5)

1.一种地址变换检查装置,具备:
存储器管理装置,其基于用于对作为物理存储器的地址的物理地址和作为虚拟存储器的地址的虚拟地址进行变换的变换表,来变换所述虚拟地址和所述物理地址;
缓冲器,其被设置于所述存储器管理装置内,并存储表示所述变换表的变换表信息;
存储单元,其被设置于所述存储器管理装置外,并存储所述变换表信息、以及附加于所述变换表信息的异常检测信息,该异常检测信息用于检测由所述存储器管理装置进行的所述虚拟地址和所述物理地址的变换有无异常;和
异常检测单元,其基于所述异常检测信息来检测所述异常的有无,
所述物理存储器在预先确定的物理地址存储了预先确定的值,
所述异常检测信息是用于对所述预先确定的物理地址和所述虚拟地址进行变换的信息,
所述异常检测单元利用被读入至所述缓冲器的所述异常检测信息,根据与所述预先确定的物理地址对应的所述虚拟地址,读出被存储至所述物理存储器的值,并检测所读出的该值与所述预先确定的值的异同。
2.根据权利要求1所述的地址变换检查装置,其中,
所述异常检测信息,是基于由所述变换表信息所示的所述变换表而生成的、用于循环冗余检查(Cyclic Redundancy Check)的CRC值,
所述异常检测单元,在异常检测信息与所述变换表信息一起读入至所述缓冲器之前,基于成为读入对象的由所述变换表信息所示的所述变换表来生成新CRC值,并检测作为所述异常检测信息的CRC值和该新CRC值的异同。
3.根据权利要求2所述的地址变换检查装置,其中,
所述异常检测信息以页面为单位而附加于所述变换表。
4.一种中央处理运算装置,具备权利要求1至3任一项所述的地址变换检查装置,
在由所述地址变换检查装置所具备的所述异常检测单元检测到由所述存储器管理装置进行的所述虚拟地址和所述物理地址的变换的异常的情况下,使执行中的程序停止。
5.一种地址变换检查方法,是中央处理运算装置的地址变换检查方法,
该中央处理运算装置从外部的存储单元向缓冲器存储表示变换表的变换表信息并对存储器管理装置进行访问,该变换表用于对作为物理存储器的地址的物理地址和作为虚拟存储器的地址的虚拟地址进行变换,该存储器管理装置基于存储至该缓冲器的变换表信息来变换所述虚拟地址和所述物理地址,
基于附加于所述变换表信息的异常检测信息来检测异常的有无,该异常检测信息用于检测由所述存储器管理装置进行的所述虚拟地址和所述物理地址的变换有无所述异常,
为此,所述物理存储器在预先确定的物理地址存储了预先确定的值,
所述异常检测信息是用于对所述预先确定的物理地址和所述虚拟地址进行变换的信息,
利用被读入至所述缓冲器的所述异常检测信息,根据与所述预先确定的物理地址对应的所述虚拟地址,读出被存储至所述物理存储器的值,并检测所读出的该值与所述预先确定的值的异同。
CN201180031504.4A 2010-09-22 2011-06-15 地址变换检查装置、中央处理运算装置及地址变换检查方法 Active CN102959526B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-212435 2010-09-22
JP2010212435A JP5579003B2 (ja) 2010-09-22 2010-09-22 アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
PCT/JP2011/063695 WO2012039169A1 (ja) 2010-09-22 2011-06-15 アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法

Publications (2)

Publication Number Publication Date
CN102959526A CN102959526A (zh) 2013-03-06
CN102959526B true CN102959526B (zh) 2015-08-19

Family

ID=45873666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180031504.4A Active CN102959526B (zh) 2010-09-22 2011-06-15 地址变换检查装置、中央处理运算装置及地址变换检查方法

Country Status (7)

Country Link
US (1) US9009579B2 (zh)
EP (1) EP2620875B1 (zh)
JP (1) JP5579003B2 (zh)
KR (1) KR101449231B1 (zh)
CN (1) CN102959526B (zh)
ES (1) ES2662127T3 (zh)
WO (1) WO2012039169A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102002900B1 (ko) 2013-01-07 2019-07-23 삼성전자 주식회사 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법
GB2536199B (en) * 2015-03-02 2021-07-28 Advanced Risc Mach Ltd Memory management
GB2536200B (en) * 2015-03-02 2021-08-18 Advanced Risc Mach Ltd Memory management
US11010241B2 (en) * 2019-01-09 2021-05-18 Arm Limited Translation protection in a data processing apparatus
US11243864B2 (en) 2019-09-17 2022-02-08 International Business Machines Corporation Identifying translation errors
CN114860627B (zh) * 2022-07-06 2022-09-30 沐曦集成电路(上海)有限公司 基于地址信息动态生成页表的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165730A (ja) * 1991-12-12 1993-07-02 Fujitsu Ltd データ処理装置
JP2004178639A (ja) * 2002-11-25 2004-06-24 Fuji Photo Film Co Ltd 記録媒体カートリッジおよびその記録再生装置
CN1722046A (zh) * 2004-06-30 2006-01-18 富士通株式会社 安全处理器和用于安全处理器的程序

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166653A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd アドレス変換エラー処理方法
JPH04338847A (ja) * 1991-05-16 1992-11-26 Nec Ibaraki Ltd アドレス変換バッファ診断装置
JPH05151104A (ja) * 1991-11-29 1993-06-18 Toshiba Corp データ処理装置
US5568415A (en) * 1993-02-19 1996-10-22 Digital Equipment Corporation Content addressable memory having a pair of memory cells storing don't care states for address translation
JPH09223070A (ja) * 1996-02-19 1997-08-26 Hitachi Ltd データ変換回路
JPH10289158A (ja) 1997-04-11 1998-10-27 Hitachi Ltd タスク管理装置
JPH11175409A (ja) * 1997-12-05 1999-07-02 Nec Corp メモリ制御方式
JP3959870B2 (ja) * 1998-10-12 2007-08-15 株式会社日立製作所 ディスク内容障害回復方法及び計算装置
US6901540B1 (en) * 1999-11-08 2005-05-31 International Business Machines Corporation TLB parity error recovery
US6609181B2 (en) * 2000-05-11 2003-08-19 Goodrich Corporation Memory management unit with programmable EDAC descriptors
US20040015753A1 (en) * 2002-07-16 2004-01-22 Patella Benjamin J. Detection of bit errors in content addressable memories
US20040117590A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corp. Aliasing support for a data processing system having no system memory
JP2005196680A (ja) * 2004-01-09 2005-07-21 Ricoh Co Ltd コンピュータシステム
US7366829B1 (en) * 2004-06-30 2008-04-29 Sun Microsystems, Inc. TLB tag parity checking without CAM read
JP4297846B2 (ja) * 2004-07-27 2009-07-15 富士通株式会社 アドレス変換バッファ制御装置およびアドレス変換バッファ制御方法
US8806177B2 (en) * 2006-07-07 2014-08-12 International Business Machines Corporation Prefetch engine based translation prefetching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165730A (ja) * 1991-12-12 1993-07-02 Fujitsu Ltd データ処理装置
JP2004178639A (ja) * 2002-11-25 2004-06-24 Fuji Photo Film Co Ltd 記録媒体カートリッジおよびその記録再生装置
CN1722046A (zh) * 2004-06-30 2006-01-18 富士通株式会社 安全处理器和用于安全处理器的程序
JP2006018528A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd セキュアプロセッサ、およびセキュアプロセッサ用プログラム。

Also Published As

Publication number Publication date
JP5579003B2 (ja) 2014-08-27
US9009579B2 (en) 2015-04-14
WO2012039169A1 (ja) 2012-03-29
EP2620875B1 (en) 2018-01-17
EP2620875A4 (en) 2015-02-25
JP2012068840A (ja) 2012-04-05
CN102959526A (zh) 2013-03-06
ES2662127T3 (es) 2018-04-05
US20130104013A1 (en) 2013-04-25
KR101449231B1 (ko) 2014-10-08
EP2620875A1 (en) 2013-07-31
KR20130038881A (ko) 2013-04-18

Similar Documents

Publication Publication Date Title
CN102959526B (zh) 地址变换检查装置、中央处理运算装置及地址变换检查方法
CN103069393B (zh) 中央处理运算装置以及异常检查方法
KR920005163A (ko) 반도체기억장치
CA1315007C (en) Virtual input/output commands
CN110188013A (zh) 一种日志读写功能测试方法、装置及电子设备和存储介质
CN101923494B (zh) 一种存储器控制器验证系统、方法及记分板
US20130262947A1 (en) Information processing apparatus, and method of controlling information processing apparatus
CN105261398B (zh) 动态随机存取存储器的校准方法及装置
US20200311002A1 (en) Method to test direct memory access (dma) address capabilities at high address values
CN101751283B (zh) 虚拟机监视器,虚拟机系统及客户操作系统状态获取方法
JP2013037631A (ja) 診断装置、診断方法および診断プログラム診断方法
CN109154963B (zh) 一种防止内存数据泄露的设备及方法
GB2342739B (en) Memory address checking
CN106610878A (zh) 双控制器系统的故障调试方法
CN110928814A (zh) 串口硬盘传输异常检测方法、装置及电子设备
CN106817161A (zh) 一种epon终端的硬件检测方法
CN116560676A (zh) 硬件平台管理镜像打包方法、装置、设备和存储介质
CN116360916A (zh) 一种虚拟机嵌套页表完整性保护方法、装置及存储介质
JPS581258A (ja) 磁気デイスク装置のエラ−デ−タ保持方式
TWM339758U (en) Memory module
KR19990010419A (ko) 디지털 시스템에서의 에러 검출 장치 및 에러 발생 확인 방법
JPS6218943B2 (zh)
JPH11242637A (ja) Lsi記憶素子監視装置
JPS6132153A (ja) メモリ制御装置
JPH0398129A (ja) パリティエラー検出方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant