资源描述
计算机组成原理计算机组成原理 中央处理器中央处理器(1)(1)2016-4-82024/7/16第第5 5章章 中央处理器中央处理器vv5.1 CPU5.1 CPU的功能和组成的功能和组成的功能和组成的功能和组成 5.1.1 CPU5.1.1 CPU的功能的功能的功能的功能 5.1.2 CPU5.1.2 CPU的基本组成的基本组成的基本组成的基本组成 5.1.3 CPU5.1.3 CPU中的主要寄存器中的主要寄存器中的主要寄存器中的主要寄存器 5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器操作控制器与时序产生器操作控制器与时序产生器vv5.2 5.2 指令周期指令周期指令周期指令周期 5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念指令周期的基本概念指令周期的基本概念 5.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.4 ADD5.2.4 ADD指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.5 STO5.2.5 STO指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期用方框图语言表示指令周期用方框图语言表示指令周期vv5.3 5.3 时序产生器和控制方式时序产生器和控制方式时序产生器和控制方式时序产生器和控制方式 5.3.1 5.3.1 时序信号的作用和体制时序信号的作用和体制时序信号的作用和体制时序信号的作用和体制 5.3.2 5.3.2 时序信号产生器时序信号产生器时序信号产生器时序信号产生器 5.3.3 5.3.3 控制方式控制方式控制方式控制方式vv5.4 5.4 微程序控制器微程序控制器微程序控制器微程序控制器 5.4.1 5.4.1 微程序控制器原理微程序控制器原理微程序控制器原理微程序控制器原理 5.4.2 5.4.2 微程序设计技术微程序设计技术微程序设计技术微程序设计技术vv5.5 5.5 硬连线控制器硬连线控制器硬连线控制器硬连线控制器vv5.6 5.6 流水流水流水流水CPUCPU 5.6.1 5.6.1 并行处理技术并行处理技术并行处理技术并行处理技术 5.6.2 5.6.2 流水流水流水流水CPUCPU的结构的结构的结构的结构 5.6.3 5.6.3 流水线中的主要问题流水线中的主要问题流水线中的主要问题流水线中的主要问题 5.6.4 5.6.4 奔腾奔腾奔腾奔腾CPUCPUvv5.7 RISC CPU5.7 RISC CPU(自学)(自学)(自学)(自学)5.7.1 RISC5.7.1 RISC机器的特点机器的特点机器的特点机器的特点 5.7.2 RISC CPU5.7.2 RISC CPU实例实例实例实例 5.7.3 5.7.3 动态流水线调度动态流水线调度动态流水线调度动态流水线调度2 2计算机组成原理计算机组成原理2024/7/165.1 CPU5.1 CPU的功能和组成的功能和组成vv5.1.1 CPU5.1.1 CPU的功能的功能的功能的功能vv5.1.2 CPU5.1.2 CPU的基本组成的基本组成的基本组成的基本组成vv5.1.3 CPU5.1.3 CPU中的主要寄存器中的主要寄存器中的主要寄存器中的主要寄存器vv5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器操作控制器与时序产生器操作控制器与时序产生器3 3计算机组成原理计算机组成原理2024/7/165.1.1 CPU5.1.1 CPU的功能的功能vCPU(Central Processing Unit):专门用来完成自动取指令和执行指:专门用来完成自动取指令和执行指令的计算机部件令的计算机部件 vCPU的四项基本功能:的四项基本功能:1、指令控制、指令控制(首要任务首要任务):严格按程序的严格按程序的严格按程序的严格按程序的指令序列指令序列指令序列指令序列有序执行;有序执行;有序执行;有序执行;2、操作控制:、操作控制:一条指令功能由若干个一条指令功能由若干个一条指令功能由若干个一条指令功能由若干个操作信号操作信号操作信号操作信号实现;实现;实现;实现;3、时间控制:、时间控制:指令各个操作指令各个操作指令各个操作指令各个操作实施时间实施时间实施时间实施时间的定时;的定时;的定时;的定时;4、数据加工、数据加工(根本任务根本任务):算术运算和逻辑运算;算术运算和逻辑运算;算术运算和逻辑运算;算术运算和逻辑运算;4 4计算机组成原理计算机组成原理2024/7/165.1.2 CPU5.1.2 CPU的基本组成的基本组成vv1 1、早期、早期、早期、早期CPUCPU:运算器运算器运算器运算器 控制器控制器控制器控制器vv2 2、现在、现在、现在、现在CPUCPU:运算器运算器运算器运算器 CacheCache 控制器控制器控制器控制器 5 5计算机组成原理计算机组成原理2024/7/165.1.2 CPU5.1.2 CPU的基本组成的基本组成vv(1)1)控制器控制器控制器控制器CUCU:发布命令的决策机构,即发布命令的决策机构,即发布命令的决策机构,即发布命令的决策机构,即完成协调和指挥整个计算机系统的操作。完成协调和指挥整个计算机系统的操作。完成协调和指挥整个计算机系统的操作。完成协调和指挥整个计算机系统的操作。组成:组成:组成:组成:程序计数器程序计数器程序计数器程序计数器PCPC、地址寄存器、地址寄存器、地址寄存器、地址寄存器ARAR、指令寄存器、指令寄存器、指令寄存器、指令寄存器IRIR、指令译码器、时序发、指令译码器、时序发、指令译码器、时序发、指令译码器、时序发生器与操作控制器生器与操作控制器生器与操作控制器生器与操作控制器OCOC、总线(数据通路)等;、总线(数据通路)等;、总线(数据通路)等;、总线(数据通路)等;功能功能功能功能:(a)(a)从指令从指令从指令从指令cachecache中中中中取取取取出一条出一条出一条出一条指令指令指令指令,并并并并产生下一条指令产生下一条指令产生下一条指令产生下一条指令在指令在指令在指令在指令cachecache中中中中地址地址地址地址;(b)(b)对取出指令进行对取出指令进行对取出指令进行对取出指令进行译码或测试译码或测试译码或测试译码或测试,产产产产生操作控制信号生操作控制信号生操作控制信号生操作控制信号,启动各种规定动,启动各种规定动,启动各种规定动,启动各种规定动作;作;作;作;(c)(c)指挥并控制指挥并控制指挥并控制指挥并控制CPUCPU、数据、数据、数据、数据cachecache、输入输入输入输入/输出设备之间的输出设备之间的输出设备之间的输出设备之间的数据流向数据流向数据流向数据流向;6 6计算机组成原理计算机组成原理2024/7/165.1.2 CPU5.1.2 CPU的基本组成的基本组成vv(2)2)运算器运算器运算器运算器:数据加工处理部件:数据加工处理部件:数据加工处理部件:数据加工处理部件 组成:组成:组成:组成:ALUALU、通用寄存器通用寄存器通用寄存器通用寄存器、数据缓冲、数据缓冲、数据缓冲、数据缓冲寄存器寄存器寄存器寄存器DRDR、状态字寄存器、状态字寄存器、状态字寄存器、状态字寄存器PSWPSW;功能:功能:功能:功能:执行所有的算术运算和逻辑运执行所有的算术运算和逻辑运执行所有的算术运算和逻辑运执行所有的算术运算和逻辑运算算算算(含各种逻辑测试等含各种逻辑测试等含各种逻辑测试等含各种逻辑测试等);7 7计算机组成原理计算机组成原理2024/7/165.1.2 CPU5.1.2 CPU的基本组成的基本组成v(3)Cache:高速缓冲存储器,用来存储数据和程序高速缓冲存储器,用来存储数据和程序数据数据Cache指令指令Cache8 8计算机组成原理计算机组成原理2024/7/165.1.3 5.1.3 CPUCPU中的主要寄存器中的主要寄存器 各种计算机虽有不同,各种计算机虽有不同,但但CPU中至少存在中至少存在六类寄六类寄存器:存器:1、数据缓冲寄存器、数据缓冲寄存器(DR)2、指令寄存器、指令寄存器(IR)3、程序计数器、程序计数器(PC)4、数据地址寄存器、数据地址寄存器(AR)5、通用寄存器、通用寄存器(R0R3)6、状态字寄存器、状态字寄存器(PSW)9 9计算机组成原理计算机组成原理2024/7/165.1.3 5.1.3 CPUCPU中的主要寄存器中的主要寄存器1 1、数据缓冲寄存器、数据缓冲寄存器、数据缓冲寄存器、数据缓冲寄存器DRDR (DataData RegisterRegister):暂存暂存暂存暂存 ALUALU运算运算运算运算结果结果结果结果、从、从、从、从/向向向向数据数据数据数据cachecache读读读读/写的数、外写的数、外写的数、外写的数、外部接口的输入部接口的输入部接口的输入部接口的输入数据数据数据数据;作用主要有作用主要有作用主要有作用主要有:vvALUALU与通用寄存器之间与通用寄存器之间与通用寄存器之间与通用寄存器之间的的的的数据缓冲数据缓冲数据缓冲数据缓冲;vv作为作为作为作为CPUCPU和内存、外部和内存、外部和内存、外部和内存、外部设备之间设备之间设备之间设备之间信息传送的中转信息传送的中转信息传送的中转信息传送的中转站站站站,补偿补偿补偿补偿CPUCPU与主存、外与主存、外与主存、外与主存、外设之间的设之间的设之间的设之间的速度差别速度差别速度差别速度差别;1010计算机组成原理计算机组成原理2024/7/165.1.3 5.1.3 CPUCPU中的主要寄存器中的主要寄存器2 2、指令寄存器、指令寄存器、指令寄存器、指令寄存器IRIR (Instruction Register(Instruction Register):保存现行指令保存现行指令保存现行指令保存现行指令。vv指令中的指令中的指令中的指令中的操作码操作码操作码操作码经指令经指令经指令经指令译码器译码器译码器译码器译码后译码后译码后译码后向操作控制向操作控制向操作控制向操作控制器器器器发出发出发出发出具体具体具体具体操作操作操作操作的特定的特定的特定的特定信信信信号号号号;vv执行该指令过程中执行该指令过程中执行该指令过程中执行该指令过程中,指,指,指,指令寄存器的内容令寄存器的内容令寄存器的内容令寄存器的内容不允许发不允许发不允许发不允许发生变化生变化生变化生变化,以保证实现指令,以保证实现指令,以保证实现指令,以保证实现指令的全部功能;的全部功能;的全部功能;的全部功能;1111计算机组成原理计算机组成原理2024/7/165.1.3 5.1.3 CPUCPU中的主要寄存器中的主要寄存器3 3、程序、程序、程序、程序(指令指令指令指令)计数器计数器计数器计数器PC PC(Programming Counter)(Programming Counter)确定确定确定确定下条即将执行指令的下条即将执行指令的下条即将执行指令的下条即将执行指令的地址地址地址地址,具,具,具,具寄存器寄存器寄存器寄存器和和和和计数器计数器计数器计数器双重功能;双重功能;双重功能;双重功能;vv存放正在执行指令的地存放正在执行指令的地存放正在执行指令的地存放正在执行指令的地址或址或址或址或将要执行的下一条指将要执行的下一条指将要执行的下一条指将要执行的下一条指令的地址令的地址令的地址令的地址;vv顺序执行顺序执行顺序执行顺序执行时,每执行一时,每执行一时,每执行一时,每执行一条指令,条指令,条指令,条指令,PCPC值应加值应加值应加值应加1 1;vv要改变程序执行顺序时,要改变程序执行顺序时,要改变程序执行顺序时,要改变程序执行顺序时,一般由一般由一般由一般由转移类指令将转移转移类指令将转移转移类指令将转移转移类指令将转移目标地址送往目标地址送往目标地址送往目标地址送往PCPC ,可实现,可实现,可实现,可实现程序的转移;程序的转移;程序的转移;程序的转移;1212计算机组成原理计算机组成原理2024/7/165.1.3 5.1.3 CPUCPU中的主要寄存器中的主要寄存器4 4、数据数据数据数据地址寄存器地址寄存器地址寄存器地址寄存器ARAR(Address Register(Address Register):保存保存保存保存当前当前当前当前CPUCPU所访问的所访问的所访问的所访问的数数数数据据据据cachecache单元的地址,直单元的地址,直单元的地址,直单元的地址,直至读写操作结束;至读写操作结束;至读写操作结束;至读写操作结束;5 5、通用寄存器、通用寄存器、通用寄存器、通用寄存器(R0(R0Rn)Rn):目前机器目前机器目前机器目前机器多达多达多达多达6464个个个个,甚至甚至甚至甚至更多更多更多更多;为;为;为;为ALUALU执行各种运执行各种运执行各种运执行各种运算提供一个高速工作区;算提供一个高速工作区;算提供一个高速工作区;算提供一个高速工作区;6 6、状态字寄存器、状态字寄存器、状态字寄存器、状态字寄存器(PSW)(PSW)Program Status WordProgram Status Word :记录程序运行的各种状态:记录程序运行的各种状态:记录程序运行的各种状态:记录程序运行的各种状态:进位进位进位进位C C、溢出、溢出、溢出、溢出V V、结果为、结果为、结果为、结果为零零零零Z Z、结果为负、结果为负、结果为负、结果为负N N、中断、中断、中断、中断、系统工作状态系统工作状态系统工作状态系统工作状态等;等;等;等;1313计算机组成原理计算机组成原理2024/7/165.1.45.1.4、操作控制器和时序产生器、操作控制器和时序产生器vv(1)(1)数据通路:数据通路:数据通路:数据通路:寄存器之间传送数据信息的通路;寄存器之间传送数据信息的通路;寄存器之间传送数据信息的通路;寄存器之间传送数据信息的通路;vv(2)(2)操作控制器:操作控制器:操作控制器:操作控制器:在各寄存器之间建立数据通路;在各寄存器之间建立数据通路;在各寄存器之间建立数据通路;在各寄存器之间建立数据通路;根据指令操作码和时序信号,产生各种操作控制信号,以便正确根据指令操作码和时序信号,产生各种操作控制信号,以便正确根据指令操作码和时序信号,产生各种操作控制信号,以便正确根据指令操作码和时序信号,产生各种操作控制信号,以便正确的选择数据通路,把有关数据打入一个寄存器,从而完成取指令和执的选择数据通路,把有关数据打入一个寄存器,从而完成取指令和执的选择数据通路,把有关数据打入一个寄存器,从而完成取指令和执的选择数据通路,把有关数据打入一个寄存器,从而完成取指令和执行指令的控制。行指令的控制。行指令的控制。行指令的控制。根据设计方法不同,根据设计方法不同,根据设计方法不同,根据设计方法不同,操作控制器分为操作控制器分为操作控制器分为操作控制器分为:时序逻辑型时序逻辑型时序逻辑型时序逻辑型操作控制器操作控制器操作控制器操作控制器(硬布线控制器硬布线控制器硬布线控制器硬布线控制器):利用:利用:利用:利用时序逻辑时序逻辑时序逻辑时序逻辑技术实现;技术实现;技术实现;技术实现;存储逻辑型存储逻辑型存储逻辑型存储逻辑型操作控制器操作控制器操作控制器操作控制器(微程序控制器微程序控制器微程序控制器微程序控制器):利用:利用:利用:利用存储逻辑存储逻辑存储逻辑存储逻辑技术实现;技术实现;技术实现;技术实现;vv(3)(3)时序产生器:时序产生器:时序产生器:时序产生器:提供时序信号和定时控制;提供时序信号和定时控制;提供时序信号和定时控制;提供时序信号和定时控制;vv(4)(4)其他功能部件:其他功能部件:其他功能部件:其他功能部件:中断系统、总线接口等等;中断系统、总线接口等等;中断系统、总线接口等等;中断系统、总线接口等等;1414计算机组成原理计算机组成原理2024/7/16小小 结结vCPU是计算机系统的核心部分,具有是计算机系统的核心部分,具有指令控制、操作控制、指令控制、操作控制、时间控制和数据加工时间控制和数据加工等基本功能。等基本功能。vCPU主要包括主要包括运算器和控制器运算器和控制器两大部分。两大部分。vCPU中的寄存器结构影响用户程序及系统程序的运行,大中的寄存器结构影响用户程序及系统程序的运行,大致分为两类,致分为两类,一类是用户可见的寄存器一类是用户可见的寄存器,如,如通用寄存器、通用寄存器、状态字寄存器状态字寄存器PSW、程序计数器、程序计数器PC,另,另一类是用户不可一类是用户不可见的寄存器见的寄存器,对用户是透明的,用户不可以对这类寄存器,对用户是透明的,用户不可以对这类寄存器编程,如编程,如存储器地址寄存器存储器地址寄存器AR、存储器数据寄存器、存储器数据寄存器DR、指令寄存器指令寄存器IR。2024/7/165.2 5.2 指令周期指令周期 5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念指令周期的基本概念指令周期的基本概念 5.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.4 ADD5.2.4 ADD指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.5 STO5.2.5 STO指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期指令的指令周期指令的指令周期 5.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期用方框图语言表示指令周期用方框图语言表示指令周期1616计算机组成原理计算机组成原理2024/7/165.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 CPU CPU从存放程序的内存中循环取出指令并执行指令,使得计算机从存放程序的内存中循环取出指令并执行指令,使得计算机从存放程序的内存中循环取出指令并执行指令,使得计算机从存放程序的内存中循环取出指令并执行指令,使得计算机能自动工作。能自动工作。能自动工作。能自动工作。vv1 1、指令周期:、指令周期:、指令周期:、指令周期:指指指指取指令、分析指令到执行取指令、分析指令到执行取指令、分析指令到执行取指令、分析指令到执行完该指令所需的完该指令所需的完该指令所需的完该指令所需的全部时间全部时间全部时间全部时间;vv【说明说明说明说明】因各种因各种因各种因各种指令指令指令指令的操作的操作的操作的操作功能不同功能不同功能不同功能不同,故各指令的,故各指令的,故各指令的,故各指令的指令周期也不同指令周期也不同指令周期也不同指令周期也不同。1717计算机组成原理计算机组成原理2024/7/165.2.1 5.2.1 指令周期的基本概念指令周期的基本概念vv2 2、CPUCPU周期周期周期周期 (机器周期机器周期机器周期机器周期)定义:定义:定义:定义:从内存从内存从内存从内存中中中中读读读读取一个取一个取一个取一个指令字指令字指令字指令字所需所需所需所需的最短时间的最短时间的最短时间的最短时间。因此:因此:因此:因此:一条指令的一条指令的一条指令的一条指令的取指取指取指取指阶段阶段阶段阶段需要一个需要一个需要一个需要一个CPUCPU周期周期周期周期。一个指令周期中:一个指令周期中:一个指令周期中:一个指令周期中:一条指令耗时一个指令周期一条指令耗时一个指令周期一个指令周期包括一个取指令的一个指令周期包括一个取指令的CPU周期和一个或一个以上的执周期和一个或一个以上的执行指令的行指令的CPU周期周期vv注意:注意:注意:注意:不同的计算机不同的计算机不同的计算机不同的计算机对对对对CPUCPU周期的规定可能不相同;周期的规定可能不相同;周期的规定可能不相同;周期的规定可能不相同;1818计算机组成原理计算机组成原理2024/7/165.2.1 5.2.1 指令周期的基本概念指令周期的基本概念vv3 3、时钟周期、时钟周期、时钟周期、时钟周期:T T周期、节拍脉冲周期、节拍脉冲周期、节拍脉冲周期、节拍脉冲与与CPU主频成倒数,主频成倒数,处理操作的最基本单位处理操作的最基本单位;一般情况下,一般情况下,一般情况下,一般情况下,一个机器周期由若干个时钟周期组成一个机器周期由若干个时钟周期组成一个机器周期由若干个时钟周期组成一个机器周期由若干个时钟周期组成。vv注意:注意:注意:注意:在一个时钟周期内,在一个时钟周期内,在一个时钟周期内,在一个时钟周期内,CPUCPU仅完成一个仅完成一个仅完成一个仅完成一个最基本的动作最基本的动作最基本的动作最基本的动作。1919计算机组成原理计算机组成原理2024/7/165.2.1 5.2.1 指令周期的基本概念指令周期的基本概念vv4 4、时钟脉冲、时钟脉冲、时钟脉冲、时钟脉冲:脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉:脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉:脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉:脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。冲信号。冲信号。冲信号。脉冲信号之间的时间间隔称为时钟周期脉冲信号之间的时间间隔称为时钟周期脉冲信号之间的时间间隔称为时钟周期脉冲信号之间的时间间隔称为时钟周期;vv总结:总结:总结:总结:2 2个连续时钟脉冲间隔个连续时钟脉冲间隔个连续时钟脉冲间隔个连续时钟脉冲间隔一个时钟周期;一个时钟周期;一个时钟周期;一个时钟周期;若干个时钟周期若干个时钟周期若干个时钟周期若干个时钟周期一个机器周期;一个机器周期;一个机器周期;一个机器周期;若干个机器周期若干个机器周期若干个机器周期若干个机器周期一个指令周期;一个指令周期;一个指令周期;一个指令周期;2020计算机组成原理计算机组成原理2024/7/165.2.1 5.2.1 指令周期的基本概念指令周期的基本概念例题例题某某CPU的主频为的主频为8MHz,若已知每个机器周期平均含有,若已知每个机器周期平均含有4个时钟周个时钟周期,且该机的平均指令速度为期,且该机的平均指令速度为0.8MIPS,则该机的平均指令周期为,则该机的平均指令周期为_,每个指令周期平均含有,每个指令周期平均含有_个机器周期。个机器周期。解:解:v指令周期:指令周期:v时钟周期:时钟周期:v指令周期含有时钟周期个数:指令周期含有时钟周期个数:10v指令周期含有机器周期个数:指令周期含有机器周期个数:2.52121计算机组成原理计算机组成原理2024/7/165.2.1 5.2.1 指令周期的基本概念指令周期的基本概念2222计算机组成原理计算机组成原理2024/7/165.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期MOVMOV指令指令指令指令(RR)(RR):MOV R0MOV R0,R1R1执行:执行:执行:执行:(R1)(R1)R0R0取指周期取指周期取指周期取指周期=1=1个机器周期,个机器周期,个机器周期,个机器周期,CPUCPU完成如下操作:完成如下操作:完成如下操作:完成如下操作:vv(1)(1)从指令从指令从指令从指令cachecache中取出指令中取出指令中取出指令中取出指令vv(2)(2)程序计数器程序计数器程序计数器程序计数器PCPC加加加加1 1vv(3)(3)对操作码进行译码或测试对操作码进行译码或测试对操作码进行译码或测试对操作码进行译码或测试执行周期执行周期执行周期执行周期=1=1个机器周期,个机器周期,个机器周期,个机器周期,CPUCPU完成如下操作完成如下操作完成如下操作完成如下操作:vv(1)(1)选择源和目的寄存器;选择源和目的寄存器;选择源和目的寄存器;选择源和目的寄存器;vv(2)(2)从从从从R1R1中取数并存入中取数并存入中取数并存入中取数并存入DRDR;vv(3)DR(3)DR中数打入中数打入中数打入中数打入R0R0;2323计算机组成原理计算机组成原理2024/7/165.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期MOV MOV R0R0,R1,R1取指周期取指周期取指周期取指周期CPUCPUCPUCPU动作动作动作动作(1)(1)(1)(1)PCPCPCPC装入装入装入装入MOV MOV MOV MOV R R R R0 0 0 0,R,R,R,R1 1 1 1指令地址指令地址指令地址指令地址101101101101;(2)(2)(2)(2)PCPCPCPC内容内容内容内容被被被被放到放到放到放到指令地址总线指令地址总线指令地址总线指令地址总线ABUS(I)ABUS(I)ABUS(I)ABUS(I)上,对指存进行上,对指存进行上,对指存进行上,对指存进行地址地址地址地址译码译码译码译码,并,并,并,并启动读命令启动读命令启动读命令启动读命令;(3)(3)(3)(3)从从从从101101101101单元单元单元单元读出指令读出指令读出指令读出指令并通过指并通过指并通过指并通过指令总线令总线令总线令总线IBUSIBUSIBUSIBUS转转转转入指令寄存器入指令寄存器入指令寄存器入指令寄存器IRIRIRIR;(4)(4)(4)(4)PC+1102PC+1102PC+1102PC+1102;(5)(5)(5)(5)指令寄存器指令寄存器指令寄存器指令寄存器IRIRIRIR中的中的中的中的操作码被操作码被操作码被操作码被译码译码译码译码;(6)CPU(6)CPU(6)CPU(6)CPU识别出识别出识别出识别出MOVMOVMOVMOV指令指令指令指令,取指结,取指结,取指结,取指结束;束;束;束;2424计算机组成原理计算机组成原理2024/7/165.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期MOV MOV R0R0,R1,R1执行周期执行周期执行周期执行周期CPUCPUCPUCPU动作:动作:动作:动作:(1)(1)(1)(1)操操操操作作作作控控控控制制制制器器器器OCOCOCOC送送送送出出出出控控控控制制制制信信信信号号号号到到到到通通通通用用用用寄寄寄寄存存存存器器器器,选选选选择择择择R R R R0 0 0 0为为为为目目目目的的的的寄寄寄寄存器存器存器存器,R R R R1 1 1 1为为为为源寄存器源寄存器源寄存器源寄存器;(2)OC(2)OC(2)OC(2)OC送送送送出出出出控控控控制制制制信信信信号号号号给给给给ALUALUALUALU指指指指定定定定它它它它作作作作传送操作;传送操作;传送操作;传送操作;(3)OC(3)OC(3)OC(3)OC送送送送出出出出控控控控制制制制信信信信号号号号,打打打打开开开开ALUALUALUALU输输输输出出出出三三三三态态态态门门门门,把把把把R R R R1 1 1 1中中中中的的的的数数数数据据据据送送送送到到到到数数数数据总线据总线据总线据总线DBUSDBUSDBUSDBUS上;上;上;上;注意注意注意注意:DBUSDBUSDBUSDBUS每时每刻只有一个数据每时每刻只有一个数据每时每刻只有一个数据每时每刻只有一个数据 (4)OC(4)OC(4)OC(4)OC送送送送出出出出控控控控制制制制信信信信号号号号,将将将将数数数数据据据据总总总总线线线线DBUSDBUSDBUSDBUS上上上上的的的的数数数数据据据据打打打打入入入入数数数数据据据据缓缓缓缓冲冲冲冲寄寄寄寄存器存器存器存器DRDRDRDR中中中中;(5)OC(5)OC(5)OC(5)OC送送送送出出出出控控控控制制制制信信信信号号号号,DRDRDRDR 中中中中数数数数据据据据打打打打入入入入目目目目的的的的寄寄寄寄存存存存器器器器R R R R0 0 0 0,R0R0R0R0由由由由00000000变变变变为为为为10101010,MOV RMOV RMOV RMOV R0 0 0 0,R,R,R,R1 1 1 1指令执行结束;指令执行结束;指令执行结束;指令执行结束;2525计算机组成原理计算机组成原理2024/7/165.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期LADLAD指令指令指令指令(RS)(RS):LAD LAD R1R1,6,6功能:功能:功能:功能:(100)(100)R1R1取指周期取指周期取指周期取指周期=1=1个机器周期,个机器周期,个机器周期,个机器周期,CPUCPU完完完完成如下操作:成如下操作:成如下操作:成如下操作:(1)(1)从指令从指令从指令从指令cachecache中取出指令;中取出指令;中取出指令;中取出指令;(2)(2)程序计数器程序计数器程序计数器程序计数器PCPC加加加加1 1;(3)(3)对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;执行周期执行周期执行周期执行周期=2=2个机器周期,个机器周期,个机器周期,个机器周期,CPUCPU完完完完成如下操作:成如下操作:成如下操作:成如下操作:(1)(1)访问数据存储器访问数据存储器访问数据存储器访问数据存储器6 6号单元;号单元;号单元;号单元;(2)(2)从数据存储器中取数并存入从数据存储器中取数并存入从数据存储器中取数并存入从数据存储器中取数并存入DRDR(3)DR(3)DR中数打入中数打入中数打入中数打入R1R1;由于执行周期要访存由于执行周期要访存由于执行周期要访存由于执行周期要访存1 1次,故比次,故比次,故比次,故比MOV MOV 指令多指令多指令多指令多1 1个机器周期;个机器周期;个机器周期;个机器周期;2626计算机组成原理计算机组成原理2024/7/165.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期LAD LAD R1R1,6,6取指周期取指周期取指周期取指周期CPUCPUCPUCPU动作动作动作动作(1)(1)(1)(1)PCPCPCPC内容内容内容内容102102102102被被被被放到放到放到放到指令地址指令地址指令地址指令地址总线总线总线总线ABUS(I)ABUS(I)ABUS(I)ABUS(I)上上上上,对指存进,对指存进,对指存进,对指存进行地址行地址行地址行地址译码译码译码译码,并,并,并,并启动读启动读启动读启动读命命命命令;令;令;令;(2)(2)(2)(2)从从从从102102102102单元单元单元单元读出指令读出指令读出指令读出指令LAD LAD LAD LAD R R R R1 1 1 1,6,6,6,6;并通过指令总线;并通过指令总线;并通过指令总线;并通过指令总线IBUSIBUSIBUSIBUS转入指令寄存器转入指令寄存器转入指令寄存器转入指令寄存器IRIRIRIR;(3)PC+1103(3)PC+1103(3)PC+1103(3)PC+1103;(4)(4)(4)(4)指令寄存器指令寄存器指令寄存器指令寄存器IRIRIRIR中的中的中的中的操作码操作码操作码操作码被指令译码器译码被指令译码器译码被指令译码器译码被指令译码器译码;(5)CPU(5)CPU(5)CPU(5)CPU识别出识别出识别出识别出LADLADLADLAD指令,取指指令,取指指令,取指指令,取指结束;结束;结束;结束;2727计算机组成原理计算机组成原理2024/7/165.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期LAD LAD R1R1,6,6执行周期执行周期执行周期执行周期CPUCPUCPUCPU动作如下动作如下动作如下动作如下(1)OC(1)OC(1)OC(1)OC送出控制信号,送出控制信号,送出控制信号,送出控制信号,打开打开打开打开IRIRIRIR输出输出输出输出三态门三态门三态门三态门,将指令中直接,将指令中直接,将指令中直接,将指令中直接地址码地址码地址码地址码6 6 6 6放到数据总线放到数据总线放到数据总线放到数据总线DBUSDBUSDBUSDBUS上上上上;(2)OC(2)OC(2)OC(2)OC送出控制信号,将送出控制信号,将送出控制信号,将送出控制信号,将地址码地址码地址码地址码6 6 6 6装装装装入地址寄存器入地址寄存器入地址寄存器入地址寄存器ARARARAR;(3)OC(3)OC(3)OC(3)OC发出发出发出发出读命令读命令读命令读命令,将数存,将数存,将数存,将数存6 6 6 6号单元号单元号单元号单元中的数读出中的数读出中的数读出中的数读出到数据总线到数据总线到数据总线到数据总线DBUSDBUSDBUSDBUS上上上上;(4)OC(4)OC(4)OC(4)OC发出命令,将发出命令,将发出命令,将发出命令,将DBUSDBUSDBUSDBUS上数据上数据上数据上数据装装装装入数据缓冲寄存器入数据缓冲寄存器入数据缓冲寄存器入数据缓冲寄存器DRDRDRDR;(5)OC(5)OC(5)OC(5)OC发出命令,将发出命令,将发出命令,将发出命令,将DRDRDRDR中数据中数据中数据中数据装入装入装入装入通用寄存器通用寄存器通用寄存器通用寄存器R R R R1 1 1 1,R1R1R1R1中的中的中的中的10101010被修被修被修被修改为改为改为改为100100100100,LAD RLAD RLAD RLAD R1 1 1 1,6,6,6,6指令执行结指令执行结指令执行结指令执行结束;束;束;束;注意:注意:注意:注意:数据总线数据总线数据总线数据总线DBUSDBUSDBUSDBUS分时进行地址分时进行地址分时进行地址分时进行地址传送和数据传送传送和数据传送传送和数据传送传送和数据传送,所以要所以要所以要所以要2 2 2 2个机个机个机个机器周期;器周期;器周期;器周期;2828计算机组成原理计算机组成原理2024/7/165.2.4 ADD5.2.4 ADD指令的指令周期指令的指令周期ADD ADD 指令指令指令指令(RR)(RR):ADD R1ADD R1,R2R2取指周期取指周期取指周期取指周期=1=1个机器周期;个机器周期;个机器周期;个机器周期;CPUCPU完成如下操作:完成如下操作:完成如下操作:完成如下操作:(1)(1)从指令从指令从指令从指令cachecache中取出指令;中取出指令;中取出指令;中取出指令;(2)(2)程序计数器程序计数器程序计数器程序计数器PCPC加加加加1 1;(3)(3)对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;执行周期执行周期执行周期执行周期=1=1个机器周期;个机器周期;个机器周期;个机器周期;CPUCPU完成如下操作:完成如下操作:完成如下操作:完成如下操作:(1)(1)选择源和目的寄存器;选择源和目的寄存器;选择源和目的寄存器;选择源和目的寄存器;(2)(2)指定指定指定指定ALUALU作加法操作;作加法操作;作加法操作;作加法操作;(3)(3)修改修改修改修改PSWPSW寄存器;寄存器;寄存器;寄存器;(4)DR(4)DR中结果打入中结果打入中结果打入中结果打入R2R2;2929计算机组成原理计算机组成原理2024/7/165.2.4 ADD5.2.4 ADD指令的指令周期指令的指令周期ADD R1,ADD R1,R2R2执行周期执行周期执行周期执行周期CPUCPUCPUCPU动作:动作:动作:动作:功能功能功能功能:(R1)+(R2)(R1)+(R2)(R1)+(R2)(R1)+(R2)R2R2R2R2(1)OC(1)OC(1)OC(1)OC发控制命令给通用寄存器,发控制命令给通用寄存器,发控制命令给通用寄存器,发控制命令给通用寄存器,选选选选R R R R1 1 1 1和和和和R R R R2 2 2 2作源和目的寄存器作源和目的寄存器作源和目的寄存器作源和目的寄存器;(2)OC(2)OC(2)OC(2)OC发控制命令给发控制命令给发控制命令给发控制命令给ALUALUALUALU,指定指定指定指定ALUALUALUALU作作作作R R R R1 1 1 1(100)(100)+R+R+R+R2 2 2 2(20)(20)操作操作操作操作;(3)OC(3)OC(3)OC(3)OC发控制命令,发控制命令,发控制命令,发控制命令,打开打开打开打开ALUALUALUALU输出输出输出输出三态门三态门三态门三态门将结果将结果将结果将结果120120120120送到送到送到送到DBUSDBUSDBUSDBUS;(4)OC(4)OC(4)OC(4)OC发控制命令,将发控制命令,将发控制命令,将发控制命令,将DBUSDBUSDBUSDBUS上数据上数据上数据上数据打入数据缓冲寄存器打入数据缓冲寄存器打入数据缓冲寄存器打入数据缓冲寄存器DRDRDRDR,并将,并将,并将,并将进位信号打入状态寄存器进位信号打入状态寄存器进位信号打入状态寄存器进位信号打入状态寄存器PSWPSWPSWPSW;(5)OC(5)OC(5)OC(5)OC发控制命令,将发控制命令,将发控制命令,将发控制命令,将DR(120)DR(120)DR(120)DR(120)装装装装入入入入R R R R2 2 2 2,R2R2R2R2原来内容原来内容原来内容原来内容20202020被冲掉,被冲掉,被冲掉,被冲掉,ADD RADD RADD RADD R2 2 2 2,R R R R1 1 1 1指令执行结束;指令执行结束;指令执行结束;指令执行结束;3030计算机组成原理计算机组成原理2024/7/165.2.5 STO5.2.5 STO指令的指令周期指令的指令周期STOSTO指令指令指令指令(RS):STO R2(RS):STO R2,(R3)(R3)功能功能功能功能:(R2)(R2)R3R3取指周期取指周期取指周期取指周期=1=1个机器周期;个机器周期;个机器周期;个机器周期;CPUCPU完成如下操作:完成如下操作:完成如下操作:完成如下操作:(1)(1)从指令从指令从指令从指令cachecache中取出指令;中取出指令;中取出指令;中取出指令;(2)(2)程序计数器程序计数器程序计数器程序计数器PCPC加加加加1 1;(3)(3)对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;执行周期执行周期执行周期执行周期=2=2个机器周期;个机器周期;个机器周期;个机器周期;CPUCPU完成如下操作:完成如下操作:完成如下操作:完成如下操作:(1)(1)访问通用寄存器访问通用寄存器访问通用寄存器访问通用寄存器R3R3,将其内容打,将其内容打,将其内容打,将其内容打入入入入ARAR;(2)(2)访问访问访问访问R2R2,将其内容送到数据总线,将其内容送到数据总线,将其内容送到数据总线,将其内容送到数据总线DBUSDBUS上;上;上;上;(3)DBUS(3)DBUS上数据写入数存;上数据写入数存;上数据写入数存;上数据写入数存;说明:由于执行周期中要访存说明:由于执行周期中要访存说明:由于执行周期中要访存说明:由于执行周期中要访存1 1次,次,次,次,所以比所以比所以比所以比MOV MOV 指令多指令多指令多指令多1 1个机器周期;个机器周期;个机器周期;个机器周期;3131计算机组成原理计算机组成原理2024/7/165.2.5 STO5.2.5 STO指令的指令周期指令的指令周期STO R2STO R2,(R3),(R3)执行周期执行周期执行周期执行周期CPUCPUCPUCPU动作:动作:动作:动作:(1)OC(1)OC(1)OC(1)OC发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,取取取取(R(R(R(R3 3 3 3)=30)=30)=30)=30作数存单元地址作数存单元地址作数存单元地址作数存单元地址;(2)OC(2)OC(2)OC(2)OC发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,打打打打开其输出三态门开其输出三态门开其输出三态门开其输出三态门(不经不经不经不经ALU)ALU)ALU)ALU)将将将将30303030放入放入放入放入DBUSDBUSDBUSDBUS上;上;上;上;(3)OC(3)OC(3)OC(3)OC发操作命令,将发操作命令,将发操作命令,将发操作命令,将30303030打入打入打入打入ARARARAR,并,并,并,并进行数存进行数存进行数存进行数存地址译码地址译码地址译码地址译码;(4)OC(4)OC(4)OC(4)OC发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,取取取取出出出出(R(R(R(R2 2 2 2)=120=120=120=120;(5)OC(5)OC(5)OC(5)OC发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,发操作命令到通用寄存器,打打打打开其输出三态门开其输出三态门开其输出三态门开其输出三态门(不经不经不经不经ALU)ALU)ALU)ALU)将将将将120120120120放入放入放入放入DBUSDBUSDBUSDBUS上;上;上;上;(6)OC(6)OC(6)OC(6)OC发操作命令,将发操作命令,将发操作命令,将发操作命令,将120120120120写入数存写入数存写入数存写入数存30303030号单元号单元号单元号单元,覆盖原来的,覆盖原来的,覆盖原来的,覆盖原来的40404040,STOSTOSTOSTO指令执行结束;指令执行结束;指令执行结束;指令执行结束;注意:注意:注意:注意:DBUSDBUSDBUSDBUS是单总线结构,先送地是单总线结构,先送地是单总线结构,先送地是单总线结构,先送地址,后送数据,须分时传送。址,后送数据,须分时传送。址,后送数据,须分时传送。址,后送数据,须分时传送。3232计算机组成原理计算机组成原理2024/7/165.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期无条件转移指令:无条件转移指令:无条件转移指令:无条件转移指令:JMP 101JMP 101取指周期取指周期取指周期取指周期=1=1个机器周期;个机器周期;个机器周期;个机器周期;CPUCPU完完完完成如下操作:成如下操作:成如下操作:成如下操作:(1)(1)从指令从指令从指令从指令cachecache中取出指令;中取出指令;中取出指令;中取出指令;(2)(2)程序计数器程序计数器程序计数器程序计数器PCPC加加加加1 1;(3)(3)对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;对操作码进行译码或测试;执行周期执行周期执行周期执行周期=1=1个机器周期;个机器周期;个机器周期;个机器周期;CPUCPU完完完完成如下操作:成如下操作:成如下操作:成如下操作:(1)(1)将将将将IRIR的地址码送入的地址码送入的地址码送入的地址码送入DBUSDBUS上;上;上;上;(2)(2)将将将将DBUSDBUS上的数据打入上的数据打入上的数据打入上的数据打入PCPC;3333计算机组成原理计算机组成原理2024/7/165.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期JMP 101JMP 101JMP 101JMP 101执行周期执行周期执行周期执行周期CPUCPUCPUCPU动作:动作:动作:动作:(1)OC(1)OC(1)OC(1)OC发操作控制命令,发操作控制命令,发操作控制命令,发操作控制命令,打开打开打开打开指令寄存器指令寄存器指令寄存器指令寄存器IRIRIRIR的输出三态的输出三态的输出三态的输出三态门门门门,将,将,将,将IRIRIRIR的地址码送到的地址码送到的地址码送到的地址码送到DBUSDBUSDBUSDBUS上;上;上;上;(2)OC(2)OC(2)OC(2)OC发操作控制命令,将发操作控制命令,将发操作控制命令,将发操作控制命令,将DBUSDBUSDBUSDBUS上的数据上的数据上的数据上的数据101101101101打入程打入程打入程打入程序计数器序计数器序计数器序计数器PCPCPCPC,覆盖其原有,覆盖其原有,覆盖其原有,覆盖其原有的的的的106106106106,JMPJMPJMPJMP指令执行结束;指令执行结束;指令执行结束;指令执行结束;3434计算机组成原理计算机组成原理2024/7/165.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期vv1 1、引入方框图语言表示指令周期的目的:、引入方框图语言表示指令周期的目的:、引入方框图语言表示指令周期的目的:、引入方框图语言表示指令周期的目的:计算机设计计算机设计计算机设计计算机设计vv2 2、具体实现方法:、具体实现方法:、具体实现方法:、具体实现方法:方框:方框:方框:方框:CPUCPU周期;周期;周期;周期;方框内容:方框内容:方框内容:方框内容:数据通路的操作或某种控制操作;数据通路的操作或某种控制操作;数据通路的操作或某种控制操作;数据通路的操作或某种控制操作;菱形符号:菱形符号:菱形符号:菱形符号:判别或测试判别或测试判别或测试判别或测试(不独占不独占不独占不独占CPUCPU周期,依附于紧接它的前一方周期,依附于紧接它的前一方周期,依附于紧接它的前一方周期,依附于紧接它的前一方框框框框);公操作符公操作符公操作符公操作符:公操作:指令执行完后公操作:指令执行完后公操作:指令执行完后公操作:指令执行完后CPUCPU执行的一些操作,主要是执行的一些操作,主要是执行的一些操作,主要是执行的一些操作,主要是对外围设备请求的处理,如中断处理等,若没有公操作则执行下对外围设备请求的处理,如中断处理等,若没有公操作则执行下对外围设备请求的处理,如中断处理等,若没有公操作则执行下对外围设备请求的处理,如中断处理等,若没有公操作则执行下一条指令;一条指令;一条指令;一条指令;3535计算机组成原理计算机组成原理2024/7/165.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期vv3 3、前述、前述、前述、前述5 5种指令可用方框图语言表示如下:种指令可用方框图语言表示如下:种指令可用方框图语言表示如下:种指令可用方框图语言表示如下:其中:其中:其中:其中:DBUSDBUS数据总线;数据总线;数据总线;数据总线;ABUS(D)ABUS(D)数存地址总线;数存地址总线;数存地址总线;数存地址总线;ABUS(I)ABUS(I)指存地址总线;指存地址总线;指存地址总线;指存地址总线;RD(D)RD(D)数存读命令;数存读命令;数存读命令;数存读命令;RD(I)RD(I)指存读命令;指存读命令;指存读命令;指存读命令;WE(D)WE(D)数存写命令;数存写命令;数存写命令;数存写命令;取值过程相同取值过程相同执行过程各异执行过程各异3636计算机组成原理计算机组成原理2024/7/165.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期 例例例例11 双总线结构机器的数据通路图:控制信号双总线结构机器的数据通路图:控制信号双总线结构机器的数据通路图:控制信号双总线结构机器的数据通路图:控制信号GG控制的门电路相当于两根总线控制的门电路相当于两根总线控制的门电路相当于两根总线控制的门电路相当于两根总线之间的桥;小圆圈表示控制信号下标之间的桥;小圆圈表示控制信号下标之间的桥;小圆圈表示控制信号下标之间的桥;小圆圈表示控制信号下标i i表示输入控制信号,下标表示输入控制信号,下标表示输入控制信号,下标表示输入控制信号,下标OO表示输出控制表示输出控制表示输出控制表示输出控制信号;没有标注的线为直通线,不受控制;信号;没有标注
展开阅读全文