【技术实现步骤摘要】
本专利技术涉及维持处理器的堆栈数据结构。
技术介绍
常规处理器维持包含若干控制指令的堆栈数据结构(“堆栈”)。堆栈通常位于处理器的核心内。在处理器核心内执行的线程可对堆栈执行两个基本操作。控制单元可将控制指令“推入”到堆栈上或从堆栈“弹出”控制指令。 推入操作向堆栈的顶部添加控制指令,从而引起先前控制指令被沿着堆栈向下推动。弹出操作移除且返回堆栈的当前顶部控制指令,从而引起先前控制指令沿着堆栈向上移动一个位置。因此,处理器核心的堆栈根据后进先出(LIFO)方案而动作。由于处理器核心内存储器的有限大小,因此堆栈非常小。堆栈的小尺寸限制了可利用的嵌套控制指令的数目。将太多控制指令推入到堆栈上导致堆栈溢出,其可引起线程中的一者或一者以上故障或崩溃。
技术实现思路
本专利技术大体上是针对用于控制堆栈溢出的技术。本文描述的技术利用位于处理器核心外部的共用高速缓冲存储器或存储器的一部分作为堆栈扩展。处理器核心在处理器核心中的存储器内维持堆栈。处理器核心在处理器核心堆栈超过例如阈值条目数目的阈值大小时将堆栈内容的至少一部分转移到驻存在处理器核心外部的堆栈扩展。举例来说,处理器核心 ...
【技术保护点】
一种装置,其包括:处理器,其具有处理器核心,所述处理器核心包含:控制单元,其用以控制所述处理器的操作,以及第一存储器,其存储所述处理器核心内的堆栈,其中所述堆栈对应于由所述处理器核心执行的特定线程;以及第二存储器,其存储所述处理器核心外部的堆栈扩展,其中所述控制单元可操作以:在检测到所述堆栈的内容超过第一阈值大小时将所述堆栈的第一多个逻辑堆栈条目作为连续块转移到所述堆栈扩展;在所述转移期间将所述特定线程置于睡眠模式,其中当所述特定线程处于所述睡眠模式时,与所述特定线程相关联的算术逻辑单元可由其它线程使用;以及在所述转移之后,重新启动所述特定线程;其中所述堆栈扩展包括第一堆栈 ...
【技术特征摘要】
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。