《第八章 CPU 的结构和[详版课资]》由会员分享,可在线阅读,更多相关《第八章 CPU 的结构和[详版课资](98页珍藏版)》请在金锄头文库上搜索。
1、第章第章 CPU CPU 的结构和功能的结构和功能8.1 CPU 8.1 CPU 的结构的结构8.3 8.3 指令流水指令流水8.2 8.2 指令周期指令周期8.4 8.4 中断系统中断系统1课堂优质 CPUCPU是是是是利利利利用用用用大大大大规规规规模模模模集集集集成成成成电电电电路路路路技技技技术术术术,把把把把运运运运算算算算器器器器和和和和控控控控制制制制器器器器集集集集成成成成在在在在一一一一片片片片芯芯芯芯片片片片上上上上,是是是是微微微微型型型型计计计计算算算算机机机机中中中中的的的的运运运运算算算算控控控控制制制制部部部部件件件件,它它它它本本本本身身身身不不不不具具具具备备
2、备备微微微微型型型型计计计计算算算算机机机机硬硬硬硬件件件件的的的的全全全全部部部部功功功功能能能能,即即即即其其其其本本本本身身身身不不不不构构构构成成成成独独独独立立立立工工工工作作作作系系系系统统统统,因因因因此此此此它它它它不不不不能能能能独独独独立立立立地地地地执执执执行行行行程程程程序序序序。CPUCPU其其其其主主主主要要要要任任任任务务务务是是是是执执执执行行行行指指指指令令令令序序序序列列列列,对对对对系系系系统统统统的的的的各各各各个个个个部部部部件件件件进进进进行行行行统统统统一一一一的的的的协协协协调调调调和和和和控控控控制制制制。通通通通常常常常由由由由算算算算术术术
3、术逻逻逻逻辑辑辑辑部部部部件件件件(ALUALU)、控控控控制制制制部部部部件件件件、寄寄寄寄存存存存器器器器组组组组等等等等几几几几部分组成。部分组成。部分组成。部分组成。 8.1 CPU 8.1 CPU 的结构的结构2课堂优质 CPUCPU是计算机的核心组成部分,装入内存的程序在是计算机的核心组成部分,装入内存的程序在是计算机的核心组成部分,装入内存的程序在是计算机的核心组成部分,装入内存的程序在CPUCPU的控制下,完成取出指令、分析指令和执行指令的控制下,完成取出指令、分析指令和执行指令的控制下,完成取出指令、分析指令和执行指令的控制下,完成取出指令、分析指令和执行指令的任务。的任务。
4、的任务。的任务。CPUCPU的基本功能的基本功能的基本功能的基本功能: n n指令控制:指令控制:指令控制:指令控制:程序的顺序控制,保证机器按顺序执行程程序的顺序控制,保证机器按顺序执行程程序的顺序控制,保证机器按顺序执行程程序的顺序控制,保证机器按顺序执行程序,(如何保证:序,(如何保证:序,(如何保证:序,(如何保证:CPUCPU内部设置了程序计数器等部分)内部设置了程序计数器等部分)内部设置了程序计数器等部分)内部设置了程序计数器等部分) n n操作控制:操作控制:操作控制:操作控制:管理并产生完成指令执行操作所需的控制管理并产生完成指令执行操作所需的控制管理并产生完成指令执行操作所需
5、的控制管理并产生完成指令执行操作所需的控制信号,把这些信号送往相应的部件,控制这些部件按信号,把这些信号送往相应的部件,控制这些部件按信号,把这些信号送往相应的部件,控制这些部件按信号,把这些信号送往相应的部件,控制这些部件按指令的要求进行动作。指令的要求进行动作。指令的要求进行动作。指令的要求进行动作。 n n时间控制:时间控制:时间控制:时间控制:对各种操作实施时间上的定时,保证计算对各种操作实施时间上的定时,保证计算对各种操作实施时间上的定时,保证计算对各种操作实施时间上的定时,保证计算机有条不紊地自动工作。机有条不紊地自动工作。机有条不紊地自动工作。机有条不紊地自动工作。n n数据加工
6、:数据加工:数据加工:数据加工:对数据进行算术运算和逻辑运算处理。对数据进行算术运算和逻辑运算处理。对数据进行算术运算和逻辑运算处理。对数据进行算术运算和逻辑运算处理。1、CPU 的功能的功能3课堂优质2 2、CPU CPU 结构框图结构框图 CPU CPU 与系统总线与系统总线寄存器寄存器ALUALU 中断中断 系统系统CUCUCPUCPU控控制制总总线线数数据据总总线线地地址址总总线线4课堂优质 CPU CPU 的内部结构的内部结构 算术和算术和布尔逻辑布尔逻辑取反取反移位移位状态标志状态标志内内部部 数数据据总总线线C CP PU U寄存器寄存器CUCU中断中断系统系统ALUALU控制信
7、号控制信号5课堂优质累加寄存累加寄存器器 指令寄存器指令寄存器程序计数器程序计数器状态寄存器状态寄存器CPU数据寄存器数据寄存器地址寄存器地址寄存器3、 CPU中的主要寄存器中的主要寄存器 7课堂优质n n指令寄存器(指令寄存器(指令寄存器(指令寄存器(IRIR):):):):保存正在执行的指令保存正在执行的指令保存正在执行的指令保存正在执行的指令n n程序计数器(程序计数器(程序计数器(程序计数器(PCPC):):):):存放要执行的指令的地址存放要执行的指令的地址存放要执行的指令的地址存放要执行的指令的地址n n地址寄存器(地址寄存器(地址寄存器(地址寄存器(ARAR):):):):保存当
8、前所要访问的内存单元的地保存当前所要访问的内存单元的地保存当前所要访问的内存单元的地保存当前所要访问的内存单元的地址址址址n n数据缓冲寄存器(数据缓冲寄存器(数据缓冲寄存器(数据缓冲寄存器(DRDR):):):):n n作为作为作为作为CPUCPU和内存、外围设备之间信息传送的中转站;和内存、外围设备之间信息传送的中转站;和内存、外围设备之间信息传送的中转站;和内存、外围设备之间信息传送的中转站;n n补偿补偿补偿补偿CPUCPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;n
9、n在单累加器结构的运算器中,数据缓冲寄存器还可兼在单累加器结构的运算器中,数据缓冲寄存器还可兼在单累加器结构的运算器中,数据缓冲寄存器还可兼在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器。作操作数寄存器。作操作数寄存器。作操作数寄存器。n n累加寄存器(累加寄存器(累加寄存器(累加寄存器(ACAC):):):):暂时存放暂时存放暂时存放暂时存放ALUALU运算的结果信息运算的结果信息运算的结果信息运算的结果信息n n状态条件寄存器(状态条件寄存器(状态条件寄存器(状态条件寄存器(PSWPSW):):):):8课堂优质4、 CPU操作控制器与时序产生器操作控制器与时序产生器 n操作
10、控制器的功能操作控制器的功能:根据指令操作码和时序信号,产生各种根据指令操作码和时序信号,产生各种操作控制信号操作控制信号,以正确建立数据通路,完成取指令和执行,以正确建立数据通路,完成取指令和执行指令的控制。指令的控制。n根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为: (1) 硬布线控制器:硬布线控制器:采用组合逻辑技术来实现;采用组合逻辑技术来实现; (2) 微程序控制器:微程序控制器:采用存储逻辑来实现;采用存储逻辑来实现; (3) 门阵列控制器:门阵列控制器:吸收前两种的设计思想来实现的。吸收前两种的设计思想来实现的。 本章重点介绍微程序控制器本章重点介绍微程
11、序控制器.n时序产生器时序产生器:产生对控制信号进行时间上控制的定时信号产生对控制信号进行时间上控制的定时信号.9课堂优质一、指令周期的基本概念一、指令周期的基本概念 指指令令周周期期: : CPUCPU从从内内存存取取出出一一条条指指令令并并执执行行完完这这条指令的时间总和条指令的时间总和 CPUCPU周周期期: :又又称称机机器器周周期期(总总线线周周期期),CPUCPU访访问问内内存存所所花花的的时时间间较较长长,因因此此用用CPUCPU从从内内存存读读取取一一条条指指令令字的所需的最短时间来定义字的所需的最短时间来定义 时时钟钟周周期期: : 通通常常称称为为节节拍拍脉脉冲冲或或T T
12、周周期期。一一个个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T 相互关系相互关系: 1 1个指令周期个指令周期 = = 若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期 = = 若干若干T T周期周期 取指时间执行指令时间取指时间执行指令时间8.2 8.2 指指 令令 周周 期期10课堂优质指令周期、机器周期、指令周期、机器周期、时钟周期的关系时钟周期的关系11课堂优质020020 CLACLA;累加器清;累加器清0 0021021 ADD 30ADD 30;(;(ACAC)+ +(3030)ACAC022022 STA 40STA 40;(;(ACAC)(4
13、0)(40)023023 NOPNOP; 空操作空操作024024 JMP 21JMP 21; 21 21 PC PC 030 000 006030 000 006; ; 数据数据 040 040 存和数存和数; ; 数据数据5 5条典型指令构成的简单程序条典型指令构成的简单程序12课堂优质一个一个CPU周期周期一个一个CPU周期周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码执行指令执行指令取下条指取下条指令令PC+1CLA指令的指令周期指令的指令周期13课堂优质取出取出CLACLA指令指令算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程
14、序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+1000 0202021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 02114课堂优质算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线D
15、BUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021000 000执行执行CLACLA指令指令15课堂优质ADDADD指令的指令周期指令的指令周期 一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条
16、指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期16课堂优质算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并执行取出并执行ADDADD指令指令17课堂优质
17、 STA STA指令的指令周期指令的指令周期 18课堂优质算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存指令寄存器器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 00
18、6000 006取出并执行取出并执行STASTA指令指令19课堂优质NOPNOP指令和指令和JMPJMP指令的指令周期指令的指令周期20课堂优质算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP
19、 21JMP 21000 024000 021000 006000 006000 025000 021取出并执行取出并执行JMPJMP指令指令21课堂优质每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指令周期指令周期无条件转移指令无条件转移指令加法指令加法指令乘法指令乘法指令取指周期取指周期执行周期执行周期指令周期指令周期22课堂优质具有间接寻址的指令周期具有间接寻址的指令周期带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期
20、执行周期执行周期中断周期中断周期23课堂优质指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否24课堂优质CPU CPU 工作周期的标志工作周期的标志CPU CPU 访存有四种性质访存有四种性质取取 指令指令 取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期 FEFE间址周期间址周期 INDIND执行周期执行周期 EXEX中断周期中断周期 INTINTFEDINDDINTDCLK1FE1IND1EX1INTEXD25课堂优质1. 1. 取指周期数据流取指周期数据流二、二、 指令周
21、期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线IR+1 PCMAR AB M DB MDR IR,PC+1 PC26课堂优质2. 2. 间址周期数据流间址周期数据流MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线PCIR存储器存储器MDRAd(MDR) MAR AB M DB(EA) MDR形成地址形成地址Ad(MDR) 27课堂优质3. 3. 执行周期数据流执行周期数据流4 . 4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地地址址总
22、总线线数数据据总总线线控控制制总总线线PC存储器存储器SP MAR AB M,PC MDR DB M,入口地址入口地址PC28课堂优质8.3 8.3 指指 令令 流流 水水一、如何提高机器速度一、如何提高机器速度1. 1. 提高访存速度提高访存速度2. 2. 提高提高 I/O I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片CacheCache多体并行多体并行I/O I/O 处理机处理机DMADMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统结构 ,开发系统的并行性,开发系统的并行性中断中断3. 3. 提高运算器速度提高运算器速度高
23、速芯片高速芯片改进算法改进算法快速进位链快速进位链29课堂优质 标准的冯标准的冯诺依曼体系结构是串行处理,即一个时诺依曼体系结构是串行处理,即一个时刻只能进行一个操作。刻只能进行一个操作。 并行性的两种含义并行性的两种含义n同时性同时性:两个以上事件在:两个以上事件在同一时刻同一时刻发生。如多机发生。如多机系统中,同一时刻多个进程在运行。系统中,同一时刻多个进程在运行。 n并发性并发性:两个以上事件在:两个以上事件在同一间隔内同一间隔内发生。如并发生。如并发程序,某一时刻发程序,某一时刻CPUCPU中只有一个进程在运行,而中只有一个进程在运行,而在一个时间段内,多个进程同时运行。在一个时间段内
24、,多个进程同时运行。 二、系统的并行性二、系统的并行性30课堂优质并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部)(指令内部)过程级(程序、进程)过程级(程序、进程) 粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并行性的三种形式并行性的三种形式时间并行时间并行:即使用流水处理部件,:即使用流水处理部件,时间重叠时间重叠。 空间并行空间并行:设置:设置重复资源重复资源,同时工作。,同时工作。 主要体主要体现在多处理器系统和多计算机系统。现在多处理器系统和多计算机系统。时间并行空间并行时间并行空间并行:时间重叠和资源重复的:时间重叠和资源重复的综合应用。综合应用
25、。 如奔腾如奔腾CPUCPU采用超标量流水技术,采用超标量流水技术,在一个机器周期中同时执行两条指令。在一个机器周期中同时执行两条指令。 31课堂优质1.1.顺序执行方式顺序执行方式: :串行执行串行执行t取指令取指令it分析分析it执行执行i假设假设1 1:取指令、分析指令和执行指令所需时间分别取指令、分析指令和执行指令所需时间分别为为t t取指令取指令、t t分析分析和和t t执行执行。结果结果1 1:执行执行n n条条指令所花的时间指令所花的时间三、指令流水原理三、指令流水原理32课堂优质假设假设2 2:取指令、分析指令和执行指令取指令、分析指令和执行指令3 3个阶个阶段所需时间相等,设
26、为段所需时间相等,设为t t 。结果结果2 2:顺序执行顺序执行n n条指令所需要的时间为:条指令所需要的时间为:T=3nt优点优点n控制简单,节省设备。控制简单,节省设备。主要缺点主要缺点n 处理机执行指令的速度慢处理机执行指令的速度慢n 功能部件的利用率很低功能部件的利用率很低33课堂优质 2. 2.重叠方式重叠方式假设:假设:如果指令执行的如果指令执行的3 3个阶段所需时间均为个阶段所需时间均为t t。结果:结果: 一次重叠方式执行一次重叠方式执行n n条指令所需要的时间为:条指令所需要的时间为:(1 1)一次重叠:一次重叠:第第i i条指令的执行阶段和第条指令的执行阶段和第i+1i+1
27、条指条指令的取指令阶段同时进行,执行过程如图所示。令的取指令阶段同时进行,执行过程如图所示。 一次重叠执行方式一次重叠执行方式 取指令i 分 析i 执 行i 取指令i+1 分 析i+1 执 行i+1 取指令i+2 分 析i+2 执 行i+2 时间tttt3t2t2tT=3 t+(n-1)2 t =(1+2n) t34课堂优质假设:假设:如果指令执行的如果指令执行的3 3个阶段所需时间均为个阶段所需时间均为t t。结果:结果: 二次重叠方式执行二次重叠方式执行n n条指令所需要的时间为:条指令所需要的时间为:(2 2)二次重叠:)二次重叠:指第指第i i条指令的执行阶段、第条指令的执行阶段、第i
28、+1i+1条条指令的分析阶段和第指令的分析阶段和第i+2i+2条指令的取指令阶段同时进条指令的取指令阶段同时进行。行。执执 行行i+2 取指令取指令i 分分 析析i 取指令取指令i+1取指令取指令i+2 执执 行行i 分分 析析i+1 分分 析析i+2 执执 行行i+1 ttt3tttT= 3 t+(n-1) t=(2+n) t35课堂优质(3 3)指令执行阶段重叠执行,必须解决两个问题:)指令执行阶段重叠执行,必须解决两个问题: 必须有独立的必须有独立的取指令部件、指令分析部件和指令取指令部件、指令分析部件和指令执行执行部件。部件。 要解决访问主存冲突问题,通常有要解决访问主存冲突问题,通常
29、有3 3种方法:种方法:u 主存分成两个独立编址的存储器:一个是指令主存分成两个独立编址的存储器:一个是指令存储器,专门存放指令;另一个是数据存储器,存储器,专门存放指令;另一个是数据存储器,专门存放数据。专门存放数据。 u 主存采用低位交叉编址的并行存储器,在一个主存采用低位交叉编址的并行存储器,在一个存储周期中可以访问多个存储单元。存储周期中可以访问多个存储单元。 u 采用先行控制技术,这是解决访问冲突的根采用先行控制技术,这是解决访问冲突的根本方法本方法 36课堂优质先行控制技术先行控制技术 要要解解决决二二次次重重叠叠执执行行方方式式中中存存在在的的访访问问主主存存储储器器的冲突问题,
30、方法有三种:的冲突问题,方法有三种:第第一一,把把主主存存储储器器分分成成两两个个独独立立编编址址的的存存储储器器,一一个个专专门门存存放放指指令令,称称为为指指令令存存储储器器,另另一一个个专专门门存存放放操操作作数数,称称为为数数据据存存储储器器。两两个个存存储储器器同同时时独独立立访访问问,解决了取指令和读操作数的冲突。解决了取指令和读操作数的冲突。第第二二,指指令令和和数数据据仍仍然然混混合合存存放放在在同同一一个个主主存存作作储储器内,采用低位交叉存取方式。器内,采用低位交叉存取方式。第三,解决访问存储器冲突的根本办法是处理机结第三,解决访问存储器冲突的根本办法是处理机结构作较大的改
31、变,采用先行控制技术。构作较大的改变,采用先行控制技术。 37课堂优质 先先行行控控制制的的基基本本思思想想是是使使分分析析部部件件和和执执行行部部件件能能分分别别连连续续不不断断地地分分析析和和执执行行指指令令,这这种种技技术术实实际际上上是是预预处处理理技技术术和和缓缓冲冲技技术术的的结结合合,即即通通过过对对指指令令流流和和数数据据流流的的预预处处理理和和缓缓冲冲,能能够够尽尽量量使使指指令令分分析析器器和和指指令令执执行行部部件件独独立立地地工工作作,并并始始终终处处于于忙忙碌碌状状态态。这这样样,就就能能够够使使取取指指令令、分分析析指指令令和和执执行行指指令令重重叠叠起起来来执执行
32、行。使使指指令令分分析析器器和和执执行行部部件件能能尽尽量量地地连连续续工工作作。而而且且,在在采采用用了了缓缓冲冲技技术术和和预预处处理理技技术术之之后后,运运算算器器能能够够专专心心干干数数据据的的运运算算、从从而而大大幅幅度度提提高高指指令令的的执执行行速速度度。在在正正常常情情况况下下,处处理理机机中中同同时时有有三三条指令在执行。条指令在执行。 先先行行控控制制技技术术最最早早在在IBMIBM公公司司研研制制的的机机器器中中采采用用。目目前前,先先行行控控制制技技术术是是现现代代计计算算机机系系统统中中被被普普遍遍采采用用的的一一项项重重要要技技术术,许许多多处处理理机机中中都都已已
33、经经采采用用了了这这种技术,包括超流水线处理机和超标量处理机等种技术,包括超流水线处理机和超标量处理机等。38课堂优质3、指令的六级流水、指令的六级流水六级流水六级流水1414 个时间单位个时间单位串行执行串行执行6 6 9 9 5454个时间单位个时间单位完成完成 一条指令一条指令6 6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6
34、指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t取指、译码、计算操作数地址、取指、译码、计算操作数地址、取数、执行,写回取数、执行,写回39课堂优质ALUALU取取/ /存存转移转移IFIF取指取指取指取指取指取指IDID译码,译码,读寄存器堆读寄存器堆译码,译码,读寄存器堆读寄存器堆译码,译码,读寄存器堆读寄存器堆EXEX执行执行计算访存有效计算访存有效地址地址计算转移目标地计算转移目标地址,设置条件码址,设置条件码MEMMEM访存访存( (读或写读或写) )若条件成立,转若条件成立,转移目标地址送移目标地址送PCPCWBWB结果写回寄
35、结果写回寄存器堆存器堆将读出的数据将读出的数据写入寄存器堆写入寄存器堆指令指令流水段流水段不同类型指令中各流水段所进行的操作不同类型指令中各流水段所进行的操作四四. . 影响流水线性能的因素影响流水线性能的因素40课堂优质1. 1. 结构相关结构相关 结构相关结构相关是是当指令在重叠执行过程中,硬件资源当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时将满足不了指令重叠执行的要求,发生资源冲突时将产生产生“结构相关结构相关”。例:假定一条指令流水线由五段组成,且仅有例:假定一条指令流水线由五段组成,且仅有IF过程和过程和MEM过程需要访问存储器过程需要访问存储器 I1与
36、与I4两条指令在时钟两条指令在时钟4争用存储器资源的相关冲突争用存储器资源的相关冲突41课堂优质表表8.3 8.3 解决访存冲突的一种方案解决访存冲突的一种方案42课堂优质 当指令在流水线中重叠执行时,流水线有可能当指令在流水线中重叠执行时,流水线有可能改变指令读改变指令读/ /写操作数的顺序,使之不同于它们写操作数的顺序,使之不同于它们在非流水实现时的顺序,这将导致数据相关。在非流水实现时的顺序,这将导致数据相关。 ADDADDR1R1, R2R2,R3R3SUBSUBR4R4, R1R1,R5R52 2、 数据相关数据相关先写后读错误先写后读错误43课堂优质数据相关的分类数据相关的分类两条
37、指令两条指令 i i 和和 j j,都会访问同一寄存器,都会访问同一寄存器R R,假设假设i i 先进入流水线,则它们对先进入流水线,则它们对R R有四种不同有四种不同的访问顺序:的访问顺序:(1)(1) 写后读写后读( ( RAW RAW ) ) i i 写写j j 读读u如果如果j j 在在i i 完成写之前从完成写之前从R R 中读出数据,中读出数据,将得到错误的结果!将得到错误的结果!u最常见的数据相关,严重制约了最常见的数据相关,严重制约了CPUCPU的性的性能,是程序最重要的特征之一!能,是程序最重要的特征之一!44课堂优质(2) (2) 读后写读后写( (WAR WAR ) )
38、i i 读读j j 写写u如果如果j j 先将数据写入先将数据写入R R,i i 将读出错误的将读出错误的结果!结果!u当有些指令在流水段后半部分读源操作数,当有些指令在流水段后半部分读源操作数,另一些指令在流水线前半部分写结果,可另一些指令在流水线前半部分写结果,可能引起这种类型的相关。能引起这种类型的相关。 (3) (3) 写后写写后写( ( WAW WAW ) ) i i 写写j j 写写 如果如果j j 在在i i 之前完成写操作,之前完成写操作,R R中将保中将保存错误的结果!存错误的结果! (4) (4) 读后读读后读( (RAR RAR ) ) i i 读读j j 读读 不引起数
39、据相关!不引起数据相关!45课堂优质46课堂优质 ADD R1, R2,R3SUBR4, R1,R5AND R6, R1,R7ORR8, R1,R9XORR10,R1,R11解决方法解决方法1 1: 后推法:后推法:即遇到数据相关时,就停顿后继指令即遇到数据相关时,就停顿后继指令的执行,直至前面指令的结果已经形成。的执行,直至前面指令的结果已经形成。47课堂优质未对数据相关进行特殊处理的流水线未对数据相关进行特殊处理的流水线48课堂优质对数据相关进行特殊处理的流水线对数据相关进行特殊处理的流水线49课堂优质解决方法解决方法2 2:通过通过定向技术定向技术减少数据相关带来的暂停减少数据相关带来的
40、暂停定向,定向,也称为也称为旁路旁路(bypassing)(bypassing)主要思路:将计算结果从其产生的地方主要思路:将计算结果从其产生的地方直接直接送到真正需要它的地方送到真正需要它的地方,就可以避免暂停。,就可以避免暂停。-寄存器文件寄存器文件EX/MEMEX/MEM中的中的ALUALU运算结果总是运算结果总是回送到回送到ALUALU的输入寄存器的输入寄存器-从定向通路得到输入数据的从定向通路得到输入数据的ALUALU操作不必操作不必从源寄存器中读取操作数从源寄存器中读取操作数50课堂优质51课堂优质52课堂优质3. 3. 控制相关控制相关控制相关控制相关冲突由冲突由转移指令(分支指
41、令)转移指令(分支指令)引起引起执行转移指令时,依据转移条件的产生结果执行转移指令时,依据转移条件的产生结果可能为顺序取下条指令可能为顺序取下条指令也可能转移到新的目标地址取指令也可能转移到新的目标地址取指令地址不定,流水线需要暂停、地址不定,流水线需要暂停、发生断流发生断流转移指令转移指令主要有:主要有:无条件转移指令,过程调用和返回无条件转移指令,过程调用和返回,条件分支指令,条件分支指令 53课堂优质由程序执行转移类指令而引起的相关。影响范围比由程序执行转移类指令而引起的相关。影响范围比较大,会引起程序执行方向的改变。在流水线中,较大,会引起程序执行方向的改变。在流水线中,对流水线的吞吐
42、率和效率的影响很大。对流水线的吞吐率和效率的影响很大。 无条件转移无条件转移 1. 1. 转移指令在流水线处理机中的处理转移指令在流水线处理机中的处理k : k +1: JMP L L : 54课堂优质 条件转移条件转移条件转移指令有两种:条件转移指令有两种:一般条件转移指令一般条件转移指令和和复合条件转复合条件转移指令移指令。 一般条件转移指令一般条件转移指令的转移条件来自上一条指令,或更前面的指令。的转移条件来自上一条指令,或更前面的指令。 k : ;置条件码置条件码CCCCk +1:JMP(CC) L ;如果如果CCCC为真转向为真转向L L,否则继续执行,否则继续执行k+2k+2k +
43、2: L : 55课堂优质复合型条件转移指令复合型条件转移指令直接根据本条指令的执行结果决定是直接根据本条指令的执行结果决定是否转移。否转移。 复合型条件转移指令的执行时间关系下:复合型条件转移指令的执行时间关系下: k: OP L ;根据执行结果产生的条件码决定是否转向根据执行结果产生的条件码决定是否转向L Lk+1: : L: 56课堂优质BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM57课堂优质WOEIFOCODIWOE
44、IFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令15指令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14转移损失转移损失t设设 指令指令3 是转移指令是转移指令1.1.早判别转移是否发生早判别转移是否发生2.2.预取转移成功或不成功的目标指令预取转移成功或不成功的目标指令3.3.加快和提前形成条件码加快和提前形成条件码4.4.猜测法猜测法58课堂优质1. 1. 吞吐率(吞吐率(TPTP) 指在
45、单位时间内流水线完成的任务数或输出的结指在单位时间内流水线完成的任务数或输出的结果数。果数。 其中:其中:n n表示任务数表示任务数 T Tk k表示完成表示完成n n个任务所用的时间个任务所用的时间 五、流水线性能五、流水线性能 59课堂优质假设各段时间均相等的流水线假设各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线时空图时空图 S1 S2 S3 S4tttt时间4t(n-1)t完成n个任务n个任务所需要的时间60课堂优质61课堂优质流水线完成流水线完成n n个连续任务所需要的总时间为个连续任务所需要的总时间为(假设一条(假设一条k k段段线性流水线)线性流水线)T Tk
46、 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=1t62课堂优质最大吞吐率与实际吞吐率的关系最大吞吐率与实际吞吐率的关系流水线的实际吞吐率小于最大吞吐率,流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流它除了与每个段的时间有关外,还与流水线的段数水线的段数k k以及输入到流水线中的任务以及输入到流水线中的任务数数n n等有关。等有关。只有当只有当n nk k时,才有时,才有TPTPTPTPmaxmax。 63课堂优质2
47、. 2. 加速比加速比 指流水线加速比是指完成一批任务时,不采用流指流水线加速比是指完成一批任务时,不采用流水线所用的时间与采用流水线所用的时间之比水线所用的时间与采用流水线所用的时间之比 其中:其中:用用T0T0表示采用顺序方式下的执行时间;表示采用顺序方式下的执行时间;用用TkTk表示采用流水线的执行时间;表示采用流水线的执行时间;用用S S表示流水线的加速比表示流水线的加速比 64课堂优质各个功能段执行时间均相等的各个功能段执行时间均相等的k k段流水线上段流水线上完成完成n n个连续任务的实际加速比为个连续任务的实际加速比为 :在在k k个功能段相等的流水线中,最大加速比为:个功能段相
48、等的流水线中,最大加速比为: 65课堂优质在流水线的各功能段执行时间相等在流水线的各功能段执行时间相等连续输入连续输入n n个任务的情况下,个任务的情况下,一条一条k k段流水线的效段流水线的效率为:率为:流水线的最高效率为:流水线的最高效率为: 3.3.效率效率 指流水线中各功能段的利用率。指流水线中各功能段的利用率。即:即:在时空图上,流水线的效率为在时空图上,流水线的效率为n n个任务占用个任务占用的时空区与的时空区与k k个功能段总的时空区之比。个功能段总的时空区之比。 66课堂优质67课堂优质例例8.1 8.1 假设指令流水线分取指假设指令流水线分取指(IF)(IF)、译码、译码(I
49、D)(ID)、执行执行(EX)(EX)、回写、回写(WR)(WR)四个阶段,共有四个阶段,共有1010条指令连条指令连续输入此流水线。续输入此流水线。1 1)画出指令周期流程。)画出指令周期流程。IF-ID-EX-WRIF-ID-EX-WR2 2)画出非流水线时空图。)画出非流水线时空图。12121212T时间时间S空间空间空间空间WREXIDIF1 2 3 4 5 6 7 8I1I268课堂优质3 3)画出流水线时空图。)画出流水线时空图。4 4)假设时钟周期为)假设时钟周期为100ns,100ns,求流水线的实际吞吐率。求流水线的实际吞吐率。10/(100ns10/(100ns13) 0.
50、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时间时间空间空间WREXIDIFI10I9I8I7I6I5I4I3I2I169课堂优质六、流水线的多发技术六、流水线的多发技术 1. 1. 超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置
51、多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来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时钟时钟周期周期指令序列指令序列70课堂优质2. 2. 超流水线技术超流水线技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次(3 3 次)次)靠编译程序解决优化问题靠编译程序解
52、决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列71课堂优质3. 3. 超长指令字技术超长指令字技术 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位)由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性,并行性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 1
53、3时钟周期时钟周期指令序列指令序列72课堂优质七、流水线结构七、流水线结构1. 1. 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 7 段段, 每段需一个时钟周期每段需一个时钟周期若若 流水线不出现断流流水线不出现断流1 1 个时钟周期出个时钟周期出 1 1 结果结果不采用流水技术不采用流水技术7 7 个时钟周期出个时钟周期出 1 1 结果结果理想情况下,理想情况下,7 7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 7 倍倍地地址址形形成成部部件件指指令令译译码码部部件件取取操操作作数数部部件件取取指指令令部部件件操操作作执执行行部部件件回回写写结结果
54、果部部件件修修改改指指令令指指针针部部件件锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存73课堂优质2. 2. 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶、尾数求和、规格化对阶、尾数求和、规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致锁锁存存器器对对阶阶功功能能部部件件第一段第一段尾尾数数加加部部件件锁锁存存器器第二段第二段规规格格化化部部件件锁锁存存器器第三段第三段74课堂优质8.4 8.4 中断系统中断系统一、概述一、概述1. 1. 引起中断的各种因素引起中断的各种因素(1) (1) 人为设置的中断人为设置的中断(2) (2)
55、 程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) (5) 外部事件外部事件(4) I/O (4) I/O 设备设备(3) (3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序75课堂优质2. 2. 中断系统需解决的问题中断系统需解决的问题(1) (1) 各中断源各中断源 如何如何 向向 CPU CPU 提出请求提出请求 ?(2) (2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) (5) 如何如何 寻找入口地址寻找入口地址 ?(4) (4) 如何如何 保护现场保
56、护现场 ?(3) CPU (3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么、以什么 方式方式 响应中断响应中断 ?(6) (6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) (7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件76课堂优质二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1. 1. 中断请求标记中断请求标记 INTRINTR一个请求源一个请求源 一个一个 INTRINTR 中断请求标记触发器中断请求标记触发器多个多个INTRINTR 组成组成 中断请求标记寄存器中断请求标记寄存器IN
57、TR INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR INTR 集中集中 在在 CPU CPU 的中断系统的中断系统 内内12345n掉掉电电过过热热阶阶上上溢溢主主存存读读写写校校验验错错非非法法除除法法键键盘盘输输入入打打印印机机输输出出77课堂优质磁磁盘盘磁磁带带CRT显示显示键键盘盘输输入入打印打印输出输出电电源源故故障障纸纸带带输输入入保保留留INTR78课堂优质(a)菊花链排队电路菊花链排队电路中断请求中断请求CPUINTR接口接口设备设备3接口接口设备设备2接口接口设备设备1菊花链菊花链逻辑逻辑菊花链菊花链逻辑逻辑菊花链菊花链逻辑逻辑中断响应信号中
58、断响应信号集电极开路门集电极开路门+5V2. 2. 中断判优逻辑中断判优逻辑(1) (1) 硬件实现(排队器)硬件实现(排队器)79课堂优质(b) (b) 菊花链逻辑菊花链逻辑中断中断请求请求信号信号(高电平有效高电平有效)中断响应信号中断响应信号(低电平有效)(低电平有效)INTR80课堂优质(2) (2) 软件实现(程序查询)软件实现(程序查询)保护现场保护现场恢复现场恢复现场A申请服务?申请服务?B申请服务?申请服务?C申请服务?申请服务?外设外设A中断服务程序中断服务程序NNN外设外设B中断服务程序中断服务程序外设外设C中断服务程序中断服务程序YYY81课堂优质三、中断服务程序入口地址
59、的寻找三、中断服务程序入口地址的寻找1. 1. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量中断向量排队器输出排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 40082课堂优质2. 2. 软件查询法软件查询法 M JMP 1# SR1# D = 1 转转1# 服务程序服务程序 SKP DZ 2# JMP 2# SR2# D = 0 跳跳2# D = 1 转转2#
60、服务程序服务程序 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)地地 址址说说 明明指指 令令83课堂优质四、中断响应四、中断响应1. 1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 1EINT = 12. 2. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU CPU 发查询
61、信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源中断源 n至排队器至排队器84课堂优质3. 3. 中断隐指令中断隐指令(1) (1) 保护程序断点保护程序断点(2) (2) 寻找服务程序入口地址寻找服务程序入口地址(3) (3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器断点存于断点存于 特定地址特定地址( 0 0 号地址)号地址) 内内 断点断点 进栈进栈INT INT 中断标记中断标记EINT EINT 允许中断允许中断R R S S 触发器触发器向量地址向
62、量地址PCPC(硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址M MPCPC(软件查询法)(软件查询法)85课堂优质五、保护现场和恢复现场五、保护现场和恢复现场1. 1. 保护现场保护现场2. 2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其它服务程序其它服务程序恢复现场恢复现场中断返回中断返回PUSHPUSH视不同请求源而定视不同请求源而定POPPOP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成中断服务程序中断服务程序 完成完成IRETIRET86课堂优质1. 1. 多重中断的概念多重中断的概念klmk
63、+1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k k+1 , +1 , l l+1 , +1 , m m+1+1六、中断屏蔽技术六、中断屏蔽技术87课堂优质中断否?中断否?保护现场保护现场设备服务设备服务恢复现场恢复现场 开中断开中断中断返回中断返回取指令取指令执行指令执行指令中中断断服服务务程程序序 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断 向量地址向量地址 PC中中断断周周期期是是中断返回中断返回保护现场保护现场设备服务设备服务恢复现场恢复现场开中断开中断开中断开中断开中断开中断中中断断隐隐指指令令中中断断隐隐指指令
64、令否否取指令取指令执行指令执行指令中断否?中断否?否否 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断向量地址向量地址 PC中中断断周周期期是是中中断断服服务务程程序序单重单重 多重多重 单重中断和多重中断的服务程序流程单重中断和多重中断的服务程序流程88课堂优质2. 2. 实现多重中断的条件实现多重中断的条件B、CA中断中断请求请求主程序主程序(2) (2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) (1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按
65、降序降序 排列)排列)D89课堂优质 &3. 3. 屏蔽技术屏蔽技术(1) (1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)(未屏蔽)INTR 能被置能被置 “1” & & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi = 1 (屏蔽)(屏蔽)INTPi = 0 (不能被排队选中)(不能被排队选中)90课堂优质(2) (2) 屏蔽字屏蔽字优先级优先级屏屏 蔽蔽 字字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
66、 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112345615161616个中断源个中断源 1 1,2 2,3 3 , 16 16 按按 降序降序 排列排列91课堂优质(3) (3) 屏蔽技术可改变处理优先等
67、级屏蔽技术可改变处理优先等级响应优先级响应优先级响应优先级响应优先级 ABCDABCD 降序排列降序排列 不可改变不可改变处理优先级处理优先级可改变(通过重新设置屏蔽字)可改变(通过重新设置屏蔽字)中断源中断源原屏蔽字原屏蔽字新屏蔽字新屏蔽字ABCD11110111001100011111010001100111处理优先级处理优先级 ADCBADCB 降序排列降序排列92课堂优质(3) (3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级服务程序服务程序B处理完处理完C处理完处理完D处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中
68、断同时请求中断CPU CPU 执行程序轨迹(原屏蔽字)执行程序轨迹(原屏蔽字)93课堂优质(3) (3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级(4) (4) 屏蔽技术的其他作用屏蔽技术的其他作用便于程序控制便于程序控制可以可以 人为地屏蔽人为地屏蔽 某个中断源的请求某个中断源的请求服务程序服务程序D处理完处理完C处理完处理完B处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU CPU 执行程序轨迹(新屏蔽字)执行程序轨迹(新屏蔽字)94课堂优质(5) (5) 新屏蔽字的设置新屏蔽字的设置 保护现场保护现场
69、 置屏蔽字置屏蔽字 开中断开中断 中断服务中断服务 关中断关中断 恢复现场恢复现场 恢复屏蔽字恢复屏蔽字 开中断开中断 中断返回中断返回 置屏蔽字置屏蔽字 恢复屏蔽字恢复屏蔽字 关中断关中断 开中断开中断95课堂优质(1) (1) 断点进栈断点进栈(2) (2) 断点存入断点存入“ 0 0 ” 地址地址中断隐指令中断隐指令 完成完成中断周期中断周期命令存储器写命令存储器写0 MAR0 MARPC MDRPC MDR(MDR) (MDR) 存入存储器存入存储器三次中断,三个断点都存入三次中断,三个断点都存入 “ 0 0 ” 地址地址4. 4. 多重中断的断点保护多重中断的断点保护断点断点 MDR
70、MDR?如何保证断点不丢失?如何保证断点不丢失?中断隐指令中断隐指令 完成完成96课堂优质(3) (3) 程序断点存入程序断点存入 “ 0 0 ” 地址的断点保护地址的断点保护 05JMP SERVE SAVE RETURNSTA SAVE0 地址内容转存地址内容转存其他服务内容其他服务内容SERVELDA SAVEJMP RETURN存程序断点存程序断点5 为向量地址为向量地址保护现场保护现场恢复现场恢复现场间址返回间址返回存放存放 ACC 内容内容转存转存 0 地址内容地址内容开中断开中断ENILDA 0STA RETURN置屏蔽字置屏蔽字地地 址址内内 容容说说 明明97课堂优质例例8.
71、2 8.2 设某机有四个中断源设某机有四个中断源1 1、2 2、3 3、4 4,其硬件排队优,其硬件排队优先次序按先次序按1 1234 234 降序排列,各中断服务程序中所降序排列,各中断服务程序中所对应的屏蔽字如下表所示。对应的屏蔽字如下表所示。1 1)给出上述)给出上述4 4个中断源的中断处理次序;个中断源的中断处理次序;2 2)若)若4 4个中断源同时有中断请求,画出个中断源同时有中断请求,画出CPUCPU执行程序的轨迹。执行程序的轨迹。中断源原屏蔽字1234 1 1 0 10 1 0 01 1 1 10 1 0 1 响应优先级响应优先级 12341234 降序排列降序排列 处理优先级处理优先级 31423142 降序排列降序排列98课堂优质