计算机组成原理-期末复习-第一章+第二章

本文提供了期末考试复习要点,包括计算机系统结构、冯·诺依曼计算机的工作原理、各题型分数分布(选择题、填空题、简答、计算和分析题)、计算机性能指标、数据表示(原码、反码、补码、浮点数表示)、以及奇偶校验和海明码编码。适合备考的学生参考和巩固基础知识。
摘要由CSDN通过智能技术生成

注意事项:

序号有点问题,影响不大,内容都是各种资料整合和我自己归纳总结的,不喜勿喷,感觉扔回收站可惜了,所以分享出来,能有帮上你的忙就最好不过了,更多复习资料,可以去看我的合集。

一、期末考试题型及分数分布

1. 单项选择题:每小题 2 分,共 20 分

2. 填空题:每空 1 分,共 10 分

3. 简答题:1 道题,共 10 分

4. 计算题:2 道题,共 30 分

5. 分析题:2 道题,共 30 分

二、复习提纲

1. 计算机系统概述

a) 掌握冯∙诺依曼计算机的核心思想:存储程序和程序控制;五大功能部件的构成及各自作用:控制器 CU,运算器 ALU,存储器,输入设备,输出设备

CPU=控制器 CU+运算器 ALU,英文是核心部件可以代表硬件

冯·诺依曼计算机的特点是什么?

(1)计算机硬件是由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
(2)计算机内部采用二进制来表示指令和数据。
(3)将编好的程序和数据事先存入存储器中,然后再启动计算机工作。

五大部件的功能?

输入设备:将信息输入到计算机的外部设备
输出设备:输出计算机处理结果的外部设备
存储器:存放程序和数据。
运算器:对数据进行计算。
控制器:按照人们预先确定的操作步骤,控制计算机的各部件有条不紊地自动工作.

外设=输入设备+输出设备+外存储器

主机=CPU+内存储器=运算器 ALU+控制器 CU+内储存器

b) 了解计算机系统的层次结构及各层级之间的关系;(机器语言(计算机唯一认识的 语言)、汇编语言、高级语言)

将高级语言编写的源程序翻译成机器语言的语言处理程序包括编译程序和解释程序。前者先将源程序转换为目标程序,再开始执行;而后者对源程序的处理采用一行一行语句边解释边执行的方法。(高级->机器语言~解释程序)

c) 掌握计算机性能指标和评价,(时钟周期、CPI、CPU 时间、MIPS 和 MFLOPS 的概念及计算)。

f =100MHz,则T=10ns

f =1GHz,则 T=1ns=1*10-9,所以一般给出某计算机主频为1GHZ=1*109

:一个波动就是一个脉冲,也就是一个时钟周期

主频 f:1s 内有多少个时钟周期,也就是有多少个脉冲

时钟周期 T:一次脉冲的时间,最小最基础的时间单位

CPI:一条指令包含多少个时钟周期数(脉冲),eg:CPI=5,完成这条指令需要 5 个脉冲

程序执行数据= Tcpu=指令数*CPI*T,cpu 要执行的指令数量*一条指令包含多少个脉冲*一次脉冲要多少时间=总时间

MIPS:每秒钟可以执行多少百万条指令,只需要知道 每秒钟可以执行多少条指令/10-6 =f/CPI*106=一秒有多少个周期/一条指令有多少个周期就能知道 1s 内 有多少条指令

2. 数据信息的表示

a) 掌握原码、反码、移码和补码的表示及相互转换方法,它们的表示范围;(有符号 数)

数的表示方法有四种:

    1. 原码:正数不变,负数符号位变“1”
    2. 反码:正数不变,负数符号位不变,数值位取反
    3. 补码:正数不变,负数符号位不变,数值位取反再加一,即:反码加一
      1. [-B] 补=[B] 补连同 符号位 取反加一
        1. eg:[B] 补=0,1001,[-B] 补=1,0110+1=1,0111
      1. 如果反码的末尾为“1”,变补码时就要往前进一位,并且保留末尾的“0”
      1. 正数的源码,反码,补码都相同
      2. 补码负数的特点:数值位对应的真值越小,其绝对值越大
    1. 移码:与补码仅在符号位相反,数值位相同
      1. 求移码:先求补码,再符号位取反即可

数的表示 及 加减法运算(补码):

例题:

(1)A=-3/16,B=9/32,求:A+B

(2)A=-87,B=53,求:A-B

解题步骤:

  1. 真值转化为机器码的原码,再转化为补码进行竖式相加
  2. 判溢出:根据小数点前后一位进行竖式加法,有进位=1,无进位=0,在对两个结果进行异或判断,相同为零不同为 一,零就是无溢出,一就有溢出
  3. 根据异或判断写结果:无溢出,A+B=[A+B] 补,有溢出就没得真值(没得答案)

(1)A=-3/16,B=9/32,求:A+B

  1. 学会分数的二进制表示方法:2-1=1/2=16/32,依次求得:0.01101
    1. 小数点前的数字表示符号:0=正,负的就在数字前面加个"-",1=负
  1. 所以:A=-0.0011,B=0.01001(原码),依次求各自的补码:A 补=1.1101,B 补=0.01001,再正常竖式相加即可。
  2. 小数点前只保留一位,多的不要
  3. 判断是否溢出:
    1. 只看小数点前一位和后一位,再 上下竖式相加如果发生进位,则等于一,如果没有发生进位,则等于零 进行 异或算法 判断
    1. 异或算法:二者相同为零,不同为一
    2. 判断所得结果为零=没有溢出,判断所得结果为一=有溢出,没有真值
      1. 没有溢出->竖式相加结果就是真值,去括号

(2)A=-87,B=53,求:A-B

  1. 整数的符号位就在原数前加个“,”和符号位,所以 A 补=1,0101001,B 补=0,0110101
    1. B 的补码在原本的数值前加了个零,目的是为了跟A 补的数值位对齐,整数的数值位在前面加零不影响数值大小,小数是在数值后面加零不影响大小
    2. eg:1.40=1.4,004=4
    3. [-B] 补=[B] 补连同 符号位 取反加一
        1. eg:[B] 补=0,1001,[-B] 补=1,0110+1=1,0111
  1. 所以 [A+B]=[A+-B] 补=1,0100010

b) 了解浮点数的表示格式,掌握 IEEE 754 单精度浮点数的格式和特点(真值与单精 度浮点数之间的转换)

各种极限值,表示范围:

  1. float类型(即IEEE754 单精度浮点数格式)能表示的最大正整数是:2128-2104
  2. float类型(即IEEE754 单精度浮点数格式)能表示的最小正整数是:2-126
  3. 32位补码 表示范围:-232~232-1
  4. 8位补码 表示范围:-27~+27-1,其真值为-128~+127
     

浮点数的表示格式:

知识点:

  1. 阶码=阶符+数值
  2. 尾数=数符+数值
  3. 整数在前加零,不影响大小,小数在后面加零不影响大小

例题:

(1)设浮点数字长 16 位,其中阶码 5 位(含一位阶符),尾数 11 位(含一位数符),将十进制数:-58 写成二进制定点数和浮点数,并分别写出在定点机和浮点机中的机器数形式。

解题方法:

(1)设浮点数字长 16 位,其中阶码 5 位(含一位阶符),尾数 11 位(含一位数符),将十进制数:-58 写成二进制定点数和浮点数,并分别写出在定点机和浮点机中的机器数形式。

  1. 题目翻译:
    1. 浮点数字长 16 位:说明阶码+尾数=16 位
    2. 阶码 5 位(含一位阶符)=一位阶符+四位数值
    3. 尾数 11 位(含一位数符)=一位数符+十位数值
    4. 将十进制数:-58 写成二进制:先将-58 转化为二进制数:-111010
  1. 定点数:
    1. 尾数里面的数值位有几位,最好定点数就写成几位,eg:10 位
    2. 转化:定点数 X=-0000 111010(前面新添了四个零,反正都是零不影响大小)
  1. 浮点数:
    1. 将整数转化为小数,并以科学计数法的形式记录
    2. 转化:浮点数 X=-0.111010 0000*2110 全是二进制的(后面新添了四个零,反正都是零不影响大小)
  1. 定点机:
    1. [x] 原将符号变成符号位,[x] 原=1,0000 111010,[x] 补=1,1111 0000110, [x] 反=1,1111 0000101
  1. 浮点机:用阶码和尾数来表示,阶码:110
    1. 阶符:看阶码:110 是否为正,110>0,所以阶符=0
    2. [x] 原=0,0110,一位阶符,四位阶码,不够整数前加 0,小数末尾加 0
    3. 又因为110>0,所以[x] 原=[x] 补=[x] 反=0,0110,这些就是阶码
    4. 尾数:取决于’-0.111010 0000‘,因为它为负数,所以为 1.111010 0000
    5. 补码和反码同理可得:反:1.000101 1111,补:1.000110 0000
  1. 补充知识:

IEEE 754 做法解析:

知识点:

IEEE754标准32位浮点的规格化数为:真值X=(-1)s×1.M×2E-127.其中S是符号;E是偏置后的阶码;M是尾数,e是阶码

浮点数=(-1)S*1.M*2E-127

S:阶符

M:尾数

E:阶码,控制小数点的移动

1.M:小数点移动后的结果就是答案,一般情况

32 位 bit=1 位符号位+8 位阶码+23 位尾数

注意

例题:

(1)41A4C00016 是单精度浮点数的表示格式,将其转化成十进制数为 X,求 X:

  1. 将41A4C000 转化为二进制,一个数拆分成四位二进制数解析:
    1. 4->0100,1->0001,A->1010,4->0100,C->1100,0->0000,0->0000,0->0000,即:0100 0001 1010 0100 1100 0000 0000 0000,这个就是原本的 IEEE754 单精度浮点数
  1. 第一位 0 是 S,为正
  2. 第二位~第九位为 E,100 0001 12=13110,所以有:131-127=4,即:*24
  3. 剩下的全是 M=010 0100 1100 0000 0000 0000
  4. 因为 24,所以 1.M 的小数点往右 移动四位,变成:10100.100112=20.5937510=X

(2)263.3 十进制转化为单精度浮点数的表示格式 Y,求 Y:

  1. 将 263.3 转化为二进制数:
    1. 263=1000 0011 1
    2. 0.3 转化比较麻烦,找规律为循环小数:
      1. 0.3*2=0.6,最高位为:0

      1. 0.6*2=1.2,最高位为:1
      2. 0.2*2=0.4,最高位为:0
      3. 0.4*2=0.8,最高位为:0
      4. 0.8*2=1.6,最高位为:1

      1. 0.6*2=1.2,最高位为:1
      2. 0.2*2=0.4,最高位为:0
      3. 0.4*2=0.8,最高位为:0
      4. 0.8*2=1.6,最高位为:1
      5. 一直循环下去,所以 0.310=0.0 1001 1001......
      6. 所以 263.3=1000 0011 1.0 1001 1001......
  1. 根据1000 0011 1.0 1001 1001......求出 S,E,M,因为正数,所以 S=0
  2. 因为最后的结果为:1.M,要使1000 0011 1.0 1001 1001......满足 1.M,小数点要往左移动 8 位,可得:E-127=8,所以 E=13510=1000 0111
  3. 因为最后的结果为:1.M,为了还原数,就要将1000 0011 1.0 1001 1001......去掉最高位 的‘1’,剩下的000 0011 1 0 1001 1001......就是 23 位长的 M=000 0011 1 0 1001 1001 1001 10
  4. 最后将 SEM 结合起来的 32 位二进制数就是最后的答案:0 1000 0111 000 0011 1 0 1001 1001 1001 10

(3)-123.3->IEEE754 单:

  1. 求-123.3 对应二进制数:
    1. 123.3=1111 011.0 1001 1001.....
  1. 求 SEM,负数->S=1
  2. 为了满足 1.M,小数点往左移 6 位->E-127=6->E=133=1000 0101
  3. 去掉最高位剩下的部分就等于 M=111 0110 1001 1001 1001 1001
  4. 所以最后答案为:1 1000 0101 111 0110 1001 1001 1001 1001

c) 掌握奇偶校验、海明校验的编码及解码过程。(校验码的生成)

已知 8 位信息码,求海明码:

信息码=2~4 位:用的 3 位校验码:P1,P2,P4

信息码=5~11 位:用的 4 位校验码:P1,P2,P4,P8

例题:8 位信息码=010 01101 ,偶校验-> 4 位 校验码

  1. 画图:列出 8 位信息码+4 位校验码,并填入
  2. 求P1,P2,P4,P8 的值,采用圈 n 隔 n,n=P 的下标,圈起来的部分统计出“1 的个数”按奇偶校验的要求,得数值
    1. 奇校验:
      1. “1 的个数”=奇数=0
      2. “1 的个数”不等于 奇数=1
    1. 偶校验:
      1. “1 的个数”=偶数=0
      2. “1 的个数”不等于 偶数=1
  1. 将求出P1,P2,P4,P8 的值填入原 12 位图中,即可得到答案

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值