CPU的结构和功能
从今天起,进入CPU的微观世界,将CPU作为一个系统来拆分和讲解。以前的总线,MEM,IO都是结构组成部分,在控制器的控制下,完成取值,执指的流程。
1.概述(What)
CPU主要包括运算器和控制器两大部分。一旦程序进入存储器后,可由计算机自动完成取指令和执行指令的任务。控制器就是专用于完成此项工作的,它负责协同并控制计算机各部件执行程序的指令序列,其基本功能就是取指令、分析指令和执行指令。
1.1 组成
(1)寄存器:存放下一指令地址;存放当前指令;存放操作数和计算结果;
(2)CU:能发出各种操作命令序列的控制部件
(3)ALU:完成算术和逻辑运算
(4)中断系统:处理异常情况和特殊请求
2.功能(Why)
CPU需要具备控制程序顺序执行(指令控制)、产生完成每条指令所需的控制命令(操作控制)、对各种操作加以时间上的控制(时间控制)、对数据进行运算(数据计算)以及处理中断的功能。
CPU的基本功能就是取指令、分析指令和执行指令。
1.取指令
控制器能自动形成指令的地址,并能发出取指令的命令,将此地址中的指令取到控制器中。
2.分析指令
分析指令包括两部分:(1)此指令完成什么操作,即控制器需要发出什么操作命令(2)分析参与这次操作的操作数地址
3.执行指令
执行指令就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列,通过对运算器、存储器和I/O设备的操作,执行此指令。
4.此外
控制器还要能控制主机与I/O设备交换信息及对总线的管理,甚至能处理机器运行过程中出现的异常情况(掉电)和特殊请求(打印),即处理中断的能力。
3.指令周期
3.1 概述(What)
周期指每个步骤所耗费的时间
CPU取出一条指令并执行完成所需的全部时间称为指令周期(花费时间)。设置CPU工作周期标志触发器对设计控制单元十分有利。
3.2 指令数据流(How)
3.2.1取指数据流
1.CU将PC寄存器中存储的指令地址送至MAR
2.CU将地址经地址总线送至MEM,将读控制命令经控制总线送至MEM
3.CU控制MEM将存储内容经数据总线送至MDR
4.CU控制MDR将内容送至IR
5.CU将PC内容加1
3.2.2间址周期的数据流
1.CU检查IR中的指令是否需要间址,如果需要间址,将MDR中的地址送到MAR
2.CU将MAR中的地址经地址总线送至MEM,将读命令经控制总线送至MEM
3.CU将有效地址经数据总线送至MDR
3.2.3执行周期的数据流
不同指令在执行周期操作不同。涉及CPU内部寄存器的数据传送,对存储器或I/O进行读写,对ALU进行操作
3.2.4中断周期的数据流
1.CU将PC的指令地址送到MDR,CU控制数据总线将MDR中的内容送至MEM,向MEM发出写信号,保存断点。
2.CU将中断服务程序入口的地址送至PC。
4.优化性能
4.1概述(What)
为了提高处理机速度,通常可以从提高器件的性能和改进系统的结构,开发系统的并行性两个方面入手。
4.2方法(How)
1.提高器件的性能是提高整机性能的重要途径。人们通过技术改进每一个部分的性能。
2.改进系统的结构,开发系统的并行性。在同一时刻或同一时间段内,完成两种或两种以上性质相同或不同的功能,只要在时间上相互重叠,就存在并行性。使用并行性,那么要将一个过程再细分为几个步骤,分析每个步骤使用到的资源共享,因果关系。并行时,两个步骤是否争抢同一资源,两个步骤之间是否有前后因果关系。
5.中断系统
5.1概述(What)
中断是一种提醒CPU的机制,提醒CPU暂停执行当前指令序列,让CPU判断是否需要去执行其他序列。知止而后能定,这也是在计算机系统中的体现。
5.2中断系统需要解决的问题
1.各中断源如何向CPU提出中断请求
2.当多个中断源同时提出中断请求,中断系统如何判断优先响应哪个中断源
3.CPU在什么条件,什么时候,以什么方式响应中断
4.CPU响应中断后如何保护现场
5.CPU如何从原程序转入中断服务程序的入口地址
6.中断处理结束后,CPU如何恢复现场,如何返回原程序的间断处
7.在中断处理过程中,又有了新请求,CPU如何处理。