当前位置:
文档之家› 白中英 第五版 计算机组成原理第8章
白中英 第五版 计算机组成原理第8章
计算机组成原理
6
1. 程序查询方式
读 发地址和“读”命令 发地址、数据和“写”命令 检测设备状态 检测源自备状态 否 就绪? 是 写否
就绪?
读数据到CPU 适用许多单片机系统
计算机组成原理
是
7
2. 程序中断方式
外设输入或输出数据就绪时,主动通知CPU。 CPU如何响应中断请求,
• 暂停现行程序,保护好“断点”; • 转“中断服务程序”,完成对外设的读或写; • 再回到原程序,继续执行。
计算机组成原理
5
[例子]假设幼儿园一个阿姨带10个孩子,要给每个孩子分4块水果糖。假设孩子 们都应把4块糖都吃完,那么她采用什么方法呢?
方法1: 她先给孩子甲一块糖,盯着甲吃完,然后再给第二块, 等吃完第二块又给第三 块,吃完第三块又给第四块。接着给孩 子乙,其过程与孩子甲完全一样。依次类推,直至到 第 10 个孩 子发完四块糖。看来这种方法效率太低,重要之点还在于孩子们 吃糖时她一直在守 候,什么事也不能干。(程序查询方式) 方法2: 每人发一块糖各自去吃,并约定谁吃完后就向老师举手 报告,再发第二块。看来这种新方法提高了工作效率,而且在未 接到孩子们吃完糖的报告以前,她还可以腾出时间给孩子们改作 业。(程序中断方式) 方法3: 进行批处理:每人拿4块糖各自去吃,吃完4块糖后再向 她报告。显然这种方法工作 效率大大提高,她可以腾出更多的 时间改作业。(直接内存访问(DMA)方式) 方法4: 权力下放,把发糖的事交给另一个人分管,只是必要时 她才过问一下。(通道方式)
15
8.3 程序中断方式
处理器在执行程序过程中,被内部或外部的事件所打断, 转去执行一段预先安排好的中断服务程序;服务结束后, 又返回原来的断点,继续执行原来的程序
A请求 中断 主程序 A中断服务程序 B中服 C中服 B请求 C请求
计算机组成原理
16
*CPU何时响应中断请求? *如何保证返回到主程序的
主程序 中服1 中服2 中服3
多级中断可分为一维多级中断和二维多级中 断: 一维多级中断:每级中断里只有一个中断源 二维多级中断:每级中断里又有多个中断源
24
计算机组成原理
一维多级中断
中断屏蔽寄存器
优 先 级 比 较
高
优 先 级
主 程 序 D 中 服 A 中 服
低
计算机组成原理
25
二维多级中断
计算机组成原理
14
按上述步骤执行cpu资源浪费严重,实际应用中做如下改进: 1.cpu在执行主程序的过程中可周期性的调用各外部设备询问子程序。 2.该程序依次测试各I/O设备的状态是否就绪, 3.如果ready为1则转去执行该设备的任务,如果为0则测试下一个设备。 4.CPU主动询问 。
计算机组成原理
• 输出过程:
• CPU把一个设备地址值放在地址总线上,这一步将选择一个
输出设备 • CPU把数据放在数据总线上 • 输出设备认为数据有效,从而把数据取走。
2016年4月6日10时12分
计算机组成原理
3
如果把高速工作的主机同不同速度工作的外围设备相连 接,如何保证主机与外围设备在时间上同步?
1.速度极慢或简单的外围设备
通道是专用于I/O的处理器,也称IOP。
实现对外围设备的统一管理和外围设备与内存
之间的数据传送。
进一步减少CPU参与I/O过程。
计算机组成原理
10
I/O控制方式
主要由程序实现
主要由附加硬件实现
程序 查询方式
计算机组成原理
程序 中断方式
DMA方式
通道方式
11
8.2 程序查询方式
CPU需要先了解(查询)外设的工作状态,然 后在外设可以交换信息的情况下(就绪)实现 数据输入或输出.
数字量、模拟量、开关量
传送速度差别极大 传送方式不尽相同
串行、并行
编码方式不同
二进制、BCD码、ASCII码„„
计算机组成原理
2
输入输出设备和CPU交换数据的过程:
• 输入过程:
• CPU把一个设备地址值放在地址总线上,这一步将选择一个
输入设备 • CPU等候输入设备的数据成为有效 • CPU从数据总线上读入数据,并放在一个相应的寄存器中
3级中断 服务程序
计算机组成原理
19
8.3.3 单级中断
各中断源有优先级的差别
• 离CPU近的优先权高,存在一个由硬件决定的响应优先级。 • 当多个中断源请求时,CPU选择优先级最高的予以响应。
链式查询实现的单级中断
计算机组成原理
与链式总线控制相对应
20
2. 单级中断源的识别
如何确定中断源,并转入被响应的中断服务程序 入口地址,是中断处理首先要解决的问题。 在单级中断中,采用串行排队链法来实现具有公共 请求线的中断源判优识别。其实现逻辑结构如下图示 。
8.2.5 中断控制器(集成8259)
计算机组成原理
28
8.3 DMA方式
程序控制传送方式的不足: 外设→CPU→存储器
外设←CPU←存储器
直接存储器存取DMA:
外设→存储器
外设←存储器
DMA 方式:直接内存访问,数据不经 CPU ,直 接在外设和内存之间传送,无需保护CPU现场; DMA 控制器负责地址修改和传送计数,适合高 速设备的成组传送。
CPU在当前指令执行完毕转入公 操作时才受理设备的中断请求
正确位置? *当CPU响应中断后,若有 新的中断请求如何处理?
硬件
保存现场:PC的内容以及当前 指令执行结束后CPU的状态保 存到堆栈中。保证中断处理后 返回到主程序的正确位置。
中断屏蔽:CPU中可设置中断
屏蔽寄存器,“挡住”中断请 求。 “关中断”:中断屏蔽标志置 “1”,屏蔽所有中断请求; 软件 “开中断”:中断屏蔽标志置 “0”,允许所有中断请求。
BS外设接口忙(BuSy)标志
①表示由程序启动外设,将该外设接口的“忙”标志 ⑤表示允许中断标志 ②表示接口向外设发出启动信号; ⑧表示转向该设备的中断服务程序入口; EI为“1”时,接口向 CPU 发出中断请求信号; BS 置“ 1”,“准备就绪”标志RD清 ⑦表示如果“中断屏蔽”标志 IM 为“ 0” 时, CPU 在一条指令执行结束 ④表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一 ⑥表示在一条指令执行末尾 CPU 检查中断请求线, (③表示数据由外设传送到接口的缓冲寄存器; 10)表示CPU发出控制信号 C将接口中的 BS 和RD标志复位。 ⑨表示在中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至 CPU中的寄存器; 后受理外设的中断请求,向外设发出响应中断信号并关闭中断; 控制信号,将数据“准备就绪”标志 将中断请求线的请求信号接收到“中断请求”标志 RD置“1”; IR;
内存工作时间
CPU控制并 使用内存 DMA控制并 使用内存
CPU放弃总线控制权; CPU无法取指,处于不工作状态。
CPU不执 行程序
t
DMA 不工作
DMA 不工作
DMA工作
停止CPU的访问内存 优点: 控制简单,适用于数据传输率很高的设备进行成组传送。 缺点:设备数据间隔远大于内存访问周期,许多内存访问周期浪费了。
中断处理过程是 由硬件和软件结 合完成的。 17
8.3.2程序中断方式的基本接口
程序中断由外设接口的状态和CPU两方面 来控制:
在接口方面,有决定是否向 CPU 发出中断请 求的机构,主要是接口中的“准备就绪”标志 (RD)和“允许中断”标志(EI)两个触发器; 在 CPU 方面,有决定是否受理中断请求的机 构,主要是“中断请求”标志(IR)和“中断屏 蔽”标志(IM)两个触发器。
同一级中断源的处理过程不能嵌套。为什么?
高 优先级 低
链式查询 中断源 高
优 先 级
低
计算机组成原理
某一级中断被响应后,置“1”(关闭)本级和优先权低于本级 中断嵌套:中断处理中又响应中断 的中断屏蔽触发器,置“ 0”(开放)更高级的中断屏蔽触发器。
play
26
高
优 先 级
低
→
例1(1) 中断情况下,CPU和设备的优先级如何考虑?设备的先级顺序如何?
A请求 中断 主程序 B请求 C请求
A中断服务程序
计算机组成原理
B中服
C中服
8
3. 直接内存访问(DMA)方式
外设控制器(接口卡)中有DMA控制器
• 和CPU分时使用总线; • 数据交换不经过CPU,而直接在内存和外围设
备之间进行。
适用于内存和高速外围设备之间大批数据交换的场合
计算机组成原理
9
4. 通道方式
答:CPU优先级最低。设备次序:A→B→C→D→E→F→G→H→I→CPU (2) 执行B中服时,IM2、IM1、IM0为多少?若执行D中服呢? 答:执行B中服时,IM2、IM1、IM0为111。若执行D中服,为011。 (3)每一级的IM能否对个别设备单独屏蔽?若不能,什么办法可达到目的? 答:不能。可将设备接口的EI标志置“0”,禁止该设备发出中断请求。 (4)假如设备c一提出中断请求,cpu立即响应,如何调整? 27 答:将c从第2级取出来,单独放在第3级。
第八章
输入输出系统
8.1 外围设备的速度分级和信息交换方式 ☆ 8.2 程序查询方式 ☆ 8.3 程序中断方式 ☆ 8.4 DMA方式 8.5 通道方式 8.6 通用I/O标准接口
计算机组成原理
1
8.1
外围设备的速度分级与信息交换方式
多种多样的外设