计算机组成原理 第五章上:中央处理器CPU

机组笔记 第一章 运算-CSDN博客

第二章、存储器-CSDN博客

第三章、Cache高速缓冲存储器-CSDN博客

第四章:指令系统-CSDN博客

第五章上:中央处理器CPU-CSDN博客

第五章下:微程序与微指令-CSDN博客

第六章 总线-CSDN博客

第七章:I/O设备-CSDN博客

第八章:IO控制方式-CSDN博客

CPU(由运算器和控制器组成)的功能:

指令控制:完成取指令,分析指令,执行指令的操作

操作控制:将数据由一个部件送往另一个部件

时间控制:操作是有先后顺序的,通过时间控制确保操作顺序

数据加工:算数和逻辑运算(此条由运算器完成,其余的由控制器完成)

中断处理:对运行时发生的异常和特殊请求进行处理

运算器的基本结构:

专用数据通路:

ALU(算术逻辑单元可以完成算数/逻辑运算)有两个输入端,R0~R3是通用寄存器存有数据,需要调用时,由箭头所表示的通路输入ALU(注意,设R0为16bit数据,那么一个剪头代表16条通路)     问题:多个寄存器同时、一直向ALU传输数据;线路复杂,硬件成本高

解决方法:多路选择器              三态门

   

CPU内部单总线方式:

结构简单,数据传输容易冲突

比如R0,R1作为AB两个输入,同时传输(ALU没有存储功能,所以必须同时输入)会使信号混乱,因此在A端加暂存器,R0先输出放到暂存器,R1再输出、同时暂存器输出,AB同时接到信号,避免冲突

刚开始向ALU输入信号时,信号可能不稳定,导致计算错误,错误的结果会立刻从ALU输出进入内部总线,污染R0R1的输入数据,因此在ALU输出端加寄存器、三态门,数据先放在寄存器中,待数据稳定后三态门才打开。收到正确结果,避免冲突。

此寄存器可积加一些功能,如:移位计算。故图上写的是移位寄存器

ACC:累加寄存器

PSW:程序状态字寄存器:保存指令运行结果:如溢出标志,进位标志

控制器的基本结构:

程序计数器PC:就是自动加一的那个

指令寄存器IR:地址部分Ad向内部总线传输,操作部分OP先经过指令译码器(3-8译码,4-16译码等)与微操作发生器对应,时序系统控制微操作顺序,PSW的信号也会影响微操作序列

地址、数据总线在CPU外部

控制器整体由CU—控制单元进行协调控制

CPU内部整体结构:

指令在CPU内部的执行过程:

指令周期:CPU取出并执行一条指令所需的时间。一个指令周期由若干机器周期组成,一个机器周期由若干时钟周期(节拍、CLK)组成

 

定长:本可以短时间完成的指令需要等待以保证每个周期时间一致

不定长:效率高,硬件设计复杂

流水线方案:不同机器周期需要调用的硬件不同,可以多条指令同时运行但处于不同阶段从而实现并行

各个周期的工作内容:

取指周期:

1、(PC)→MAR

2、CU发出控制信号,经控制总线传到主存,这里是读信号,记做:1→R

3、M(MAR)→MDR

4、(MDR)→IR

5、CU控制PC使: (PC)+1→PC

间址周期:

1、Ad(IR)→MAR

2、CU发出控制信号,经控制总线传到主存,这里是读信号,记做:1→R

3、M(MAR)→MDR

4、(MDR)→Ad(IR) 或Ad(MDR)→MAR(此时的 地址为实际地址)

执行周期:暂不探讨

中断周期:一段指令未执行完,转而取执行其他任务,之后再继续这一段指令,为了能恢复之前的任务,需要记录断点:一般用堆栈保存

物理存储的栈是由高到低存储的,因此栈顶在低位

1、(SP)-1→SP,(SP)→MAR(也可看做CU直接控制MAR)

2、CU控制做写操作:1→W

3、(PC)→MDR

4、CU控制将插入程序首地址口地址送入                                      PC

例题:

ADD会将结果放在第一个加数的物理位置

ADD后面跟的应该是两个地址所存储的数,所以(R0)意思是R0中存的是地址也就是说R0存的是该操作数在主存中的存储地址需要间接地址

计算完之后将结果放在一个个加数的位置,也就是R0指向的主存位置

专用数据通路:

硬布线控制器:用纯硬件的方式完成控制器功能

设计前提:一个节拍可以并行完成多个互不占用的微操作;同一微操作可能在多个阶段被使用;所需节拍较少,则将微操作安排在机器周期末尾的几个节拍

根据指令操作码目前的机器周期节拍信号机器状态条件,即可确定现在这个节拍下应该发出哪些微命令

所有指令的取指周期、T0节拍下一定要完成(PC)→MAR。则可知C1=FE·T0

由上述C1的逻辑表达式设计电路为启发:硬布线控制器设计方法如下:

罗列出所有指令在各个阶段的微操作序列,就可以知道在什么情况下需要使用这个微操作。

根据指令操作码、目前的机器周期、节拍信号、机器状态条件,即可确定现在这个节拍下应该发出哪些微命令(主要是执行阶段,不同的指令在执行周期内容各不相同)

以取指周期为例

所以:T0--(1)(2)  T1--(3)(6)    T2--(4)(5)

原则三:(4)(5)有先后关系,理论上不能同时处理,但因为二者都是CPU内部的快速处理,占用时间短,所以可以放在同一个节拍

(2)写出M(MAR)→MDR的最简表达式

(3)设计电路

  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值