计算机所有功能通过执行程序完成,程序由指令序列构成。
计算机采用“存储程序”的工作方式,即计算机必须能够自动地从主存取出一条条指令执行,而专门用来执行指令的部件就是中央处理器。
在CPU中控制指令执行的部件是控制器,
控制器可采用硬连线路方式实现,
也可采用微程序设计方式实现,也有一些CPU采用硬连线路和微程序控制相结合的方式实现。
要求
(一)中央处理器(CPU)的功能和基本结构
(二)指令执行过程
(三)数据通路的功能和基本结构
(四)控制器的功能和工作原理
1.硬布线控制器
2.微程序控制器
微程序、微指令和微命令,微指令格式,微命令的编码方式,微地址的形成方式
(五)指令流水线
1.指令流水线的基本概念
2.指令流水线的基本实现
3.超标量和动态流水线的基本概念
(六)中断系统
核心考点
- (★★★★★)指令的执行过程,如给出数据通路,写出取指周期、间址周期、执行周期和中断周期的微操作流程
- (★★★★)流水线的基本原理及其相关性处理
- (★★★)微指令的格式及其编码
- (★★)控制器的工作流程
(1)熟练掌握指令的执行过程,并结合微指令考察一条指令执行的各个步骤;
(2)掌握CPU数据通路的功能及结构,掌握控制器的功能和设计,并能为MIPS32的典型指令完成相应的CPU设计,包括单周期及流水体系结构的设计;
(3)掌握异常与中断的处理机制及相应的设计与实现;
框架
指令执行过程
一条指令的执行过程中要做哪些事情呢?
- 一条指令的执行过程包括:取指令、指令译码、计算操作数地址、取操作数、运算、送结果。
- 指令的执行过程大致分为取指、译码、取数、运算、存结果、查中断等几个步骤。
其中取指令和指令译码是每条指令都必须进行的操作。
有些指令需要到存储单元取操作数,因此,需要在取数之前计算操作数所在的存储单元地址。
取操作数和送结果这两个步骤,对于不同的指令,其取和送的地方可能不同,
- 有些指令要求在寄存器读取/保存数据,
- 有些是在内存单元中读取/保存数据,
- 还有些是对I/O端口进行读取或保存数据。
因此,一条指令的执行阶段(不包括取指令阶段),可能只有CPU参与,也可能要通过总线去访问主存,也可能要通过总线去访问I/O端口。
指令周期
是指取出并执行一条指令的时间,它由若千个机器周期或直接由若千个时钟周期组成。
早期的机器
因为没有引入cache,所以每个指令周期都要执行一次或多次总线操作,以访问主存读取指令或进行数据的读写,因而,将指令周期分成若干机器周期,每个机器周期对应CPU内部操作或某种总线事务类型,一个总线事务访问一次主存或I/O接口。
因为一个总线事务中需要送地址和读写命令、等待主存进行读写操作等,需要多个时钟周期才能完成,所以一个机器周期又由多个时钟周期组成。