nullnull学时:4学时
重点:掌握CPU的基本结构和基本功能nullCPU的功能和组成
指令周期
时序产生器和控制方式
null什么是CPU?
所谓中央处理器是控制计算机来自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU。
nullCPU的功能
指令控制 :就是保证机器按规定的顺 序执行程序
操作控制:CPU管理并产生由内存取出的每条指令的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的
进行动作。
时间控制: 对各种操作实施时间上的控制,称为时间控制。
数据加工: 所谓数据加工,就是对数据进行算术运算和逻辑运算处理。完成数据的加工处理,这是CPU的根本的任务。
(2)nullCPU的基本组成
中央处理器由两个主要部分——控制器和运算器组成。
null控制器
由程序计数器、指令寄存器、指令译码 器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。控制器的主要功能有:
从内存中取出一条指令,并指出下一条指令在内存中的位置。
对指令进行译码或测试,并产生相应的控制信号。
指挥并控制CPU,内存和I/O之间的数据流动的方向。
null运算器
由算术逻辑单位(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是 数据加工处理部件。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。运算器的主要功能:
执行所有的算术运算。
执行所有的逻辑运算。nullnullCPU的主要寄存器累加寄存器AC
累加寄存器AC通常简称为累加器,它的功能是:当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。累加寄存器是暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。 状态条件寄存器PSW
状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码
,同时状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。
null 程序计数器PC
程序计数器中存放的是下一条指令在内存中的地址。 指令寄存器IR
指令寄存器用来保存当前正在执行的一条指令。
null 地址寄存器AR
地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。 缓冲寄存器DR
缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在缓冲寄存器中。 null操作控制器和时序产生器
数据通路:通常把许多寄存器之间传送信息的通路,称为“数据通路”。
操作控制器:根据指令操作码和时序信号,产生各种操作信号,以便正确建立数据通路,从而完成取指令和执行指令的操作。
时序产生器:因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间上的控制。
null程序的执行过程:
冯. 诺依曼 结构的计算机执行程序的顺序:
1. 正确从程序首地址开始.
2. 正确分步执行每一条指令,并形成下条待执行指令的地址.
3.正确并自动地连续执行指令,直到程序的最后一条指令.null—读取指令
指令地址送入主存地址寄存器
读主存,读出内容送入指定的寄存器
—分析指令
—按指令规定内容执行指令
不同指令的操作步骤数
和具体操作内容差异很大
—检查有无中断请求
若无,则转入下一条指令的执行过程形成下一条指令地址指令的执行过程null指令周期的基本概念指令周期:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需用的时间通常叫做一个指令周期。 机器周期:指令周期常常用若干个CPU周期数来
示,CPU周期也称为机器周期。时钟周期:由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。而一个CPU周期时间又包含有若干个时钟周期(通常称为节拍脉冲或T周期,它是处理操作的最基本单位)。这些时钟周期的总和则规定了一个CPU周期的时间宽度。null指令周期T周期(取指令)(执行指令 )nullnullnull取指周期null间址周期null执行周期
许多类型
主要是涉及到处理器内部的寄存器
可能的操作有
数据传输
ALU
控制指令的处理null中断周期null下面以一个简单的程序来具体认识每一条指令的指令周期和执行过程。
nullCLA指令的指令周期一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令
PC+1对指令
译码执行
指令取下条指令
PC+1null算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器
时序产生器时钟状态反馈取指控制执行控制cccc+1000 0202021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021null算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器
时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021nullADD指令的指令周期 ADD指令的指令周期由三个CPU周期组成。
第一个CPU周期为取指令阶段。
第二个CPU周期中将操作数的地址送往地址寄存器并完成地址译码。
在第三个CPU周期中从内存取出操作数并执行相加的操作。 null一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令
PC+1对指令
译码送操作数
地址取下条指令
PC+1取出操作数执行加
操作一个CPU周期null算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器
时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006nullSTA指令的指令周期 STA指令的指令周期由四个CPU周期组成。其中第一个CPU周期仍然是取指令阶段,其过程和CLA指令、ADD指令完全一样,不同的是此阶段中程序计数器加1后变为023,因而为取第四条指令做好了准备。我们假定,第一个CPU周期后结束,“STA 40”指令已放入指令寄存器并完成译码测试。
null算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器
时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006nullNOP指令和JMP指令的指令周期 NOP指令是一条空指令,包含两个CPU周期,第一个周期取指令,第二个周期执行指令,因是空指令,所以操作控制器不发出任何控制信号。
JMP指令由两个CPU周期组成,第一个周期是取指令周期,同其他指令。第二个周期为执行阶段,CPU把指令寄存器中的地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25,这样,下一条指令将不从25单元中读出,而从21电源开始读出并执行,从而改变了程序原先的执行顺序 。null算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器
时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021null用方框图语言表示指令周期
在进行计算机
时,可以采用方框图语言来表示一条指令的指令周期。
一个方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制。
一个菱形符号代表某种判别或测试,不过时间它依附于它前面一个方框的CPU周期,而不单独占用一个CPU周期。
符号“~”代表一个公操作 。nullPC→AR →ABUS
DBUS →DR →IR
PC +1译码或测试0 →ACIR →ARIR →ARIR →PC
PC→ARAR →ABUS
DBUS →DR
RD→ALU
ALU→ACAR →ABUS
AC→DR
DR→DBUS~~~~~CLAADDSTAJMPNOPnull小结:
各类信息的传送路径
指令:M-----DR-----DBUS-----IR
地址:PC----ABUS----AR-----(取决于寻址方式)
数据:
寄存器----寄存器 总线直接传送
寄存器----存储器 Ri----DBUS----DR-----M
存储器----寄存器 M----DR-----BUS-----Rinull例:如图所示为双总线结构机器的数据通路,控制信号G控制的是一个门电路。
“ADD R2,R0” 指令完成(R0)+(R2)→R0功能操作。假设该指令的地址已放入 PC中。
“SUB R1,R3”指令完成(R3)-(R1)→R3的功能操作 。nullARMABALUIRiIRoPCiPCiARiDRiDRoR0iR0oR3iR3oXiYiA总线B总线G+ -R/WnullPC→ARM→DRDR→IRR2→YR0→XR0+R2→R0~PC→ARM→DRDR→IRR3→YR1→XR3-R1→R3~PC0,G,ARiDR0,G,IRiR2o,G,YiR00,G,Xi+,G,R0I R/W=RR3o,G,YiR1o,G,Xi-,G,R3inull时序信号的作用和体制
计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。
操作控制器发出的各种控制信号都是时间因素(时序信号)和空间因素(部件位置)的函数。
组成计算机硬件的器件特性决定了时序信号最基本的体制是电位---脉冲制。null常用的操作控制器有两种:
硬布线控制器
微程序控制器 null硬布线控制器中
时序信号采用主状态周期——节拍电位——节拍脉冲 三级体制
微程序控制中
时序信号采用节拍电位——节拍脉冲二级体制。null主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示。
节拍电位(机器周期):包含若干个节拍脉冲,表示较大的时间单位。
节拍脉冲(时钟周期):表示较小的时间单位。null时序信号产生器的组成
时钟源
环形脉冲发生器
节拍脉冲和读/写时序的译码
启停控制逻辑null启停控制逻辑节拍脉冲和对时序译码逻辑环形脉冲发生器 IORQ MREQ RD WE T1 T2 T3 T4 IORQ° MREQ° RD° WE° T1° T2° T3° T4°MERQ’IORQ’RD’WR’时钟脉冲源Φ
时钟脉冲源环形脉冲发生器 节拍脉冲和对时序译码逻辑启停控制逻辑用来位环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。有石英晶体振荡器组成。产生一组有序的间隔相等或不等的脉冲序列。通常采用循环移位寄存器。null控制方式
同步控制方式:在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的。
采用完全统一的机器周期执行各种不同的指令。这意味这所有指令周期具有相同的节拍电位和相同的节拍脉冲数。
采用不定长的机器周期。
中央控制和局部控制相结合。
中央控制:就是将大部分指令安排在固定的机器周期完成。
局部控制:对少数复杂的指令采用另外的时序进行定时。 null同步控制方式:时钟微操作信号1微操作信号2null异步控制方式:
每条指令、每个操作控制信号 需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成。null异步控制方式命令1命令2操作信号1回答1操作信号2回答2命令3null联合控制方式:
将同步控制方式和异步控制方式相结合的方式。null控制器的组成:
指令部件
程序计数器PC
指令寄存器
指令译码器
时序部件
脉冲源及启停逻辑
时序信号形成部件
微操作信号形成部件
中断控制逻辑
null程序计数器PC地址形成部件操作码 地址码译码微操作信号形成节拍发生器时钟源中断控制逻辑状态寄存器微操作信号I/O信息
控制台信息
+1送AR