CPU扫盲-CPU如何执行指令以及流水线技术

5-5中央处理器-指令流水线 影响因素(资源冲突、数据冲突、控制冲突)、性能指标(吞吐率、加速比、效率)、五段式指令流水线(运算类指令、LOAD指令、STORE指令、(无)条件转移指令、)、超标量流水线、多条指令在处理器中的执行方式、时空图、分类(部件功能级、处理机级和处理机间级流水线、单/多功能流水线、动/静态流水线、(非)线性流水线) 阅读详情

  在CPU扫盲-CPU与指令集中阐述了CPU与指令集之间的关系,并在CPU扫盲-自研指令集中以创造者的身份深入讲解了指令集,这篇文章则是针对CPU的专场,以x86架构下的CPU为例具体分析一下CPU如何执行指令。

  计算机基本硬件由控制器、储存器、运算器、输入设备、输出设备五大部件组成,其中运算器、控制器、部分储存器被集成在一起统称为中央处理单元(Central Processing Unit,CPU)。CPU 大体上可以划分为三个部分,它们是控制单元、运算单元、存储单元,他们互相配合执行一条指令。

  控制单元由指令寄存器IR( Instruction Register )、指令译码器 ID (Instruction oder )、操作控制器 OC (Operation Controller) 组成。程序被加载到内存后,指令这时都在内存中了,指令指针寄存器IP(cs:ip)指向内存中下一条待执行指令的地址,操作控制器 OC根据cs:ip的指向,将位于内存中的指令装载到指令寄存器IR中。然后指令译码器ID将位于指令寄存器IR中的指令按照指令集格式(对指令集不熟悉的可以先看下CPU扫盲-自研指令集)来解码,分析操作码和操作数,如果指令中的操作数为内存寻址,需要将内存中的数据取出暂存到储存单元。储存单元指的是CPU内部的L1/L2缓存(SRAM 缓存)以及寄存器,很多同学在感观上觉得寄存器是 CPU 直接使用的存储单元,所以寄存器比SRAM 更快 其实它们在速度上是同一级别的东西,因为寄存器和 SRAM 都是用相同的存储电路实现的,用的都是触发器,它工作速度极快,属于纳秒级别。CPU的寄存器分为可见和不可见两大类。可见就是程序可见,可以通过指令控制的寄存器如:PC寄存器、通用寄存器、段基址寄存器等;不可见的就是硬件直接使用,程序不可见不可操控的寄存器如:指令寄存器IR,L1/L2缓存也可看作特殊的不可见寄存器。


  现在操作码和操作数都准备好了,就差执行指令了,如果这个指令是加减乘除等算数运算,操作控制器OC会给运算单元发送信号执行指令;如果指令是赋值、函数调用等操作则由操作控制器 OC直接执行。就这样一条指令执行完毕,整个过程包括取码、译码、执行,接着控制单元又要取下一条指令了,流程回到了本段开头, CPU的工作就是这样一天天的重复、循环。

  上文介绍了CPU如何执行一条指令的。那接下来看下CPU是如何执行多条指令的,有同学会疑问上面不是说了嘛,执行完当前指令再去获取下一条指令不断重复循环,多循环几次不就是多条指令了嘛。注意上文的重点是CPU执行一条指令时控制单元、运算单元、存储单元之间是如何配合的,将一条指令的执行划分为取码、译码、执行三个步骤,这更像是理论,为了方便大家理解,但真正CPU厂商在设计CPU电路时会复杂的多,能将一个指令的执行划分为几十个步骤。如:x86系列CPU由于其指令不定长缘故,取码的过程就拆分成了多个小步骤,假设CPU为32位,指令指针寄存器IP(cs:ip)为 0x00000000,当前指令长24bit。

  1. 内存获取指令:由于CPU数据总线宽32bit,所以一次寻址获取32bit数据,将数据暂存SRAM 缓存
  2. 指令预处理:由于x86指令非定长,所以需要预处理,对指令进行部分译码分析出操作码判断出指令长度为24bit
  3. 存入指令寄存器IR:在32bit数据中取出有效部分存入指令寄存器IR
  4. 更新指令指针寄存器IP:当前指令长度为24bit=3字节,所以下一条指令地址应为0x00000003,更新指令指针寄存器IP为 0x00000003

  借助这个例子也想强调一下cs:ip的值在取码完成后就会被更新为下一条指令的地址,并非必须等当前指令执行完毕才更新。这个地方如果误解了后续CPU流水线技术的学习就不容易理解。

  CPU在电路设计上实现了多个独立电路,支持每个步骤独立执行,CPU 可以一边执行指令,一边取指令,一边译码。虽然CPU在同一时刻只能执行一条指令,由于cs:ip的值在取码完成后就会被更新为下一条指令的地址,所以在执行这条指令的同时可以去翻译下一条指令,同时去获取下下条指令。这样的流水线模式大大提升CPU的执行效率,下面我们用取码、译码、执行三级流水线为例来讲一下CPU的流水线技术,见下图:
​
  以上在第2周期后,虽然在一个时钟周期内 CPU 同时干了三件事,但一定要清楚,这三件事不属于一个指令,是三个指令重叠在一起了。同时完成的是当前指令的第三步、下一条指的第二步、第三条指令的第一步。 CPU 中每条指令必须经过取指、译码、执行三步才算完成。三级流水线模型就是要保证取码、译码、执行三个独立的电路始终在运行状态不要停下来。就拿周期3来说,在这一时钟周期里, CPU 同时完成了“执行”、“译码”、“取指” 三件事。其中“执行电路”处理第一条指令的执行步骤,“译码电路”处理第二条指令的译码步骤,”取指电路“处理第三条指令的取码步骤。

  如果CPU不使用流水线技术的话执行一个指令始终需要三个周期,执行10000条指令需要 10000(指令数) x 3 (单个步骤耗时) + 0(3单条指令总耗时-3单步骤耗时)=30000 个周期;在使用三级流水线技术时(如上图),将每条指令的执行划分为三个步骤,因为每条指令执行的总耗时相同都为三个周期,所以每个步骤耗时一个周期,相当于从第三个周期开始每执行一条指令只需要一个周期,执行10000条指令需要 10000(指令数) x 1 (单个步骤耗时) + 2(3单条指令总耗时-1单步骤耗时)=10002个周期;试想如果使用10级流水线技术(如下图),将每条指令的执行划分为10个步骤,每条指令执行的总耗为3周期不变的前提下,10级流水线每个步骤耗时0.3周期,相当于从第3.0个周期开始每执行一条指令只需要0.3个周期,此时执行10000条指令只需要 10000(指令数) x 0.3 (单个步骤耗时) + 2.7(3单条指令总耗时-0.3单步骤耗时)=3002.7个周期,这大大提升了CPU的性能,此时 CPU10级流水线的性能相较与CPU不使用流水线技术时的性能已经提升了一个数量级。

在这里插入图片描述

  按照上述论证,CPU的支持的流水线条数和CPU的性能是成正比的,CPU的流水线条数真的越多越好嘛?很可惜CPU的流水线条数并不是越多越好,有两个主要原因:

  1. CPU多流水线的原理是将CPU划分为多个独立电路,每个电路负责指令执行的一个步骤。流水线条数越多CPU的电路就越复杂,CPU的体积就会越大,CPU的能耗就会越高,这种高能耗CPU靠电池供电的移动设备就无法接受,因为相比性能过剩的CPU人们更看重它的续航表现,所以CPU设计人员需要在性能和功耗之间做一个很好的平衡,不能一味的追求性能。
  2. 上述CPU流水线条数和CPU性能成正比的结论是在程序指令依次执行的情况下,但当程序指令出现跳转或分支结构时就要另当别论了。比如当上图的第一条指令是jmp (无条件的转移到指令指定的地址去执行从该地址开始的命令)指令时,jmp指令会直接修改指令指针寄存器IP中的指令地址,所以当第3.0个周期jmp指令执行时,指令指针寄存器IP中的指令地址会被更新,下一条指令应该是更新后新地址的第一条指令,之前流水线中的指令二到指令十都是无效指令了,这个时候就需要清空流水线中的指令,就意味着清空所有的独立电路以及相关寄存器,这个过程显然流水线越多 耗时越多 代价越大。当然CPU也会有分支预测等手段来尽量避免这种清空流水线的情况发生(不能完全避免),但同样需要复出很大代价比如:电路更加复杂,CPU成本更高。所以CPU的流水线并不是越多越好,CPU的设计师要兼顾方方面面。
计算机组成原理——中央处理器-指令流水(课程笔记) 假设一条指令执行过程为如下5个阶段取指IF从IR或Cache中取指令译码/读寄存器ID操作控制器对指令进行译码,同时从寄存器堆中取操作数执行/计算地址EXE执行运算操作或计算地址访存MEM对存储器进行读/写操作写回WB将指令执行结果写回寄存器堆流水线的设计原则指令流水段个数以最复杂指令所用的功能段个数为准流水段的长度以最复杂的操作所花的时间为准注流水线方式并不能缩短单条指令的执行时间,但对于整个程序来说,执行效率得到了大幅提高指令长度应尽量一致。... 阅读详情

相关推荐

【CPU & GPU & TPU】机器学习扫盲篇

CPU CPU( Central Processing Unit, 中央处理器)就是机器的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。 CPU的结构主要包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、控制及状态的总线。 简单来说就是...

DreamSeeker_1314的博客 5851

计算机组成原理之CPU流水线

1、流水线的三种相关冲突 资源相关:指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。(资源相关只发生在load/store和某条指令取指在同一周期出现时。) 数据相关:RAW(写后读相关):后面指令用到前面指令数据。      WAR(读后写相关):后面指令覆盖前面所写单元。      WAW(写后写相关):两条指令写同一个单元。 控制相关:由转移指令引起。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。 例:

noveto的博客 1118

SMP/CMP/ASMP---概念扫盲

多线程和并发导致的编程陷阱很多,这些问题都是源于CPU架构的演进。从最早的单核单线程CPU到单核多线程,多核多线程,以及多路CPU的情况。 本文为个人(脑补)科普文,仅代表个人理解。 首先认识几个英文缩写 SMP    Symmetric Multi-Processing  对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构,

598

计算机组成原理-中央处理器-CPU指令和数据执行过程

2.操作控制:一条指令的功能往往是由若干操作信号组成,cpu管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件从而控制这些部件按指令要求进行动作。指令周期通常用若干机器周期来表示,机器周期又叫CPU周期,一个机器周期又包含若干时钟周期(也称节拍、T周期或cpu时钟周期,cpu操作的基本单位)3.时间控制:对各种操作加时间上的控制,时间控制要为每条指令按时间顺序提供应有的控制信号。1.指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。同一时刻只允许2个部件之间进行交换。

CyAurora的博客 3829

SAP 小结

关于SAP 开发的实习就要告一段落了,从刚开始接触,到现在已经6个月了,想要很简要的把自己对SAP的理解写出来,便于以后查阅(不定期更新)。 1. 什么是SAP? 广义的SAP,可以指代SAP公司以及SAP的各种产品,它的意义要在特定语境下才能确定。一般我们所说的SAP特指SAP ERP。 SAP ERP(enterprise resource planning)是一个企业信息系统。通过这个系

Remy的博客 1950

linux和mac安装+配置circos(

一定要下载完这两个包,GD才会work,要不然会报错,且-modules显示也是fail。官网的教程说的很明白,但是很多包都已经过时了需要在网上找。一般来讲,所有包的安装都不会太困难,除了GD。1.是因为官网给的链接下出来的tgz无法解压。2.我的电脑安装后GD照样是fail的。,进入这个地址下一个.tgz。第二点的原因在于,官网的情况。,进入这个地址,按部就班。GD安装困难有以下几点。搞了一天终于配置成功。

xiufan1的博客 549

CPU是如何执行指令的(实例讲解)

1、进行各种算数运算2、进行各种逻辑判断。

linsc_05的博客 2230

传感器:MQ-5燃气模块测量燃气值(底部附代码)

本篇文章介绍使用MQ-5燃气模块测量燃气值,CPU还是选择单片机,MQ-5主要使用的技术为ADC,燃气对于单片机来说是模拟信号,需要转换为数字信号,再经过相关计算公式将燃气模拟值转换成对应的燃气数值,便于人们方便查看。例如家庭使用燃气模块测量燃气值,如果燃气值超过一定的范围,可以外设一个报警装置,保证家庭的生命安全。(1)ADC(analog to digital converter)即模数转换器,它可以将模拟信号转换为数字信号。按照其转换原理主要分为逐次逼近型、双积分型、电压频率转换型三种。STM32F1

Mr_zhang1911116的博客 1万+

CPU扫盲

CPU扫盲 文章目录CPU扫盲指令集指令集概念指令集架构CPU和指令集的关系CPU如何执行指令以及流水线技术指令系统组成地址空间操作数指令操作和编码CPU如何执行一条指令CPU如何执行多条指令RISC-V指令集架构寄存器RSIC-V32I 寄存器说明RAISC指令比较指令格式比较寻址方式比较公共指令功能RAISC常见指令类型基础整数指令算数运算类指令逻辑运算指令移位运算累指令位操作指令转移指令普通访存指令(数据传输指令)条件分支指令边界检查访存指令内存屏障指令基础浮点指令特权指令伪指令RISCV一些关注的信

yanlei980827的博客 697

手把手教你学Simulink——基于Simulink的变换器老化预测与数字孪生(Digital Twin)

这不仅是技术的演进,更是从“事后救火”到“事前预言”的降维打击。:通过本文的实战演练,你不仅掌握了功率变换器“电气-热-老化”多物理场耦合的建模哲学,更深刻领悟了如何将高深的随机过程(粒子滤波)降维成可落地、可量产的工程工具;:起初,由于数据量少,粒子滤波器预测的剩余寿命(RUL)置信区间(95%)非常宽泛(如 1000~2000小时)。在工业4.0与智能制造的浪潮下,功率变换器(如光伏逆变器、车载OBC、服务器电源)不再是孤立的硬件,而是具备“自我感知”与“寿命预知”的智能节点。

MHD0815的博客 296

视觉Transformer实战 | 将卷积引入视觉Transformer(CvT)

CvT 是一种融合卷积神经网络与 Vision Transformer 优势的视觉模型,旨在解决 ViT 缺乏平移不变性和局部性等归纳偏置的问题。CvT 采用分层结构逐级降采样,使用卷积词元嵌入代替传统 patch 切分,引入卷积投影替代线性投影。这些设计使得 CvT 能够去除位置编码,在高分辨率输入下表现更优。本节深入解析 CvT 的核心原理,并提供完整的 PyTorch 代码实现,演示如何在实际数据集上训练和评估 CvT 模型。

盼小辉丶的博客 724

CPU扫盲-自创指令集难吗?

这篇文章则是针对指令集的专场,指令集顾名思义就是一套指令的集合。创造指令集并不难,难的是如何将指令集推广,那这篇文章我们就从创作者的角度去理解它,我们尝试创造一个只包含几个指令的指令集。当然这篇文章的目的不是摒弃全部现有指令集概念完全闭门造车,而是站在现有指令集概念的肩膀上从创造者的角度去更深入的理解它。

yangxiaofei_java的博客 2904

华为OD机试真题 新系统【网络数据包收发处理】

华为OD机试 新系统真题【网络数据包收发处理】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【网络数据包收发处理】多语言题解。

qq_45776114的博客 442

【笔记11】个人扫盲:内存与CPU中的核、线程、物理CPU、逻辑CPU

文章目录CPU与内存CPU内存什么是通道常见问题物理CPU和逻辑CPU常见问题LINUX查看WINDOW查看 CPU与内存 CPU CPU(Central Processing Unit)即中央处理器。CPU从内存(Memory)或缓存(Cache)中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成系统指令的执行。 CPU里包含计算单元(...

occamo的博客 5874

2025美赛E题为农业留出空间(附代码+全保姆教程)Making Room for Agriculture

有机农业的核心在于减少化学投入,促进自然控制和可持续性。变量定义CCC: 作物种群III: 害虫种群PPP: 天然捕食者种群(蝙蝠、鸟类等)BBB: 生物多样性水平(以种类数量表示)SSS: 土壤健康指数(影响植物繁殖与作物生长)EEE: 农业生态系统的整体稳定性。

博客 1494

SAP 采购员参数及权限配置

若要控制采购员的参数缺省值或者权限,可以通过以下方式实现: 1、定义采购员缺省值(EVO) 路径:后台----物料管理---采购---环境数据---定义采购员的缺省值 点击图标,显示如下,查看参数配置ID: 查询到配置“定义采购员的缺省值”是通过ID “EVO”来配置的。进入页面建立配置: 按照需要配置新条目: 事务代码SU01进入用户配置页面,在用户“参数”页面配置前面设...

willieyuan的博客 7598

CPU知识扫盲 (不错珍藏)

Intel公司的X86序列CPU以及其它公司所生产的兼容产品,是目前世界上个人电脑中装机最多的芯片。每当各种媒体介绍或评价这类CPU时,经常会提到诸如“流水线”、“乱序执行”和“分枝预测”等专业术语,尽管不少朋友也知道这些都是C...

cuiqi1238的博客 280

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

单核cpu 高速缓存_电脑CPU如何选购?台式机CPU知识扫盲和选购建议

CPU在电脑中是最核心关键的硬件之一,相当于人的大脑,决定了电脑运算能力,因此CPU的选择至关重要。电脑CPU如何选购?下面装机之家分享一下台式机CPU知识扫盲和选购建议,本文将会从 几个重要的参数、家用、游戏、图形渲染等几方面来详细讲解有关CPU的选择问题。电脑CPU如何选购?台式机CPU知识扫盲和选购建议CPU有几个重要的参数:架构、主频、核心、线程、缓存、接口。架构:有句老话叫“抛...

weixin_29029731的博客 108

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

单核cpu 高速缓存_电脑CPU如何选购?CPU知识扫盲和选购建议

CPU在电脑中是最核心关键的硬件之一,相当于人的大脑,决定了电脑运算能力,因此CPU的选择至关重要。电脑CPU如何选购?下面装机之家分享一下台式机CPU知识扫盲和选购建议,本文将会从 几个重要的参数、家用、游戏、图形渲染等几方面来详细讲解有关CPU的选择问题。 CPU有几个重要的参数:架构、主频、核心、线程、缓存、接口。架构:有句老话叫“抛开架构看核心主频都是耍流氓”,那什么是架构?假如我们把架构...

weixin_30609645的博客 348

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机 (常识) 扫盲知识

本文系统介绍了计算机基础知识和编程语言概念。主要内容包括:1.编程语言的本质是人与计算机沟通的工具,目的是让计算机按照人类逻辑工作;2.计算机硬件组成(CPU、内存、硬盘等)及其工作原理,操作系统作为软硬件协调者的作用;3.计算机启动流程和应用程序运行原理;4.编程语言分类(机器语言、汇编语言、高级语言)及特点比较。文章从底层硬件到上层软件,构建了完整的计算机系统认知框架,为编程学习打下理论基础。(149字)

2601_96367168的博客 207

灵魂拷问1的答案之点个赞?

兄弟们,不详细解释原因有2⃣️: 一则,我本身目标是不求甚解,目前处于入门扫盲阶段 二则,不详细的解答另一角度来说起到提纲挈领、耐人寻味、引人入胜的奇效 #1 一句话什么是计算机?主机?外设?能用一张图描述么? 与我而言,计算机就是 由硬件,软件,输入输出集成的一个能完成指令的机器系统。 主机 就是 【cpu】+ 【内存】构成的统一体。 外设 就是【除了 主机之外的部件】。 #2 什么是cpu?cpu的几大组成?长什么样?能画出来么? CPU中文为计算处理单元,由4部分组成:1.运算器(compu

万物琴弦存于你的泡沫之中,光锥之外 9426

GPU扫盲

这篇文章不涉及GPU的具体原理, 仅做大概描述, 将其与CPU区别说明白就好.

烟草的香味的博客 570

HTTP扫盲及nginx基础性模块常用指令整理

第一部分:HTTP基础知识在介绍nginx常用模块中的指令时,先来回顾一下http的相关知识:1、http的工作原理http的工作原理大致是这样的:a)、客户端与服务器先建立一个TCP连接;b)、客户端通过已建立的TCP连接向服务端发送一个http请求报文;c)、服务器收到请求报文后开始解析报文、定位所请求的资源,读取资源并封装成响应报文后发送给客户端;d)、如果没有启用持久...

weixin_34367845的博客 229

Nvidia计算卡扫盲

与2080Ti的对比上,除了int8整型有较为明显的速度提升(4倍多),单精度与版精度相差不大;就训练而言,可选择的不多,P100,V100,A100,个人开发者几乎玩不了;A系架构,只有A100有显著提升;其他有所提升,但还是在同一个数量级;模型推理时,单精度情况下,上表中,除了A系架构,主流显卡均差距不大;都有自己的控制单元,寄存器,缓存,指令流水线。,一个CUDA核心,相当于一个微型CPU;

automannn 3542

电脑DIY扫盲贴总目录

CPU类 1. ES版的CPU 2. CPU与内存同步(异步)超频 3. CPU的CnQ技术 4. 扣肉CPU 5. DIY领域中的OC 6. CPU外频和CPU的总线频率之间的关系 7. AMD的H-T总线 8. CPU主频 9. CPU核心类型 10. CPU接口类型 11. CPU针脚数 12. CPU封装技术 ...

weixin_33805743的博客 1260

GPU相关知识整理——AI扫盲

在模型并行中,计算任务被划分为不同的“操作”或“层”,每个计算单元处理不同的层或操作,适用于模型的大小超出了单个计算单元的内存限制。:内存管理——合理使用各种内存(如全局内存、共享内存、常量内存、纹理内存等)可以大大提高计算性能,线程同步——是确保多线程程序正确执行的关键,原子操作(执行中不会被其他线程打断)可以确保线程之间的安全数据访问。:主要包括显存(是GPU主要内存,是GPU与主机内存RAM间的独立存储区域)、帧缓冲区、常量缓冲区和着色器常量、纹理内存、计算内存、寄存器、全局内存和共享内存。

supernova121的博客 786
上一篇: CPU扫盲-自创指令集难吗?
下一篇: 特权级那些事儿-实模式下分段机制首次出现的原因
躺平程序猿
博客等级 码龄8年 4870粉丝 71原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺平程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值