[发明专利]用于可变长度整数译码的指令集在审
申请号: | 201780057071.7 | 申请日: | 2017-08-15 |
公开(公告)号: | CN109716291A | 公开(公告)日: | 2019-05-03 |
发明(设计)人: | J·D·吉尔福德;V·戈帕尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉;钱慰民 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解码 解码指令 指令集 可变 指令 编码指令 长度整数 尺寸指令 单个指令 译码 处理器架构 方法和装置 指令集架构 八位位组 尺寸编码 长度量 架构 关联 | ||
用于可变长度整数(varint)译码的指令集以及相关联的方法和装置。这些指令集包括用于对varint进行编码和解码的指令,并且可被包括作为用于诸如基于x86和基于Arm的架构之类的处理器架构的指令集架构(ISA)以及其他ISA的部分。在一个方面中,指令包括:varint尺寸编码指令,用于对varint的尺寸进行编码;varint编码指令,用于对varint进行编码;varint尺寸解码指令,用于对经编码的varint的尺寸进行解码;以及varint解码指令,用于对经编码的varint进行解码。varint编码尺寸指令和varint编码指令可被组合在单个指令中。类似地,varint解码尺寸指令和varint解码指令可被组合在单个指令中。在一个方面中,指令使用可变长度量(VLQ)编码方案,在该方案下,varint被编码为一个或多个八位位组。
诸如谷歌、脸书、微软和亚马逊之类的公司大规模地处理数据。用于云计算和大型互联网服务的计算平台通常被托管在大型数据中心中,该大型数据中心被称为仓库规模计算机(WSC)。此类仓库规模计算机的设计挑战相当不同于传统服务器或托管服务的那些设计挑战,并且并强调跨数千个计算节点的互联网规模服务的系统设计,以用于大规模的性能和成本效率。它们的数据处理中的很大一部分涉及处理大型整数。
最近,谷歌的研究人员发表了论文(Kanev,Svilen等,“Profiling a warehouse-scale computer(对仓库规模计算机进行概况分析)”.2015年ACM/IEEE第42届国际计算机架构研讨会(ISCA).IEEE,2015),他们在该论文中报告了关于大约三年时间中一系列谷歌生产集群的工作负荷的概况分析信息。尽管研究人员在应用内发现了某种热点行为,但他们标识出构成总数据中心周期中的很大部分的跨应用的公共程序。这些热点中的大部分在功能上对于执行超越单个机器的计算是唯一的——称为“数据中心负担(tax)”的组件,诸如,远程程序调用、协议缓冲器串行化和压缩。研究人员推测,此类“负担”呈现用于微架构优化(例如,核内和核外加速器)的有趣的机会,其可被应用到未来的数据中心优化的服务器芯片上系统(SoC)。
如图1中所示,WSC周期中的22-27%在数据中心负担的不同组件中被花费。这之中为协议缓冲器处理和管理。根据前述论文,协议缓冲器(Protocol buffer)是用于谷歌内部数据存储和传输的公共语言。针对WSC的代码中最常见的习惯之一是将数据串行化到协议缓冲器,在将经串行化的协议缓冲器传递给远程被调用方时执行远程程序调用,并得回需要解串行化的类似经串行化的响应。术语“串行化”是指将结构化的数据转换为字节流,通常用于存储或用于通信。逆操作被称为“解串行化”,但谷歌将其称为“解析”。串行化/解串行化代码由protobuf编译器自动地生成,使得编程者能够以他们选择的语言与原生的类进行交互。所生成的代码是图1中所示出的protobuf部分的主要部分。
附图说明
随着通过在结合所附附图时参考以下具体实施方式使本发明的前述多个方面和许多伴随的优点变得更好地被理解,本发明的前述多个方面和许多伴随的优点将更容易领会,其中,遍及各个视图,除非另外指定,否则相同的附图标记指相同的组件:
图1是图示出根据由谷歌进行的关于其服务器的测量的数据中心“负担”的级别的图示;
图2是图示出被用于对可变长度量(VLQ)字节进行编码的编码格式的示图;
图3a和图3b是图示出VLQ编码的示图,其中,图3a对应于使用高位优先字节次序对整数进行编码,并且图3b对应于使用低位优先字节次序对整数进行编码;
图4是图示出varint编码尺寸指令应用到varint 106903的结果的示图;
图5a-图5c是图示出与应用到varint 106903的varint编码指令的执行有关的各种操作的示图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780057071.7/2.html,转载请声明来源钻瓜专利网。