分配共享堆栈的部分的系统和方法技术方案

技术编号:8493973 阅读:169 留言:0更新日期:2013-03-29 06:42
一种管理由处理器的多个线程共享的堆栈的系统和方法包含将共享堆栈的第一部分分配给第一线程,以及将所述共享堆栈的第二部分分配给第二线程。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体涉及数据处理,且更特定来说涉及存储器堆栈操作。
技术介绍
技术的进步已产生可用于执行各种任务的更强大的计算装置。计算装置通常包含 至少一个处理器。为改进计算装置内的指令的处理,处理器有时使用分支预测来预期程序 代码内的分支形成。微处理器可使用返回地址堆栈(RAS)来预测程序执行期间遇到的呼叫 /返回类型分支的返回地址。RAS可为堆栈(后进先出(LIFO)数据结构)的特殊实施方案。 呼叫指令可致使将返回地址推送到RAS上。返回指令可致使从堆栈弹出位于RAS顶部的地 址且用于预测返回地址。当分支预测成功时,从RAS顶部弹出的地址可用于重定向处理器 的指令提取单元。当分支预测不成功时,可计算正确的返回地址以便正确地重定向指令提 取单元。多线程处理器的每一线程可使用其自身的专门RAS,且每一 RAS可具有固定大小。 每一线程可依据正由每一线程执行的指令流而使用其固定大小RAS的不同数目的条目。然 而,多个返回地址堆栈的使用增加了系统的成本。
技术实现思路
一特定实施例可允许对共享堆栈的多线程存取。对共享堆栈的存取可依据每一线 程的当前需要而动态分配给多个线程。共享堆栈的条目可由线本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.07.16 US 12/837,5721.一种设备,其包括 共享堆栈;以及 控制器,其可操作以选择性地将所述共享堆栈的第一部分分配给第一线程,且选择性地将所述共享堆栈的第二部分分配给第二线程。2.根据权利要求1所述的设备,其中所述第一部分不与所述第二部分邻接。3.根据权利要求1所述的设备,其中所述第一部分与所述第二部分邻接。4.根据权利要求1所述的设备,其中所述共享堆栈选自由硬件堆栈和随机存取存储器RAM组成的群组。5.根据权利要求1所述的设备,其进一步包括处理器,所述处理器包含经配置以产生与所述共享堆栈相关联的堆栈操作请求的多线程处理器核心。6.根据权利要求1所述的设备,其中所述控制器操作以响应于堆栈操作请求。7.根据权利要求6所述的设备,其中所述堆栈操作请求包含推送和弹出中的至少一者。8.根据权利要求6所述的设备,其中所述堆栈操作请求包含函数返回地址。9.根据权利要求1所述的设备,其中所述第一线程覆写所述第二部分内的数据元素。10.根据权利要求1所述的设备,其中所述第一部分和所述第二部分是动态分配的。11.根据权利要求1所述的设备,其中所述控制器包含 底部条目指针,其经配置以指向所述第一线程经配置以写入到的所述共享堆栈的最底部条目; 顶部条目指针,其经配置以指向所述第一线程经配置以写入到的所述共享堆栈的最顶部条目; 堆栈顶部指针,其经配置以指向与所述第一线程相关联的所述共享堆栈的最近写入的条目;以及 堆栈底部指针,其经配置以指向与所述第一线程相关联的所述共享堆栈的最老有效条目。12.根据权利要求1所述的设备,其中所述控制器包含经配置以指示所述第一线程是否正执行过程的线程作用中状态位。13.根据权利要求1所述的设备,其中所述控制器包含经配置以指示是否使用与所述第一线程相关联的所述共享堆栈的条目的空位。14.根据权利要求1所述的设备,其中所述控制器包含经配置以指示所述第一线程已在所述共享堆栈内缠绕的缠绕堆栈位。15.根据权利要求1所述的设备,其中所述控制器经配置以预测函数返回地址,其中第一指令确定所述返回地址,且其中共享堆栈未中提示第二指令确定所述函数返回地址。16.根据权利要求1所述的...

【专利技术属性】
技术研发人员:史蒂芬·R·香农苏雷什·K·文库马汉提罗伯特·A·莱斯特
申请(专利权)人:高通股份有限公司
类型:
国别省市:

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

1