第8章中央处理单元2014_第1页
第8章中央处理单元2014_第2页
第8章中央处理单元2014_第3页
第8章中央处理单元2014_第4页
第8章中央处理单元2014_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章第八章 中央处理单元中央处理单元2013年11月28日8.1.1 CPU的功能o取出指令并执行指令的部件-CPU n数据加工 -ALU. 算术/逻辑运算; n指令控制:指令执行的顺序控制; n操作控制: 产生各种操作信号; n时间控制: 控制操作信号的发生时间; CPUCPU具有如下四方面的基本功能:具有如下四方面的基本功能: 指令控制指令控制 程序的顺序控制称为指令控制。用于控制指令严程序的顺序控制称为指令控制。用于控制指令严格地按程序规定的顺序,逐条取出并加以执行。格地按程序规定的顺序,逐条取出并加以执行。 操作控制操作控制 一条指令的功能往往是由若干个操作信号的组合一条指令的功能往

2、往是由若干个操作信号的组合来实现的,因此,来实现的,因此,CPUCPU负责管理并产生每条指令所对负责管理并产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。从而控制这些部件按指令的要求进行动作。ADD R1, R0ADD R1, R0 时间控制时间控制 对各种操作的实施时间进行定时,称为时间控制。对各种操作的实施时间进行定时,称为时间控制。在计算机中,各种指令的操作信号以及一条指令的在计算机中,各种指令的操作信号以及一条指令的整个执行过程都严格的时间要求,需要整个执行过程都严格的时间要求,需要CPU

3、CPU设定规设定规定的时序关系。定的时序关系。 数据加工数据加工 数据加工就是对数据进行算术运算和逻辑运算处理,数据加工就是对数据进行算术运算和逻辑运算处理,这是这是CPUCPU的核心功能之一。的核心功能之一。ADD R1, R0ADD R1, R08.1.2 CPU8.1.2 CPU的基本组成的基本组成 CPUCPU的基本部分由运算器、的基本部分由运算器、cachecache和控制器三大部分和控制器三大部分组成。组成。 CPUCPU模型参看模型参看演示演示 运算部件运算部件 寄存器寄存器 寄存器寄存器控制部件控制部件运算器运算器控制器控制器1、CPU中的主要寄存器oPC (Program C

4、ounter)程序计数器 oAR (Address Register)地址寄存器 oDR (Data Register)数据缓冲寄存器 oIR (Instruction Register)指令寄存器 oAC (Accumulate Count)累加寄存器 oPSW (Program Status Word)程序状态字程序计数器程序计数器(PCPC)为了保证程序能够连续地执行下去,为了保证程序能够连续地执行下去,CPUCPU必须具有某些手段必须具有某些手段来自动确定下一条指令的地址。而程序计数器来自动确定下一条指令的地址。而程序计数器PCPC正是起到这正是起到这种作用的,所以种作用的,所以PCP

5、C通常又称为通常又称为指令计数器指令计数器。 在程序开始执行前,必须将该程序在内存单元的起始地址,在程序开始执行前,必须将该程序在内存单元的起始地址,即第一条指令的地址送入即第一条指令的地址送入PCPC。当执行指令时,。当执行指令时,CPUCPU将自动修改将自动修改PCPC的内容,使其保持的总是将下一条要执行的指令的地址。的内容,使其保持的总是将下一条要执行的指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对只是简单的对PCPC自增即可。自增即可。当遇到转移指令(如当遇到转移指令(如JMPJMP指令)时,由于后继指令

6、的地址指令)时,由于后继指令的地址(即(即PCPC的内容的内容) )必须从指令的地址段取得。在这种情况下,下必须从指令的地址段取得。在这种情况下,下一条指令的地址将由转移指令来规定,而不是像通常一样按一条指令的地址将由转移指令来规定,而不是像通常一样按顺序来取得。因此程序计数器顺序来取得。因此程序计数器PCPC的结构,应当是具有信息寄的结构,应当是具有信息寄存和计数两种功能的结构。存和计数两种功能的结构。地址寄存器地址寄存器(MARMAR) 地址寄存器AR用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到对内存的读

7、/写操作完成为止 。 当CPU和内存进行信息交换,即CPU向内存存/取数据或指令时,都要使用地址寄存器AR和数据缓冲寄存器DR。此外,我们可以把外围I/O设备的设备地址作为像内存的地址单元那样来进行访问,那么可知,当CPU和外围设备交换信息时,同样需要使用地址寄存器和数据缓冲寄存器。 地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,通常使用单纯的寄存器结构。信息的存入一般采用电位-脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号clk的作用下,瞬时地将信息打入寄存器。存储器数据缓冲寄存器(存储器数据缓冲寄存器(MDRMDR)存储器数据缓冲寄存器MDR用来暂时存放由内存

8、读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也先将它们送到存储器数据缓冲寄存器MDR中,然后再写入内存。存储器缓冲寄存器MDR的作用是 : (1)作为CPU和内存及外部I/O设备之间信息传送的中转站; (2)用于补偿CPU与内存及外围设备之间在操作速度上的差别; (3)在单累加器结构的运算器中,存储器数据缓冲寄存器还可兼作为操作数寄存器。指令寄存器指令寄存器(IRIR)指令寄存器IR用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。 指令分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码

9、进行测试,以便识别所要求的操作,指令译码器就是完成这项工作的。指令寄存器中的操作码字段被送入指令译码器中,操作码一经译码后,即可向操作控制器发出具体操作的特定信号。累加寄存器累加寄存器(ACAC)累加寄存器AC通常简称为累加器,它是一个通用寄存器。其功能是:当运算器需执行算术或逻辑运算时,为ALU提供一个工作区,它可暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。状态条件寄存器状

10、态条件寄存器(PSWPSW)状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标 志(Z),运算结果为负标志(N)等等。这些标志位通常分别由1位触发器保存。除此之外,状态条件寄存器还保存中断和系统工作状态等信息,因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。其作用是使CPU和系统能及时了解机器运行状态和程序运行状态。 2、控制器基本组成oPC (Program Counter)程序计数器 oIR (Instruction Register)指令寄存器 oID (Instruction Dec

11、oder)指令译码器 oOC (Operate Controller)操作控制器 oTG (Timer Generator) 时序发生器操作控制器o根据指令操作码和地址码,产生各种控制信号序列 ,建立正确的数据通路,从而完成取指令和执行指令的控制。 n硬布线控制器 (时序逻辑型) (硬件实现) n微程序控制器 (存储程序型) (软件实现) o数据通路-执行部件间传送信息的通路。时序产生器o产生各种时序信号(电位,脉冲); o对各种操作实施时间上的控制。 NoImageNoImageALU3、运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLA

12、ADD 30STA 40NOPJMP 21 000 004 000 00620212223243040NoImageNoImageCLAADD 30STA 40NOPJMP 21 000 004 000 00620212223243040ALUADD AX,BXPSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6NoImageNoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU指令译码器000 000程序计数器 PCAR地址寄存器 ARDR缓冲寄存器DRAC累加器 A

13、CIR指令寄存器 IR操作控制器OC 时序产生器TG执行指令控制地址总线 ABUS数据总线 DBUSCPU基本结构PSWPSWCPUo指令周期基本概念 oCLA指令周期 oADD指令周期 oSTA指令周期 oNOP指令周期 oJMP指令周期8.2 指令周期NoImageNoImageNoImage1、指 令 周 期 基本概念o时钟周期:T,节拍脉冲 oCPU 周期:机器周期,从内存读出一条指令的最短时间 o指令周期:从内存取一条指令并执行该指令所用的时间。 n由若干个CPU周期组成。 nCPU周期又包含若干时钟周期(节拍脉冲) T周期 T1 T2 T3 T4 T1 T2 T3 T4 机器周期(

14、取指令) 指令周期 机器周期(执行指令) 名词概念名词概念 : 指令周期指令周期: : CPUCPU从内存取出一条指令并执行完这从内存取出一条指令并执行完这条指令的时间总和。条指令的时间总和。 CPUCPU周期周期: :又称又称机器周期机器周期,CPUCPU访问内存所花的时访问内存所花的时间较长,因此用间较长,因此用CPUCPU从内存读取一条指令字的所需的最从内存读取一条指令字的所需的最短时间来定义。短时间来定义。 时钟周期时钟周期: : 通常称为通常称为节拍脉冲节拍脉冲或或T T周期周期。一个。一个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T。 相互关系相互关系: 1 1个

15、指令周期个指令周期 = = 若干个若干个CPUCPU周期;周期; 1 1个个CPUCPU周期周期 = = 若干若干T T周期周期 取指时间取指时间+ +执行指令时间执行指令时间指令周期 基本概念o 取指令周期 o 取操作数周期 (可无) o 执行周期 取指令 PC+1执行指令开始2、CLA 指 令 周 期取指令 PC+1指令译码执行指令取下条 指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始NoImageNoImageDRCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALUAC000 020ARCLAIR指令译码器

16、操作控制器 时序产生器程序计数器 PC地址寄存器 AR缓冲寄存器DR累加器 AC指令寄存器 IR执行指令控制地址总线 ABUS数据总线 DBUS000 020CLA000000000CLA 指 令000 021+1PCARABUSRAM DBUSDRIR PC+1NoImage执行过程的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR o0AC AC 3、ADD 指 令 周 期取指令 PC+1指令译码送操作数取下条 指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数 地址执行指令阶段1个CPU周期执行 写存操作NoImageNoImageCLACLAA

17、DD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 021000 020ADD 30CLA指令译码器操作控制器 时序产生器程序计数器 PC地址寄存器 AR缓冲寄存器DR累加器 AC指令寄存器 IR执行指令控制地址总线 ABUS数据总线 DBUS000 021ADD 300000000003、ADD 指 令000 022+1PCARABUSRAM DBUSDRIR PC+1NoImageNoImageCLACLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 0210

18、00 021ADD 30CLA指令译码器操作控制器 时序产生器程序计数器 PC地址寄存器 AR缓冲寄存器DR累加器 AC指令寄存器 IR执行指令控制地址总线 ABUS数据总线 DBUS000 030ADD 30000000000ADD 指 令000 022+1000 006IRARABUSRAM DBUSDRALU ALUAC006ADD执行过程的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)ARABUSRAM oDBUSDRALU oALUAC 4、STA 40 指 令 周 期取指令 PC+1指令译码送操作数取下条 指令PC+1取指令阶段1个CP

19、U周期1个CPU周期开始送操作数 地址执行指令阶段1个CPU周期执行 写存操作NoImageNoImageCLACLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 021000 030STA 40CLA指令译码器操作控制器 时序产生器程序计数器 PC地址寄存器 AR缓冲寄存器DR累加器 AC指令寄存器 IR执行指令控制地址总线 ABUS数据总线 DBUS000 040STA 40STA 指 令000 023+1000 006000 006000 006IR(A)ARABUS ACDR DRDBUSRAM执行过程的操作oPCA

20、R oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)ARABUS oACDR oDRDBUSRAM 5、NOP 指 令 周 期取指令 PC+1指令译码空操作 等待 一个周期取下条 指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始6、JMP 21 指 令 周 期取指令 PC+1指令译码送 转移地址取下条 指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始NoImageNoImageCLAADD 30STA 40NOPJMP 21 000 006 000 00420212223243040ALU000 025000 024JMP 21C

21、LA指令译码器操作控制器 时序产生器程序计数器 PC地址寄存器 AR缓冲寄存器DR累加器 AC指令寄存器 IR执行指令控制地址总线 ABUS数据总线 DBUS000 021JMP 21JMP 21 指 令000 021+1000 006000 006000 022IR(A)PC执行过程中的操作oPCAR oPC+1PC oAR ABUSRAMDBUSDR oDRIR oIR(A)PC oNext command 五条指令的取指和执行过程五条指令的取指和执行过程 我们把前面的五条典型指令加以归纳,我们把前面的五条典型指令加以归纳,其取指和执行过程请见其取指和执行过程请见CAICAI演示演示。 8

22、.3 数据流指令周期期间,严格的事件序列取决于中央处理器的设计,然而我们能以通常的方式取出什么事件必定发生。先假定一个中央处理器,它有存储器地址寄存器(MAR)一个存储器缓冲寄存器(MDR),一个程序计数器(PC),一个指令寄存器(IR)。在取指令周期期间,一条指令由存储器读入,图8-6表示此期间的数据流动。开始时PC内容有待取的下一条指令的地址。这个地址被传送到并放在地址总线上。控制器发生一次存储读,其结果放到数据总线上并被复制到MBR,然后传送到IR。在此期间PC增1,为下次取指做好准备。 1. 1. 取指周期数据流取指周期数据流指令周期的数据流指令周期的数据流MDRCUMARPCIR存储

23、器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 一旦经历取指周期,控制器检查IR的内容,以确定是否有一个使用间接寻址的操作数指定器。若是一个间址周期完成,如图8-8所示,这是一个简单周期。MDR最右的N位是一个地址引用,被传送到MAR。然后,控制器发一个存储器读信号,得到所要求的操作数地址并送入MDR。 像取指和间址周期一样,中断周期是可预期的。图8-9。PC的当前内容必须保存,以便在中断之后中央处理器能恢复正常的工作。于是,PC的内容传送到MBR,将被写入存储器。为此目的,一个专门的存储器位置内控制器装入,例如它可能是一个堆栈指针。年三月中断子程序的地址装入PC。结果

24、是,下一指令周期将以取此相应的指令而开始。 间址周期数据流间址周期数据流MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MDR执行周期数据流执行周期数据流中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器8.4 用指令流程图表示指令周期 上述典型指令用指令流程图描述NoImageNoImage方框图表示0ACIR(A)ARIR(A)ARIR(A)PCARRAM ACDR DRDBUSCLAADDSTAJMPNOP取指令执行指令下一条指

25、令译码测试公操作PCARRAM DBUSDRIR PC+1ARRAM DBUSDR DRALU ALUACNoImage公操作o一条指令执行完后,CPU所进行的一些操作。 o对外设请求的处理(中断,通道) o若无外设请求的处理,CPU则转而取下条指令。 o由于取指令是每条指令都有的,所以,取指令也是公操作。例题1: 某计算机的数据通路如下图所示,其中M主存, MBR主存数据寄存器, MAR主存地址寄存器, R0-R3通用寄存器, IR指令寄存器, PC程序计数器(具有自增能力), C、D-暂存器, ALU算术逻辑单元(此处做加法器看待), 移位器左移、右移、直通传送。所有双向箭头表示信息可以双

26、向传送。 请按数据通路图画出“ADD(R1),(R2)+”指令的指令周期流程图。该指令的含义是两个数进行求和操作。其中源操作地址在寄存器R1中,目的操作数寻址方式为自增型寄存器间接寻址(先取地址后加1)。解:“ADD (R1),(R2)+”指令是SS型指令,两个操作数均在主存中。其中源操作数地址在R1中,所以是R1间接寻址。目的操作数地址在R2中,由R2间接寻址,但R2的内容在取出操作数以后要加1进行修改。指令周期流程图如图所示:0课堂练习与思考:课堂练习与思考:1、运行一条指令MOV(R0),R1,需经过下述那几个工作周期( )。(题型:多选) A. DMA周期 B.取指周期 C.执行周期

27、D.源周期 B、C2、在指令周期的第一个CPU周期内,CPU中地址寄存器内容是( )。(题型:单选) A.指令 B.指令地址 C.数据 D.数据地址B3、假设某机设置了取指周期,取数周期,执行周期,中断周期和DMA周期,那么一条指令从取指令开始到指令执行完毕最多可能经历( ) (题型:多选) A. DMA周期 B.取指周期 C.取数周期 D.执行周期 B、C、D课堂练习与思考:课堂练习与思考:4、 将指令周期划分为几个工作阶段,每个工作阶段所需时间称为工作周期。下面有关工作周期的描述中正确的有( )。 (题型:多选) A.不同工作周期所占时间可以不同; B.不同指令的同一工作周期所需的时间可能

28、不同; C.不同指令可以含有不同的几个工作周期; D.工作周期可以在多级时序系统中作为独立的一级时序 A、C、D5、请说明指令周期、机器周期、时钟周期之间的关系。 解答:指令周期是指取出并执行一条指令的时间,指令周期常常用若干个CPU周期数来表示,CPU周期也称为机器周期,而一个CPU周期又包含若干个时钟周期(也称为节拍脉冲或T周期)。 8.58.5时序信号产生器时序信号产生器 微程序控制器中使用的时序信号产生器由微程序控制器中使用的时序信号产生器由时钟时钟源源、环形脉冲发生器环形脉冲发生器、节拍脉冲节拍脉冲和和读写时序译码逻读写时序译码逻辑辑、启停控制逻辑启停控制逻辑等部分组成。等部分组成。

29、 1. 1.时钟源时钟源时钟源用来为环形脉冲发生器提供频率稳定、时钟源用来为环形脉冲发生器提供频率稳定、且电平匹配的方波时钟脉冲信号。它通常由石英晶且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。输出送至环形脉冲发生器。1、电位-脉冲制o时序信号最基本的体制是电位-脉冲制。 o当实现寄存器之间的数据传送时,数据必须以电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。 o数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发器记忆为止,这段时间

30、较长,所以数据需要用电位表示。 o而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。 2、时序产生器 启停控制逻辑 启动 节拍脉冲和读 / 写时序产生逻辑 脉冲发生器 时钟源 停机 RD WE T 1 T 2 T 3 T 4 RD WE RD 0 WE 0 T 1 0 T 2 0 T 3 0 T 4 0 NoImageNoImageNoImage3、启停控制逻辑 T 1 Q D C r Q R 启动 停机 CLR & T 4 & T 4 0 T 1 0 RD & RD 0 T 3 & T 3 0 WE & WE 0 T 2 & T 2 0 T 4 0 & & NoImage

31、NoImageLDARRDMLDDRLDIRPC+1T1 T2 T3 T4 CPU周期 取指 执行 CPU周期 时序图状态周期电位 节拍电位 节拍脉冲 8.68.6控制方式控制方式 控制方式: 即控制不同操作序列时序信号的方法。常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式。 1.同步控制方式在任何情况下,已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:(1)采用完全统一的机器周期执行各种不同的指令。(2)采用不定长机器周期。(3)中央控制与局部控制结合。产生不同微操作命令序列所用的时序控制方式 同

32、步控制方式任一微操作均由 统一基准时标 的时序信号控制CLK机器周期机器周期机器周期(取指令)(取有效地址)(执行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3(1) 采用 完全统一 的机器周期和节拍以最长的 微操作序列 和 最繁的微操作作为 标准(2) (2) 采用不同节拍的机器周期采用不同节拍的机器周期机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)指令周期指令周期T0T1T2T3T0T1T2 节拍节拍( (状态状态) )机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)T0T1T2T3T0T1T2T3TT延长延长(3)

33、 (3) 采用中央控制和局部控制相结合的方法采用中央控制和局部控制相结合的方法T0T1T2T3T0T1T2中央控制节拍中央控制节拍T*T*T*局部控制节拍局部控制节拍 T3T0T1中央控制节拍中央控制节拍机器周期机器周期执行周期执行周期指令周期指令周期取指周期取指周期T0T1T2T3局部控制的节拍宽度与局部控制的节拍宽度与中央控制的节拍宽度一致中央控制的节拍宽度一致2.异步控制方式 其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。

34、显然,用这种方式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。 3.3.联合控制方式联合控制方式 此为同步控制和异步控制相结合的方式。 情况(1): 大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束; 情况(2): 机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。课堂练习与思考:课堂练习与思考:1、时序信号产生器提供机器所需的 时序信号,在硬联线控制器中,时序信号采用 三级体制,在微程序控制器中,一般采用 二级体制。 定时主状态-节拍电位-节拍脉冲节拍电位-节拍脉冲2、CPU 从

35、主存取出一条指令并执行该指令的时间叫 ,它通常包含若干个 ,而后者又包含若干个 。 组成多级时序系统。 指令周期 机器周期 节拍 3、在寄存器寄存器型,寄存器存储器型和存储器存储器型三类指令中,哪类指令的执行时间最长?哪类指令的执行时间最短?为什么? 解答:寄存器-寄存器型执行速度最快,存储器-存储器型执行速度最慢。因为前者操作数在寄存器中,后者操作数在存储器中,而访问一次存储器所需的时间一般比访问一次寄存器所需时间长。8.78.7中断系统中断系统8.7.1 8.7.1 概述概述1. 1. 引起中断的各种因素引起中断的各种因素(1) (1) 人为设置的中断人为设置的中断(2) (2) 程序性事

36、故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) (5) 外部事件外部事件(4) I/O (4) I/O 设备设备(3) (3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序2. 2. 中断系统需解决的问题中断系统需解决的问题(1) (1) 各中断源各中断源 如何如何 向向 CPU CPU 提出请求提出请求 ?(2) (2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) (5) 如何如何 寻找入口地址寻找入口地址 ?(4) (4) 如何如何 保护现场保护现场 ?(3) CP

37、U (3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么、以什么 方式方式 响应中断响应中断 ?(6) (6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) (7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件8.7.2 8.7.2 中断请求标记和中断判优逻辑中断请求标记和中断判优逻辑1. 1. 中断请求标记中断请求标记 INTRINTR一个请求源一个请求源 一个一个 INTRINTR 中断请求标记触发器中断请求标记触发器多个多个INTRINTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR INTR 分

38、散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR INTR 集中集中 在在 CPU CPU 的中断系统的中断系统 内内1 12 23 34 45 5n n掉电掉电过热过热阶上溢阶上溢内存读写校验错内存读写校验错非法除法非法除法键盘键盘打印机打印机2. 2. 中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器 集中集中 在在 CPU CPU 内内(1) (1) 硬件实现(排队器)硬件实现(排队器) 1 1 1 1 1 1 & & 1 1 & & 1 1 & &INTRINTR1 1INTRINTR2 2INTRINTR3

39、 3INTRINTR4 4INTRINTR1 1 、 INTRINTR2 2 、 INTRINTR3 3 、 INTRINTR4 4 优先级优先级 按按 降序降序 排列排列INTPINTP1 1INTPINTP2 2INTPINTP3 3INTPINTP4 4A A、B B、C C 优先级按优先级按 降序降序 排列排列(2) (2) 软件实现(程序查询)软件实现(程序查询)否否是否是否A A请求?请求?是是 B B 请求?请求?是否是否C C请求?请求?转转 A A 的服务程序的服务程序入口地址入口地址转转 B B 的服务程序的服务程序入口地址入口地址转转 C C 的服务程序的服务程序入口地址

40、入口地址是是是是是是否否否否8.7.3 8.7.3 中断服务程序入口地址的寻找中断服务程序入口地址的寻找1. 1. 硬件向量法硬件向量法入口地址入口地址 200200入口地址入口地址 300300入口地址入口地址 40040012 H12 H13 H13 H14 H14 H主存主存12 H12 H13 H13 H14 H14 HJMPJMP 200 200JMPJMP 300 300JMPJMP 400 400主存主存向量地址向量地址形成部件形成部件中断向量中断向量排队器输出排队器输出向量地址向量地址 12H12H、13H13H、14H14H入口地址入口地址 200200、 300300、 4

41、004002. 2. 软件查询法软件查询法中断识别程序中断识别程序(入口地址(入口地址 M M)地地 址址说说 明明指指 令令 M M JMP 1 JMP 1# # SRSR1 1# # D = 1 D = 1 转转1 1# # 服务程序服务程序 SKP SKP DZ 2 DZ 2# # JMP 2 JMP 2# # SRSR2 2# # D = 0D = 0 跳跳2 2# # D = 1 D = 1 转转2 2# # 服务程序服务程序 SKP SKP DZ 8 DZ 8# # JMP 8 JMP 8# # SRSR8 8# # D = 0 D = 0 跳跳8 8# # D = 1 D = 1

42、 转转8 8# # 服务程序服务程序八个中断源八个中断源 1 1、2 2、 8 8 按按 降序降序 排列排列 SKPSKP DZ 1 DZ 1# #1 1# # D = 0 D = 0 跳跳(D D为完成触发器为完成触发器)8.7.4 8.7.4 中断响应中断响应1. 1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 1EINT = 12. 2. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU CPU 发查询信号发查询信号 CPUCPU中断查询中断查询INTRINTR1 1D DQ QINTRINTR2 2D DQ QINTRIN

43、TRn nD DQ Q中断源中断源 1 1中断源中断源 2 2中断源中断源 n n至排队器至排队器3. 3. 中断隐指令中断隐指令(1) (1) 保护程序断点保护程序断点(2) (2) 寻找服务程序入口地址寻找服务程序入口地址(3) (3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTINTS SQQR REINTEINTS SQQR RPCPC 1 1 & &11排队器排队器断点存于断点存于 特定地址特定地址( 0 0 号地址)号地址) 内内断点断点 进栈进栈INT INT 中断标记中断标记EINT EINT 允许中断允许中断R R S S 触发器触发器向量地址向量地址PCP

44、C(硬件向量法)(硬件向量法)M MPCPC中断识别程序中断识别程序 入口地址入口地址(软件查询法软件查询法)8.7.5 8.7.5 保护现场和恢复现场保护现场和恢复现场1. 1. 保护现场保护现场2. 2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其他服务程序其他服务程序恢复现场恢复现场中断返回中断返回PUSHPUSH视不同请求源而定视不同请求源而定POPPOP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成中断服务程序中断服务程序 完成完成IRETIRET1. 1. 多重中断的概念多重中断的概念k kl lmmk k +1+1l

45、 l +1+1mm +1+1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k k+1+1 , , l l+1+1 , , mm+1+18.7.6 8.7.6 中断屏蔽技术中断屏蔽技术2. 2. 实现多重中断的条件实现多重中断的条件B, CB, CA A中断中断请求请求主程序主程序(2) (2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) (1) 提前提前 设置设置 开中断开中断 指令指令A AB BC CD D中断服务程序中断服务程序( A A、B B、 C C、 D D 优先级按优先级按 降序降序

46、 排列)排列)D D &3. 3. 屏蔽技术屏蔽技术(1) (1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽未屏蔽)INTR 能被置能被置 “1” 1 & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi = 1 (屏蔽)(屏蔽)INTPi = 0 (不能被排队选中)(不能被排队选中)(1) (1) 断点进栈断点进栈(2) (2) 断点存入断点存入“ “ 0 ” 0 ” 地址地址中断隐指令中断隐指令 完成完成中断周期中断周期命令存

47、储器写命令存储器写0 MAR0 MARPC MDRPC MDR(MDR) (MDR) 存入存储器存入存储器三次中断,三个断点都存入三次中断,三个断点都存入 “ “ 0 ” 0 ” 地址地址4. 4. 多重中断的断点保护多重中断的断点保护断点断点 MDRMDR?如何保证断点不丢失?如何保证断点不丢失?中断隐指令中断隐指令 完成完成(3) (3) 程序断点存入程序断点存入 “ “ 0 ” 0 ” 地址的断点保护地址的断点保护 05JMP SERVE SAVE RETURNSTA SAVE0 0 地址内容转存地址内容转存其他服务内容其他服务内容地地 址址内内 容容说说 明明SERVELDA SAVE

48、JMP RETURN存程序断点存程序断点5 5 为向量地址为向量地址保护现场保护现场恢复现场恢复现场间址返回间址返回存放存放 ACC ACC 内容内容转存转存 0 0 地址内容地址内容开中断开中断ENILDA 0STA RETURN置屏蔽字置屏蔽字8.8 流水线处理器-流水线原理1.时间并行 把任务分成若干子任务,使子任务在流水线的各阶段并发地执行。-时间上并行性。 2.空间并行 资源重复 多处理器系统和多计算机系统 3.时间并行+空间并行 时间重叠和资源重复的综合应用。 奔腾CPU采用超标量流水技术,可在一个机器周期同时执行两条指令。 I1 时间时间T T I1 I1 I1 IF ID EX WB 空间空间S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论