目标专利:610经配置以执行事务型存储器操作的处理器
专利公开号:CN103814354B
专利权人:高通股份有限公司
无效请求书提交日期:2026年
非显而易见性评估仅供参考,不构成法律建议。
| 编号 | 名称 |
|---|
一种用于执行存储器操作的设备,其包括: 在多个请求者之间的数据结构,其中所述数据结构包括多个数据条目和可操作以选择性地指向所述多个数据条目中的每一者的索引; 极长指令字VLIW处理器,其可操作以执行来自所述多个请求者中的VLIW指令,特定VLIW指令包含:有条件存储指令,其对所述VLIW处理器的第一存储器位置进行寻址; 以及 存储指令,其对所述VLIW处理器的第二存储器位置进行寻址, 其中所述第一存储器位置和所述第二存储器位置中的一者为所述数据结构中的数据条目及所述第一存储器位置和所述第二存储器位置中的另一者包含所述数据条目的索引; 其中不可分割地执行所述有条件存储指令和所述存储指令以使得不可分割地更新所述数据条目和所对应的索引。
根据权利要求1所述的设备,其中只有当确定存储于对应于所述有条件存储指令的地址预留寄存器处的有效位有效时所述有条件存储指令才提交。
根据权利要求2所述的设备,其中所述地址预留寄存器经配置以存储与所述第一存储器位置相关联的预留地址。
根据权利要求1所述的设备,其中所述有条件存储指令的执行提供执行成功的指示和执行失败的指示中的一者。
根据权利要求4所述的设备,其中响应于所述执行成功的指示,用对应于所述有条件存储指令的数据来更新所述VLIW处理器的至少一个存储器位置,且其中响应于所述执行失败的指示,不用对应于所述有条件存储指令的所述数据来更新所述VLIW处理器的所述至少一个存储器位置。
根据权利要求5所述的设备,其中所述VLIW处理器的所述至少一个存储器位置包含先进先出FIFO缓冲器的条目以及对应于所述FIFO缓冲器的所述条目的写入索引。
根据权利要求1所述的设备,其中所述VLIW处理器经配置以响应于执行失败的指示而重新尝试执行所述特定VLIW指令。
根据权利要求1所述的设备,其中将所述有条件存储指令和所述存储指令作为单个原子单元来不可分割地执行包括确定所述有条件存储指令和所述存储指令两者都已成功或所述有条件存储指令和所述存储指令两者都已失败。
根据权利要求1所述的设备,其中在包含所述特定VLIW指令的VLIW包中,所述存储指令先于所述有条件存储指令。
根据权利要求1所述的设备,其中所述存储指令是第二有条件存储指令。
根据权利要求1所述的设备,其中在所述有条件存储指令的执行失败时,不执行所述存储指令。
一种计算机实施的方法,其包括 执行包含事务型存储器操作的程序,所述事务型存储器操作对应于与第二存储器操作不可分割地执行的第一存储器操作,其中所述第一和第二存储器操作是在VLIW处理器处通过单个极长指令字VLIW包来执行,其中所述第一存储器操作包含有条件存储指令,其中所述第二存储器操作包含存储指令,其中所述有条件存储指令对所述VLIW处理器的第一存储器位置进行寻址,且其中所述存储指令对所述VLIW处理器的第二存储器位置进行寻址,且其中所述第一存储器位置和所述第二存储器位置中的一者为由多个请求者之间共享的数据结构中的数据条目及所述第一存储器位置和所述第二存储器位置中的另一者包含所述数据条目的索引,且执行所述程序进一步包括不可分割地更新所述数据条目和所对应的索引。
根据权利要求12所述的计算机实施的方法,其中所述第一存储器操作包含对应于所述第一存储器位置的第一存储操作,且其中所述第二存储器操作包含对应于所述第二存储器位置的第二存储操作。
根据权利要求12所述的计算机实施的方法,其中所述第一存储器操作和所述第二存储器操作是读取所述第一存储器位置处的数据和读取所述第二存储器位置处的数据的一对加载锁定指令。
根据权利要求12所述的计算机实施的方法,其中执行所述程序进一步包括确定所述第一存储器操作是否成功。
一种用于执行存储器操作的设备,其包括: 多线程处理器,其包含多个加载/存储单元,所述加载/存储单元中的每一者包含多个地址预留寄存器,其中所述地址预留寄存器包括有效位, 其中包含在所述加载/存储单元中的每一者中的所述多个地址预留寄存器中的第一地址预留寄存器经配置以存储与一对不可分割地执行的加载操作中的第一不可分割地执行的加载操作以及一对不可分割地执行的存储操作中的第一不可分割地执行的存储操作相关联的第一预留地址,其中包含在所述加载/存储单元中的每一者中的所述多个地址预留寄存器中的第二地址预留寄存器经配置以存储与所述对不可分割地执行的加载操作中的第二不可分割地执行的加载操作以及所述对不可分割地执行的存储操作中的第二不可分割地执行的存储操作相关联的第二预留地址,其中所述第一预留地址和所述第二预留地址中的一者为由多个请求者之间共享的数据结构中的数据条目且所述第一预留地址和所述第二预留地址中的另一者包含所述数据条目的索引; 其中所述一对不可分割地执行的存储操作是不可分割地执行的,以使得不可分割地更新所述数据条目和所对应的索引,且其中所述对不可分割地执行的存储操作中的至少一者是有条件存储操作。
根据权利要求16所述的设备,其中所述多线程处理器是多处理器架构中的多个处理器中的一者,且其中所述处理器中的每一者包含多个地址预留寄存器。
根据权利要求16所述的设备,其中所述多线程处理器经配置以在完成所述对不可分割地执行的加载操作和所述对不可分割地执行的存储操作之前检查所述第一地址预留寄存器和所述第二地址预留寄存器,且经配置以确定对应于所述第一地址预留寄存器和所述第二地址预留寄存器中的至少一者的数据是否已改变。
根据权利要求18所述的设备,其中所述对不可分割地执行的加载操作和所述对不可分割地执行的存储操作响应于确定对应于所述第一地址预留寄存器和所述第二地址预留寄存器中的至少一者的所述数据已改变而失败。
一种用于执行存储器操作的设备,其包括: 用于存储由多个请求者之间共享的数据结构的装置,其中所述数据结构包括多个数据条目和可操作以选择性地指向所述多个数据条目中的每一者的索引; 用于执行来自所述多个请求者中的VLIW指令的装置,其中特定VLIW指令包含:有条件存储指令,其对第一存储器位置进行寻址;以及 存储指令,其对第二存储器位置进行寻址,且 其中所述第一存储器位置和所述第二存储器位置中的一者为所述数据结构中的数据条目及所述第一存储器位置和所述第二存储器位置中的另一者包含所述数据条目的索引; 其中不可分割地执行所述有条件存储指令和所述存储指令以使得不可分割地更新所述数据条目和所对应的索引。
根据权利要求20所述的设备,其中所述用于执行VLIW指令的装置包括VLIW处理器。
根据权利要求21所述的设备,其中所述VLIW处理器是多线程VLIW处理器,且其中所述多线程VLIW处理器的多个线程中的每一者被指派给多个地址预留寄存器。
根据权利要求20所述的设备,其中所述用于存储数据结构的装置包括先进先出FIFO缓冲器和写入索引。
根据权利要求20所述的设备,其中不可分割地执行所述有条件存储指令和所述存储指令包括产生指示与所述有条件存储指令相关联的成功或失败的至少一个输出。
根据权利要求24所述的设备,其中所述用于执行VLIW指令的装置经配置以响应于所述至少一个输出指示成功而更新所述用于存储数据结构的装置处的数据。
一种用于执行存储器操作的设备,其包括: 极长指令字VLIW处理器,其包含: 缓冲器,其包含多个数据条目; 写入索引,其可操作以选择性地指向所述多个数据条目中的每一者; 加载/存储单元,其可操作以将一对加载锁定操作作为单个原子单元来执行且进一步可操作以将一对有条件存储操作作为另一单个原子单元来执行以使得不可分割地更新所述数据条目和所对应的写入索引,其中所述对有条件存储操作中的第一有条件存储操作对与所述多个数据条目中的数据条目对应的第一存储器位置进行寻址,且其中所述对有条件存储操作中的第二有条件存储操作对与所述写入索引的位置对应的第二存储器位置进行寻址。
根据权利要求26所述的设备,其中执行所述对加载锁定操作包括在所述多个数据条目中的一个数据条目处和所述写入索引处读取第一值,且其中执行所述对有条件存储操作包括在所述一个数据条目处和所述写入索引处存储第二值。
根据权利要求27所述的设备,其进一步包括用以确定在执行所述对加载锁定操作之后所述第一值是否已更改的逻辑。
根据权利要求28所述的设备,其进一步包括多个地址预留寄存器,其中所述地址预留寄存器经配置以存储各自与所述对加载锁定操作相关联的预留地址和有效位。
根据权利要求26所述的设备,其中所述VLIW处理器可操作以经由所述对加载锁定操作和所述对有条件存储操作来不可分割地执行一对加载-修改-写入操作。