10.1-控制单元CU的组合逻辑设计
Posted PacosonSWJTU
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.1-控制单元CU的组合逻辑设计相关的知识,希望对你有一定的参考价值。
【README】
1.本文总结自bilibili《计算机组成原理(哈工大刘宏伟)》的视频讲解,非常棒,墙裂推荐;
2.精简指令集RISC(简单指令集合)采用的就是这种组合逻辑设计的硬连方式(非常重要);
3.组合逻辑设计应用到RISC,进而应用到了 X86cpu的设计上(查看文末补充内容);
【1】组合逻辑控制单元框图
【1.1】CU外特性
CU要发出各种控制命令,这些控制信号是有先后关系的,每一个控制信号的发出都是由给定的时间点发出的,这种相互关系和时间点的确定,就是有节拍信号来控制的;
即需要节拍发生器;
机器主频信号送入节拍发生器,进而产生节拍信号(T0到Tm);
CU到底要产生什么控制命令,和现在执行的指令有直接关系;如指令在IR中,需要译码后才知道;n位操作码具有2^n-1个结果;
CU到底发出什么控制信号,还和标志有关系;如跳转指令;与跳转条件是否成立有关;
假设,给定的控制信号有k+1个(C0 C1 …Ck);有1个或几个有效,几个有效表示在一个节拍中这些控制信号可以并行操作的;
【1.2】节拍信号
系统时钟是系统的最基本时间单位;节拍信号就是在时钟的控制下产生的;在不同的时钟周期处可以产生不同的节拍;
由节拍信号控制各种微操作命令发出的时间;
上图的机器周期包含4个节拍;
【小结】机器周期与时钟周期: 机器周期:完成一条基本操作所需要的时间(通常以访存时间为基准);一个机器周期可以划分为多个时钟周期; 时钟周期:控制计算机操作的最小单位时间;一个时钟周期可以产生1个或多个微操作命令(若微操作命令可以并行执行); |
【2】微操作的节拍安排
【2.1】 安排微操作时序的原则
- 原则一:微操作的先后顺序不得修改;如只有把指令送入IR后,才可以把IR中的指令送入CU进行译码;
- 原则二:被控制对象不同的微操作,尽量安排在一个节拍内;即可以并行执行的微操作,微操作没有先后顺序,这样的微操作会安排在同一个节拍中(因为操作的对象不同);
- 原则三:占用时间短的微操作,尽量安排在一个节拍内,且有先后顺序;如一个在上升沿,一个在下降沿;
取指周期微操作的节拍安排:T0 T1 T2节拍都做了2个操作;即每个时钟周期并行做了2个微操作;
【2.4】执行周期微操作的节拍安排
【2.4.1】指令及节拍安排
CLA | 清零,把0送入acc寄存器 |
COM | 取反 |
SHR | 算术右移 |
CSL | 循环移位 |
STP | 停机操作 |
ADD X | 加法操作 |
STA X | 把累加器ACC的数据送入存储单元X; |
LDA X | 把存储单元X的数据送入CPU的累加器ACC寄存器; |
JMP X | 跳转到给定地址X存储的指令 |
BAN X | 条件转移指令; |
【3】 控制单元CU的组合逻辑设计
【3.1】组合逻辑设计步骤
对于 取指周期,间址周期,执行周期需要哪些微操作呢?
【3.1.1】取指周期微操作步骤
在节拍T0中,CLA COM ADD STA LDA JMP 指令的微操作都需要执行 PC -> MAR ,所以方格填1,这是1的含义;
1->IND : 进行间址周期;
1->EX : 进入执行周期;
【3.1.2】间址周期微操作步骤
【3.1.3】执行周期微操作步骤
【3.2】写出微操作命令的最简表达式
根据微操作命令被用到的指令(如CLA COM),写出表达式,从而化简;作为组合逻辑电路的公式,如下:
上图就是控制器CU的逻辑框图;
精简指令集RISC采用的就是这种组合逻辑设计的硬连方式;
现在处理器分为了两类,1类是整型数处理单元,1类是浮点数处理单元;
而整型数控制单元就是采用上述的组合逻辑设计;
【小结】控制单元CU的组合逻辑设计总结
1)组合逻辑设计优点:思路清晰,简单明了;
2)组合逻辑设计缺点:
- 电路复杂;
- 不易于扩展:因为每一个控制信号都需要单独的电路,来完成控制信号的生成;如新增一条指令,就需要修改控制器,添加一个电路,因此成本非常高;
3)应用:精简指令集RISC(简单指令集合)采用的就是这种组合逻辑设计的硬连方式(非常重要);
【补充】
以下内容转自 wikipedia,https://zh.wikipedia.org/wiki/%E7%B2%BE%E7%AE%80%E6%8C%87%E4%BB%A4%E9%9B%86%E8%AE%A1%E7%AE%97%E6%9C%BA
补充1)精简指令集计算机(英语:reduced instruction set computer,缩写:RISC)或简译为精简指令集,是计算机中央处理器的一种设计模式。这种设计思路可以想像成是一家模块化的组装工厂,对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。目前常见的精简指令集微处理器包括DEC Alpha、ARC、ARM、AVR、MIPS、PA-RISC、Power ISA(包括PowerPC、PowerXCell)、RISC-V和SPARC等。
- 目前最常见的复杂指令集 x86 CPU,虽然指令集是CISC的,但因对常用的简单指令会以硬件线路控制尽全力加速,不常用的复杂指令则交由微码循序器“慢慢解码、慢慢跑”,因而有“RISCy x86”之称。
补充2)精简指令集设计中常见的特征:
- 统一指令编码(例如,所有指令中的op-code永远位于同样的比特位置、等长指令),可快速解译:
- 泛用的寄存器,所有寄存器可用于所有内容,以及编译器设计的单纯化(不过寄存器中区分了整数和浮点数);
- 单纯的寻址模式(复杂寻址模式以简单计算指令序列取代);
- 硬件中支持少数资料类型(例如,一些CISC电脑中存有处理字节字符串的指令。这在RISC电脑中不太可能出现)。
以上是关于10.1-控制单元CU的组合逻辑设计的主要内容,如果未能解决你的问题,请参考以下文章