[发明专利]多线程寄存器映射有效
申请号: | 201580082261.5 | 申请日: | 2015-08-18 |
公开(公告)号: | CN107851006B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 希姆查·高奇曼;吴祖光;蔡卫光 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 寄存器 映射 | ||
一种处理寄存器访问请求的系统,包括用于接收寄存器访问请求的接口和连接到该接口的处理单元。所述处理单元基于诸如多线程(multithreading,简称MT)线程的架构寄存器的最近使用和/或访问频率的标准将架构寄存器动态地映射到物理寄存器中。所述处理单元还查找在物理寄存器中找不到匹配的寄存器访问请求的相应架构寄存器。
背景技术
本发明在其一些实施例中涉及多线程的实现,更具体地,涉及但不限定于多线程内核中的架构寄存器管理。
CPU内核,特别是那些针对服务器市场的内核,越来越多地支持多线程(multithreading,简称MT)。对多线程内核的需求在所有服务器市场中一直在高速增长,特别是在横向扩展应用(例如大数据)的背景下。
目前有三种MT实施方案:
1.细粒度MT(Fine Grain MT,简称FGMT):线程以时钟为基础进行交织;
2.同步MT(Simultaneous MT,简称SMT):线程同时运行,共享所有机器资源;
3.粗粒度MT(Coarse Grain MT,简称CGMT,也表示事件MT和SoE MT上的切换):线程运行直至被某个事件阻塞(通常会导致长时间的停滞)。然后,下一个处于自然状态的等待线程会替代该线程。
目前的MT实施方式包括:
1.英特尔的Larrabee(4路FGMT);
2.英特尔至强服务器(2路SMT);
3.英特尔安腾Montecito(2路CGMT)。
在MT中,每个线程承载机器的整体架构状态。每个架构寄存器文件集(Architectural Register File Set,简称ARF)通常包括:
1.整数寄存器文件(例如,ARMv8采用31个寄存器,每个64位宽);
2.浮点/SIMD寄存器文件(例如,ARMv8采用32个寄存器,每个128位宽);
3.状态寄存器(例如,ARMv8采用约6个寄存器,每个64位宽);
若同一芯片支持多个线程,数量将会成倍增加。寄存器必须是可用的且易于访问。
目前的MT实施方式使用下述策略来处理寄存器文件(register file,简称RF):
1)为每个线程复制ARF。这也用于FGMT和SMT,在一些情形中,也用于CGMT(以避免长时间的切换)。复制ARF在硅面积和能量消耗方面是非常浪费的。
2)保持单个寄存器文件集并反复复制(仅适用于CGMT)。这种方法耗时,使得切换时间相当长,效率低下,并且严重降低性能。
发明内容
本发明的目的是改进多线程。
独立权利要求主旨是达到该目的。从属权利要求保护其他实施例。
本文中呈现的实施例将运行线程(即活动线程)的最近和/或经常使用的寄存器映射到物理寄存器中。所有线程的寄存器都保存在架构寄存器中,或者存储在SRAM中。当所请求的寄存器未映射到物理寄存器时,将架构寄存器的内容存储在已分配的物理寄存器中,并可能替换以前存储的内容(例如,已挂起的线程)。这样,就可以减少硅面积和能量消耗,缩短切换时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580082261.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多天线物联网信息传输方法
- 下一篇:更新客户端资源包的方法和装置