【学习笔记】计算机组成原理(八)

CPU 的结构和功能

文章目录

  • CPU 的结构和功能
    • 8.1 CPU的结构
      • 8.1.1 CPU的功能
      • 8.1.2 CPU结构框图
      • 8.1.3 CPU的寄存器
      • 8.1.4 控制单元CU和中断系统
    • 8.2 指令周期
      • 8.2.1 指令周期的基本概念
      • 8.2.2 指令周期的数据流
    • 8.3 指令流水
      • 8.3.1 指令流水原理
      • 8.3.2 影响流水线性能的因素
      • 8.3.3 流水线性能
      • 8.3.4 流水线中的多发技术
      • 8.3.5 流水线结构
    • 8.4 中断系统
      • 8.4.1 概述
        • 8.4.1.1 引发中断的因素
        • 8.4.1.2 中断系统需解决的问题(功能)
      • 8.4.2 中断请求标记和中断判优逻辑
        • 8.4.2.1 中断请求标记
        • 8.4.2.2 中断判优逻辑
      • 8.4.3 中断服务程序入口地址的寻找
      • 8.4.4 中断响应
        • 8.4.4.1 响应中断的条件
        • 8.4.4.2 响应中断的时间
        • 8.4.4.3 中断隐指令
      • 8.4.5 保护现场和恢复现场
      • 8.4.6 中断屏蔽技术 - 多重中断
        • 8.4.6.1 多重中断的概念
        • 8.4.6.2 实现多重中断的条件
        • 8.4.6.3 (中断)屏蔽技术
        • 8.4.6.4 多重中断的断点保护

8.1 CPU的结构

8.1.1 CPU的功能

  • 控制器的功能
    • 取指令:把指令从内存中取出
    • 分析指令:分析指令包括两部分内容:其一,分析此指令要完成什么操作,即控制器需发出什么操作命令;其二,分析参与这次操作的操作数地址,即操作数的有效地址。
    • 执行指令:根据分析指令产生的“操作命令"和“操作数地址”的要求,形成操作控制信号序列(不同的指令有不同的操作控制信号序列),通过对运算器、存储器以及I/O设备的操作,执行每条指令。
    • 控制程序的输入以及结果的输出
    • 总线的管理
    • 处理异常情况和特殊请求
  • 运算器的功能:实习算术运算和逻辑运算
  • CPU的功能需求:
    • 具有控制程序的顺序执行(称指令控制)
    • 产生完成每条指令所需的控制命令(称操作控制)
    • 对各种操作加以时间上的控制(称时间控制)
    • 对数据进行算术运算和逻辑运算(数据加工)
    • 处理中断

8.1.2 CPU结构框图

  • CPU与系统总线

在这里插入图片描述

8.1.3 CPU的寄存器

  • 用户可见寄存器

    • 通用寄存器

      存放操作数,如8086系统中的AX、BX…
      也可以做某种寻址方式所需要的专用寄存器。

    • 数据寄存器

      存放操作数,满足各种数据类型,如整型数据的寄存器、浮点数类型的寄存器…
      两个寄存器拼接存放双倍字长数据,例如在乘法操作时,就将ACC与MQ拼接在一起,保存相乘后的积。

    • 地址寄存器

      存放地址,其位数应满足最大的地址范围。如8086系统中的段寄存器,如段基址、栈指针。

    • 条件码寄存器

      存放条件码,可作程序分支依据。如正、负、零、溢出、进位等。

  • 用户不可见寄存器

    • 控制寄存器

      在这里插入图片描述

    • 状态寄存器

      反映指令执行结果的情况、计算机软件硬件状态。

      状态寄存器和条件码寄存器类似 —— 用于存放条件码

      PSW寄存器:程序状态字寄存器,用于存放程序状态字。

      程序状态字:在中断或者是子程序调用过程当中,为了能够使程序正确的返回断点,返回断点后能够继续执行给定的程序,在中断或者转子程序之前,就要保存主程序的运行现场和程序断点,这些运行现场和断点包括了程序运行的软件信息和硬件信息,这些信息保存在寄存器当中,有些表示程序运行状态的寄存器可以通过指令集当中的指令进行读/写,有一些不能通过指令集中的指令进行读,因为涉及到的状态比较多,如果为每一个状态都设计一条指令来进行读,则指令集会变得非常庞大。
      为了完成程序现场和程序断点的保存,就将这些软硬件状态相关的寄存器集合成一个大的寄存器,这个寄存器就是程序状态字,程序状态字比较长,有些程序状态字可以达到几千位。
      可以通过交换程序状态字的方式,来完成程序现场的切换,使得程序中断当中,保存程序断点以及恢复程序断点比较容易。

8.1.4 控制单元CU和中断系统

  • 控制单元CU

    • 产生全部指令的微操作命令序列。任何一条指令,要在CPU上执行,CPU要对指令进行译码,根据这是什么样的指令,完成对应的功能,要产生完成这些功能需要的微操作命令,并且保证这些命令的顺序。
    • CU有两种设计方式
      • 组合逻辑设计,完全由组合逻辑硬件(硬连线逻辑)来实现,这种方式速度快,如RISC计算机控制器的实现都是采用硬连线逻辑。
      • 微程序设计,采用存储逻辑进行设计,设计简单,适用于复杂功能的指令的设计。
  • 中断系统

    详细内容在8.4节

8.2 指令周期

8.2.1 指令周期的基本概念

  • 指令周期

    取出并执行一条指令所需的全部时间(解释一条指令需要的全部时间)

    在这里插入图片描述

    在这里插入图片描述

8.2.2 指令周期的数据流

  • 取值周期的数据流

    在这里插入图片描述

  • 间址周期的数据流

    在这里插入图片描述

  • 执行周期的数据流

    不同指令的执行周期的执行数据流不同。详细见第九章。

  • 中断周期的数据流

    在这里插入图片描述

8.3 指令流水

  • 提高机器速度

    • 提高访存速度

      • 使用高性能/高速度芯片
      • 使用Cache
      • 使用多体并行:对多个存储体进行交叉访问,在一个存储周期当中,有多个存储体可以向CPU提供数据(CPU可以向同时取得多个存储体数据)。
    • 提高I/O与主机之间的传送速度

      • 程序查询方式(CPU 和 I/O 串行工作 )→ 程序中断方式 → DMA → 通道 → I/O处理机
      • 使用多总线方式进行传送
    • 提高运算器的速度

      • 使用高性能芯片
      • 改进算法
      • 快速进位链
    • 为了提高整机处理能力,除了使用高速部件之外,还可以改进系统结构(处理器的体系结构),开发系统的并行性。

  • 系统的并行性

    • 并行 - 时间上互相重叠

      • 并发 两个或两个以上事件在同一时间段发生
      • 同时两个或两个以上事件在同一时刻发生
    • 并行性的等级

      • 过程级(程序、进程) 粗粒度 软件实现
      • 指令级ILP 细粒度 硬件实现
        • (指令之间) 两条或多条指令之间,在同一时刻都处于被解释的状态
        • (指令内部) 指令内部的操作、微操作之间并行的操作。

8.3.1 指令流水原理

在这里插入图片描述

8.3.2 影响流水线性能的因素

  • 结构相关 —— 不同指令争用同一功能部件产生资源冲突。

    在这里插入图片描述

  • 数据相关 —— 不同指令因重叠操作,可能改变操作数的读/写访问顺序。

    在这里插入图片描述

  • 控制相关 —— 由转移指令引起

    在这里插入图片描述

8.3.3 流水线性能

单位时间内流水线所完成的指令或者输出结果的数量。

​ 设 m 段流水线各段时间为 Δt

  • 最大吞吐率

    流水线满负荷运转,没有各种阻碍流水线性能因素的影响(结构相关、数据相关、转移等)所能达到的最大的吞吐率是多少,即流水线在连续流动达到稳定状态后所获得的吞吐率。

T p m a x = 1 Δ t \mathrm{T}_{pmax} = \frac{1}{\Delta{t}} Tpmax=Δt1

  • 实际吞吐率

    实际上由于流水线在开始时有一段建立时间、结束时有一段排空时间以及各种相关因素使流水线无法连续流动,所以实际吞吐率总是小于最大吞吐率。

    流水线满负荷运转,一段时间内,完成的指令条数n除以完成这些指令花费的时间。
    T p = n m ⋅ Δ t + ( n − 1 ) ⋅ Δ t = 1 Δ t ⋅ [ 1 + m − 1 n ] = T p m a x 1 + m − 1 n \mathrm{T}_{p} = \frac{n}{{m}\cdot\Delta{t} + (n-1)\cdot\Delta{t}} = \frac{1}{\Delta{t}\cdot\left[ 1 + \frac{m-1}{n}\right]} = \frac{\mathrm{T}_{pmax}}{1 + \frac{m-1}{n}} Tp=mΔt+(n1)Δtn=Δt[1+nm1]1=1+nm1Tpmax

    例如 一条指令分为 m = 6 段,总共 n = 9 条指令 第一条指令花费时间是 6Δt,总共是 6 Δ t + ( 9 − 1 ) Δ t = 14 Δ t 6\Delta{t} + (9-1)\Delta{t} = 14\Delta{t} t+(91)Δt=14Δt 那么实际吞吐率为 9 14 Δ t \frac{9}{14 \Delta{t}} 14Δt9

    仅当 n ≫ m n \gg m nm (n 远大于m)时,才会有 T p ≈ T p m a x \mathrm{T}_{p} \approx \mathrm{T}_{pmax} TpTpmax
    lim ⁡ n − m → + ∞ T p = lim ⁡ n − m → + ∞ n m ⋅ Δ t + ( n − 1 ) ⋅ Δ t = T p m a x \lim_{n-m \to +\infty}\mathrm{T}_{p} = \lim_{n-m \to +\infty} \frac{n}{m\cdot\Delta{t} + (n-1)\cdot\Delta{t}} = \mathrm{T}_{pmax} nm+limTp=nm+limmΔt+(n1)Δtn=Tpmax

  • 加速比 Sp

    m段流水线采用流水线技术和不采用流水线技术两种方法速度的比值,用来衡量流水线的效果。

    完成n条指令在m段流水线上共需
    T = m ⋅ Δ t + ( n − 1 ) ⋅ Δ t T = {m}\cdot\Delta{t} + (n-1)\cdot\Delta{t} T=mΔt+(n1)Δt
    完成n条指令在等效的非流水线上共需
    T ′ = n ⋅ m ⋅ Δ t T' = {n}\cdot{m}\cdot\Delta{t} T=nmΔt
    则加速比
    S p = T ′ T = n ⋅ m ⋅ Δ t m ⋅ Δ t + ( n − 1 ) ⋅ Δ t = n ⋅ m m + ( n − 1 ) = m 1 + m − 1 n S_p = \frac{T'}{T} = \frac{{n}\cdot{m}\cdot\Delta{t}}{{m}\cdot\Delta{t} + (n-1)\cdot\Delta{t}} = \frac{{n}\cdot{m}}{m + (n-1)} = \frac{m}{1 + \frac{m-1}{n}} Sp=TT=mΔt+(n1)ΔtnmΔt=m+(n1)nm=1+nm1m
    可以看出, 在 n ≫ m n \gg m nm (n 远大于m)时, Sp 接近于m, 即当流水线各段时间相等时,其最大加速比等于流水线的段数。
    lim ⁡ n − m → + ∞ S p = lim ⁡ n − m → + ∞ n ⋅ m ⋅ Δ t m ⋅ Δ t + ( n − 1 ) ⋅ Δ t = m \lim_{n-m \to +\infty}\mathrm{S}_{p} = \lim_{n-m \to +\infty} \frac{{n}\cdot{m}\cdot\Delta{t}}{m\cdot\Delta{t} + (n-1)\cdot\Delta{t}} = m nm+limSp=nm+limmΔt+(n1)ΔtnmΔt=m

  • 效率 E
    E = n ⋅ m ⋅ Δ t m ⋅ ( m + n − 1 ) = n m + n − 1 = S p m = T p ⋅ Δ t E = \frac{{n} \cdot {m} \cdot \Delta {t}}{{m} \cdot {(m+n-1)}} = \frac{n}{m+n-1} = \frac{S_p}{m} = T_p \cdot \Delta{t} E=m(m+n1)nmΔt=m+n1n=mSp=TpΔt

    在这里插入图片描述

8.3.4 流水线中的多发技术

  • 超标量技术

    在这里插入图片描述

  • 超流水线技术

    在这里插入图片描述

  • 超长指令字技术

    在数字信号处理,多媒体信号处理中,用的非常广泛,由编译程序挖掘出指令间潜在的并行性(根据计算机当中执行部件的种类和数量来决定), 另外指令之间不能有相关性,编译器找到了这些可以并行执行的指令,然后将这些指令组合成 一条具有多个操作码字段的超长指令字(可达几百位,包括多个操作码字段,多个操作数字段),这条指令被从计算机的内存中取出,多个操作码字段进行译码,多个并行的部件分别执行相应的操作。
    这种方式减少了取指时间,因为每次取出多条指令

    在这里插入图片描述

  • 对比

    在这里插入图片描述

8.3.5 流水线结构

  • 指令流水线

    在这里插入图片描述

  • 运算流水线

    在这里插入图片描述

8.4 中断系统

8.4.1 概述

8.4.1.1 引发中断的因素

在这里插入图片描述

8.4.1.2 中断系统需解决的问题(功能)
  • 各中断源如何向CPU提出中断请求
  • 有多个中断源同时提出请求怎么办
  • 有中断源提出中断请求,CPU什么条件、什么时间、以什么方式响应中断
  • 如何保护断点、现场
  • 如何寻找中断服务程序入口地址
  • 如何恢复现场、断点
  • 如果在处理中断的过程当中又出现了新的中断怎么办

用软件+硬件的方式来实现中断系统需要的功能

​ 不同的计算机对中断系统的软硬件功能的划分是不一样的主要依据于要设计的中断系统的速度、设计的复杂度和设计的灵活性这三个方面考量折中。

8.4.2 中断请求标记和中断判优逻辑

8.4.2.1 中断请求标记

每一个中断源设计一个触发器INTR,用这个触发器来标记这个中断源是否提出了中断请求,每一个中断源对应都一个中断请求标志触发器,多个中断源对应的多个中断请求标志触发器从逻辑上组成中断请求标志寄存器。

在这里插入图片描述

8.4.2.2 中断判优逻辑

如果有多个中断源同时提出中断请求,需要响应最重要的那个,所以要把中断源根据重要性进行分级,即中断源的优先级。用中断判优逻辑来确定在现有的的中断请求源当中哪个优先级最高,就响应哪个中断。

  • 硬件实现(排队器)

    在现代计算机当中,大部分CPU都是用硬件来实现中断判优逻辑

在这里插入图片描述

  • 软件实现(程序查询)

    在这里插入图片描述

8.4.3 中断服务程序入口地址的寻找

  • 硬件向量法

    在这里插入图片描述

    硬件实现速度快,但是设计的灵活性比较低。

  • 软件查询法

    在这里插入图片描述

    软件的方法显然更加灵活,如果想改变中断服务的优先级,就改变中断识别程序的顺序即可

8.4.4 中断响应

8.4.4.1 响应中断的条件

并不是中断源提出中断服务请求CPU就要立即响应,为了表示CPU是否允许响应中断请求,CPU内部有一个EINT允许中断触发器,只有EINT = 1的时候,才会响应中断请求。

CPU只能支持单重中断

单重中断在CPU执行中断服务程序的过程中不能被打断。当有新的更高优先级的中断发生时,正在执行的中断服务程序不会被暂停,转而执行新的中断服务程序。

8.4.4.2 响应中断的时间

不是任何时间

  • 一般的机器CPU只有在指令执行阶段结束以后才能响应中断请求。
  • 有些计算机某些指令比较复杂,执行时间可能比较长,为了能够及时处理异常事件,允许CPU在执行指令的过程中进行中断响应。通常情况下在指令执行结束之后

在指令执行时中断,破坏执行状态,需要保存的现场数据更多,而且恢复现场后还需要重新执行指令,浪费之前指令的执行时间。

在这里插入图片描述

8.4.4.3 中断隐指令

隐指令是指以下面的三个步骤是由硬件完成的的,并不是在某一条具体指令的驱动下完成的

隐指令并不是计算机指令集中的一条,但是在执行响应中断的时候,这些硬件操作都要进行。

CPU响应中断后,即进入中断周期。在中断周期内,CPU要自动完成一系列操作,具体如下:

  • 保护程序断点

    程序断点就是中断服务程序结束之后,返回的源程序要执行指令的地址,就是一个地址。

    有两种办法保护断点:

    • 断点存于特定地址(比如0号地址)内,这个地址是内存的一块存储单元
    • 断点进栈,返回的时候出栈即可
  • 寻找服务程序入口地址

    有两种办法形成服务程序入口地址:

    • 向量地址 → PC(硬件向量法),向量地址包含了中断服务程序的入口地址,或者跳转指令
    • 中断识别程序 入口地址 M → PC(软件查询法)
  • 硬件关中断

    为了避免在单重中断的计算机中,在执行中断服务程序的过程中,有新的中断源发出中断请求,打断当前中断服务程序的执行。
    即使在多重中断中 也要在 保护程序断点和现场的时候关中断。

    关中断就是将 EINT(中断允许触发器) 置为0

    在这里插入图片描述

8.4.5 保护现场和恢复现场

  • 保护现场

    • 保存断点 —— 中断隐指令完成
    • 保存寄存器内容 —— 中断服务程序完成 (CPU中的寄存器在执行中断服务程序的时候也会用到,这些内容在将来进行中断返回的时候主程序还要用到)
  • 恢复现场 —— 中断服务程序完成

    在这里插入图片描述

8.4.6 中断屏蔽技术 - 多重中断

8.4.6.1 多重中断的概念

CPU在执行中断服务程序的过程中,有新的中断源提出请求并且新的中断请求的优先级大于当前请求,就要进行响应

在这里插入图片描述

8.4.6.2 实现多重中断的条件

在这里插入图片描述

8.4.6.3 (中断)屏蔽技术
  • 屏蔽

使用屏蔽技术,通过设置中断屏蔽字,来改变优先级,从而提高系统设计和响应的灵活性。中断屏蔽字就分散保存在中断屏蔽触发器中(硬件保存)。所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容即中断屏蔽字。屏蔽字与中断源的优先级别是一一对应的。

在这里插入图片描述

  • 屏蔽字

    在这里插入图片描述

  • 屏蔽技术可改变处理优先等级

    中断的优先级分为响应优先级和处理优先级:

    • 响应优先级:中断响应优先级是针对同时到达的中断请求先处理谁的规定。比如A、B同时向CPU发出中断请求,而中断响应优先级是A>B,那么CPU就会先处理A,再处理B。不能改变,这是由硬件电路决定的。

    • 处理优先级:处理优先级是指CPU 实际对各中断源请求的处理优先次序。如果不采用屏蔽技术,响应的优先次序就是处理的优先次序。比如A、B两个中断的中断处理优先级是B>A,如果当CPU正在处理中断请求A时,B向CPU发送了中断请求,那么CPU会先暂停处理A,转而处理B,B结束后再继续处理A。可改变,通过设置中断屏蔽字,让一些响应高优先级的中断源的请求不能参与排队来重新设置处理优先级。

      在这里插入图片描述

  • 新屏蔽字的设置

    在这里插入图片描述

8.4.6.4 多重中断的断点保护
  • 断点可以保存到两种地方

    • 断点进栈。
    • 断点存入“0”地址,此处的0打引号,并不是真正的物理地址的0地址,而是指定的一个地址

    这两个都是由中断隐指令完成

  • 在中断周期(也就是解释指令周期的最后一个阶段),要做以下工作

    • 保存断点 0 → MAR(假设保存到到0地址,将0送到MAR)
    • 命令存储器写
    • PC → MDR;PC中保存着断点,将断点给MDR
    • (MDR) → 存入存储器
  • 在多重中断中,存在问题:后面的断点会把前面保存的断点覆盖掉

    在这里插入图片描述

参考:
教材:计算机组成原理 (唐朔飞).pdf

博客:https://blog.csdn.net/weixin_51825055/article/details/133531876

视频:https://www.bilibili.com/video/BV1t4411e7LH?p=116&vd_source=a89593e8d33b31a56b894ca9cad33d33

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

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

相关文章

数据库-SQL性能分析

SQL执行频率 慢查询日志 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有 SQL语句的日志。 MySQL的慢查询日志默认没有开启,我们可以查看一下系统变量 slow_query_l…

html5 笔记02

目录 01 svg的基本使用 02 svg绘图 03 进程和线程 01 svg的基本使用 svg和canvas的区别: canvas: 1.canvas作为一个容器只有一个dom元素 ,内部元素无法使用dom操作 (canvas不能展开然后选择不到 svg查看元素能选中因为是通过标签控制的) 2.canvas 是配合js完成各种绘制效果 …

指纹识别概念解析

目录 1. 指纹是物证之首 1.1 起源于中国 1.2 发展于欧洲 1.3 流行于全世界 2. 指纹图像 3. 指纹特征 4. 指纹注册 5. 指纹验证 6. 指纹辨识 1. 指纹是物证之首 指纹识别技术起源于中国、发展于欧洲、流行于全世界。自20世纪以来,指纹在侦破刑事案件、解决诉…

水泥超低排平台哪家好?

随着环保政策的加强和绿色发展理念的深入人心,水泥行业的超低排放改造已成为行业发展的新趋势。选择一个合适的水泥超低排平台对于确保改造效果和实现企业的可持续发展至关重要。朗观视觉小编将从多个角度出发,为您提供一份综合评估与选择攻略&#xff0…

[C语言]自定义类型详解:结构体、联合体、枚举

目录 🚀结构体 🔥结构体类型的声明 🔥结构的自引用 🔥结构体变量的定义和初始化 🔥结构体内存对齐 🔥结构体传参 🔥结构体实现位段(位段的填充&可移植性) &a…

安装 Ubuntu桌面版,详细步骤(附引导 U盘制作工具)

下载镜像 安装Ubuntu首先要下载镜像包,访问下面网址下载镜像包 https://releases.ubuntu.com/ 选择你要安装的Ubuntu版本 将 .iso 文件保存到所需位置,下面会使用此文件创建可引导 U盘。 制作 Ubuntu 引导 U 盘 首先要找到一个大于4G的U盘&#xff…

猫头虎 解析:为什么AIGC在国内适合做TOB,在国外适合做TOC?

猫头虎 解析:为什么AIGC在国内适合做TOB,在国外适合做TOC? 博主 猫头虎 的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面…

ps进程查看命令详解

1、PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。 2、ps命令支持三种使用的语法格式 UNIX 风格,选项可以组合在一起…

鸿蒙ArkUI-X平台差异化:【运行态差异化(@ohos.deviceInfo)】

平台差异化 简介 跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API&#xf…

Postman快捷功能-批量断言与快速查询替换

大家好,在我们日常的接口测试工作中,经常需要对接口返回的数据进行断言,以确保接口的正确性。当接口数量较多时,逐个编写断言语句会变得非常繁琐。此外,在接口测试过程中,我们还可能需要频繁地查找和替换某…

Python自动化工具(桌面自动化、Web自动化、游戏辅助)

工具介绍 连点工具是一款可以模拟键鼠后台操作的连点器工具。支持鼠标连点、键鼠脚本录制,支持辅助您实现办公自动化以及辅助游戏操作。功能简洁易用,非常方便操作。连点工具让您在在玩游戏、网购抢购的时候全自动点击鼠标!主要功能有&#…

MySQL数据库的数据文件保存在哪?MySQL数据存在哪里

在安装好MySQL数据库使用一段时间后,会产生许多的数据库和数据。那这些数据库的数据文件存放在本地文件夹的什么位置呢 一、默认位置 一般来说MySQL数据库的数据文件都是存放在data文件夹之中,但是根据使用的存储引擎不同,产生的一些文件也…

24李林跌落神坛,880还刷吗?还是换1000、900、660?

“李林今年跌落神坛了!” “全是固定题型没新题,结果今年考的全是新题。” 880是“老真题的神”, 遇到24年,冷门考点多,计算量又大,就不灵了。 但“老真题”,还是得刷。就像往年真题是要刷的…

(十一)统计学基础练习题五(50道选择题)

本文整理了统计学基础知识相关的练习题,共50道,适用于想巩固统计学基础或备考的同学。来源:如荷学数据科学题库(技术专项-统计学二)。序号之前的题请看往期文章。 201) 202) 203) 2…

得帆信息PMO总监李健达受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 上海得帆信息技术有限公司aPaaS业务线副总裁、PMO总监李健达先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“AI时代的PMO工作法”。大会将于6月29-30日在北京举办,敬请关注! 议题简要&#x…

Spring框架学习笔记(五):JdbcTemplate 和 声明式事务

基本介绍&#xff1a;通过 Spring 框架可以配置数据源&#xff0c;从而完成对数据表的操作。JdbcTemplate 是 Spring 提供的访问数据库的技术。将 JDBC 的常用操作封装为模板方法 1 JdbcTemplate 使用前需进行如下配置 1.1 在maven项目的pom文件加入以下依赖 <dependencies…

labelme的使用

创建虚拟环境 听说是要用这个3.6版本的python环境 conda create --namelabelme python3.6激活虚拟环境 activate labelme下载labelme pip install labelme #安装labelme组件启动labelme 在你打开文件的时候推荐还是自己先建立一个label.txt 把自己要分的类别放进去 label.…

翻译《The Old New Thing》- What‘s the deal with the EM_SETHILITE message?

Whats the deal with the EM_SETHILITE message? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20071025-00/?p24693 Raymond Chen 2007年10月25日 简要 文章讨论了EM_SETHILITE和EM_GETHILITE消息在文档中显示为“未实现”的原因。这些…

前端 JS 经典:Web 性能指标

什么是性能指标&#xff1a;Web Performance Metrics 翻译成 Web 性能指标&#xff0c;一般和时间有关系&#xff0c;在短时间内做更多有意义的事情。 一个站点表现得好与不好&#xff0c;标准在于用户体验&#xff0c;而用户体验好不好&#xff0c;有一套 RAIL 模型来衡量。这…

音视频学习规划

文章目录 概述闲聊点 小结 概述 最近在学习音视频&#xff0c;觉得还是要先写个提纲&#xff0c;给自己制定下学习路线及目标。先写下我的个人流程及思路。 ffmpeg的命令ffmpeg api播放器流媒体RTMP&#xff0c;HLS 闲聊点 先说下学习命令行吧&#xff0c;学习命令行是为了…