可锁定码的快取及其处理器、控制器与控制方法技术

技术编号:2918848 阅读:153 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例揭示一种于高速缓存锁定编码的系统与方法。实施例中,处理器(processor)包含有快取(cache)以及快取控制器(cachecontroller)。上述快取用于暂存主存储器中的编码的复本。同时,上述快取被分割成数个快取通道(cache  way),每一快取通道是分割成数个快取通道部分(cache  way  portion)。上述快取控制器是利用第一信号以指定数个快取通道中的一快取信道为部分快取信道,以及第二信号用于定义上述部分快取通道中的哪些快取通道部分是要被锁定(lock)。

【技术实现步骤摘要】

本专利技术是有关于处理器,尤指一种高速缓存以及快取部分锁定的系统与方法。
技术介绍
电路设计者致力于降低从存储器位置撷取储存的数据和指令所需的时间以增加处理器运作的速度。一种加速处理器存取码(code)的方法是利用高速缓存暂存处理器最近一次自主存储器读取的编码复本,由于软件程序习惯于做循环因而一再撷取存储器中相同的位置,因此在与处理器沟通的过程中,合并快取系统的部分形式可以加速撷取所需的码,当处理器要求的码存在于快取中,称为“快取寻到(cache hit)”,相对于要求的码不存在于快取中称为“快取失误(cache miss)”。“快取寻到”的码可以更快速地被撷取,如果发生快取失误,处理器则必须自主存储器读取码,而所需花费的时间为自高速缓存撷取码的上百倍。快取是由快取控制器(cache controller)控制,包含有算法以决定储存哪些码。当新的码自主存储器被撷取并且分配于快取中时,配置算法决定哪一个已存在于快取中的码要被丢弃。上述配置算法是基于统计机率学的概念下,判断哪一个码最有可能将再一次被使用到。举例而言,“轮替(round-robin)”方法是基于已决定的次序简单地将下一个位置的码丢弃;而“最少使用(least recently used)”方法是持续追踪每一登录快取的快取线(cache line)并丢弃最旧的码,为较复杂的方法。当处理器发出要求读取码时,快取控制器会比对上述要求的码的地址与快取中的地址,以确认上述码是否已存在于快取中。例如,4K字节快取的地址有32位,其中,20位(地址)是卷标位(tag bits)以及12位(地址)是偏移位(offset bits)。卷标位分别储存于卷标快取,并且识别主存储器的220快取线中哪些要被储存于给定的快取地址;12偏移位指出码将被储存在212字节快取中的哪个位置。快取控制器依照快取的架构来使用偏移位,例如,“直接映像(directmap)”是快取的一种形式。有特定偏移位的编码被储存在快取中的唯一位置,例如,假设32字节快取线有地址范围自0000_0700(十六进制)至0000_071F(十六进制)储存于快取中偏移地址700至71F,且假设第二快取线有地址范围自1234_5700至1234_571F。上述第二快取线无法同时与第一快取线被储存,因为这两个快取线有相同的偏移地址700至71F。然而,因为编码编译的随机性质,这类的冲突很容易发生。因为直接映像会伴随着这类的问题,发展出一种“集合关系型”的快取架构。例如,“双向”集合关系型快取是将整个快取分成两个相同大小的快取通道(cache ways)。额外的位用于指示要储存于两个快取通道中哪一个的特定快取线,其中上述额外位是取自于偏移地址中特定的位。算法可以用来编译这种额外位并且决定要储存在哪一个快取线,或者,卷标地址可以用来比较并检测上述快取线是被储存在第一或是第二快取通道。快取可以被分为数个部分,例如,“四向”集合关系型快取有四个快取信道,以及八向集合关系型快取有八个快取通道。通过允许有相同偏移位的快取线能够同时储存于不同的快取通道中,可增加快取寻到的比率。直接映像的快取寻到的机率为65%,是合理的数值;而使用四向集合关系型快取,快取寻到的机率可以被提高至90%,随之增加处理器的撷取速度。因为编码地址通常倾向于有相同的偏移位,使用多通道的快取架构是比较好的。另一种作法,快取被设计成各个快取线可被储存于快取中的任何地方,这种形式的快取称为完全集合关系型(fully set-associative)快取,亦或完全可撷取存储器(content accessible memory)或CAM。CAM需要大量的比较电路(comparators)与关联逻辑且最终会导致缓慢的撷取时间,四向与八向集合关系型快取只需要四个或八个比较电路,通常可提供较佳的撷取速度。快取控制器的配置算法广被注意,不幸地,产业标准的配置算法存在限制,即是平均来说能提供较佳的性能,但可能无法每次都对系统的关键性工作提供最佳性能。处理器处理的其它工作在时间上可能并不紧急,但部分工作可能需要快速的处理,像是“实时”工作,因此,软件程序通常以紧急实时工作中断其它工作的方式写入,而后,一旦中断完成,上述软件程序可回归至正常工作并且继续做处理。中断或是实时工作可能不会常常发生,当一旦发生时,却希望他们能够快速地被执行。举例来说,假设中断惯例程序因手机来电而产生铃声信号,虽然上述中断可能好几天才发生一次,但当发生时,因为它是实时事件,所以必须执行的够快。当电话来时,手机可能正在执行背景画面,但是铃声中断取得优先权,想要快速执行中断或是其它高优先权的码必须加载至快取中并且加以“锁定(lock)”,如此一来上述码将不会被丢弃。这种方法改善了中断的惯例程序,因为这种方法可以保证想要撷取的中断惯例程序将会在快取中被寻到并且快速地执行。一般的配置算法对于高优先权码的认知通常不够成熟,因此,软件程序专家必须认知码的哪些部分相较于其它部分具有较高的优先权,进而时时将上述部分码锁定在快取中以便可供随时使用。另一种快取锁定用在使用频繁的工作。假设软件程序设计者意识到某特定的码段被执行的次数远远高于其它工作,为了最佳化快取寻到的比率,软件程序设计者可选择将上述使用频繁的码锁定于快取中。同时,根据编码和处理器的分析,由于使用频繁的码在短时间内一再被使用,因此可能被放置在最近使用分类中以免被丢弃。丢弃上述码并且立刻自主存储器撷取上述码将会浪费处理器的时间,因此,锁定上述码是有益的。传统的处理器通过锁定整个快取信道来锁定功能性运算,虽然锁定改善了中断与频繁使用的码的执行性能,但撷取其余码的性能将会下降。假设4K四向快取的每一快取通道储存1K,以及600字节的中断惯例程序被锁定于快取中,在上述锁定的快取通道中有424个没有使用的字节被浪费了,软件程序设计者可以锁定其它编码,但是将会很难决定要在上述剩余的空间中放入哪些编码。另一方面,假设有64K字节的四向快取,每一快取通道为16K,如果一样锁定600字节于其中一个快取通道,将会有约15K字节被浪费。因为近来的趋势倾向于设计较大的快取,每个快取通道必然也较大,不必要的锁定浪费了快取通道的空间。因此,为了满足上述的不足和不适当,尽量减少快取通道空间的浪费在此产业中是必须的。
技术实现思路
有鉴于此,本专利技术提供一种锁定编码(例如数据或是指令)于快取中的系统与方法,同时,本专利技术所提出的处理器可以提供电路设计者描述锁定编码的特征,并且能节省快取空间。于一实施例中,本专利技术所提出的处理器包含有快取和快取控制器,上述快取可暂存存储器中的编码复本,且上述快取可分成多个快取通道(cache way),每个快取通道又可分成多个快取通道部分(cache way portion);上述快取控制器利用第一和第二信号来控制上述快取,其中,第一信号是指出哪一个快取信道为部分快取信道(partial cache way),而第二信号是定义部分快取通道中的哪些快取通道部分是被锁定。此外,于另一实施例中,上述快取控制器控制快取中编码的配置,包含有暂存器以储存部分快取信道信号,上述部分快取信道信号指出哪一个快取信道为部分快取信道,其中,部分快取通道又分为多个快取通本文档来自技高网
...

【技术保护点】
一种可锁定码的快取系统的处理器,包含有:快取,用于暂存主存储器中的码的复本,其中,上述快取是分割为多个快取通道,上述每一快取通道分割成多个快取通道部分;以及快取控制器,用于控制上述快取,其中,上述快取控制器利用第一信号指定上 述多个快取通道中的一快取信道为部分快取信道,以及利用第二信号指定哪些上述部分快取信道中的快取信道部分是被锁定的。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:威廉V米勒
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1