【计算机考研】计算机组成原理整理-第一、二章

以下内容为本人备考过程中遇到的难点易混点,结合王道单科书,王道视频,以及网上资料等内容总结整理而来,接下来不出意外应该会将这个系列更下去,希望能得到大家的批评与指正,也算是考研路上自己的一片休息交流的小圈子,如果有幸帮到大家,倍感荣幸。

计算机性能指标

  • 主频(CPU时钟频率):表示一秒内有多少个时钟周期,与**CPU时钟周期(时长)**互为倒数

  • CPI(平均所需时钟周期数,每条指令):表示执行一条指令所需要的时钟周期数,与IPC互为倒数

  • IPS(执行指令数,每秒):表示每秒所执行的指令数

    主式:主频 / CPI(一秒内的总周期数/每条指令需要的周期数=一秒执行的指令数)

  • CPU执行时间(执行所有指令所需的时间)

    主式:指令条数(题中给)x CPI / 主频(即:所有指令的条数x每条指令所需的周期数/每秒含的周期数=所有指令执行花的总秒数)

  • MIPS(执行百万条指令数,每秒):表示每秒所执行的百万条指令数

    主式:主频 / (CPI x 10^6)

字长

  1. 机器字长(简称字长)

    表示计算机进行一次整数运算所能处理的二进制的位数,一般等于通用寄存器andALU的宽度

    题中表述:某16或32位机器/字长为16或32

  2. 存储字长

    表示一个存储单元(有的教材称存储体)存储的二进制代码的位数,长度取决与编址方式。

    按字编址:等于机器字长;按字节编址:等于一个字节长(8位)

    题中表述:按字节编址,MDR位数默认为存储字长

    tips:所谓的编址是说,将多个具有相同地址的位元(存储0or1)组织起来,使之形成一个存储单元(存储体),对这个存储单元赋予一个地址。那么找多少个位元呢,即对应编址方式。

  3. 指令字长

    表示一个指令字中所包含的二进制代码的位数

    一般为存储字长的整数倍,若两倍,则需要两个访存周期取出一条指令

语言的转换过程

在这里插入图片描述
高级语言源程序通过编译程序翻译为目标文件(中间件),然后经过链接程序(按逻辑组织起来),添加库文件,就得到机器代码

为了提高交互性,引入解释程序,一条一条翻译源程序,并立即执行,但耗时长

又为了提高速度,引入汇编程序,将汇编文件(不是高级语言源程序)通过汇编程序,翻译成目标文件。(因汇编语言是助记符,与机器语言一一对应,故速度快)故而有时为了提高速度,先将高级语言源程序通过编译程序翻译成汇编文件,再通过汇编程序翻译成目标文件。

单位换算

时间:秒s,毫秒ms,微秒μs,纳秒ns,皮秒ps 10^3

传输速率:K,M,G,T,P,E 10^3

存储容量:K,M,G,T,P,E 2^10

各种码的转换

在这里插入图片描述

[负数.补] <-> [负数.原]

原始方法:数值位取反+1;

快速技巧:负数补码中,最末尾的1的左边同反码(数值位按位取反)。最末尾的1及其右边同原码(不变)。简称“左取反右不变”

原理:是取反后加一,末尾会不断往前传递,直至传递到原来是1的那一位(即原末尾的1,取反后是0,+传递过来的1后=1传递停止))

同理可知,[正数.补] <-> [负数.补]

原始方法:全部位取反+1;

快速技巧:正数补码中,最末尾的1的左边同反码(全部位按位取反)。最末尾的1及其右边同原码(不变)。简称“左取反右不变”

正负判断

原码,补码,反码:均用0表正,1表负

移码:用0表负,1表正。(方便正负数直接比较大小)

大小比较(不论什么码)

正数:数值位越大,绝对值越大,数越大

负数:数值位越小,绝对值越大,负的越多,数越小

常见位权

2的11次方:2048,2的12次方:4096,2的13次方:8192

2的14次方:16384,2的15次方:32768,2的16次方:65536

要取得2的16次方,那么第17位为1。若第17位为0,后16位全为1,则取得2的16次方-1

带标志加法器的标志判断

在这里插入图片描述
在这里插入图片描述

进行加法时,Cin = Sub = 0;进行减法时,Cin = Sub =1(即进行按位取反后的加1)

假如最高位不进1,仅次高位进了1,说明是0+0+进位1=高位为1,即两个符号位为0的数计算结果的符号位为1,说明发生正溢出

假如最高位进1,而次高位不进1,说明是1+1+0进位=高位为0,即两个符号位为1的数计算结果符号位为0,说明发生负溢出

端、对齐 存储方式

大小端方式

在这里插入图片描述

按人类的数字书写顺序(如1w=10000,先写高位),大端方式先存高有效字节。(先存:在内存的低字节地址处存(地址从低到高增加))故题目给数如:01 23 45 67H,即为存放顺序 01 23 45 67

而为方便机器处理,小端方式反人类,先存低有效字节,先存低有效地址但不论大端or小端方式,字节内的各个位的顺序还是高在左,低在右

在机器代码中,机器数直接会按照地址增大的方向,结合大小端方式写,如下面

int i = -64:C7 45FC C0 FF FF FF(按小端方式存储,故先写低有效字节)

按边界对齐存储

在这里插入图片描述

浮点数的尾数不是只表示绝对值吗,是得话为什么规格化时正负数形式不同,小数点前的1是数值位吗?隐藏的1是怎么回事,难道是符号位?

浮点数

一般浮点数

一般浮点数不单独设符号位,符号由尾数负责,此时尾数被解释为有符号小数

在这里插入图片描述

规格化浮点数

为了不浪费空间,规定规格化的浮点数,其尾数的数值位最高位须为1(若用原码表示)

在这里插入图片描述

IEEE格式

IEEE格式单独设置符号位在最前面,故而尾数部分实际被解释为无符号小数,即表示绝对值,表示小数点后的内容。同时尾数部分隐藏最高位1(即为规格化所要求的最高位1),故而IEEE浮点数转真值时,尾数存储:101 被解释为0.101 +1 =1.101。真值转IEEE浮点数时,尾数1.101 -1 =0.101,尾数存储101

原理就是上面这样,但是题中表述其尾数真实的存储形式:101,有的题目会表述成1.01,我们将其还原为0.101 +1 =1.101即可

题中表述单精度/双精度,说明该浮点数为IEEE格式

在这里插入图片描述

阶码全为0 or 全为1时有特殊含义,如下:

在这里插入图片描述

  • 27
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值