版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第章第章 CPU CPU 的结构和功能的结构和功能8.1 CPU 8.1 CPU 的结构的结构8.3 8.3 指令流水指令流水8.2 8.2 指令周期指令周期8.4 8.4 中断系统中断系统 8.1 8.1 CPU CPU 的结构的结构 2 2、CPU CPU 结构框图结构框图 CPU CPU 与系统总线与系统总线寄存器寄存器ALUALU 中断中断 系统系统CUCUCPUCPU控制总线控制总线数据总线数据总线地址总线地址总线 CPU CPU 的内部结构的内部结构 算术和算术和布尔逻辑布尔逻辑取反取反移位移位状态标志状态标志内部内部 数据总线数据总线C CP PU U寄存器寄存器CUCU中断中断
2、系统系统ALUALU控制信号控制信号ALU数据缓冲寄存器状态字寄存器地址地址数据数据57061007661077304031地址地址OP码码地址码地址码101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107地址寄存器程序计数器时序发生器操作控制器指令译码器OP码地址码R0R1R2R3数存cache指存cacheAR数据地址总线指令地址总线控制信号OCPCIR指令寄存器C1C2C1C2C3Cn累加寄存累加寄存器器 指令寄存器指令寄存器程序计数器程序计数器状态寄存器状态寄存器CPUCPU数据寄存器数据寄存器地址寄存器
3、地址寄存器3、 CPU中的主要寄存器中的主要寄存器 4、 CPU操作控制器与时序产生器操作控制器与时序产生器 n操作控制器的功能操作控制器的功能:根据指令操作码和时序信号,产生各种根据指令操作码和时序信号,产生各种操作控制信号操作控制信号,以正确建立数据通路,完成取指令和执行,以正确建立数据通路,完成取指令和执行指令的控制。指令的控制。n根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为: (1) 硬布线控制器:硬布线控制器:采用组合逻辑技术来实现;采用组合逻辑技术来实现; (2) 微程序控制器:微程序控制器:采用存储逻辑来实现;采用存储逻辑来实现; (3) 门阵列控制器:
4、门阵列控制器:吸收前两种的设计思想来实现的。吸收前两种的设计思想来实现的。 本章重点介绍微程序控制器本章重点介绍微程序控制器.n时序产生器时序产生器:产生对控制信号进行时间上控制的定时信号产生对控制信号进行时间上控制的定时信号.一、指一、指令周期的基本概念令周期的基本概念 指令周期指令周期: : CPUCPU从内存取出一条指令并执行完这从内存取出一条指令并执行完这条指令的时间总和条指令的时间总和 CPU CPU周期周期: :又称又称机器周期机器周期(总线周期总线周期),),CPUCPU访问访问内存所花的时间较长,因此用内存所花的时间较长,因此用CPUCPU从内存读取一条指令从内存读取一条指令字
5、的所需的最短时间来定义字的所需的最短时间来定义 时钟周期时钟周期: : 通常称为通常称为节拍脉冲节拍脉冲或或T T周期周期。一个。一个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T 相互关系相互关系: 1 1个指令周期个指令周期 = = 若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期 = = 若干若干T T周期周期 取指时间执行指令时间取指时间执行指令时间8.2 8.2 指指 令令 周周 期期指令周期、机器周期、指令周期、机器周期、时钟周期的关系时钟周期的关系020020 CLACLA;累加器清;累加器清0 0021021 ADD 30ADD 30;(;(AC
6、AC)+ +(3030)ACAC022022 STA 40STA 40;(;(ACAC)(40)(40)023023 NOPNOP; 空操作空操作024024 JMP 21JMP 21; 21 21 PC PC 030 000 006030 000 006; ; 数据数据 040 040 存和数存和数; ; 数据数据5 5条典型指令构成的简单程序条典型指令构成的简单程序一个一个CPU周期周期一个一个CPU周期周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码执行指令执行指令取下条指取下条指令令PC+1CLA指令的指令周期指令的指令周期取出取出CLA
7、CLA指令指令算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+1000 0202021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器
8、地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021000 000执行执行CLACLA指令指令ADDADD指令的指令周期指令的指令周期 一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译
9、码译码送操作送操作数地址数地址取下条指取下条指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并执行取出并执行
10、ADDADD指令指令 STA STA指令的指令周期指令的指令周期 算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存指令寄存器器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 00600
11、0 006000 006取出并执行取出并执行STASTA指令指令NOPNOP指令和指令和JMPJMP指令的指令周期指令的指令周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 2
12、1000 024000 021000 006000 006000 025000 021取出并执行取出并执行JMPJMP指令指令每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指令周期指令周期无条件转移指令无条件转移指令加法指令加法指令乘法指令乘法指令取指周期取指周期执行周期执行周期指令周期指令周期具有间接寻址的指令周期具有间接寻址的指令周期带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期指令周期
13、流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否CPU CPU 工作周期的标志工作周期的标志CPU CPU 访存有四种性质访存有四种性质取取 指令指令 取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期 FEFE间址周期间址周期 INDIND执行周期执行周期 EXEX中断周期中断周期 INTINTFEDINDDINTDCLK1FE1IND1EX1INTEXD1. 1. 取指周期数据流取指周期数据流二、二、 指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地址总线
14、地址总线数据总线数据总线控制总线控制总线IR+1 PCMAR AB M DB MDR IR,PC+1 PC2. 2. 间址周期数据流间址周期数据流MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MDRAd(MDR) MAR AB M DB(EA) MDR形成地址形成地址Ad(MDR) 3. 3. 执行周期数据流执行周期数据流4 . 4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器SP MAR AB M,PC MDR DB M
15、,入口地址入口地址PC8.3 8.3 指指 令令 流流 水水一、如何提高机器速度一、如何提高机器速度1. 1. 提高访存速度提高访存速度2. 2. 提高提高 I/O I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片CacheCache多体并行多体并行I/O I/O 处理机处理机DMADMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统结构 ,开发系统的并行性,开发系统的并行性中断中断3. 3. 提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链 标准的冯标准的冯诺依曼体系结构是串行处理,即一个时诺依曼体系
16、结构是串行处理,即一个时刻只能进行一个操作。刻只能进行一个操作。 并行性的两种含义并行性的两种含义n同时性同时性:两个以上事件在:两个以上事件在同一时刻同一时刻发生。如多机发生。如多机系统中,同一时刻多个进程在运行。系统中,同一时刻多个进程在运行。 n并发性并发性:两个以上事件在:两个以上事件在同一间隔内同一间隔内发生。如并发生。如并发程序,某一时刻发程序,某一时刻CPUCPU中只有一个进程在运行,而中只有一个进程在运行,而在一个时间段内,多个进程同时运行。在一个时间段内,多个进程同时运行。 二、系统的并行性二、系统的并行性并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部
17、)(指令内部)过程级(程序、进程)过程级(程序、进程) 粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并行性的三种形式并行性的三种形式时间并行时间并行:即使用流水处理部件,:即使用流水处理部件,时间重叠时间重叠。 空间并行空间并行:设置:设置重复资源重复资源,同时工作。,同时工作。 主要体主要体现在多处理器系统和多计算机系统。现在多处理器系统和多计算机系统。时间并行空间并行时间并行空间并行:时间重叠和资源重复的:时间重叠和资源重复的综合应用。综合应用。 如奔腾如奔腾CPUCPU采用超标量流水技术,采用超标量流水技术,在一个机器周期中同时执行两条指令。在一个机器周期中同时执行两条指令。
18、 1.1.顺序执行方式顺序执行方式: :串行执行串行执行 取指令取指令 i 分析分析 i 执行执行 i 取指令取指令 i+1 分析分析 i+1 执行执行 i+1 t取指令取指令it分析分析it执行执行i假设假设1 1:取指令、分析指令和执行指令所需时间分取指令、分析指令和执行指令所需时间分别为别为t t取指令取指令、t t分析分析和和t t执行执行。结果结果1 1:执行执行n n条条指令所花的时间指令所花的时间niiiitttT1)(执行分析取指令三、指令流水原理三、指令流水原理假设假设2 2:取指令、分析指令和执行指令取指令、分析指令和执行指令3 3个阶个阶段所需时间相等,设为段所需时间相等
19、,设为t t 。结果结果2 2:顺序执行顺序执行n n条指令所需要的时间为:条指令所需要的时间为:T=3nt优点优点n控制简单,节省设备。控制简单,节省设备。主要缺点主要缺点n 处理机执行指令的速度慢处理机执行指令的速度慢n 功能部件的利用率很低功能部件的利用率很低 2. 2.重叠方式重叠方式假设:假设:如果指令执行的如果指令执行的3 3个阶段所需时间均为个阶段所需时间均为t t。结果:结果: 一次重叠方式执行一次重叠方式执行n n条指令所需要的时间为:条指令所需要的时间为:(1 1)一次重叠:一次重叠:第第i i条指令的执行阶段和第条指令的执行阶段和第i+1i+1条指条指令的取指令阶段同时进
20、行,执行过程如图所示。令的取指令阶段同时进行,执行过程如图所示。 一次重叠执行方式一次重叠执行方式 取指令i 分 析i 执 行i 取指令i+1 分 析i+1 执 行i+1 取指令i+2 分 析i+2 执 行i+2 时间tttt3t2t2tT=3t+(n-1)2t=(1+2n)t假设:假设:如果指令执行的如果指令执行的3 3个阶段所需时间均为个阶段所需时间均为t t。结果:结果: 二次重叠方式执行二次重叠方式执行n n条指令所需要的时间为:条指令所需要的时间为:(2 2)二次重叠:)二次重叠:指第指第i i条指令的执行阶段、第条指令的执行阶段、第i+1i+1条条指令的分析阶段和第指令的分析阶段和
21、第i+2i+2条指令的取指令阶段同时进条指令的取指令阶段同时进行。行。执执 行行i+2 取指令取指令i 分分 析析i 取指令取指令i+1取指令取指令i+2 执执 行行i 分分 析析i+1 分分 析析i+2 执执 行行i+1 ttt3tttT= 3t+(n-1)t =(2+n)t(3 3)指令执行阶段重叠执行,必须解决两个问题:)指令执行阶段重叠执行,必须解决两个问题: 必须有独立的必须有独立的取指令部件、指令分析部件和指令取指令部件、指令分析部件和指令执行执行部件。部件。 要解决访问主存冲突问题,通常有要解决访问主存冲突问题,通常有3 3种方法:种方法:u 主存分成两个独立编址的存储器:一个是
22、指主存分成两个独立编址的存储器:一个是指令存储器,专门存放指令;另一个是数据存储器,令存储器,专门存放指令;另一个是数据存储器,专门存放数据。专门存放数据。 u 主存采用低位交叉编址的并行存储器,在一个主存采用低位交叉编址的并行存储器,在一个存储周期中可以访问多个存储单元。存储周期中可以访问多个存储单元。 u 采用先行控制技术,这是解决访问冲突的根采用先行控制技术,这是解决访问冲突的根本方法本方法 先行控制技术先行控制技术 要解决二次重叠执行方式中存在的访问主存储器要解决二次重叠执行方式中存在的访问主存储器的冲突问题,方法有三种:的冲突问题,方法有三种:第一,把主存储器分成两个独立编址的存储器
23、,一第一,把主存储器分成两个独立编址的存储器,一个专门存放指令,称为指令存储器,另一个专门存放个专门存放指令,称为指令存储器,另一个专门存放操作数,称为数据存储器。两个存储器同时独立访问操作数,称为数据存储器。两个存储器同时独立访问,解决了取指令和读操作数的冲突。,解决了取指令和读操作数的冲突。第二,指令和数据仍然混合存放在同一个主存作储第二,指令和数据仍然混合存放在同一个主存作储器内,采用低位交叉存取方式。器内,采用低位交叉存取方式。第三,解决访问存储器冲突的根本办法是处理机结第三,解决访问存储器冲突的根本办法是处理机结构作较大的改变,采用先行控制技术。构作较大的改变,采用先行控制技术。 先
24、行控制的基本思想是使分析部件和执行部件能先行控制的基本思想是使分析部件和执行部件能分别连续不断地分析和执行指令,这种技术实际上分别连续不断地分析和执行指令,这种技术实际上是预处理技术和缓冲技术的结合,即通过对指令流是预处理技术和缓冲技术的结合,即通过对指令流和数据流的预处理和缓冲,能够尽量使指令分析器和数据流的预处理和缓冲,能够尽量使指令分析器和指令执行部件独立地工作,并始终处于忙碌状态。和指令执行部件独立地工作,并始终处于忙碌状态。这样,就能够使取指令、分析指令和执行指令重叠这样,就能够使取指令、分析指令和执行指令重叠起来执行。使指令分析器和执行部件能尽量地连续起来执行。使指令分析器和执行部
25、件能尽量地连续工作。而且,在采用了缓冲技术和预处理技术之后,工作。而且,在采用了缓冲技术和预处理技术之后,运算器能够专心干数据的运算、从而大幅度提高指运算器能够专心干数据的运算、从而大幅度提高指令的执行速度。在正常情况下,处理机中同时有三令的执行速度。在正常情况下,处理机中同时有三条指令在执行。条指令在执行。 先行控制技术最早在先行控制技术最早在IBMIBM公司研制的机器中采用公司研制的机器中采用。目前,先行控制技术是现代计算机系统中被普遍。目前,先行控制技术是现代计算机系统中被普遍采用的一项重要技术,许多处理机中都已经采用了采用的一项重要技术,许多处理机中都已经采用了这种技术,包括超流水线处
26、理机和超标量处理机等这种技术,包括超流水线处理机和超标量处理机等。3、指令的六级流水、指令的六级流水六级流水六级流水1414 个时间单位个时间单位串行执行串行执行6 6 9 9 5454个时间单位个时间单位完成完成 一条指令一条指令6 6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4
27、 5 6 7 8 9 10 11 12 13 14t取指、译码、计算操作数地址、取指、译码、计算操作数地址、取数、执行,写回取数、执行,写回ALUALU取取/ /存存转移转移IFIF取指取指取指取指取指取指IDID译码,译码,读寄存器堆读寄存器堆译码,译码,读寄存器堆读寄存器堆译码,译码,读寄存器堆读寄存器堆EXEX执行执行计算访存有效计算访存有效地址地址计算转移目标地计算转移目标地址,设置条件码址,设置条件码MEMMEM访存访存( (读或写读或写) )若条件成立,转若条件成立,转移目标地址送移目标地址送PCPCWBWB结果写回寄结果写回寄存器堆存器堆将读出的数据将读出的数据写入寄存器堆写入寄
28、存器堆指令指令流水段流水段不同类型指令中各流水段所进行的操作不同类型指令中各流水段所进行的操作四四. . 影响流水线性能的因素影响流水线性能的因素1. 1. 结构相结构相关关 结构相结构相关关是是当指令在重叠执行过程中,硬件资源当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时将满足不了指令重叠执行的要求,发生资源冲突时将产生产生“结构相关结构相关”。例:假定一条指令流水线由五段组成,且仅有例:假定一条指令流水线由五段组成,且仅有IF过程和过程和MEM过程需要访问存储器过程需要访问存储器 I1与与I4两条指令在时钟两条指令在时钟4争用存储器资源的相关冲突争用存储器资源的
29、相关冲突表表8.3 8.3 解决访存冲突的一种方案解决访存冲突的一种方案 当指令在流水线中重叠执行时,流水线有可能当指令在流水线中重叠执行时,流水线有可能改变指令读改变指令读/ /写操作数的顺序,使之不同于它们写操作数的顺序,使之不同于它们在非流水实现时的顺序,这将导致数据相关。在非流水实现时的顺序,这将导致数据相关。 ADDADDR1R1, R2R2,R3R3SUBSUBR4R4, R1R1,R5R52 2、 数据相关数据相关先写后读错误先写后读错误数据相关的分类数据相关的分类两条指令两条指令 i i 和和 j j,都会访问同一寄存器,都会访问同一寄存器R R,假设假设i i 先进入流水线,
30、则它们对先进入流水线,则它们对R R有四种不有四种不同的访问顺序:同的访问顺序:(1)(1) 写后读写后读( ( RAW RAW ) ) i i 写写j j 读读u如果如果j j 在在i i 完成写之前从完成写之前从R R 中读出数据,中读出数据,将得到错误的结果!将得到错误的结果!u最常见的数据相关,严重制约了最常见的数据相关,严重制约了CPUCPU的性的性能,是程序最重要的特征之一!能,是程序最重要的特征之一!(2) (2) 读后写读后写( (WAR WAR ) ) i i 读读j j 写写u如果如果j j 先将数据写入先将数据写入R R,i i 将读出错误的将读出错误的结果!结果!u当有
31、些指令在流水段后半部分读源操作数,当有些指令在流水段后半部分读源操作数,另一些指令在流水线前半部分写结果,可另一些指令在流水线前半部分写结果,可能引起这种类型的相关。能引起这种类型的相关。 (3) (3) 写后写写后写( ( WAW WAW ) ) i i 写写j j 写写 如果如果j j 在在i i 之前完成写操作,之前完成写操作,R R中将保中将保存错误的结果!存错误的结果! (4) (4) 读后读读后读( (RAR RAR ) ) i i 读读j j 读读 不引起数据相关!不引起数据相关! ADD R1, R2,R3SUBR4, R1,R5AND R6, R1,R7ORR8, R1,R9
32、XORR10,R1,R11解决方法解决方法1 1: 后推法:后推法:即遇到数据相关时,就停顿后继指令即遇到数据相关时,就停顿后继指令的执行,直至前面指令的结果已经形成。的执行,直至前面指令的结果已经形成。未对数据相关进行特殊处理的流水线未对数据相关进行特殊处理的流水线对数据相关进行特殊处理的流水线对数据相关进行特殊处理的流水线解决方法解决方法2 2:通过通过定向技术定向技术减少数据相关带来的暂停减少数据相关带来的暂停定向,定向,也称为也称为旁路旁路(bypassing)(bypassing)主要思路:将计算结果从其产生的地方主要思路:将计算结果从其产生的地方直接直接送到真正需要它的地方送到真正
33、需要它的地方,就可以避免暂停。,就可以避免暂停。- 寄存器文件寄存器文件EX/MEMEX/MEM中的中的ALUALU运算结果总是运算结果总是回送到回送到ALUALU的输入寄存器的输入寄存器- 从定向通路得到输入数据的从定向通路得到输入数据的ALUALU操作不必操作不必从源寄存器中读取操作数从源寄存器中读取操作数3. 3. 控制相关控制相关控制相关控制相关冲突由冲突由转移指令(分支指令)转移指令(分支指令)引起引起执行转移指令时,依据转移条件的产生结果执行转移指令时,依据转移条件的产生结果可能为顺序取下条指令可能为顺序取下条指令也可能转移到新的目标地址取指令也可能转移到新的目标地址取指令地址不定
34、,流水线需要暂停、地址不定,流水线需要暂停、发生断流发生断流转移指令转移指令主要有:主要有:无条件转移指令,过无条件转移指令,过程调用和返回程调用和返回,条,条件分支指令件分支指令 由程序执行转移类指令而引起的相关。影响范围比由程序执行转移类指令而引起的相关。影响范围比较大,会引起程序执行方向的改变。在流水线中,较大,会引起程序执行方向的改变。在流水线中,对流水线的吞吐率和效率的影响很大。对流水线的吞吐率和效率的影响很大。 无条件转移无条件转移 1. 1. 转移指令在流水线处理机中的处理转移指令在流水线处理机中的处理k : k +1: JMP L L : 分分析析 k k执执行行 k k分分析
35、析 k k+ +1 1指指令令 L L 不不在在先先行行指指令令缓缓冲冲栈栈中中:取取指指令令 L L分分析析 L L执执行行 L L指指令令 L L 在在先先行行指指令令缓缓冲冲栈栈中中:分分析析 L L执执行行 L L分分析析 L L+ +1 1执执行行 L L+ +1 1无无条条件件转转移移指指令令的的执执行行时时序序 条件转移条件转移条件转移指令有两种:条件转移指令有两种:一般条件转移指令一般条件转移指令和和复合条件转复合条件转移指令移指令。 一般条件转移指令一般条件转移指令的转移条件来自上一条指令,或更前面的指令。的转移条件来自上一条指令,或更前面的指令。 k : ;置条件码置条件码
36、CCCCk +1:JMP(CC) L ;如果如果CCCC为真转向为真转向L L,否则继续执行,否则继续执行k+2k+2k +2: L : 分分析析k k 执执行行k k 转转移移不不成成功功 分分析析k k+ +1 1 分分析析k k+ +2 2 执执行行K K+ +2 2 成成功功, ,L L在在缓缓冲冲栈栈 分分析析k k+ +1 1 分分析析L L 执执行行L L 成成 功功 , ,L L不不 在在 缓缓 冲冲 栈栈 分分析析k k+ +1 1 取取指指令令L L 分分析析L L 执执行行L L 产产生生转转移移条条件件CC 根根据据转转移移条条件件CC判判断断转转移移是是否否成成功功
37、复合型条件转移指令复合型条件转移指令直接根据本条指令的执行结果决定是直接根据本条指令的执行结果决定是否转移。否转移。 复合型条件转移指令的执行时间关系下:复合型条件转移指令的执行时间关系下: k: OP L ;根据执行结果产生的条件码决定是否转向根据执行结果产生的条件码决定是否转向L Lk+1: : L: 执执行行k k 转转移移不不成成功功 分分析析k k+ +1 1 执执行行k k+ +1 1 分分析析k k 执执行行k k 成成功功,L L在在先先行行指指令令缓缓冲冲栈栈中中 分分析析L L 执执行行L L 分分 析析k k 执执 行行k k 成成 功功 , L L不不 在在 先先 行行
38、 指指 令令 缓缓 冲冲 栈栈 中中 取取 指指 令令L L 分分 析析L L 执执 行行L L BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DMWOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令15指令指令16 1 2 3 4
39、5 6 7 8 9 10 11 12 13 14转移损失转移损失t设设 指令指令3 是转移指令是转移指令1.1.早判别转移是否发生早判别转移是否发生2.2.预取转移成功或不成功的目标指令预取转移成功或不成功的目标指令3.3.加快和提前形成条件码加快和提前形成条件码4.4.猜测法猜测法1. 1. 吞吐率(吞吐率(TPTP) 指在单位时间内流水线完成的任务数或输出的结指在单位时间内流水线完成的任务数或输出的结果数。果数。 knTPT其中:其中:n n表示任务数表示任务数 T Tk k表示完成表示完成n n个任务所用的时间个任务所用的时间 五、流水线性能五、流水线性能 假设各段时间均相等的流水线假设
40、各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线时空图时空图 S1 S2 S3 S4tttt S1 S2 S3 S4 空空间间 1 1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n 时间4t(n-1)t完成n个任务n个任务所需要的时间 S1 S2 S3 S4 空空 间间 时时 间间 1 ( 单单 位位 : t) 1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n k t (n-1) t Tk 流水线完成流水线完成n n个连续任务所需要的总时间为个连续任务所需要的总时间为(假设一条(假设一条k k
41、段段线性流水线)线性流水线)T Tk kk kt t( (n n-1)-1)t t( (k kn n-1)-1)t t 流水线的流水线的实际吞吐率实际吞吐率最大吞吐率最大吞吐率TP =n(k+n-1)tTPmax=n(k+n-1)tlimn=1t最大吞吐率与实际吞吐率的关系最大吞吐率与实际吞吐率的关系max1TPnknTP流水线的实际吞吐率小于最大吞吐率,流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流它除了与每个段的时间有关外,还与流水线的段数水线的段数k k以及输入到流水线中的任务以及输入到流水线中的任务数数n n等有关。等有关。只有当只有当n nk k时,才有时,才有
42、TPTPTPTPmaxmax。 2. 2. 加速比加速比 指流水线加速比是指完成一批任务时,不采用流指流水线加速比是指完成一批任务时,不采用流水线所用的时间与采用流水线所用的时间之比水线所用的时间与采用流水线所用的时间之比 其中:其中:用用T0T0表示采用顺序方式下的执行时间;表示采用顺序方式下的执行时间;用用TkTk表示采用流水线的执行时间;表示采用流水线的执行时间;用用S S表示流水线的加速比表示流水线的加速比 kTTS0各个功能段执行时间均相等的各个功能段执行时间均相等的k k段流水线上段流水线上完成完成n n个连续任务的实际加速比为个连续任务的实际加速比为 :1) 1(nkkntnkt
43、knS在在k k个功能段相等的流水线中,最大加速比为:个功能段相等的流水线中,最大加速比为: knkknSn1limmax在流水线的各功能段执行时间相等在流水线的各功能段执行时间相等连续输入连续输入n n个任务的情况下,个任务的情况下,一条一条k k段流水线的效段流水线的效率为:率为:(1)1kn tnEk kntkn流水线的最高效率为:流水线的最高效率为: 11limmaxnknEn3.3.效率效率 指流水线中各功能段的利用率。指流水线中各功能段的利用率。即:即:在时空图上,流水线的效率为在时空图上,流水线的效率为n n个任务占用个任务占用的时空区与的时空区与k k个功能段总的时空区之比。个
44、功能段总的时空区之比。 S1 S2 S3 S4 空间空间 时间时间 1 (单位:单位:t) 1 1 1 2 2 2 2 3 3 3 3 n-1 n-1 n-1 n-1 n n n n kt (n-1)t Tk 例例8.1 8.1 假设指令流水线分取指假设指令流水线分取指(IF)(IF)、译码、译码(ID)(ID)、执行执行(EX)(EX)、回写、回写(WR)(WR)四个阶段,共有四个阶段,共有1010条指令连条指令连续输入此流水线。续输入此流水线。1 1)画出指令周期流程。)画出指令周期流程。IF-ID-EX-WRIF-ID-EX-WR2 2)画出非流水线时空图。)画出非流水线时空图。1212
45、1212T时间时间S空间空间空间空间WREXIDIF1 2 3 4 5 6 7 8I1I23 3)画出流水线时空图。)画出流水线时空图。4 4)假设时钟周期为)假设时钟周期为100ns,100ns,求流水线的实际吞吐率。求流水线的实际吞吐率。10/(100ns10/(100ns13) 0.7713) 0.7710107 7 条指令条指令/s/s5 5)求该流水线的加速比。)求该流水线的加速比。4 410/13 10/13 3.083.08S空间空间1 2 3 4 5 6 7 8 9 10 11 12 1331245312453124531245 9 10 9 10 9 10 9 10T时间时间
46、空间空间WREXIDIFI10I9I8I7I6I5I4I3I2I1六、流水线的多发技术六、流水线的多发技术 1. 1. 超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来IF ID IF ID EX EX WRWR0 1 2 3 0 1 2 3 4 5 4 5 6 7 8 6 7 8 9 10 11 12 139 10 11 12 13时钟时钟周期周期指令序列指令序列2. 2. 超流水线
47、技术超流水线技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次(3 3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列3. 3. 超长指令字技术超长指令字技术 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位
48、)(可达几百位) 由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性,并行性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列七、流水线结构七、流水线结构1. 1. 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 7 段段, 每段需一个时钟周期每段需一个时钟周期若若 流水线不出现断流流水线不出现断流1 1 个时钟周期出个时钟周期出 1 1 结果结果不采用流水技术不采用流水技术7 7 个时钟周期出个时钟周期出 1 1 结
49、果结果理想情况下,理想情况下,7 7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 7 倍倍地址形成部件地址形成部件指令译码部件指令译码部件取操作数部件取操作数部件取指令部件取指令部件操作执行部件操作执行部件回写结果部件回写结果部件修改指令指针部件修改指令指针部件锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存2. 2. 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶、尾数求和、规格化对阶、尾数求和、规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致锁存器锁存器对阶功能部件对阶功能部件第一段第一段尾数加部件尾数加部件锁
50、存器锁存器第二段第二段规格化部件规格化部件锁存器锁存器第三段第三段8.4 8.4 中断系统中断系统一、概述一、概述1. 1. 引起中断的各种因素引起中断的各种因素(1) (1) 人为设置的中断人为设置的中断(2) (2) 程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) (5) 外部事件外部事件(4) I/O (4) I/O 设备设备(3) (3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序2. 2. 中断系统需解决的问题中断系统需解决的问题(1) (1) 各中断源各中断源 如何如何 向向
51、 CPU CPU 提出请求提出请求 ?(2) (2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) (5) 如何如何 寻找入口地址寻找入口地址 ?(4) (4) 如何如何 保护现场保护现场 ?(3) CPU (3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么、以什么 方式方式 响应中断响应中断 ?(6) (6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) (7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1. 1. 中断请求
52、标记中断请求标记 INTRINTR一个请求源一个请求源 一个一个 INTRINTR 中断请求标记触发器中断请求标记触发器多个多个INTRINTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR INTR 集中集中 在在 CPU CPU 的中断系统的中断系统 内内12345n掉电掉电过热过热阶上溢阶上溢主存读写校验错主存读写校验错非法除法非法除法键盘输入键盘输入打印机输出打印机输出磁磁盘盘磁磁带带CRT显示显示键键盘盘输输入入打印打印输出输出电电源源故故障障纸纸带带输输入入保保留留INTR(a)菊花链排队电路
53、菊花链排队电路中断请求中断请求CPUINTR接口接口设备设备3接口接口设备设备2接口接口设备设备1菊花链菊花链逻辑逻辑菊花链菊花链逻辑逻辑菊花链菊花链逻辑逻辑中断响应信号中断响应信号集电极开路门集电极开路门+5VINTA2. 2. 中断判优逻辑中断判优逻辑(1) (1) 硬件实现(排队器)硬件实现(排队器)(b) (b) 菊花链逻辑菊花链逻辑中断中断请求请求信号信号(高电平有效高电平有效)中断响应信号中断响应信号(低电平有效)(低电平有效)INTAINTR(2) (2) 软件实现(程序查询)软件实现(程序查询)保护现场保护现场恢复现场恢复现场A申请服务?申请服务?B申请服务?申请服务?C申请服
54、务?申请服务?外设外设A中断服务程序中断服务程序NNN外设外设B中断服务程序中断服务程序外设外设C中断服务程序中断服务程序YYY三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找1. 1. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量中断向量排队器输出排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 4002. 2. 软件查询法软件查询法 M JMP 1#
55、 SR1# D = 1 转转1# 服务程序服务程序 SKP DZ 2# JMP 2# SR2# D = 0 跳跳2# D = 1 转转2# 服务程序服务程序 SKP DZ 8# JMP 8# SR8# D = 0 跳跳8# D = 1 转转8# 服务程序服务程序八个中断源八个中断源 1 1,2 2, 8 8 按按 降序降序 排列排列 SKP DZ 1#1# D = 0 跳跳(D为完成触发器)为完成触发器)中断识别程序中断识别程序(入口地址(入口地址 M M)地地 址址说说 明明指指 令令四、中断响应四、中断响应1. 1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT =
56、 1EINT = 12. 2. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU CPU 发查询信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源中断源 n至排队器至排队器3. 3. 中断隐指令中断隐指令(1) (1) 保护程序断点保护程序断点(2) (2) 寻找服务程序入口地址寻找服务程序入口地址(3) (3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器断点存于断点存于 特定地址特定地址( 0 0 号地址)号地址) 内内
57、断点断点 进栈进栈INT INT 中断标记中断标记EINT EINT 允许中断允许中断R R S S 触发器触发器向量地址向量地址PCPC(硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址M MPCPC(软件查询法)(软件查询法)五、保护现场和恢复现场五、保护现场和恢复现场1. 1. 保护现场保护现场2. 2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其它服务程序其它服务程序恢复现场恢复现场中断返回中断返回PUSHPUSH视不同请求源而定视不同请求源而定POPPOP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成
58、中断服务程序中断服务程序 完成完成IRETIRET1. 1. 多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k k+1 , +1 , l l+1 , +1 , m m+1+1六、中断屏蔽技术六、中断屏蔽技术中断否?中断否?保护现场保护现场设备服务设备服务恢复现场恢复现场 开中断开中断中断返回中断返回取指令取指令执行指令执行指令中断服务程序中断服务程序 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断 向量地址向量地址 PC中断周期中断周期是是中断返回中断返回保护现场保护现场设备服务设备服务恢
59、复现场恢复现场开中断开中断开中断开中断开中断开中断中断隐指令中断隐指令中断隐指令中断隐指令否否取指令取指令执行指令执行指令中断否?中断否?否否 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断向量地址向量地址 PC中断周期中断周期是是中断服务程序中断服务程序单重单重 多重多重 单重中断和多重中断的服务程序流程单重中断和多重中断的服务程序流程2. 2. 实现多重中断的条件实现多重中断的条件B、CA中断中断请求请求主程序主程序(2) (2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) (1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按 降序降序 排列)排列)D &3. 3. 屏蔽技术屏蔽技术(1) (1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)(未屏蔽)INTR 能被置能被置 “1” & & & & 1 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉利补贴购车合同范例
- 不养宠物租赁合同范例
- 夜宵老店转让合同范例
- 南京市人事合同模板
- 向法人借款合同范例
- 垫资过桥资金合同范例
- 井巷工程施工合同范例
- 外卖员聘用合同范例
- 外承包安全合同范例
- 东坑饭堂食材配送合同范例
- 02J331地沟及盖板图集
- 2019年西藏开发投资集团有限公司招聘试题及答案解析
- HAY岗位管理体系构建
- 2023年中级经济师考试真题及答案
- SB/T 10895-2012鲜蛋包装与标识
- GB/T 9115-2010对焊钢制管法兰
- GB/T 2423.3-2006电工电子产品环境试验第2部分:试验方法试验Cab:恒定湿热试验
- GB/T 23221-2008烤烟栽培技术规程
- GB/T 16900-2008图形符号表示规则总则
- 城市绿地系统规划 第9章 工业绿地规划
- 辽宁省辽南协作校2022-2023学年高二上学期期末考试语文答案 Word版含解析
评论
0/150
提交评论