计算机组成原理期末复习笔记(没用的芝士)

第一章 概论

CPI(Cycles per Instruction)是指每条指令执行所用的时钟周期数
IPC(Instructions per Cycle)是指每个时钟周期执行的指令数 IPC = 1/CPI
MIPS(Million Instructions per Second)表示每秒执行多少百万条指令 MIPS = 主频✖IPC
MFLOPS(Million Floating-point Operations per Second)表示每秒执行多少百万次浮点运算

1、通常划分计算机发展时代是以所用的电子器件为标准的
2、冯诺依曼计算机结构的核心思想是存储程序控制,冯诺依曼体系的计算机是以运算器为核心的指令流计算机
3、一个完整的计算机系统包括硬件系统和软件系统两大部分
4、对计算机的软硬件资源进行管理,是操作系统的功能
5、计算机的存储系统是指Cache、主存储器和辅助存储器
6、计算机硬件能够执行的只有机器语言
7、只有当程序执行时,它才会去将源程序翻译成机器语言,而且一次只能读取、翻译并执行源程序中的一条语句,此程序称为解释程序
8、在计算机的总线中,地址总线是单向的,数据总线和控制总线是双向的
9、在计算机系统的多层次结构中,处于硬联逻辑与传统机器(机器指令语言)之间的是微程序机器
10、机器字长是指参与运算的数据的基本位数
11、计算机的主机是指CPU(中央处理器)内存(主存储器)
12、存储程序的基本含义是将编制好的程序和原始数据事先存入主存储器中
13、硬件和软件在逻辑上是等价的,能用软件完成的也可以用硬件来实现
14、在系列机的兼容问题上,必须保证向后兼容,力争做到向上兼容(兼容?)

第二章 数据的机器层次表示

1、汉字的机内码是唯一的,但是其国标码有二义性

定点数的表示范围

在这里插入图片描述

浮点数的表示范围

k和n分别表示阶码和尾数的数值位位数(不包括符号位)
浮点数最大正数:X最大正数 = (1-2-n)✖22k-1

浮点数最小正数:X最小正数 = 2-n✖2-2k

浮点数绝对值最大负数:X绝对值最大负数 = -1✖22k-1

浮点数规格化的最小正数:X规格化的最小正数 = 2-1✖2-2k

原码

原码表示法最高位为符号位,符号位为0时表示该数为正,符号位为1时表示该数为负,数值部分与真值相同
在原码表示中,真值0有两种不同的表示形式[+0] = 00000,[-0] = 10000

反码

反码表示法和补码表示法有类似之处:对于正数,数值部分与真值形式相同;对于负数,将真值的数值部分按位取反。反码和补码的区别是末位少加一个1。反码的真值0也有两种不同的形式[+0]=00000,[-0] = 11111

补码

补码的符号位表示方法与原码相同,其数值部分的表示与数的正负有关:对于正数,数值部分与真值形式相同;对于负数,将真值的数值部分按位取反,且在最低位上加1。补码的真值0的表示形式是唯一的:[+0] = [-0] = 00000

真值、原码转换为补码

当X为正数时,[X] = [X] = X
当X为负数时,其[X]等于把 [X] 除去符号位外的各位求反后最低位再加1
反之,当X为负数时,已知[X],也可以通过对其除符号位外的各位求反加1来求得[X]

移码

移码就是在真值X的基础上加一个常数,这个常数被称为偏置值。[X] = 偏置值 + X
对于字长为8位的定点整数,如果偏置值位27,则有如下关系图
在这里插入图片描述
从表中可以看出:
①在移码中,最高位为0表示负数,最高位为1表示正数,这与原码、补码和反码的符号位取值正好相反。
②移码全为0时,它所对应的真值最小;全为1时,它所对应的真值最大,因此,移码的大小直观地反应了真值的大小,这将有助于两个浮点数进行阶码的大小比较
③真值0在移码中的表示形式也是唯一的,即[+0] = [-0] = 10000000
④移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较大小
⑤同一数值的移码和补码除最高位相反外,其他各位相同

规格化浮点数

在尾数用原码表示时,规格化浮点数的尾数的最高数位总等于1。
在尾数用补码表示时,规格化浮点数应满足尾数最高数位与符号位不同。
补充:采用变形补码(双符号位补码)时,是双符号和小数点后一位不同

尾数结果规格化

设尾数用双符号位补码表示,经过加减运算之后,可能出现以下6种情况

2421码

2421码其编码各位的位权从高到低分别为2、4、2、1,它的主要特点如下:
①它也是一种有权码,所表示的十进制数D=2b3+4b2+2b1+1b0
②它又是一种对9的自补码,即某数的2421码,只要自身按位取反,就能得到该数对9补数的2421码。例如,3的2421码是0011,3对9的补数是6,而6的2421码是1100,即将3的2421码自身按位取反可得到6的2421码。在十进制运算中,采用自补码,可以使运算器线路简化。
③不允许出现0101,0110,0111,1000,1001,1010 ,这6个代码在2421码中是非法码。
对于有权码来说,当规定各位的权不同时,可以有多种不同的编码方案,例如还有4221码、4421码、5421码和84-2-1码等多种编码方案。

汉字的表示

国标码 = 区位码(十六进制)+ 2020H
汉字机内码 = 汉字国标码 + 8080H

第三章 指令系统

1、执行一条一地址的加法指令共需要2次访问主存(含取指令),第一次取指令本身,第二次取第二操作数。第一操作数和运算结果都放累加寄存器中,所以读取和存入都不需要访问主存
2、零地址的运算类指令在指令格式中不给出操作数地址,参加的两个操作数来自堆栈的栈顶和次栈顶单元
3、在一地址运算类指令中,可能有一个操作数,也可能有两个操作数
4、在寄存器的间接寻址方式中,操作数存放在主存单元中
5、控制存储器是CPU中存放微指令(微控制命令)的地方
6、程序控制类指令的功能是改变程序执行的顺序
7、独立编址是指I/O地址和存储器的地址是分开的,所以对I/O访问必有有专门的I/O指令
8、指令是由操作码、地址码和操作数组成的。
9、寻址方式包括数据寻址和指令寻址
10、根据指令转换成机器码的长度是否相同,指令分为定长指令和变长指令;根据指令的操作码部分的长度是否固定长度,指令分为规整型指令和非规整型指令

指令寻址和数据寻址

寻址可分为指令寻址和数据寻址,寻找下一条将要执行的指令地址称为指令寻址,寻找操作数的地址称为数据寻址,数据寻址的最终目的都是寻找所需要的操作数。

寄存器寻址

①从寄存器中存取数据比从主存中存取快得多
②由于寄存器的数量较少,其地址码字段比主存单元地址字段短得多

非规整型编码(扩展操作码技术)

速学视频

存储器堆栈

堆栈的大小可变,栈底固定,栈顶浮动

第四章 数值的机器运算

1、在串行进位的并行加法器中,影响加法器运算速度的关键因素是进位传递延迟
2、在串行加法器中,只有一个全加器
3、两个补码数相加,采用1位符号位,当符号位的进位和最高数值位的进位异或结果为1时,表示结果溢出
4、在定点机中执行算数运算时会产生溢出,其原因是运算结果无法表示
5、当定点数发出溢出时,应进行发出错误信息,产生中断向CPU报错

6、运算器虽由许多部件组成,但核心部件是算术逻辑运算单元
7、4片74LS181和1片74LS182CLA芯片想配合来设计加法器,具有组内并行进位,组间并行进位传递功能
8、浮点数的机器数表示中,由阶码部分(阶符和阶码数值位)和尾数部分(尾符与尾数数值位),基数不出现
9、IEEE754段浮点数(单精度浮点数)的阶码用移码表示,尾数用原码表示
10、原码加减交替除法又称为不恢复余数法,因此仅当最后一步余数为负时,做恢复余数操作
11、运算器中设置了加法器后就没有必要再设置减法器
12、在补码的加减运算中,其符号位要参与运算,而原码的符号位不能参与运算
13、左规可以进行很多次,右规最多只有一次

定点乘法运算

原码一位乘法

速学视频

Booth乘法

①参加运算的数用补码表示
②符号位参加运算
③乘数最低位后面增加一位附加位Yn+1,其初值为0
④由于每求一次部分积要右移一位,所以乘数的最低两位Yn、Yn+1的值决定了每次应执行的操作
⑤移位按补码右移规则进行
⑥共需做n+1次累加,n次移位,第n+1次不移位

补码加减运算规则

①参加运算的两个操作数均用补码表示
②符号位作为数的一部分参加运算
③若做加法运算,则两数直接相加;若做减法运算,则将被减数与减数的机器负数相加
④运算结果仍用补码表示

浮点数加减运算

速学视频

双符号位

Ss1Ss2 = 00 结果为正数,无溢出
Ss1Ss2 = 01 结果正溢
Ss1Ss2 = 10 结果负溢
Ss1Ss2 = 11 结果为负数,无溢出

带符号数的移位操作

0舍1入

原码的移位规则

不论是正数还是负数,在左移或右移时,符号位均不变,空出位一律以“0”补入
负数的原码移位前后结果如下:

左移:移位前有 1 X1 X2 … Xn-1 Xn
移位后有 1 X2 X3 … Xn 0

右移:移位前有 1 X1 X2 … Xn-1 Xn
移位后有 1 0 X1 … Xn-2 Xn-1

移码的移位规则

(1)正数
符号位不变,不论左移或右移,空出位一律以“0”补入
(2)负数
符号位不变,左移后的空出位补“0”,右移后的的空出位补“1”
左移:移位前有 1 X1 X2 … Xn-1 Xn
移位后有 1 X2 X3 … Xn 0

右移:移位前有 1 X1 X2 … Xn-1 Xn
移位后有 1 1 X1 … Xn-2 Xn-1

第五章 存储系统和结构

1、用户程序所放的主存空间属于随机存取存储器
2、存储器进行一次完整的读写操作所需的全部时间称为存取周期
3、在对破坏性读出的存储器进行读写操作时,为维持原存信息不变,必须辅以的操作为再生

刷新方式(集中式,分散式,异步式)

(1)集中刷新方式

优点:读写操作时不受刷新工作的影响,因此系统的存取速度比较高
缺点:死区最长

(2)分散刷新方式

优点:没有死区
缺点:①加长了系统的存取周期,降低了整机的速度 ②刷新过于频繁,尤其是当存储容量比较小的情况下,没有充分利用所允许的最大刷新时间间隔

(3)异步刷新方式

优点:死区小,减少了刷新次数
缺点:控制比较复杂,实现起来比较困难

小端和大端方式

大端

高字节放低地址,低字节放高地址

小端

高字节放高地址,低字节放低地址

数据按边界对齐存储

在这里插入图片描述

存储芯片的地址分配和片选

(1)线选法
(2)全译码法
(3)部分译码法

存储器采用部分译码法片选时会产生地址重叠

Cache

在主存和CPU之间增加Cache(高速缓存)的目的是解决CPU和主存之间的速度匹配问题

虚拟存储器

虚拟存储器是为解决主存容量不足而提出来的,以扩大整个存储器的寻址空间

动态RAM(Dynamic RAM,DRAM)

采用地址复用技术
DRAM的刷新:
①无论是由外部刷新控制电路产生刷新地址逐行循环地刷新,还是芯片内部的刷新地址计数器自动地控制刷新,都不依赖于外部的访问,刷新对CPU是透明的
②刷新通常是一行一行地进行的,每一行中各记忆单元同时被刷新,故刷新操作时仅需要行地址,不需要列地址
③刷新操作类似于读出操作,但又有所不同。因为刷新操作仅是给栅极电容补充电荷,不需要信息输出。另外,刷新时不需要加片选信号,即整个存储器中的所有芯片同时被刷新。
④因为所有芯片同时被刷新,所以在考虑刷新问题时,应当从单个芯片的存储容量着手,而不是从整个存储器的容量着手。

主存容量的扩展

总片数 = 总容量/(容量/片)

RAM和ROM

RAM是易失性存储器,ROM是非易失性存储器

主存带宽Bm(数据传输率)

Bm = 主存等效工作频率×主存位宽÷8 = 字节/存取周期

第六章 中央处理器

1、在CPU中跟踪指令后继地址的寄存器是程序计数器(PC)
2、指令寄存器的位数取决于指令字长
3、通用寄存器是可用来存放指令中操作数的寄存器
4、指令译码器是对指令的操作码字段进行译码
5、在计算机系统中,表征系统运行状态的部件是程序状态字寄存器
6、微操作信号发生器的作用是产生各种微操作控制信号
7、指令周期大于机器周期
8、在多级时序系统中,最长的周期是指令周期
9、在计算机内采用同步控制的目的是简化控制时序
10、同一CPU周期(即机器周期)中,可以并行执行的操作称作兼容性微操作
11、互斥性微操作是指不允许同时出现的操作,不可以并行执行的操作并不一定是不允许同时出现的操作
12、一条微指令放在控制存储器的一个单元中
13、微程序控制器比组合逻辑控制器更加灵活
14、微程序控制器中,控制部件向执行部件发出的某个控制信号称为微命令
15、一条机器指令对应一段微程序
16、微程序控制器中,微程序的入口地址是由机器指令的操作码字段形成的
17、在微指令的执行顺序控制问题上,如何确定下一条微指令的地址问题。通常采用断定方式,其基本思想是通过微指令顺序控制字段由设计者指定或者由判断字段控制产生后继微指令地址
18、兼容性微命令指几个微命令可以同时出现
19、任何指令解释时都必须经过的第一个机器周期(CPU周期)是取指周期

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在卢森堡看书的星落

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值