计算机组成原理-笔记-第二章

本文详细介绍了计算机系统中的数据表示与运算,包括进位制度、BCD码、原码、反码、补码、定点数和浮点数的表示方法,以及算术逻辑单元、移位运算、浮点数运算规则等,重点讲解了IEEE标准在浮点数表示中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 笔记下载

链接:https://pan.baidu.com/s/1bFz8IX6EkFMWTfY9ozvVpg?pwd=deng

提取码:deng

b站视频:408-计算机网络-笔记分享_哔哩哔哩_bilibili

包含了408四门科目(数据结构、操作系统、计算机组成原理、计算机网络)

如果链接失效了,看看b站,或者私信我

408相关资料(真题 模拟卷等)
链接: https://pan.baidu.com/s/1Qga8aMgcrVfCmrry68vqog?pwd=974t

提取码: 974t 

 🌸章节汇总

第一章——计算机系统概述(硬件+软件)

第二章——数据的表示和运算

第三章——存储系统  

第四章——指令系统

第五章——中央处理器

第六章——总线

第七章——输入输出系统

目录

二、第二章——数据的表示和运算

1、进位制度(二进制、十进制)

2、BCD码(余三码、2421码)

3、原码、反码、补码

3、定点小数

3、效验(奇偶校验码——看1)

4、算术逻辑单元(ALU)

(1)一位全加器(FA – full adder)

(2)并行加法器

(3)总结

(4)并行加法器(plus)

(5)补码加减运算器(含-标志位)

5、定点数的移位运算(讲的略简单)

6、原码——乘法

(1)一位乘法

(1)手算(小数和整数——类似)

7、原码——除法

8、补码——除法

9、数据的存储与排列(大端 & 小端)

(1)边界对齐(时间 – 空间 – 字节转换)

10、浮点数表示(重难点※※※※※)

(1)规格化

(2)规格化特点

(3)总结

11、IEEE(I triple E)

(1)移码

(2)重点(表示范围、转换)

12、浮点数的运算

(1)十进制

(2)二进制计算

(3)【0舍1入法】与【恒置1法】

(4)强制类型转换

(5)小结


二、第二章——数据的表示和运算

1、进位制度(二进制、十进制)

2、BCD码(余三码、2421码)

 

编码方式

功能

好处

弊处

BCD

将每个十进制数码转换为4位二进制码

精度高,适合直接用于数码管或LED等显示设备

编码长度长,占用存储空间多,运算速度慢

余三码

将每个十进制数码转换为3位二进制码

编码长度相对BCD码较短,占用存储空间相对较小

运算复杂,不易实现,精度较低

2421

将每个十进制数码分别转换为2位、4位、2位和1位二进制码

编码长度短,可减少存储空间的占用

运算复杂,不易实现,精度较低


3、原码、反码、补码

无论是加法还是减法,都会把数值转为二进制补码进行运算

补码——(符号位)参与运算 !!!——


3、定点小数

原码表示范围为1.111 1111 ~0.111 1111,即-127/128127/128
反码表示范围为1.000 0000~0.111 1111,即-127/128127/128
补码表示范围为1.000 0000~0.111 1111,即-1127/128


为什么是最小-1,因为这是小数啊!小数就是-1 ~

(1.0000000)原码= (1.0000000)反码 = (1.0000000) 补码 = -1

-1.0的原码通过纯小数的原码表示公式却表示不了,

我们无法得到-1.0的原码

但我们可以通过纯小数的补码表示公式得到-1.0的补码:

[-1.0]补=2+(-1.0)=1.000 0000

3、效验(奇偶校验码——看1)

不足:

只能检测奇数个错误!!!(如果有—偶数个错误位—那么将检测不出来)

只能用来检错,不能纠错!!!

好处:

电路实现简单——使用异或电路——就可以判断出1的个数

  1的总数为偶数—— 异或得到的结果为 0(可以从异或表中看出结果,当为0异或1时,为1)


4、算术逻辑单元(ALU)

(1)一位全加器(FA – full adder)


 输入: 两个数(0 / 1),低位的进位

输出: 进位信号,输出数(0 / 1)

用了2个与门,2个异或门,1个或门

封装:n个1位全加器,就可以构成n位加法器(串行加法器)——封装好,直接输入数据,就可以获得对应的结果——函数思想 —— 避免重复造轮子 (了解思想 – 自行优化 – 改造 !!!)

(2)并行加法器

(3)总结

(4)并行加法器(plus)

优点: 并行执行,几乎同时出结果(毕竟硬件的速度-超乎你想象)

缺点: 位数越多——硬件电路越复杂!! —— 成本高

优化: 4位 + 4位 (不往上叠加)

(5)补码加减运算器(含-标志位)

加减法——适用于——无符号 + 有符合 (都适用 !!!)


初级(会溢出——有问题!!!)


 加强版——加入了4个flag(标志位)—— 解决溢出 – 还有 进位和借位(无符号专属)


5、定点数的移位运算(讲的略简单)


6、原码——乘法

(1)一位乘法

(1)手算(小数和整数——类似)


7、原码——除法

恢复余数法


改良——因为当你为负数时!那么必然左移之后就可以被除!!!

加减交替法(不恢复余数法—but:最后一步需要恢复


 注意:

(左移)要比(加减次数)少一次!

(加减次数)的总次数:(n+1) || (n+2)

(除数)一定要小于(被除数)——如果不是,则会在第一步中被终止!

(因为被除数减除数 小于 0)

(因此——定点小数除法——无法表示除数比被除数大的计算!!!)

8、补码——除法

更正:除数为11.0101

 

9、数据的存储与排列(大端 & 小端)

(1)边界对齐(时间 – 空间 – 字节转换)


10、浮点数表示(重难点※※※※※)

科学计数法——表示

浮点数——表示方法

(1)规格化

2^5 : 304.231 —— 右规 —— 2^7 : 3.042 (小数点不动——尾数右移)

2^5 : 0.00123 —— 左规 —— 2^3 : 0.123 (小数点不动——尾数左移)

好处——增加了精读(避免了无效的0占位置)

弊处——需要改变阶码的数——万一超出了阶码的表示范围呢????

巧妙点:用了双符号位——来防止溢出

不考的点——规格化——有数不能表示——表示

(2)规格化特点

上面写错了:左移三位后——应该是: 1.0100 000

(3)总结


11、IEEE(I triple E)

(1)移码

(2)重点(表示范围、转换)

注意:

阶码——全0、全1有特殊用途

真值 = 移码 – 偏移量

二进制数(机器中展示的) —— 十进制数 —— 两者的相互转换!!!

 


12、浮点数的运算

(1)十进制


(2)二进制计算

(3)【0舍1入法】与【恒置1法】

(4)强制类型转换

 注意:

什么时候会有:精读丢失、溢出

(5)小结

### RT-DETRv3 网络结构分析 RT-DETRv3 是一种基于 Transformer 的实时端到端目标检测算法,其核心在于通过引入分层密集正监督方法以及一系列创新性的训练策略,解决了传统 DETR 模型收敛慢和解码器训练不足的问题。以下是 RT-DETRv3 的主要网络结构特点: #### 1. **基于 CNN 的辅助分支** 为了增强编码器的特征表示能力,RT-DETRv3 引入了一个基于卷积神经网络 (CNN) 的辅助分支[^3]。这一分支提供了密集的监督信号,能够与原始解码器协同工作,从而提升整体性能。 ```python class AuxiliaryBranch(nn.Module): def __init__(self, in_channels, out_channels): super(AuxiliaryBranch, self).__init__() self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1) self.bn = nn.BatchNorm2d(out_channels) def forward(self, x): return F.relu(self.bn(self.conv(x))) ``` 此部分的设计灵感来源于传统的 CNN 架构,例如 YOLO 系列中的 CSPNet 和 PAN 结构[^2],这些技术被用来优化特征提取效率并减少计算开销。 --- #### 2. **自注意力扰动学习策略** 为解决解码器训练不足的问题,RT-DETRv3 提出了一种名为 *self-att 扰动* 的新学习策略。这种策略通过对多个查询组中阳性样本的标签分配进行多样化处理,有效增加了阳例的数量,进而提高了模型的学习能力和泛化性能。 具体实现方式是在训练过程中动态调整注意力权重分布,确保更多的高质量查询可以与真实标注 (Ground Truth) 进行匹配。 --- #### 3. **共享权重解编码器分支** 除了上述改进外,RT-DETRv3 还引入了一个共享权重的解编码器分支,专门用于提供密集的正向监督信号。这一设计不仅简化了模型架构,还显著降低了参数量和推理时间,使其更适合实时应用需求。 ```python class SharedDecoderEncoder(nn.Module): def __init__(self, d_model, nhead, num_layers): super(SharedDecoderEncoder, self).__init__() decoder_layer = nn.TransformerDecoderLayer(d_model=d_model, nhead=nhead) self.decoder = nn.TransformerDecoder(decoder_layer, num_layers=num_layers) def forward(self, tgt, memory): return self.decoder(tgt=tgt, memory=memory) ``` 通过这种方式,RT-DETRv3 实现了高效的目标检测流程,在保持高精度的同时大幅缩短了推理延迟。 --- #### 4. **与其他模型的关系** 值得一提的是,RT-DETRv3 并未完全抛弃经典的 CNN 技术,而是将其与 Transformer 结合起来形成混合架构[^4]。例如,它采用了 YOLO 系列中的 RepNCSP 模块替代冗余的多尺度自注意力层,从而减少了不必要的计算负担。 此外,RT-DETRv3 还借鉴了 DETR 的一对一匹配策略,并在此基础上进行了优化,进一步提升了小目标检测的能力。 --- ### 总结 综上所述,RT-DETRv3 的网络结构主要包括以下几个关键组件:基于 CNN 的辅助分支、自注意力扰动学习策略、共享权重解编码器分支以及混合编码器设计。这些技术创新共同推动了实时目标检测领域的发展,使其在复杂场景下的表现更加出色。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peter123123123123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值