408 新大纲 计算机组成原理 知识点 个人总结 建议使用 ctrl+f 可留言交流

一、计算机系统概述

冯诺依曼计算机结构特点

  1. 运算器、控制器(指令译码、生成控制信号)、存储器、输入输出设备
  2. 二进制
  3. 指令由操作码和地址码构成
  4. 存储程序方式工作。程序送入主存,启动执行后不需要人员干预自动完成逐条指令的取出和执行。

计算机系统的层次结构

  1. 应用软件-系统软件(操作系统、编译器、数据库管理系统、备份程序)-硬件(五大部分)

透明性

指令数据机器结构格式对于高级语言程序员透明,对于汇编语言程序员不透明。

编译程序

高级->汇编/机器

汇编程序

汇编->机器

链接器

讲目标文件和外部库链接位一个可执行文件

吞吐率

一定时间的工作量

响应时间

作业从提交到完成的时间

CPU执行时间

响应时间-I/O-执行其他

MIPS (Million Instrctions per Second)

MFLOPS(Million floating-point operations per second )

M=106 ;G=109 ;T=1012 ; P=1015 ;EZ
216=65536

CPI(Clock cycle Per Instruction)

二、数据表示和运算

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

零标志ZF:结果为0

溢出标志OF:X与Y的最高位不同于结果的最高位 ,OF为1,按这条规则硬性判定带符号数可以按照意义.
单符号: 两个加数符号相同,结果符号与加数不同。
双符号位:结果的两个符号位不同
符号位和进位法:符号位的进位与最高位的进位不同

结果的最高位SF。

进位借位CF:加法的进位(最高位?溢出?),减法的借位(不够减,无符号数可以直接按照意义来)。加法时候等于进位输出(最高位的进位情况1+1就是进位),减法的时候等于进位输出取反。总之:sub异或进位输出(不要按照意义)

无符号
无符号数等于:ZF=0
无符号数小于的判定:CF为1且ZF=0,说明有借位且不相等。CF· ZF ‾ \overline{\text{ZF}} ZF
大于:没有借位且ZF=0。 CF ‾ ⋅ \overline{\text{CF}}· CF ZF ‾ \overline{\text{ZF}} ZF
大于等于:没有借位或ZF=1. CF ‾ \overline{\text{CF}} CF+ ZF.
小于等于:有借位ZF=1或ZF=1;CF+ZF。
无符号数相加溢出:相加以后结果太大了,超出了当前位数的表示范围(110)。
无符号数相减异常:小-大得到的仍然是正数。

有符号数大于:SF=OF且ZF=0
负溢出:两个加数都是负数(最高位为1 1),相加得到正数(最高位为0)。
正溢出:两个数都是正数,相加得到负数。

减法通过添加取反电路转变为加法。加上相反数的补码。

无符号整数相乘不溢出:根据高n位全0。

带符号整数不溢出:高n+1位是否全0或者全1。

浮点数:看王道。浮点数的计算和上下限。
IEEE754
1-8-23
符号位 阶码(源码)[1,254] 尾数
(-1)s * 2阶码-127 * 1.位数

乘除实现:加法和移位操作。
无符号数乘法溢出判断:乘积的高n位全为0,则取低n位不发生溢出(符号扩展思想)
带符号数乘法溢出判断:乘积的高n位的每一位都等于低n位的第一位(符号扩展思想)
程序员对乘法提前进行溢出判断:对于 xy=z,若x!=0,z/x=y则没发生溢出。
带符号负数除法加上一个2k -1再去偏移

补码:符号位不变,其余取反加一
相反数补码:所有取反加一

符号拓展

逻辑移位:无符号数移位

算术移位
左移:
补码:左移低位添0
负数补码,左移丢0会溢出
右移
补码:右移高位添1

三、存储器的层次结构

存储器的分类

  1. 随机存取(Random Access半导体)

RAM均易失去
SRAM:S–cache-TLB
DRAM:D-定时刷新-主存-地址线计算出来以后除以2

Flash/ROM:存放BIOS

  1. 顺序存取-磁带
  2. 直接存取(Direct Access)-磁盘-看操作系统
  3. 相联存储器-按内容访问-TLB

单体多字:类似边界对齐(首地址%数据位数=0),位扩展
高位交叉:芯片内各单元连续编址,高位为体号。没有用
低位交叉:芯片内各单元交叉编址,低位为体号,所以取余得到体号
流水线:基本公式T+(n-1)t ,体数>=T/总线周期s

SSD

NAND闪存

磁盘

Cache

虚拟存储

四、指令系统

指令格式

操作码(多少条指令)+寻址特征(多少种寻址方式)+操作数地址码(寻址范围)-重复

指令分类

单字长、双字长、半字长
零地址:只有操作码,操作数在堆栈栈顶
一地址:自增,或目的地址在ACC
二地址:前边为目的操作数
三地址:A3存放结果
四地址:A4为下一条指令地址
访存次数:取指令算一次,取每个操作数算一次,写算一次
扩展操作码:前面剩余的几个状态*后边位数可以表示的位数

寻址方式

隐含寻址:操作数隐含在ACC种。
立即寻址:地址字段即为操作数。
直接寻址:直接给出操作数地址。
间接寻址:访问形式地址,取出内容,该内容为实际地址,多了一次访存。
寄存器寻址(类似直接寻址):直接给出操作数所在寄存编号。
寄存器间接:访问寄存器,取出内容,该地址为实际地址。
偏移寻址:寄存器内容+形式地址。
基址寻址:多道程序重定位、扩展寻址空间、系统,寄存器内容(通过更改基准寄存器的neritic)+形式地址(位移量)。
变址寻址:数组、循环、用户,寄存器内容(变址寄存器的内容是数组的下标)+形式地址(数组起始地址)。
相对寻址:公共子程序浮动、转移指令。转移指令(PC)+形式地址*n+偏移量(补码运算,16进制,数据扩展)

CISC&RISC

RISC-只有load和store可以访存,运算指令只有RR型,流水线,优化编译
CISC微程序(做不成电路,太复杂了)
RISC硬布线组合逻辑

数据对齐

当前地址除以长度可以整除

汇编

链接器:将所有相关联的目标代码文件,组合在一起,形成具有统一地址空间可以被执行的程序。

第五章CPU

指令执行的过程

取指 译码 取数 运算 存结果 查中断

CPU结构

运算器:和运算相关 PSW程序状态字
控制器:和指令周期相关的

硬布线微程序

微程序-指令
微指令是指令控制信号(微命令/微操作)的组合,CPU可以直接执行

数据通路

用户不可见寄存器

MAR、MDR、IR。(MIM)指令正常执行,没必要中间修改

异常和中断

异常:主存校验线路错误
中断:I/O

指令流水线

超流水线:一个时钟周期,一个功能部件使用多次。不可调整指令顺序。
静态多发射(超长指令字):编译器静态指令打包。多个操作码。多条指令组合成一条指令。
动态多发射(超标量,多配置):一次重叠n,可并行的n,空间并行,资源重复,以空间换时间。不可安排指令顺序,编译优化,动态流水线调度。

冒险处理

结构冒险:(同一时刻争抢同一资源)
解决方式:插入暂停周期;指令存储器和数据存储器分开

数据冒险:该条指令需要前边指令的结果
解决方式:阻塞时钟周期;数据转发旁路技术:上一个ALU的结果不等写会直接拿来用
类型:写后读(写未完成就去读)按序发射,按序完成只出现这一种错误
读后写:(应该先读后写,结果先写后读,后边的写指令提前了)
写后写:写覆盖
*五段式:I1与I4就不再数据相关

控制冒险
进行分支预测
尽早判别转移是否发生,尽早生成转移目标地址
预取转移成功和不成功两个控制流方向上的指令

异常和中断

内部异常:故障(页、除数为0),陷阱(系统调用),终止(终止进程、重启系统)。
外部中断:可屏蔽中断(I/O),不可屏蔽中断(硬件中断,紧急处理)。

异常中断的响应过程

关中断、保存断点(处理完成后要返回到的地址(PC))和程序状态(各种标志信息(PSW))、识别异常和中断事件并且转到相应的处理程序(中断向量放PC)-硬件完成。

软件、操作系统完成:保存现场(通用寄存器)和屏蔽字、开中断、执行、关中断、恢复、开中断、返回

异常中断的识别

软件-原因寄存器记录原因和标志信息。

硬件
中断向量:处理程序的首地址。

I/O

字符设备:键盘鼠标
块设备:磁盘

I/O端口:接口里的寄存器
统一编址:统一的访存指令就可以访问I/O端口
独立编址:地址码可以一样,需要专门的指令

I/O接口
结构:数据缓冲器、状态寄存器、控制寄存器

总线

片内总线:CPU内部寄存器交流的线

系统总线:
数据总线:指令、操作数、中断类型号
地址总线:地址
控制总线:其他

总线的性能指标:b与B的换算!!!!!!!!!

总线事务:一次设备的信息交换。

总线定时:
同步定时:快简单,可靠性差
异步定时:半互锁:从设备应答
全互锁:从设备应答,主设备收到
突发传输:一个地址多个数据

I/O控制方式

程序查询:CPU与I/O串行工作,外设直接与CPU进行交流

程序中断:外设直接与CPU进行交流,CPU启动外设以后,可以继续执行源程序,直到I/O完成,发起中断,CPU再进行中断响应(硬件)(关中断、保存断点、引出中断服务程序)和执行中断服务程序(涉及到现场的保护和恢复)
(中断类型号:中断向量)
中断请求发生在每条指令执行结束
DMA请求发生在每个机器周期,一个总线事务之后

DMA:外设和内存之间直接交流,DMA进行控制。
CPU一次总线事务后响应DMA
传送开始前后需要CPU
与CPU争夺总线和主存,DMA优先级更高

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值