首页微机原理组成原理笔记习题PDF
第1章-习题与解答

第1章 计算机基础 习题与解答

课件原题 18 道(含全部编号例题 例1-1~例1-10 与课件正文中的举例、思考问),考点补充题 2 道,共 20 道。页码均指 2024 版课件(ch1_v2024),涉及 2022 版处另行注明。

一、课件原题

题1(课件 p.28,例1-1)

将十进制数 22.625 转换为二进制数。

解答: 整数部分除 2 取余,直至商为 0: - 22 ÷ 2 = 11 …… 余 0(低位) - 11 ÷ 2 = 5 …… 余 1 - 5 ÷ 2 = 2 …… 余 1 - 2 ÷ 2 = 1 …… 余 0 - 1 ÷ 2 = 0 …… 余 1(高位)

余数从低位到高位为 0,1,1,0,1,倒序读出得 (22)₁₀ = (10110)₂。 小数部分乘 2 取整,直至小数为 0: - 0.625 × 2 = 1.25 …… 取整数 1(高位) - 0.25 × 2 = 0.5 …… 取整数 0 - 0.5 × 2 = 1.0 …… 取整数 1(低位)

整数从高位到低位为 1,0,1,得 (0.625)₁₀ = (0.101)₂。 合并:(22.625)₁₀ = (10110.101)₂。 验算:16+4+2+0.5+0.125 = 22.625 ✓。

题2(课件 p.29,例1-2)

将十进制数 430.25 转换为十六进制数。

解答: 整数部分除 16 取余: - 430 ÷ 16 = 26 …… 余 14 → E(低位) - 26 ÷ 16 = 1 …… 余 10 → A - 1 ÷ 16 = 0 …… 余 1(高位)

倒序读出得 (430)₁₀ = (1AE)₁₆。 小数部分乘 16 取整:0.25 × 16 = 4.0 …… 取整数 4,小数已为 0,停止。得 (0.25)₁₀ = (0.4)₁₆。 合并:(430.25)₁₀ = (1AE.4)₁₆。 验算:1×256 + 10×16 + 14×1 + 4×(1/16) = 256+160+14+0.25 = 430.25 ✓。

题3(课件 p.32,例1-3)

二进制加法:10100 + 1101 = ?(列竖式)

解答:

    1 0 1 0 0
  +   1 1 0 1
  -----------
  1 0 0 0 0 1

逐位(从低位起,逢二进一):第 0 位 0+1=1;第 1 位 0+0=0;第 2 位 1+1=0 进 1;第 3 位 0+1+1=0 进 1;第 4 位 1+0+1=0 进 1;第 5 位进位 1。 结果 100001。验算:20+13=33=(100001)₂ ✓。

题4(课件 p.32,例1-4)

二进制减法:100001 - 10100 = ?(列竖式)

解答:

  1 0 0 0 0 1
-   1 0 1 0 0
  -----------
      1 1 0 1

逐位(借一当二):第 0 位 1-0=1;第 1 位 0-0=0;第 2 位 0-1 不够减,向高位借位(第 3、4 位均为 0,连续借位直到第 5 位的 1),第 2 位得 2-1=1,第 3、4 位借位后各剩 1;第 3 位 1-0=1;第 4 位 1-1=0;第 5 位 0-0=0。 结果 1101。验算:33-20=13=(1101)₂ ✓。

题5(课件 p.32,例1-5)

二进制乘法:1101 × 1011 = ?(列竖式)

解答:

        1 1 0 1
      × 1 0 1 1
      ---------
        1 1 0 1      (乘数第0位1)
      1 1 0 1        (乘数第1位1,左移1位)
    0 0 0 0          (乘数第2位0,左移2位)
  + 1 1 0 1          (乘数第3位1,左移3位)
  -------------
  1 0 0 0 1 1 1 1

部分积相加:1101 + 11010 = 100111;100111 + 0 = 100111;100111 + 1101000 = 10001111。 结果 10001111。验算:13×11=143=(10001111)₂ ✓。

题6(课件 p.32,例1-6)

二进制除法:11100 ÷ 101 = ?(求商和余数)

解答:

         1 0 1   ……商
       ________
  1 0 1 ) 1 1 1 0 0
          1 0 1
          -----
            1 0 0 0
              1 0 1
            -----
                1 1   ……余数

步骤:被除数前三位 111 ≥ 101,商 1,111-101=10;落下下一位 0 得 100 < 101,商 0;再落下 0 得 1000 ≥ 101,商 1,1000-101=11;无位可落,结束。 结果 商 101、余 11。验算:28÷5=5 余 3,(101)₂=5、(11)₂=3 ✓。

题7(课件 p.33,例1-7)

逻辑与:10100101 AND 10001011 = ?

解答: 按位与(两位全 1 才 1):

  1 0 1 0 0 1 0 1
AND 1 0 0 0 1 0 1 1
  ---------------
  1 0 0 0 0 0 0 1

逐位:1&1=1、0&0=0、1&0=0、0&0=0、0&1=0、1&0=0、0&1=0、1&1=1。 结果 10000001。

题8(课件 p.33,例1-8)

逻辑或:10100101 OR 10001011 = ?

解答: 按位或(有 1 即 1):

  1 0 1 0 0 1 0 1
OR  1 0 0 0 1 0 1 1
  ---------------
  1 0 1 0 1 1 1 1

逐位:1|1=1、0|0=0、1|0=1、0|0=0、0|1=1、1|0=1、0|1=1、1|1=1。 结果 10101111。

题9(课件 p.34,例1-9)

逻辑非:NOT 10100101 = ?

解答: 按位取反:1→0、0→1、1→0、0→1、0→1、1→0、0→1、1→0。 结果 01011010。

题10(课件 p.34,例1-10)

逻辑异或:10100101 XOR 10001011 = ?

解答: 按位异或(相同为 0、不同为 1):

  1 0 1 0 0 1 0 1
XOR 1 0 0 0 1 0 1 1
  ---------------
  0 0 1 0 1 1 1 0

逐位:1⊕1=0、0⊕0=0、1⊕0=1、0⊕0=0、0⊕1=1、1⊕0=1、0⊕1=1、1⊕1=0。 结果 00101110。

题11(课件 p.23-25,正文举例)

写出下列各数的按权展开式并求其十进制值:(1) (758.75)₁₀;(2) (10110.101)₂;(3) (1AF.4)₁₆。

解答: (1) (758.75)₁₀ = 7×10² + 5×10¹ + 8×10⁰ + 7×10⁻¹ + 5×10⁻² = 700+50+8+0.7+0.05 = 758.75(课件 p.23)。 (2) (10110.101)₂ = 1×2⁴ + 0×2³ + 1×2² + 1×2¹ + 0×2⁰ + 1×2⁻¹ + 0×2⁻² + 1×2⁻³ = 16+0+4+2+0+0.5+0+0.125 = 22.625(课件 p.24)。 (3) (1AF.4)₁₆ = 1×16² + 10×16¹ + 15×16⁰ + 4×16⁻¹ = 256+160+15+0.25 = 431.25。 课件原文如此,存疑:课件 p.25 把该展开式的和写成 (430.25)₁₀,与展开系数不符(256+160+15+0.25=431.25);对照例 1-2(p.29)与 p.31 的 (1AE.4)₁₆=(430.25)₁₀,课件此处十六进制数应为 1AE.4H(E=14)才得 430.25。答题时按正确计算:1AF.4H=431.25、1AE.4H=430.25。

题12(课件 p.31,正文举例)

完成互转:(1) (1AE.4)₁₆ → 二进制;(2) (110101110.01)₂ → 十六进制。

解答: (1) 每位十六进制展开为 4 位二进制:1→0001、A→1010、E→1110、4→0100,拼接得 000110101110.0100,去掉整数前导 0 与小数末尾 0:(110101110.01)₂。 (2) 以小数点为界每 4 位一组,不足补 0:整数向左补 0 → 0001 1010 1110;小数向右补 0 → 0100。各组对应 1、A、E、4,得 (1AE.4)₁₆。 要点:补 0 只补在整数部分最左端、小数部分最右端,不改变数值。

题13(课件 p.35-36,正文举例)

(1) 写出十进制数 65 的 8421BCD 码;(2) 求 BCD 码 01001001.0111 表示的十进制数;(3) 说明 BCD 码与二进制数之间如何转换。

解答: (1) 6→0110、5→0101,故 65 的 BCD 码为 01100101(课件 p.35)。 (2) 每 4 位一组:0100→4、1001→9、小数 0111→7,故表示 49.7(课件 p.35)。 (3) BCD 码与二进制不能直接转换,必须以十进制为中间桥梁:BCD→按 4 位组读成十进制→再除基取余/乘基取整转二进制;反向先按权展开成十进制→再逐位编成 BCD(课件 p.35)。例:65 的 BCD 是 01100101,而 65 的二进制是 1000001,二者不同。

题14(课件 p.39-43,正文举例)

(1) 写出真值 X1=+84、X2=-84 的 8 位机器数;(2) 求 [+124]原、[-124]原(8 位);(3) 求 +4、-4、-31 的 8 位反码;(4) 已知 [X]反=00000101、[Y]反=1111110,求真值;(5) 写出 8 位与 16 位原码、反码的表数范围。

解答: (1) 84 = 1010100B(7 位数值)。符号位 0/1 + 7 位数值:[X1]机 = 01010100B,[X2]机 = 11010100B(课件 p.39)。 (2) 124 = 1111100B。[+124]原 = 01111100;[-124]原 = 11111100(课件 p.41)。用定义验证:[-124]原 = 2⁷-(-124) = 128+124 = 252 = (11111100)₂ ✓。 (3) 正数反码同原码:[+4]反 = 00000100。负数反码 = 原码除符号位外取反:[-4]原=10000100 → [-4]反 = 11111011;[-31]原=10011111 → [-31]反 = 11100000(课件 p.43)。 (4) [X]反 符号位 0 → 正数,真值 = +(0000101)₂ = +5。[Y]反 符号位 1 → 负数,数值位取反得绝对值:课件给出 [Y]反=1111110,数值位 111110 取反 = 000001 = 1,故 Y = -1。课件原文如此,存疑:1111110 仅 7 位,与本章 8 位约定不符,8 位写法应为 11111110(数值位 1111110 取反 = 0000001 = 1),结论 Y=-1 不变(课件 p.43)。 (5) 8 位原码/反码:-127~+127;16 位原码/反码:-32767~+32767(课件 p.41-42)。原因:0 占去 +0、-0 两个编码。

题15(课件 p.44-46,正文举例)

(1) 求 [+3]补、[-3]补、[+0]补、[-0]补(8 位);(2) 用补码计算 X = 64 - 9,写出完整加法过程并验证。

解答: (1) 正数补码同原码:[+3]补 = 00000011。 [-3]原 = 10000011 → [-3]反 = 11111100 → [-3]补 = 反+1 = 11111101。 [+0]补 = 00000000;[-0]反 = 11111111,+1 = 1 00000000,丢弃模 2⁸ 进位 → [-0]补 = 00000000。故 0 的补码唯一(课件 p.45)。 (2) 64-9 = 64+(-9)。[64]补 = 01000000B;9 = 00001001 → [-9]原 = 10001001 → [-9]反 = 11110110 → [-9]补 = 11110111B(课件 p.46)。

    0 1 0 0 0 0 0 0   [64]补
  + 1 1 1 1 0 1 1 1   [-9]补
  -----------------
  1 0 0 1 1 0 1 1 1

丢弃第 9 位进位(模 2⁸),得 00110111B。符号位 0 → 正数,真值 = (0110111)₂ = 32+16+4+2+1 = 55 ✓(64-9=55)。 溢出检查:C7=1、C6=1,OV=1⊕1=0,无溢出;CY=1(有进位但无溢出,见题16)。

题16(课件 p.48-49,正文举例)

对 8 位字长补码,判断 60+100、(-60)+(-100)、60+(-100) 是否溢出,并用 OV=C7⊕C6 验证。

解答: 先求补码:[60]补=00111100,[100]补=01100100;[-60]补:60=00111100→反11000011→补11000100;[-100]补:100=01100100→反10011011→补10011100。 (1) 60+100:

  0 0 1 1 1 1 0 0
+ 0 1 1 0 0 1 0 0
  ---------------
  1 0 1 0 0 0 0 0

结果符号位 1(负),两正数相加得负 → 溢出(真值 160 > +127)。进位:C6=1(第 6 位 1+1 进 1)、C7=0 → OV=0⊕1=1 ✓。CY=0:无进位但有溢出。 (2) (-60)+(-100):

  1 1 0 0 0 1 0 0
+ 1 0 0 1 1 1 0 0
  ---------------
1 0 1 1 0 0 0 0 0

丢弃进位得 01100000,符号位 0(正),两负数相加得正 → 溢出(真值 -160 < -128)。进位:C6=0、C7=1 → OV=1⊕0=1 ✓。 (3) 60+(-100):

  0 0 1 1 1 1 0 0
+ 1 0 0 1 1 1 0 0
  ---------------
  1 1 0 1 1 0 0 0

结果 11011000,符号位 1;数值位取反加 1:00100111+1=00101000=40 → 真值 -40,在范围内 → 不溢出(正负相加永不溢出)。进位:C6=0、C7=0 → OV=0 ✓。 结论:前两个溢出、第三个不溢出(课件 p.48);并体会"有进位不一定有溢出,无进位不一定无溢出"(课件 p.49)。

题17(课件 p.12-16;2022 版 p.12-16,含 p.15 思考问)

简述微处理器的发展各代(代表产品、字长),补充各代特点与应用,并回答课件思考问:"同学们你的电脑微处理器是什么型号的?"

解答(评分要点): ① 2024 版六代划分(课件 p.13-15):第一代 1971-1973,Intel 4004(4 位)/8008(8 位),约 2000 管/片、1 MHz、20 μs;第二代 1973-1975,8080/M6800,8 位、5000 管/片、2 MHz;第三代 1975-1977,8085/Z80/M6802,8 位、1 万管/片、2.5-5 MHz;第四代 1978-1980,8086/Z8000/M6809,16 位、3 万管/片、5 MHz;第五代 1980 后 16 位 10 万管/片,1983 后 80386/68020 为 32 位、15-50 万管/片、16 MHz,采用超标量流水线、高速缓存;第六代 2005 至今酷睿系列(2006 Core 2 Duo、2008 Core i7 45nm 四核、2010 二代 i3/i5/i7)。 ② 2022 版补充的特点与应用(2022 版 p.12-16):一代指令简单、功能差、价廉,面向家电/计算器/二次仪表;二代指令较完善、速度提高一个数量级、寻址增强,面向家电/智能仪表/工业控制;三代(8086/8088/80286 等 16 位)指令丰富、多级中断、多种寻址、段式存储,用于工业控制;四代(386/486,32 位)内存 1 MB 以上、32 位总线、多任务多用户,用于办公自动化/网络;五代(Pentium/Itanium,64 位)外部数据线 64 位、多媒体与通信能力,用于办公自动化/网络服务器。 ③ 思考问为开放题,示例答案:本人电脑为 Intel Core i5-12400,属酷睿系列(课件所称第六代阶段)产品,6 核 12 线程;按课件"每出现一个新的微处理器就产生新一代微型计算机"(p.12),它属于 Core 微架构之后的新一代产品。(答出自己机器型号并归入酷睿/多核时代即可得分。) ④ 注意两版代别口径不同(2024 版 8086 为第四代,2022 版 8086 为第三代),答题注明所用口径。

题18(课件 p.61-62,正文举例)

模型机存储器中:(100)=MOV ACC,[265]、(101)=ADD ACC,[266]、(102)=MOV [267],ACC;(265)=10、(266)=8。写出三条指令的取指与执行微操作过程,并给出执行后 (267) 与 IP 的值。

解答(评分要点,课件 p.62): 指令 1 MOV ACC,[265]: - 取指:IP→M(送地址 100),IP+1→IP(IP=101),M→IR; - 执行:IR→ID 译码;①addr(265)→M;②M→ACC,ACC=10。 指令 2 ADD ACC,[266]: - 取指:IP→M(101),IP+1→IP(IP=102),M→IR; - 执行:IR→ID 译码;①addr(266)→M;②M→暂存器1(=8);③ACC→暂存器2(=10);④ALU 执行 ADD;⑤ALU 结果→ACC,ACC=18。 指令 3 MOV [267],ACC: - 取指:IP→M(102),IP+1→IP(IP=103),M→IR; - 执行:IR→ID 译码;①addr(267)→M;②ACC→M(写操作,覆盖原内容)。 结果:(267)=18,IP=103。体现"存储程序、程序控制":指令与数据同存存储器,CPU 按 IP 自动逐条取指执行。

二、考点补充题

题19【补充·考点:补码范围/总线/ASCII/BCD 概念辨析】(选择题,基础)

下列说法正确的是( )。 A. 8 位补码的表数范围是 -127~+127 B. 地址总线是双向的,数据总线是单向的 C. ASCII 码采用 7 位二进制编码,共可表示 128 个字符 D. BCD 码可以直接按权展开转换为二进制数

解答:答案 C。 逐项排除: - A 错:8 位补码范围为 -128~+127(课件 p.46);-127~+127 是原码/反码的范围(p.41-42),补码因 0 唯一而多表示一个 -128。 - B 错:方向说反。数据总线 DB 双向、地址总线 AB 单向(CPU 发出地址)(课件 p.68-69 及总线图)。 - C 对:ASCII 采用 7 位编码,2⁷=128 个字符(课件 p.37)。 - D 错:BCD 与二进制不能直接转换,必须以十进制为中间桥梁(课件 p.35);按权展开只适用于纯二/十六进制转十进制。

题20【补充·考点:计算机组成、总线寻址、读写操作、字长与补码】(填空题,综合)

填空: (1) 运算器和控制器合称______;它与内存储器合称______。 (2) 某 CPU 地址总线为 20 根,则可直接寻址的内存范围为______B =KB =MB。 (3) 读操作后原单元内容;写操作后原单元内容。 (4) 字长通常等于______总线的位数和______的位数。 (5) 8 位补码 11111111 的真值是______,其原码是______。 (6) 8 KB =______Kb;1 MB =______B(用 2 的幂表示)。

解答: (1) 中央处理器 CPU(微处理器);主机(课件 p.68)。 (2) 2²⁰ B = 1048576 B = 1024 KB = 1 MB。依据:地址总线位数决定直接寻址范围(课件 p.69),20 根 → 2²⁰ 个单元,每单元 1 B(p.55-56)。 (3) 不变;被覆盖(课件 p.58)。 (4) 数据(DB);通用寄存器(课件 p.72)。 (5) 真值 -1:符号位 1,数值位 1111111 取反 0000000 加 1 = 0000001 = 1;原码 10000001(符号 1 + 绝对值 0000001)(课件 p.46-47)。 (6) 8 KB = 8×8 Kb = 64 Kb;1 MB = 2²⁰ B(课件 p.56)。注意 B 为字节、b 为位。