ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:22.22KB ,
资源ID:15753769      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15753769.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第8章教案.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第8章教案.docx

1、第8章教案第八章 CPU的结构与功能8.1 CPU的结构8.1.1 CPU的功能冯诺依曼机指令的执行过程: 取指令 分析指令 执行指令8.1.2 CPU结构框图主要包括ALU、寄存器、CU和中断系统。CPUALU寄存器CU中断系统控制总线地址总线数据总线系统总线图8.1 使用总线的CPU取反中断系统寄存器内部数据总线ALU状态标志移位CU控制信号算术和布尔逻辑图8.2 CPU的内部结构8.1.3 CPU的寄存器1、用户可见寄存器 通用寄存器可以存放数据,也可以存放地址(用于寻址) 数据寄存器用于存放数据 地址寄存器用于存放d地址 条件代码寄存器用于存放条件代码(标志),如Z、O、Cy等2、控制

2、和状态 MAR存储器地址寄存器 MDR存储器数据寄存器 PC程序计数器 IR指令寄存器3、举例(参见图8.3和图8.4)不同CPU的的寄存器组织结构一般不同。1)Zilog Z8000 16个通用寄存器(其中2个作堆栈指针SP),寄存器可作8位运算或32位运算。 5个与程序状态有关的寄存器:标志控制器(FCW)、PC段和PC偏移、P.S.A段和P.S.A偏移(辅助PC)。2)Intel 8086 通用寄存器:AX、BX、CX、DX 指针和变址寄存器:SP、BP、SI、DI 段寄存器:CS、DS、SS、ES 程序状态寄存器:IP、F3)Motorola MC68000 8个32位数据寄存器:D0

3、D7 9个32位地址寄存器:A0A7、A7/,其中A7为用户堆栈指针,A7/为管理堆栈指针。 程序状态寄存器:PC(32位)、F(16位)4)升级的兼容性问题Z8000和Intel8086均为16位(寄存器也是16位),发展为32位后,一般采取扩展的方式保持向下兼容。(参见图8.3和图8.4)8.1.4 控制单元CU和中断系统控制单元CU提供完成机器全部指令操作的微操作命令序列。形成微操作命令序列有两种方法:1)组合逻辑设计方法(硬连线逻辑);2)微程序设计方法(存储逻辑)。中断系统主要用于处理计算机的各种中断事件。8.2 指令周期8.2.1 指令周期的基本概念指令周期:CPU每取出并执行一条

4、指令所需要的全部时间。包括取指周期(取指、分析)和执行周期两部分。 不同指令的操作功能不同,指令周期也不相同。如:JMP X ;直接给出转移地址,无需访存ADD X ;给出操作数地址,需访存取数(访存子周期)MUL X ;给出操作数地址,需访存取数,同时操作费时ADD X ;给出操作数间接地址,需间接访存取数(访存2次),;即出现间址子周期 实际上,CPU在执行完一条指令后,需要发出中断查询信号,即需附加中断子周期。完整的指令周期包括取指、间址(含直址)、执行、中断子周期。取指周期YesNo执行周期有间址?间址周期Yes中断周期有中断?No图8.8 指令周期流程在中断周期中,需要保存断点地址,

5、取中断入口地址PC。这四个子周期可分别用FE、IND、EX、INT四个标志表示对应的操作,当为“0”时表示无对应的操作;当为“1”时表示有对应的操作;由“1”变为“0”时表示对应的操作结束。8.2.2 指令周期的数据流1、取指周期的数据流PC内容 MAR 地址总线 CU发存储器读命令 存储器内容 数据总线 MDR IR( MDR 数据总线 IR MDR位于存储器内)2、间址周期的数据流IND1:MDR Ad(MDR) MAR 地址总线 CU发存储器读命令 存储器内容 数据总线 MDR3、执行周期的数据流不同指令执行的操作不同,可能涉及寄存器间数据传送、存储器读/写操作、ALU操作等。4、中断周

6、期的数据流INT1:SP内容 MAR 地址总线 PC内容 MDR 数据总线 CU发存储器写命令 存储器写操作;此外,还应获取中断向量,在获取中断程序入口地址 PC。8.3 指令流水提高机器处理能力的途径:1)提高期间的性能包括速度、集成度、可靠性、价格等2)改进系统的结构,开发系统的并行性 并行性包含同时性和并行性两方面 同时性指多个事件在同一时刻发生 并行性指多个事件在同一时间段发生,在时间上存在重叠; 并行性体现在不同的等级上:作业级或程序级、任务级或进程级、指令间级和指令内部级。作业级或程序级、任务级或进程级称为粗粒度级(过程级)并行性,一般在多个处理机上分别运行多个进程。指令间级和指令

7、内部级称为细粒度级(指令级)并行性,指在处理机的操作级和指令级的并行性,而指令流水是一项重要的技术。8.3.1 指令流水原理指令流水类似于工厂的装配线,即不同的产品在装配线上的不同阶段同时装配,多个产品在装配时间上具有重叠性。完整执行一条指令可以分为多个阶段,程序的执行是一个周而复始的重复过程。取指令3执行指令3取指令2执行指令2执行指令1取指令1图8.13 指令的串行执行实际上,在取指令时,执行部件是空闲的,在执行指令时,取指令部件基本上是空闲的。可以考虑在执行部件执行指令的同时取下一条指令,即两条指令的执行过程在时间上有重叠(即指令流水)。取指令4执行指令4取指令1执行指令1取指令2执行指

8、令2取指令3执行指令3图8.14 指令的二级流水 指令二级流水可以大大提高CPU的处理速度,但并不是成倍增加。1)指令的执行时间一般大于取指时间;2)当遇到转移指令时,必须等到本指令执行结束后才能知道下一条指令的地址。 为进一步提高处理速度,将处理过程分解为以下的几个阶段: 取指(FI) 指令译码(DI) 计算操作数地址(CO) 取操作数(FO) 执行指令(EI) 写操作数(WO)t假设上述六个阶段的操作时间是相同的,则可得到下图的指令六级流水时序:指令1指令2指令3指令4指令5指令6指令7指令8EIFOCODIFIWOEIFOCOWOEIFOCODIFIWOEIFOCODIFIWOEIFOC

9、ODIFIWOEIFOCODIFIWOEIFOCODIFIFIWODIWOEIFOCODIFI图8.15 指令六级流水时序在指令六级流水中,并非每一条指令都包含上述六个阶段。同时FI、FO和WO均涉及存储器操作,若出现冲突就无法并行处理。8.3.2 响应流水线性能的因素1、访存冲突避免方法: 设置两个存储器系统分别放置指令和数据 采用预取指令技术设置预指令队列,在执行指令过程中利用存储器空闲时间取下一条指令,只要预指令队列有空,就可以取下一条指令。2、相关问题指程序中相近指令之间出现某种关联关系,使得指令流出现停顿。 控制相关当一条指令需要等到前一条指令(或前几条指令)作出转移方向的决定后才能

10、进入流水线,即产生控制相关。t指令1指令2指令3指令4指令5指令6指令7指令15指令16WOEIFOCODIFIWOEIFOCODIFIWOEIFOCODIFIFIDIFICODIFIFOCODIFIWOEIFOCODIFIEIFOCODIFI图8.16 条件转移堆指令流水操作得影响 数据相关指几条指令共用了同一个存储单元(或寄存器)的内容时所发生的关联。可以采取旁路技术部分解决。数据相关主要有读写相关、写读相关和写写相关。8.3.3 流水线的多发技术设法在一个时钟周期内,产生多条指令的结果。1、超标量技术 在每个时钟周期内可以同时并发多条独立指令,即以并行操作的方式将两条或两条以上的指令编译

11、并执行。 超标量处理机内部配置有多个功能部件和指令译码电路,以及多个寄存器端口和总线。 条件:并发执行的指令不能相关。2、超流水线技术超流水线技术是将一些流水线寄存器插入流水线段中,好比将流水线分道。3、超长指令字技术 超长指令字处理具备多个处理部件,能同时处理多条指令; 通过编译器把程序中能并行处理的指令组成一条具有多个操作码字段的超长指令,该指令控制处理机的多个独立工作的功能部件; 对优化编译器要求很高,对Cache容量要求很大。IF ID EX WRIF ID EX WR(a)普通流水线 (b)超标量流水IF ID EX WRIF ID EX WR(c)超流水线 (d)超长指令图8.17

12、 四种流水线技术比较8.3.4 流水线结构1、指令流水线结构取指令部件修改指令指针部件回写结果部件操作执行部件取操作数部件地址形成部件指令译码部件图8.18 指令流水线结构2、运算流水线结构锁存器规格化部件锁存器尾数加部件锁存器对阶功能部件图8.19 浮点数加法运算操作流水线8.4 中断系统8.4.1 概述1、引起中断的各种因素 人为设置中断人为在程序中调用中断(软中断) 程序性中断出现定点溢出、浮点溢出、操作码不能识别、除数0等。 硬件故障 I/O设备 外部事件如用户通过键盘来中断现行程序的运行。2、中断系统需要解决的问题 各中断源如何向CPU提出中断请求; 当多个中断源同时提出中断请求时,

13、中断系统如何确定优先响应哪个中断源的请求; CPU在什么条件、什么时候、以什么方式来响应中断; CPU响应中断后如何保护现场; CPU响应中断后,如何停止现行程序的执行而转入中断服务程序的入口地址; 中断服务结束后,CPU如何恢复现场,如何返回原程序的间断处; 在中断处理过程中又程序新的中断请求时,CPU该如何处理。8.4.2 中断请求标记和中断判优逻辑1、中断请求标记在中断系统中必须设置中断请求标记触发器(简称中断请求触发器,记做INTR),当触发器为“1”时,表示相应的中断源有请求。n54321内存读写校验错误打印机输出光电机输入非法除法阶上溢过热掉电图8.21 中断请求标记寄存器2、中断

14、判优逻辑1)硬件排队 链式排队器 CPU内部排队器INTP1&INTP21111&INTP4&INTP31INTR3再次优先级中断请求INTR4最低先级中断请求INTR2次优先级中断请求INTR1最优先级中断请求图8.22 集中在CPU内部的排队器2)软件排队是转A的服务程序入口地址是否A请求?否转B的服务程序入口地址是是否B请求?否转C的服务程序入口地址是是否C请求?图8.23 按ABC优先级别的软件排队8.4.3 中断服务程序入口地址的寻找1、硬件向量法利用硬件产生中断向量地址,再由向量地址找到中断服务程序入口地址。主存中断向量向量地址形成部件入口地址300入口地址200入口地址40012

15、H向量地址 13H14H来自中断排队器输出图8.25 中断向量地址表图8.24 CPU内的向量地址形成部件由向量地址找到服务程序入口地址有两种方法:1)在向量地址内存放一条跳转指令(如图5.40);2)设置向量地址表,向量地址所对应的存储单元的内容为中断服务程序的入口地址。2、软件查询法用软件寻找中断服务程序的入口地址,如图8.23所示。8.4.4 中断响应1、中断响应的条件 中断允许触发器 EINT为“1”(可用指令置“1”或“0”) 有中断请求2、响应中断的时间在指令执行周期结束时刻响应中断3、中断隐指令 保护程序断点(保存PC的值) 寻址中断服务程序入口 硬件向量法(中断响应周期中,CP

16、U获取中断地址,然后送PC) 软件查询法 关中断(进入中断程序后防止新中断的干扰)PC向量地址形成部件&QINTS RQEINTS R11排队器图8.27 硬件关中断示意图8.4.5 保护现场和恢复现场 保护程序断点(硬件自动完成) 保护CPU内部的寄存器(用户编程实现)8.4.6 中断屏蔽技术1、多重中断的概念 若CPU在执行某个中断服务程序时,对任何新的中断请求均不响应,必须等到当前中断服务程序执行结束后才响应,称为单重中断。 若CPU在执行某个中断服务程序过程中,CPU又响应另一个新的中断请求,使得CPU暂时中断正在执行的中断服务程序,转去执行新的中断服务程序,称为多重中断。mm+1kk

17、+1ll+1第三次中断第一次中断第二次中断2、实现多重中断的条件1)在中断服务程序中提前设置“开中断”指令(保护现场后)2)优先级别高的中断有权中断优先级别低的中断3、屏蔽技术中断屏蔽指用户通过指令禁止和开放某个或某几个中断的技术。1)屏蔽触发器与屏蔽字当中断屏蔽触发器MASKi1时,即使对应的中断源的INTRi有效,该中断请求将被屏蔽掉,如图8.30所示。&INTP41&INTP31&INTP211INTP11INTR1INTR1MASK1INTR2INTR2MASK2MASK2MASK1图8.30 具有屏蔽功能的排队器每一个中断请求触发器均有与之对应的中断屏蔽触发器。所有中断屏蔽触发器组合

18、起来构成一个中断屏蔽寄存器。中断屏蔽寄存器的内容称为中断屏蔽字。中断屏蔽字与中断源的优先级别有一一对应的关系。表8.1 中断优先级与中断屏蔽字的关系优先级屏 蔽 字1231516111111*101111111111111110011111111111111000000000000001100000000000000012)屏蔽技术可以改变中断优先级别例如,将屏蔽字设为0000101111111111,则中断1、2、3、4、6被屏蔽,若中断5和6同时产生请求,则中断6得到CPU响应。若中断6响应后,将屏蔽字改为0000001111111111,则中断5得到CPU响应。3)屏蔽技术的其他响应可以在某个时间段内,单独禁止CPU对某个中断请求的响应。4)多重中断的断点保护一般来讲,应使用堆栈来对多重中断断点的保护。SP(SP)m+1l+1k+1ll+1mm+1kk+1第三次中断第二次中断第一次中断

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2