;
本文总结自bilibili《计算机组成原理(哈工大刘宏伟)》的视频讲解,非常棒,墙裂推荐;
控制单元的功能: CU发出各种控制命令或微指令,控制整个计算机系统,包括cpu内部的各个部件,能够协调、稳定、正确、连续的运行;
1)控制单元CU的输入信号
2)控制单元CU的输出信号
2.1 )CPU内部的控制信号
2.2)送到控制总线的信号
在不采用cpu内部总线的方式下的执行过程,其中各寄存器含义:
【写在前面】ADD @X 指令介绍
这条指令完成的是一个加法操作;
这个加法是把内存单元X中的数据和AC寄存器中的数据在控制信号的作用下做加法操作,加法操作由ALU来完成,并且加法结果保存到AC寄存器(ACC寄存器或累加器)中;
1)以 ADD @X 命令的取指周期(注意是取指周期)为例:操作发起从pc发起;
小结:以上5个控制信号c0~c5都是CU产生的;
2)下面看下间址周期,执行周期中的控制信号
指令执行周期的控制信号的控制过程:
起始状态:操作数的地址在MDR;
注意: 以上方式,是cpu内部不采用内部总线的方式;
注意:cpu内部总线不同于系统总线;
(为了对比,上图是不采用CPU内部总线方式)
(上图是采用CPU内部总线方式)
【背景介绍】
Cpu中,由 PC,MAR,IR,进行取指令操作,并放入MDR中;
在控制单元的作用下,我们可以进行操作;
时钟信号作为控制单元CU的输入,经过控制单元CU译码后,产生各种类型的控制信号,来控制cpu内部与外部的操作;
AC寄存器(ACC寄存器);
ALU运算器:运算器要有多种类型的控制信号;控制它做相应的算术运算或逻辑运算;
ALU:是一个组合电路,为了能够保存两个操作数和计算结果,在alu的两个输入端需要加上寄存器,在输出端也要加上寄存器;输入时,ac可以作为其中一个寄存器,另一个输入寄存器是Y;在控制信号的作用下,把ac和y寄存器的操作数送入ALU进行相加,并把结果送入Z寄存器;
以上部件,都是离散的部件;在刚刚cpu内部不采用总线的结构下,分别有线路进行连接;
0)引入CPU内部总线目的:为了简化cpu结构,简化设计,假设cpu内部采用总线方式,这些离散部件是连接到CPU内部总线上的;
1)下面在cpu内部采用总线结构下,间址加法指令(ADD @X)的取指步骤:
以上控制信号(IRi,PCo, MARi, MDRo, PCo),都是由CU在时钟信号的控制下产生的控制信号(i输入,o输出); 这些控制信号间,是有先后关系的;
2)ADD @X 间址周期:
指令中的操作数形式地址,送入MAR;从内存中读出该形式地址内存单元对应的操作数有效地址,并送入IR寄存器的操作数地址部分(真实地址);
3)CPU采用内部总线方式下的ADD @X 执行周期步骤:
小结:以上蓝色部分都是控制信号,这些控制信号都是由CU发出的,控制信号间是有顺序的;
为了解释指令的执行,它的解释所花的时间,我们叫做指令周期;
指令周期分为: 取指周期,间址周期,执行周期,中断周期;
1)定义:完成一个基本操作所需要的时间,如取指令,存储器读,存储器写;通常以访存时间为基准;因为指令最耗时的操作就是访存操作;
2)取指周期的过程(微操作)包括:
1,Pc值送入MAR;
2,MAR送入主存;
3,CU发出读控制信号给主存;
4,从主存读取指令到MDR,进而送入IR;
5,IR送入到CU进行译码;
6,PC加1;
以上操作都是有先后顺序的;以上这些操作都是微操作,有先后顺序的;
在机器周期内部,也需要有多个时钟周期,由时钟来控制微操作的先后顺序;
1)定义:控制计算机操作的最小单位时间(注意是控制);1个时钟周期,可以做1个或若干个微操作(若微操作可以并行执行);
2)机器周期和时钟周期关系:
把一个机器周期分为若干个时间相等的时间段(时钟周期,或节拍,或状态);
由这些时钟周期控制在一个机器周期内部的这些微操作,它们在时间上的先后顺序;
3)小结:
多级时序系统:包括了指令周期,机器周期、节拍(时钟周期)3个部分;
一个指令周期包含若干个机器周期;
一个机器周期包含若干个时钟周期;
补充:
在不采用指令流水线技术前提下,且一个指令周期包含多个机器周期且一个机器周期包含多个时钟周期,则机器速度和主频成正比关系;
在采用流水线技术前提下,即便上述条件相等,但速度就不一定了
控制方式定义:产生不同微操作命令序列所用的时序控制方式;
J9国际站官网
1)同步控制方式:每一个微操作都是在定宽,定距(统一基准时标)的时钟信号的控制之下;