微机原理与接口技术知识点总结——绪论

news2024/11/26 8:38:27

1.1、计算机发展概述

早期计算机的用途主要是用于算数,一直到20世纪电子领域基础研究的突破,也就是电子计算机的诞生,计算机才变得如此广泛。以微电子技术为基础制造的电子计算机已经完全取代了机械计算机和机电计算机,因此电子计算机直接简称为计算机。根据信息的表达形式不同,电子计算机可以分为电子模拟计算机和电子数字计算机。电子模拟计算机采用连续的模拟电信号表达信息,以运算放大器等处理模拟电信号,计算精度取决于模拟期间,而且必须通过手动更改模拟电路才能改变处理过程,精度比较低,只用在某些专业领域。电子数字计算机是采用离散的数字量表达和处理信息,计算精度有保证,易于实现可编程控制,因此是发展的主流,现在所说的计算机一般说的都是电子数字计算机,今天的电子数字计算机已经不限于数值计算,强大的计算的计算能力和极高的计算速度已经称为处理声音,图像等的重要工具。

电子数字计算机可以分为四个发展阶段:

1945-1955年:电子管时代  主要用于基础数值的计算

1955-1965年:晶体管时代(体积更小,花费少)主要用于科学和工程计算

1965-1970年:集成电路时代,此时的计算机不再限于数学计算,还可以用于数据处理和文字处理。

1970-1978年:大规模集成电路时代、超大规模集成电路时代:1978年到现在,此时的计算机出现了两个大的分支,一种是巨型计算机。也成为超级计算机,并无明确定义,主要说的是当代一定时期内计算能力最强的计算机,耗资巨大,代表了一个国家的最高计算机技术,代表国家能力的体现,这种主要用于天文、量子化学、核物理等等领域。

另一种分支是微型计算机,也叫微机,这个用的领域十分广泛。

这个时代的一个标志性事件就是集成了控制单元和运算单元的集成电路芯片的诞生,也就是中央处理器CPU和微处理器,随着这玩意的诞生,改变了世界。

微处理器:

作为微机的核心,微处理器在30年内的时间里更新换代的速度超过了大多数人的想象/

通常衡量微处理器的性能有两个,一个是字长,指微处理器一次能计算的二进制数据的位数,表征了微处理器的运算能力;另一个是时钟频率,说的是触发微处理器工作的时间节拍,表征微处理器的工作速度。

对于继承电路,更高的集成度意味着电子传送距离短,工作频率高等等,随着发展,集成度也不断增高,目前主流的微处理器采用的是45nm工艺,从理论角度,硅晶体管集成工艺还能够继续缩小到4nm的级别。

1.2、计算机中的信息编码

计算机是处理信息的机器,除了数值信息以外,还有文字、符号等信息, 所以计算机使用数字信息来表达这种信息,若干位数字的组合可以表达多种信息而又不混淆,称为编码。列如,5位10进制数的组合有100000种,即可以表达100000种,即计算机可以表达100000种信息而不混淆。这种按照约定形成的信息的编码称为数据,数据是信息在计算机中的表达形式,同理,数字计算机的指令。指令是控制计算机执行某种操作的命令也是用数字编码来表达的。

自从楚泽在Z-3计算机首次采用二进制计数后,现代电子数字计算机都采用二进制编码,为啥采用二进制而不采用人们所熟悉的十进制有以下两个原因:

1、二进制是最基本的进位计数系统,容易表达。二进制只有两个基本数字:0和1,基本数字最小的进制。计算机内的电路只要能实现两种状态的表达都可以实现二进制数的表达,而我们习惯的10进制,表达计算机中的10种状态很难

2、二进制的运算规则简单,可以通过逻辑和移位电路实现。而要实现十进制的运算规则,实现电路就复杂很多了。

因此,现代电子数字计算机中存储和处理的所有信息都采用二进制编码。计算机在表达不同类型信息的时候,采用不同的编码形式。为了区分数值本身及其编码,一般将表达数值的编码称为机器数,将数值本身称为真值。

整数的编码

计算机中定义两类整数:无符号数和符号数

1、 无符号数编码

无符号数没有符号,不考虑符号的编码,所以实际上无符号数编码可以直接使用真值的二进制形式,8位二进制编码可以表示256个无符号数。

由于无符号数编码就是真值,显然,无符号数编码可以直接进行算数计算。如

计算机的字长是有限的,有限位数的无符号数编码也只能表达一定范围的无符号数,如果运算超出这个范围,就会产生错误,这种情况叫做溢出。例如:

由于8位无符号数编码表达的真值范围是0-255.300超出了无符号数所能表达的范围,没有对应的8位无符号数编码,上面这个加法得到的结果肯定是错误的。

2、符号数编码

符号数编码不仅要表示真值绝对值,而且还要表示符号,有4种编码方法,分别是原码,反码,补码以及移码。

2.1原码

原码的概念其实就是最高位标识符号,0是非负数,1为非正数,其他是真值绝对值也就是数的二进制表示。八位原码的范围是-127-+127。

原码的特点用于乘、除法比较方便,可以独立地对符合和真值绝对值进行处理,但是加减法很复杂,首先需要通过两个原码的符号,确定实际要做加法还是减法,然后可能还需要比较真值绝对值的大小,才能判别出结果的符号。0的原码有两个:

2.2反码

 由于加、减运算是算法逻辑单元的基本操作,基本频率要高于乘、除操作,而原码的符号位不参与运算,需要单独处理,因此为了解决问题,提出了反码。

从反码的定义可以知道非正数的反码是除符号位外的真值绝对值的按位取反得到了,故称为反码。8位反码的编码表如图所示,共-127-+127,255个符号数。

反码运算如下所示,看下就好了。

0的反码依然是2个

2.3 补码

反码较好的解决了符号参与运算的问题,但是效率低,因此为了简化我们的算术逻辑单元,引入了补码。补码的定义,非负数就是不变,非整数就是补码+1。八位二进制数的补码范围是-128-+127,也是256个符号数。

当代计算机都是用的补码表示法,特点如下。

和反码一样,补码的符号位一起参与了加、减运算。

0的补码只有一种表示方式。

2.4 移码

定义:

从移码的定义上,可以看出,移码是在补码的基础上加上一个偏量Bias得到的。

3、实数的编码

实数中包含小数点,可表示为若干等价形式。作为规格化形式,任何一个不为0的实数X都可唯一表示为:

M为小数形式,称为尾数,表示X所有的有效数字。

R为采用的进位制的基。

E为整数,称为指数,跟X的小数点的位置有关。

下边举一个例子:

计算机中的实数编码有两种形式,分别是定点和浮点编码,区别在于是否固定指数,就是小数点的位置。

4、其他东西的编码方式

十进制的二进制编码称为BCD码,可以用4或者8位二进制数来进行编码。两方式分别被称为压缩性十进制的二进制编码或者是非压缩的,如下所示。

英文符号的编码,美国国家标准学会ANSI1963年公布的ASCII编码。这个应该都知道

汉字的编码,我国第一个发布的编码标准是GB2312采用2字节,每个字节7位编码,共计字符7445个。

多文种的编码,为了便于处理多个文种的同时处理,对世界上的所有文字进行统一编码,国际标准化组织和Unicode协会共同发布了新的编码字符集标注,

1.3、计算机运行原理

下边介绍几个概念

计算机是可以自动计算(自行处理数据)的机器。计算机必须能够接受命令,并能够根据命令实现相应的操作,这是自动计算的基础,在计算机运行之前,要告诉计算机一些命令,这些命令的组合就成为程序。

程序(program)是实现特定应用的数据定义和指令序列,数据是计算机自动计算的对象,指令是指挥计算机执行各种操作的命令,一条指令对应于一种基本操作,指令也是通过二进制编码形式实现的,

在研制计算机的时候,就已经设计好了这台计算机能执行的所有操作并定义了相应的命令,这些指令的结合称为指令集。

数据定义说明了对数据的组织,数据的组织方法称为数据结构。指令序列说明程序的指令不是乱放 的,而是按照实现特定应用的方法,有序地处理数据,实现特定应用的方法称为算法。程序就是数据结构加算法。

计算机的组成结构

1、图灵机和通用计算机

下图为根据图灵机归纳的通用计算机结构。

这里有几个概念比较有意思。控制规则是由布尔逻辑模块实现,根据存储器读取的数据和寄存器保存的当前状态,布尔逻辑模块完成向另一个状态转移的工作。

纸袋就表示的是存储器,其他部分是由有限状态机代替,有限状态机是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型。

寄存器是记录一个数据的装置,而存储器是由多个寄存器组合而成的序列。

这类计算机可以成为专用计算机,专用计算机和通用计算机之间的重要区别是是否可以编程。

2、冯 诺伊曼结构

1945年,德国任总结出一种计算机结构,该结构被称为冯 诺伊曼结构或者是普林斯顿结构。结构如图。

早期的计算机,由于处理的数据有限,数据存储器和逻辑处理部分一般结合在一起。冯 诺依曼结构将数据的存储与处理分离,设置独立的存储器存储数据和指令,并使用二进制编码数据和指令。程序存储使计算机具有可编程能力,是一种实际化的图灵机结构,因此,现代计算机基本都是沿用这个结构。

另一种设计结构是由哈佛大学提出的哈佛结构。哈佛结构的不同之处,在于将指令和数据分开存储,结构较为复杂。哈佛结构的有点是效率高。

根据 冯 诺伊曼结构,计算机必须有五个基本部分:算数逻辑单元、存储器、控制器、输入设备和输出设备。

算术逻辑单元实现数据处理,计算机作为信息处理的工具,数据处理是最根本的功能,一般应完成基本的算术和逻辑运算操作。其中,累加器是一种暂存器,用于存储处理过程中所产生的中间结果,避免频繁访问存储器而造成的算数逻辑单元等待,现代算术逻辑单元一般设计有多个暂存器。

存储器用来暂存原始数据、中间结果、最后处理结果以及程序。

输入设备实现原始数据和程序的输入,如键盘、鼠标、光电读入机,输出设备实现处理后的结果的输出,如显示器,打印机。输入和输出设备也合称为I/O设备或者外设,外设极大扩展了计算机的应用领域。

3、以存储器为中心的冯 诺伊曼结构

早期的计算机以算数逻辑单元为中心,除了该单元访问存储器外,外设也要通过算术逻辑单元访问存储器,这样影响效率,所以现代计算机逐渐改成以存储器为中心的结构了,如下图。

 计算机的5个基本部分的关系可以通过它们之间形成的两种信息流来表示。

一种是数据流,数据流以存储器为中心,其他部分的数据传送都要过存储器进行暂存中转,输入设备输入的原始数据和程序要暂时存放在存储器,控制单元从存储器读取指令,算数逻辑单元从存储器得到原始数据,处理后的结果再存回存储器;输出设备输出从存储器传来的最终处理结果。数据流表征了配合数据处理和程序执行所必须的操作——数据传送。

另一种是控制流,控制流以控制单元为中心,控制单元从存储器中读取指令,根据指令译码产生向其他部分的控制信号,安排算术逻辑单元进行数据处理,协调各部分之间的数据传送,控制流表征了计算机自动运算的实现——程序执行。

微机的组成结构

 微机作为LSI(大规模集成电路)、VLSI(超大规模集成电路)技术的产物。主要以性价比作为设计目标,在结构上有两个显著特点,一个是采用CPU,二是,各个组成部件之间采用总线连接。

下图是一个典型的微机结构,微机由CPU、存储器、I/0接口等主要部件组成,各部分之间通过总线在一起,时钟为CPU提供时钟节拍,输入/输出设备不再作为微机的标准部件。

1、总线

在冯结构中,五个部分是通过数据流和控制流互联在一起,但这种形式连接复杂,难以扩展,而且还会制约各自发展。

总线(Bus)是连接各部件之间的一组公共信号线,微机采用总线解结构,各部件之间的关系由风结构之间的相互连接,转变为全部面向总线的双向连接,不再直接互联,有助于各部件的独立发展,避免相互限制。全部面向总线,符合总线标准的期间都可以连接总线而融入微机。

总线一开始为CPU引脚的眼神,后来制定了独立的微机总线标准,曾静和目前使用广泛的总线标准由ISA,PCI等,制定一个总线标准一般要包括合适的物理尺寸、信号、通信协议等等。

尽管总线的标准不同,但围绕总线上各部件之间数据传送的目的相同,总线按功能分为三类,分别是数据总线,地址总线和控制总线

2、CPU

算法逻辑单元和控制单元(合称为CPU)集成到一片VLSI芯片上,CPU从存储器总取指令,译码并执行,是微机系统的核心;指令的执行又分为两类功能:1、控制总线上个部件之间的数据传送,2、控制算术逻辑单元的数据处理。对算术逻辑单元的控制在CPU内完成,而对数据传送的控制在由CPU发出和接受标准总线信号实现的,

3、存储器

存储器存储数据和程序,构造上是带译码电路的寄存器阵列。

4、I/O接口

微机结构增加了输入/输出部件,完全是输入/输出设备面向总线的结果。

面向总线标准设计制造的CPU和存储器,接入总线显然没有问题,但面向应用的输入和输出设备,种类单多,虽然制定了通信标准,但是在信号定义等与总线标准存在较大差异,因此输入/输出设备无法直接接入总线。

I/0接口作为输入/输出设备与总线之间的缓冲电路,在外设测以输入/输出设备的通信标准信号实现数据交换,在总线侧则与存储器类似,被CPU通过总线标准信号访问。

5、时钟

时钟的作用就是产生一定频率的脉冲信号。从冯结构中看不到有关时钟的部分,但作为时序逻辑电路,CPU的任何操作,包括控制单元的取值、译码和执行,以及算术逻辑单元的数据处理,都是通过在时钟脉冲触发下有序进行的。这个以时钟脉冲为时间节拍发生的过程就是时序(timing)。

时钟脉冲的频率就是CPU的工作频率,频率越高,CPU操作速度越快,时钟脉冲周期就是时钟周期,作为CPU的最基本操作的时间节拍,也是微机的最小定时单位。

执行一条指令的时间称为指令周期,由于所有最基本的操作的定时单位是时钟周期,显然指令周期由若干个时钟周期组成,如下如所示,以时钟脉冲为节拍,说明了某条指令可能的指令周期。指令周期包括取指周期和执行周期两个阶段。执行周期又包括译码、取操作数、数据处理和存操作数等步骤,从图开看出,CPU译码需要一个时钟周期,数据处理需要3个时钟周期,每次数据传送(取指、存取操作数)需要4个时钟周期。

数据处理的时钟周期数会由于操作的不同而不同,乘法比加减法需要的更多,需要更多的时钟周期,但是控制数据传送的数据周期一般是固定的,这是因为CPU以总线标准信号访问总线,每次都是类似的基本操作,把CPU访问一次总线的时间称为总线周期,显然这里的总线周期为4个时钟周期组成。

模型机

1、地址和地址空间

存储器是带译码电路的存储器阵列,数据存储为字节序列。字节是存储器的基本单位,字节最初定义为8位二进制数据,根据需要也可以定义为其他长度,一般不指明,就都是8为二进制,每个存储器单元(存储器中的存储器一般称为存储器单元)存储一字节并对应唯一的编号,编号称为地址。通过地址,存储器译码电路就可以唯一定位对应的存储器单元,地址也是二进制编码,设模型机存储器又256个存储器单元,则地址编码需要8个二进制数。

与存储器类似,I/O接口中的每个接口也存储一个字节并对应唯一的地址。设模型机的I/O端口有16个,那么I/O口接口译码电路需要4位二进制编码的地址,才可以做好划分。

CPU从存储器取指令是,必须发出指令所在存储器单元的地址,程序计数器就是暂存这个地址的寄存器。CPU根据指令访问存储器单元或者I/O口的数据时,也必须发出相应的地址,地址寄存器就是暂存这个地址的地方,总线中的地址总线,其功能就是从CPU向存储器和I/O基于的译码电路传送地址。译码电路对地址译码后,即可定位到相应的存储器单元或者I/O端口,这个过程就是寻址。

CPU发出的地址编码的位数,决定了能够寻址的数目,CPU发出的所有地址形成了一个连续的线性空间,这个空间称为地址空间,表达寻址的范围。这里设模型及采用8位地址编码,则可寻址的存储器单元和I/O端口的数目位256个。形成的地址空间为:

为了正确寻址存储器单元和I/0端口,在地址分配上一般可以采用两种方式,一种方式是将地址空间的一部分分配给存储单元,另一部分给I/O端口,通过统一的地址就可以寻址到相应的存储器或者I/O端口,这种方式称为统一寻址。如图所示。

另一种方式是独立寻址,就是再专门定义一根控制线来区分存储器单元地址和I/O端口地址,形成了两个独立的地址空间。模型及就是独立寻址,如图所示,定义了一个信号来区分存储器地址和端口地址。

总线的功能类型

有了地址概念后,我们来分析三种不同功能总线的作用。

数据总线就是各部件数据传送的公共通道。针对存储器和I/O接口组织为字节序列的情况,这里定义为8为宽度,为避免数据冲突,CPU、存储器、I/O接口中的寄存器都会通过双向三态缓冲器连接数据总线。就是说同一时刻,线上只能是一个部件发给另一个部件,数据总线分时使用。

地址总线用于CPU寻址存储器单元和I/O端口,针对采用独立寻址方式和存储器单元数目,这里定义为8位宽度。由于同一时刻CPU控制单元通过地址总线智能发出一个确定的地址,寻址到一个参与数据传送的存储器单元或者接口,数据传送的另一方一定是CPU内部的寄存器,有控制单元在CPU内部直接控制。

控制总线用于CPU控制单元控制数据总线上的传送过程。

三类总线不是独立作用的三条信号线,它们是协调完成数据传送的,CPU首先通过地址总线和一条信号线寻址存储器单元或者I/O端口,然后通过控制线确定数据传送方向,最后被选通的寄存器与CPU通过数据总线实现数据传送。

数据传送是总线要实现的目的,数据总线是传送通道,地址总线定位数据的所在,控制总线控制数据的传送方向,三总线协调作用,共同实现数据传输的目的。CPU就是总线主控器。

指令集设计

指令集是一个计算机中所有指令的集合,指令是指挥计算机基本操作的命令,设计什么指令决定于计算机需要实现那些基本操作。

1.4、微机系统

一台微机,如果没有预存程序,开机后没有任何操作;要想正常工作,必须配以相应的软件,这样就构成了完整的微机系统。

微处理器不等于CPU,CPU是算术逻辑单元和控制单元组成,微处理器除了算数逻辑单元和控制单元,还包含了一些特殊存储器,这些部件集成在一个芯片上,这样的期间才叫做微处理器。

通常,微处理器不含有程序存储单元,不能构成完整的微机系统,不能独立运行。

微机是以微处理器为核心,配以只读存储器(ROM)、读写存储器(RAM),输入/输出接口及总线,才是完整的微机,微机已经具有独立运行的能力。如果微机的这些部分在一块印刷电路板上实现,则这样的微机就叫做单板微机,简称单板机。如果危机的这些组成部分全部集成在一个超大规模的集成电路芯片上,则这样的微机称为单片微机,也叫做单片你。

微机系统就是硬件和软件的结合。

硬件是构成计算机的所有的物理零件,就是上一层的微机,可以接触的实体,为配有软件的微机一般为裸机。

软件是指能够使微机工作的程序和程序运行需要的数据,以及这些程序和数据的相关文档,软件就是程序数据文档。软件又分为系统软件和应用软件两部分。

系统软件是为计算机使用提供最基本的功能,但并不针对某一特定应用,系统软件是负责管理和协调各种硬件工作的程序,使得计算机用于和应用软件将计算机当作一个整体而无需顾虑底层每个硬件是如何工作的。前述的载入程序就属于系统软件。系统软件一班划分为面向计算机本身的软件(操作系统)、面向计算机维护人员的软件(调试、纠错、测试程序等)和面向用户的软件(编程语言,数据库管理系统)

编程语言是一组用来定义计算机操作步骤的特殊语言。前述的模型机我们使用了汇编语言来编程,由于汇编指令与机器码指令一一对应,直接操作计算机硬件,因此汇编语言也称为低级编程语言。相对也出现了高级编程语言,高级编程语言是高度封装了的编程语言,以人类的日常语言为基础,不再与某种计算机硬件有直接联系,更加方便。高级语言程序通过编译程序或解释程序翻译成特定处理器的机器码目标程序。

应用软件是为了某种特定应用而开发出的程序。

PC系统

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二十二届GOPS全球运维大会2024一日感

第二十二届GOPS全球运维大会将于2024年4月25-26日在南山区深圳湾万丽酒店召开。大会将为期2天,侧重大模型、AIOps、DevOps、可观测、SRE、云原生等热门技术领域。 GOPS是我一直关注的一场技术峰会,主要是它的侧重点在运维方面,这和我本身的职…

【C++干货篇】——类和对象的魅力(二)

【C干货篇】——类和对象的魅力(二) 1.类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。 ⼀个类,我们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注意的…

从 Microsoft 官网下载 Windows 10

方法一: 打开 Microsoft 官网: 打开开发人员工具(按 F12 或右键点击“检查”)。 点击“电脑模拟手机”按钮,即下图: 点击后重新加载此网页,即可看到下载选项。

[k8s理论知识]3.docker基础(二)隔离技术

容器其实是一种沙盒技术,其核心是通过约束和修改进程的动态表现,为其创建一个边界。这个边界确保了应用与应用之间不会相互干扰,同时可以方便在不同的环境中迁移,这是PaaS最理想的状态。 程序是代码的可执行镜像,通常…

springboot项目get请求遇到:Message Request header is too large报错。

一、错误日志 HTTP Status 400 – Bad Request Type Exception ReportMessage Request header is too largeDescription The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, inva…

Django学习-ORM_常用字段及字段选项

字段选项: 注意:当我们新增数据的时候,如果没有新增设置了default的字段,此时会使用default设置的默认值填充到新增的数据中

数字后端零基础入门系列 | Innovus零基础LAB学习Day2

今天开始更新数字IC后端设计实现中Innovus零基础Lab学习后续内容。 数字后端零基础入门系列 | Innovus零基础LAB学习Day1 ####LAB5-2 这个章节的目标也很明确——学习掌握工具的一些常用快捷键。 这里只需要掌握以下几个快捷键即可。其他小编我也不会,也用不着。…

【初识数据库】

目录 一、数据库简介 1.什么是数据库 2.数据库与数据结构有啥关系 3.为什么要使用数据库 二、数据库服务器、数据库和表的关系 三、客户端与服务器的通讯方式 1.C/S架构 2.B/S架构 3.命令提示符 4.MySQL架构 一、数据库简介 1.什么是数据库 组织和保存数据的应用程序…

【JavaEE初阶】深入理解网络编程—使用UDP协议API实现回显服务器

前言 🌟🌟本期讲解关于TCP/UDP协议的原理理解~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不…

centors7安装docker启动ubuntu

在centors上升级glibc为2.18,使用yum最新源直接安装不行,使用源码安装还不行,因为必须使用2.18版本glic,采用先安装docker,在启动新的Ubuntu,在ubuntu里配置自己的环境 1. centors安装docker 查看docker的…

专业学习|马尔可夫链(概念、变体以及例题)

一、马尔可夫链的概念及组成 (一)学习资料分享 来源:024-一张图,但讲懂马尔可夫决策过程_哔哩哔哩_bilibili 马尔可夫链提供了一种建模随机过程的方法,具有广泛的应用。在实际问题中,通过转移概率矩阵及初…

NOIP2023题解

T1:词典 有一个好猜的结论:对于一个字符串,若它当中的最小字符大于等于某其他字符串中的最大字符,那么这个字符串一定不可行。 证明也很简单,若最小字符大于最大字符,显然一定不可行。若最小字符等于最大…

常用Python数据分析开源库:Numpy、Pandas、Matplotlib、Seaborn、Sklearn介绍

文章目录 1. 常用Python数据分析开源库介绍1.1 Numpy1.2 Pandas1.3 Matplotlib1.4 Seaborn1.5 Sklearn 1. 常用Python数据分析开源库介绍 1.1 Numpy Numpy(Numerical Python)是Python数据分析必不可少的第三方库,Numpy的出现一定程度上解决了Python运算性能不佳的…

解决VScode(Visual Studio Code)中的乱码问题. 2024-10-13

系统环境: win10 64bit , vscode 1.94.2 1.乱码原因 默认使用utf-8编码,导致非utf-8内容乱码 2.解决乱码问题 1)打开设置 点击左下角的齿轮,然后再点击设置 2)启用编码自动检测 在设置搜索框中输入 编码 ,然后启用 自动猜测编码选项 3.乱码问题解决 重新打开文件后,乱码问…

清空redo导致oracle故障恢复---惜分飞

客户由于空间不足,使用> redo命令清空了oracle的redo文件 数据库挂掉之后,启动报错 Fri Oct 04 10:32:57 2024 alter database open Beginning crash recovery of 1 threads parallel recovery started with 31 processes Started redo scan Errors in file /home/oracle…

各种查询sql介绍

1. 关联查询(JOIN) 关联查询用于从多个表中检索数据。它基于两个或多个表之间的共同字段(通常是主键和外键)来组合数据。 内连接(INNER JOIN): sql SELECT a.name, b.order_date FROM custome…

IO进程---day5

1、使用有名管道实现两个进程之间的相互通信 //管道文件 #include<myhead.h> int main(int argc, const char *argv[]) {//创建有名管道文件1if(mkfifo("./pipe1",0664)-1){perror("创建管道文件失败");return 0;}if(mkfifo("./pipe2",066…

upload-labs靶场Pass-03

upload-labs靶场Pass-03 分析源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.asp,.aspx,.php,.jsp);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删除文件名末尾的…

Damn-Vulnerable-Drone:一款针对无人机安全研究与分析的靶机工具

关于Damn-Vulnerable-Drone Damn-Vulnerable-Drone是一款针对无人机安全研究与分析的靶机工具&#xff0c;广大研究人员可以利用该环境工具轻松学习、研究和分析针对无人机安全态势。 Damn Vulnerable Drone 基于流行的 ArduPilot/MAVLink 架构&#xff0c;其中故意留下了各种…

PDF 软件如何帮助您编辑、转换和保护文件

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案&#xff0c;还是尝试组织和编辑主文档&#xff0c;PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时&#xff0c;请考虑这些因素。 1. 确定您的…