计算机原理与应用第一章——微型计算机系统概述

微型计算机的结构和工作过程

一、计算机组成和基本工作原理

先认识冯诺依曼结构

在这里插入图片描述
特征:

  • 由运算器、储存器、控制器、输入和输出设备组成。
  • 数据和程序以二进制代码形式表示,不加区别地存放在同一存储器中。
  • 按存储程序原理工作。编写好的程序(包括指令和数据)首先由输入设备输入并保存在存储器中,计算机工作时由控制器自动地依次从存储器中取出指令序列(即程序)并加以执行。

在这里插入图片描述

然后是改进的冯诺依曼结构——哈佛结构

与原先相比,有两处最大的不同,即

  • 独立的存储器模块分别存储指令和数据(而不是不加区别地存放),实现并行处理。
  • 有两套独立的地址和数据总线,分别作为CPU与每个存储器之间的专用传输路径。

二、微型计算机结构

由四部分组成:与之前相比,运算器和控制器统称微处理器,系统总线作为一个部分。
在这里插入图片描述

1. 微处理器

   利用超大规模集成电路技术把运算器和控制器集成在一片硅片上形成微处理器,即Microprocessor或CPU。一般由算术逻辑单元、累加器和通用寄存器组、程序计数器、数据地址锁存器/缓冲器、时序和控制逻辑部件及内部总线等组成。
中央处理器:运算器和控制器合在一起称中央处理器。)
在这里插入图片描述

微处理器基本功能:

  • 进行算术和逻辑运算
  • 暂存少量数据(不是只有存储器可以存数据哦)
  • 对指令译码并执行指令所规定的操作
  • 与存储器和外设进行数据交换的能力
  • 提供整个系统所需要的定时和控制信号
  • 响应其它部件发出的中断请求

下面是一个8位微处理器模型机结构,对其做分析
在这里插入图片描述

  • 算术逻辑单元ALU:进行各种算术运算和逻辑运算。不同计算机系统的ALU功能差别很大,低档的CPU不能用硬件来完成乘法、除法的运算。

  • 累加器和通用寄存器组:保存参加运算的数据和运算的中间结果。累加器是特殊的寄存器,它既向ALU提供操作数,又接收ALU的运算结果。

  • CPU中有一些专用寄存器,如程序计数器PC、堆栈指针SP和标志寄存器FR等。

  • 程序计数器PC:用来存放下一条要执行的指令地址,它控制着程序执行的顺序。由于指令一般是顺序存放的,所以程序计数器还有自动加1的功能。如果程序顺序执行时,每取出一字节指令后,PC的内容自动加1。如果程序发生转移时(如主程序调用子程序,执行转移指令等),必须把新的目的地址装入PC,使PC指向转移的目标地址。

  • 堆栈指针SP:用来存放栈顶地址。堆栈是一种特殊的存贮区域,按照“先进后出”的原则工作。

  • 标志寄存器FR:存放指令执行结果的特征和处理器的状态。

  • 指令译码器:对指令进行译码,产生相应的控制信号送至时序和控制逻辑电路,组合成外部电路工作所需要的时序和控制信号。这些时序和控制信号送到微型机的相应部件,控制这些部件协调工作。

2. 存储器

   存储器是用来存储数据、程序的部件。存储器分类方法很多,按照存储器与CPU的关系,分为内存储器(主存)外存储器(辅存)

  • 内存储器是由CPU直接随机存取的存储器。其特点是:存取速度比外存储器快,具有体积小,集成度高,外部电路简单等优点,但其容量较小。不过,现在的微型计算机的内存储器容量也可以达到8GB以上。
  • 外存储器不能由CPU直接访问,其特点是:存储容量大,成本低,数据能长期保存,非易失性,但速度慢。目前主要外存有硬盘、光盘等。

   为协调速度、容量、成本之间的关系,目前各类计算机系统广泛采用由高速缓冲存储器、内存储器和外存储器组成的三级存储结构。

简单存储器结构:
在这里插入图片描述

3. 输入/输出设备和接口

   输入/输出设备是指微型计算机上配备的外部设备或外围设备,简称外设,通过外设来实现微型计算机的输入/输出。
   用户的程序和数据通过输入设备输入微型计算机。微型计算机的处理结果通过输出设备送出去。常用的输入设备有键盘、鼠标、触摸屏、扫描仪等;常用的输出设备有显示器、打印机、绘图仪等。由于外部设备的结构、工作原理、速度、信号形式等各不相同,所以,它们不能直接挂接到系统总线上。为适应不同外部设备的需要,必须在CPU和外设之间增加输入/输出适配器,即I/0接口,所以I/0接口是微型计算机的重要组成部件。

4. 系统总线

   总线是指传递信息的一组公用导线/公共通道:

  • 地址总线(Address Bus): 传送地址信息的信号线。地址总线的位数决定了CPU可以直接寻址的内存空间的大小。因为地址通常是从CPU发出的,所以地址总线是单向的、三态总线。单向指信息只能沿一个方向传送,三态指除了输出高、低电平状态外,还可以处于高阻抗状态(浮空状态)。
  • 数据总线(Data Bus) :传送数据信息的信号线(双向、三态)。数据总线是双向三态总线,即数据既可以从CPU送到其它部件,也可以从其它部件传送给CPU,数据总线的位数和处理器的的位数相对应。
  • 控制总线(Control Bus): 传送控制信号的一组总线。这组信号线比较复杂,由它来实现CPU对外部功能部件(包括存储器和I/0接口)的控制及接收外部传送给CPU的状态信号,不同的微处理器采用不同的控制信号。控制总线的信号线,有的为单向,有的为双向或三态,有的为非三态,取决于具体的信号线。

三、微型计算机工作过程

1. 理解各部分合作的工作过程

大概来说,微机的工作过程乃一循环过程:从存储器里取指令——分析指令(指令译码)——执行指令—— 从存储器里取指令——…

指令流水线:
CPU的主要功能就是取指令、对指令进行译码和执行指令。传统结构CPU执行程序时,取指令与执行指令交替进行,而后为提高CPU的工作效率,采用了指令流水线技术,各个部件并行工作,减少了指令的平均执行时间。此时,PC指向正被取指的指令,而非正在执行的指令。
在这里插入图片描述

2. 两种微处理器——CISC与RISC

(1)CISC——复杂指令集计算机(Complex)

   主要特点:指令集庞大,指令的长度不相同,指令译码步骤较复杂等。

   从计算机诞生以来,人们一直沿用CISC指令集方式,在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。使用CISC方式,高级语言编程方便。

(2)RISC——精简指令集计算机(Reduced)

   主要特点:简化指令功能,指令集中只包含使用频度高、功能简单、能够在一个节拍内执行完成的指令,将较复杂的功能用一段子程序来实现,大量使用寄存器,优化 CPU的控制逻辑,提高程序执行的速度。

   RISC能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢,所以RISC的指令集精简,执行速度块。

   但是提高速度的同时也存在问题:软件开发变得复杂,相同的任务必须编写更多的程序来完成;性能依赖于编译器的有效性等。

更细致的区别如下:

CISCRISC
指令系统计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。(指令长度不固定注重那些经常使用的指令,对不常用的功能,常通过组合指令来完成。在RISC 机器上实现特殊功能时,效率可能较低,但可以利用流水技术和超标量技术加以改进和弥补。(指令长度固定
存储器操作机器的存储器操作指令多,操作直接。对存储器操作有限制,使控制简单化。
程序汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易,效率较高。汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计。
中断机器是在一条指令执行结束后响应中断。机器在一条指令执行的适当地方可以响应中断。
CPUCPU包含有丰富的电路单元,因而功能强、面积大、功耗大。CPU包含有较少的单元电路,因而面积小、功耗低。
设计周期微处理器结构复杂,设计周期长。微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术。
用户使用微处理器结构复杂,功能强大,实现特殊功能容易。微处理器结构简单,指令规整,性能容易把握,易学易用。
应用范围机器则更适合于通用机。由于RISC指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机。
价格芯片成本高芯片成本低
高级语言支持硬件完成软件完成
寻址模式复杂的寻址模式支持内存到内存寻址简单的寻址模式,仅允许LOAD和STORE指令存取内存,其他的操作都基于寄存器到寄存器
寄存器数目

3. 微型计算机的分类

(1)从微型计算机的结构形式来分,可将其分为单片机、单板机和多板机。

  • 单片微型计算机(即单片机) 是把微型计算机的主要部件CPU、一定容量的存储器、I/O接口及时钟发生器集成在一块芯片上的单芯片式微型计算机。广泛应用于工业控制、智能仪器、仪表等领域,因此单片机通常也被称为微控制器。单片机的发展直接利用了微处理器发展的成果,经历了从8位、16位到32位,再到目前的64位单片机。这之中的ARM架构越来越占据主导地位,广泛应用在通用、专用微控制器中。

  • 单板微型计算机(即单板机) 是将微处理器、一定容量的存储器、输入/输出接口、简单的外部设备(键盘、LED显示器)、辅助设备通过总线装配在一块印刷电路板上的微型计算机。主要用于实验室以及简单的控制场合。

  • 多板微型计算机(即系统机) 是将单板机模块、存储器模块和I/O接口等模块组装在一块主机板上,通过主机板上的系统总线和各种外设适配器连接键盘、显示器、打印机、光驱、软/硬盘驱动器,再配上电源,并将主机板、软、硬盘驱动器等安装在同一机箱内,适配器、适配卡插在总线扩展槽上,通过总线相互连接,就构成多板微型计算机,配上系统软件即构成微型计算机系统。个人计算机就是多板微型计算机系统。

(2)按照微型计算机数据总线的宽度(在一次操作中所能传送的二进制位数的最大值)来进行划分,可分为4位、8位、32位、64位机。

(3)按照微型计算机的应用,又可将微型机分为通用机专用机

    专用微型计算机的逻辑结构是根据具体应用、算法特点进行设计的,以满足快速响应的要求,具有有效、经济、快速的特点。通用机配置有完善的系统软件和外部设备,一般用于信息处理和科学计算,其适应性强。

四、微型计算机系统

1. 定义和组成

以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。
在这里插入图片描述

2. 微型计算机的性能指标:

  • 字长:微型计算机能够直接处理的二进制数据的位数,反映一台机器的计算精度。字长越长,能表示数值的有效位数越多,在同样的运算速度下,精度也就越高。目前微型计算机的字长已达64位。
  • 主存容量:主存贮器所能存贮的信息总量为主存容量。是衡量计算机处理能力大小的一
    个重要指标。主存容量越大,能储存的信息就越多,处理能力就越强。表示主存容量有两种方法:用字节数表示,或用单元数×字长表示。
  • 主频:计算机内部有一个按某一频率产生的时钟脉冲信号,称为主时钟信号。主时钟信号的频率称为计算机的主频,是用于协调计算机操作的时钟信号。主频决定了计算机的处理速度,频率越高,处理速度越快。目前微型机的主频已接近3GHz。
  • 运算速度:运算速度是指计算机每秒钟运算的次数。计算机执行不同的操作,所需的时间不同,所以对运算速度存在不同的计算方法。早期以加法操作所需的时间为准,后来又以进行加法、乘法、除法的平均时间为准。现在普遍采用的方法是根据指令使用的频度和每一种指令的执行时间来计算得出平均速度,以此来衡量计算机的运算速度。
  • 系统可靠性:指计算机系统在规定的时间和工作条件下正常工作而不发生故障的概率。计算机系统的可靠性含系统的可维护性和可用性,三者构成计算机系统的可靠性指标。
  • 系统的兼容性:兼容性指一种计算机中的设备和程序可以用于其他多种系统中的性能, 分硬件兼容和软件兼容。
  • 性能价格比:是计算机产品性能优劣的综合性指标。包括计算机硬件和软件的各种性能。

3.嵌入式系统

  微型计算机系统又可分为面向各种应用的通用微型计算机系统面向专门应用的嵌入系统

(1) 通用微型计算机系统

  我们在办公、科学计算、日常生活等中使用的个人计算机系统就是典型的通用微型计算机系统。通用微机是以各种标准化硬件为基础,并配以各种操作系统和软件来满足人们的各种应用需求。

(2) 嵌入式系统概念

  定义为以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。可称其为是嵌入到应用对象体系中的专用计算机系统。嵌入式系统具有针对性、实时性强以及高可靠性、系统精减等特点。

  嵌入式系统软件要求固件化,并且大多数应用中要求系统软件具有实时处理能力。这是与通用微机在系统软件 和应用软件方面的不同点。同时嵌入式系统的开发必须有一套开发工具和环境。它本身不具备自开发能力,并且设计开发完成后用户通常也不能对其中的程序功能进行修改

  嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统(比如冰箱、MP3这种有着专用功能的系统)。术语 “嵌入式” 反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。

组成
在这里插入图片描述

嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统及用户应用程序组成。
• 硬件以微处理器为核心集成存储器和系统专用的输入/输出设备
• 嵌入式微处理器大多工作在为特定用户群所专门设计的系统中,所以它与通用微处理器(CPU)最大的不同是将在通用微机中的一些由板卡完成的任务集成在了芯片内部即嵌入式微处理器将CPU、一定容量的存储器、I/O接口及时钟发生器等集成在了一块芯片上,属于上述我们所介绍的微型计算机分类中的单片微型计算机。
• 软件包括:初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在一起,形成系统特定的一体化软件。
在这里插入图片描述

(3) 比较
在这里插入图片描述

4.嵌入式系统的处理器——ARM处理器

  嵌入式微处理器有各种不同的体系,即使相同的体系也可能具有不同的数据总线和时钟频率,集成了不同的外设和接口。目前主流的嵌入式微处理器有基于ARM公司ARM核的ARM处理器、MIPS公司的MIPS处理器、摩托罗拉公司和IBM公司联合开发的PowerPC处理器和Intel Atom处理器。

  因本书主要以嵌入式ARM处理器为模型来介绍微处理器的工作原理及应用,所以下面简要介绍ARM处理器的体系及分类。

  ARM公司是Advanced RISC Machines的缩写(注意是RISC哦,就是精简系统),它是一家微处理器企业。ARM公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。
在这里插入图片描述
ARM处理器体系的3个基本元素:ARM体系结构的版本、ARM处理器的各系列家族、同一系列中的各ARM处理器核。

  • ARM体系结构(Architecture) 是一款具体的ARM处理器的基础。对开发者来讲,首先感觉到的就是不同的体系结构使用的指令集不同。包括:ARMv4架构,ARMv5架构,ARMv6架构,ARMv7架构。(有命名规则,可查)
    (ARM处理器系列中的各种处理器的实现技术各不相同,性能差别很大,其适用的应用也不同,但是只要它们支持相同的ARM体系版本,基于它们的应用软件将是兼容的)

  • ARM处理器核:ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex。ARM6核以及更早的系列已经很罕见了。当前应用比较多的ARM处理器核系列有:
    在这里插入图片描述
    在这里插入图片描述

五、计算机中数的表示与编码

1.复习进制及转换

2.带符号数的表示

基本名词

无符号数:机器中的全部有效位均用来表示数的大小,例如:N=01001 表示无符号数 9
带符号数 :机器中,最高位作符号位 ( 数的符号用 0、1表 示 ) , 其余位为数值位。
机器数:一个二进制数连同符号位在内作为一个数,叫机器数,也就是机器数是机器中数的表示形式。常用的机器数表示方法有原码、反码、补码
真值:机器数所代表的实际数值,一般写成十进制数的形式。

原码、反码、补码

(1)原码

正数的符号位用 0 表示, 负数的符号位用 1 表示, 数值部分用真值的绝对值来表示的二进制机器数称为原码。用 [ X ] 原 [X]_原 [X]表示, 设 X 为整数。

例:写出 x1 = +1010100B 和 x2 =-1010100B 原码表示的机器数。
解:原码表示的机器数: [ x 1 ] 原 = 01010100 , [ x 2 ] 原 = 11010100 [x1]_原= 01010100 ,[x2]_原= 11010100 [x1]=01010100[x2]=11010100

原码特点
(1)表示简单、直观。
(2)0 的表示不唯一,即真值 0 有两种不同的表示形式,+0 或 -0。 [+0]原=000…0 [-0]原=100…0
(3)加、减法运算复杂。例如进行原码加法,必须首先判断数的正负,再决定使用加法,还是减法,才能进行具体的计算。

(2)反码

正数的反码与其原码相同,最高位为 0 表示正数,其余位为数值位;负数反码符号位为1,数值位为其原码数值位按位取反。反码用 [ X ] 反 [X]_反 [X]表示。
例:写出+4、-4、+0、-0、+127、-127 反码表示的机器数。
解:
[ + 4 ] 反 = 00000100      [ − 4 ] 反 = 11111011 [+4]_反=00000100 \ \ \ \ [-4]_反= 11111011 [+4]=00000100    [4]=11111011
[ + 0 ] 反 = 00000000      [ − 0 ] 反 = 11111111 [+0]_反=00000000 \ \ \ \ [-0]_反=11111111 [+0]=00000000    [0]=11111111
[ + 127 ] 反 = 01111111      [ − 127 ] 反 = 10000000 [+127]_反=01111111 \ \ \ \ [-127]_反=10000000 [+127]=01111111    [127]=10000000

(3)补码

数的补码与模有关。“模”是指一个计数系统的计数量程。任何有模的计量器, 均可化减法为加法运算。

例如时钟的模为 12,若准确时间为 6 点, 而当前时钟却指向 10 点,这时可以使用两种方法来调整时钟时间:一是倒拨时针 4 小时, 即 10-4=6;还可正拨时针 8 小时, 即10+8=12+6=6。可见, 在以 12 为模的系统中, 加 8 和减 4 的效果是一样的, 即-4=+8(mod 12)

定义 [ X ] 补 = 2 n + X [X]_补=2^n + X [X]=2n+X
——当 X≥0 时,2n 丢掉,得 [ X ] 补 = [ X ] 原 [X]_补=[X]_原 [X]=[X],所以正数的补码与其原码相同。
——当 X<0 时, [ X ] 补 = 2 n + X = 2 n − ∣ X ∣ = [ X ] 反 + 1 [X]_补=2^n+X= 2^n-|X|=[X]_反+1 [X]=2n+X=2nX=[X]+1

例:写出+4、-4、+127、-127、-128 的 8 位补码机器数。
解: [ + 4 ] 原 = [ + 4 ] 反 = [ + 4 ] 补 = 00000100 [+4]_原=[+4]_反=[+4]_补=00000100 [+4]=[+4]=[+4]=00000100

[ − 4 ] 原 = 10000100        [ − 4 ] 反 = 11111011 [-4]_原 = 10000100 \ \ \ \ \ \ [-4]_反 = 11111011 [4]=10000100      [4]=11111011
[ − 4 ] 补 = [ − 4 ] 反 + 1 = 11111011 + 1 = 11111100 [-4]_补 = [-4]_反+1=11111011 +1=11111100 [4]=[4]111111011+1=11111100

[ + 127 ] 补 = 01111111      [ − 127 ] 补 = 10000001 [+127]_补=01111111 \ \ \ \ [-127]_补=10000001 [+127]=01111111    [127]=10000001
[ − 128 ] 补 = 10000000 [-128]_补=10000000 [128]=10000000

补码特点
(1)0 的补码只有唯一的一个,即 [ 0 ] 补 = 00000000 [0]_补=00000000 [0]=00000000
(2)加、减法运算方便。即负数用补码表示时,可以把减法运算转化为加法。
(3)8 位二进制补码表示的整数范围为 + 127   - 128 +127~-128 +127 128;16 位二进制补码表示的整数范围为 - 32768 ~ + 32767 -32768 ~ +32767 3276832767;若机器字长为 n,则补码表示的整数范围为 - 2 n − 1 ~ + ( 2 n − 1 - 1 ) -2n-1~+(2n-1-1) 2n12n11
(4)由补码求真值:当为负数时,即最高位为 1,其绝对值所对应的二进制数应为各数值位“按位求反加 1”的和。

  • 可以看到,因为补码的出现,很好地解决了+0和-0的不唯一问题:
    在这里插入图片描述

补码运算(重要)
对于补码运算,可以证明具有关系: [ A + B ] 补 = [ A ] 补 + [ B ] 补 [A+B]_补= [A]_补+ [B]_补 [A+B]=[A]+[B], 即两数和的补码等于两数补码的和。也就是,在进行补码加法时,可以不必考虑加数的正负,直接进行加法即可。从而简化了计算机内部的操作。

例:计算(-70+55)

解: [ − 70 ] 原 = 11000110      [ − 70 ] 补 = 10111010 [-70]_原=11000110 \ \ \ \ [-70]_补=10111010 [70]=11000110    [70]=10111010
        [ 55 ] 原 = 00110111      [ 55 ] 补 = 00110111 \ \ \ \ \ \ \ [55]_原= 00110111 \ \ \ \ [55]_补= 00110111        [55]=00110111    [55]=00110111
        [ − 70 ] 补 + [ 55 ] 补 = 10111010 + 00110111 = 11110001 \ \ \ \ \ \ \ [-70]_补+[55]_补 =10111010+ 00110111= 11110001        [70]+[55]=10111010+00110111=11110001

最后,求真值:
[ X ] 补 = 11110001 ( 符 号 位 为 1 , 说 明 这 是 一 个 负 数 ) , 则 [ X ] 反 = [ X ] 补 − 1 = 11110000 , 因 此 [ X ] 原 = 10001111 , 所 以 真 值 为 − 15 , 即 − 70 + 55 = − 15 [X]_补=11110001(符号位为1,说明这是一个负数),则 [X]_反=[X]_补-1=11110000,因此[X]_原=10001111,所以真值为-15,即-70+55=-15 [X]=111100011[X]=[X]1=11110000[X]=100011111570+55=15

补码计算溢出问题:

补码是有一定范围的。如果带符号数运算的结果超出了计算机可以表示的范围,则产生不正确的答案,称之为溢出。而两个同符号的数相加有可能出现溢出,两个不同符号的数相加,不可能出现溢出。如果两个负数补码相加后得到正数的补码,或两个正数的补码相加后到负数的补码,都是出现了溢出。

例:计算 [ + 65 ] 补 + [ + 96 ] 补 [+65]_补+ [+96]_补 [65]+[96]
解: [ + 65 ] 补 + [ + 96 ] 补 = 01000001 + 01100000 = 010100001 [+65]_补+ [+96]_补= 01000001+01100000=0 10100001 [65]+[96]=0100000101100000010100001
10100001 = [ - 95 ] 补 10100001= [-95]_补 10100001[95]

可以看出,两个正数的补码相加后得到负数的补码,显然出错了。因为 161〉127,所以称为正向溢出

例 :计算 [ − 70 ] 补 + [ − 60 ] 补 [-70]_补+[-60]_补 [70]+[60]
解: [ − 70 ] 补 + [ − 60 ] 补 = 10111010 + 11000100 = 101111110 [-70]_补+[-60]_补=10111010+11000100=1 01111110 [70]+[60]=10111010+11000100=101111110

两个负数之和却产生了正的结果,同样是因为产生了溢出。因是超出了负的最大范围,所以是负向溢出

可以通过扩大数的表示范围防止溢出。但数的扩展不能改变数的大小,只能改变数的位数。正数扩展:高位全部加 0;负数扩展:高位全部加 1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值