已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理 PrinciplesofComputerOrganization 广义双语教学课程 http 211 64 192 109 skyclass25 青岛理工大学校级精品课程 盛建伦jlsheng 2 异步清零并行置数三态输出的16位寄存器 16位寄存器应该有16位的数据输入端口D和数据输出端口Q 还有时钟脉冲CLK 置数控制load 清零clear和输出允许 输出三态门控制 OE等端口 16位寄存器的系统框图 VHDL程序 盛建伦jlsheng 3 异步清零并行置数三态输出的16位寄存器 libraryieee 异步清零并行置数三态输出的16位寄存器useieee std logic 1164 all entityreg16THRisport clk clear load oe l instd logic d instd logic vector 15downto0 q outstd logic vector 15downto0 endentityreg16THR architecturev1ofreg16THRissignalq1 std logic vector 15downto0 begin 盛建伦jlsheng 4 异步清零并行置数三态输出的16位寄存器 process clock clear beginif oe l 0 thenq q1 elseq ZZZZZZZZZZZZZZZZ 不允许输出时为高阻态endif ifclear 1 thenq1 0 异步清零elsifrising edge clock thenif load 1 thenq1 d 并行置数endif endif endprocess endarchitecturev1 第10章输入输出系统 Chapter10Input outputSystem ComputerEngineering alsocalledElectronicandComputerEngineering orComputerSystemsEngineering isadisciplinethatcombinesbothElectronicEngineeringandComputerScience Computerengineersusuallyhavetraininginelectronicengineering softwaredesignandhardware softwareintegrationinsteadofonlysoftwareengineeringorelectronicengineering Computerengineersareinvolvedinmanyaspectsofcomputing fromthedesignofindividualmicroprocessors personalcomputers andsupercomputers tocircuitdesign 2 6 10 2程序中断输入输出方式 中断 Interrupt 是由I O设备或其它非预期的急需处理的事件引起的 它使CPU暂时中断当前正在执行的程序 而转去执行另一个中断服务程序 Interrupt serviceRoutine 去处理这些事件 为中断源服务 处理完后再返回原来的程序断点继续执行原来的程序 A程序 中断请求 中断服务程序 断点 盛建伦jlsheng 7 引起中断的事件称为中断源 InterruptSource 外中断 内中断 软中断 由处理机外部的I O设备 定时器 电源等引起的中断 程序运行出错或处理器硬件故障引起的中断 异常 由自陷指令产生的中断 外中断又可分为 可屏蔽中断 MaskableInterrupt 非屏蔽中断 NonMaskableInterrupt 盛建伦jlsheng 8 在计算机系统中 中断有以下作用 CPU与I O设备并行工作 硬件故障处理 实现人机联系 实现多道程序和分时操作 实现实时处理 实现应用程序和操作系统的联系 多处理机系统中各处理机之间的联系 盛建伦jlsheng 9 中断系统需解决的问题 中断源如何向CPU发出中断请求 有多个中断源同时申请中断时 如何确定应该先响应哪个中断请求 CPU以什么方式响应中断 什么时候允许响应中断请求 CPU响应中断后 如何保护现场 CPU响应中断时 如何停止原程序的执行 如何转到中断服务程序的入口地址 中断处理结束时 如何恢复现场 返回到原程序的间断点 如果在中断处理过程中出现新的中断请求 应如何处理 盛建伦jlsheng 10 CPU有若干条中断输入引脚 中断源如何向CPU发出中断请求InterruptRequest 中断应答Interruptacknowledge 可屏蔽中断MaskableInterrupt 非屏蔽中断NonMaskableInterrupt CPU INTR NMI INTA 中断输出引脚 盛建伦jlsheng 11 每个中断源有不同的中断优先级InterruptPriority 有多个中断源同时申请中断时 如何确定应该先响应哪个中断请求 首先响应优先级最高的中断请求 盛建伦jlsheng 12 中断方式InterruptMode 向量中断 非向量中断 等 向量中断 VectoredInterrupt 方式要求中断源向CPU提供一个唯一代表该中断源的特征代码 CPU以什么方式响应中断 在什么时候允许响应中断请求 CPU不是在任意时刻都可以响应中断 如果中断没有被屏蔽 至少要等到当前正在执行的这一条指令执行完 然后才能响应中断 盛建伦jlsheng 13 保护现场就是保护程序被中断时的状态 程序的断点地址 寄存器的内容 以保证在处理完中断服务后还能够继续正确执行原来的程序 CPU响应中断后 如何保护现场 通常采用将现场信息压入堆栈的方法 盛建伦jlsheng 14 CPU响应中断时 如何停止原程序的执行 如何转到中断服务程序的入口地址 每个中断源都有自己的中断服务程序 在主存储器中 必须根据响应的是哪个中断源的中断请求 找到其中断服务程序的入口地址 把中断服务程序的入口地址送入程序计数器PC 按新的地址取指令 就转而执行中断服务程序 原程序的执行自然就停止了 盛建伦jlsheng 15 中断处理结束时 如何恢复现场 返回到原程序的间断点 在中断处理完成后 中断返回之前 必须恢复现场 将堆栈中保存的各个寄存器的内容弹出到原来的寄存器中 盛建伦jlsheng 16 一般的计算机都支持多重中断 中断嵌套 如果在中断处理过程中出现了新的中断请求 应如何处理 允许响应新的中断 为优先级更高的中断请求服务 从而形成多重中断 或称为中断嵌套 中断的全过程包括5个阶段 中断请求 中断判优 中断响应 中断处理 中断返回 盛建伦jlsheng 17 1 中断请求InterruptRequest 外部设备完成指定的工作 或者发生意外事件 向CPU申请中断 一般的CPU有数条中断请求输入引脚 每条线可能要连接多个中断源 每个中断源有一个中断触发器 组成一个中断寄存器 申请中断的外部设备使中断控制器 接口的中断触发器置1 中断控制器 接口使中断请求线为有效电平 向CPU发出中断请求 盛建伦jlsheng 18 2 中断判优 如果有多个中断源同时请求中断 CPU只能响应处理其中的一个 将每个中断源按其紧急与重要的程度分高低优先级 CPU只接受优先级最高的一个中断请求 中断判优的方法有 软件查询法 硬件排队法 硬件排队是在CPU响应中断之前完成的 软件查询是在CPU响应中断之后进行的 AninterruptcontrollercircuitsuchastheIBMPC sProgrammableInterruptController PIC maybeconnectedbetweentheinterruptingdeviceandtotheprocessor sinterruptpintomultiplexseveralsourcesofinterruptontotheoneortwoCPUlinestypicallyavailable 盛建伦jlsheng 19 软件查询法SoftwarePolling 按中断源的优先级别高低 由程序按优先数的顺序 依次查询中断请求标志寄存器的各个中断源是否发出中断请求 先发现的中断请求是优先权最高的 得到CPU的响应 用跳转指令直接转到该中断源的中断服务程序入口执行 软件查询法的速度低 盛建伦jlsheng 20 硬件排队法 通常有两类方法 菊花链 中断控制器 中断控制器InterruptController 中断控制器是一个专门的逻辑电路 每个中断控制器可以连接多个 一般是8个 中断源的中断请求线 在中断控制器内有中断寄存器和优先权排队逻辑 如果有两个或多个中断源同时请求中断 只把优先权最高的一个中断源的中断请求传递给CPU 并封锁优先权低的中断源的中断请求 盛建伦jlsheng 21 优先权最高的设备排在队列的最前面 距离CPU最近 只要有中断请求就可以向CPU发出 不会被封锁 菊花链DaisyChain 用一个专门的电路 将各个中断源的中断请求逻辑按优先权由高到低的顺序连接起来 CPU在响应中断时不需要再进行中断优先权判断 所响应的就是当时优先权最高的一个中断源的中断请求 菊花链DaisyChain 只要一个设备被允许发出中断请求 则自动封锁优先权低于它的所有设备的中断申请 一直到该优先权高的设备的中断服务程序执行完 保证了在排队链上 同一时间只有一个设备能够向CPU发出中断请求 而CPU也只会接到一个中断源的中断请求 盛建伦jlsheng 23 3 中断响应InterruptResponse CPU响应中断的条件 CPU在每个机器周期都检测中断请求线是否为有效电平 但是 如果INTR为有效电平 CPU是否响应 可屏蔽 中断还取决于以下3个条件 中断响应被允许 CPU收到中断请求 一条指令执行完毕 非流水线机器 盛建伦jlsheng 24 中断响应被允许 CPU内有一个 中断允许触发器 执行 开中断 指令 使中断允许触发器置1 执行 关中断 指令 使中断允许触发器置0 中断允许触发器只屏蔽可屏蔽中断请求 不能屏蔽非屏蔽中断请求 若该触发器为0状态 就不允许CPU响应中断 中断被屏蔽 若该触发器为1状态 就允许CPU响应 可屏蔽 中断 盛建伦jlsheng 25 CPU收到中断请求 当CPU检测中断请求线状态的时刻 中断请求线上必须是有效电平 CPU才能收到中断请求 如果中断源的中断请求没有维持足够长的时间 就会丢失申请 所以 中断控制逻辑要在接收到CPU发出的中断应答信号INTA后才撤消中断请求信号 Typically theprocessorsamplestheinterruptinputatpredefinedtimesduringeachbuscyclesuchasstateT2fortheZ80microprocessor Iftheinterruptisn tactivewhentheprocessorsamplesit theCPUdoesn tseeit 盛建伦jlsheng 26 如果中断没有被屏蔽 CPU响应中断 停止现行程序的运行 执行一条中断隐指令将断点地址 PC内容 压入堆栈并关中断 然后要找到该中断源的中断服务程序入口地址 把该地址送入程序计数器PC 就可以转去执行中断服务程序了 寻找中断服务程序入口地址的方法 寻找中断服务程序入口地址有3种方法 中断向量法 软件查询法 非屏蔽中断有固定的入口 一条指令执行完毕 非流水线机器 即被中断的是程序 当前正在执行的指令还得执行完 对于非屏蔽中断请求 CPU必须在当前正在执行的指令执行完后无条件响应 盛建伦jlsheng 27 软件查询法SoftwarePolling 软件查询法是和中断判优一起完成的 找到中断源后 用一条转移指令直接转到中断服务程序入口地址执行 中断向量法VectoredInterrupt 中断向量 InterruptVector 是中断服务程序的入口地址 每个中断源都有自己的中断向量 CPU在响应中断时 发出中断应答信号INTA 中断控制器或有中断功能的接口逻辑收到中断应答信号就将代表发出中断请求的中断源的一个特征代码送上数据总线 该特征代码又称为 向量地址 IntelX86称为 中断类型码 一般是一个8位的字 唯一地对应一个中断源 CPU接着从数据总线读入该向量地址 不同的CPU有不同的方法 根据该向量地址寻找或形成中断服务程序入口地址 例如 Z80的中断方式0 中断源 或中断控制器 向CPU提供的特征代码是一条RST指令 它指向主存储器的0000H 0008H 0038H等8个地址 这些就是中断服务程序的入口地址 每个地址有8个单元 如果中断服务程序比较长 则在该入口地址放一条转移指令 转到中断服务程序入口 盛建伦jlsheng 29 又如 Z80的中断方式2 向量地址是中断向量表 中断服务程序入口地址表 指针的低8位 高8位在中断向量寄存器I中 Intel8086也采用这种方法 在中断向量表中 每个表项是2个字节的指令指针IP的值和2个字节的代码段寄存器CS的值 控制器把中断向量寄存器的内容与从数据总线读入的向量地址合成一个完整的16位地址指针 用该地址指针去查表 在中断服务程序入口地址表中取出中断服务程序入口地址 将中断服务程序入口地址置入程序计数器PC中 接着按该地址取指令就转到中断服务程序入口执行了 盛建伦jlsheng 30 CPU响应中断时的现场保护 CPU响应中断时需要保护的现场有两类 一是程序的断点地址 二是CPU内一些寄存器的内容 断点地址的保护由硬件完成 CPU响应中断时自动执行一条中断隐指令 将程序计数器PC的内容压栈 为了保证保护断点地址的过程不被新的中断打乱 否则不能保证正确地返回到断点 所以CPU在响应中断时自动关中断 将中断允许触发器置0 盛建伦jlsheng 31 CPU响应中断时的现场保护 如果在中断服务程序中使用某个寄存器 或者有算术逻辑运算指令 影响程序状态字寄存器 则需要将受影响的寄存器内容压入堆栈 由于在不同程序中需要保护的寄存器是不同的 所以 对于这些寄存器的保护 不宜由硬件完成 通常在中断服务程序的开始部分安排几条压栈指令 将它们的内容压入堆栈 盛建伦jlsheng 32 4 中断处理InterruptProcessing 这一程序段是中断服务程序中完成对事件的处理 或输入 输出 或I O设备的启动 停止 等操作的实质性工作的程序 盛建伦jlsheng 33 5 中断返回InterruptReturn 当CPU完成中断服务后 应该立即返回原程序的断点 在中断服务程序的末尾安排一条中断返回指令 中断返回指令的功能是把堆栈栈顶的内容弹出到PC中 如果在保护现场时曾经把一些寄存器内容压栈 则在中断返回前必须恢复现场 按与压栈时相反的次序弹出到相应的寄存器中 注意 在中断服务程序中压栈和出栈的次数必须相等 谨慎使用条件返回指令 由于CPU在响应中断时已经自动关中断 所以 如果在本次中断后还允许CPU响应中断 就应该在中断服务程序中安排一条开中断指令 盛建伦jlsheng 34 多重中断MultipleInterrupt 当CPU正在为一个中断源A服务时 又响应另外一个优先级更高的中断源B的中断请求 在执行完后者的中断服务程序之后再返回继续执行前者的中断服务程序 这样就形成了中断嵌套Interruptnesting 或者叫多重中断 多重中断的原则是 优先级高的中断源可以中断优先级低的中断服务程序 程序 中断服务程序A 中断服务程序B 中断服务程序C 中断请求 由于CPU在响应中断时已经自动关中断 所以 要想实现中断嵌套就必须在进入中断服务程序后执行开中断指令 使得CPU能够再次响应新的中断请求 一般把开中断指令安排在保护现场之后 如果一个中断服务程序不允许被中断 但是 在本次中断服务之后仍然允许CPU响应中断 则开中断指令必须安排在恢复现场之后 中断返回指令之前 盛建伦jlsheng 36 Homework 10 1 3 5 6 7 Interruptscanbecategorizedinto maskableinterrupt IRQ non maskableinterrupt NMI interprocessorinterrupt IPI softwareinterrupt andspuriousinterrupt Amaskableinterrupt IRQ isahardwareinterruptthatmaybeignoredbysettingabitinaninterruptmaskregister s IMR bit mask Likewise anon maskableinterrupt NMI isahardwareinterruptthatdoesnothaveabit maskassociatedwithit meaningthatitcanneverbeignored 盛建伦jlsheng 37 本节的重点内容 中断 Interrupt 是由I O设备或其它非预期的急需处理的事件引起的 它使CPU暂时中断当前正在执行的程序 而转去执行另一个中断服务程序 Interrupt serviceRoutine 去处理这些事件 为中断源服务 处理完后再返回原来的程序断点继续执行原来的程序 引起中断的事件称为中断源 InterruptSource 外中断 内中断 软中断 外中断又可分为 可屏蔽中断 MaskableInterrupt 非屏蔽中断 NonMaska
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 眼底病变的治疗措施
- 老年医学科老年人褥疮预防方案
- 检验科常规生化检验指导手册
- 膀胱癌术后规范化护理措施
- 精神科应急事件的处理
- 食品安全标准与认证课件
- 慢性结肠炎的用药指南
- 初中三年级上学期第十五课反应速度训练备课教案
- 麻醉科全麻手术前后护理管理流程
- 跨境保险数据合规-洞察与解读
- 消防应急照明和疏散指示系统课件
- 配电房巡视记录表
- 思想道德与法治2023版教学设计第二章 追求远大理想 坚定崇高信念
- SAP各模块常用表清单
- HP DL380 G9安装系统、划raid及通过ilo口安装系统
- 危险化学品包装物容器产品生产许可证实施细则
- 1世界法制史专题
- 锥齿轮加工工艺和夹具设计
- 电力系统分析智慧树知到答案章节测试2023年东北电力大学
- GB/T 41318-2022通风消声器
- 中小学生交通安全知识竞赛题库及答案
评论
0/150
提交评论