计算机组成原理 第 2 章|2.1-2.2

发布时间:2026/10/18 13:51:10
计算机组成原理 第 2 章|2.1-2.2 一、数据的表示分类计算机数据分为数值数据可计算定点 / 浮点、符号数据文字、标记ASCII、汉字编码 选择数据表示要考虑数类型、数值范围、精度、硬件成本1. 定点数小数点位置固定不变只有纯小数、纯整数两种纯小数小数点在符号位后0≤|x|1-纯整数小数点在最低位右侧0≤|x|≤-1优点硬件简单缺点表示范围有限2. 浮点数格式N× MM尾数决定精度e阶码决定数值范围 机器存储分为符号 S、阶码 E、尾数 M三部分3. BCD 码十进制数两种形式字符串1 字节存 1 位十进制压缩 BCD1 字节存 2 位十进制4 位一组8421 编码二、机器码原码、反码、补码、移码正数原码 反码 补码符号位 0 负数符号位固定为 1数值位不同编码不一样原码符号位 真值绝对值0 有0、-0两种表示减法麻烦需要比较绝对值反码正数同原码负数符号位不变数值位全部按位取反一般作为求补码的中间工具补码最常用正数同原码负数 反码 10 只有唯一一种表示核心优势减法可以直接变成加法硬件只需要加法器移码偏置码常用于浮点数阶码公式\(\boldsymbol{[e]_{移}2^ke}\)移码大小直接反映指数大小方便比较阶码。记忆移码和补码仅符号位相反。三、IEEE754 浮点数标准32 位单精度浮点数S (1 位符号) E (8 位阶码偏移 127) M (23 位尾数) 真值公式x- ×(1.M) ×隐藏最高位 1不存进 M节省 1bit提升精度64 位双精度浮点数S (1) E (11 位偏移 1023) M (52 位尾数) 真值公式x- ×(1.M) ×特殊情况E 全 255M≠0 → NaN非数E 全 255M0 → 无穷大E0M0 → 机器 0E0M≠0 → 非规格化浮点数四、字符与汉字编码ASCII 码7 位编码占 1 字节最高位 0一共 128 个字符95 个可打印 33 个控制字符0~90x30~0x39大写 A-Z0x41~0x5A小写 a-z0x61~0x7A大小写相差 32汉字编码三类输入码外码从键盘输入汉字区位码数字编码无重码难记拼音码好上手重码多字形码五笔按字形编码重码少学习成本高交换码国标码 GB2312、GB18030用于不同设备之间汉字传输输出码字模汉字字形两种点阵简单直观放大失真占用空间大矢量存轮廓放大不失真质量高GB18030不等长编码兼容 ASCII包含大量生僻字UTF-8、UTF-16 是 Unicode 实现方案。五、校验码奇偶校验在原始数据上加 1 位校验位检测传输错误奇校验整个编码数据 校验位里面1 的总数为奇数偶校验整个编码里面1 的总数为偶数✅特点只能检测奇数个位错误无法纠错检出错误后只能重传电路简单。例子数据10101010偶校验数数据里 1 有 4 个偶数→校验位填 0 →编码101010100奇校验1 有 4 个需要凑奇数 →校验位填 1 →编码101010101六、定点加减法运算计算机普遍用补码加法减法直接转化加法 [X- Y]{补}[X]{补}[- Y]{补}溢出需要单独判断补码加法公式[xy]补 [x]{补} [y]{补} (mod)要点符号位和数值位一起参与加法运算模超过的进位直接丢掉例子x1001,y0101 [x]{补}01001, [y]{补}00101plaintext01001 00101 -------- 01110[xy]{补}01110真值1110✅ 补码减法减法转加法[x-y]{补} [x]{补} [-y]{补}求负数补码规则求补运算 对[y]{补}连同符号位全部按位取反末位 1得到[-y]{补}。例[y]{补}00110则[-y]{补}11010本质把减法统一变成加法硬件只需要一套加法器电路。七、溢出判断溢出运算结果超出补码能表示范围结果错误正溢出两个正数相加结果 最大正数负溢出两个负数相加结果 最小负数两种检测方法双符号位法变形补码⭐用 2 位符号位00 正数11 负数结果符号位01→正溢出结果符号位10→负溢出00/11无溢出 逻辑VS{n1} 异或S{n2}异或为 1 代表溢出。单符号位法最高数值位进位C0符号位进位Cf VCf 异或 C0V1溢出Cf和C0不一样就溢出。记住口诀同号相加才可能溢出一正一负相加永远不会溢出八、加法器1. 一位全加器输入Ai、Bi本位两个操作数Ci低位进位输出本位和Si向高位进位C{i1}Si Ai 异或 Bi 异或 CiC{i1} AiBi (Ai异或 Bi)Ci2. 行波进位加法器串行进位加法器n 个 FA 串联低位进位输出送到高位进位输入。✅优点电路简单❌缺点进位逐级传递位数越大速度越慢延迟随 n 线性增长。3. 先行进位 CLA超前进位加法器⭐核心所有进位不需要等待低位算完直接由原始输入(Ai,Bi)一次性算出定义两个函数本地进位Gi AiBi本位自己就能产生进位传送进位PiAi异或Bi把低位的进位传递到高位进位公式C{i1}Gi PiCi}展开C1 G0 P0C0C2 G1 P1G0 P1P0C0C3 G2 P2G1 P2P1G0 P2P1P0C0✅速度快❌电路复杂位数很大时硬件成本太高。4. 分组先行进位单级 / 多级分组 CLA折中方案组内先行进位组间可以串行进位也可以先行进位单级分组如 16 位拆成 4 组 ×4bit组内 CLA组间串行多级分组两级先行 BCLA组内先行组之间也先行进位速度更快硬件更复杂。课后思考题简答问为什么一套加法器可以实现加法和减法创新点 答利用补码减法规则x-y [x]{补}[-y]{补} 做减法时把减数y按位取反最低位加 1 得到\[-y]{补}送入加法器减法转化为加法运算。 创新点加减统一为加法运算硬件只需要加法器不用单独减法电路简化运算器。一句话总结二进制、八、十、十六进制互相转换BCC、ASCII 码。原码符号位 绝对值正负 0 表示不同做加减麻烦反码正数 原码负数符号不变数值位按位取反正负 0 两种形式补码正数 原码负数 反码 1只有一个 0计算机加减统一用补码加法减法 加负数补码移码补码符号位取反用于浮点数阶码偏置值偏移便于比较大小溢出结果超出字长能表示范围只有同号相加、异号相减才可能溢出判断方法 ① 双符号位变形补码01 正溢出10 负溢出00、11 无溢出 ② 最高进位与符号位进位异或结果 1 溢出0 无溢出浮点数格式阶码 (移码) 尾数 (补码),阶码决定表示范围尾数决定精度,规格化尾数最高位必须是有效 1浮点数加减对阶→尾数加减→规格化→舍入→判溢出小判断题码减法可转化为补码加法。✅原码加减运算不能直接相加需要单独处理符号。✅移码常用于浮点数尾数编码。❌是阶码不是尾数双符号位 01 代表负溢出。❌01 正溢出10 负溢出补码中 0 只有唯一表示。✅浮点数对阶时小阶向大阶对齐。✅浮点数溢出看尾数是否溢出。❌溢出看阶码尾数溢出可以规格化解决字长相同浮点数表示范围大于定点数。✅反码有 0、-0 两种表示。✅同号两数相减会发生溢出。❌同号相加才会溢出

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询