计算机科学导论笔记(三)
五、计算机组成
计算机组成部件可以分为三大类(子系统):中央处理单元(CPU)、主存储器和输入/输出子系统。
5.1 中央处理单元(CPU)
中央处理单元用于数据的运算,分为算术逻辑单元(ALU)、控制单元和寄存器组三部分。
5.1.1 算术逻辑单元(ALU)
能够对数据进行逻辑、移位和算数运算。
5.1.2 寄存器组
用来临时存放数据,是高速独立的存储单元。CPU的运算离不开大量的寄存器的使用。
数据寄存器:在过去,计算机只有几个数据寄存器用来存储输入数据和运算结果。现在,由于越来越多的复杂运算改由硬件设备实现,所以计算机在CPU中使用几十个寄存器来提高运算速度,并且需要寄存器来存放一些运算的中间结果。在图 5-2 中,寄存器被命名为 到 。
指令寄存器:基于冯诺依曼模型的计算机,其程序也是储存在内存中的,所以在程序运行时,CPU需要寄存器来存储指令。CPU从内存中逐条取出指令,并存放在指令寄存器中,解释并执行指令。
程序计数器:当程序开始运行时,CPU从内存中逐条取出指令,程序计数器首先保存第一条指令的地址,在取指令过程完成后,程序计数器+1,指向下一条指令的内存地址。
5.1.3 控制单元
控制单元用于控制各个子系统工作,控制是通过从控制单元到其他子系统的信号来进行。程序计数器和指令寄存器是控制单元的一部分。
5.2 主存储器
主存储器是存储单元的集合,每个存储单元都有唯一的标识,称为地址。存储单元可以是1字节、2字节或4字节。数据以称为字的位组的形式在内存中传入和传出。CPU一次处理的数据的位模式的长度就是这台计算机的字长,如,32位计算机的字长为32。
地址空间:尽管在编程的时候,程序员可以使用不同的名称来标记不同的数据,但在硬件层面,每个数据存储的内存空间的地址是由位模式来表示的。地址由无符号二进制整数表示。所有在存储器中标识的独立的地址单元的总数称为地址空间。对于同样大小的内存,如果寻址的字长不同,那么所需要的地址的位数就不同,如下面例题所示:
如果寻址内存中的任意一个字(字长2字节),那么就需要位来标识每一个字。但在现实中,寻址是需要物理设备实现的,所以一台计算机的地址空间应该与它的地址总线的条数有关,因为总线的条数确定,它能访问地址的最大数量也就确定了(我的理解)。
5.2.1 存储器的类型
随机存取存储器(RAM):是计算机主存的主要组成部分。在随机存取设备中,可以使用存储单元地址随机存取一个数据项,而不需要存取(地址)位于它前面的所有项。RAM的另一个特点是易失性,当系统断电后,信息(程序或数据)将丢失。
只读存储器(ROM):用户只能读不能写,内容是由制造商写进去的。它的优点是非易失性,断电后信息也不会丢失,可以用来存储那些关机后也不能丢失的程序或数据。例如,用ROM存储那些在开机时运行的程序。
5.2.2 存储器的层次结构
计算机用户需要许多存储器,尤其是速度快其价格低的存储器。但通常这两项并不能兼顾,因此需要一种折中的办法。解决的方法是采用存储器的层次结构。
当对速度要求很高时,使用少量高速存储器,CPU中的寄存器就是这种存储器;用适量的中速存储器来存储要经常访问的内容;用低速存储器来存储那些不经常访问的数据,主存就是这种。
5.2.3 高速缓冲存储器
高速缓冲存储器的存取速度要快于主存,但慢于CPU的寄存器。高速缓冲存储器通常容量较小,常被置于CPU与主存之间。
高速缓冲存储器在任何时候都有主存中一部分内容的副本。CPU在存取主存中的一个字时,按以下步骤进行:
1. 首先检查高速缓冲存储器;
2. 如果要存取的字在,CPU就将它复制;如果不存在,CPU从主存中复制一份从需要存取的字开始的数据块(因为下一个要存取的字大概率是上一个的后续)。该数据块将覆盖高速缓冲存储器中的内容;
3. CPU从高速缓冲存储器中进行存取。
高速缓冲存储器容量小但效率高是由于80-20规则。据观察,通常计算机花费百分之八十的时间来读取百分之二十的数据。
5.3 输入/输出子系统
这个子系统可以使计算机和外界通讯,并能够在断电的时候存储程序和数据。分为两大类:存储设备和非存储设备。
5.3.1 非存储设备
非存储设备可以使计算机和外界通讯,但不能存储信息。两个最常见的非存储设备是键盘和监视器,打印机是一种用于产生永久性记录的输出设备。
5.3.2 存储设备
有时称为辅助存储设备,通常分为磁介质和光介质两种。
5.3.2.1 磁介质存储设备
磁介质存储设备使用磁性来存储数据,有磁性表示1,无磁性表示0.
磁盘:磁盘由一张张地磁片叠加而成,这些磁片由薄磁膜封装起来。信息是通过磁头读写磁介质表面来进行存取的。
为了将数据存储在磁盘表面,每个盘面都被划分成磁道,每个磁道又被分为若干扇区,磁道由磁道间隔隔开,扇区由扇区间隔隔开。磁盘是一个随机存取设备,在某一时间可读取地最小存储区域只能是一个扇区。数据可以存储在一个或多个扇区上,但信息的获取不需要通过读取磁盘上的其他信息。
磁盘的性能取决于角速度(转动快慢)、寻道时间(磁头找到数据所在磁道的时间)、传送时间(数据从磁盘转移到CPU或内存的时间。
磁带:磁带用两个滚轮承接起来,当转动的磁带通过读/写磁头时,就可以通过磁头来读写磁带上的数据。
磁带的宽度可分为九个磁道,八位存储数据,一位用作错误检测。磁带是顺序存取设备,要想读取指定的数据,必须先按照顺序读取它前面所有的数据。尽管磁带速度慢,但是它非常便宜。
5.3.2.2 光介质存储设备
使用光(激光)技术来存储和读取数据。
只读光盘(CD—ROM):使用与CD相同的技术,两者间唯一的区别是增强程度不同,只读光盘更健壮,纠错能力强。下图给出了只读光盘的制造和使用步骤。
首先使用高能红外激光在塑料涂层上刻写位模式来制造主盘。激光束使位模式变成一系列坑(代表0)和纹间表面(代表1)。然后依照主盘,做成相应的模盘,模盘上凸起表示0。最后,溶解的聚碳酸酯树脂被注入模盘,同时将一层非常薄的铝(反射层)加到聚碳酸酯树脂上,最后加一层保护漆和标签。
在读取光盘时,激光束经过坑处的表面会反射,到反射层也会反射,所以有坑的地方会反射两次,纹间表面反射一次,所以纹间表面反射的光更多。这就可以读取到光盘上的数据。
可刻录光盘(CD—R):写一次,读多次。不需要使用主盘和模板,在聚碳酸酯树脂和反射层之间加一层染料,高能激光束在染料上烧制深色点(用来模拟坑)。读取时,深色部位不反射光。
可重写光盘(CD—RW):与可刻录光盘相似,但烧制的材料可以复原。读取与可刻录光盘相似。
DVD:有更大的存储空间,能够存储更大的视频数据等。
5.4 子系统的互联
5.4.1 CPU与存储器的连接
数据总线:由多根线组成,每根线每次传送1个位的数据。线的数量取决于计算机字的大小。例如,计算机的字是32位(4字节),那么需要32根线的数据总线,以便同一时刻同时传送32位的数据。
地址总线:允许访问存储器中某个字的地址,地址总线的线数取决于存储空间的大小。例如,存储器容量为2的n次方个字,那么地址总线一次需要传送n位的地址数据,因此需要n根线。
控制总线:负责在中央存储器和内存之间传送信息。例如,必须有一个代码从CPU发送到内存,用于指定进行的是读还是写操作。控制总线的线数取决于计算机所需要 的控制命令的总数。如果计算机由2的m次方条控制命令,那么控制总线就需要有m根,因为m位可以定义2的m次个不同的操作。
5.4.2 I/O设备的连接
输入/输出设备不能直接与CPU和内存的总线连接,因为它们数据的本质不同,而且传输速度也比CPU和内存慢很多,所以必须要有控制器(接口)来将这些设备连接到总线上。
控制器:或者说接口,清除了输入/输出设备与CPU和内存在本质上的障碍。控制器可以是串行或并行的设备。串行只有一根线连接到设备上,并行则有多根线连接到设备上。如今最常用的控制器有:SCSI、火线、USB及HDMI。
SCSI:小型计算机系统接口,是一个8、16或32线的并行接口。如图,它提供了菊花链连接,连接链的两端都必须有终结器,并且每个设备都必须有唯一的地址。
火线:是一种高速的串行接口,数据采用数据包的形式传送。它可以在一条菊花链或树形连接上连接多达63个设备,同SCSI不同,它不需要终结器。
USB:通用串行总线,用以连接与计算机相连的一些低速和高速设备。多个设备可以被连接到一个USB控制器上,这个控制器称为根集线器。USB-2允许多达127个设备组成的树状拓扑结构连接到一个USB控制器上,其中控制器作为树的根,设备作为末端节点。控制器(根集线器)与其他集线器的不同之处在于根集线器能感知到树中其他集线器的存在,而其他集线器只是简单的传送数据。设备可以不需要关闭计算机很容易的被移除或连接到树中,这称为热交换。USB使用4根线的电缆,两根线(+5V和地)用来向低压设备提供电压,其他两根线(缠绕在一起,以减小噪声)用来传送数据、地址和控制信号。USB有三种不同的连接头:A、B、C。USB-2提供三种传送速率:1.5Mbps(每秒兆位)、12Mbps和480Mbps。低速率可以用于低速设备,如键盘鼠标,中速率用于打印机,高速率用于大容量的存储设备。USB3.0是对计算机连接方对通用串行总线(USB)标准的再一次修订,增加了一个新的叫做“SuperSpeed”(超感)传输模式,可以将数据传输速率提升至4.8Gbit/s,根据承诺,USB3.0的速率将更新至10Gbit/s。
HDMI(高清清晰度多媒体接口):是现有视频模拟标准的数字化代替品,它可以用来从一个资源向另一个兼容的计算机显示器、 视频投影仪、数字电视或数字音像设备传输视频数据和数字音像数据。
5.4.3 输入/输出设备的寻址
I/O独立寻址:用来存取内存的指令和存取输入输出设备的指令是不同的,所以输入输出设备可以和内存有相同的地址,根据指令就能分辨出来是在内存操作还是在输入输出设备操作。
I/O存储器映射寻址:CPU用来存取输入输出设备和存取内存的指令是一样的,将输入输出设备的地址看作是内存中的地址,内存就不能再使用输入输出设备使用的地址,也就是说,内存大小减小了。
5.5 程序执行
5.5.1 机器周期
CPU利用重复的机器周期来执行程序中的指令,一步一条,从开始到结束。一个简化的机器周期包括3步:取指令、译码和执行。
取指令:在取指令阶段,控制单元命令系统将下一条要执行的指令复制到CPU的指令寄存器中,被复制指令的内存地址放在程序计数器中,复制完成后,程序计数器+1,指向下一条将要执行的指令。
译码:控制单元将指令译为机器能执行的二进制代码。
执行:控制系统控制CPU的某个部分执行指令。
5.1.2 输入/输出操作
因为输入/输出设备的运行速度比CPU慢很多,所以CPU的操作在某种程度上要和输入/输出设备同步,有三种方法用于同步。
程序控制输入/输出:CPU等待I/O设备。当CPU遇到一条I/O指令时,它就停止工作直到数据传输完毕。CPU不停的查询I/O设备的状态:如果准备好了,数据就被传入CPU;如果没准备好,CPU就会一直查询直到设备准备好。这种方法的问题就是,CPU浪费了大量的时间去查询I/O设备的状态,降低了性能。
中断控制输入/输出:CPU先告知设备即将开始传输,然后就去做其他工作。当I/O设备准备好的时候,它通知(中断)CPU,开始传输任务。
直接存储器存取(DMA):这种方法用于在高速I/O设备间传输大量数据块,DMA承担一部分CPU的功能。CPU首先发送消息给DMA。这些消息包括传输类型、内存单元的起始地址以及传输的字节数,之后CPU就可以做其他工作。当准备好传输数据时,DMA通知CPU它需要获得总线的使用权,CPU在这时候停止使用总线,等待传输完成。在这种方法中,CPU只有在数据传输时是空闲的,大大提高了CPU的性能。
5.6 不同的体系结构
5.6.1 CISC(复杂指令集计算机)
CISC体系结构的设计策略是使用大量的指令,包括复杂指令,所以程序设计比较容易,因为每一项复杂的工作都有对应的指令。但这使得CPU和控制单元的电路非常复杂。
CISC体系结构的设计者提出了减少这种复杂性的解决方案:程序在两个层面上运行,CPU不直接执行机器语言指令,CPU只执行被称为微操作的简单操作,复杂指令被转化为一系列简单操作后由CPU执行,使用微操作的程序设计被称为微程序设计。
CISC体系结构的一个例子是英特尔公司开发的奔腾处理器。
5.6.2 RISC(精简指令集计算机)
RISC体系结构的策略是使用少量的指令完成最少的简单操作,复杂指令用简单指令模拟。在RISC中程序设计比较困难,因为复杂指令都需要使用简单指令来完成。
5.6.3 流水线
我们直到简化的机器周期有三个部分:取指令、译码和执行。在早期的计算机中,只有当上一条指令执行完成后,下一个机器周期才会开始。现代计算机使用流水线来改善吞吐量(单位时间内完成的指令总数)。这个理念是如果控制单元能够同时进行不同指令的不同阶段,那么运行效率就会大大增加。
5.6.4 并行处理
计算机传统上有单个控制单元、单个算术逻辑单元、单个内存单元。随着硬件技术的发展,现代计算机可以有多个控制单元、多个算术逻辑单元、多个内存单元。这个思想称为并行处理,像流水线一样,并行处理能改善吞吐量。
SISD组织(单指令流单数据流):计算机只有一个控制单元、一个算术逻辑单元、一个内存单元。指令被顺序执行,每条指令可以存取数据流中的一个或多个数据项。
SIMD组织(单指令流多数据流):计算机有单个控制单元、多个算术逻辑单元和一个内存单元。所有处理器单元从控制器接收相同的指令,但对不同的数据进行操作。
MISD组织(多指令流单数据流):是一个概念,从未被实现。
MIMD组织(多指令流多数据流):真正的并行处理体系结构,可同时执行多个任务。处理器从控制器接收不同的指令,对不同的数据进行操作。
5.7 简单计算机
为了解释计算机的体系结构,还有指令处理,引入一台简单计算机(非真实)。
简单计算机包含三个部分:CPU、输入/输出子系统、主存储器。
CPU包含三个部分:控制单元(指令寄存器、程序计数器)、算术逻辑单元、寄存器(16个16位寄存器)。
主存储器:256个16位的存储单元,主存中存储数据和程序。
输入/输出子系统:键盘和监视器,地址采用映射寻址。
指令集:简单计算机具有16条指令集合的能力。每条计算机指令由两部分组成:操作码和操作数。操作码说明了执行的操作类型。每条指令16位,被分为4位一组的4个域,最左边的域是操作码,其他三个域含有操作数的地址。
现在假定需要相加161+254=415.每个周期由三步组成,那么完成这个运算需要五个周期。
周期1:
第一个周期开始时,程序计数器指向第一个要执行的指令。
取指令:控制单元取出存储在该地址的指令,放入IR中,PC+1;
译码:控制单元将指令译为二进制码(1040)16为R0<--M40;
执行:控制单元将整数副本放入寄存器中。
接下来的几个机器周期都很相似,只有指令的区别。
无论是读取还是存储操作,CPU都会从内存中输入数据或是将输出数据放回内存中,这时因为CPU中的寄存器数量并不多,无法存放过多的数据,完成简单的加法可以在CPU中存储,如果进行1000个数的排序,那么CPU的寄存器是完全不够的,所以要将数据放在内存中。
相关文章:
计算机科学导论笔记(三)
五、计算机组成 计算机组成部件可以分为三大类(子系统):中央处理单元(CPU)、主存储器和输入/输出子系统。 5.1 中央处理单元(CPU) 中央处理单元用于数据的运算,分为算术逻辑单元&a…...
Stream——数字类型的字符串排序
文章目录前言什么是数字类型的字符串一个简单的坑demo拯救坑代码对象集合中的数字类型排序(有坑)对象集合中的数字类型排序 解决扩展将数字类型字符串数组转换为Integer集合总结前言 想到给数据进行排序,一开始头脑中想到的就是sorted(),本篇文章重点说…...
.NET 8 预览版 1 发布!
.NET 8 是一个长期支持(LTS) 版本。这篇文章涵盖了推动增强功能优先级排序和选择开发的主要主题和目标。.NET 8 预览版和发布候选版本将每月交付一次。像往常一样,最终版本将在 11 月的某个时候在 .NET Conf 上发布。 .NET 版本包括产品、库、运行时和工具…...
WebGIS学习路线
7年经验的webgis码农在此文跟大家分享一些一路走来的所见所闻。希望能帮助刚刚跨入这个门槛的你。 入门之前我相信你已经搞清楚了以下几个问题: 1.什么是webgis? 2.webgis能够解决什么样的问题? 3.为什么你要学习webgis? 如果还没考虑清楚也没关系,可能你看完这篇文章…...
【独家】华为OD机试 - 停车场最大距离(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...
12.typedef的使用与结构体定义
欢迎访问个人网络日志🌹🌹知行空间🌹🌹 文章目录1.基础介绍2.typedef 的常用的几种情况3.使用typedef可能出现的问题参考资料1.基础介绍 typedef是C/C语言中保留的关键字,用来定义一种数据类型的别名。 typedef并没有…...
宝塔+docker+jenkins部署vue项目(保姆级教程)
1.使用宝塔安装docker 在软件商城安装Docker管理器 2.使用docker下载jenkins镜像 使用命令行 docker pull jenkins/jenkins:lts //lts表示支持版本较长3.创建并且挂载jenkins目录并赋值 jenkins_home为我创建的目录 可以修改任意目录 mkdir -p /jenkins_home cho…...
JVM面试总结
1.java内存模型JMM是java的内存模型,JMM-也叫Java Memory Model,这里反应翻译成存储更好,因为工作内存指的不是内存.而是CPU寄存器,主内存才是内存.屏蔽了各种硬件和操作系统的内存访问差异-把硬件的细节封装起来,实现让java程序在各平台下都能达到一致的内存访问效果,它定义了…...
C语言——文件操作
文章目录0. 思维导图1. 为什么使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名3. 文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭4. 文件的顺序读写4.1 字符/字符串写入(出)4.2 格式化写入(出)4.3 二进制输入&#…...
使用aim7测试内核性能变化
aim7是一个功能强大的性能测试套件,可以用来测试内核的性能变化情况,尤其是在修改内核源码后,用来测试补丁对内核性能的影响情况。aim7测试结果中有一个重要的统计项:jobs/min,即每分钟完成的任务数量,可以…...
C++——内存管理
一,为什么要有内存管理因为在C/C中各个内置类型或者是自定义类型的大小都不一样,而如何让各个类型在内存中合理分布就非常有必要,由此我们就需要有内存管理。我们来看看下面这个程序中的各个变量都是如何分布的int globalVar 1; static int …...
AOP的另类用法 (权限校验自定义注解)
👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 AOP的另类用法 (权限校验&&自定义注解) 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉…...
[数据结构]:12-快速排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 快速排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代…...
运算符——“Python”
各位CSDN的uu们你们好呀,好久没有更新Python文章了,今天,小雅兰的内容就是Python中的操作符啦,那么现在,就让我们进入Python的世界吧 注释 注释是什么 注释的语法 注释的规范 输入输出 和用户交互 通过控制台输出 通…...
2022 IoTDB Summit:华为王超《Apache IoTDB 在华为云的实践》
12 月 3 日、4日,2022 Apache IoTDB 物联网生态大会在线上圆满落幕。大会上发布 Apache IoTDB 的分布式 1.0 版本,并分享 Apache IoTDB 实现的数据管理技术与物联网场景实践案例,深入探讨了 Apache IoTDB 与物联网企业如何共建活跃生态&#…...
C 语言网络编程 — PF_NETLINK sockets
目录 文章目录目录PF_NETLINK socketsPF_NETLINK sockets Linux 提供了 4 种 User Process 和 Kernel 之间进行通信的 IPC(Inter-Process Communicate,进程间通信)方式: /procioctlsysfsPF_NETLINK sockets(Netlink …...
广州银行冲刺A股上市:不良贷款规模突破100亿元,不良率飙升
又一家城商行平移申报IPO。近日,广州银行股份有限公司(下称“广州银行”)递交招股书,准备在深圳证券交易所主板上市。本次冲刺上市,广州银行计划募资约94.79亿元,国泰君安证券为其保荐机构。 截至目前&…...
【C++】bsearch函数的使用及二分法查找介绍
写程序的时候,肯定避免不了需要从集合中找到符合条件的元素,一般情况下,最简单也最常用的就是循环遍历元素,这种方法虽然写的简单,但是小数据量还行,但是数据过大的话,这样效率就低了。循环的时…...
分布式系统中的补偿机制设计问题
我们知道,应用系统在分布式的情况下,在通信时会有着一个显著的问题,即一个业务流程往往需要组合一组服务,且单单一次通信可能会经过 DNS 服务,网卡、交换机、路由器、负载均衡等设备,而这些服务于设备都不一…...
类成员的方法
初识对象 生活中或是程序中,我们都可以使用设计表格、生产表格、填写表格的形式组织数据进行对比,在程序中: 设计表格,称之为:设计类(class) 打印表格,称之为:创建对象 …...
华为OD机试真题Python实现【端口合并】真题+解题思路+代码(20222023)
端口合并 题目 有M(1<=M<=10)个端口组, 每个端口组是长度为N(1<=N<=100)的整数数组, 如果端口组间存在 2 个及以上不同端口相同, 则认为这 2 个端口组互相关联,可以合并 第一行输入端口组个数 M,再输入 M 行,每行逗号分隔,代表端口组。 输出合并后的端口组…...
自考本科计算机网络原理(04741)历年大题真题【18年10月-22年10月】
文章目录一、简答题(历年真题)18年10月-22年10月历年简答题出题情况分析2018年10月2019年4月2019年10月2020年8月2020年10月2021年4月2021年10月2022年4月2022年10月二、综合题(历年真题)2018年10月2019年4月2019年10月2020年8月2…...
计算机SCI期刊投稿,除了投稿信,还要做什么准备? - 易智编译EaseEditing
投稿信的准备 期刊的编辑往往需要一些有关作者及其论文的信息。 而作者也希望给编辑提供一些有助于其全文送审及决策的信息。 这些信息都应该包括在投稿信中。 投稿信应包括以下几方面的内容: 文题和所有作者的姓名;稿件适宜的栏目; 为什么此论文适合于在该刊而…...
Allegro如何刷新封装和库里的封装同步操作指导
Allegro如何刷新封装和库里的封装同步操作指导 在做PCB设计的过程中,有时会因为库里的封装有更新,所以PCB上使用到了这个封装时候需要和库里的同步,如下图 如何刷新,具体操作如下 点击Place点击Update Symbols...
基于Vue3手写选课组件(含时区切换,拖拽选择)
环境说明 基于vue3vite 无关联别的ui框架,组件化 初次使用vue3,技术菜,大佬勿喷 main.ts "moment": "^2.29.4","moment-timezone": "^0.5.41",import moment from moment; import momentTz from &…...
准备好了吗?加入 GDE 成长计划,成为下一位谷歌开发者专家!
谷歌开发者专家 (Google Developer Experts,GDE),又称谷歌开发者专家项目,是由一群经验丰富的技术专家、具有社交影响力的开发者和思想领袖组成的全球性社区。通过在各项活动演讲以及各个平台上发布优质内容来积极助力开发者、企业和技术社区…...
搭建帮助中心的 8 个最佳工具
网站帮助中心的作用通过向客户表明您了解他们所面临的问题以及如何提供帮助来建立信任;通过回答常见问题来改善客户服务,增强专业的品牌形象;通过减少重复发送给支持人员的电话和电子邮件,节省时间和金钱;增强您在搜索…...
LQB小板焊接V3版本的小板原理图,PCB图,注意事项和步骤
第一部分,这个部分,可以不焊接,直接用买的下载器进行下载代码,外接一个下载器,网上大概是10元左右,以后学习stm32的芯片的时候,这个下载器就是一个串口转换器,也可以使用。。 当然也…...
华为OD机试真题Python实现【翻转单词顺序】真题+解题思路+代码(20222023)
翻转单词顺序 题目 输入一个英文文章片段 翻转指定区间的单词顺序,标点符号和普通字母一样处理 例如输入字符串 I am a developer. 区间[0,3]则输出 developer. a am I 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输入 使用换行隔…...
微机原理和计算机组成原理复习
1:冯诺依曼机器的主要特点? 1)计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成; 2)指令和数据存储在存储器中,并可以按地址访问; 3)指令和数据均以二进制表示&…...
石家庄做网站比较好的公司/软文网站名称
这篇文章主要介绍了Python二次规划和线性规划使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 对于二次规划(quadratic programming)和线性规划(Linear Programming&a…...
四川学校网站建设/qq推广官网
2019独角兽企业重金招聘Python工程师标准>>> VPPDropDown 是一个 iOS 组件,通过 UITableView 实现了类似下拉列表的菜单。 转载:http://www.adobex.com/ios/source/details/00000701.htm 转载于:https://my.oschina.net/u/868244/blog/105977...
简约风格网站设计/广州网站运营专业乐云seo
question: 开平方用 sqrt(), 开三次方用什么啊? answer: 开立方也就是求 1/3 次方, 所以可以用pow()函数 example: #include <stdio.h> #include <math.h>int main() {double a pow(8, 1.0 / 3);printf("%f\n", a);return 0; }程序运行结…...
网站制作厂家/网站的推广方法
1清楚一个项目的工作量有多少。 2了解一个项目中每一个组成部分的工作难度是怎么样的。 3对项目中每一个组成部分需要多少时间来完成心中要有数。 4熟悉同伴们的工作特点和强项所在,有针对性的分派任务。 5一定要分工明确,让每一个人清楚知道自己要完…...
wordpress中footer函数/google搜索引擎入口 镜像
内涵图转载于:https://www.cnblogs.com/jhcla/p/4390174.html...
宽屏网站背景/网络营销推广软件
Map JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。为了解决这个问题,ES6 提供了 Map 数据结构。它类似于对象&am…...