[发明专利]定长指令集的编解码方法及计算系统有效
申请号: | 202110322351.4 | 申请日: | 2021-03-25 |
公开(公告)号: | CN113138800B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 李颖 | 申请(专利权)人: | 沐曦集成电路(上海)有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京华睿卓成知识产权代理事务所(普通合伙) 11436 | 代理人: | 彭武 |
地址: | 201210 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定长 指令 解码 方法 计算 系统 | ||
本文公开了一种定长指令集的编解码方法及计算系统,涉及基于定长指令集实现超长指令的系统和方法。在根据本公开的一种定长指令集的编码方法中,使用固定比特长度来对指令集中的每条指令进行编码;将编码后的指令存储在系统存储器中。当固定比特长度不足以对一条指令的全部内容进行编码时,则将该条指令的一部分内容保存在数据存储器中,使得固定比特长度足以对该条指令的剩余部分进行编码以形成编码后的指令。指令集的编码长度是固定的,有利于编译器编码效率。对于需要超出固定编码长度的指令,本公开也提供了将指令编码长度进行扩展的方法,由此实现超长指令,从而有利于指令集可扩展性。
技术领域
本公开涉及计算系统中的指令集编解码,尤其涉及一种定长指令集的编解码方法及计算系统。
背景技术
随着硬件功能的增加和变化,中央处理单元/图形处理单元(CPU/GPU)等计算系统的指令集会变得非常复杂,执行长度也会增长。
现有指令集都是变长指令为主。
举例来说,AMD GCN指令集中的指令长度包含32比特、64比特。AMD GPU指令集可参见如下地址中的文档,该文档中的全部内容通过引用并入本公开中且作为本公开的一部分:
https://developer.amd.com/wp-content/resources/Vega_Shader_ISA_28July2017.pdf
图1A和1B示出了几种长度分别为32比特和64比特的指令代码结构的示意图。图1A是如上所述的AMD GCN指令集中的指令长度为32比特的五条指令的示例。图1B是如上所述的AMD GCN指令集中的指令长度为64比特的两条指令的示例。
另一个例子中,Intel的指令集长度为1-17个字节。可参考如下地址中所记载的关于Intel X86计算架构中的指令集介绍,该介绍的全部内容通过引用并入本公开中且作为本公开的一部分:
http://linasm.sourceforge.net/docs/instructions/index.php
然而,变长指令不利于程序代码对齐,也不利于编译器产生二进制代码。而且,变长指令使得CPU/GPU中的指令取出(或称取指,Instruction Fetch)、指令解码(Instruction Decoder)以及PC管理代码非常复杂。
由于指令的长度不固定,则使得跳转指令的偏移地址计算繁琐。
总的来说,现有的各种指令集中,指令长度变化非常大。这造成硬件指令读取管理复杂,带来程序PC计算、编译器编码转移地址计算等多种困难。而某些指令还有可能跨越不同缓存行(Cache lines),指令取指、译码困难,造成性能的损失。
另一方面,在GPU中,同一程序在不同的图形渲染上下文(Graphics RenderingContext),需要经常插入不同的代码来适配、或者性能优化,变长代码带来非常大的不便。
对于以上的问题,NVIDIA采取的解决方法之一是不断增加指令编码长度。另一种解决思路是将3条指令合为一组,每组增加一条64比特的控制指令。然而,以上两种解决方法都存在如下的缺点:(1)不断增加的指令长度使得取指带宽需求倍数增加;(2)指令有效利用率较低;(3)指令缓冲区倍数增加。
因此,希望能有一种在计算系统中对指令集进行编解码的方法,既能使得指令编码的长度相对固定,又能灵活地对指令编码长度进行扩展。
一个GPU芯片包含一个或者多个流处理器核心,还包含视频编解码和其他处理核心,可参见图2。
流处理器通过交叉开关矩阵或者交叉网络与二级高速缓存,及PCIe控制器进行数据的读写。二级高速缓存通过对应的存储控制器读写内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沐曦集成电路(上海)有限公司,未经沐曦集成电路(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110322351.4/2.html,转载请声明来源钻瓜专利网。