王道408---CO---中央处理器必会知识点

发布时间 2023-08-26 16:23:44作者: TLSN

这一章学的有问题

首先是5.4硬布线控制器与微程序控制器学的不行,之后的5.6流水线与5.7多处理器的概念学的也不是很好
还得再完完整整的复习一遍

一、运算器的组成

1、算术逻辑单元(ALU)
2、暂存寄存器,或者叫锁存器,对程序员透明(用户不可见)
3、累加寄存器
4、通用寄存器组
5、程序状态字寄存器(PSW) ,对程序员不透明(用户可见)
6、移位器
7、计数器(CT)

二、控制器的组成

1、程序计数器(PC) 程序员可见
2、指令寄存器
3、指令译码器
4、存储器地址寄存器
5、存储器数据寄存器
6、时序系统
7、微操作信号发生器

三、PC自动加一发生在取值周期结束后

四、错题5.1

数据总线的位数与处理器的位数相同,他表示CPU一次能处理的数据的位数,即CPU的位数(p193-T6)

程序计数器的位数取决于 存储器的容量 (p194-T11)

程序计数器的内容为指令在主存中的地址,所以程序计数器的位数与存储器地址的位数相等,而存储器地址取决于存储器容量

CPU中通用寄存器的位数取决于机器字长(p194-T13)

CPU中不包括地址译码器,它是主存里的内容(p194-T19)

间址周期结束时,CPU内寄存器MDR中的内容为操作数地址(p196-T21)

可以在课本p198,间址周期考证

p195-T23



###五、内容补充---常见硬件---操作元件(组合逻辑元件)与组合元件(时序逻辑元件) ####操作元件 ####三态门 ![img](https://img2023.cnblogs.com/blog/2433096/202308/2433096-20230824164211235-1881607542.png) ####加法器 ![img](https://img2023.cnblogs.com/blog/2433096/202308/2433096-20230824164336141-1630628179.png) 图中的op是指控制信号 ####ALU ![img](https://img2023.cnblogs.com/blog/2433096/202308/2433096-20230824164510266-1902584121.png)

多路选择器(MUX)

img
多输入一输出

译码器(Decoder)

img
一输入多输出
比如2-4译码器,3-8译码器

存储单元

img



六、指令周期---中断周期

img
图中的中断执行过程,应该是针对于软堆栈,堆栈存储于内存中

七、错题5.2

取指操作是控制器自动进行的 ,不需要得到相应指令(p200-T7)

执行各条指令的机器周期数可变,各机器周期的长度可变(p201-T11)

指令周期分为定长指令周期和不定长指令周期,不定长指令周期内每个机器周期的节拍数可能不等

八、数据通路的定义(怎么感觉没多少印象了)

数据通路:数据在功能部件之间传送的路径,包括数据通路上流经的部件
它描述了信息从什么地⽅开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器
主要功能是实现CPU内部的运算器与寄存器及寄存器之间的数据交换

ps: 这一节引入了控制信号的概念
控制信号是用来控制电路中的各种元件的电信号,例如传输数据、执行指令、读取内存等等

九、数据通路的基本结构

img

十、区分CPU内部总线与系统总线

内部总线: CPU内部各寄存器以及运算部件之间的总线
系统总线: 同一计算机系统的各部分,如 CPU、内存、通道、各I/O接口间相互连接的总线

十一、错题5.3

p205-T5

十二、错题5.5!!!

内部异常的响应发生在 指令执行过程中 (p236-T6)

注意区分CPU对中断、程序异常、DMA的处理时机
①虽然程序异常被称为内中断,但好像中断的概念往往独属于外中断。
对于外中断的响应发生在指令结束之后
③对应程序异常,其一旦出现,则立即被CPU处理,故CPU对程序异常的响应发生在指令执行过程中
④对于普通的中断CPU在每个指令周期结束后做出响应,而DMA则是在每个总线周期后响应
⑤异常又分了好多种
对于故障(Fault)异常,有"非法操作数"、"除0异常"等,因为无法通过异常处理程序恢复故障,因此不能回到原断点执行,必须终止进程的执行
对于自陷(Trap)异常,执行完Trap指令之后,CPU会自动跳转到自陷指令的下一条指令执行
对于终止(Abort)异常,只能终止,调用中断服务程序重启系统,如"控制器"出错、存储器校验错等。
其中终止异常属于外中断

十三、指令流水线运算类指令的执行

对于精简指令集,运算的两个操作数一定来自某个寄存器或立即数,运算结果一定是存回某个寄存器

十四、流水线性能指标

img

十五、流水线冒险与处理

1、结构冒险(资源冲突)

由于多条指令竞争同一资源而形成的冲突
解决方法 : ①前一指令访存,后一相关指令暂停一时钟周期
②分开Cache,设置指令Cache与数据Cache

2、数据冒险

下一条指令会用到前一条指令计算的结果会引发数据冲突
解决方法: ①把遇到数据相关的指令及其后续指令都暂停⼀⾄⼏个时钟周期知道数据,相关问题消失后再继续执⾏,可分为硬件阻塞和软件插⼊“NOP”指令两种⽅法
②数据旁路技术:直接将执⾏结果送到其他指令所需要的地⽅,使流⽔线不发⽣停顿,因此不会引起流⽔线堵塞
③通过编译器对数据相关的指令编译优化的⽅法,调整指令顺序来解决数据相关

img

3、控制冒险

指令通常都是顺序执⾏的,但在遇到改变指令执⾏顺序的情况就会改变PC值会造成断流,从⽽引起控制冒险
解决方法:
img

十六、高级指令流水

img

十七、错题5.6

动态流水线技术(p244-T3)

动态流水线是指在同一时间内,当某些段正在实现某种运算时,另一些段却正在进行另一种运算,这样对提高流水线的效率很有好处,但会使流水线控制变得很复杂

流水线按序流动时,在RAW、WAR和WAW中,只可能出现RAW相关(p244-T11)

①区分两种流动:
按序流动:意为,若1指令比2指令先发出,则1指令取操作数在2取操作数之前,且1指令写回结果在2写回结果之前
非按序流动:意为,虽然1指令比2指令先发出,但2指令取操作数/写回结果 这两种操作 都可能 在1指令取操作数/写回结果 这两种操作之前

讨论RAW相关:因为按序流动,只有2指令的取数操作可能在1指令的写回操作前面,进而可能出现错误的读后写(RAW相关)
讨论WAR相关:而2的写回不可能在1的取数前面,所以不会出现错误的写后读(WAR相关)
讨论WAW相关:2的写回不可能在1的写回前面,所以不会出现错误的写后写(WAW相关)

指令流水线数据通路不包含生成控制信号的控制部件(p246-T17)

数据在功能部件之间传送的路径被称为数据通路,包括数据通路上流经的部件,如程序计数器、ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等。数据通路由控制部件控制,控制部件根据每条指令功能的不同生成对数据通路的控制信号。因此,不包括控制部件。

单周期CPU与多周期CPU(p246-T20)

单周期CPU: 一个周期内完成指令的取指、间址、运算
多周期CPU: 一个指令被分为了若干阶段





###十八、SISD,SIMD,MIMD的基本概念 ![img](https://img2023.cnblogs.com/blog/2433096/202308/2433096-20230825155259172-455792417.png) ####数据级并行与指令级并行的区别 数据级并行和指令级并行是并行计算中的两个不同概念。

数据级并行是将大规模的数据分解成多个小数据块,然后同时对这些数据块进行处理。每个数据块都由独立的处理单元进行计算,以提高计算速度和效率。数据级并行通常用于处理大规模数据集的任务,例如在分布式系统中同时处理多个数据片段。

指令级并行则是指在单个处理器内部,同时执行多条指令的能力。这种并行计算方式利用了处理器内部的流水线结构,将多条指令分成多个阶段,使得每个阶段可以同时执行不同的指令。指令级并行可以提高单个处理器的执行效率。

SIMD(单指令流多数据流)结构在处理数组的时候十分有效

比如,一条分别对16对数据进行运算的SIMD指令如果在16个ALU中同时运行,则只需要一次运算时间就能完成计算

注意多计算机系统与多处理器系统 的区别

向量处理器是SIMD的变体,是⼀种实现了直接操作⼀维数组(向量)指令集的CPU

十九、多处理机常考点

多处理机、多核处理器、双核技术、超程序技术

img

多核处理器

将多个处理单元集成到单个CPU中,每个处理单元称为⼀个核(core),每个核可以有⾃⼰的Cache,也可以共享⼀个Cache
在多核计算机系统中,若要充分发挥硬件的性能,必须采⽤多线程执⾏,使每个核在同⼀时刻都有线程在执⾏,这是真正的并⾏执⾏

多核与多处理器的区别

拥有一个以上内核的处理器被称为多核处理器,而拥有单核的处理器被称为单核处理器或单核处理器
在同一台计算机上有两个或更多的处理器或CPU,共享系统总线、内存和I/O,称为多处理器系统

双核技术也算是多处理机技术

二十、SMP共享内存多处理器

多处理器系统也是共享内存存储器的简称

UMA(同一存储访问多处理器)

根据处理器与共享存储器之间的连接⽅式
分为基于总线、基于交叉开关⽹络和基于多级交换⽹络连接等⼏种处理器
每个处理器对所有存储单元的访问时间都是⼤致相同的

NUMA(非同一存储访问多处理器)

处理器中不带⾼速缓存时,被称为NC-NUMA
处理器中带有⼀致性⾼速缓存时,被称为CC-NUMA(某些访问请求要⽐其他的快

二十一、错题5.7

p239-T8

① UMA架构需要解决的重要问题是Cache一致性
② NUMA架构比UMA架构运算扩展性强

二十三、硬步线与微程序

https://www.cnblogs.com/lordtianqiyi/p/17658986.html