处理器核心堆栈扩展制造技术

技术编号:8131045 阅读:206 留言:0更新日期:2012-12-27 03:12
本发明专利技术涉及处理器核心堆栈扩展。本发明专利技术大体上是针对用于控制堆栈溢出的技术。本文描述的技术利用位于处理器核心外部的共用高速缓冲存储器或存储器的一部分作为堆栈扩展。处理器核心监视所述处理器核心内的堆栈,并在所述处理器核心堆栈超过最大条目数目时将所述堆栈的内容转移到所述处理器外部的所述堆栈扩展。当所述处理器核心确定所述处理器核心内的所述堆栈下降到最小条目数目以下时,所述处理器核心将维持在所述堆栈扩展中的所述内容的至少一部分转移到所述处理器核心内的所述堆栈中。所述技术通过利用所述处理器核心外部的堆栈扩展而防止了在所述处理器核心内执行的线程的故障和崩溃。

【技术实现步骤摘要】

本专利技术涉及维持处理器的堆栈数据结构。
技术介绍
常规处理器维持包含若干控制指令的堆栈数据结构(“堆栈”)。堆栈通常位于处理器的核心内。在处理器核心内执行的线程可对堆栈执行两个基本操作。控制单元可将控制指令“推入”到堆栈上或从堆栈“弹出”控制指令。 推入操作向堆栈的顶部添加控制指令,从而引起先前控制指令被沿着堆栈向下推动。弹出操作移除且返回堆栈的当前顶部控制指令,从而引起先前控制指令沿着堆栈向上移动一个位置。因此,处理器核心的堆栈根据后进先出(LIFO)方案而动作。由于处理器核心内存储器的有限大小,因此堆栈非常小。堆栈的小尺寸限制了可利用的嵌套控制指令的数目。将太多控制指令推入到堆栈上导致堆栈溢出,其可引起线程中的一者或一者以上故障或崩溃。
技术实现思路
本专利技术大体上是针对用于控制堆栈溢出的技术。本文描述的技术利用位于处理器核心外部的共用高速缓冲存储器或存储器的一部分作为堆栈扩展。处理器核心在处理器核心中的存储器内维持堆栈。处理器核心在处理器核心堆栈超过例如阈值条目数目的阈值大小时将堆栈内容的至少一部分转移到驻存在处理器核心外部的堆栈扩展。举例来说,处理器核心可在核心堆栈变为充满本文档来自技高网...

【技术保护点】
一种装置,其包括:处理器,其具有处理器核心,所述处理器核心包含:控制单元,其用以控制所述处理器的操作,以及第一存储器,其存储所述处理器核心内的堆栈,其中所述堆栈对应于由所述处理器核心执行的特定线程;以及第二存储器,其存储所述处理器核心外部的堆栈扩展,其中所述控制单元可操作以:在检测到所述堆栈的内容超过第一阈值大小时将所述堆栈的第一多个逻辑堆栈条目作为连续块转移到所述堆栈扩展;在所述转移期间将所述特定线程置于睡眠模式,其中当所述特定线程处于所述睡眠模式时,与所述特定线程相关联的算术逻辑单元可由其它线程使用;以及在所述转移之后,重新启动所述特定线程;其中所述堆栈扩展包括第一堆栈扩展,且其中所述控制...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:焦国方于春杜云
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

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

1