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

下载本文档

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

文档简介

中央处理单元第1页,共116页,2023年,2月20日,星期日8.1.1CPU的功能取出指令并执行指令的部件------CPU数据加工----ALU.算术/逻辑运算;指令控制:指令执行的顺序控制;操作控制:产生各种操作信号;时间控制:控制操作信号的发生时间;第2页,共116页,2023年,2月20日,星期日CPU具有如下四方面的基本功能:★指令控制

程序的顺序控制称为指令控制。用于控制指令严格地按程序规定的顺序,逐条取出并加以执行。★操作控制

一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU负责管理并产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。ADDR1,R0第3页,共116页,2023年,2月20日,星期日★时间控制

对各种操作的实施时间进行定时,称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都严格的时间要求,需要CPU设定规定的时序关系。★数据加工

数据加工就是对数据进行算术运算和逻辑运算处理,这是CPU的核心功能之一。ADDR1,R0第4页,共116页,2023年,2月20日,星期日8.1.2CPU的基本组成

CPU的基本部分由运算器、cache和控制器三大部分组成。

CPU模型参看CAI演示

运算部件

寄存器

寄存器控制部件运算器控制器第5页,共116页,2023年,2月20日,星期日1、CPU中的主要寄存器PC(ProgramCounter)程序计数器AR(AddressRegister)地址寄存器

DR(DataRegister)数据缓冲寄存器

IR(InstructionRegister)指令寄存器

AC(AccumulateCount)累加寄存器

PSW(ProgramStatusWord)程序状态字第6页,共116页,2023年,2月20日,星期日程序计数器(PC)

为了保证程序能够连续地执行下去,CPU必须具有某些手段来自动确定下一条指令的地址。而程序计数器PC正是起到这种作用的,所以PC通常又称为指令计数器。在程序开始执行前,必须将该程序在内存单元的起始地址,即第一条指令的地址送入PC。当执行指令时,CPU将自动修改PC的内容,使其保持的总是将下一条要执行的指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC自增即可。当遇到转移指令(如JMP指令)时,由于后继指令的地址(即PC的内容)必须从指令的地址段取得。在这种情况下,下一条指令的地址将由转移指令来规定,而不是像通常一样按顺序来取得。因此程序计数器PC的结构,应当是具有信息寄存和计数两种功能的结构。第7页,共116页,2023年,2月20日,星期日地址寄存器(MAR)

地址寄存器AR用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到对内存的读/写操作完成为止。当CPU和内存进行信息交换,即CPU向内存存/取数据或指令时,都要使用地址寄存器AR和数据缓冲寄存器DR。此外,我们可以把外围I/O设备的设备地址作为像内存的地址单元那样来进行访问,那么可知,当CPU和外围设备交换信息时,同样需要使用地址寄存器和数据缓冲寄存器。地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,通常使用单纯的寄存器结构。信息的存入一般采用电位-脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号clk的作用下,瞬时地将信息打入寄存器。第8页,共116页,2023年,2月20日,星期日存储器数据缓冲寄存器(MDR)

存储器数据缓冲寄存器MDR用来暂时存放由内存读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也先将它们送到存储器数据缓冲寄存器MDR中,然后再写入内存。存储器缓冲寄存器MDR的作用是:

(1)作为CPU和内存及外部I/O设备之间信息传送的中转站;

(2)用于补偿CPU与内存及外围设备之间在操作速度上的差别;

(3)在单累加器结构的运算器中,存储器数据缓冲寄存器还可兼作为操作数寄存器。第9页,共116页,2023年,2月20日,星期日指令寄存器(IR)

指令寄存器IR用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作,指令译码器就是完成这项工作的。指令寄存器中的操作码字段被送入指令译码器中,操作码一经译码后,即可向操作控制器发出具体操作的特定信号。第10页,共116页,2023年,2月20日,星期日累加寄存器(AC)

累加寄存器AC通常简称为累加器,它是一个通用寄存器。其功能是:当运算器需执行算术或逻辑运算时,为ALU提供一个工作区,它可暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。第11页,共116页,2023年,2月20日,星期日状态条件寄存器(PSW)

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

第12页,共116页,2023年,2月20日,星期日2、控制器基本组成PC(ProgramCounter)程序计数器IR(InstructionRegister)指令寄存器ID(InstructionDecoder)指令译码器OC(OperateController)操作控制器TG(TimerGenerator)时序发生器第13页,共116页,2023年,2月20日,星期日操作控制器根据指令操作码和地址码,产生各种控制信号序列,建立正确的数据通路,从而完成取指令和执行指令的控制。硬布线控制器(时序逻辑型)(硬件实现)微程序控制器(存储程序型)(软件实现)数据通路------执行部件间传送信息的通路。第14页,共116页,2023年,2月20日,星期日时序产生器产生各种时序信号(电位,脉冲);对各种操作实施时间上的控制。第15页,共116页,2023年,2月20日,星期日ALU3、运算器结构PSWAXBXCXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YCLAADD30STA40NOPJMP21…

000004…

00000620212223243040第16页,共116页,2023年,2月20日,星期日CLAADD30STA40NOPJMP21…

000004…

00000620212223243040ALUADDAX,BXPSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6第17页,共116页,2023年,2月20日,星期日CLAADD30STA40NOPJMP21…

000004…

00000620212223243040ALUADDAX,[30]PSWAX=2BX=4CXDXDR左路开关选择右路开关选择数据总线DBUS移位器操作数X操作数YAX=6DR=4第18页,共116页,2023年,2月20日,星期日CLAADD30STA40NOPJMP21…

000006…

00000420212223243040ALU指令译码器000000程序计数器PCAR地址寄存器ARDR缓冲寄存器DRAC累加器ACIR指令寄存器IR操作控制器OC时序产生器TG执行指令控制地址总线ABUS数据总线DBUSCPU基本结构PSWPSWCPU第19页,共116页,2023年,2月20日,星期日课堂练习与思考:

1、在CPU组成中不包括______。

A.指令寄存器

B.地址寄存器

C.指令译码器

D.地址译码器

D2、当今的CPU芯片除了包括定点运算器和控制器外,还包括______,______运算器和______管理等部件。

Cache浮点存储

3、在CPU中跟踪指令后继地址的寄存器是______。A、主存地址寄存器B、程序计数器C、指令寄存器D、状态条件寄存器B4、CPU中至少有如下六类寄存器______寄存器,______计数器,______寄存器,通用寄存器,状态条件寄存器,缓冲寄存器。

指令程序地址

第20页,共116页,2023年,2月20日,星期日课堂练习与思考:5、CPU中,保存当前正在执行的指令的寄存器为

,保存当前正在执行的指令的地址的寄存器为

,保存CPU访存地址的寄存器为

。指令寄存器IR

程序计数器PC

内存地址寄存器MAR6、CPU的四个主要功能是

。指令控制操作控制时间控制数据加工

第21页,共116页,2023年,2月20日,星期日8.2指令周期(★★★)指令周期基本概念CLA指令周期ADD指令周期STA指令周期NOP指令周期JMP指令周期第22页,共116页,2023年,2月20日,星期日1、指令周期基本概念时钟周期:T,节拍脉冲CPU周期:机器周期,从内存读出一条指令的最短时间指令周期:从内存取一条指令并执行该指令所用的时间。由若干个CPU周期组成。CPU周期又包含若干时钟周期(节拍脉冲)

T周期

T1

T2

T3

T4

T1

T2

T3

T4

机器周期(取指令)

指令周期

机器周期(执行指令)

第23页,共116页,2023年,2月20日,星期日[名词概念]:

指令周期

:

CPU从内存取出一条指令并执行完这条指令的时间总和。

CPU周期

:

又称机器周期,CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义。

时钟周期

:

通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T。

相互关系:

1个指令周期=若干个CPU周期;

1个CPU周期=若干T周期

取指时间+执行指令时间第24页,共116页,2023年,2月20日,星期日指令周期基本概念(★★★)取指令周期取操作数周期(可无)执行周期取指令PC+1执行指令开始第25页,共116页,2023年,2月20日,星期日2、CLA指令周期取指令PC+1指令译码执行指令取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始第26页,共116页,2023年,2月20日,星期日DRCLAADD30STA40NOPJMP21…

000006…

00000420212223243040ALUAC000020ARCLAIR指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000020CLA000000000CLA指令000021+1PC→AR→ABUS→RAM→DBUS→DR→IRPC+1第27页,共116页,2023年,2月20日,星期日执行过程的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IR0→AC第28页,共116页,2023年,2月20日,星期日CLACLAADD30STA40NOPJMP21…

000006…

00000420212223243040ALU000021000020ADD30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000021ADD300000000003、ADD指令000022+1PC→AR→ABUS→RAM→DBUS→DR→IRPC+1第29页,共116页,2023年,2月20日,星期日CLACLAADD30STA40NOPJMP21…

000006…

00000420212223243040ALU000021000021ADD30CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000030ADD30000000000ADD指令000022+1000006IR→AR→ABUS→RAM→DBUS→DR→ALUALU→AC006第30页,共116页,2023年,2月20日,星期日ADD执行过程的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IRIR(A)→AR→ABUS→RAM→DBUS→DR→ALUALU→AC

第31页,共116页,2023年,2月20日,星期日4、STA40指令周期取指令PC+1指令译码送操作数取下条指令PC+1取指令阶段1个CPU周期1个CPU周期开始送操作数地址执行指令阶段1个CPU周期执行写存操作第32页,共116页,2023年,2月20日,星期日CLACLAADD30STA40NOPJMP21…

000006…

00000420212223243040ALU000021000030STA40CLA指令译码器操作控制器时序产生器程序计数器PC地址寄存器AR缓冲寄存器DR累加器AC指令寄存器IR执行指令控制地址总线ABUS数据总线DBUS000040STA40STA指令000023+1000006000006000006IR(A)→AR→ABUSAC→DRDR→DBUS→RAM第33页,共116页,2023年,2月20日,星期日执行过程的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IRIR(A)→AR→ABUSAC→DRDR→DBUS→RAM第34页,共116页,2023年,2月20日,星期日5、NOP指令周期取指令PC+1指令译码空操作等待一个周期取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始第35页,共116页,2023年,2月20日,星期日6、JMP21指令周期取指令PC+1指令译码送转移地址取下条指令PC+1取指令阶段执行指令阶段1个CPU周期1个CPU周期开始第36页,共116页,2023年,2月20日,星期日CLAADD30STA40NOPJMP21…

000006…

00000420212223243040ALU000025000024JMP21CLA指令译码器操作控制器时序产生器程序计数器

PC地址寄存器AR缓冲寄存器DR累加器

AC指令寄存器

IR执行指令控制地址总线ABUS数据总线DBUS000021JMP21JMP21指令000021+1000006000006000022IR(A)→PC第37页,共116页,2023年,2月20日,星期日执行过程中的操作PC→ARPC+1→PCAR→ABUS→RAM→DBUS→DRDR→IRIR(A)→PCNextcommand第38页,共116页,2023年,2月20日,星期日

五条指令的取指和执行过程

我们把前面的五条典型指令加以归纳,其取指和执行过程请见CAI演示。第39页,共116页,2023年,2月20日,星期日8.3数据流指令周期期间,严格的事件序列取决于中央处理器的设计,然而我们能以通常的方式取出什么事件必定发生。先假定一个中央处理器,它有存储器地址寄存器(MAR)一个存储器缓冲寄存器(MDR),一个程序计数器(PC),一个指令寄存器(IR)。在取指令周期期间,一条指令由存储器读入,图8-6表示此期间的数据流动。开始时PC内容有待取的下一条指令的地址。这个地址被传送到并放在地址总线上。控制器发生一次存储读,其结果放到数据总线上并被复制到MBR,然后传送到IR。在此期间PC增1,为下次取指做好准备。第40页,共116页,2023年,2月20日,星期日1.取指周期数据流指令周期的数据流MDRCUMARPCIR存储器CPU地址总线数据总线控制总线IR+1第41页,共116页,2023年,2月20日,星期日

一旦经历取指周期,控制器检查IR的内容,以确定是否有一个使用间接寻址的操作数指定器。若是一个间址周期完成,如图8-8所示,这是一个简单周期。MDR最右的N位是一个地址引用,被传送到MAR。然后,控制器发一个存储器读信号,得到所要求的操作数地址并送入MDR。像取指和间址周期一样,中断周期是可预期的。图8-9。PC的当前内容必须保存,以便在中断之后中央处理器能恢复正常的工作。于是,PC的内容传送到MBR,将被写入存储器。为此目的,一个专门的存储器位置内控制器装入,例如它可能是一个堆栈指针。年三月中断子程序的地址装入PC。结果是,下一指令周期将以取此相应的指令而开始。第42页,共116页,2023年,2月20日,星期日间址周期数据流MDRCUMARCPU地址总线数据总线控制总线PCIR存储器MDR第43页,共116页,2023年,2月20日,星期日执行周期数据流中断周期数据流不同指令的执行周期数据流不同MDRCUMARCPU地址总线数据总线控制总线PC存储器第44页,共116页,2023年,2月20日,星期日8.4用指令流程图表示指令周期

上述典型指令用指令流程图描述方框图表示0→ACIR(A)→ARIR(A)→ARIR(A)→PCAR→RAMAC→DRDR→DBUSCLAADDSTAJMPNOP取指令执行指令下一条指令译码测试公操作PC→AR→RAM→DBUS→DR→IRPC+1AR→RAMDBUS→DRDR→ALUALU→AC第45页,共116页,2023年,2月20日,星期日公操作一条指令执行完后,CPU所进行的一些操作。对外设请求的处理(中断,通道)若无外设请求的处理,CPU则转而取下条指令。由于取指令是每条指令都有的,所以,取指令也是公操作。第46页,共116页,2023年,2月20日,星期日例题1:某计算机的数据通路如下图所示,其中M—主存,MBR—主存数据寄存器,MAR—主存地址寄存器,R0-R3—通用寄存器,IR—指令寄存器,PC—程序计数器(具有自增能力),C、D--暂存器,ALU—算术逻辑单元(此处做加法器看待),移位器—左移、右移、直通传送。所有双向箭头表示信息可以双向传送。

第47页,共116页,2023年,2月20日,星期日请按数据通路图画出“ADD(R1),(R2)+”指令的指令周期流程图。该指令的含义是两个数进行求和操作。其中源操作地址在寄存器R1中,目的操作数寻址方式为自增型寄存器间接寻址(先取地址后加1)。解:“ADD(R1),(R2)+”指令是SS型指令,两个操作数均在主存中。其中源操作数地址在R1中,所以是R1间接寻址。目的操作数地址在R2中,由R2间接寻址,但R2的内容在取出操作数以后要加1进行修改。指令周期流程图如图所示:第48页,共116页,2023年,2月20日,星期日0第49页,共116页,2023年,2月20日,星期日第50页,共116页,2023年,2月20日,星期日例题2:某计算机有如下部件:ALU,移位器,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0——R3

,暂存器C和D。见下图所示(1)请将各逻辑部件组成一个数据通路,并标明数据流向。(2)画出“ADDR1,(R2)”指令的指令周期流程图,指令功能是(R1)+((R2))→R1。第51页,共116页,2023年,2月20日,星期日解:(1)各功能部件联结成如图所示数据通路。第52页,共116页,2023年,2月20日,星期日(2)此指令为RS型指令,一个操作数在R1中,另一个操作数在R2为地址的内存单元中,相加结果放在R1中。送当前指令地址到MAR取当前指令到IR,PC+1,为取下条指令做好准备①取R1操作数→C暂存器。②R2中的内容是内存地址③从内存取出数→D暂存器④暂存器C和D中的数相加后送R1

第53页,共116页,2023年,2月20日,星期日课堂练习与思考:1、运行一条指令MOV(R0),R1,需经过下述那几个工作周期()。(题型:多选)A.DMA周期B.取指周期C.执行周期D.源周期B、C2、在指令周期的第一个CPU周期内,CPU中地址寄存器内容是()。(题型:单选)A.指令B.指令地址C.数据D.数据地址B3、假设某机设置了取指周期,取数周期,执行周期,中断周期和DMA周期,那么一条指令从取指令开始到指令执行完毕最多可能经历()(题型:多选)A.DMA周期B.取指周期C.取数周期D.执行周期B、C、D第54页,共116页,2023年,2月20日,星期日课堂练习与思考:4、将指令周期划分为几个工作阶段,每个工作阶段所需时间称为工作周期。下面有关工作周期的描述中正确的有()。(题型:多选)A.不同工作周期所占时间可以不同;B.不同指令的同一工作周期所需的时间可能不同;C.不同指令可以含有不同的几个工作周期;D.工作周期可以在多级时序系统中作为独立的一级时序A、C、D5、请说明指令周期、机器周期、时钟周期之间的关系。解答:指令周期是指取出并执行一条指令的时间,指令周期常常用若干个CPU周期数来表示,CPU周期也称为机器周期,而一个CPU周期又包含若干个时钟周期(也称为节拍脉冲或T周期)。第55页,共116页,2023年,2月20日,星期日8.5时序信号产生器

微程序控制器中使用的时序信号产生器由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。1.时钟源时钟源用来为环形脉冲发生器提供频率稳定、且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。第56页,共116页,2023年,2月20日,星期日1、电位-脉冲制时序信号最基本的体制是电位-脉冲制。当实现寄存器之间的数据传送时,数据必须以电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发器记忆为止,这段时间较长,所以数据需要用电位表示。而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。

第57页,共116页,2023年,2月20日,星期日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

第58页,共116页,2023年,2月20日,星期日3、环形脉冲发生器与读写时序Q

D

Q

C4

&

脉冲时钟源

RD¢

T4

0

T1

0

RD0

T2

0

T3

0

WE0

WE¢

R

+5VSCLR&

&

&

&

&

Q

D

Q

C1

3

2

Q

D

Q

C3

1

ff

Q

D

Q

C2

f第59页,共116页,2023年,2月20日,星期日电路说明4个触发器输入输出串联构成循环移位电路D触发器R/S端分别为Reset和SetC1C2C3时钟信号为上跳沿C4时钟信号为下跳沿第60页,共116页,2023年,2月20日,星期日

0001上跳沿1111下跳沿1110上跳沿0110上跳沿0010上跳沿0000下跳沿0001CLR上跳沿C3C2C1C4Ф脉冲时钟源

R

+5V

S

CLR

Q

D

Q

C

1

3

2

Q

D

Q

C

4

Q

D

Q

C

3

1

f

f

Q

D

Q

C

2

f

f

第61页,共116页,2023年,2月20日,星期日10430332022101CTCTCCTCCT==·=·=EWCWEDRCRD3020¢=¢=·第62页,共116页,2023年,2月20日,星期日4、启停控制逻辑

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

&

&

第63页,共116页,2023年,2月20日,星期日LDAR

RDM

LDDR

LDIRPC+1ΦT1

T2

T3

T4

CPU周期

取指

执行

CPU周期

时序图状态周期电位

节拍电位

节拍脉冲

第64页,共116页,2023年,2月20日,星期日LDAR

RDM

LDDR

LDIRPC+1ΦT1

T2

T3

T4

CPU周期

取指

CPU周期

状态周期电位

节拍电位

节拍脉冲

LDAR

RDM

LDDR

LDIRPC+1

第65页,共116页,2023年,2月20日,星期日LDAR

RDM

LDDR

LDIRPC+1ΦT2

T3

T4

CPU周期

取指

T1

CPU周期

状态周期电位

节拍电位

节拍脉冲

LDAR

LDAR’=lDAR*T1

RD’=RD*T2

第66页,共116页,2023年,2月20日,星期日LDAR

RDM

LDDR

LDIRPC+1ΦCPU周期

取指

CPU周期

状态周期电位

节拍脉冲

LDAR

RDM

LDDR

LDIRPC+1

LDAR’

RD’

LDDR’

LDIR’

第67页,共116页,2023年,2月20日,星期日8.6控制方式

控制方式:即控制不同操作序列时序信号的方法。常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式。

1.同步控制方式在任何情况下,已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:(1)采用完全统一的机器周期执行各种不同的指令。(2)采用不定长机器周期。(3)中央控制与局部控制结合。

第68页,共116页,2023年,2月20日,星期日产生不同微操作命令序列所用的时序控制方式同步控制方式任一微操作均由统一基准时标

的时序信号控制CLK机器周期机器周期机器周期(取指令)(取有效地址)(执行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3(1)采用完全统一

的机器周期和节拍以最长的微操作序列

和最繁的微操作作为标准第69页,共116页,2023年,2月20日,星期日(2)采用不同节拍的机器周期机器周期机器周期(取指令)(执行指令)指令周期T0T1T2T3T0T1T2

节拍(状态)机器周期机器周期(取指令)(执行指令)T0T1T2T3T0T1T2T3TT延长第70页,共116页,2023年,2月20日,星期日(3)采用中央控制和局部控制相结合的方法T0T1T2T3T0T1T2中央控制节拍T*T*T*局部控制节拍

T3T0T1中央控制节拍机器周期执行周期指令周期取指周期T0T1T2T3局部控制的节拍宽度与中央控制的节拍宽度一致第71页,共116页,2023年,2月20日,星期日2.异步控制方式

其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成;也可以是当控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。显然,用这种方式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。

第72页,共116页,2023年,2月20日,星期日3.联合控制方式

此为同步控制和异步控制相结合的方式。

情况(1):大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束;

情况(2):机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。第73页,共116页,2023年,2月20日,星期日课堂练习与思考:1、时序信号产生器提供机器所需的

时序信号,在硬联线控制器中,时序信号采用

三级体制,在微程序控制器中,一般采用

二级体制。定时主状态-节拍电位-节拍脉冲节拍电位-节拍脉冲2、CPU从主存取出一条指令并执行该指令的时间叫

,它通常包含若干个

,而后者又包含若干个

。组成多级时序系统。指令周期

机器周期

节拍3、在寄存器—寄存器型,寄存器—存储器型和存储器—存储器型三类指令中,哪类指令的执行时间最长?哪类指令的执行时间最短?为什么?解答:寄存器-寄存器型执行速度最快,存储器-存储器型执行速度最慢。因为前者操作数在寄存器中,后者操作数在存储器中,而访问一次存储器所需的时间一般比访问一次寄存器所需时间长。第74页,共116页,2023年,2月20日,星期日8.7中断系统8.7.1概述1.引起中断的各种因素(1)人为设置的中断(2)程序性事故如转管指令溢出、操作码不能识别、除法非法(5)外部事件(4)I/O设备(3)硬件故障用键盘中断

现行程序转管指令………管理程序第75页,共116页,2023年,2月20日,星期日2.中断系统需解决的问题(1)各中断源如何

向CPU提出请求

?(2)各中断源同时

提出请求

怎么办?(5)如何寻找入口地址

?(4)如何保护现场

?(3)CPU什么条件、什么时间、以什么方式响应中断

?(6)如何恢复现场,如何返回

?(7)处理中断的过程中又出现新的中断

怎么办?硬件

软件第76页,共116页,2023年,2月20日,星期日8.7.2中断请求标记和中断判优逻辑1.中断请求标记INTR一个请求源一个INTR

中断请求标记触发器多个INTR

组成中断请求标记寄存器INTR

分散

在各个中断源的接口电路中INTR集中

在CPU

的中断系统内12345n掉电过热阶上溢内存读写校验错非法除法键盘打印机第77页,共116页,2023年,2月20日,星期日2.中断判优逻辑①

分散在各个中断源的接口电路中链式排队器②集中

在CPU内(1)硬件实现(排队器)

1

1

1

&

1

&

1

&INTR1INTR2INTR3INTR4INTR1

INTR2、

INTR3、

INTR4

优先级按降序

排列INTP1INTP2INTP3INTP4第78页,共116页,2023年,2月20日,星期日A、B、C

优先级按降序

排列(2)软件实现(程序查询)否……是否A请求?是B请求?是否C请求?转

A

的服务程序入口地址转B

的服务程序入口地址转C

的服务程序入口地址是是是否否第79页,共116页,2023年,2月20日,星期日8.7.3中断服务程序入口地址的寻找1.硬件向量法入口地址

200入口地址

300入口地址

40012H13H14H主存12H13H14HJMP200JMP300JMP400主存向量地址形成部件…………中断向量排队器输出向量地址

12H、13H、14H入口地址

200、300、400第80页,共116页,2023年,2月20日,星期日2.软件查询法中断识别程序(入口地址

M)地址说明指令

M

JMP1#SR1#D=1转1#服务程序

SKPDZ2#

JMP2#SR2#D=0

跳2#D=1转2#服务程序

SKPDZ8#

JMP8#SR8#D=0跳8#D=1转8#服务程序八个中断源1、2、8按降序

排列…………

SKPDZ1#1#D=0跳(D为完成触发器)第81页,共116页,2023年,2月20日,星期日8.7.4中断响应1.响应中断的条件允许中断触发器EINT=12.响应中断的时间指令执行周期结束时刻由CPU发查询信号

CPU中断查询INTR1DQINTR2DQINTRnDQ中断源1中断源2中断源

n……至排队器第82页,共116页,2023年,2月20日,星期日3.中断隐指令(1)保护程序断点(2)寻找服务程序入口地址(3)硬件关中断向量地址形成部件INTSQREINTSQRPC

1

&≥1排队器……断点存于特定地址(0号地址)内断点进栈INT中断标记EINT允许中断R–

S

触发器向量地址PC(硬件向量法)MPC中断识别程序

入口地址(软件查询法)第83页,共116页,2023年,2月20日,星期日8.7.5保护现场和恢复现场1.保护现场2.恢复现场寄存器

内容断点保护现场其他服务程序恢复现场中断返回PUSH视不同请求源而定POP中断服务程序

完成中断服务程序中断隐指令

完成中断服务程序完成IRET第84页,共116页,2023年,2月20日,星期日1.多重中断的概念klmk

+1l

+1m

+1第一次中断第二次中断第三次中断程序断点k+1,

l+1,m+18.7.6中断屏蔽技术第85页,共116页,2023年,2月20日,星期日2.实现多重中断的条件B,CA中断请求主程序(2)优先级别高

的中断源有权中断优先级别低

的中断源(1)提前

设置开中断

指令ABCD中断服务程序(A、B、C、D优先级按降序

排列)D第86页,共116页,2023年,2月20日,星期日

&3.屏蔽技术(1)屏蔽触发器的作用MASK=0(未屏蔽)INTR能被置“1”

1

&

&

&

1

1

1

1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ

1

DINTR

MASKQCPU查询MASKi

=1(屏蔽)INTPi

=0(不能被排队选中)第87页,共116页,2023年,2月20日,星期日(1)断点进栈(2)断点存入“

0”

地址中断隐指令

完成中断周期命令存储器写0MARPCMDR(MDR)存入存储器三次中断,三个断点都存入“

0”

地址4.多重中断的断点保护断点MDR?如何保证断点不丢失?中断隐指令

完成第88页,共116页,2023年,2月20日,星期日(3)程序断点存入“

0”

地址的断点保护

××××05JMPSERVE

××××SAVE

××××RETURNSTASAVE…0地址内容转存其他服务内容地址内容说明SERVELDASAVEJMP@RETURN存程序断点5为向量地址…保护现场恢复现场间址返回存放ACC内容转存0地址内容开中断ENILDA0STARETURN置屏蔽字第89页,共116页,2023年,2月20日,星期日8.8流水线处理器---流水线原理1.时间并行

把任务分成若干子任务,使子任务在流水线的各阶段并发地执行。--------时间上并行性。

2.空间并行

资源重复多处理器系统和多计算机系统

3.时间并行+空间并行

时间重叠和资源重复的综合应用。奔腾CPU采用超标量流水技术,可在一个机器周期同时执行两条指令。

第90页,共116页,2023年,2月20日,星期日8.8.1流水线基本概念1.产品生产流水线(1)一个问题

假设某产品的生产需要4道工序,该产品生产车间以前只有1个工人,1套生产该产品的机器。该工人工作8小时,可以生产120件(即每4分钟生产1件)。 要将该产品日产量提高到480件,如何能实现目标?

第91页,共116页,2023年,2月20日,星期日(2)两种解决方案

方案一:增加3名工人、3套设备。 方案二:产品生产采用流水线方式,分为4道工序;增加3名工人,每人负责一道工序。第92页,共116页,2023年,2月20日,星期日(3)两种方案的工作过程对比

两种方案中,单件产品的生产时间均不变。 但在稳定情况下, 方案一:每4分钟,4件产品同时进入流水线,4件成品同时离开流水线,需要增加3套设备。 方案二:每分钟,1件产品进入流水线,1件成品离开流水线,不需要增加任何设备。第93页,共116页,2023年,2月20日,星期日(4)方案二的主要特点 每件产品还是要经过4道工序处理,单件产品的加工时间并没有改变,但它将各个工人的操作时间重叠在一起,使得每件产品的产出时间从表面上看是从原来的4分钟缩减到1分钟,提高了产品的产出率。第94页,共116页,2023年,2月20日,星期日2、串行工作的洗衣店洗衣店用6小时完成了4个任务(0.67t/h);4个同学各等待了1.5小时;Washer使用2小时(0.33);Dryer使用2小时40分(0.44);Folder使用1小时20分(0.22);ABCD3040203040203040203040206PM7891011Midnight任务顺序第95页,共116页,2023年,2月20日,星期日(2)流水工作的洗衣店洗衣店用3.5小时完成了4个任务(1.14t/h);4个同学各等待了1.5小时;Washer使用2小时(0.57);Dryer使用2小时40分(0.76);Folder使用1小时20分(0.38);ABCD6PM7891011Midnight任务顺序304040404020第96页,共116页,2023年,2月20日,星期日流水线不能缩短单个任务的响应时间,但可以提高吞吐率;流水线速度限制于最慢流水站的速度;流水线中多个任务是并行处理的;最大加速比=流水站数流水站速度不匹配流水线“填充”和“排空”时间304040404020(3)洗衣店的结论第97页,共116页,2023年,2月20日,星期日3.计算机中的流水线指令流水线功能部件流水线第98页,共116页,2023年,2月20日,星期日4.流水技术

将一重复的时序过程分解为若干子过程,每个子过程都可有效地在其专用功能段上与其它子过程同时执行,这种技术称为流水技术。5.时-空图

从时间和空间两个方面描述流水线的工作过程,横坐标表示时间,纵坐标表示各流水段。I1

时间T

I1

I1

I1

IF

ID

EX

WB

空间S

I2

I2

I2

I2

I1I3

I3

I3

I3

I4

I4

I4

I4

I5

I5

I5

I5

I6

I6

I7

I8

I7

I6

I2I3I4I5第99页,共116页,2023年,2月20日,星期日6.流水线的特点

流水过程由多个相关的子过程组成,这些子过程称为流水线的“级”或“段”。段的数目称为流水线的“深度”。 每个子过程由专用的功能段实现,各功能段的时间应基本相等,通常为1个时钟周期(1拍)。 流水线需要经过一定的通过时间才能稳定。 流水技术适合于大量重复的时序过程。第100页,共116页,2023年,2月20日,星期日8.8.2计算机的指令周期细分取指令IF(InstructionFetch)

指令译码ID(InstructionDecode)

执行运算EX(Execution)

结果写回WB(WriteBack)第101页,共116页,2023年,2月20日,星期日1、串行执行过程IFIDEXWB第102页,共116页,2023年,2月20日,星期日2、非流水线时空图I1

时间T

I1

I1

I1

IF

ID

EX

WB

空间S

I2

I2

I2

I2

I1I2第103页,共116页,2023年,2月20日,星期日3、流水线时空图I1

时间T

I1

I1

I1

IF

ID

EX

WB

空间S

I2

I2

I2

I2

I1I3

I3

I3

I3

I4

I4

I4

I4

I5

I5

I5

I5

I6

I6

I7

I8

I7

I6

I2I3I4I5第104页,共116页,2023年,2月20日,星期日4、超标量流水线时空图时间T

IF

ID

EX

WB

空间S

I12I34I1

I2

I3

I4

I1

I2

I3

I4

I1

I2

I3

I4

I1

I2

I3

I4

具有两条以上的指令流水线。满载时,每一时钟周期可以执行2条指令I56I78第105页,共116页,2023年,2月20日,星期日5、流水线分类

1.指令流水线

取指---译码---取数---执行

2.算术流水线

加法器,乘法器,快速傅里叶变换器

STAR-100------4级

3.处理机流水线

由一串级连的处理机组成.

每台处理机负责某一特定任务.

第106页,共116页,2023年,2月20日,星期日多体交叉存储器Cache指令部件(I+K+1)指令I+K指令I+2指令I+1执行部件(指令I)取指令指令译码计算操作数地址取操作数FIFO指令队列算术运算流水线存储体系流水方式CPU流水计算机

系统组成

指令部件指令队列执行部件

温馨提示

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

评论

0/150

提交评论