计算机组成原理考研笔记

本文最后更新于:2024年12月27日 下午

IEEE754

image-20211108131525537

注意这个m是原码!!举例m为00100000(后面都是0)

则尾数是(1.0010)(二进制),化成十进制就是1.125

刷新

DRAM是电容存储所以需要刷新,刷新方式有集中刷新,分散刷新和异步刷新

Cache写回策略

写直达法:是指每次写操作数既写入内存也写入Cache

写回法:写Cache时不写入主存,而当Cache数据被替换出去时才写回主存。为了识别cache数据是否与主存一致,要加一个记录信息状态位,写Cache时设置,Cache数据写回主存时清除。

微指令相关

  1. 在微程序控制器中,执行指令微程序的首条微指令地址是通过指令操作码映射得到的。
  2. 直接控制:有几位最多就能控制几位;字段直接编码控制:12位想控制3段,必须要不相容,然后分成3段,每段4位,去除一个不用最多有45种状态。
  3. 断定方式确定下一条微指令地址:由微指令的下地址字段直接指出后续微指令地址

磁盘相关

非格式化容量是指一个盘片上可以记录的二进制位的总数量,而格式化容量(完成划分磁道和扇区,设置文件目录区等操作后的磁盘)通常是指用户可用空间的二进制位的总数量,前者比后者要大。

将长度超过一个磁道容量的文件记录在同一柱面是合理的,因为不需要重新寻找磁道,省去了极慢的寻道操作,这样数据读/写速度快。

地址格式:磁盘号/柱面号/盘面号/扇区号,直接寻址的最小单位是扇区

读出一个扇区的数据所用的时间为:平均寻道+平均寻扇区时间+磁头扫过一个扇区的时间

中断

内中断

image-20211117183110305

image-20211117183117323

注意这个中断图的画法,先是按照设定的来,再按照真正的来。

计算相关

浮点数

  1. short转int要在前面加1

总线带宽

时钟周期=1/时钟频率(1MHZ即0.1us时钟周期),一个总线周期传输的信号量/总线周期时间

RAM最高地址

32KB的RAM最高地址怎么算?32KB为2^15B所以需要15根地址线,15个1就是7FFFH,如果首地址变了记得要加!

Cache组相联映射的组号计算

比如Cache有16块,采用2路相连映射,即分为8组,那么n号单元所在主存块就按照模8来分配

流水线相关

加速比:原本时间 / 加速后时间

实际吞吐率:一个流水周期中一条的指令书 / 一个流水周期的时间

Cache块号格式和计算

主存地址包含3个部分:标记(Tag),组号(Index),块内地址(Offset)

先将主存地址由十六进制变为二进制,最后4位为块内地址,中间10位为组号,剩下的是标记

指令流水线

包含瓶颈段的流水线,设共有k段,且需要执行n调指令,则总的执行时间为
$$
t_1+……t_k+(n-1)*max(t_1,……,t_k)
$$

单个的要背的错题知识点

  1. 间址周期

  2. CPI为每条指令所需要的时钟周期数,根具体时钟周期的长短无关(然后时钟频率和时钟周期互为倒数,所以也无关)

  3. 总线宽度又称为总线位宽,它是总线上能够同时传输的数据位数,同时是指数据总线的根数;总线的传输速率等于中心宽度 * 工作频率

  4. 指令总是从根据PC从主存中读出

  5. 中断优先级最高的就是全1,然后依次往下面加0

还没搞懂的内容

数据冒险

新考点

补码加减运算器

补码加:按位加就可以了

补码减:先把减数取反,然后末尾加1,得到-Y,然后再加(最高位的结果丢弃)

无符号和有符号判断溢出的方法不一样,要用标志位

标志位

PSW里面会用这些标志位

OF(Overflow Flag)

溢出就是1,否则就是0,只有在有符号数加减才有意义,无符号数就算OF是1也不代表溢出了

计算方法:最高位产生的进位与次高位产生的进位异或

SF (Sign Flag)

符号位,取最高位本位,1代表负数,0代表正数,同样也只对无符号数

ZF(Zero Flag)

运算结果为0时ZF为1,否则为0

CF(Carry Flag)

进位为1,否则为0,最高位产生的进位和sub异或(sub即那个是加还是减的信号,加法sub为0,减法sub为1),对有符号数没意义

乘法电路基本结构

用一个例子理解结构并且记忆溢出之类的

有符号数会多一个辅助位

除法电路基本结构

多处理器基本概念

选择题概率很高

SISD

计组中学的都是这个,不能数据级并行,可以指令流水线

SIMD

把数据块分割然后分开到不同的局部存储器,很适合循环操作,因为每一块都是一样的,某些显卡就是这样干的(感觉matlab也是这样呀)这样一条命令就可以控制多个局部存储器,不同执行单元执行同一指令,但是不同数据

向量处理机:也是数量级并行,SIMD思想的进阶应用

MISD

同一数据不同指令,逆天,现实中不存在

MIMD

现实很多都是这样

线程级并行,甚至是进程级并行

多计算机系统不同用load store直接访问内存,必须用消息传递,所以也成为消息传递系统


计算机组成原理考研笔记
https://rorschachandbat.github.io/考研/计组/
作者
R
发布于
2021年11月28日
许可协议