转换旁视缓冲器中避免重复匹配输入的改良装置与方法制造方法及图纸

技术编号:2848832 阅读:180 留言:0更新日期:2012-04-11 18:40
一种转换旁视缓冲器(TLB)中避免重复匹配输入的改良装置与方法,TLB中每个输入具有指明确认此输入应包括或排除在标记匹配比较中的Include位;当试图TLB写入时,如果写入标记与已存在于TLB中输入标记相匹配,则清除此输入的Include位,以使此输入排除在后续的标记匹配比较中;再者,如果匹配输入为除要被写入的输入外的输入、匹配输入有效、且要写入输入的值亦为有效时,即产生例外且放弃写入操作;当输入成功写入TLB中时,其Include位即被设定,以使此输入包括在后续的标记匹配比较中;其中,Include位亦可用以评比标记查阅匹配确认程序中。

【技术实现步骤摘要】

本专利技术涉及微处理器中转换旁视缓冲器(Translation lookaside buffer,TLB)的
,特别涉及其中避免重复匹配输入的技术。
技术介绍
现今的微处理器大都支持虚拟内存(Virtual Memory)的概念,在虚拟内存系统中,在微处理器上执行的程序指令对应至运用微处理器的虚拟地址空间中虚拟地址(Virtual Address)的数据;此外,指令本身直接映射为虚地址空间中虚拟地址的使用。虚拟地址空间可远大于系统中具体内存,特别是虚拟内存的数目通常远大于系统实际具体内存的数目;而为存取系统内存或其他如I/O装置的装置,微处理器产生的虚拟地址会转换为微处理器中连接至系统总线的具体地址。通常微处理器支持的虚拟内存架构为页面内存系统,其运用分页机构将虚拟地址转换(Translating)或映像(Mapping)为具体地址。具体地址空间是切割成多个固定尺寸的具体页面,一般的页面尺寸为4KB。虚拟地址是包括虚拟页面地址部份与页面偏移(Page offset)部份,其中的虚拟页面地址用以在虚拟地址空间中标示出虚拟页面,可通过分页机构将虚拟页面地址转换为具体页面地址;而页面偏移则在具体页面中标示出具体偏移,即,自其中的具体页面地址标示出相对应的具体偏移。内存分页的优点为本领域技术人员所熟知。其中的一个优点是使程序可在具有比实际具体内存空间大的虚拟内存空间下执行;另一优点是内存分页可在不同的或多个的程序执行时,便于相对应的程序在不同具体内存位置中的重新定位;再一优点是内存分页可容许多个程序同时在处理器上执行,而其中每一程序可在不经由盘片交换、以及不必将全部具体地址投入给单一程序的状态下,分配到专属的存取具体内存页面;又一优点则是内存分页可在页面基础上分别保护不同程序间的内存运用。页面转换(即将虚拟页面地址转换为具体页面地址)是通过一般称为页面参考表漫游(Page table walk)的方式实现。一般而言,操作系统保留包含用以将虚拟页面地址转换为具体页面地址的页面参考表,此页面参考表通常存在于系统内存中,而因转换程序需执行多重内存存取操作,所以,页面参考表漫游的操作相对地较为费力耗时。为降低页面参考表漫游的次数,很多微处理器提供用以高速缓存页面参考表信息的机构,此信息包括由经常使用的虚拟页面地址转换来的相对应的具体页面地址;页面参考表信息高速缓存一般称为转换旁视缓冲器(TLB),当虚拟页面地址提供至此TLB时,TLB即执行此虚拟页面地址的查阅,假使查阅的虚拟页面地址落在TLB中时,则TLB提供相对应的转换后具体虚拟位置,藉此可省略将虚拟页面地址转换为具体虚拟地址的耗时页面参考表漫游操作。一些运用TLB的微处理器会视需要自动在TLB中加填数据,但是,大部份的微处理器仍需依赖操作系统规划TLB的内容,在此类微处理器的某些特异状况下,当两个不同输入各具有一虚拟页面地址符合请求TLB转换或查阅的虚拟页面地址时,操作系统便极可能会发生以两个不同输入加载TLB中的现象。明显地,前述现象是不希望的状况,其后果首先是TLB究竟会输出哪一个转换后具体页面地址的状况不明,假使TLB输出错误的具体页面地址,且处理器在未经任何补救的情形下仍可继续其操作,则相关的数据处理就潜在有受损的危险。其次,在依赖TLB电路的操作下,试着去输出一个以上具体页面地址的企图很可能会导致微处理器中集成电路的损坏。因此,用以避免在TLB中重复匹配输入的装置与方法是本领域技术人员所需要的。
技术实现思路
在一实施方式中,本专利技术提供一种在每一输入中包括一个指示记号的TLB,当此TLB在确认一个虚拟地址是否与TLB中任一输入匹配时,此指示记号指明此输入是否应包括或排除在此比较操作中;当TLB中的一个输入成功被写入时,此指示记号就在所写入的输入上被设定;当软件试图在TLB中写入一个输入、且要被写入的虚拟地址与一个已存在的TLB输入的虚拟地址匹配时,就清除匹配输入的指示记号,藉此使匹配输入排除于匹配确认操作中,直到成功地写入输入时止,之后,放弃写入至TLB中的操作,并产生一个例外(exception),以通知操作系统有重复匹配输入的企图,并藉此容许操作系统补救该状况。然而,放弃写入与产生例外的操作,仅限于当匹配输入是所希望写入的输入之外的输入、此匹配输入有效、且此预备写入的输入值有效时;否则,TLB即写入该指明的输入。通过前述的程序,可有效地减少产生例外的次数。为对本专利技术有更进一步的了解与认同,结合附图作出如下详细说明。附图说明图1是根据本专利技术的微处理器核心的方块图;图2是根据本专利技术的图1中TLB的方块图;图3是根据本专利技术的图2中数据数组的方块图;图4是根据本专利技术的图2中标记数组区块的方块图;图5是显示本专利技术图2中例外产生逻辑的方块图;图6是显示本专利技术图1中、在写入TLB的操作中、微处理器操作的流程;图7是显示本专利技术图1中、在TLB的查阅操作中、微处理器操作的流程图;以及图8是显示本专利技术处理系统运用图1中微处理器与TLB的方块图。具体实施例方式为更能完全体现本专利技术的优点,在以下的说明中,首先讨论如操作系统的软件中,试图写入重复匹配输入至TLB中的可能状况。第一可能状况是牵涉到将自固件(或称韧体,如电路板上与具有TLB的微处理器配合的ROM监视器)至操作系统的控制转移。当重设计算机系统时,固件会通过写入每一输入而将TLB初始设定至一个已知状态,例如将一已转换的具体页面地址设定为与虚拟页面地址相同;TLB中的每一固件写入操作必须在处理器中的虚拟地址空间内指明一已写入输入中的虚拟页面地址。当控制转移到操作系统时,操作系统即开始将输入写入至TLB中(此操作系统可能可自动将TLB初始设定至一已知状态),此操作系统并不知固件究竟是将哪一些虚拟页面地址写入至TLB中,因此,操作系统可能试图将一匹配输入重复输入至TLB中,此匹配输入与由固件写入的其他TLB输入具有相同的虚拟页面地址。第二可能状况是牵涉到清泄(Flush)TLB各输入的操作系统,此时机的一个例子是操作系统响应于任务转换而须清泄TLB时;操作系统通过使TLB的每一输入失效的方式进行此清泄TLB的步骤,即,操作系统将一有效位值写入每一输入中,此有效位值代表此输入并不包含有效的自虚拟到具体的页面地址转换,因为每一无效写入必须指明处理器中虚拟地址空间内的一个虚拟页面地址,所以存在操作系统因虚拟页面地址相同而试图将一个重复匹配输入写入TLB中的可能性。理论上,操作系统可采取必要步骤来检验TLB中的现存内容,以确保将重复匹配输入写入至TLB中;然而,实际上,操作系统通常仅希望尽快通过使输入失效来清泄TLB,而不管已储存于TLB中的现行虚拟页面地址;因此,清泄程序一般仅以相同的虚拟页面地址写入TLB的每一输入中,此相同的虚拟页面地址在有效位中具有一个无效值。当然,TLB清泄程序可更深入一点以避免写入重复的输入,但是,若是TLB的清泄基于TLB现存的内容,则将使整体清泄操作较费时费力。第三可能状况是牵涉到在清泄TLB后,操作系统将新输入写入至TLB时。因操作系统的TLB清泄程序必须选取一些虚拟页面地址、写入至TLB的输入中以使其失效,故由操作系统分配到一新任务的虚拟页面便可能具有与由TLB清泄程序所选取的本文档来自技高网
...

【技术保护点】
一种转换旁视缓冲器中避免重复匹配输入的方法,包括:接收将输入写入该转换旁视缓冲器的写入请求,该写入请求包括标记;确认该转换旁视缓冲器中的其它输入是否有与该写入请求标记相匹配的标记;以及若有该其它输入的相对应该标记与该 写入请求的该标记匹配者,清除该转换旁视缓冲器中每个匹配该标记的该其它输入之一相对应指示记号。

【技术特征摘要】
1.一种转换旁视缓冲器中避免重复匹配输入的方法,包括接收将输入写入该转换旁视缓冲器的写入请求,该写入请求包括标记;确认该转换旁视缓冲器中的其它输入是否有与该写入请求标记相匹配的标记;以及若有该其它输入的相对应该标记与该写入请求的该标记匹配者,清除该转换旁视缓冲器中每个匹配该标记的该其它输入之一相对应指示记号。2.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,还包括确认该写入请求是否有效;确认该转换旁视缓冲器中该其它匹配输入是否有效;排除该转换旁视缓冲器中每个该指示记号被清除的该输入;以及若是该写入请求有效,而且除该写入请求所标示的该输入外,至少有一未被排除的该匹配输入存在有效时,产生例外。3.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该例外代表该写入请求试图要将重复匹配输入写入至该转换旁视缓冲器中。4.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该“产生例外”的执行时机仅限于该写入请求有效,而且除该写入请求所标示的该输入外,至少有一个未被排除的该匹配输入存在有效时。5.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中当该写入请求无效时,即不执行该“产生例外”。6.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中当除该写入请求所标示的该输入外每一该未被排除的匹配输入无效时,即不执行该“产生例外”。7.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该“确认该写入请求是否有效”包括“确认该写入请求中是否包括有效位”的真伪。8.如权利要求7所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该有效位是用户可编程的。9.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述之该“确认该转换旁视缓冲器中该其它匹配输入是否有效”包括“确认该转换旁视缓冲器中该其它匹配输入中是否包括有效位之真伪”。10.如权利要求9所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该有效位是用户可编程的。11.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该例外包括机器核对例外。12.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括假使该写入请求为有效、且至少有一该未被排除的该匹配输入存在有效时,放弃该写入操作。13.如权利要求2所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括假使该写入请求系为有效、且至少有一该未被排除的该匹配输入存在有效时,使该转换旁视缓冲器的操作失效。14.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括假使该写入操作为无效时,将该写入请求所指明的该转换旁视缓冲器输入写入。15.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括假使该写入操作为无效时,在该写入请求所指明的该转换旁视缓冲器输入中设定该指示记号。16.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括假使、除该写入请求所指明的该输入外、每个该未遭排除的匹配转换旁视缓冲器输入为无效时,将该写入请求所指明的该输入写入。17.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括假使、除该写入请求所指明的该输入外、每个该未遭排除的匹配转换旁视缓冲器输入为无效时,在该写入请求所指明之该输入中设定该指示记号。18.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括在该“清除该转换旁视缓冲器中每个匹配该标记的该其它输入之一相对应指示记号”后,接收查阅请求,以在该转换旁视缓冲器中查阅具有与该查阅请求所指明的标记相匹配的输入;以及依照该查阅,在该转换旁视缓冲器中,将该指示记号被清除的每个输入排除。19.如权利要求18所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括在该查阅中,包括该转换旁视缓冲器中具有设定该指示记号的每个输入。20.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该标记包括虚拟页面地址。21.如权利要求20所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该标记包括地址空间确认记号。22.如权利要求21所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该标记包括控制值,以在该“确认该转换旁视缓冲器中的其它输入是否有与该写入请求该标记相匹配的标记”时,用以选择性地指明该地址空间确认记号是否须排除。23.如权利要求20所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该标记包括掩码字段,以在该“确认该转换旁视缓冲器中的其它输入是否有与该写入请求该标记相匹配的标记”时,用以指明该虚拟页面地址中需被排除的一部分。24.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,又包括接收请求,以重设该转换旁视缓冲器;以及依照所接收的该重设请求,清除该转换旁视缓冲器中每个该输入的该指示记号。25.如权利要求1所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该写入该转换旁视缓冲器的该请求包括由包括该转换旁视缓冲器的微处理器所执行的指令。26.如权利要求25所述的转换旁视缓冲器中避免重复匹配输入的方法,其中所述的该指令教导该微处理器去选择由该写入请求随意指明的该转换旁视缓冲器输入。27.一种转换旁视缓冲器中避免重复匹配输入的方法,包括接收查阅请求,以在该转换旁视缓冲器中查阅标记;以及自该查阅中,排除该转换旁视缓冲器中每个指示记号具有清除值的输入。28.如权利要求27所述的转换旁视缓冲器中避免重复匹配输入的方法,当具有标记与该转换旁视缓冲器输入标记匹配的该转换旁视缓冲器接收写入请求时,其中所述每个该转换旁视缓冲器输入中的该指示记号被清除。29.如权利要求28所述的转换旁视缓冲器中避免重复匹配输入的方法,假使该转换旁视缓冲器输入实际上依该写入请求而被写入时,其中所述每个该转换旁视缓冲器输入中的该指示记号被设定。30.如权利要求29所述的转换旁视缓冲器中避免重复匹配输入的方法,假使该写入请求为有效、且该转换旁视缓冲器中除该写入请求所指明的该转换旁视缓冲器输入外至少具有设定的指示记号并有与该写入请求标记匹配的标记的输入有效时,其中所述的该转换旁视缓冲器放弃该写入请求。31.如权利要求29所述的转换旁视缓冲器中避免重复匹配输入的方法,假使该写入请求为有效、且该转换旁视缓冲器中除该写入请求所指明的该转换旁视缓冲器输入外至少具有设定之指示记号并有与该写入请求标记匹配的标记的输入有效时,其中所述...

【专利技术属性】
技术研发人员:莱恩C肯特G麦可亚勒
申请(专利权)人:美普思科技有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1