计算机组成期末复习(山大复习版)

在这里插入图片描述

文章目录

  • 前言
  • 一.计算机系统概述
    • 1.计算机的软硬件概念及各自组成
      • 易错点:
    • 2.冯诺依曼计算机的特点:
      • 易错点:
    • 3.程序和数据都采用二进制代码,计算机如何区分指令和数据?
    • 4.现代计算机硬件框架图
    • 5.计算机硬件的主要技术指标
      • a.机器字长
      • b.主存容量
      • c.吞吐量
      • d.CPI
      • e.IPS(或MIPS):运算速度!
      • f.FLOPS
    • 6.易错点及概念:
  • 四.存储系统
    • 1.存储器的层次结构
      • 缓存-主存层次和主存-辅存层次
      • 易错点:
    • 2.主存的基本组成
    • 3.主存中存储单元地址的分配方式
      • 大小端存储模式
      • 边界对齐存储方式
    • 4.主存的技术指标
    • 5.动态RAM刷新
    • 6.存储器与CPU 的连接
      • 芯片存储容量与地址线,数据线的关系
        • 位扩展:(增加主存的存储字长)
        • 字扩展(增加主存的存储字数):
      • 译码器的使用
    • 7.提高访存速度的措施
      • 调整主存结构:低位交叉、高位交叉
      • 采用层次结构 Cache –主存
      • 采用高速器件
    • 8.存储器的效验:海明效验码
    • 9.高速缓冲存储器
      • Cache的基本结构和工作原理
      • Cache的读操作流程 :
      • Cache的写操作流程:
        • 写命中时:
        • 写不命中:
    • 10.Cache-主存的地址映射
      • 全相联映射、
      • 直接映射
      • 组相联映射
      • 主存地址组成、地址变换、例题?
  • 五.输入输出系统:
    • 1、 I/O 设备编址方式
    • 2、 I/O设备与主机信息传送的控制方式
    • 3、I/O 接口的功能和组成?
    • 4、接口和端口的概念
    • 5、程序查询方式
    • 6、程序中断方式
      • 中断隐指令
      • 中断程序:
      • 单重中断和多重中断的服务程序流程
    • 中断屏蔽技术
      • 改变屏蔽字,改变中断处理顺序
      • CPU 执行程序轨迹
      • 区分响应优先级和处理优先级:
    • 7、 DMA 方式
      • 周期挪用
      • DMA 接口的功能和组成
      • DMA 传送过程:预处理、数据传送、后处理
  • 六.计算机的运算方法:
    • 1.有符号数的真值,原码,反码,补码,移码相互转换
    • 2.浮点数与真值的相互转换,浮点数的表示范围:
      • 浮点数规格化:
      • IEEE754
    • 3.定点运算:
      • a.补码加减运算及溢出判断
        • 运算:
        • 溢出判断:
      • b.原码一位乘法
      • c.补码一位乘(Booth算法)
    • 4.浮点加减运算
  • 七.指令系统:
    • 1.操作码
      • 固定编码、扩展编码技术
      • 2、与数据有关的寻址方式
        • 基址寻址和变址寻址的区别
      • 3、指令格式设计举例 P323-326?
  • 八.中央处理器(CPU结构与功能)
    • 1、指令周期流程
    • 易错点:
  • 九、十、控制单元:
    • 1、指令周期、机器周期和时钟周期的概念及三者关系;图9.9
    • 2、根据CPU的数据通路,写出指令的微操作;
    • 3、微程序控制器的基本概念
    • 4、微指令和微操作的关系,微指令和机器指令的关系,微程序和程序之间的关系:
    • 5、微程序控制器的组成及各部件的作用
    • 6、微程序控制器的设计思想 :
    • 7、微程序控制器的工作原理
    • 8、微指令的编码方式
    • 9、微指令序列地址的形成
    • 易错点:
  • 总结

前言

一.计算机系统概述

1.计算机的软硬件概念及各自组成

易错点:

  • 数据库系统不是系统软件,数据库管理系统才是
  • 软件和硬件在逻辑上等价,硬件实现的性能更优

2.冯诺依曼计算机的特点:

易错点:

  1. 冯诺依曼的基本工作方式:控制流驱动方式

3.程序和数据都采用二进制代码,计算机如何区分指令和数据?

指令周期的不同阶段!!

4.现代计算机硬件框架图

5.计算机硬件的主要技术指标

a.机器字长

  • 计算机进行一次整数运算所能处理的二进制数据位数
  • 通常等于CPU内部寄存器大小(通用寄存器,ALU等)

b.主存容量

  • 主存储器所能存储信息的最大容量。
  • MAR反映存储单元个数,MDR反映存储单元的位长
  • 存储容量=存储单元个数*存储字长

c.吞吐量

  • 系统在单位时间内处理请求的数量
  • 系统吞吐量主要取决于主存的存取周期

d.CPI

  • 执行一条指令所需要的时钟周期(Clock per Instruction)
  • 主频和时钟周期互为倒数

e.IPS(或MIPS):运算速度!

  • IPS:每秒执行多少条指令(Instruction per second)

  • 如何计算:主频 /(CPI)

  • MIPS:每秒执行多少百万条指令

  • 如何计算:主频 /(CPI*10^6)

f.FLOPS

  • 每秒执行多少浮点数运算(注意单位换算)
    在这里插入图片描述

6.易错点及概念:

  • 实际软件的运行情况能够全面代表计算机的性能
  • 相联存储器既可按地址寻址又可以按内容寻址
  • 兼容是指计算机软件或硬件的通用性,通常在同一系列不同型号的计算机间通用
  • 用户观点看,吞吐率是计算机系统性能的综合参数
  • ”计算机速度“是指IPS
  • 在CPU中,IR,MAR和MDR对各类程序员都是透明的

四.存储系统

1.存储器的层次结构

缓存-主存层次和主存-辅存层次

  • 缓存—主存解决了主存容量不够的问题
  • 主存—辅存解决了主存和CPU速度不匹配的问题

    性能指标:
    在这里插入图片描述

易错点:

  • 主存和辅存之间的数据调度是硬件和操作系统共同完成的,仅对应用级程序员透明!

2.主存的基本组成

基本方式:
在这里插入图片描述

两种芯片:

  • DRAM:动态随机存储器,由于其存储元件只有一个晶体管,每隔一段时间就要对其进行刷新!!
  • SRAM:静态随机存储器,存储元是双稳态触发器(6个MOS晶体管),不用进行刷新
    在这里插入图片描述

DRAM的刷新机制:

  • 分散刷新:每次读写完都刷新一行
  • 集中刷新:在一个刷新周期内有一段时间专门用于刷新,这段时间称为死区
  • 异步刷新:刷新周期数除以行数,得到两次刷新操作之间的间隔t,在t里面拿一部分用于刷新某行,剩余部分用于读写操作

注意:

  • 存取周期,读写周期和刷新周期是相同的!

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

  • 将一个地址通过行列地址分别寻址,减少了选通线的个数
  • DRAM只有一个地址译码器,复用这个译码器,又减少了选通线的数量

芯片引脚数计算:

  • 读写线:可能为1可能为2
  • 地址线:地址的数量n(DRAM要除以2,因为复用了地址线)
  • 片选线:1(SRAM有)
  • 数据总线:字长
  • 行通选线和列通选线(只有DRAM才有,有了这两条线就不用片选线了)

3.主存中存储单元地址的分配方式

大小端存储模式

  • 小小小:小端的小地址(低地址)存储位数小的数(位数低的数)

边界对齐存储方式

在这里插入图片描述
在这里插入图片描述

4.主存的技术指标

  • 存储容量
  • 存储速度:由存取时间和存取周期表示
  • 存储器带宽:单位时间内存储器存取的信息量

5.动态RAM刷新

  • 分散刷新:每次读写完都刷新一行,把对每行存储单元的刷新分散到每个存取周期内完成(存取周期翻倍)
  • 集中刷新:在一个刷新周期内有一段时间专门用于刷新,这段时间称为死区
  • 异步刷新:刷新周期数除以行数,得到两次刷新操作之间的间隔t,在t里面拿一部分用于刷新某行,剩余部分用于读写操作

注意:

  • 存取周期,读写周期和刷新周期是相同的!

6.存储器与CPU 的连接

芯片存储容量与地址线,数据线的关系

  • 芯片存储容量=数据字长*地址数量
  • 数据总线宽度>存储芯片字长?——位扩展
  • 想要扩展主存字数怎么办?——字扩展
位扩展:(增加主存的存储字长)

在这里插入图片描述
在这里插入图片描述

字扩展(增加主存的存储字数):

在这里插入图片描述
在这里插入图片描述

译码器的使用

  • 译码片选法:用除片内寻址外的高位地址线通过地址译码器通过地址译码器芯片产生片选信号

7.提高访存速度的措施

调整主存结构:低位交叉、高位交叉

  • 高位交叉:高位交叉其实就相当于加大了存储器容量,没有效率上的提升
  • 低位交叉:巧妙利用存取周期,一个内存条访问后,要经过一个存取周期后才能进行下一次访问,而低位交叉在访问一个内存条,一个存取时间过后就可以去访问另一个内存条,这样就提高了效率
  • 宏观上低位交叉读写一个字的时间接近r(存取时间)
    在这里插入图片描述

采用层次结构 Cache –主存

采用高速器件

8.存储器的效验:海明效验码

海明效验码过程
以一个信息b4b3b2b1为例子

  • 根据位数得出检验码的总位数:2^k>=n+k+1
  • 将检验码插入信息中,插入2^n方的位置
  • 写出所有的二进制序号(从1开始)
  • 算出每个效验码(根据效验码序号1的位置,有效位在那个位置有1就计算)
  • 获得海明效验码
  • 检验就是逆过程

9.高速缓冲存储器

Cache的基本结构和工作原理

  • 主存与Cache之间以“”为单位进行数据交换
  • 主存里的块也称为“页/页面/页框”
  • Cache里的块也称为“行”
  • 一个主存地址可表示为:主存块号+块内地址
  • 每次被访问的主存块,一定会被立即调入Cache

Cache的读操作流程 :

  • 主存和Cache同时访问的方式
  • 先访问Cache,Cache里没有在访问主存的方式

Cache的写操作流程:

写命中时:
  • 写回法:当CPU对Cache写命中时,只修改Cache的内容,只有当此块被换出的时候才写回内存(设置一个脏位)
  • 写直达法:当CPU对Cache写命中时,必须把数据同时写入Cache和主存中
写不命中:
  • 写分配法:当写不命中时,把主存中的块调入Cache,在Cache中修改,搭配写回法使用
  • 非写分配法:写不命中时,只写入主存,不调入Cache,搭配写直通法使用。(这种方法对于Cache,只有读未命中才调入Cache)

10.Cache-主存的地址映射

全相联映射、

  • Cache里的有效位,表示当前行是否有数据,标记位是用于寻址的
    在这里插入图片描述

直接映射

在这里插入图片描述

组相联映射

  • 是直接映射和全相联映射的结合版
    在这里插入图片描述

主存地址组成、地址变换、例题?

五.输入输出系统:

1、 I/O 设备编址方式

  • I/O端口:是指接口电路中可以被CPU直接访问的寄存器
  • 统一编址:把I/O端口当作存储器的单元进行地址分配,用统一的访存地址就可以访问I/0端口。靠不同的地址码区分内存和I/0设备,I/O地址要求相对固定在地址的某部分
  • 独立编址:I/O端口地址与主存地址无关,所有对I/O的访问都要有专用的I/O指令,独立编址CPU需要设置专门的输入/输出指令访问端口。靠不同的指令区分内存和I/O设备

2、 I/O设备与主机信息传送的控制方式

  • 程序查询方式:CPU不断轮询检查I/O控制器的“状态寄存器”,检测到已完成之后,再从数据寄存器取出输入数据
  • 程序中断方式 :等待键盘I/O时CPU可以先去执行其他程序,键盘I/O完成后向CPU发出中断请求,CPU响应中断请求,取走数据
  • DMA 方式:主存与高速I/O设备之间有一条直接数据通路(DMA总线)。CPU向DMA接口发出“读/写”命令,并指明主存地址,磁盘地址等参数,DMA控制器自动控制磁盘与主存的数据读写,每完成一整块的读写,才向CPU发出一次中断请求
    在这里插入图片描述

3、I/O 接口的功能和组成?

  • 选址功能:设备选择电路
  • 传送命令功能,I/O接口有存放命令的寄存器及命令译码器
  • 传送数据功能,有数据缓冲寄存器
  • 反映I/O设备工作状态的功能:设备状态标记
    在这里插入图片描述

4、接口和端口的概念

  • I/O端口是指接口电路中可以被CPU直接访问的寄存器

5、程序查询方式

  • 程序查询流程和接口电路
  • 在这里插入图片描述
  • 在这里插入图片描述

6、程序中断方式

中断隐指令

中断隐指令的主要任务:

  1. 关中断:在中断服务程序中,为了保护中断现场(即CPU主要寄存器的内容)期间不被新的中断打断,必须关中断
  2. 保存断点:为了保证在中断服务程序执行完毕后正确回到原来的位置,将PC的内容保存起来,可以压入堆栈,可以存入指定单元
  3. 引出中断服务程序:取出中断服务程序的入口地址给程序计数器PC(硬件向量法)
    在这里插入图片描述

中断程序:

在这里插入图片描述

一次中断过程包含6个阶段:

  • 中断请求:中断源向CPU发送中断请求信号

  • 中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源

  • 中断响应:根据不同的中断源形成不同的中断类型码,再根据中断类型码在中断向量中寻找中断服务程序的入口地址,转入相应的中断处理程序

  • 中断处理:执行中断程序

  • 中断返回:恢复现场

  • 中断屏蔽:多重中断的时候,处理优先级高的会中断中断

  • 中断接口电路?

  • CPU 响应中断的条件和时刻:在每一条指令执行阶段结束时刻

单重中断和多重中断的服务程序流程

  • 单重中断的服务程序流程
    在这里插入图片描述
  • 多重中断的服务程序流程
    在这里插入图片描述

中断屏蔽技术

改变屏蔽字,改变中断处理顺序

在这里插入图片描述

CPU 执行程序轨迹

在这里插入图片描述

区分响应优先级和处理优先级:

  • 响应优先级是最开始选哪一个中断进行响应
  • 处理优先级是在处理一个中断时,一个处理优先级高的会中断这个中断!!
  • 两者是不同的概念

7、 DMA 方式

周期挪用

  • I/O访存的优先级高于CPU访存,所以当同时访问时,先I/O
    在这里插入图片描述

DMA 接口的功能和组成

功能:

  • 向CPU申请DMA传送
  • 在CPU允许DMA工作时,处理总线控制权的转交,避免总线竞争
  • 在DMA期间管理系统总线,控制数据传送
  • 在数据块传送结束时,给DMA操作完成的信号

组成:

  • 主存地址寄存器(AR):用于存放主存中需要交换数据的地址。DMA传送数据前,通过程序将数据在主存中的首地址放入AR,。DMA传送过程中,+1即可
  • 字计数器(WC):用于记录传送数据的总字数,以交换字数的补码预置。每传送一个字,字计数器+1,直到0,向CPU发出中断请求信号
  • 数据缓冲寄存器(BR):用于暂存每次传送的数据
  • DMA控制逻辑:用于管理DMA传送过程
  • 中断请求:字计数器为0,由“溢出信号”通过中断机构向CPU发送中断请求
  • I/O设备地址(DAR):存放I/O设备的设备码等信息

DMA 传送过程:预处理、数据传送、后处理

例题
在这里插入图片描述
在这里插入图片描述

六.计算机的运算方法:

1.有符号数的真值,原码,反码,补码,移码相互转换

  • 正数原反补都相同
  • 移码只能表示整数
  • 补码比大小:机器数的符号位相同时,非符号位越大,真值越大
  • 移码比大小:机器数越大,真值越大
  • 补码和移码0只有一种表示方法,所以都能多表示一个负数(如:-128~127)
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
小数:
在这里插入图片描述

2.浮点数与真值的相互转换,浮点数的表示范围:

浮点数规格化:

  • 通过调整一个非规格化浮点数的尾数和阶码的大小,使非0浮点数在尾数的最高数位上保证是一个有效值

  • 当下溢时,当0处理,上溢就是异常处理

IEEE754

  • 如何表示:阶码用移码表示,用真值+偏置值来表示阶码(这里的偏置值是2^(n-1)-1)。尾数用原码表示,这里要注意的是隐藏了最高位的1!!
  • 注意和规格化区分,规格化的尾数需要的是最高位是有效位,而IEEE754是隐藏了最高位1!!比如原码1.10规格化是用0.110来表示,尾数为110,而IEEE尾数是用10来表示,隐藏了最前面的1

在这里插入图片描述

如何和真值转化?
例子:

  • 真值转浮点数:
    在这里插入图片描述

  • 浮点数转真值:
    在这里插入图片描述

表示范围:

  • 正常范围:阶码不能全0全1!!
    在这里插入图片描述

  • 溢出:阶码全0全1表示特殊用途!!
    在这里插入图片描述

3.定点运算:

a.补码加减运算及溢出判断

运算:
  • [x]补变为[-x]补:将所有位取反加1 (找到最右边的1,将其左边的(不包含这个1)的位数全部取反即可。
溢出判断:
  • 正数+正数=负数溢出,负数+负数=正数溢出,正数+负数不溢出
  • 符号位进位和最高数值位进位不相同在这里插入代码片表示溢出
  • 双符号位,01表示上溢,10表示下溢,00和11表示没有溢出

b.原码一位乘法

  • n+1位乘法,原码乘法时要进行n次加法n次右移
  • 这里的右移是指逻辑右移!!
  • 根据最低位确定下一次的加数
  • 遇到负数无脑取绝对值,变成正数相乘,最后在观察符号位
    在这里插入图片描述

c.补码一位乘(Booth算法)

  • n+1位数补码,n次右移,n+1次加法
  • 算出两个数的补码,对于一个数,还要算出他的[-x]补
  • 低位一定要记得加一个小数!!如图就是把0.1011都写到了后面,因为后面这个0有用!
  • 采用双符号位!!
  • 右移是算术右移!!(00补0,11补1)
  • 根据辅助位和最低位的差决定加的是[x]补还是[-x]补
    在这里插入图片描述

4.浮点加减运算

tips:

  • 尾数右移,阶码+1

一般步骤:

  • 对阶:小数往大数对
  • 尾数加减:正常的补码加法
  • 将浮点数规格化,小数点最高位为有效位(原码的有效位为1,补码的有效位与符号位相反)
  • 舍入:对尾数进行舍入
  • 判溢出:判断规格化后的阶码是否溢出(尾数溢出未必溢出,可以通过双符号位的规格化拯救,但是阶码溢出就是真溢了)
    在这里插入图片描述

尾数溢出的情况:
-

七.指令系统:

1.操作码

  • 指令字长:一条指令的总长度(字节的整数倍)
  • 机器字长:CPU进行一次整数运算所能处理的二进制数据位数
  • 存储字长:一个存储单元的二进制代码位数

固定编码、扩展编码技术

  • 固定编码:用固定的位数表示操作码
  • 扩展操作码指令格式:指令长度相同,但是操作码长度不同(说明不同地址数的指令使用不同长度的操作码)
    在这里插入图片描述
    在这里插入图片描述

2、与数据有关的寻址方式

指令寻址:

  • PC+1的1是指一个指令字长(会根据指令长度和编址方式改变)
  • 顺序寻址:每次取值结束后,PC+“1”
  • 跳跃寻址:执行转移类指令导致PC值改变

数据寻址:

  • 立即寻址:形式地址即是操作数本身,又称为立即数
  • 寄存器寻址:寄存器的编号,寄存器里即是操作数
  • 直接寻址:地址即是操作数地址
  • 间接寻址:地址里面存放地址的才是操作数的地址
  • 寄存器间接寻址:寄存器里存的是一个地址,该地址里存的是操作数
  • 基址寻址:将基址寄存器的内容加上当前地址,才是真正的有效地址
  • 变址寻址:将变址寄存器的内容加上当前地址,才是真正的有效地址
  • 相对寻址:把程序计数器PC的内容加上当前地址,才是真正的有效地址(这里的PC是+1之后的PC)
基址寻址和变址寻址的区别

假设指令里的地址为A

  • 基址寻址的基地址是基址寄存器,偏移量是A
  • 变址寻址的基地址是A,偏移量是变址寄存器IX,变址寄存器是面向用户的,可以由用户修改

3、指令格式设计举例 P323-326?

八.中央处理器(CPU结构与功能)

  • 指令周期:
    在这里插入图片描述

1、指令周期流程

在这里插入图片描述

易错点:

  • CPU内部寄存器大致分为两类:一类是可见寄存器,可对这类寄存器进行编程,如PSW(状态寄存器),PC,ACC,通用寄存器等。另一类是用户不可见的寄存器,如存储器地址寄存器(MAR),数据寄存器(MDR),指令寄存器(IR)等
  • 条件转移指令执行时所依据的条件来自标志寄存器!!(条件转移指令的本质是做减法)
  • n位CPU的n是指数据总线数
  • 中断是在一条指令执行结束之后出现的!!
  • 一个机器周期包含若干个时钟周期
  • 机器周期由存取周期确定长短,一般来说机器周期=存取周期

九、十、控制单元:

1、指令周期、机器周期和时钟周期的概念及三者关系;图9.9

在这里插入图片描述

2、根据CPU的数据通路,写出指令的微操作;

  • 指令周期
    在这里插入图片描述

  • 间址周期
    在这里插入图片描述

  • 执行周期
    在这里插入图片描述

  • 中断周期
    在这里插入图片描述

  • 配合节拍以及微命令?

3、微程序控制器的基本概念

微命令、微操作、微指令、微周期、微程序、控制存储器

  • 微周期:执行一条微指令所需要的时间,通常为1个时钟周期

4、微指令和微操作的关系,微指令和机器指令的关系,微程序和程序之间的关系:

  • 微命令与操作:微命令和微操作之间存在一一对应的关系。每个微命令都对应一个具体的微操作;微命令是微操作的控制信号,而微操作则是微命令的具体执行过程
  • 微指令和微命令:微指令可能包含多个微命令
  • 微指令和机器指令:机器指令是对程序执行步骤的描述;微指令是对一个机器指令执行步骤的描述
  • 程序和微程序:程序是由指令序列组成;微程序由微指令序列组成
  • 微程序和机器指令:一条机器指令对应一个微程序

5、微程序控制器的组成及各部件的作用

组成:

  • 控制存储器(CM),用于存放微指令
  • 微指令存储器(CMDR)
  • 微地址形成部件
  • 微地址寄存器(CMAR)
    -其实和CPU内的很像,只是由于我们的微指令只是指令,不会有什么数据,所以说相当于IR和MDR合并为CMAR,PC和MAR合并为CMDR

在这里插入图片描述

6、微程序控制器的设计思想 :

  • 将一个机器指令编写为一个微程序,每一个微程序包含若干条微指令,把这些微程序存到一个控制存储器里,用寻址用户程序机器指令的方法来寻址每个微程序的微指令。

7、微程序控制器的工作原理

在这里插入图片描述

8、微指令的编码方式

  • 水平型微指令:一个微指令能定义多个相容微命令,相容是指可以同时执行。下面的都是水平型微指令

  • 直接编码:
    在这里插入图片描述

  • 字段直接编码方式 在这里插入图片描述

  • 字段间接编码方式
    在这里插入图片描述

  • 混合编码

9、微指令序列地址的形成

  • 微指令的下地址字段指出:微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后续微指令的地址,这种方式称为断定方式

  • 根据机器指令的 操作码 形成:当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成

  • 增量计数器:(CMAR)+1 ——>CMAR

  • 分支转移:转移方式:指明判别条件;转移地址:转移成功后的去向

  • 通过测试网络

  • 由硬件产生微程序入口地址:当电源加点后,第一条微指令的地址可由专门的硬件电路产生。

后续微指令地址形成方式:

  • (CMAR)+1 ——>CMAR
  • 微指令的下地址字段指出
  • 微程序的入口地址
  • 微地址形成部件

易错点:

  • 在微程序控制器中,形成微程序入口地址的是:机器指令的操作码字段

总结

  更新不易,辛苦各位小伙伴们动动小手,👍三连走一走💕💕 ~ ~ ~ 你们真的对我很重要!最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!

专栏订阅:
每日一题
C语言学习
算法
智力题
初阶数据结构
Linux学习
C++学习
更新不易,辛苦各位小伙伴们动动小手,👍三连走一走💕💕 ~ ~ ~ 你们真的对我很重要!最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW与C#相互调用dll

C#调用LabVIEW创建的dll 我先讲LabVIEW创建自己的.net类库的方法吧,重点是创建,C#调用的步骤,大家可能都很熟悉了。 1、创建LabVIEW项目,并创建一个简单的add.vi,内容就是abc,各个接线端都正确连接就好。 …

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章 什么是Linux? Linux 是 UNIX 操作系统的一个克隆;它由林纳斯 本纳第克特 托瓦兹从零开始编写,并在网络上众多松散的黑客团队的帮助下得以发展和完善;它遵从可移植操作系统接口(POSIX)标准和单一 UNIX 规范…

[机器学习]-4 Transformer介绍和ChatGPT本质

Transformer Transformer是由Vaswani等人在2017年提出的一种深度学习模型架构,最初用于自然语言处理(NLP)任务,特别是机器翻译。Transformer通过自注意机制和完全基于注意力的架构,核心思想是通过注意力来捕捉输入序列…

Pycharm中安装Pytorch的库

step1&#xff1a; step2&#xff1a; step3&#xff1a; pip install torch torchvisionstep4&#xff1a; pip install numpy<2 # 版本低点&#xff0c;和pytorch版本不兼容&#xff0c;我当时是用的2.0的step5&#xff1a; pip install pandasstep6&#xff1a; …

累积势函数分类

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在AI学习笔记&#…

[BUUCTF从零单排] Web方向 02.Web入门篇之『常见的搜集』解题思路(dirsearch工具详解)

这是作者新开的一个专栏《BUUCTF从零单排》&#xff0c;旨在从零学习CTF知识&#xff0c;方便更多初学者了解各种类型的安全题目&#xff0c;后续分享一定程度会对不同类型的题目进行总结&#xff0c;并结合CTF书籍和真实案例实践&#xff0c;希望对您有所帮助。当然&#xff0…

《数字图像处理与机器视觉》案例三 (基于数字图像处理的物料堆积角快速测量)

一、前言 物料堆积角是反映物料特性的重要参数&#xff0c;传统的测量方法将物料自然堆积&#xff0c;测量物料形成的圆锥表面与水平面的夹角即可&#xff0c;该方法检测效率低。随着数字成像设备的推广和应用&#xff0c;应用数字图像处理可以更准确更迅速地进行堆积角测量。 …

Java中反射的使用

无参构造器 方法的调用 package com.studio;import java.lang.reflect.Method;class User {private String name;/*无参构造器*/public User() {}public String getName() {return name;}public void setName(String name) {this.name name;}Overridepublic String toString…

基于STM32的智能门锁控制系统

目录 引言环境准备智能门锁控制系统基础代码实现&#xff1a;实现智能门锁控制系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景&#xff1a;门锁管理与优化问题解决方案与优化收尾与总结 1. 引言 智能门锁控制系统通过使用STM32嵌…

【你也能从零基础学会网站开发】(了解)关系型数据库的基本架构体系结构与概念理解

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 关系型数据库的…

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时&#xff0c;一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理&#xff0c;本质上都是在原有目标对象上进行了封装和转换&#xff0c;这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…

StaleElementReferenceException 不再是问题:Google Colab 上的 Selenium 技巧

背景介绍 在现代网页数据抓取领域&#xff0c;Selenium 是一款强大的工具&#xff0c;它使得自动化浏览和数据提取变得异常简单。然而&#xff0c;当面对动态页面时&#xff0c;许多爬虫开发者常常会遇到一个令人头疼的问题——StaleElementReferenceException。这一异常的出现…

MTK7621:交换芯片工作队列

mt7530交换芯片的数据接收中断后,把具体接收数据工作任务、委托到workqueue队列中,让内核work_thread()线程任务来处理,这部分内容请参考《workqueue工作原理》中的描述。 workqueue基本工作流程框架如下: 框架业务关系: 1,程序把work单加入到workqueue中,就等于把工…

java 操作 milvus 2.1.4

1. 确认 docker 运行的 milvus容器镜像版本情况&#xff1a; 2. pom 依赖&#xff1a; <dependency><groupId>io.milvus</groupId><artifactId>milvus-sdk-java</artifactId><version>2.1.0</version><exclusions><exclusi…

压缩包怎么解压,解压压缩包不损坏文件

常见格式&#xff1a; ZIP&#xff1a;最常见的压缩文件格式之一&#xff0c;支持跨平台。RAR&#xff1a;另一种常见的压缩文件格式&#xff0c;通常压缩率比ZIP高&#xff0c;但不如ZIP普及。7Z&#xff1a;来自7-Zip的压缩格式&#xff0c;支持更高的压缩率和一些高级特性。…

使用Python绘制太阳系图

使用Python绘制太阳系图 太阳系图太阳系图的优点使用场景 效果代码 太阳系图 太阳系图&#xff08;Sunburst Chart&#xff09;是一种层次结构图表&#xff0c;用于表示数据的分层结构。它使用同心圆表示各个层级&#xff0c;中心圆代表最高层级&#xff0c;向外的圆环代表逐级…

[数据集][目标检测]井盖未盖好检测数据集VOC+YOLO格式20123张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;20123 标注数量(xml文件个数)&#xff1a;20123 标注数量(txt文件个数)&#xff1a;20123 标…

WDG看门狗

1 WDG 1.1 简介 WDG是看门狗定时器&#xff08;Watchdog Timer&#xff09;的缩写&#xff0c;它是一种用于计算机和嵌入式系统中的定时器&#xff0c;用来检测和恢复系统故障。 看门狗就像是一个忠诚的宠物狗&#xff0c;它时刻盯着你的程序&#xff0c;确保它们正常运行。…

Apache ZooKeeper 简介

介绍 Apache ZooKeeper 是一种分布式协调服务&#xff0c;旨在管理和同步大量分布式应用程序。ZooKeeper 是 Apache 软件基金会下的一个开源项目&#xff0c;它解决了维护分布式应用程序的配置信息、命名、分布式同步和组服务的复杂性。本文探讨了 ZooKeeper 的架构、功能、应…

python 压缩数据

requests 是 Python 中一个非常流行的 HTTP 库&#xff0c;用于发送各种 HTTP 请求。下面是一个使用 requests 库发送简单 GET 请求和 POST 请求的示例&#xff1a; 首先&#xff0c;确保你已经安装了 requests 库。如果还没有安装&#xff0c;可以使用 pip 进行安装&#xff…