考研_计算机组成原理

第1章-概论

  1. 冯·诺依曼提出的新型计算机的五大结构: 运算器,控制器,存储器,输入设备和输出设备

  2. 计算机主要性能指标

    • 基本字长: 处理器中参加一次定点运算的操作位的位数(计算机中的算术运算分为定点运算和浮点运算)
    • 外频: 主板上的振荡器输出的时钟频率,也是计算机一切硬件部件工作所依据的基准时钟信号
    • CPU的主频: CPU内核的工作频率,CPU=
    • IPS: 平均每秒执行的指令数(Instructions Per Second)
    • CPI: 平均每条指令的时钟周期数(Clock cycles Per Instructions)

第2章-数据的表示、运算和校验

8位有符号数原码和补码的范围区别:

  • 原码: 127127(1111111101111111)
  • 反码: 128127(1000000001111111)
    当数据>+0时,由于原码和补码是相同的,所以从0127是一一对应的
    当数据<+0时,从1271是一一对应的
    关键点在于原码中存在一个0,对应二进制为10000000,在转化为补码时会出现溢出的问题,所以就将10000000作为补码中的128

定点数和浮点数


定点数

  • n位无符号定点整数范围: 02n1
  • n位有符号定点整数范围:
    原码:(2n11)2n11
    补码:2n12n11
  • 有符号定点小数:最高位是符号位,小数点后为有效位(x.xxxxx)
    同有符号定点整数一样,原码存在1.000000000,但在补码中其对应着1

浮点数

  1. 表示形态: N=±RE×M
    N为真值,RE为比例因子,M为尾数

  2. 规格化
    规格化要求: 12|M|<1
    对于正数,无论原码还是补码,规格化特征为M1=1
    对于负数,原码规格化特征为M1=1,补码规格化特征为M1=0
    原因在于判断M的值时,负数的补码需要先转化为原码,补码的M1=0才能保证|M|12

    注:规格化时有两个特殊的数值112
    1在原码表示中不符合规格化要求(原码表示不会出现1),但补码中符合(因为1补码1.0的特殊性)
    12在原码表示中符合规格化要求,但补码中不符合(原码和补码都是1.1)

定点数的四则运算

加减法

计算规则

(x+y)=x+y(xy)=x+(y)

需要说明的是:

  1. (y)可以在y的原码基础上将符号位取反获得-y的原码,之后除符号位取反加1获得补码

    也可以直接对y求变补,即对包含符号位的所有位取反再加1。两种方法本质上是一样的

  2. 符号位同样参与运算,当符号位产生进位时,丢弃掉最高位的进位

溢出判断

同号相加和异号相减会使得结果的绝对值增大从而可能产生溢出

  • 判断方法1:

    因为即使是减法运算,最终我们也是转化为了加法运算。设转化为加法运算后的数据为A,B,对应的符号位依次是SaSb,运算后结果的符号位是Sf。则v=sa¯ sb¯sf+sasbsf¯v=1变送发生了溢出,v=0表示未发生溢出。原理是当sa=sb=0,sf=1(两正数相加,结果为负数)或sa=sb=1,sf=0(两负数相加,结果为正数)时说明发生了溢出

  • 判断方法2:

    C为最高有效数位(符号位低一位)产生的仅为,Cf为符号位产生的进位。V=CCf

  • 判断方法3:

    采用双符号位,00-结果为正,无溢出;11-结果为负,无溢出;01-结果正溢;10-结果负溢

    设第一符号位和第二符号位依次位Sf1,Sf2V=Sf1Sf2

乘法

原码一位乘

取两操作数的绝对值进行相乘,具体过程见下图。

补码一位乘

原码两位乘

除法

原码不恢复余数

补码不恢复余数

浮点数的四则运算

第3章-CPU子系统

第4章-存储子系统

第5章-总线与输入/输出子系统

第6章-输入/输出设备

第7章-计算机硬件系统模型

posted @   0x7F  阅读(199)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示