【计算机系统结构】复习重点(计算机系统结构(第3版)张晨曦 王志英等)

注意

导入过来排版不太对,建议看我的语雀文档
https://www.yuque.com/tongyan-qsj3t/zwlq23/dobnlmaa9knfxfsv?singleDoc# 《【计算机系统结构】复习重点(计算机系统结构(第3版)张晨曦 王志英等)》

教材版本

计算机系统结构(第3版)张晨曦 王志英等

题型

选择题
名词解释
填空题
简答题
计算题(基本上作业里都涉及了,不是原题但知识点相同,把原理搞清楚)

第一章

计算机系统结构的定义

计算机系统结构是程序员所看到的计算机属性,即概念性结构与功能特性

透明性

透明性:在计算机技术中,某种本来存在的事物或属性从某种角度看又好像不存在的概念

在Amdahl的传统定义当中系统结构所包含的属性

在Amdahl的传统定义当中系统结构所包含的属性:是指机器语言程序设计员为使其设计的程序能在计算机上正确运行所需遵循的计算机属性
这些属性主要是指:

  • 指令系统(包括机器指令的操作类型和格式、指令间的排序和控制机构等)
  • 数据表示(硬件能直接识别和处理的数据类型)
  • 寻址规则(包括最小寻址单元、寻址方式及其表示)
  • 寄存器定义(包括各种寄存器的定义、数量和使用方式)
  • 中断系统(中断的类型和中断响应硬件的功能等)
  • 机器工作状态的定义和切换(如管态和目态等)
  • 存储系统(主存容量、程序员可用的最大存储容量等)
  • 信息保护(包括信息保护方式和硬件对信息保护的支持)
  • I/0结构(包括I/0连接方式、处理机/存储器与I/0设备间数据传送的方式和格式、I/0操作的状态等)

以上属性是计算机系统中由硬件或固件完成的功能,程序员在了解这些属性后才能编写出在传统机器级上正确运行的程序。
:::info
注意:当我了解这些信息后,这些信息对我来说就不是透明的
:::

Flynn分类法

将计算机系统结构分为以下四类:

  • 单指令流单数据流(SISD)
  • 单指令流多数据流(SIMD)
  • 多指令流单数据流(MISD)
  • 多指令流多数据流(MIMD)

缩写方式:
单/多指令流single/multiple-instruction
单/多数据流single/multiple-data

其中,单指令流多数据流SIMD以阵列处理机为代表
阵列处理机:在同一控制部件的控制下,多个处理部件同时执行同一条指令所规定的操作,分别对各自的数据进行处理

加速比

影响加速比2个因素:

  • 可改进比例:在改进前的系统中,可改进部分占总的比例。例如一个60s程序有20s可加速,可改进比例就是20/60
  • 部件加速比:可改进部分改进后性能提高的倍数,是改进前后时间的比值。例如改进后,可改进部分执行时间为2s,改进前为5s,则部件加速比是5/2

单个部件:
image.png
image.png
多个部件:
image.png
其中:
Sn是整个程序的加速比
Fi是各操作在程序中所占的比例
Si是各操作单独改进后程序获得的加速比

改进后程序总的执行时间

(能改进部分+不能改进部分)
image.png

计算机系统设计的设计原则和定量原理

  1. 以经常性事件为重点:在计算机系统设计中经常要在不同的方法之间进行折中,这时要按照对经常发生的事件采用优化方法的原则进行选择,以得到更多总体上的改进
  2. Amdahl定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比
  3. CPU性能公式:

CPU时间=执行程序所需的时钟周期数时钟周期时间
平均指令周期数CPI=执行程序所需的总周期数/所执行的指令条数
CPU时间=IC
CPI*时钟周期时间
IC为所执行的指令条数

  1. 程序的局部性原理

程序的局部性原理:是指程序执行时所访问的存储器地址分布不是随机的,而是相对聚簇
局部性包括时间局部性和空间局部性

  • 时间局部性:程序即将用到的信息很可能就是目前正在使用的信息
  • 空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或相近

冯诺依曼结构5个部分

  • 运算器
  • 控制器
  • 存储器
  • 输入设备
  • 输出设备

并行性的发展 看耦合度

并行性:计算机系统在同一时刻或同一时间间隔内进行多种运算或操作
耦合度:反映多处理机系统中各计算机之间物理连接的紧密程度和交互作用能力的强弱
多处理机系统耦合度分为紧密耦合和松散耦合

  • 紧密耦合系统:又称直接耦合系统。在这种系统中,计算机之间物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存。由于具有较高的信息传输率,因而可以快速地并行处理多个作业或任务。
  • 松散耦合系统:又称间接耦合系统,一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。计算机之间的相互作用是在文件或数据集一级上进行的。松散耦合系统表现为两种形式:一种形式是多台计算机与共享外存设备连接,不同计算机之间实现功能上的分工(功能专用化),计算机处理的结果以文件或数据集的形式送到共享外存设备,供其他计算机继续处理;另一种形式是计算机网络,通过通信线路连接,实现更大范围的资源共享。

第二章

指令集对操作系统的支持

指令集对操作系统的支持主要有:

  • 处理机工作状态和访问方式的切换
  • 进程的管理和切换
  • 存储管理和信息保护
  • 进程的同步与互斥,信号灯的管理等

RISC的设计思想

设计RISC指令集结构一般应遵循以下原则:

  1. 指令条数少而简单。
  2. 采用简单而又统一的指令格式,并减少寻址方式。
  3. 指令的执行在单个机器周期内完成。
  4. 采用 load-store 结构。
  5. 大多数指令都采用硬连逻辑来实现。
  6. 强调优化编译器的作用,为高级语言程序生成优化的代码。
  7. 充分利用流水线技术来提高性能。

**第三章(重点)**⭐⭐⭐

流水线通过什么方式来进行描述

流水线:在计算机中把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现,把多个处理过程在时间上错开,依次通过各功能段,这样每个子过程就可以与其他子过程并行进行。
描述方式:时空图(一定要会画,看书P51)⭐⭐

流水线的性能指标

  • 吞吐量:单位时间内流水线所完成的任务数量或输出结果的数量
  • 加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比(此处与第一章不同)
  • 效率:流水线中的设备实际使用时间与整个运行时间的比值,即流水线设备的利用率

这三个指标怎么通过时空图计算,看书

使用时空图计算流水线的性能指标:
例题:课后题3.11(本题为静态流水线)
先画出时空图:
cd731d91f8fc74a20053990c78c4823.jpg
吞吐量:
TP=n/Tk
n是任务数
Tk是完成n个任务所需的时间
本题中n=7 因为是7个任务 分别为计算A,B,C,D,AB,CD,ABCD
Tk=18Δt,因为总共用了18Δt的时间
加速比:
S=Ts/Tk
Ts是不使用流水线使用的时间
Tk是使用流水线使用的时间
本题中Ts=29Δt,因为一次求和是5Δt(比如第一个输入A1+B1,是从0开始进入,从5结束输出),总共4次求和;一次求积是3Δt(比如A
B从11开始进入,从14结束输出),总共3次求积;所以一共45Δt+33Δt=29Δt
Tk=18Δt,因为总共用了18Δt的时间
效率:
E=(knΔt)/(kTk)
其中k是流水线段数,其他变量概念不变
从时空图上来看,效率是n个任务占用的时空面积和k个段总的时空面积之比
本题中分子为所有黑方块面积,一次加法是5个,共4次加法;一次乘法是3个,共3次乘法;总面积29
分母为整个时空图的面积,18
5=90

流水线的相关与冲突

相关:两条指令之间存在某种依赖关系

  • 数据相关(后面指令需要用到前面指令的运算结果,)

这里直接或者间接都可以,即:

  • 指令j使用指令i产生的结果,那么j与i数据相关
  • 指令j与k数据相关,k与i数据相关,那么j与i数据相关
  • 名相关(两条指令使用了相同的名,但它们之间并没有数据流动)
    • “名”指的是指令所访问的寄存器或存储单元的名称
  • 控制相关(由分支指令引起)

流水线冲突:对于具体流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行

  • 结构冲突:硬件资源满足不了指令重叠执行的要求而发生的冲突

解决方式2种:

  • 插入气泡(例如我的流水线上只有一个存储器,把数据和指令放一起,某个时候我又要访存又要取指令,这时候就发生结构冲突,我可以在访存时将流水线停顿一个时钟周期,推迟取指令操作,这个停顿的时钟周期就叫“气泡”)

但这种停顿也会影响流水线的性能

  • 在流水线处理机中设置相互独立的指令存储器和数据存储器
  • 数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突

例如:我有3条指令
指令1第5个时钟周期才将结果写入寄存器A
指令2第2个时钟周期就需要读A的结果,发生数据冲突
指令3第6个时钟周期才需要读A的结果,不冲突
解决方式3种:

1.通过定向技术减少数据冲突引起的停顿:按上面例子,最简单的解决方式就是暂停指令1后边的所有指令,直到指令1将结果写入寄存器A,再让后边的指令继续执行。
但这样就有停顿时间。
为了减少停顿时间,就采用定向技术——在某条指令(指令1)产生计算结果之前,其他指令(指令X)并不真正立即读取这个计算结果,而是将这个计算结果从他产生的地方(指令1的写入寄存器A之前的某一步)直接送到其他指令(指令X)需要他的地方,就可以避免停顿
推广到更一般的情况:将结果数据从其产生的地方直接传送到所有需要它的功能部件。

2.需要停顿的数据冲突:并不是所有冲突都能用定向技术解决
例如:指令1的第4个时钟周期的末尾才产生运算结果,但指令2的第2个时钟周期开始就需要这个结果,还是需要停顿。
停顿用到的是“流水线互锁机制”:检测发现数据冲突并使流水线停顿,直至冲突消失

3.依靠编译器解决数据冲突:无法用定向技术解决的冲突,可以通过在编译时让编译器重新组织指令顺序来消除冲突,称为“指令调度”或者“流水线调度”

  • 控制冲突:流水线遇到分支指令或其他会改变PC值的指令所引起

PC值:当前正在执行指令的下一条指令地址
解决方式:(两条同时采用,缺一不可)

  • 在流水线中尽早判断出分支转移是否成功
  • 尽早计算出分支目标地址

链接

链接技术:具有先写后读相关的两条指令(针对向量),在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件衔接起来进行流水线处理,以达到加快执行的目的。
看书上例3.3学懂链接技术,其中指令③是与①②进行链接,①②是概念里的“先写”,③是“后读”
链接需要满足的条件⭐

  1. 无向量寄存器使用冲突和无功能部件使用冲突
  2. 只有在前一条指令的第一个结果元素送入结果向量寄存器的那一个时钟周期才可以进行链接
  3. 当一条向量指令的两个源操作数分别是两条先行指令的结果寄存器时,要求先行的两条指令产生运算结果的时间必须相等,即要求有关功能部件的通过时间相等

【以书上图3.43为例,当一条向量指令(浮点乘)的两个源操作数分别是两条先行指令(访存,浮点加)的结果寄存器(V2,V3)时,要求先行的两条指令产生运算结果的时间必须相等(访存、浮点加都是6拍)】

  1. 要进行链接执行的向量指令的向量长度必须相等,否则无法进行链接

分段开采技术

当向量长度大于向量寄存器长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段

第四章

什么是指令的静态调度和动态调度

静态调度:
它不是在程序执行过程中进行代码调度和优化,而是在编译期间进行的
静态调度的流水线依靠编译器对代码进行静态调度,以减少相关和冲突
静态调度通过把相关的指令拉开距离来减少可能产生的停顿
动态调度:
在程序的执行过程中依靠专门的硬件对代码进行调度
动态调度能在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,减少数据相关导致的停顿
动态调度的优点(是以硬件复杂性的显著增加为代价的):

  1. 能够处理一些编译时不明情况的相关(如涉及存储器访问的相关),并简化了编译器
  2. 能够使本来是面向某一流水线优化编译的代码在其他流水线上也能高效地执行

基于硬件的前瞻执行的基本思想

基于硬件的前瞻执行:在动态分支预测技术中,对于多流出处理机,只准确预测分支不能满足要求,需要通过前瞻执行来猜测分支指令的结果,并假设这个猜测总是对的,然后按着这个猜测结果继续向下执行,但执行结果并不直接写入寄存器或存取器,而是放到“ROB”缓冲器中,当确认指令是应该执行的之后,才存入寄存器或存取器。这样的目的是为了猜错之后能够恢复现场。
基于硬件的前瞻执行的基本思想:

  1. 动态分支预测,用来选择后续执行的指令
  2. 在控制相关的结果尚未出来之前,前瞻地执行后续指令
  3. 用动态调度对基本块的各种组合进行跨基本块的调度

超流水线处理机的工作特点

超流水线处理机:将每个流水段进一步细分,这样在一个时钟周期内能够分时流出多条指令的处理机
对于一台每个时钟周期能流出n条指令的超流水线计算机来说,这n条指令不是同时流出的,而是每隔1/n个时钟周期流出一条指令
实际上该超流水线计算机的流水线周期为1/n个时钟周期
在有的资料上,把指令流水线级数为8或8以上的流水线处理机称为超流水线处理机
“级”:把流水段进一步划分之后,叫做流水级

第五章

存储层次的四个问题

  1. 映像规则:当把一个块(页)调入高一层(靠近CPU)存储器时,可以放到哪些位置上

分为以下3种:

  1. 全相联映像:主存的任一块可以被放到Cache的任意一个位置
  2. 直接映像:主存的每一个块只能被放到Cache中唯一的一个位置
  3. 组相联映像:Cache被等分为若干组,每组由若干块构成,主存中的每一块可以被放到Cache中唯一的一个组中的任何一个位置

大多数计算机使用直接映像和组相联映像

  1. 查找算法:当所要访问的块(页)在高一层存储器时,如何找到该块
  2. 替换算法:当发生不命中而且高一层存储器已满时,应替换哪一块
  3. 写策略:当进行写访问时,应进行哪些操作

平均访存时间 CPU时间⭐⭐⭐掌握计算题原理

平均访存时间=命中时间+不命中率*不命中开销
CPU时间:
image.png
注意:
使用第一条公式
“不命中开销”的单位是“时钟周期数”,例如不命中开销为80ns,Cache时钟周期是2ns,那么在本公式中“不命中开销”应该是80/2=40个时钟周期
课后题5.10中的(3)所说的时钟周期增加10%是增加的平均指令周期数量CPI,而不是公式中的“时钟周期时间”。“时钟周期时间”是不会改变的

第六章

反映输入/输出系统可靠性的参数

  • 可靠性:系统从某个初始参考点开始连续提供服务的能力
  • 可用性:系统正常工作的时间与连续两次正常服务间隔时间的比值
  • 可信性:服务的质量

(我猜只用背三个参数,不用背概念)

评价输入输出系统性能的参数

连接特性
输入/输出系统的容量
响应时间
吞吐量

第七章

什么是静态互联网络,动态互联网络

静态互联网络:各节点之间有固定的连接通路,且在运行中不能改变的网络
动态互联网络:设置有源开关,因而能够根据需要借助控制信号对连接通路加以重新组合,实现所要求的通信模式

多级立方体网络

多级立方体网络包括STARAN网络和间接二进制n方体网络等。
两者仅在控制方式上不同,在其他方面都是一样的。
都采用二功能(直送和交换)的2×2开关。
当第i级(0≤i≤n-1)交换开关处于交换状态时,实现的是Cubei互连函数。
一个N输入的多级立方体网络有log2N级,每级用N/2个2×2开关模块,共需要log2N×N/2个开关。
STARAN网络采用级控制和部分级控制。
采用级控制时,所实现的是交换功能;
采用部分级控制时,则能实现移数功能。
间接二进制n方体网络则采用单元控制。具有更大的灵活性。
交换:将有序的一组元素头尾对称地进行交换。

虫蚀寻径(即虫孔)

前置知识:
消息传递机制:当源节点和目的节点之间没有直接的连接时,消息需要经过中间的节点进行传递。寻径就是用来实现这种传递的通信方法和算法。有的称之为路由。
消息:节点之间进行通信的逻辑单位。由若干个“包”组成,“包”可细分为“片”
消息路由方式可以分为:

线路交换:先建立原节点到目的节点的物理通路,再传递消息
存储转发:以“包”为基本单位,“包”从原结点经历一系列中间节点到达目的节点,需要在每个中间节点设置包缓冲器,只有当出口链路可用并且下一个包缓冲器也可用才传给下个节点
虚拟直通:是对存储转发的改进,思想是无需等到“包”完全放入缓冲器再判断是否向后传,只有接收到包头我就开始判断,如果传输链路空闲,就无需存储在缓冲器而是直接传给下一个节点,如果整条链路都空闲可以直达目的节点。
虫孔:
是对虚拟直通的改进,区别是把“包”切割成了更小的“片”,“片”的传送按流水线进行
当一个节点把头片送到下一个节点后,那么接下来就可以把后面的各个片也依次送出
一个节点一旦开始传送一个包中的头片后,这个节点就必须等待这个包的所有片都送出去后,才能传送其他包。不同包的片不能混合在一起传送
虫孔和虚拟直通比较像,区别就是:

  • 当输出通路忙时,节点是把一个片存储到缓冲器中。
  • 由于片的大小比包小很多,所以能有效地减少缓冲器的容量,使得它易于用VLSI(超大规模集成电路)实现。

虫孔优点:

  • 每个节点的缓冲器较小,易于VLSI实现;
  • 有较小的网络传输延迟;
  • 通道共享性好,利用率高;
  • 易于实现选播和广播通信模式。

虫孔缺点:

  • 当消息的一片被阻塞时,整个消息的所有片都将被阻塞在所在节点,占用了节点资源。

第九章

机群

机群系统:价格低廉,易于构建且可扩放性极强,它由多台同构或异构的独立计算机通过高性能网络或局域网互联在一起,协同完成特定的并行计算任务。从用户的角度来看,机群就是一个单一、集中的计算资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/754346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Element-UI 并排显示多个 disabled按钮的时候, 不生效问题解决

目录 Element-UI 并排显示多个 disabled按钮的时候, 不生效问题解决 解决方法: 运行结果: Element-UI 并排显示多个 disabled按钮的时候, 不生效问题解决 解决方法: Element-UI 并排显示多个 disabled按钮的时候&a…

摄影楼电子相册打开的正确方式,快来看看

​随着科技的不断发展,电子相册已经成为许多人存储和分享照片的重要方式。然而,你知道如何正确打开电子相册吗?今天,我就来教大家一下电子相册的正确打开方式,快来学习一下吧! 第一步:选择合适的…

【离散数学·图论】(复习)

一、基本概念 1.一些基本术语: 2.点u,v邻接(或相邻): 边e称为关联顶点u和v,or e连接u和v; 3.G(V,E)中,顶点v所有邻居的集合:N(v), 成为v的邻域。 4.度 : deg(v) 5.悬挂点:度为1的…

智慧园区大数据云平台建设方案(Word原件)

第一章 项目建设背景及现状 第二章 园区创新发展趋势 第三章 工业园区大数据存在的问题 第四章 智慧工业园区大数据建设目的 第五章 智慧园区总体构架 第六章 系统核心组件 第七章 智慧工业园区大数据平台规划设计 获取方式:本文末个人名片直接获取。 软件资料清单…

为什么不再推荐使用 VRTK 4?

引言 VRTK (Virtual Reality Toolkit) 发布于2016年,初期受到了广大开发者的欢迎并被广泛采用。但是随着 VR 开发生态的发展,这款工具逐渐失去了最初的光芒。本文试图通过几个维度的分析,解释为什么目前不推荐使用 VRTK 进行开发的理由&…

高电压技术-冲击高压发生器MATLAB仿真

微❤关注“电气仔推送”获得资料(专享优惠) 冲击电压发生器是产生冲击电压波的装置,用于检验电力设备耐受大气过电压和操作过电压的绝缘性能,冲击电压发生器能产生标准雷电冲击电压波形,雷电冲击电压截波,标准操作冲击…

K8S 角色/组件及部署方式的简单概述

1.宏观架构图 2.角色详情 2.1 Master(Controller Plane) 早期是叫 Master 节点,后期改名为 Controller Plane,负责整个集群的控制和管理 Master 不会干活的(当然你让它干也是会干的,涉及到污点容忍),而是起到访问入口&#xff…

OPENCV清晰度判断(二)

文章目录 提取ROI判断清晰度灰度共轭矩阵(GLCM)灰度共轭函数的简单原理:计算灰度共轭矩阵代码计算矩阵的对比度 LBP:LBP的基本原理LBP代码 之前有过一篇关于清晰度的判断的文章: python的opencv操作记录(九)——图像清晰度计算。 这一篇里面…

代理IP对SEO影响分析:提升网站排名的关键策略

你是否曾经为网站排名难以提升而苦恼?代理服务器或许就是你忽略的关键因素。在竞争激烈的互联网环境中,了解代理服务器对SEO的影响,有助于你采取更有效的策略,提高网站的搜索引擎排名。本文将为你详细分析代理服务器在SEO优化中的…

使用FRP 0.58版本进行内网穿透的详细教程

什么是FRP? FRP(Fast Reverse Proxy)是一款高性能的反向代理应用,主要用于内网穿透。通过FRP,您可以将内网服务暴露给外网用户,无需进行复杂的网络配置。 准备工作 服务器:一台具备公网IP的服…

软件设计师笔记-操作系统知识(二)

线程 以下是关于线程的一些关键点: 线程是进程中的一个实体:进程是操作系统分配资源(如内存空间、文件句柄等)的基本单位,而线程是进程中的一个执行单元。多个线程可以共享同一个进程的地址空间和其他资源。线程是CP…

昇思25天学习打卡营第3天|函数式自动微分

文章目录 昇思MindSpore快速入门基于MindSpore的函数式自动微分1、简介2、函数与计算图算例3、微分函数与梯度计算4、Stop Gradient(停止梯度计算)5、Auxiliary data6、神经网络梯度计算 Reference 昇思MindSpore快速入门 基于MindSpore的函数式自动微分…

在flask中加载mnist模型,并预测图片

一、在tensorflow中新建及保存模型 启动Jupyter Notebook 新建Notebook 生成 mnist_model.h5 模型的代码 import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import…

ASUS/华硕天选Air 2021 FX516P系列 原厂win10系统

安装后恢复到您开箱的体验界面,带原机所有驱动和软件,包括myasus mcafee office 奥创等。 最适合您电脑的系统,经厂家手调试最佳状态,性能与功耗直接拉满,体验最原汁原味的系统。 原厂系统下载网址:http:…

java设计模式(二)工厂方法模式(pattern of factory method)

1、模式介绍: 工厂方法模式(pattern of factory method)是一种创建型设计模式,它定义了一个用于创建对象的接口,但将实际创建对象的工作延迟到子类中,这样可以在不改变整体结构的情况下,通过子…

OpenGL3.3_C++_Windows(23)

伽ga马校正 物理亮度 光子数量 线性空间:光子数(亮度)和颜色值的线性关系人眼感知的亮度:对比较暗的颜色变化更敏感,感知亮度基于人的感觉非线性空间:光子数(亮度)和 颜色值^2.2,恰好符合屏幕…

GIT版本管理工具轻松入门 | TortoiseGit

目录 一、下载git 二、下载tortoisegit(可视化git) 三、Git本地仓库创建 四、git克隆 五、添加,提交,推送,拉取 六、分支 七、冲突 八、忽略文件(修改gitignore文件) 一、下载git 安装…

<Linux> 缓冲区谁维护?

缓冲区是谁提供的&#xff1f; 来看一段代码 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> int main() {const char *str1 "a";printf("%s", str1);const char *str2 "b";writ…

AI副业新风口项目,AI绘画+古诗文视频,轻松吸引大批粉丝,变现简单,收益稳

前言 一个不吹牛逼不聊人生不谈理想只聊赚钱的自媒体从业者 问题都在过程中产生&#xff0c;努力做了也许会成功&#xff0c;但不做永远没有机会 — — — 小红书副业新风口项目&#xff0c;AI绘画古诗文视频&#xff0c;轻松吸引大批粉丝&#xff0c;变现简单&#xff0c;收…

2020年全国大学生数学建模竞赛C题中小微企业信贷决策(含word论文和源代码资源)

文章目录 一、部分题目二、部分论文三、部分源代码&#xff08;一&#xff09;数据处理代码&#xff08;二&#xff09;熵权法与TOPSIS代码&#xff08;三&#xff09;最小二乘法代码&#xff08;四&#xff09;粒子群代码 四、完整word版论文和源代码&#xff08;两种获取方式…