[go: up one dir, main page]

CN118860511A - 解决乱序cpu访存相关性及存储块冲突的存储设计方法 - Google Patents

解决乱序cpu访存相关性及存储块冲突的存储设计方法 Download PDF

Info

Publication number
CN118860511A
CN118860511A CN202410862033.0A CN202410862033A CN118860511A CN 118860511 A CN118860511 A CN 118860511A CN 202410862033 A CN202410862033 A CN 202410862033A CN 118860511 A CN118860511 A CN 118860511A
Authority
CN
China
Prior art keywords
load
queue
instruction
storage
store
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410862033.0A
Other languages
English (en)
Inventor
胡正宇
于立国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Aowei Lingxin Technology Co ltd
Original Assignee
Shenzhen Aowei Lingxin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Aowei Lingxin Technology Co ltd filed Critical Shenzhen Aowei Lingxin Technology Co ltd
Priority to CN202410862033.0A priority Critical patent/CN118860511A/zh
Publication of CN118860511A publication Critical patent/CN118860511A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了解决乱序CPU访存相关性及存储块冲突的存储设计方法,属于乱序CPU访存技术领域,包括通过模型理论方法流程步骤,得到基本的加载队列和存储队列逻辑设计,基于得到的基本的加载队列和存储队列逻辑设计和优化后的加载队列和存储队列逻辑设计;本发明通过优化集中式的队列设计节省了互查时一半的物理绕线资源,有利于后端物理实现收敛,统一管理的队列也有利于空满的判断以及状态机的控制;并且仅对地址相同的指令进行年龄比较和检查,鉴于同地址访问的概率较小,可以大幅减少年龄比较逻辑的开启进而有效降低动态功耗;加入BSHT的设计可以提前检测出可能出现的存储块访问冲突,避免无效访问缓存的指令占用流水线资源。

Description

解决乱序CPU访存相关性及存储块冲突的存储设计方法
技术领域
本发明属于乱序CPU访存技术领域,具体涉及解决乱序CPU访存相关性及存储块冲突的存储设计方法。
背景技术
随着高性能CPU的发展和迭代,对存储的访问延迟(latency)及带宽(bandwidth)逐步成为了性能的关键瓶颈之一;为尽可能满足对CPU的并发能力及加载(load)存储(store)指令的执行效率的高要求,位于执行单元的加载和存储流水线(pipeline)数量也日益增加。
然而这带来的一系列相关的设计实现难点;第一,加载和存储指令之间的访存顺序相关性检查(dependency hazard check)的逻辑复杂性增加,面积和物理绕线(routing)资源开销过大导致难以收敛;第二,多条流水线之间对同一存储块的访问冲突(cache bankconflict)概率变大,导致指令重发(replay)的频率相应增加,流水线的效率受损进而影响到整个CPU的性能。
目前工业界的主流做法是限制加载队列(Load Queue)和存储队列(Store Queue)的深度,同时适当增加存储块的切分数量以尽可能减小冲突概率;然而较小的队列深度很大程度上限制了CPU的提前派发(outstanding)能力,进而影响了每周期指令处理数量(IPC);同时研究表明,静态随机存储器的单块宽度不宜过小,过多的存储块单元之间会带来复杂的物理绕线和拥塞(congestion)问题;一种新的概念提出将加载存储队列分块实现,从而减小单个年龄矩阵(age matrix)的大小并拆分相关性检查的逻辑,但这又会带来额外的仲裁(arbitration)分配和空满判断,容易造成逻辑冗杂和队列资源无法充分利用的现象。
发明内容
本发明的目的在于提供解决乱序CPU访存相关性及存储块冲突的存储设计方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:解决乱序CPU访存相关性及存储块冲突的存储设计方法,包括设计模型理论,所述模型理论包括以下流程步骤:
S1、首先,构建加载存储队列(LSQ),用于存储待执行的加载和存储指令;LSQ中的每个条目包含指令的地址、数据和程序年龄等信息;
S2、当一个加载指令进入LSQ时,它会与之前的加载指令进行比对,以检查是否存在乱序访存相关性;如果存在乱序访存相关性,即后序的加载指令的地址与前序加载指令相同,但程序年龄较小,则需要对后序的加载指令进行冲刷操作,将其从LSQ中移除,并重新执行;
S3、当一个存储指令进入LSQ时,它会将存储数据前递给后序访问相同地址的加载指令;可以通过在LSQ中记录存储指令的地址和数据,并在后续加载指令中进行匹配和前递操作来实现;
S4、在执行阶段,加载和存储指令可以并发执行,以提高效率;每条流水线可以同时执行加载和存储操作,并根据LSQ中的指令信息进行乱序访存相关性检查和内存消歧操作;
S5、当加载指令执行完成后,它会将加载数据写回到寄存器文件或数据缓存中;
S6、当存储指令执行完成后,它会将存储数据写入到内存中;
通过上述模型理论方法流程步骤,得到基本的加载队列和存储队列逻辑设计,基于得到的基本的加载队列和存储队列逻辑设计,通过优化方式,得到优化后的加载队列和存储队列逻辑设计,其优化方式包括以下内容:
1)使用一组对两条流水线访问共享的集中式加载队列和存储队列替代基本的加载存储队列设计逻辑的分布式做法;
2)为维持总的条目数相同,加载队列和存储队列分别包含2N和2M个条目;
3)加载队列里维护了一个存储块历史信息表格(BSHT,or Bank Set HistoryTable),存储块历史信息表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息,并以该指令的程序ID进行索引和寻址。
方案中需要说明的是,所述基本的加载队列和存储队列逻辑设计包括以下内容:
(i)由两个加载队列和两个存储队列构成,其中每个加载队列最多可以收集N个条目(entry)的加载指令,每个存储队列最多可以收集M个条目的存储指令;
(ii)每个队列条目里包含了指令的访问地址,程序年龄等信息,当新的加载或存储指令进入流水线相应阶段,都需要进入加载队列的检查逻辑进行访存乱序执行的错误检查;如果地址比对成功且条目中的指令年龄新于流水线上指令的年龄,则触发了读后读(RAR,or Read after Read)或者写后读(RAW,or Read after Write)违例,进而需要冲刷整个CPU流水线来恢复相应的寄存器状态和维护程序的正确执行顺序。
进一步值得说明的是,所述优化后的加载队列和存储队列逻辑设计在对于检查加载队列中的逻辑时,通过把地址比对的窗口移到了年龄比较逻辑的使能(enable)路径上,只有在流水线指令和条目中指令访问相同地址的前提条件下,年龄比较才会启动。
更进一步需要说明的是,所述优化后的加载队列和存储队列逻辑设计在通过存储块历史信息表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息的程序ID进行索引和寻址,其具体步骤包括:
a.当后序流水线上的加载或存储指令进入加载队列后,需要对BSHT进行遍历比对;
b.如果比对成功则说明可能发生多个访存指令同时访问相同存储块的情形,需要给该指令打上“暂停”的标签;
c.如果条目中的指令年龄更新或者BSHT检查存在冲突,则会触发提前冲刷流水线的动作。
更进一步需要说明的是,所述存储块历史信息表格由两个子表构成,第一个为指令哈希表,记录了历史上发生过存储块访问冲突的加载或存储指令哈希后的PC值,第二个为存储块ID表,记录了他们访问的存储块信息。
与现有技术相比,本发明提供的解决乱序CPU访存相关性及存储块冲突的存储设计方法,至少包括如下有益效果:
(1)通过LSQ的构造和加载指令的冲刷操作,保证了访存顺序的正确性,同时,通过存储数据的前递操作,实现了内存消歧,确保加载指令拿到正确的数据,这样可以提高系统的能效比,同时提高程序的执行效率。
(2)集中式的队列设计节省了互查时一半的物理绕线资源,有利于后端物理实现(physical implementation)收敛,统一管理的队列也有利于空满的判断以及状态机(state machine)的控制。
(3)仅对地址相同的指令进行年龄比较和检查,鉴于同地址访问的概率较小,可以大幅减少年龄比较逻辑的开启进而有效降低动态功耗(dynamic power)。
(4)加入BSHT的设计可以提前检测出可能出现的存储块访问冲突,避免无效访问缓存的指令占用流水线资源,同时提高了缓存的带宽(bandwidth)利用率。
附图说明
图1为本发明的基本的加载队列和存储队列逻辑设计示意图;
图2为本发明的优化后的加载队列和存储队列逻辑设计示意图;
图3为本发明的存储块历史表格设计示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合一些实施例对本发明做进一步解释,应该理解以下实施例旨在说明,不应被视为对本发明的限制。
请参阅图1-3,本发明提供解决乱序CPU访存相关性及存储块冲突的存储设计方法,包括设计模型理论,模型理论包括以下流程步骤:
S1、首先,构建加载存储队列(LSQ),用于存储待执行的加载和存储指令;LSQ中的每个条目包含指令的地址、数据和程序年龄等信息;
S2、当一个加载指令进入LSQ时,它会与之前的加载指令进行比对,以检查是否存在乱序访存相关性;如果存在乱序访存相关性,即后序的加载指令的地址与前序加载指令相同,但程序年龄较小,则需要对后序的加载指令进行冲刷操作,将其从LSQ中移除,并重新执行;
S3、当一个存储指令进入LSQ时,它会将存储数据前递给后序访问相同地址的加载指令;可以通过在LSQ中记录存储指令的地址和数据,并在后续加载指令中进行匹配和前递操作来实现;
S4、在执行阶段,加载和存储指令可以并发执行,以提高效率;每条流水线可以同时执行加载和存储操作,并根据LSQ中的指令信息进行乱序访存相关性检查和内存消歧操作;
S5、当加载指令执行完成后,它会将加载数据写回到寄存器文件或数据缓存中;
S6、当存储指令执行完成后,它会将存储数据写入到内存中;
通过上述模型理论方法流程步骤,得到基本的加载队列和存储队列逻辑设计,基于得到的基本的加载队列和存储队列逻辑设计,通过优化方式,得到优化后的加载队列和存储队列逻辑设计,其优化方式包括以下内容:
1)使用一组对两条流水线访问共享的集中式加载队列和存储队列替代基本的加载存储队列设计逻辑的分布式做法;
2)为维持总的条目数相同,加载队列和存储队列分别包含2N和2M个条目;
3)加载队列里维护了一个存储块历史信息表格(BSHT,or Bank Set HistoryTable),存储块历史信息表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息,并以该指令的程序ID进行索引和寻址。
通过对基本的加载队列和存储队列逻辑设计优化得到优化后的加载队列和存储队列逻辑设计,实现了集中式的队列设计节省了互查时一半的物理绕线资源,有利于后端物理实现(physical implementation)收敛,统一管理的队列也有利于空满的判断以及状态机(state machine)的控制,同时,仅对地址相同的指令进行年龄比较和检查,鉴于同地址访问的概率较小,可以大幅减少年龄比较逻辑的开启进而有效降低动态功耗(dynamicpower),并且加入BSHT的设计可以提前检测出可能出现的存储块访问冲突,避免无效访问缓存的指令占用流水线资源,同时提高了缓存的带宽(bandwidth)利用率。
进一步地如图1所示,值得具体说明的是,基本的加载队列和存储队列逻辑设计包括以下内容:
(i)由两个加载队列和两个存储队列构成,其中每个加载队列最多可以收集N个条目(entry)的加载指令,每个存储队列最多可以收集M个条目的存储指令;
(ii)每个队列条目里包含了指令的访问地址,程序年龄等信息,当新的加载或存储指令进入流水线相应阶段,都需要进入加载队列的检查逻辑进行访存乱序执行的错误检查;如果地址比对成功且条目中的指令年龄新于流水线上指令的年龄,则触发了读后读(RAR,or Read after Read)或者写后读(RAW,or Read after Write)违例,进而需要冲刷整个CPU流水线来恢复相应的寄存器状态和维护程序的正确执行顺序。
通过基本的加载队列和存储队列逻辑设计,能够通过LSQ的构造和加载指令的冲刷操作,保证了访存顺序的正确性,同时,通过存储数据的前递操作,实现了内存消歧,确保加载指令拿到正确的数据,这样可以提高系统的能效比,同时提高程序的执行效率。
进一步地如图2所示,值得具体说明的是,优化后的加载队列和存储队列逻辑设计在对于检查加载队列中的逻辑时,通过把地址比对的窗口移到了年龄比较逻辑的使能(enable)路径上,只有在流水线指令和条目中指令访问相同地址的前提条件下,年龄比较才会启动。
进一步地如图2所示,值得具体说明的是,优化后的加载队列和存储队列逻辑设计在通过存储块历史信息表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息的程序ID进行索引和寻址,其具体步骤包括:
a.当后序流水线上的加载或存储指令进入加载队列后,需要对BSHT进行遍历比对;
b.如果比对成功则说明可能发生多个访存指令同时访问相同存储块的情形,需要给该指令打上“暂停”的标签;
c.如果条目中的指令年龄更新或者BSHT检查存在冲突,则会触发提前冲刷流水线的动作。
进一步地如图3所示,值得具体说明的是,所述存储块历史信息表格由两个子表构成,第一个为指令哈希表,记录了历史上发生过存储块访问冲突的加载或存储指令哈希后的PC值,第二个为存储块ID表,记录了他们访问的存储块信息。
指令哈希表由指令的PC值作为索引,而其中存储的哈希后的PC值又会索引到存储块ID的表项;需要注意的是,多个哈希后的PC值可能会对应同一个存储块ID,在加载队列里设置了一个计数器,统计发生存储块冲突的次数,每发生一次加一,每十个时钟周期没有冲突记录则减一,当计数器记到8时,BSHT的两张子表开始分别记录PC和存储块信息,当计数器记到20时,后序的加载或存储指令需要遍历BSHT以提前判断是否有发生存储块访问冲突的风险,如果比对成功则说明可能发生多比访存指令同时访问相同存储块的情形,则需要给该指令打上“暂停”的标签,并对即将访问相同存储块的多比指令按照程序顺序依次发射。
本方案具备以下工作过程:通过使用一组对两条流水线访问共享的集中式加载队列和存储队列替代图1的分布式做法;为维持总的条目数相同,加载队列和存储队列分别包含2N和2M个条目;对于加载队列中的检查逻辑,通过把地址比对的窗口移到了年龄比较逻辑的使能(enable)路径上;只有在流水线指令和条目中指令访问相同地址的前提条件下,年龄比较才会启动;此外,加载队列里维护了一个存储块历史信息表格(BSHT,or Bank SetHistory Table);该表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息,并以该指令的程序ID进行索引和寻址;当后序流水线上的加载或存储指令进入加载队列后,需要对BSHT进行遍历比对,如果比对成功则说明可能发生多个访存指令同时访问相同存储块的情形,需要给该指令打上“暂停”的标签;如果条目中的指令年龄更新或者BSHT检查存在冲突,则会触发提前冲刷流水线的动作,以此保证访存正确且无冲突的执行。
综上:本发明相比图1的基本设计有以下几点优势:第一,集中式的队列设计节省了互查时一半的物理绕线资源,有利于后端物理实现(physical implementation)收敛,统一管理的队列也有利于空满的判断以及状态机(state machine)的控制;第二,仅对地址相同的指令进行年龄比较和检查,鉴于同地址访问的概率较小,可以大幅减少年龄比较逻辑的开启进而有效降低动态功耗(dynamic power);第三,加入BSHT的设计可以提前检测出可能出现的存储块访问冲突,避免无效访问缓存的指令占用流水线资源,同时提高了缓存的带宽(bandwidth)利用率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (5)

1.解决乱序CPU访存相关性及存储块冲突的存储设计方法,该方法包括设计模型理论,所述模型理论包括以下流程步骤:
S1、首先,构建加载存储队列(LSQ),用于存储待执行的加载和存储指令;LSQ中的每个条目包含指令的地址、数据和程序年龄等信息;
S2、当一个加载指令进入LSQ时,它会与之前的加载指令进行比对,以检查是否存在乱序访存相关性;如果存在乱序访存相关性,即后序的加载指令的地址与前序加载指令相同,但程序年龄较小,则需要对后序的加载指令进行冲刷操作,将其从LSQ中移除,并重新执行;
S3、当一个存储指令进入LSQ时,它会将存储数据前递给后序访问相同地址的加载指令;可以通过在LSQ中记录存储指令的地址和数据,并在后续加载指令中进行匹配和前递操作来实现;
S4、在执行阶段,加载和存储指令可以并发执行,以提高效率;每条流水线可以同时执行加载和存储操作,并根据LSQ中的指令信息进行乱序访存相关性检查和内存消歧操作;
S5、当加载指令执行完成后,它会将加载数据写回到寄存器文件或数据缓存中;
S6、当存储指令执行完成后,它会将存储数据写入到内存中;
通过上述模型理论方法流程步骤,得到基本的加载队列和存储队列逻辑设计,其特征在于:基于得到的基本的加载队列和存储队列逻辑设计,通过优化方式,得到优化后的加载队列和存储队列逻辑设计,其优化方式包括以下内容:
1)使用一组对两条流水线访问共享的集中式加载队列和存储队列替代基本的加载存储队列设计逻辑的分布式做法;
2)为维持总的条目数相同,加载队列和存储队列分别包含2N和2M个条目;
3)加载队列里维护了一个存储块历史信息表格(BSHT,or Bank Set History Table),存储块历史信息表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息,并以该指令的程序ID进行索引和寻址。
2.根据权利要求1所述的解决乱序CPU访存相关性及存储块冲突的存储设计方法,其特征在于:所述基本的加载队列和存储队列逻辑设计包括以下内容:
(i)由两个加载队列和两个存储队列构成,其中每个加载队列最多可以收集N个条目(entry)的加载指令,每个存储队列最多可以收集M个条目的存储指令;
(ii)每个队列条目里包含了指令的访问地址,程序年龄等信息,当新的加载或存储指令进入流水线相应阶段,都需要进入加载队列的检查逻辑进行访存乱序执行的错误检查;如果地址比对成功且条目中的指令年龄新于流水线上指令的年龄,则触发了读后读(RAR,or Read after Read)或者写后读(RAW,or Read after Write)违例,进而需要冲刷整个CPU流水线来恢复相应的寄存器状态和维护程序的正确执行顺序。
3.根据权利要求1或2所述的解决乱序CPU访存相关性及存储块冲突的存储设计方法,其特征在于:所述优化后的加载队列和存储队列逻辑设计在对于检查加载队列中的逻辑时,通过把地址比对的窗口移到了年龄比较逻辑的使能(enable)路径上,只有在流水线指令和条目中指令访问相同地址的前提条件下,年龄比较才会启动。
4.根据权利要求1或2所述的解决乱序CPU访存相关性及存储块冲突的存储设计方法,其特征在于:所述优化后的加载队列和存储队列逻辑设计在通过存储块历史信息表格记录了历史上成功访问数据高速缓存(data cache)并发生过存储块访问冲突的加载或存储指令的存储块(bank)比特信息的程序ID进行索引和寻址,其具体步骤包括:
a.当后序流水线上的加载或存储指令进入加载队列后,需要对BSHT进行遍历比对;
b.如果比对成功则说明可能发生多个访存指令同时访问相同存储块的情形,需要给该指令打上“暂停”的标签;
c.如果条目中的指令年龄更新或者BSHT检查存在冲突,则会触发提前冲刷流水线的动作。
5.根据权利要求1所述的解决乱序CPU访存相关性及存储块冲突的存储设计方法,其特征在于:所述存储块历史信息表格由两个子表构成,第一个为指令哈希表,记录了历史上发生过存储块访问冲突的加载或存储指令哈希后的PC值,第二个为存储块ID表,记录了他们访问的存储块信息。
CN202410862033.0A 2024-06-28 2024-06-28 解决乱序cpu访存相关性及存储块冲突的存储设计方法 Pending CN118860511A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410862033.0A CN118860511A (zh) 2024-06-28 2024-06-28 解决乱序cpu访存相关性及存储块冲突的存储设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410862033.0A CN118860511A (zh) 2024-06-28 2024-06-28 解决乱序cpu访存相关性及存储块冲突的存储设计方法

Publications (1)

Publication Number Publication Date
CN118860511A true CN118860511A (zh) 2024-10-29

Family

ID=93160011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410862033.0A Pending CN118860511A (zh) 2024-06-28 2024-06-28 解决乱序cpu访存相关性及存储块冲突的存储设计方法

Country Status (1)

Country Link
CN (1) CN118860511A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150095629A1 (en) * 2012-06-15 2015-04-02 Soft Machines, Inc. Method and system for implementing recovery from speculative forwarding miss-predictions/errors resulting from load store reordering and optimization
CN106406822A (zh) * 2016-09-18 2017-02-15 上海兆芯集成电路有限公司 具有改进的别名队列和存储冲突检测的处理器
CN115543442A (zh) * 2022-10-10 2022-12-30 上海壁仞智能科技有限公司 计算装置及其内存依赖管理方法和机器可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150095629A1 (en) * 2012-06-15 2015-04-02 Soft Machines, Inc. Method and system for implementing recovery from speculative forwarding miss-predictions/errors resulting from load store reordering and optimization
CN106406822A (zh) * 2016-09-18 2017-02-15 上海兆芯集成电路有限公司 具有改进的别名队列和存储冲突检测的处理器
CN115543442A (zh) * 2022-10-10 2022-12-30 上海壁仞智能科技有限公司 计算装置及其内存依赖管理方法和机器可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王陈: "基于RISC-Ⅴ的超标量处理器设计", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 12, 1 June 2024 (2024-06-01), pages 137 - 124 *
鄢传钦: "基于资源重用的嵌入式处理器指令发射机制研究", 中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑, no. 7, 15 July 2012 (2012-07-15), pages 137 - 61 *

Similar Documents

Publication Publication Date Title
Joshi et al. Atom: Atomic durability in non-volatile memory through hardware logging
CN109240945B (zh) 一种数据处理方法及处理器
US20220147404A1 (en) Method And Apparatus For Accessing Critical Resource, Computer Device, And Readable Storage Medium
CN103019955B (zh) 基于pcram主存应用的内存管理方法
WO2020073641A1 (zh) 一种面向数据结构的图形处理器数据预取方法及装置
JP5321691B2 (ja) 並列計算装置、並列計算方法、および並列計算プログラム
CN114064560B (zh) 一种面向粗粒度可重构阵列的可配置便笺式缓存设计方法
CN116680041A (zh) 面向分离式内存的多版本并发控制的事务处理系统及方法
CN111338987A (zh) 快速无效组相联tlb的方法
CN119718426B (zh) 一种用于线程间操作数跨线程读写的系统
CN104182281B (zh) 一种gpgpu寄存器缓存的实现方法
CN118860511A (zh) 解决乱序cpu访存相关性及存储块冲突的存储设计方法
CN118673026A (zh) 基于动态多线程的患者主索引构建方法和装置
CN114661756B (zh) 基于异构架构的图上两点间k跳约束下的简单路径查询系统和方法
KR102824181B1 (ko) 성능 인식 부분적 캐시 붕괴
CN109828932B (zh) 一种地址微调加速系统
JP7070384B2 (ja) 演算処理装置、メモリ装置、及び演算処理装置の制御方法
Perach et al. On consistency for bulk-bitwise processing-in-memory
CN104572506B (zh) 一种并发访问内存的方法及装置
CN102193867B (zh) 一种面向MPSoC的事务内存的实现方法
CN115237605B (zh) Cpu与gpu间的数据传输方法及计算机设备
US20230033998A1 (en) Memory system for maintaining data consistency and operation method thereof
Kokolis et al. HADES: Hardware-Assisted Distributed Transactions in the Age of Fast Networks and SmartNICs
US11836086B1 (en) Access optimized partial cache collapse
CN111190543A (zh) 一种线程间共享nvdimm存储资源的存储方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination