【计算机组成与体系结构Ⅰ】基于Logisim的模型计算机设计

基于Logisim的模型计算机设计

一、实验目的

基于Logisim软件,根据一个模型指令系统,在逐步学习和了解计算机组成各部分逻辑组成和各部分互联的基础上,深入理解课程中的知识点,利用此软件设计并实现一个模拟的8位模型计算机原型。

二、模型计算机指令集和组成

2.1 8位模型计算机的指令系统指令集

  1. LDA—将数据装入累加器A
  2. ADD—加法
  3. SUB—减法
  4. OUT—输出结果
  5. HLT—停机

均为单字长、零地址或一地址指令、两个通用R (A ,B)

助记符

功能

指令格式(OP字段)

LDA address

R[Rs]←M[address];Rs:A

0000

address

ADD address

R[Rs]←M[address]; Rs:B;

R[A] ←R[A]+ R[B]

0001

address

SUB address

R[Rs]←M[address]; Rs:B;

R[A] ←R[A]- R[B]

0010

address

OUT

R[O] ←R[A];

1110

xxxx

HLT

停机

1111

xxxx


2.2 计算机简化模型的组成(数据通路)

三、实验环境

Logisim-win-2.7.1;

Microsoft Windows 10;

四、实验内容

1:分析指令集指令,结合ppt的第5章第4节内容(ppt补充内容),用Logisim库中的门器件、寄存器、存储器件以及多路选择器、译码器和其他简单的器件来搭建最终的8位模型CPU和模型计算机。

2:将ppt中第5章第4节提供的指令存入存储器,运行结果,并在LED上显示。

3:项目报告:说明每个模块的设计思路,8位模型计算机的测试方法及测试结果。

4:录屏视频:演示利用本作业设计的8位模型计算机运行作业要求的测试汇编代码的结果,利用Led灯或数码管等显示结果。

汇编代码如下:

LDA 9H

ADD AH

ADD BH

OUT

HLT

五、模块设计

5.1 分析指令集指令

本实验中指令区域的对应关系如下表所示:

源程序

指令字段

存储单元

LDA 9H

0000 1001

0000->R0

ADD AH

0001 1010

0001->R1

ADD BH

0001 1011

0010->R2

OUT

1110 ****

0011->R3

HLT

1111 ****

0100->R4

5.2 分析数据与存储单元

本实验中数据区域的对应关系如下表所示:

数据值(十进制)

数据值(二进制)

存储单元(地址)

16

0001 0000

1001->9H

20

0001 0100

1010->AH

24

0001 1000

1011->BH

5.3 设计1位半加器

令A为加数、B为被加数、S为当前位的和、C为当前位的进位,可以得到半加器的真值表如下表所示:

A

B

S

C

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

通过真值表,可以得到S和C的逻辑表达式为(其中红色部分为取非结果)

S = AB + AB = A  B

C = AB + AB


因此,S可以使用异或门求得,C可以使用与门求得。

根据上述分析所设计的电路图如下图所示:


经过仿真模拟A、B的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 1,B = 1为例进行展示,电路的显示结果如下图所示:

5.4 设计1位全加器

令A为加数、B为被加数、Ci为低位的进位、S为当前位的和、Co为当前位的进位,可以得到全加器的真值表如下表所示:

Ci

A

B

S

Co

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

通过真值表,可以得到S和Co的逻辑表达式为(其中红色部分为取非结果)

S = ABCi + ABCi + ABCi + ABCi = A  B  Ci

Co = ABCi + ABCi + ABCi + ABCi = AB + ACi + BCi


因此,S可以使用异或门求得,Co可以使用与门和或门求得。

根据上述分析所设计的电路图如下图所示:

经过仿真模拟A、B的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 1,B = 1,Ci = 1为例进行展示,电路的显示结果如下图所示:


5.5 设计4位全加器


4位全加器可以通过4个1位全加器串行连接组成。通过对1位全加器进行封装后,可以将其作为自设元件插入到电路当中。通过对1位全加器进行接口调整和封装后,其左侧有三个输入端口,从上至下依次是加数、被加数和低位的进位,同时其右侧有两个输出端口,从上至下依次是当前位的和、当前位的进位。最终的封装结果如下图所示:

第一个全加器需要设置加数A0、被加数B0、低位的进位Ci0、当前位的和S0,一共三个输入引脚和一个输出引脚。

由于第二个全加器的低位的进位来源于第一个全加器的当前位的进位,因此不需要额外设置低位的进位的输入引脚。所以,第二个全加器需要设置加数A1、被加数B1、当前位的和S1,一共二个输入引脚和一个输出引脚。

第三个全加器的设置与第二个全加器的设置类似。所以,第三个全加器需要设置加数A2、被加数B2、当前位的和S2,一共二个输入引脚和一个输出引脚。

由于第四个全加器的当前位的进位没有其他元件接收,因此需要额外设置当前位的进位的输出引脚。所以,第四个全加器需要设置加数A3、被加数B3、当前位的和S3、当前位的进位Co3,一共二个输入引脚和二个输出引脚。


根据上述分析所设计的电路图如下图所示:


经过仿真模拟各输入信号的值后,发现电路的输出结果与理论分析结果一致,说明电路设计具备正确性。此处以A = 1111,B = 1000,Cio = 0为例进行展示,电路的显示结果如下图所示:

 

5.6 设计8位全加器


8位全加器可以通过2个4位全加器串行连接组成。通过对4位全加器进行封装后,可以将其作为自设元件插入到电路当中。通过对4位全加器进行接口调整和封装后,其左侧有九个输入端口,从上至下依次是加数的第一位值、被加数的第一位值、整体上低位的进位、加数的第二位值、被加数的第二位值、加数的第三位值、被加数的第三位值、加数的第四位值、被加数的第四位值,同时其右侧有五个输出端口,从上至下依次是第一位的和、第二位的和、第三位的和、第四位的和、整体上当前四位的进位。最终的封装结果如下图所示:

第一个4位全加器需要设置加数A的低位四位(即A0至A3)、被加数B的低位四位(即B0至B3)、低位四位的低位的进位Ci、低位四位的当前位的和(即S0至S3),一共九个输入引脚和四个输出引脚。

由于第二个4位全加器的低位的进位来源于第一个4位全加器的当前位的进位,因此不需要额外设置低位的进位的输入引脚。所以,第二个4位全加器需要设置加数A的高位四位(即A4至A7)、被加数B的高位四位(即B4至B7)、高位四位的当前位的和(即S0至S4)、高位四位的当前位的进位Co,一共八个输入引脚和五个输出引脚。


根据上述分析所设计的电路图如下图所示:


经过仿真模拟各输入信号的值后,发现电路的输出结果与理论分析结果一致,说明电路设计具备正确性。此处以A = 1111 1111,B = 1000 0000,Ci = 0为例进行展示,电路的显示结果如下图所示:

 

5.7 设计循环累加器


选择位宽均为8的加法器、寄存器、常量、输出引脚作为循环累加器的基本元件,同时加上时钟作为时序控制信号的发生器。将时钟和的寄存器的使能端相连接,来控制寄存器的时序逻辑。寄存器的Q端为当前寄存器的值,D端为当触发时钟端时输入到寄存器的值。加法器的加数固定为0000 0001,被加数固定为寄存器的值,因此被加数端需要连接寄存器的Q端,和端需要连接寄存器的D端。

根据上述分析所设计的电路图如下图所示:

经过仿真模拟各输入信号的值后,发现电路的输出结果与理论分析结果一致,说明电路设计具备正确性。此处以经过三个上升沿为例进行展示,电路的显示结果如下图所示:

5.8 设计半减器

令A为被减数、B为减数、D为当前位的差、C为当前位的借位,可以得到半加器的真值表如下表所示:

A

B

D

C

0

0

0

0

0

1

1

1

1

0

1

0

1

1

0

0

通过真值表,可以得到D和C的逻辑表达式为(其中红色部分为取非结果)

D = AB + AB = A  B

C = AB


因此,D可以使用异或门求得,C可以使用与门和非门求得。根据上述分析所设计的电路图如下图所示:

经过仿真模拟A、B的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 0,B = 1为例进行展示,电路的显示结果如下图所示:


5.9 设计1位全减器

令A为被减数、B为减数、Ci为高位的借位、D为当前位的差、Co为当前位的借位,可以得到全加器的真值表如下表所示:

Ci

A

B

D

Co

0

0

0

0

0

0

0

1

1

1

0

1

0

1

0

0

1

1

0

0

1

0

0

1

1

1

0

1

0

1

1

1

0

0

0

1

1

1

1

1

通过真值表,可以得到S和Co的逻辑表达式为(其中红色部分为取非结果)

D = ABCi + ABCi + ABCi + ABCi = A  B  Ci

Co = ABCi + ABCi + ABCi + ABCi = AB + ACi + BCi


因此,D可以使用异或门求得,Co可以使用与门、非门和或门求得。

根据上述分析所设计的电路图如下图所示:


经过仿真模拟A、B的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 1,B = 1,Ci = 1为例进行展示,电路的显示结果如下图所示:

 

5.10 设计4位全减器


4位全减器可以通过4个1位全减器串行连接组成。通过对1位全减器进行封装后,可以将其作为自设元件插入到电路当中。通过对1位全减器进行接口调整和封装后,其左侧有三个输入端口,从上至下依次是被减数A、减数B、高位的借位Ci,同时其右侧有两个输出端口,从上至下依次是当前位的差D、当前位的借位Co。最终的封装结果如下图所示:

    设置串行连接组成的4位全减器的时候,需要将高位全减器的Co端与低位全减器的Ci端相连接。同时,如果A和B的差值为正数,则输出结果为原码;如果A和B的差值为负数,则输出结果为补码。


根据上述分析所设计的电路图如下图所示:


经过仿真模拟A、B的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 0001,B = 0010,Ci = 0为例进行展示,电路的显示结果如下图所示:

 

5.11 设计8位全减器


8位全减器可以通过2个4位全减器串行连接组成。通过对4位全减器进行封装后,可以将其作为自设元件插入到电路当中。通过对4位全减器进行接口调整和封装后,其左侧有三个输入端口,从上至下依次是被减数A的其中四位、减数B的其中四位、高位的借位Ci,同时其右侧有两个输出端口,从上至下依次是当前四位的差D、当前位的借位Co。最终的封装结果如下图所示:

    与设计4位全减器时的思路类似,设置串行连接组成的8位全减器的时候,需要将高四位全减器的Co端与低四位全减器的Ci端相连接。同时,如果A和B的差值为正数,则输出结果为原码;如果A和B的差值为负数,则输出结果为补码。

根据上述分析所设计的电路图如下图所示:


经过仿真模拟A、B的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 0000 0000,B = 0000 0001,Ci = 0为例进行展示,电路的显示结果如下图所示:

 

5.12 设计通用寄存器

在本实验中,需要有两个位宽为8的通用寄存器,分别命名为D1和D2。外部接口需要设置时钟信号Clock、复位信号Reset、数据输入端Input、数据输出端Output、输出使能端Enable等。

(1)设计输出使能控制元件

在本实验中,预设当Enable = 1时,允许读出寄存器中的数据;当Enable = 0时,不允许读出寄存器中的数据,默认输出空值0000 0000。因此,需要将输出使能信号与数据各位进行取【与】的操作,即将使能信号与数据各位同时通过与门进行判断。


根据上述分析所设计的电路图如下图所示:


经过仿真模拟A的值后,发现电路的输出结果与真值表理论分析结果一致,说明电路设计具备正确性。此处以A = 0000 0011,enable = 1为例进行展示,电路的显示结果如下图所示:

 

(2)设计寄存器模块

    在本实验中,通过两个数据输入端A、B分别对D2和D1寄存器进行写入操作,时钟信号来临时即写入两个数据输入端的数据进寄存器,复位信号来临时即清空两个寄存器内的数据。输出使能端通过控制输出使能控制元件来控制D2寄存器的数据的读取,与(1)处的设计一致。


通过对输出使能控制元件进行接口调整和封装后,其左侧有二个输入端口,从上至下依次是数据输入端、enable端,同时其右侧有一个输出端口,即数据输出端。最终的封装结果如下图所示:


    根据上述分析所设计的电路图如下图所示:

 

    为了说明电路设计具备正确性,此处以A = 0000 0011,B = 0000 0001为例依次进行写入、读取、重置的操作展示,电路的显示结果如下图所示:


写入:


读取:

 

 重置:

5.13 设计ALU

(1)ALU的简介

ALU,即算术逻辑运算单元。ALU 的主要功能是对输入到ALU的两个数进行加法、减法等操作。ALU 内部包括8位加法器、减法器等部件。

ALU的模块接口如下表所示:

信号

方向

描述

A

输入

参与ALU运算的第一个值,来自寄存器A

B

输入

参与ALU运算的第二个值,来自寄存器B

EU

输入

ALU进行加法运算

SU

输入

ALU进行减法运算

Result

输出

ALU计算的结果

(2)设计ALU各模块

根据ALU的运算控制表可知,ALU中需要设计输入选择器、8位逻辑或运算、8位逻辑与运算、8位加法运算、8位减法运算等部件。

(3)设计8位逻辑或运算

    8位逻辑或运算,只需要将A和B的每一位分别做或运算后,再合并成Z进行输出即可。
根据上述分析所设计的电路图如下图所示:

 
为了说明电路设计具备正确性,此处以A = 0000 0011,B = 0000 0001为例进行展示,电路的显示结果如下图所示:

(4)设计8位补码转换器

    由于可以通过原码转补码的操作来运行减法运算,因此在此处设计8位补码转换器来辅助ALU的运算功能的实现。负数的补码为符号位不变,其余部分取反加1。根据此性质,可以先对输入数据的每一位与1做异或操作,执行取反的部分,再通过8位加法器加上1,即可得到补码。


根据上述分析所设计的电路图如下图所示:


为了说明电路设计具备正确性,此处以B = 0000 0001为例进行展示,电路的显示结果如下图所示:

(5)组装为ALU

    通过功能选择端的数值,控制S1和S0的数值,再让其通过数据选择器进行筛选,从而选择ALU执行的运算功能。当选择减法运算时,通过8位补码转换器,将减法变更为加法运算。同时,在输出端增加一个判断输出是否为0的部件,以便更好地展示ALU的输出数值。

根据上述分析所设计的电路图如下图所示:


令S0、S1为ALU的输入选择端,通过控制S0和S1的值即可控制ALU的运算模式,其运算控制表如下表所示:

S1

S0

ALU运算

0

0

A 加 B

0

1

A 减 B

1

0

A 或 B

1

1

A 与 B

为了说明电路设计具备正确性,此处依次进行ALU中加法、减法、或、与运算的展示,电路的显示结果如下图所示:
加法:

 S1 = 0,S2 = 0,令A = 0000 0001,B = 0000 0011.

减法:
S1 = 0,S2 = 1,令A = 0000 0001,B = 0000 0011.

或:
S1 = 1,S2 = 0,令A = 0000 0001,B = 0000 0011

与:
S1 = 1,S2 = 0,令A = 0000 0001,B = 0000 0011

5.14 设计控制器

控制器是CPU的核心部件,其可以通过设置不同的值来控制各项功能的操作。在本实验中,需要设计两个解复用器、两个ALU选择控制端、一个时钟信号控制端,共计五个控制端口。

控制器需要生成对CPU 中数据通路进行控制的控制信号,即取指、译码、取数、运算、输出结果等功能。在本实验中,指令与其所对应的OP字段如下表所示:

指令

OP字段

LDA 9H

0000 1001

ADD AH

0001 1010

ADD BH

0001 1011

OUT

1110 ****

HLT

1111 ****

通过各个控制端口的真值表,可以获得其逻辑表达式,从而方便使用基本的门电路进行搭建。令高四位分别位S4、S3、S2、S1,则可以得出各个控制端口的逻辑表达式为(其中红色部分为取非结果)

ALU选择控制端1 = S2 + S3

ALU选择控制端2 = S3

解复用器控制端1 = S4

解复用器控制端2 = S4 + S3 + S2

时钟信号控制端 =  S4 + S3 + S2 + S1


根据上述分析所设计的电路图如下图所示:

5.15 设计基于自设元件所组装的CPU

CPU 受时钟信号的控制循环地执行指令,且由数据通路和控制器组成。数据通路中包含组合逻辑单元和状态单元。其中,组合逻辑单元用于对数据进行处理,包括ALU、位扩展器、数据选择器等;状态单元由寄存器RF和2个只读存储器 ROM 组成。在本实验中,数据通路为非总线式单周期数据通路。CPU通过给 ROM 中预置指令来达到预期的工作效果。CPU的输入端为时钟信号,输出端为八个发光二极管和一个8位的输出引脚。


根据上述分析所设计的电路图如下图所示:

六、8位模型计算机的测试

(1)理论分析

本实验中时序情况下的指令与地址的对应关系如下表所示:

源程序

指令字段

ROM预置

LDA 9H

0000 1001

09 H

ADD AH

0001 1010

1A H

ADD BH

0001 1011

1B H

OUT

1110 0000

E0 H

HLT

1111 0000

F0 H

/

0000 0000

00 H

数据在不同进制下的对应关系如下表所示:

数据(十进制)

二进制

十六进制

16->09 H地址的数据

0001 0000

10 H

20->1A H地址的数据

0001 0100

14 H

24->1B H地址的数据

0001 1000

18 H

分析源程序可知,最终的计算结果为16 + 20 + 24 = 60 = 0011 1100 H.

(2)实际测试
1:加载09H单元的数据。


2:加上1A单元的数据。

 


3:加上1B单元的数据。


4:输出运算结果。


5:停机。

 

七、实验心得

在本次实验中,从一开始一股脑子地逐个设计全减器和全加器,到发现能够使用Logisim自带的加法器,再到设计循环累加器实现在实验课中所遇到的AR1_INC的自增功能,再到结合实验课中的ALU的特性设计通用寄存器等元件,我不断地对所设计的CPU进行优化和改进工作,最终实现了一款简易的8位模型计算机。


所建的所有电路或集成元件如下图所示:

俗话说:实践出真知。我虽然在本次实验中花费了较多的时间和精力(特别是在考试月内逐步实现各个部分的功能),但是对计算机组成原理有了更加深刻的认识和理解,也算是一种痛并快乐着的生活吧。

八、其他琐碎的经验杂谈

    本部分将补充使用Logisim的一些与技巧,进行一定的归纳总结工作。

8.1 ROM的内存设置

第一步:点击只读存储器ROM。


第二步:在左下角处点击【内容】,进行内存的编辑。

 


第三步:点击需要修改的存储单元,依次输入高位和低位的信息,并注意该存储单元为16进制表示的。

第四步:修改完成后,点击关闭窗口即可。


第五步:观察到电路中的ROM内存已经被修改,表示操作完毕。

8.2 编辑集成后的电路外观

第一步:右键点击所需要集成的元件。


第二步:点击【编辑电路外观】。


第三步:拖拽边框、端口、曲线等外观至理想状态。同时,长按端口时,在右下角会出现对应的端口在电路中的位置。

第四步:点击ctrl+s,进行保存。

8.3 在新电路中添加集成元件

第一步:点击目标的集成元件。

第二步:左键保持按下状态,拖拽到新电路中的预设位置。

  • 46
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 计算机组成体系结构性能设计是指在设计计算机硬件和软件时,如何优化计算机的性能。性能设计计算机设计的重要方面,它关注的是如何使计算机在给定的资源下尽可能发挥最大的计算能力。 在进行性能设计时,需要考虑多个因素。首先是各个硬件组件的性能。例如,CPU的指令执行速度、内存的访问速度、硬盘的读写速度等。这些硬件组件的性能决定了计算机的整体性能。因此,在设计计算机时需要选择高性能的硬件组件,以提高计算机的处理能力。 其次是软件的性能优化。软件的编写方式对计算机的性能有着重要影响。例如,合理使用算法和数据结构可以减少计算量,提高计算效率。通过优化代码,减少不必要的计算和数据传输,也可以提高计算机的性能。 此外,还有一些其他因素需要考虑。例如,系统的可扩展性、可靠性和安全性等。一个好的性能设计不仅要考虑计算机的计算能力,还要保证系统的稳定运行和安全性。 在实际的性能设计,需要综合考虑这些因素。通过对硬件和软件的优化,可以提高计算机的性能。而性能设计不仅仅是一次性的工作,还需要不断进行优化和改进,以适应日益增长的计算需求。 总的来说,计算机组成体系结构性能设计是为了提高计算机的计算能力和响应速度。通过选择高性能的硬件和优化软件,可以充分发挥计算机的潜力,提升计算效率。同时,还需要考虑系统的可扩展性、可靠性和安全性,以实现一个高性能且稳定可靠的计算机系统。 ### 回答2: 计算机组成体系结构计算机科学的基础课程之一,主要涉及计算机硬件层面的设计和性能优化。性能设计是其一个重要的方向,通过合理的设计和优化,可以提升计算机系统的性能和效率。 首先,性能设计包括对硬件的选择和配置。在计算机组成体系结构,我们需要根据计算的需求选择合适的处理器、存储器、输入输出设备等硬件组件。不同的应用场景可能需要不同的硬件配置,因此要根据需求进行全面考虑和权衡。 其次,性能设计还包括对各个硬件组件的优化。例如,可以通过增加处理器核心数或者提高主频来提升计算速度;采用高速缓存和存储器层次结构来优化数据传输和访问速度;使用并行计算和向量化指令来提高计算效率等等。这些优化手段可以在硬件层面上提高计算机系统的性能。 此外,性能设计还需要考虑软件层面的优化。软件编程和算法设计计算机性能也有较大的影响。通过合理的编程和算法设计,可以减少计算的复杂度和冗余操作,提高计算效率。同时,还可以利用并发编程和并行计算来充分发挥硬件资源的性能。 最后,性能设计还需要进行性能评估和测试。通过对计算机系统各个组件和整体性能的评估和测试,可以了解到系统的瓶颈和性能短板,并进一步进行优化和改进。 总之,计算机组成体系结构的性能设计是为了提升计算机系统性能的重要方向,需要综合考虑硬件配置、硬件优化、软件优化以及性能评估和测试等方面,以实现高效、快速和可靠的计算。这样的性能设计能够有效提升计算机系统的运算速度和效率,满足不同应用场景的需求。 ### 回答3: 计算机组成体系结构计算机科学领域的一个重要概念,它涉及计算机硬件和软件的组织和功能的设计与实现。性能设计是指计算机组成体系结构计算机系统性能的优化与设计。 在计算机组成体系结构,性能设计是一个关键的方面。它主要涉及如何使计算机系统在处理任务时能够更高效地完成工作。性能设计的目标是提高整个计算系统的吞吐量和响应速度,从而提升计算机的性能。 性能设计需要考虑多个因素。首先,需要合理分配计算资源,包括处理器、内存、硬盘等,以提高计算机系统的整体性能。其次,需要考虑系统的并行性,通过使用多核处理器和并行计算技术来提高系统的并发能力,从而提高系统的性能。此外,还需要考虑如何通过优化算法和数据结构等方式来提高计算机运行的效率。 为了进行性能设计,需要进行性能分析和评估。通过性能测试和测量,可以了解计算机系统的瓶颈和瓶颈所在,从而进行性能优化。常见的性能指标包括处理器的时钟速度、缓存大小等。 最后,性能设计需要综合考虑各个方面的因素,并根据具体应用场景来制定相应的性能设计策略。不同的应用场景可能有不同的性能需求,需要针对性地进行优化和调整。 综上所述,计算机组成体系结构性能设计计算机科学领域的一个重要概念,它关注如何通过合理的资源分配、并行计算和算法优化等方式来提高计算机系统的性能。性能设计需要进行性能分析和评估,并根据具体应用场景来制定相应的设计策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MorleyOlsen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值