用于多线程处理器中基于线程的存储器存取的方法和装置制造方法及图纸

技术编号:2857337 阅读:154 留言:0更新日期:2012-04-11 18:40
一种用于存取与多线程处理器相关的存储器的方法,该方法包括以下步骤:    确定与所述多线程处理器的具体线程相关的线程标识符;    使用至少一部分的所述线程标识符来选择将由对应的处理器线程存取的存储器的特定部分。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及数字数据处理器领域,更特别地涉及多线程处理器中使用的存储器存取技术。
技术介绍
存储器是处理器设计中重要的方面。众所周知,处理器经常与包括不同存储元件层次的存储系统结合使用。例如,这样的存储系统可以包括备份存储(backing store)、主存储器和高速缓存存储器,例如,如M·J·Flynn在“计算机结构流水线与并行处理器设计(PipelinedArchitectutePipelined and Parallel Processor Design)”(Jones和Bartlett为发行人,Boston,MA,1995)中所述。通常由例如存取时间和带宽等参数决定存储器性能。存取时间是指处理器从存储器请求具体的数据特定片与所请求的数据返回到处理器之间的时间。存储器带宽是指存储器在每个单位时间所能接纳的存储器存取请求的数量。可以多体(multiple banks)的形式构造给定的存储器,例如上述示例的存储系统结构中的高速缓存存储器或主存储器。存储器的部分也被称作模块。例如,可以将多个体(bank)结合成单个存储模块,或者可以结合多个模块形成一个体。通常,在存储器存取期间的任何给定时间只有存储器的体的子集起作用。在最简单的可能的排列中,单个处理器请求单个存储模块。然后处理器停止活动并等待模块的服务。当模块响应时,处理器活动重新开始。每个存储模块至少具有两个重要的参数,即,模块存取时间和模块循环时间。模块存取时间是从给定有效地址的输出存储器缓冲寄存器找出数据所需的时间。模块循环时间是对同一个模块的多个请求之间的最小时间。从过去看,处理器和存储器被分开封装。但是,在现代的集成技术中,能够在单个集成电路芯片内集成多个模块和体以及处理器。传统的存储器存取技术的重要问题是,这样的技术通常不能充分用于多线程处理器,即,支持同时运行多个不同指令序列或“线程”的处理器。例如,传统的存储器存取技术在用到多线程处理器时,经常需要数量过多的读取和写入端口,这过度增加了功耗。此外,这样的技术在用到多线程处理器时,能够导致个别的处理器线程失速,并增加了存储器存取时间。从上面明显可知,在与多线程处理器相关的存储器结合使用时需要改进的存储器存取技术。
技术实现思路
本专利技术提供用于多线程处理器的改进的存储器存取技术。更具体地,本专利技术的存储器存储技术以示意性实施例的方式提供了在与多线程处理器相关的存储器中基于线程的体存取,因此避免了与处理器线程失速相关的存储器存取。按照本专利技术,多线程处理器确定与具体处理器线程相关的线程标识符,并使用至少一部分的线程标识符来选择将由对应的处理器线程存取的相关存储器的具体部分。例如,可以利用线程标识符的第一部分来选择存储器内的多个多体存储元件的其中一个,可以利用线程标识符的第二部分来选择所选的一个多体存储元件内多个存储体(memory bank)的其中一个。第一部分可以包括线程标识符的一个或多个最高有效位,而第二部分包括线程标识符的一个或多个最低有效位。作为更多的具体示例,多体存储元件的每个都可以包括偶数存储体和奇数存储体,利用线程标识符的第二部分的最低有效位来选择对应的处理器线程要存取的偶数存储体和奇数存储体的其中之一。本专利技术的其它方面涉及权标触发(token triggerred)的线程和流水线指令处理。例如,可构造多线程处理器来实施权标触发的线程。这种类型的线程结合当前处理器时钟周期,利用权标来识别具体的硬件线程单元或允许发布用于随后时钟周期的指令的上下文。有利的是,本专利技术明显降低了多线程处理器中的存储器存取时间和功耗,而处理器性能没有任何损失。例如,在示意性的实施例中,能够在单个处理器周期中使用单个存储器端口实现两个读取或写入的存储器存取。附图说明图1是其中实施了本专利技术的示例性处理系统的方块图;图2是图1中处理系统的多线程处理器的示意性实施例的更详细的框图;图3示出了按照本专利技术的技术用在图2的多线程处理器中的权标触发的线程的示例;图4给出了按照本专利技术在图2的多线程处理器中流水线处理示例的指令功能所采用的方式;图5给出了具有图2中处理器的多个上下文的流水线的简化示例,其中处理器在连续周期上发出指令;图6示出了按照本专利技术的在图2的多线程处理器中实施的存储器存取技术。具体实施例方式以下将按照在多线程处理器中实施的情况来示意性说明本专利技术,其中多线程处理器具有与其相关的主存储器、多线程高速缓存存储器和多线程数据存储器。但是应当理解,本专利技术不要求使用示意性实施例中的特别的多线程处理器和存储器结构,本专利技术通常适于用在任何期望降低所需的存储器端口数量并由此降低功耗的多线程处理器存储器存取应用中。将结合图1和2说明采用了本专利技术存储器存取技术的示例的处理系统100。图1给出了处理系统100,其包括连接到主存储器104的多线程处理器102。多线程处理器102包括多线程高速缓存存储器110和多线程数据存储器112。图2给出了多线程处理器102的一种可能实施方式的更详细视图。在此实施例中,多线程处理器102包括多线程高速缓存存储器110、数据存储器112、高速缓存存储器控制器114、指令译码器116、寄存器文件118和一组算术逻辑单元(ALU)120。多线程高速缓存存储器110在此也被称作多线程高速缓存存储器。应当注意,为了使说明清楚而简化了图1和2所示的具体配置,其也可包括此处没有显示的其它的或可选的元件,这对于本领域技术人员是显而易见的。多线程高速缓存存储器110包括多个线程高速缓存存储器110-1、110-2、...、110-N,其中N通常表示多线程处理器102所支持的线程数量。因此每个线程在多线程高速缓存存储器110中具有与其相关的对应的线程高速缓存存储器。类似地,数据存储器112包括N个不同的数据存储器情况,表示为112-1、112-2、...、112-N。多线程高速缓存存储器110中的每个线程高速缓存存储器可以包括具有一组或多组存储位置的存储器阵列。给定的线程高速缓存存储器还可以包括用于存储相关的线程标识符的线程标识符寄存器,其将在下面结合图6对其详细说明。多线程高速缓存存储器110经过高速缓存存储器控制器114与主存储器104连接。高速缓存存储器控制器114确保了将来自主存储器104的适当指令载入多线程高速缓存存储器110。在此示意性实施例中,高速缓存存储器控制器114与和各线程高速缓存存储器110-1、110-2、...、110-N相关的逻辑电路或其它的处理元件协同工作,其实施了至少一部分的地址映射技术,例如完全联想映射、直接映射或组联想映射(set-associative mapping)。在美国专利申请序列号为第10/161,774和第10/161,874中说明了适于与本专利技术结合使用的组联想映射技术,两者都是在2002年6月4日提交的并与本专利技术共同转让,在此引用两者的内容。通常,多线程高速缓存存储器110用于存储将由多线程处理器102运行的指令,而数据存储器112存储该指令所操作的数据。指令译码器116从多线程高速缓存存储器110获取指令,其中指令译码器116以传统的方式在控制指令的运行中与寄存器文件118和ALU 120协同工作。多线程处理器元件例如,116、118和120的操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:E·霍凯奈克M·穆吉尔J·C·格洛斯纳
申请(专利权)人:沙桥技术有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利