CN101452416B - 存储器存取控制装置与相关方法 - Google Patents
存储器存取控制装置与相关方法 Download PDFInfo
- Publication number
- CN101452416B CN101452416B CN200710196135XA CN200710196135A CN101452416B CN 101452416 B CN101452416 B CN 101452416B CN 200710196135X A CN200710196135X A CN 200710196135XA CN 200710196135 A CN200710196135 A CN 200710196135A CN 101452416 B CN101452416 B CN 101452416B
- Authority
- CN
- China
- Prior art keywords
- access
- setting value
- exception
- preliminary
- storer
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明揭露一种存储器存取控制装置,用来监控处理器存取存储器的操作以产生目标监控结果。该存储器存取控制装置包含有至少一监控电路,用以根据该处理器存取该存储器的存取方式设定值来监控该处理器存取该存储器的操作以输出初步监控结果;设定单元,用以根据该处理器存取该存储器时触发例外的定义来设定输出设定值;以及输出电路,耦接于该监控电路与该设定单元,用以根据该初步监控结果及该输出设定值来产生该目标监控结果。
Description
技术领域
本发明是有关于存储器存取控制,尤指一种处理器存取存储器的控制装置与相关方法。
背景技术
一般而言,处理器(或称:中央处理单元)可正确地执行指令外,尚会提供监控存取存储器的功能,该功能可预先设定存储器中允许存取的特定范围或是允许存取的操作,其目的在于找出对存储器不正确或不正常的存取,用以辅助程序除错,或是防范不适用的程序破坏整体系统的正常运作。
在已知技术中,常见的存储器存取控制方式有两种。第一种已知控制方式是在处理器中内建数个监控缓冲器(watch register),用来在存储器中设定欲监控的一个或多个特定范围以及欲监控的操作,例如数据读取(dataread)、数据写入(data write)以及指令执行(instruction execution),例如是MIPS公司的处理器。一旦处理器对存储器的存取范围及操作符合先前的设定时,便会产生监控点例外(watch-point exception)信号(或称例外信号),该处理器会依据该例外信号将触发并转移到例外处理程序(exceptionhandler)并依照预定方式处理该例外事件(event);另一种已知控制方式一样是在存储器中设定允许存取的一个或多个特定范围以及允许存取的操作,然而不同之处在于产生例外事件的条件是处理器存取设定范围以外的存储器,或是虽存取设定范围内的存储器但是存取操作不符合设定值,例如是ARM公司的处理器,举例来说,对被设定为只能读取的存储器范围进行写入就会产生例外信号。
上述的二种存储器存取控制方式需有各自不同的设定方法来加以设定,使用者无法依据其需求来弹性设定对自己所想要的存储器存取控制方式。
发明内容
本发明的目的之一在于提供一种存储器存取控制装置与相关方法,其可
让使用者自行选择存储器存取控制方式,以解决上述问题。
依据本发明的实施例,揭露一种存储器存取控制装置,用来监控存储器的存取以产生目标监控结果。该存储器存取控制装置包含有:至少一监控电路、设定单元以及输出电路。该监控电路具有存取方式设定值,该监控电路用以根据该存取方式设定值来监控该存储器的存取以输出初步监控结果。该设定单元具有触发例外设定值,该触发例外设定值是与该存储器被存取时的例外触发状态相关。该输出电路是耦接于该监控电路与该设定单元,用以根据该初步监控结果及该触发例外设定值来产生该目标监控结果。
依据本发明的实施例,揭露一种存储器存取控制方法,用来监控存储器的存取以产生目标监控结果。该方法包含有:根据存取方式设定值来监控处理器存取该存储器的操作以输出初步监控结果;提供触发例外设定值,其中,该触发例外设定值是与该存储器被存取时的例外触发状态相关;以及根据该初步监控结果及该触发例外设定值来产生该目标监控结果。
依据本发明的实施例,揭露另一种存储器存取监控装置,用来监控存储器的存取状态以产生监控结果。该存储器存取监控装置包含有监控单元、模式设定单元以及输出单元。该监控单元包含有:至少一监控器,具有存取方式设定值,并根据该存取方式设定值来监控该存储器的存取状态,并产生区域监控结果;以及处理电路,耦接于该监控器,用以对个别监控电路的该区域监控结果进行预定运算以产生运算结果。该模式设定单元具有例外模式设定值,其中该例外模式设定值可依据存储器存取时的例外触发状态的需求来设定。该输出单元是耦接于该监控单元与该模式设定单元,用以根据该运算结果及该例外模式设定值来产生该监控结果。
附图说明
图1为本发明存储器存取控制装置的一实施例示意图。
图2为图1中所示存储器存取控制装置监控处理器存取存储器的一实施例的示意图。
图3为图1中所示存储器存取控制装置对该存储器的存取方式设定值的一实施例的示意图。
图4为图1中所示存储器存取控制装置的相关逻辑值的真值表。
图5为本发明存储器存取控制装置的另一实施例示意图。
图6为图5中所示的存储器存取控制装置的操作范例示意图。
图7为图5中所示的存储器存取控制装置于多个存取方式设定值中具有部分重迭的存储器范围下的操作范例示意图。
[主要元件标号说明]
12、22、32、34 真值表
100、500 存储器存取控制装置
110、510、512、514 监控电路
120、520 设定单元
130、530 输出电路
200 处理器
220 存储器
540 处理电路
具体实施方式
请同时参阅图1以及图2,图1为本发明存储器存取控制装置100的一实施例示意图,而图2为本发明存储器存取控制装置100监控处理器200存取存储器220的一实施例的示意图。存储器存取控制装置100用来监控处理器200存取存储器220的操作,并产生目标监控结果XCPN,如图1所示,存储器存取控制装置100包含有监控电路110、设定单元120以及输出电路130,其中,监控电路110包括有至少一监控缓冲器,监控缓冲器用来储存存取方式设定值,该监控电路110用以根据该存取方式设定值来监控处理器200存取存储器220的操作,并输出初步监控结果MATCH;设定单元120包括有触发例外的定义(例如存取存储器的地址落在设定范围之中,或者是落在设定范围之外),该设定单元120用以根据该触发例外定义来设定输出设定值GI;以及输出电路130根据初步监控结果MATCH及输出设定值GI来产生目标监控结果XCPN。以下将进一步说明存储器存取控制装置100的运作方式,然而,此仅是作为范例说明之用,并非为本发明的限制。
一实施例中,上述的存取方式设定值包含有存储器220的特定存储器范围与对应于该特定存储器范围的特定存取操作,而该特定存取操作则包含有数据读取(R)、数据写入(W)、指令执行(I)或其组合。举例来说,请参阅图3,
图3为该存取方式设定值的一实施例的示意图。若监控电路110中所储存的该存取方式设定值是允许处理器200对存储器220中地址0x0F00至0x0FFF的特定存储器范围RANGE进行数据读取(R)的操作时,在此设定下,只要处理器200对存储器220中的特定存储器范围RANGE以内的任一个存储单元进行数据读取的操作时,例如对地址0x0F00或0x0FFF的存储器单元进行数据读取的操作,监控电路110便会针对有关特定存储器范围RANGE的数据读取操作而输出高逻辑电平“1”作为初步监控结果MATCH来表示此存储器存取操作符合存储器200目前具有的存取方式设定值;而当处理器200对存储器220中特定存储器范围RANGE以内的存储器进行数据读取以外的任何操作,例如对地址0x0FF0的存储器单元进行数据写入的操作,则监控电路110便会输出低逻辑电平“0”作为初步监控结果MATCH来表示此存储器存取操作不符合存储器200目前具有的存取方式设定值;而当处理器200对存储器220中特定存储器范围RANGE以外的存储器进行任何操作(数据读取、数据写入或指令执行),例如对地址0x0D00至0x0E00的任一个存储器单元进行数据写入的操作,则监控电路110便会输出低逻辑电平“0”作为初步监控结果MATCH来表示此存储器区段并非监控电路110所负责监控的存储器区段。请注意,在本实施例中,第一逻辑值为高逻辑电平“1”,而第二逻辑值则是低逻辑电平“0”,然而,此仅是作为范例说明之用,并非为本发明的限制。
一实施例中,输出电路130为逻辑电路,并且对初步监控结果MATCH及输出设定值GI进行预定逻辑运算来产生目标监控结果XCPN。在本实施例中,该预定逻辑运算为XOR逻辑运算,而输出电路130是以XOR逻辑门来加以实作。如图4所示,当输出设定值GI为低逻辑电平“0”时,输出电路130所产生的目标监控结果XCPN将与监控电路110所输出的初步监控结果MATCH完全相同;而当输出设定值GI为高逻辑电平“1”时,输出电路130所产生的目标监控结果XCPN将与监控电路110所输出的初步监控结果MATCH完全相反。于上述实施例中,当初步监控结果MATCH为高逻辑电平“1”是代表存储器存取符合存取方式设定值,因此,若使用者欲在处理器200的存储器存取操作符合该存取方式设定值时触发例外的话,可将输出设定值GI设定为“0”(亦即符合MIPS微处理器架构所采用的例外触发方式);另一方面,若使用者欲在处理器200的存储器存取操作不符合该存取方式设定值时触发例外的话,则可将输出设定值GI设定为“1”(亦即符合ARM的处理器架构所采用的
存储器保护(memory protection)的例外触发方式),简而言之,使用者可轻易地经由设定输出设定值GI来自行选择想要的存储器存取控制方式。
在上述实施例中,仅是作为范例说明之用,并非为本发明的限制,其它能够根据输出设定值GI来控制目标监控结果XCPN,以达到让使用者可自行选择存储器存取控制方式的预定逻辑运算以及相对应的输出电路也隶属本发明的范畴。
请同时参阅图2与图5,图5为本发明存储器存取控制装置500的另一实施例示意图。存储器存取控制装置500用来监控图2所示的处理器200存取存储器220的操作以产生目标监控结果XCPN。如图5所示,存储器存取控制装置500包含有多个监控电路510、512、514、处理电路540、设定单元520以及输出电路530。多个监控电路510、512及514分别包括有至少一监控缓冲器,该监控缓冲器用来储存存取方式设定值,多个监控电路510、52及514分别根据多个存取方式设定值来监控处理器200存取存储器220的操作以输出多个初步监控结果MATCH_1、MATCH_2及MATCH_3至处理电路540;处理电路540是耦接于多个监控电路510、512、514以及输出电路530,用来对多个初步监控结果MATCH_1、MATCH_2及MATCH_3所分别对应的多个逻辑值进行预定逻辑运算(例如是XOR)来产生运算结果XOR,并将运算结果XOR输入至输出电路530;设定单元520用以根据处理器200存取存储器220时触发例外的定义(activate an exception)来设定输出设定值GI;以及输出电路530是耦接于处理电路540与设定单元520,用以根据运算结果XOR及输出设定值GI来产生所要的目标监控结果XCPN。由于图5的存储器存取控制装置500与图1的存储器存取控制装置100中具有相同名称的元件具有类似的功能,为求简洁起见,详细说明便省略之。
请参阅图6,在此范例中,监控电路510中所储存的第一存取方式设定值是允许对存储器220中的第一特定存储器范围RANGE1进行指令执行(I)的操作;监控电路512中所储存的第二存取方式设定值是允许对存储器220中的第二特定存储器范围RANGE2进行数据读取或数据写入(RW)的操作;以及监控电路514中所储存的第三存取方式设定值是允许对存储器220中的第三特定存储器范围RANGE3进行数据读取(R)的操作,换言之,即监控电路510、512及514是分别只针对第一至第三特定存储器范围RANGE1~RANGE3来进行监控的操作,并会产生相对应的初步监控结果MATCH_1、MATCH_2、MATCH_3;
对于存储器220中的第四至第七特定存储器范围RANGE4~RANGE7则是无设定其存取方式,所以监控电路510、512及514也不会对特定存储器范围RANGE4~RANGE7产生反应结果,也就是其在真值表上的数值皆为“0”。在运作时,当处理器200在进行存储器存取前,皆会先发出所欲存取的存储器地址给存储器存取控制装置500,监控电路510、512及514都会收到一份具有处理器200对存储器220进行存取的存储器地址的数据,之后,监控电路510、512及514会依此份数据来监控处理器200对存储器220的存取是否符合各自的存取方式设定值,如:所存取的存储器区域是否为自己所负责监控的区域,及存取操作是否符合设定值;若皆为是,则监控电路510、512及514会在其初步监控结果显示高逻辑电平“1”;若其存取方式设定值不符合,则监控电路510、512及514会在其初步监控结果显示低逻辑电平“0”;若不是其所负责监控的区域,则监控电路510、512及514亦会在其初步监控结果显示低逻辑电平“0”。此外,使用者亦可利用设定输出设定值GI来决定何时会触发例外以自行选择存储器存取控制方式(即可设定至少二种不同模式,其一:当符合存储器的存取范围以及存取操作设定时,则产生例外信号;其二为当不符合存储器的存取范围以及存取操作设定时,则产生例外信号),其相关运作亦可参阅图6中所示的真值表22,图6为处理器200对存储器220中的第一至第七特定存储器范围RANGE1~RANGE7进行读取操作时初步监控结果MATCH_1、MATCH_2、MATCH_3、运算结果XOR以及目标监控结果XCPN的真值表22,本领域技术人员在阅读完上述说明后应可了解,因此相关说明便在此予以省略。
一较佳实施例,存储器存取控制装置500还允许多个存取方式设定值中的特定存储器范围有部分重迭(overlap)的情况发生,亦即在较大的第一特定存储器范围内设定第一特定存取操作,又在该第一特定存储器范围内较小的第二特定存储器范围内设定不同于该第一特定存取操作的第二特定存取操作,举例来说,请参阅图7,在本范例中,于存储器220中的存储器区段RANGE1~RANGE4,RANGE1所允许的存储器存取操作为数据读取/数据写入(RW),RANGE2所允许的存储器存取操作为数据读取(R),余下的RANGE3与RANGE4则是没有特别指定其存储器存取操作方式。为了监控处理器200对于上述存储器区段的存取,则于实作方式中,假设存储器存取控制装置500仅需启用监控电路510与512,此时,监控电路510中所储存的第一存取方式设定值是允许处理器200对存储器220中的第一特定存储器范围RANGE1进行
数据读取或数据写入(RW)的操作(于图7中以RANGE1(RW)来表示,即当处理器200对存储器220中的第一特定存储器范围RANGE1进行数据读取或数据写入时,则其所对应的初步监控结果MATCH_1的值会为“1”,反之则为“0”),监控电路612中所储存的第二存取方式设定值是允许处理器200对存储器220中的第二特定存储器范围RANGE2进行数据写入(W)的操作(于图7中以RANGE2(W)来表示,即当处理器200对存储器220中的第二特定存储器范围RANGE2进行数据写入时,则其所对应的初步监控结果MATCH_2的值会为“1”,反之则为“0”),由图7可知,第一特定存储器范围RANGE1包含第二特定存储器范围RANGE2。
综上所述,依据真值表32以及34,当处理器200对存储器220中第一特定存储器范围RANGE1进行数据读取的操作时,目标监控结果XCPN在输出设定值GI被设定为“0”时的逻辑值均为高逻辑电平“1”;而当处理器200对存储器220中第一特定存储器范围RANGE1进行数据写入的操作时,目标监控结果XCPN在输出设定值GI被设定为“0”时,在该第一特定存储器范围RANGE1中除第二特定存储器范围RANGE2外的逻辑值才为高逻辑电平“1”,又由于在本实施例中,当输出设定值GI被设定为“0”时被定义为若处理器200的存储器存取方式符合该存取方式设定值时,该目标监控结果XCPN为高逻辑电平“1”而触发例外,因此,若使用者欲使存储器存取控制装置500监控图7所示的RW-R-RW型样,则使用者必须根据上述的设定来控制相对应的监控电路510以及监控电路512的运作。另一方面,当输出设定值GI被设定为“1”时,其是定义若处理器200的存储器存取方式不符合存取方式设定值时,目标监控结果XCPN为高逻辑电平“1”而触发例外,因此,使用者亦可利用设定输出设定值GI来决定何时会触发例外以自行选择存储器存取控制方式。
本发明存储器存取控制装置使用监控电路并搭配设定单元(例如XOR逻辑门)便可提供使用者至少两种存储器存取控制模式的选择,此外,本发明存储器存取控制装置简单地利用处理电路(例如XOR逻辑门)即可处理多个特定存储器范围重迭的情况,因此电路复杂度不高而易于实作。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (14)
1.一种存储器存取控制装置,用来监控存储器的存取以产生目标监控结果,该装置包含有:
至少一监控电路,该至少一监控电路具有存取方式设定值,该至少一监控电路用以根据该存取方式设定值来监控该存储器的存取以输出初步监控结果;
设定单元,该设定单元具有触发例外设定值,该触发例外设定值是与该存储器被存取时的例外触发状态相关;以及
输出电路,耦接于该监控电路与该设定单元,用以根据该初步监控结果及该触发例外设定值来产生该目标监控结果。
2.根据权利要求1所述的装置,其中该触发例外设定值为第一逻辑值时,该例外触发状态为符合对存储器的存取范围及存取操作,该触发例外设定值为第二逻辑值时,该例外触发状态为不符合对存储器的存取范围及存取操作。
3.根据权利要求1所述的装置,其中该输出电路为数字逻辑电路,用来对该初步监控结果所对应的逻辑值及该触发例外设定值进行预定逻辑运算以产生该目标监控结果。
4.根据权利要求1所述的装置,其中该至少一监控电路包含有多个监控电路,该多个监控电路分别输出多个初步监控结果;以及该装置还包含有:
处理电路,用来对该多个初步监控结果进行预定逻辑运算来产生运算结果;
其中该输出电路根据该运算结果及该触发例外设定值来产生该目标监控结果。
5.根据权利要求4所述的装置,其中该预定逻辑运算为异或逻辑运算。
6.根据权利要求1所述的装置,其中该存取方式设定值包含有该存储器的特定存储器范围与特定存取操作。
7.根据权利要求6所述的装置,其中该特定存取操作包含有数据读取、数据写入、指令执行或其组合。
8.根据权利要求6所述的装置,其中该特定存储器范围可与其它特定存储器范围重迭。
9.一种存储器存取控制方法,用来监控存储器的存取以产生目标监控结果,该方法包含有:
根据存取方式设定值来监控处理器存取该存储器的操作以输出初步监控结果;
提供触发例外设定值,其中,该触发例外设定值是与该存储器被存取时的例外触发状态相关;以及
根据该初步监控结果及该触发例外设定值来产生该目标监控结果。
10.根据权利要求9所述的方法,其中产生该目标监控结果的步骤包含有:
对该初步监控结果所对应的逻辑值及该触发例外设定值进行预定逻辑运算以产生该目标监控结果。
11.根据权利要求9所述的方法,该方法还包含有:
根据多个存取方式设定值来监控该存储器的存取以输出多个初步监控结果;以及
对该多个初步监控结果所分别对应的多个逻辑值进行预定逻辑运算来产生运算结果,并根据该运算结果及该触发例外设定值来产生该目标监控结果。
12.根据权利要求9所述的方法,其中该存取方式设定值包含有该存储器的特定存储器范围与特定存取操作。
13.根据权利要求12所述的方法,其中该特定存取操作包含有数据读取、数据写入、指令执行或其组合。
14.根据权利要求12所述的方法,其中该特定存储器范围可与其它特定存储器范围重迭。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710196135XA CN101452416B (zh) | 2007-11-28 | 2007-11-28 | 存储器存取控制装置与相关方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710196135XA CN101452416B (zh) | 2007-11-28 | 2007-11-28 | 存储器存取控制装置与相关方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101452416A CN101452416A (zh) | 2009-06-10 |
CN101452416B true CN101452416B (zh) | 2012-07-18 |
Family
ID=40734659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710196135XA Active CN101452416B (zh) | 2007-11-28 | 2007-11-28 | 存储器存取控制装置与相关方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101452416B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1388928A (zh) * | 2000-08-30 | 2003-01-01 | 松下电器产业株式会社 | 存储器存取控制装置 |
-
2007
- 2007-11-28 CN CN200710196135XA patent/CN101452416B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1388928A (zh) * | 2000-08-30 | 2003-01-01 | 松下电器产业株式会社 | 存储器存取控制装置 |
Non-Patent Citations (1)
Title |
---|
CN 1388928 A,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN101452416A (zh) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100303947B1 (ko) | 다중프로세서시스템그리고그의초기화기능분산및자체진단시스템그리고그방법 | |
US7266725B2 (en) | Method for debugging reconfigurable architectures | |
US5822758A (en) | Method and system for high performance dynamic and user programmable cache arbitration | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
JPH04229337A (ja) | エミュレータ | |
US20020103978A1 (en) | Microcontroller circuit and method for accessing external memory in a page mode of operation | |
US5768563A (en) | System and method for ROM program development | |
KR20010013275A (ko) | 미리 정의된 정지점 조건의 발생시에 신호를 감시하는메모리를 이용하는 디지털 회로 | |
CN113204375A (zh) | 一种多路服务器分区方法、系统及设备 | |
US5410544A (en) | External tester control for flash memory | |
CN101452416B (zh) | 存储器存取控制装置与相关方法 | |
CN109375543B (zh) | Dvs电压管理装置、系统及方法、存储介质、计算机设备 | |
US20060020778A1 (en) | Programmable memory initialization system and method | |
US8032720B2 (en) | Memory access monitoring apparatus and related method | |
JPH11316695A (ja) | ス―パ―スカラ―マイクロプロセッサ―の停止点インタ―ラプト発生装置 | |
US7895379B2 (en) | Logic controller having hard-coded control logic and programmable override control store entries | |
US6154820A (en) | Arrangement for storing program instructions and data in a memory device and method therefor | |
US20020004877A1 (en) | Method and system for updating user memory in emulator systems | |
US10180847B2 (en) | Circuitry for configuring entities | |
JP3779758B2 (ja) | 随時にホストコンピュータと接続してユーザプログラムを変更することができるシングルボードコンピュータ | |
Bause et al. | A Configurable and Efficient Memory Hierarchy for Neural Network Hardware Accelerator | |
JPH0285934A (ja) | エミュレータ | |
JP2654105B2 (ja) | マイクロプロセッサ | |
Lei et al. | Design of an Online Parameters Configuration Based on C8051F USB Processors Family | |
JPH1153224A (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 |