当前位置: 首页 > 专利查询>刘欣专利>正文

一个用于时分复用流水线处理器的指令或数据功能存储器的方法技术

技术编号:29305083 阅读:25 留言:0更新日期:2021-07-17 01:44
一个用于时分复用流水线处理器的指令或数据功能存储器的方法,特征为:处理器使用一个多级流水线,流水线的各级流水部件在同一个流水线时钟周期执行不同线程的操作;所有复用该流水线的线程根据其切入流水线的时间规律,分成多个线程组,指令或数据功能存储器使用多个容量相同或不同的子存储器组合而成,所有线程通过时分复用方式访问一个或多个指令或数据功能存储器的子存储器,一个可行的子存储器实体是单端口的静态随机存储器(SP

【技术实现步骤摘要】
一个用于时分复用流水线处理器的指令或数据功能存储器的方法


[0001]本专利技术涉及处理器结构领域,尤其是细粒度多线程处理器的存储器的组织结构。
[0002]背景
[0003]在目前的细粒度多线程处理器,通过时分复用的方法访问固定容量的程序存储器或数据存储器,本专利技术通过组合小容量的子存储器生成程序存储器或数据存储器,还可以动态调整存储器的大小,实现对存储器容量与带宽最大化效率使用,通过精细控制子存储器的时钟和供电,进一步节省功耗。

技术实现思路

[0004]一个用于时分复用流水线处理器的指令或数据功能存储器的方法,特征为:处理器使用一个多级流水线,流水线的各级流水部件在同一个流水线时钟周期执行不同线程的操作;所有复用该流水线的线程根据其切入流水线的时间规律,分成多个线程组,每个线程组内的线程不会同时出现在流水线上;不同线程组支持的指令集可以相同也可以不同;指令或数据功能存储器使用多个容量相同或不同的子存储器组合而成;同一个指令或数据功能存储器的子存储器不会同时响应不同的线程组;所有线程组内的所有线程通过时分复用方式访问一个或多个指令或数据功能存储器的子存储器;子存储器访问时隙未被完全被占用时,其空闲访问时隙可以留给外设或其他设备访问,也可以保持空闲。
[0005]一个典型的分组方法为:由于处理器的流水级数为N,一个线程的一条指令需要N个流水时钟周期才能完成,所以任何线程的指令执行速度最大值为流水线时钟的N分之1,线程切入流水线的时刻的流水线时钟计数值除以N后的余数相同的线程不会同时出现在流水线上,所以它们对指令或数据功能存储器的访问也永远不会同时出现。把这些永远不会同时出现在流水线上的线程归为一组,同一个指令或数据功能存储器的子存储器不会同时响应不同的线程组,同一个线程组内的线程由于不同时出现在流水线上,也不会同时访问同一个子存储器。
[0006]指令存储器和数据存储器共享同一物理存储器集合,一个物理子存储器可以按需静态或动态的分配为指令存储器功能或者数据存储器功能,用若干个容量相同或不同的子存储器组合而成最终的指令或数据功能存储器可以更加有效的利用存储器。
[0007]通过提高子存储器读写时钟的方法,例如存储器工作在2倍流水线时钟,可以提供更大的访问带宽给线程,使一个线程在一个流水线时钟内可以读写更多的数据,或者可以在一个流水线时钟内被2个线程组的线程使用,或被其他外设访问。
[0008]不同线程组内的线程支持的指令集可以不相同,例如:简单功能线程组的线程支持的指令只需要访问1次指令存储器和1次数据存储器,而一些复杂的线程组的线程需要访问2 次指令存储器和3次数据存储器,所以每个线程组的线程对指令或数据存储器的带宽需求并不相同,针对不同的带宽需求,可以给予不同的线程组对指令或数据功能存储器访问的不同的带宽或时间片,必要时,可以由某个线程组独占一个或多个子存储器。
[0009]在子存储器较多的情况下,由于流水线不会同时访问所有的子存储器,对于在某个时间没有被访问的子存储器,虽然可以一直提供其时钟,但也可以不提供该时间的时钟信号,达到省电目的,进一步还可以控制该子存储器部分或全部信号线值不动或少动,同样可以省电。
[0010]此外,子存储器在一些情况下会超过用户的实际需要,例如有8个128字节容量的子存储器,用户只需要6个子存储器就满足需要,那么对于没有使用的2个闲置子存储器,虽然可以一直正常供电,但也可以降低其供电电压或者直接关掉其供电达到省电目的,如果6 个用户使用的子存储器中的一个或多个在一定的时间内可以预期没有访问的需要但是其存储的数据需要保持,也可以降低这些没有访问需要的子存储器的供电,使之只起到保持数据的功能即可。需要注意的是,一个子存储器是否被使用或者访问,可以是动态的,而非一成不变。
[0011]在一般情况下下,单端口存储器的面积与功耗均优于多端口存储器,在本专利技术中,使用单端口存储器尤其是使用单端口的静态随机存储器(SRAM)可以在满足访问带宽的前提下节省电路面积。
附图说明
[0012]图1是子存储器基本结构图
[0013]图2是子存储器处于2倍流水线时钟频率工作结构图
[0014]图3是子存储器线程组间不平衡时分复用结构图
[0015]图4是子存储器内部空间划分图
[0016]图5是子储器分组结构图
[0017]图6是子存储器基本时序图
[0018]图7是子存储器时钟信号图
[0019]图8是子存储器可控时钟信号图
[0020]图9是子存储器处于2倍流水线时钟频率时序图
[0021]图10是子存储器不平衡时分复用时序图
具体实施方式
[0022]通常情况下,所公开的实施例在下面的说明中,给出了具体的细节,以便于透彻理解这些实施例。但是,本领域技术人员应当理解的是,这些实施例也可以不用这些具体细节来实现。尤其是关于流水线和存储器以及复用器等功能性部件,实施例中的方法只是为了说明意图而选用的特例技术,这些实施例可以选择其他公知方法。
[0023]第一实施例
[0024]图1说明子存储器基本组合结构与工作形式,包含:
[0025]位于第1级流水线的取指部件101,工作在流水线时钟;
[0026]位于第2级流水线的译码部件102,工作在流水线时钟;
[0027]位于第3级流水线的执行部件103,工作在流水线时钟;
[0028]位于第4级流水线的写回部件104,工作在流水线时钟;
[0029]子存储器1部件105是一个单端口静态随机存储器(SRAM),工作在流水线时钟频
率,通过复用选择器109连接到流水线,作为指令存储器工作;
[0030]子存储器2部件106是一个单端口静态随机存储器(SRAM),工作在流水线时钟频率,通过复用选择器109连接到流水线,作为指令存储器工作;
[0031]子存储器3部件107是一个单端口静态随机存储器(SRAM),工作在流水线时钟频率,通过复用选择器109连接到流水线,作为数据存储器工作;
[0032]子存储器4部件108是一个单端口静态随机存储器(SRAM),工作在流水线时钟频率,通过复用选择器109连接到流水线,作为数据存储器工作;
[0033]该流水线在且只在位于第1级流水线的取指部件101,访问指令存储器。通过复用选择器109读写被选中的单端口静态随机存储器。
[0034]该流水线在且只在位于第3级流水线的执行部件103,访问数据存储器。通过复用选择器109读写被选中的单端口静态随机存储器。
[0035]图6是第一实施例所对应的时序图。对于存储器1部件105,其在流水线时钟上的工作时序为,第1周期被线程组1访问,第2周期空闲,第3周期被线程组3访问,第4周期被线程组4访问,第5周期空闲,第6周期空闲,第7周期空闲,第8周期被线程组4访问。其余存储器同理如图。
[0036]图7是第一实施例所对应的子存储器时钟信号图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一个用于时分复用流水线处理器的指令或数据功能存储器的方法,特征为:处理器使用一个多级流水线,流水线的各级流水部件在同一个流水线时钟周期执行不同线程的操作;所有复用该流水线的线程根据其切入流水线的时间规律,分成多个线程组,每个线程组内的线程不会同时出现在流水线上;不同线程组支持的指令集可以相同也可以不同;指令或数据功能存储器使用多个容量相同或不同的子存储器组合而成;同一个指令或数据功能存储器的子存储器不会同时响应不同的线程组;所有线程组内的所有线程通过时分复用方式访问一个或多个指令或数据功能存储器的子存储器;子存储器访问时隙未被完全被占用时,其空闲访问时隙可以留给外设或其他设备访问,也可以保持空闲。2.如权利要求1所述的方法,还包括:子存储器的时钟周期与流水线时钟周期相同或者是流水线时钟周期的整数倍。3.如权利要求1至2所述方法,还包括:一个或多个子存储器能按需分配为指令功...

【专利技术属性】
技术研发人员:刘欣
申请(专利权)人:刘欣
类型:发明
国别省市:

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

1