从今天起,进入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如何处理。