据物理分页指针比较结果转送数据的装置及方法制造方法及图纸

技术编号:2879026 阅读:161 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种支持分页虚拟内存系统并工作于流水线化微处理器中的储存再转送的装置及方法。包括多个比较器(Comparator)用以比较加载数据的物理分页指针与处于储存缓冲区中数据的物理分页指针以决定是否发生储存执行的状态。如比较结果是正确的,转送逻辑便根据比较的指针转送最新处于储存执行状态的数据。指针比较的动作与加载数据虚拟分页号码的TLB查询动作是同时进行的,TLB查询动作将产生一物理分页地址。加载数据物理分页地址将与储存数据物理分页地址进行比较以确定转送的储存执行数据与加载数据位于相同的分页中。如比较结果是不正确的,便暂停执行微处器流水线中执行的指令并更正错误的转送数据,待错误的数据被更正后,微处器流水线中执行的指令便继续执行。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
(0001)本专利技术涉及一种支持分页虚拟内存系统并工作于流水线化微处理器中的储存再转送的装置及方法。特别是使用比较器用以比较加载数据的物理分页指针与处于储存缓冲区中数据的物理分页指针以决定是否转送处于储存执行状态的数据。(0004)因此,当指令被提取时,就被导入流水线的一端。指令于微处理器中经历流水线阶段,直到执行完毕。然而,当指令于微处理器中经历流水线阶段的处理时,有时,一较早处理(或于较高阶层中处理)的指令需要等待另一先前于它的较晚指令(或于较低阶层中处理的指令)执行完毕的结果。(0005)何谓储存执行(Store hit)状态?储存执行(Store hit)状态意谓在一较高层次流水线(Pipeline)中等待执行的指令需等待一较低层次流水线中的指令执行完毕后才执行的一种状况。储存执行(Store hit)状态常发生在流水线(Pipeline)中一加载指令需等待另一加载指令执行完毕以标示加载数据储存地址后才执行的一种状况。也就是说,在流水线中,一加载指令执行完毕,并标示加载数据储存的地址(address)后,另一加载指令根据其所标示的数据储存地址找到前述的地址上所储存的加载数据后再执行另一指令的一种状况,此时,加载数据仍然停留于微处理器的流水线中,尚未被更新至微处理器的数据高速缓存(Data Cache)或系统内存中。(0006)在先进的微处理器技术中,特别是在英特尔(Intel)X86微处理器系列中,储存执行(Store hit)的状况是经常发生的。这种现象主要归因于先进的X86微处理器的编译器(Compiler)中的暂存盘(RegisterFile)使用相对较少的缓存器(Register),另外,X86微处理器内建高容量的数据高速缓存(Data Cache),且X86微处理器对于前述的数据高速缓存(Data Cache)及暂存盘(Register File)存取的速度几乎是一样快,因此,当编译器(Compiler)使用完暂存盘(Register File)中的缓存器(Register)时,编译器(Compiler)会将高容量的数据高速缓存(DataCache)当作大型的暂存盘(Register File)使用。特别是当以下的情况发生时,编译器(Compiler)常会产生储存执行(Store学hit)的情形。(0007)第一,当循环计数器(Loop Counter)变量储存于一内存地址时。第二,当一内存地址被当作一连串数学运算的暂存地址时。第三,当一迭堆地址被一串非常短的附程序中的一非常短的指令存取时,也就是说,当一传回地址(Return Address)被使用,同时系统执行一附程序中的一小串指令时,储存执行(Store hit)的情形便会发生于传回地址(Return Address)上。(0008)当储存执行(Store hit)的情形发生时,加载指令的执行需由连贯的数据所提供,也就是加载地址上最新的数据。而此时,最新的数据仍然在流水线(Pipeline)中不在数据高速缓存(Data Cache)或系统内存中,故微处理器将无法自数据高速缓存(Data Cache)或系统内存中取用前述的最新数据。解决的方法之一是使微处理器暂时等待一段时间待数据高速缓存(Data Cache)或系统内存中处于储存执行(Store hit)状态的数据被更新,并将此位于数据高速缓存(Data Cache)或系统内存中更新的数据提供给加载的指令后再继续执行。但很明显的,此种解决的方法会使微处理器系统处理的效能变差,较好的解决的方法是决定最新数据的加载地址(Load Address)后,根据加载地址,直接将最新数据由等待处理层次转送至加载指令执行的层次。(0009)转送处于储存执行(Store hit)状态的数据是一件复杂的工作,主要原因是,许多微处理器使用分页内存技术。在分页内存的架构中,加载指令的虚拟地址(Virtual Address)必须转换为物理地址(PhysicalAddress)以便确的存取数据。而为了要侦测储存执行的状态及转送正确的数据,加载数据的物理地址及微处理器中处于储存状态数据的物理地址必须加以比较,而在分页内存的系统中,比较虚拟地址(VirtualAddress)是不够的,因加载数据的虚拟地址及微处理器中处于储存状态数据的虚拟地址虽然不相同,但都可能参照于同一物理地址。(0010)具备分页内存系统的微处理器基本上使用Translation-Lookaside Buffer(TLB)以快速存取由虚拟地址转换而来的物理地址。TLB负责将虚拟地址转换成物理地址。TLB的技术将传统冗长不断重复的虚拟地址转换成物理地址的工作大幅简化,使得系统数据处理的效能增加。(0011)为了侦测储存执行(Store hit)状态是否存在,系统将比较加载指令的物理地址(Physical Address)与流水线中等待处理指令的物理地址。若侦测储存执行(Store hit)状态存在,处于测储存执行状态的最新数据将被转送至加载指令。同时,物理地址比较的动作及指令转送的动作是循序发生的。而循序发生的时序长短对于微处理器处理循环的效能来说是十分重要的。因此,如何提供一种方法使循序发生的时序缩短对于改善微处理器处理循环的效能提升将有很大的帮助。(0013)本专利技术装置的次要目的乃在于提供一种支持分页虚拟内存的微处理器,此种微处理器包括一指针对等指示器(Index Match Indicator)用以显示加载指令的加载数据的物理分页指针是否与处于储存状态的数据的物理分页指针相同。前述的微处理器亦包括一转送的逻辑装置,其搭配指针对等指示器使用,当指针对等指示器显示加载物理分页指针(LoadPhysical Page Index)及储存物理分页指针(Store Physical Page Index)为一致时,前述的转送逻辑装置可将处于储存状态的数据转送至执行的指令中。转送逻辑装置根据加载数据及储存数据是否在同一物理内存的分页中以决定是否将储存数据转送至加载指令中。(0014)本专利技术的另一目的乃在于提供一种方法,此种方法特别着重于转送微处理器流水线中处于储存执行的数据或指令。此种方法乃在于比较加载指令的加载数据(或指令)的物理分页指针是否与流水线中处于储存状态的数据(或指令)的物理分页指针相同。当加载指令的加载数据的物理分页指针与流水线中处于储存状态的数据(或指令)的物理分页指针相同时,此种方法同时包括将处于第一利于流水线中处于储存状态的数据转送至第二种加载指令执行的状态。(0015)本专利技术的再一目的乃在于提供一种支持流水线处理的微处理器,此种微处理器包括多重储存暂存区,前述的多重储存暂存区中储存等待写入内存的数据。此种微处理器同时包括多重地址缓存器,可搭配前述储存数据物理分页指针的多重储存暂存区一起使用。此种微处理器同时亦包括多重指针比较器,可搭配前述的多重地址缓存器一起使用,多重指针比较器可比较多重物理分页指针与加载指令所要求的数据的物理分页指针的差异。前述的微处理器同时亦包括控制逻辑,搭配前述的多重指针比较器一起使用,当多重指针比较器比较一物理分页指针与加载指令所要求的数据的物理分页指针为相同时,前述的控制逻辑可本文档来自技高网...

【技术保护点】
一种微处理器流水线中储存后转送的装置,其特征在于,微处理器流水线中包括两种状态,第一种状态为接收一加载虚拟地址所标示的加载数据,第二种状态为储存一等待写入储存物理地址的储存数据,加载虚拟地址包括一加载虚拟分页号码及一加载物理分页号码,储存物理地址包括一储存物理分页地址及一储存物理分页指针,该装置包括: 一指针比较器,用以比较加载物理分页指针及储存物理分页指针 一转送逻辑,配合该指针比较器使用,当该指针比较器显示比较加载物理分页指针及储存物理分页指针的结果是正确时,用以将储存数据由该第二种状态转送至该第一种状态。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:罗德胡克葛兰亨利
申请(专利权)人:智慧第一公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利