当前位置: 首页 > news >正文

20232022年408真题易错知识点整理

浮点数

考察了非规格化数:
IEEE 754标准中,浮点数的表示取决于阶码 (Exponent)尾数 (Mantissa) 的组合。下表清晰地展示了各种情况下的区别。

类型阶码 (E)尾数 (M)隐藏位/处理方式实际指数计算表示的值/含义
有符号零全0全0E实际=1−BiasE_{\text{实际}} = 1 - \text{Bias}E实际=1Bias±0.0\pm 0.0±0.0 (符号位决定正负)
非规格化数 (Denormalized)全0全0**0.**M (隐藏位为0)E实际=1−BiasE_{\text{实际}} = 1 - \text{Bias}E实际=1Bias
(单精度: -126, 双精度: -1022)
(−1)S×0.M×2E实际(-1)^S \times 0.M \times 2^{E_{\text{实际}}}(1)S×0.M×2E实际
用于表示非常接近0的数
规格化数 (Normalized)全0 且非全1任意**1.**M (隐藏位为1)E实际=E−BiasE_{\text{实际}} = E - \text{Bias}E实际=EBias
(Bias单精度为127, 双精度为1023)
(−1)S×1.M×2E实际(-1)^S \times 1.M \times 2^{E_{\text{实际}}}(1)S×1.M×2E实际
绝大多数常规浮点数
无穷大 (Infinity)全1全0不适用±∞\pm \infty± (符号位决定正负)
非数 (NaN)全1全0不适用NaN (Not a Number),表示无效操作结果(如−1\sqrt{-1}10/00/00/0)

🧠 重要说明:

  • Bias(偏移值):单精度下为127(阶码8位),双精度下为1023(阶码11位)。
  • 非规格化数的意义:它填补了0与最小规格化正数之间的空白,实现了逐渐下溢 (Gradual Underflow),避免了突然下溢归零带来的精度损失。
  • 特殊值的操作:对无穷大和NaN进行操作会产生特定结果(如有限数除以0得无穷大)或传递NaN。

中断响应

中断隐指令负责的是硬件自动执行的“基础保障”工作,而操作系统则负责后续更复杂的“具体处理”任务

中断处理阶段主要负责方核心任务与说明
1. 中断响应与关中断中断隐指令 (硬件自动完成)CPU检测到中断请求后,自动将中断标志位(IF)清零,禁止响应新的可屏蔽中断,为后续处理提供一个稳定的初始环境。
2. 保存断点与关键状态中断隐指令 (硬件自动完成)CPU自动将程序计数器(PC)和处理机状态字(PSW)等关键寄存器的内容压入堆栈,确保事后能准确返回被中断的程序。
3. 识别中断源并转入处理程序中断隐指令 (硬件自动完成)硬件通过查询中断向量表,自动找到对应中断服务程序(ISR)的入口地址,并加载到程序计数器中,使CPU开始执行ISR。
4. 保存与恢复完整现场操作系统 (通过中断服务程序)中断服务程序(属于操作系统内核)负责保存和恢复通用寄存器等硬件自动保存之外的所有现场信息
5. 开中断与允许嵌套操作系统 (通过中断服务程序)在完成必要现场保护后,操作系统通过指令重新开启中断(将IF置1),允许更高优先级的中断嵌套发生。
6. 执行具体中断处理操作系统 (通过中断服务程序)这是中断处理的实质阶段,由操作系统执行与中断事件相关的具体代码,如处理键盘输入、完成磁盘I/O或处理异常。
7. 中断返回操作系统与硬件协作中断服务程序最后执行一条中断返回指令(如IRET),该指令会触发硬件自动将之前保存的PSW和PC值从栈中弹出,从而恢复被中断程序的执行环境。

💡 理解协作的关键点

这种分工体现了计算机系统设计的重要思想:

  • 效率与安全的平衡:中断隐指令用硬件实现最紧急、最基础的操作,速度极快,为后续软件处理打下安全基础。
  • 软硬件协同:操作系统在硬件提供的基础保障之上,利用其灵活性和强大的功能,完成复杂多样的具体任务。

在这里插入图片描述

组成原理

  1. 地址译码器是:比如你的输入是三条线,输出是8条线
  2. 多路选择器是: 8根输入,和3个输入.一个输出
  3. ​地址译码器的工作就像打固定电话。当你拨打一个完整的电话号码(地址信号)时,电话交换系统(地址译码器)会进行译码,最终只让唯一对应的那部分机(输出信号)响铃,从而建立连接
  4. 多路选择器的工作则像看电视选台。电视机内部有多个频道(输入数据)的信号同时存在,你通过遥控器按下“1”、“2”等数字(选择信号),来选择让哪一个频道的节目出现在屏幕上(输出端)
  5. 磁盘地址包含: 磁道号(柱面),磁头号,扇区号

DMA周期挪用是一种平衡CPU和I/O设备访问内存需求的技术,下面这个表格能帮你快速抓住核心要点。

特性维度停止CPU访存周期挪用(周期窃取)DMA与CPU交替访问
核心原理DMA期间CPU完全让出总线控制权I/O设备在需要时“窃取”本属于CPU的内存访问周期将CPU工作周期分割,固定时间段分给CPU和DMA
CPU活动基本停止工作,保持状态仅在需要访存时才被短暂延迟,多数时间继续执行指令几乎不受影响,无缝交替
总线控制权转移成组传送前交接,结束后归还每次传送一个字都需要申请、建立和归还无需申请,按固定时间片切换
内存利用率较低(I/O设备准备数据时内存空闲)较高很高
控制复杂度简单中等复杂
适用场景传输率极高的I/O设备成组传送I/O设备读写周期 > 内存存储周期CPU工作周期 >> 内存存取周期

💡 深入理解周期挪用

了解了基本概念后,我们来看看它是如何具体工作的,以及有哪些优缺点。

🔍 工作原理与场景
当I/O设备发出DMA请求时,会根据CPU的状态进入不同的处理流程:

  • CPU未访存:如果CPU正在执行不需要访问内存的指令(例如复杂的算术运算),I/O设备可以立即使用总线,不会对CPU造成任何影响。
  • CPU正在访存:如果CPU正在访问内存,I/O设备需要等待当前的存取周期结束后,才能挪用总线。
  • CPU与DMA同时请求访存:当两者冲突时,I/O设备的访存请求通常具有更高优先级。这是因为I/O数据流(如来自网络或磁盘的数据)可能有实时性要求,不及时处理可能导致数据丢失。因此,DMA控制器会“窃取”1-2个内存周期,导致CPU的访存操作被轻微延迟。

⚖️ 优势与代价
周期挪用的主要优势在于其平衡性:它既满足了I/O设备的数据传输需求,又最大限度地保证了CPU能够持续工作,从而提高了整个系统的效率。

然而,这种灵活性也有代价:每次挪用周期都涉及总线控制权的申请、建立和归还,这个过程本身会消耗时间。因此,尽管对主存而言只占用一个周期,但对DMA控制器来说,实际可能消耗2-5个主存周期。这也导致了数据传送过程是不连续和不规则的。此外,实现精密的时序控制需要相对复杂的硬件电路

DHCP运作流程

发现阶段 (DHCP Discover)

当一台设备(DHCP客户端)首次接入网络或需要获取IP地址时,由于不知道DHCP服务器的地址,它会向整个网络发送一个DHCP Discover广播报文。这个报文的源地址是0.0.0.0,目标地址是255.255.255.255,其中包含了客户端的MAC地址,用于唯一标识自己。这个步骤的目的是寻找网络中的DHCP服务器。

提供阶段 (DHCP Offer)

网络中的DHCP服务器收到Discover广播后,会从自己管理的IP地址池中挑选一个可用的IP地址,然后向客户端回复一个DHCP Offer报文。这个报文通常也以广播形式发送(因为客户端此时尚未有正式IP地址),其中包含了为客户端准备的IP地址、子网掩码、租约期限等信息。

请求阶段 (DHCP Request)

客户端可能会收到多个DHCP服务器发来的Offer报文。通常情况下,它会选择第一个到达的Offer,然后以广播形式发送一个DHCP Request报文。这个报文有两个作用:一是告知选中的服务器“我接受你提供的IP”;二是告知其他未被选中的服务器“我将不使用你们提供的地址”,以便它们收回预留的IP。

确认阶段 (DHCP ACK)

被选中的DHCP服务器收到Request报文后,会向客户端发送一个DHCP ACK报文作为最终确认。此报文中包含了客户端可以正式使用的完整网络配置信息,如IP地址、子网掩码、默认网关、DNS服务器地址等。客户端收到ACK后,会将此IP地址与网卡绑定,完成TCP/IP协议的初始化,从而可以开始网络通信。

地址续租与释放

IP地址的分配是有时间限制的,这个时间称为租约期限。为了能继续使用该IP地址,客户端需要进行续约。

  • 租约更新:当租期到达50% 时,客户端会直接向原DHCP服务器发送一个单播的Request报文请求续约。如果服务器同意(回复DHCP ACK),租约会从零开始重新计算。如果此时服务器没有响应,客户端会在租期到达87.5% 时再次广播发送Request报文,寻找任何可以响应的DHCP服务器进行续约。
  • 地址释放:当客户端主动断开网络连接(如执行ipconfig /release命令)时,会向DHCP服务器发送一个DHCP Release报文,告知服务器其不再需要当前使用的IP地址,服务器随后会将该地址回收并放回地址池以备重新分配。
http://www.dtcms.com/a/441921.html

相关文章:

  • 【Qt开发】输入类控件(四)-> QSpinBox
  • uniapp与webview通信
  • 地推app接任务平台网站图片大小优化
  • Java Stream API
  • Freqtrade - 快速开始Quick Start
  • C++list全解析
  • KafKa概念与安装
  • 基于单片机和LabVIEW的多路数据采集器系统设计(论文+源码)
  • 网站你懂我意思正能量晚上在线下载免费软件魅族网站被黑客入侵怎么办
  • C语言笔记(2)
  • interface range 概述及题目
  • web:vue中方法watch和方法watchEffect的对比
  • 微信息公众平台微网站建设郴州网站建设费用价格
  • leetcode 35.搜索插入的位置 python
  • 探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧——容器化部署深度解析
  • 信奥赛CSP-J复赛集训(语法基础专题)(1):三位数排序(文末附讲课视频)
  • 购物分享网站怎么做的网站建设服务中心
  • 【深度学习新浪潮】数据合成领域近三年研究进展与开源项目调研
  • 【嵌入式Linux - 应用开发】音频(ALSA 框架)
  • 获得场景视频API开发(02):H5前端上传视频之Java转 PHP实现方案
  • 枣阳网站建设公司c 在网站开发方面有优势吗
  • SpringMVC中的常用注解及使用方法
  • PyQt6实例_个股收盘价和市盈率TTM
  • Windows 环境下安装 Node.js 和 Vue.js 框架完全指南
  • C语言第3讲:分支和循环(上)—— 程序的“决策”与“重复”之旅
  • 09.Docker compose
  • 梁山专做网站的公司徐州便民信息网
  • HarmonyOS 应用开发深度解析:ArkTS 状态管理与渲染控制的艺术
  • ThreadX全家桶迎来移交Eclipse基金会后的第2次更新,发布V6.4.3版本,更新终于回到正轨
  • 中国工信备案查询网站哪个网站能免费下载