计算机组成原理:408考研|王道|学习笔记II

系列目录

计算机组成原理 学习笔记I
计算机组成原理 学习笔记II


目录

  • 系列目录
  • 第四章 指令系统
    • 4.1 指令系统
      • 4.1.1 指令格式
      • 4.1.2 扩展操作码指令格式
    • 4.2 指令的寻址方式
      • 4.2_1 指令寻址
      • 4.2_2 数据寻址
    • 4.3 程序的机器级代码表示
      • 4.3.1 高级语言与机器级代码之间的对应
      • 4.3.2 常用的x86汇编指令
      • 4.3.3 AT&T格式和Inter格式
    • 4.4 CISC 和 RISC 的基本表示
  • 第5章 中央处理器
    • 5.1 CPU的功能和基本结构
    • 5.2 指令执行过程
    • 5.3 数据通路的功能和基本结构
      • 5.3.1 数据通路-单总线结构
      • 5.3.2 数据通路-专用通路结构
    • 5.4 控制器的功能和工作原理
    • 5.5 异常和中断处理(详见OS)
    • 5.6 指令流水线
    • 5.7 多处理器的基本概念
      • 5.7.1 SISD、SIMD、MIMD向量处理器的基本概念
      • 5.7.2 共享内存多处理器(Shared Memory multiProcessor, SMP) 的基本概念
      • 5.7.3 多核处理器(multicore)的基本概念
  • 第6章 总线
    • 6.1 总线概述
    • 6.2 总线操作(事务)和定时
    • 6.3 总线仲裁与总线标准(408不考)
  • 第7章 输入/输出系统
    • 7.1 I/O 系统的基本概念
    • 7.2 I/O 接口
    • 7.3 I/O 方式🌟
      • 7.3.1 程序查询方式
      • 7.3.2 程序中断方式
      • 7.3.3 DMA方式🌟🌟🌟


  • 持续更新~
  • 欢迎评论区留言指正
  • 如果你是Obsidian用户,可以导入自己的笔记库中,效果最佳
  • ⚠️如需转载,请标明出处!

第四章 指令系统

4.1 指令系统

4.1.1 指令格式

  • 指令的定义
    • 指令,又称机器指令,是计算机运行的最小功能单位
    • 一台计算机的所有指令的集合构成该机的指令系统,又称指令集
    • 不能执行其他指令系统的指令——x86架构、ARM架构
  • 指令格式
    • (一条指令)指令=操作码(OP)字段+地址码(A)字段(可能有多个)
  • 🌟指令的分类
    • 地址码数目分类
      • 零地址指令
        • 零地址(指令)的运算类指令又称堆栈运算类指令,两个操作数隐含在栈顶和次栈顶
        • ⚠️堆栈指令的访存次数
      • 一地址指令
      • 二、三地址指令
      • 四地址指令
    • 指令字长分类
      • 定长指令字结构
        • 半字长指令
        • 单字长指令
        • 双字长指令
      • 变长指令字结构
    • 操作码长度分类
      • 定长操作码
      • 可变长操作码(不定长操作码)
        • 定长指令字结构+可变长操作码->扩展操作码指令格式
    • 操作类型分类
      • 数据传送类:进行主存与CPU之间的数据传送
        • LOAD
          • 作用:用指令将数据从主存读到某寄存器中
        • STORE
          • 作用:用指令将数据从某寄存器中写入主存
      • 运算类
        • 算术逻辑操作
          • 算术
          • 逻辑
        • 移位操作
          • 算数移位
          • 逻辑移位
          • 循环移位(带进位和不带进位)
      • 程序控制类:改变程序执行的顺序
        • 转移操作
          • 无条件转移 JMP
          • 条件转移
            • JZ:结果为0
            • JO:结果溢出
            • JC:结果有进位
          • 调用和返回 CALL和RETURN
          • 陷阱(Trap)与陷阱指令
          • 循环指令
      • 输入输出类(I/O):进行CPU和I/O设备之间的数据传送
        • 输入输出操作
          • CPU寄存器与IO端口之间的数据传送(端口即IO接口中的寄存器)

4.1.2 扩展操作码指令格式

定长指令字结构+可变长操作码->扩展操作码指令格式(不同地址数的指令使用不同长度的操作码)

  • 扩展操作码
    • 举例1——指令字长为16位,每个地址码占4位
    • 举例2
  • 指令(的)操作码
    • 操作码分类
      • 定长操作码
      • 扩展操作码(不定长操作码)

4.2 指令的寻址方式

4.2_1 指令寻址

⚠️每一条指令的执行都分为“取指令”、“执行指令”两个阶段

  • 指令寻址
    • 确定下一条要执行的指令的存放地址
    • 由程序计数器PC指明
  • 指令寻址的分类
    • 顺序寻址
      • (PC) + ‘‘1’’ ——> PC
      • 此处的"1"要理解为1个指令字长
      • 每次取指令结束后,一定会PC+“1”
    • 跳跃寻址
      • 执行转移类指令导致的PC值改变

4.2_2 数据寻址

|操作码(OP) | 地址码(A)|

  • 按寻址方式的不同
    • 指令寻址
      下一条欲执行指令的指令地址
      始终由程序计数器PC给出
      • 顺序寻址
      • 跳跃寻址
    • 数据寻址
      • 分类(10种)
        • 隐含寻址(0000)
        • 立即寻址(0001)
        • 直接寻址(0010)
        • 间接寻址(0011)
        • 寄存器寻址(0100)
        • 寄存器间接寻址(0101)
        • 相对寻址(0110)
        • 基址寻址(0111)
        • 变址寻址(1000)
        • 堆栈寻址(1001)
      • 地址码拓展
        • 一地址指令
          • |操作码(OP)|寻址特征|形式地址(A)|
          • 求出操作数的真实地址,称为有效地址(EA)
        • 二地址指令
          • |操作码(OP)|寻址地址|形式地址( A 1 A_1 A1)|寻址地址|形式地址( A 2 A_2 A2)|
      • 直接寻址
      • 间接寻址
        • 一次间址
        • 两次间址
      • 寄存器寻址(不访问主存,只访问寄存器)
      • 寄存器间接寻址(比一般间接寻址快)
      • 隐含寻址(指令中隐含着操作数的地址)
      • 立即寻址(指令执行时间最短)
        • 形式地址A就是操作数本身,又称为立即数(如汇编语言中,LOAD # 985,#表示立即寻址特征),一般采用补码形式
          在这里插入图片描述

4.3 程序的机器级代码表示

4.3.1 高级语言与机器级代码之间的对应

4.3.2 常用的x86汇编指令

4.3.3 AT&T格式和Inter格式

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

4.4 CISC 和 RISC 的基本表示

CISC:Complex Instruction Set Computer
RISC:Reduced Instruction Set Computer
在这里插入图片描述



第5章 中央处理器

5.1 CPU的功能和基本结构

用户不可见的寄存器:MAR、MDR、IR、暂存寄存器

  • CPU的功能
    • 指令控制、操作控制、时间控制、数据加工、中断处理
  • 运算器的功能
    • 对数据进行加工
  • 控制器的功能
    • 取指令、分析指令、执行指令
  • 运算器的基本结构
    • 算术逻辑单元ALU
    • 暂存寄存器
    • 通用寄存器组
    • 累加寄存器ACC
    • 程序状态字寄存器PSW
    • 移位器、计数器
  • 数据通路的基本结构
    管理多条通路:多路选择器MUX与三态门
    • 专用通路
    • 内部总线
  • 控制器的基本结构
    • 程序计数器PC
    • 指令寄存器IR
    • 指令译码器、时序系统、微操作信号发生器
    • 存储器地址寄存器MAR
    • 存储器数据寄存器MDR

5.2 指令执行过程

  • 指令周期
    • 机器周期/CPU周期——CPU时钟周期/节拍
    • 取指周期、间址周期、执行周期、中断周期
    • 标志触发器FE、IND、EX、INT
  • 数据流
    • 取指周期:取指令——根据PC中的内容取出指令代码并存放在IR中
    • 间址周期:取操作数有效地址EA——根据IR中指令地址码操作数有效地址
    • 执行周期:取操作数——根据指令字的操作码和操作数进行相应的操作
    • 中断周期:处理中断请求,保存程序断点,送中断向量
  • 执行方案
    • 单指令周期:所有指令选用相同的执行时间,指令间串行
    • 多指令周期:不同类型指令选用不同的执行步骤,指令间串行
    • 流水线方案:隔一段时间启动一条指令,多条指令处于不同阶段,同时运行

5.3 数据通路的功能和基本结构

5.3.1 数据通路-单总线结构

ALU需要配合暂存器使用

  • 数据通路
    • 定义:数据在功能部件之间传送的路径
    • 基本结构:
      • CPU内部单总线方式
      • CPU内部多总线方式
      • 专用数据通路方式
  • 内部总线:指同一部件,如CPU内部连接各寄存器及运算部件之间的总线
  • 系统总线:指同一计算机系统的各部件,如CPU、内存、通道和各类I/O接口间互相连接的总线

5.3.2 数据通路-专用通路结构

多路选择器MUX与三态门
见PPT例题

5.4 控制器的功能和工作原理

  • 硬布线控制器(计组TOP3难度 但并非重点)
  • 微程序控制器(考试重点,且有概率出大题)
    • 控制单元CU的结构
      • 微地址形成部件
        • 微地址即微指令在CM中的存放地址
        • 通过指令操作码形成对应微程序的第一条微指令的存放地址
      • 顺序逻辑
        • 根据某些机器标志和时序信息确定下一条微指令的存放地址
      • CMAR(µIR)
        • 指明将要执行的下一条微指令(在主存中)的存放地址
      • 地址译码器
        • 将CMAR内的地址信息译码为电信号,控制CM读出微指令
      • 控制存储器(控存)CM
        • 存放所有机器指令对应的微程序(微指令序列)
        • 集成在CU内部,用ROM实现,按地址寻访
        • 通常在CPU出厂时就将所有微程序写入
      • CMDR(µIR)
        • 微指令寄存器,用于存放当前正在执行的微指令
        • CM(µPC)——>µIR
    • 工作原理
      • 指令周期=取指周期——>间址周期——>执行周期——>中断周期
        其中间址、中断周期可有可无
      • 处理取指、间址、中断周期的微指令序列通常是公用的(指令相同)
        指令周期的微指令序列各不相同
      • 取指周期的微指令序列固定从#0开始存放
        执行周期的微指令序列的存放根据指令操作码确定
    • 概念对比
      • 微命令、微操作、微指令、微程序之间的关系
        1个指令对应1个微程序
      • 指令周期:从主存取出并执行一条机器指令所需的时间
      • 微周期(微指令周期):从控制器存储器取出一条微指令并执行相应微操作所需的时间
  • 微指令的设计
    • 微指令格式
      • 水平型微指令
      • 垂直型微指令
      • 混合型微指令
    • 水平型微指令的编码方式
      • 🌟直接编码(直接控制)
        • 控制码的每个bit对应一个微命令,微指令执行速度更快
      • 🌟字段直接编码
        • 将互斥性的微命令分在同一个段内,相容的分在不同的段
        • 每个段留出一个状态表示“不操作”
        • 微指令操作码需要经过译码电路
      • 字段间接编码
    • 下一条微指令地址的形成方式
      • 🌟断定法(下地址法)
      • 🌟计数器法
      • 根据指令操作码确定执行周期微程序首地址
      • 由专门的硬件指明取指/中断周期的微程序首地址

5.5 异常和中断处理(详见OS)

5.6 指令流水线

  • 基本概念
    • 指令执行过程划分为不同阶段,占用不同的资源,就能使多条指令同时执行
    • 表示方法
      • 指令流程图:主要用于分析影响流水线的因素
      • 时空图:主要用于分析流水线的性能
  • 性能指标
    • 吞吐率TP
    • 加速比S
    • 效率E
  • 影响因素
    • 结构相关(资源冲突)
      多条指令争用同一资源
      解决方法:
      • 暂停相关指令
      • 资源重复配置
    • 🌟数据相关(数据冲突)
      后续指令需要用到之前指令的执行结果
      解决方法:
      • 暂停相关指令
        • 硬件阻塞(stall)——根据指令流程图分析耗时
        • 软件插入"NOP"
      • 数据旁路技术
      • 编译优化,调整指令顺序
    • 控制相关(控制冲突)
      遇到转移指令和其他改变PC值的指令时发生
      解决方法:
      • 分支预测
      • 预取两个方向的指令
      • 加快和提前形成条件码
      • 提高转移方向的猜准率
  • 分类
    • 按使用级别:部件功能级、处理机级、处理机间
    • 按完成功能:单功能、多功能
    • 按连接方式:动态、静态
    • 按有无反馈信号:线性、非线性
  • 多发技术
    • 超标量流水线技术
    • 超流水线技术
    • 超长指令字技术

5.7 多处理器的基本概念

5.7.1 SISD、SIMD、MIMD向量处理器的基本概念

  • SISD单指令流单数据流
  • SIMD单指令流多数据流
  • MISD多指令流单数据流
  • MIMD多指令流多数据流
  • 向量处理器(SIMD思想的进阶应用)

5.7.2 共享内存多处理器(Shared Memory multiProcessor, SMP) 的基本概念

多处理器系统(简称)

5.7.3 多核处理器(multicore)的基本概念

和共享内存多处理器是同一个东西,命名角度不同



第6章 总线

6.1 总线概述

  • 总线概念与分类
  • 总线的性能指标
    • 总线的传输周期(总线周期)
    • 总线时钟周期
    • 总线的工作频率
    • 总线的时钟频率
    • 总线宽度
    • 总线带宽
    • 总线复用
    • 信号线数

6.2 总线操作(事务)和定时

  • 总线传输的四个阶段
    • 申请分配阶段
    • 寻址阶段
    • 传输阶段
    • 结束阶段
  • 定时
    • 同步定时方式(同步通信)
    • 异步定时方式(异步通信)——不互锁、半互锁、全互锁
    • 半同步通信
    • 分离式通信

6.3 总线仲裁与总线标准(408不考)



第7章 输入/输出系统

7.1 I/O 系统的基本概念

  • 基本概念
    • IO硬件
      输入设备、输出设备、 外存设备、I/O接口(I/O控制器)
    • IO软件
      • IO指令
        CPU执行的指令,用于控制IO接口或控制通道
      • 通道指令
        通道执行的指令,与CPU机器指令不是一套东西
  • I/O控制方式
    • 程序查询方式
      CPU“忙等”慢速设备完成工作,二者串行工作
    • 程序中断方式
      设备准备数据时,CPU继续工作,设备准备好之后向CPU发出中断请求,CPU在指令周期的末位检查中断并作出中断响应(执行中断处理程序)
    • DMA方式
      主存与IO交换信息时由DMA控制器控制,传输完一整块数据才需要中断
    • 通道方式
      通过IO指令启动通道,通道执行通道指令序列,通道程序放在主存中

7.2 I/O 接口

  • 作用与结构
    作用:
    在这里插入图片描述 结构:

    • 数据缓冲寄存器(DBR)
    • 状态/控制寄存器
    • 串-并转换机构
    • I/O控制逻辑
    • 地址译码逻辑
  • I/O端口
    在这里插入图片描述

    • 指IO控制器(接口电路)中可被CPU直接访问的寄存器
    • 统一编制:IO端口和主存地址空间统一,用访存指令访问IO端口
    • 独立编制:IO端口地址与主存地址相互独立,用IO指令访问IO端口
  • 分类

    • 按数据传送方式
      • 并行接口
      • 串行接口
    • 按主机访问I/O设备的控制方式
      • 程序查询接口
      • 中断接口
      • DMA接口
    • 按功能选择的灵活性
      • 可编程接口
      • 不可编程接口

7.3 I/O 方式🌟

在这里插入图片描述

7.3.1 程序查询方式

在这里插入图片描述

7.3.2 程序中断方式

  • 程序中断方式
    • 中断系统
      • 中断的基本概念

      • 工作流程

        • 中断请求
          ![[截屏2024-07-10 19.35.42.png]]
          • 分类
            • 内中断(又称异常、例外、陷入)
              • 自愿中断——指令中断
              • 强迫中断
                • 硬件故障
                • 软件中断
            • 外中断(中断)
              • 外设请求
              • 人工干预
          • 中断请求标记触发器INTR
        • 中断响应
          • 响应中断的条件
          • 中断判优
            • 软件:查询程序
            • 硬件:排队器
            • 优先级的设置
        • 中断处理
          • 中断隐指令
            • 关中断
            • 保存断点(PC)
            • 引出中断服务程序
              • 软件查询法
              • 硬件向量法——中断向量
          • 中断服务程序
      • 单重中断与多重中断
        在这里插入图片描述

        • 中断服务程序的具体步骤
        • 中断屏蔽技术
          • 屏蔽字
          • 程序执行轨迹
    • 程序中断方式
      • 工作流程
      • CPU占用情况
        • 中断响应(隐指令)
        • 中断服务程序

7.3.3 DMA方式🌟🌟🌟

  • DMA控制器
    • 主要功能
      • 传送前:接收外设的DMA请求,向CPU发出总线请求;接管总线控制权
      • 传送时:管理总线,控制数据传送;确定主存单元地址及长度,能自动修改对应参数
      • 传送后:向CPU报告DMA操作的结束
    • 组成
      • 主存地址计数器:存放要交换数据的主存地址
      • 传送长度计数器:记录传送数据的长度
      • 数据缓冲寄存器:暂存每次传送的数据
      • DMA请求触发器:设置准备好数据后将其置位
      • 控制/状态逻辑:由控制和时许电路及状态标志组成
      • 中断机构:数据传送完毕后触发中断机构,提出中断请求
  • 传送过程
    • 预处理:CPU完成寄存器初值设置等准备工作
    • 数据传送:CPU继续执行主程序,DMA控制器完成数据传送
    • 后处理:CPU执行中断服务程序做DMA结束处理
  • 传送方式
    • 停止CPU访存:需要数据传送时,停止CPU访存,总线控制权交给DMA控制器
    • 交替访存:将CPU周期分为DMA访存和CPU访存两个部分
    • 周期挪用(周期窃取):I/O设备需要访存时,挪用一个或几个存取周期
  • 特点
  • 与中断方式的区别
  • CPU占用情况

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

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

相关文章

游戏AI的创造思路-技术基础-情感计算(1)

游戏中的AI也是可以和你打情感牌的哦,不要以为NPC是没有感情的,不过,不要和NPC打过多的情感牌,你会深陷其中无法自拔的~~~~~~ 目录 1. 情感计算算法定义 2. 发展历史 3. 公式和函数 3.1. 特征提取阶段 TF-IDF(词频…

C++的异常处理机制

C的异常处理机制 (1)Why(异常处理机制的作用)(2)How(异常机制如何工作)A.抛出异常B.捕获异常C.处理异常D.传递异常 (3)抛出异常A.栈展开B.析构函数和异常C.异常对象 (4)捕获异常(4)处理异常A.构造函数的异常处理B.不抛出异常noexc…

中小学校园EasyCVR视频综合监管方案:构建安全、智能的校园环境

一、背景需求分析 随着科技的快速发展,校园安全问题日益受到社会各界的关注。尤其是在中小学校园中,学生的安全更是牵动着每一个家庭的心。为了更有效地保障学生的安全,提高校园安全管理水平,视频监控系统在中小学中的应用越来越…

伙伴活动|AI硬件大潮来袭,深圳的创客们在哪里?

「每一种硬件产品,都会被 GenAI 重新做一遍。」 分享一个社区伙伴「未来光锥」参与主办的活动。如果你同时对 AI 和硬件感兴趣,提到 maker 一词仍然会激动。推荐你参与这次活动。 AI 玩具Folotoy 的创始人、RTE 开发者社区成员王乐也将参与本次活动并分…

【C++进阶】C++中的IO流

目录 前言 1. C语言中的IO 2. 如何理解流 3. C中的IO流 3.1 C中的标准IO 3.2 C中的文件IO 4. stringstream 总结 前言 C语言中的I/O接口十分强大,但使用起来有些繁琐。好在C中的I/O方式为我们解决了这些问题,让数据的读写操作变得更加简洁和便捷; 在…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-57长短期记忆网络(LSTM)

57长短期记忆网络(LSTM) 1.LSTM原理 LSTM是专为解决标准RNN的长时依赖问题而设计的。标准RNN在训练过程中,随着时间步的增加,梯度可能会消失或爆炸,导致模型难以学习和记忆长时间间隔的信息。LSTM通过引入一组称为门…

【卡尔曼滤波器】DR_CAN 2 学习笔记:_数据融合_协方差矩阵_状态空间方程_观测器问题

【卡尔曼滤波器】2_数学基础_数据融合_协方差矩阵_状态空间方程_观测器问题 非常重要1 数据融合 data fusion 有俩秤,各自有自己的正态分布:俩秤是相互独立的:俩秤都不准,但标准差都符合正态分布 正态分布又叫做高斯分布 向左、向右 都是2, 标准差是2覆盖了68.4 %的可能:…

开启HIVE中分区表支持中文字段

进入hive表: use hive; #修改hive database编码 alter database hive default character set utf8; #修改table编码 alter table PARTITIONS default character set utf8; alter table PARTITION_KEY_VALS default character set utf8; alter table SDS default cha…

机器学习和AI智能写作对未来文案编辑的影响

欢迎关注小知:知孤云出岫 目录 机器学习和AI智能写作对未来文案编辑的影响1. 简介2. AI智能写作工具的现状3. AI智能写作的优势3.1 提高效率3.2 降低成本3.3 数据驱动的个性化 4. AI智能写作的挑战4.1 创造力和独创性4.2 道德和伦理问题4.3 技术限制 5. 行业变化5.…

【排序 - 插入排序 和 希尔排序】

插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理是逐步构建有序序列。在排序过程中,它将未排序的元素逐个插入到已排序的部分中,从而在每次插入时扩展已排序序列的长度。 原理介绍 插入排序的基本思…

RAG实践:ES混合搜索BM25+kNN(cosine)

1 缘起 最近在研究与应用混合搜索, 存储介质为ES,ES作为大佬牌数据库, 非常友好地支持关键词检索和向量检索, 当然,支持混合检索(关键词检索向量检索), 是提升LLM响应质量RAG(Retri…

Java 8革新:现代编程的全新标准与挑战

文章目录 一、方法引用二、接口默认方法三、接口静态方法四、集合遍历forEach()方法 一、方法引用 方法引用是Java 8中一种简化Lambda表达式的方式,通过直接引用现有方法来代替Lambda表达式。 方法引用使得代码更加简洁和易读,特别是在处理函数式接口时&…

大数据专业创新人才培养体系的探索与实践

一、引言 随着大数据技术的迅猛发展,其在各行各业中的应用日益广泛,对大数据专业人才的需求也日益增长。我国高度重视大数据产业的发展,将大数据作为国家战略资源,推动大数据与各行业的深度融合。教育部也积极响应国家战略&#…

JVM:字节码文件

文章目录 一、Java虚拟机的组成二、字节码文件的组成1、基本信息2、常量池3、字段4、方法5、属性 三、常用的字节码工具1、javap -v 命令2、jclasslib插件3、阿里arthas 一、Java虚拟机的组成 二、字节码文件的组成 1、基本信息 魔数、字节码文件对应的Java版本号访问标识&am…

Docker 使用基础(2)—镜像

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:秒針を噛む—ずっと真夜中でいいのに。 0:34━━━━━━️💟──────── 4:20 🔄 ◀️ ⏸ …

Vue组件通信props和$emit用法

父传子&#xff0c;通过props 子传父&#xff0c;通过$emit App.vue <template><div class"app" style"border: 3px solid #000; margin: 10px">我是APP组件<!-- 1.给组件标签&#xff0c;添加属性方式 赋值 --><!-- 添加属性传值 …

【java算法专场】双指针(下)

611. 有效三角形的个数 目录 611. 有效三角形的个数 算法思路 算法代码 LCR 179. 查找总价格为目标值的两个商品 算法思路 算法代码 HashSet 双指针 15. 三数之和 算法思路 算法代码 18. 四数之和 ​编辑算法思路 算法代码 611. 有效三角形的个数 算法思路 算法…

前端面试题(CSS篇六)

一、浏览器如何判断是否支持 webp 格式图片 &#xff08;1&#xff09;宽高判断法。通过创建image对象&#xff0c;将其src属性设置为webp格式的图片&#xff0c;然后在onload事件中获取图片的宽高&#xff0c;如果能够获取&#xff0c;则说明浏览器支持webp格式图片。如果不能…

IAR 编译优化等级详解

目录 1.编译时优化器何时介入 2.编译优化等级汇总 3.优化项解读 3.1 代码移动 3.2 函数内联 3.3 循环交换 3.4 循环展开 3.5 公用表达式消除 3.6 链接阶段的优化 4 小结 大家好&#xff0c;这里是快乐的肌肉。 最近在迁移工程到IAR编译器上&#xff0c;发现编译优化…

AI赛道成功的“小”AI平台,都在做什么?

在深入了解30多家跨界拓展AI赛道业务的企业后&#xff0c;我们发现大家对目前的AI市场存在一定程度的误解&#xff1a;即认为在AI领域想要分一杯羹&#xff0c;只需要搞几个API&#xff0c;把大语言模型、绘画、视频、数字人等功能都放上去&#xff0c;可能就有机会占一席之地了…