原计算机组成和体系结构课件_第1页
原计算机组成和体系结构课件_第2页
原计算机组成和体系结构课件_第3页
原计算机组成和体系结构课件_第4页
原计算机组成和体系结构课件_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

湖南大学计算机与通信学院1第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院2为了有效地执行功能,计算机除了能实现与存储器的交互,还应能与外部世界和设备交互信息,所有这些与计算机进行交互的设备可以归类为输入输出设备(I/O设备)举例:输入设备:键盘、鼠标、扫描仪输出设备:显示器、打印机输入/输出设备:硬盘、调制调解器湖南大学计算机与通信学院3第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院4输入/输出设备通过系统的地址总线、数据总线、控制总线和CPU相连(如图10.1)图10.1CPU与I/O设备的连接地址总线:单向数据总线:单/双控制总线:单向湖南大学计算机与通信学院5根据是源还是目的设备启动传送以及是否使用握手,异步数据传送可分为四种不带握手的源启动数据传送不带握手的目的启动数据传送带握手的源启动数据传送带握手的目的启动数据传送湖南大学计算机与通信学院610.1.1源启动数据传送源设备输出数据选通控制信号并维持一段时间目的设备读入数据源设备使控制信号和数据无效图10.2不带握手的源启动数据传送(a)时序湖南大学计算机与通信学院7实现源数据传送更新LED的电路如图10.2(b)

每隔30秒,源设备向输出设备发送一个新值,输出设备将此值存贮于一个8位寄存器中;寄存器的输出转换成相应的信号,在LED上显示两位数字。

图10.2不带握手的源启动数据传送:(b)实现湖南大学计算机与通信学院810.1.1目的启动的数据传送目的设备传输选通信号给源设备一段时间后源设备使数据有效,并将数据稳定一段时间目的设备读入数据后置数据选通信号无效源设备停止传输有效数据图10.3不带握手的目的启动数据传送(a)时序湖南大学计算机与通信学院9实现目的数据传送更新LED的电路如图10.3(b)

图10.3不带握手的目的启动数据传送:(b)实现当30秒时钟信号为高时,数据选通信号置1,选通三态缓冲器,使源设备传输有效数据,一个规定的延迟确保数据稳定后,目的寄存器读取数据,然后时钟信号为低,数据选通信号无效,有效数据不能传输。

湖南大学计算机与通信学院1010.3.1握手不带握手的数据传送无需确认数据收到,适合于在规定的时间内传送。当每次传送所花费的时间不同时,设备可采用握手(handshaking)方式来协调数据传送。

湖南大学计算机与通信学院11带握手的源启动数据传送源设备置数据请求信号为高,然后使有效数据可用数据稳定后,目的设备读取此数据目的设备读完数据,就发送一个数据确认信号给源设备源设备停止传输有效数据,目的设备复位数据确认信号图10.4带握手的源启动数据传送(a)时序湖南大学计算机与通信学院12图10.4带握手的源启动数据传送:(b)实现当30秒时钟为高时,数据请求触发器置1;数据请求信号也置1,并依次选通三态缓冲器,使有效数据对目的设备可用。经一段延迟后,目的设备读取此数据并向源设备发送数据确认信号。清除数据请求触发器,置数据请求信号为低并使数据无效。最后数据确认信号置低。湖南大学计算机与通信学院13带握手的目的启动数据传送目的设备传输一个数据选通信号,源设备使有效数据可用数据稳定后,目的设备读取此数据目的设备读完数据,就发送一个数据准备就绪信号给源设备源设备停止传输有效数据,目的设备复位数据准备就绪信号图10.5带握手的目的启动数据传送(a)时序湖南大学计算机与通信学院14图10.5带握手的目的启动数据传送:(a)时序和(b)实现湖南大学计算机与通信学院15第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院16可编程I/O(programmedI/O)

用指令编程来控制CPU输入或输出数据。可编程I/O的编址方式

独立编址

有专门的指令访问I/O端口 存储器编址

把I/O端口视为存储器的一个单元,采 用存储器存取指令即可访问它们湖南大学计算机与通信学院17

相对简单CPU,其结构不能采用独立的I/O方式,但可利用存储器编址I/O方式例:执行指令LDACFFFF为了实现此I/O端口,设计硬件如图10.6图10.6地址为FFFFH的输入端口当地址总线上的值为FFFFH,控制信号READ=1时,三态缓冲器才选通

湖南大学计算机与通信学院18

用相对简单的CPU设计自动调温器,它控制房间的加热和制冷系统,它可能执行下列操作:由外部传感器读取温度;如果(温度≥自动调温器的设置温度+2°),则打开空调;如果(温度≤自动调温器的设置温度且空调打开),则关空调;如果(温度≤自动调温器的设置温度-2°),则打开加热器;如果(温度≥自动调温器的设置温度且加热器打开),则关加热器;返回至1。湖南大学计算机与通信学院19CPU从存储器编址输入端口地址FFFFH中读取当前温度CPU从端口地址FFFEH中获取调温器的设定温度CPU向地址为FFFDH的输出端口中写入下面的值,以控制加热器和空调系统。

01=打开空调 02=关闭空调

03=打开加热器 04=关闭加热器4.当前状态存贮于存储单元1000H中

00=加热器和空调均关闭FF=加热器打开FE=空调打开

湖南大学计算机与通信学院20系统控制程序的算法如图10.7所示

图10.7自动调温器控制算法湖南大学计算机与通信学院2110.2.1新指令为了修改相对简单CPU以支持独立的I/O方式:必须在CPU指令集中增加输入、输出指令;产生必要的新控制信号;在状态图中增加新状态;开发RTL代码支持新状态;修改寄存器、ALU和控制单元硬件来支持新的指令;湖南大学计算机与通信学院22

增加两条新指令:一条输入数据、一条输出数据。如表10.1所示指令指令码操作INPT00100000ΓAC←输入端口ΓOTPT00100001Γ输出端口Γ←AC表10.1相对简单CPU的独立I/O指令湖南大学计算机与通信学院23

增加一个新控制信号IO,IO=1时为I/O操作,IO=0时为存储器操作

新状态图10.8实现INPT指令执行周期的状态RTL代码INPT1:DR←M,PC←PC+1,AR←AR+1INPT2:TR←DR,DR←M,PC←PC+1INPT3:AR←DR,TRINPT4:DR←输入端口INPT5:AC←DR

湖南大学计算机与通信学院24硬件的修改

(1)修改寄存器; (2)修改ALU;

(3)修改控制单元

图10.9产生INPT执行周期的状态信号的硬件湖南大学计算机与通信学院25

计数器控制信号修改:

INC=(INC原有值)∨INPT1∨INPT2∨INPT3∨INPT4 CLR=(CLR原有值)∨INPT5组合INPT1状态所需进行的修改:DRLOAD=(DRLOAD原有值)∨INPT1MEMBUS=(MEMBUS原有值)∨INPT1PCINC=(PCINC原有值)∨INPT1ARINC=(ARINC原有值)∨INPT1设定为IO=INPT4存储器读=READ∧IOˊ

湖南大学计算机与通信学院26第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院2710.3.1CPU和I/O设备之间的数据传送解决I/O设备变化延迟查询(polling)

中断(interrupt) 减少由不确定性造成的延迟, 优化系统性能的一种机制湖南大学计算机与通信学院28查询(polling)CPUI/O传送数据请求信号准备好没有?湖南大学计算机与通信学院29考察计算机系统的一个输入设备

CPU通过向I/O地址1001H中输出01H值,启动一个请求然后不断查询输入端口1002H直至其最低位置1继后CPU从输入端口1000H中读取数据图10.10采用查询方式实现I/O端口的硬件湖南大学计算机与通信学院30查询方式在设计和编程方面都相对直观,常用于CPU负荷不很重的情况

不适合对于CPU时间很宝贵的系统等待状态(waitstate)

处理器向I/O设备请求数据(或发送数据给I/O设备),I/O设备经控制总线向CPU发送一个等待信号。只要等待信号有效,CPU就一直处于等待状态湖南大学计算机与通信学院31中断请求(interruptrequest)

当I/O设备采用中断方式时,CPU在向I/O设备输出请求后,能够继续执行指令,完成有用的工作,而无需查询设备或进入等待状态

设备准备传输数据时,它向CPU发送中断请求信号

CPU响应中断,置中断响应信号有效,完成数据传输湖南大学计算机与通信学院3210.3.2中断类型外部中断

CPU采用外部中断与输入/输出设备进行交互

内部中断

内部中断完全发生在CPU内部,没有任何输入/输出设备介入软中断

由CPU指令集中的特定中断指令产生

湖南大学计算机与通信学院3310.3.3中断处理中断服务程序:处理中断工作的服务软件

一对一或一对多 一个中断服务程序对应一个中断 一个中断服务程序对应多个中断湖南大学计算机与通信学院34

不管是一个还是多个中断服务程序的配置方式,每个中断都执行下列事件无操作(直至当前指令执行完)获取中断服务程序地址(仅向量型中断)调用中断服务程序

湖南大学计算机与通信学院35考察相对简单CPU的LDAC指令的执行周期:无操作(直至当前指令执行完)LDAC1:DR←M,PC←PC+1,AR←AR+1发生中断……LDAC2:TR←DR,DR←M,PC←PC+1LDAC3:AR←DR,TRLDAC4:DR←MLDAC5:AC←DR如果执行周期完成后产生中断,则仅需保存PC的内容否则必须保存CPU内部寄存器内容和控制单元的状态信息

湖南大学计算机与通信学院36获取中断服务程序地址(仅向量型中断)向量中断

向CPU提供中断向量,此中断向量用于产生该中断的中断服务程序的地址

非向量中断

非向量中断在一个已知地址处读取中断服务程序

湖南大学计算机与通信学院37调用中断服务程序阻止任何进一步的中断3.确保返回主程序前所有相关的寄存 器保存原有值 2.清除当前中断,避免一个中断请求 触发多于一个的中断湖南大学计算机与通信学院3810.3.4中断硬件和优先级非向量中断(单个设备)图10.11单个设备的非向量中断(a)硬件(b)时序可用于简单嵌入式控制器

湖南大学计算机与通信学院39向量中断 CPU必须从设备中读取中断向量,调用中断服务程序,程序的地址是该向量的一个函数图10.12单个设备的向量中断(a)硬件(b)时序在这种结构中如果在中断响应前,设备取消IRQ会发生什么?湖南大学计算机与通信学院40非向量中断(多个中断)图10.13多个非向量中断的硬件每个设备均有自己的IRQ和IACK信号他们的优先级是预定的,IRQn优先级最高CPU首先响应和服务优先级最高的中断湖南大学计算机与通信学院41向量中断(菊花链方法)菊花链:用于多中断优先权排队的一种方法图10.14菊花链设备发出中断请求信号CPU发出中断响应信号设备n#接受IACK信号IACK=1?IACK=0CPU读入中断向量/调用程序一种可能的处理过程IACK=0/传给其他设备YN湖南大学计算机与通信学院42IACKIN和IACKOUT所有的可能值、状态IACKinIACKout状态11设备有权中断但未发送中断请求10设备中断CPU01无效状态00设备的中断请求被优先权更高的设备阻塞(设备可能或没有发送中断请求)表10.2IACKIN和IACKOUT的可能值及其状态湖南大学计算机与通信学院43并行优先权排队

菊花链将引起硬件延迟,特别是当链较长时,延迟就更大

通过一个优先权编码器采用并行优先权排队(parallelpriority)方式实现向量中断,减少延迟

湖南大学计算机与通信学院44图10.15并行方式实现优先级中断防止干扰信号湖南大学计算机与通信学院4510.3.5CPU内部实现中断例:相对简单CPU处理中断的过程添加一个IRQ输入引脚,其响应信号传至IACK输出引脚添加新指令LDSP、PUSHAC等识别中断并访问此中断处理的状态访问中断服务程序湖南大学计算机与通信学院46指令指令码操作LDSP10000000ΓSP←ΓCALL10000010ΓSP←SP-1;M[SP]←PC[15..8],SP←SP-1;M[SP]←PC[7..0],PC←ΓRET10000011PC[7..0]←M[SP],SP←SP+1;PC[15..8]←M[SP],SP←SP+1PUSHAC10000100SP←SP-1;M[SP]←ACPOPAC10000101AC←M[SP],SP←SP+1PUSHR10000110SP←SP-1;M[SP]←RPOPR10000111R←M[SP],SP←SP+1IESET01000000IE←1IERST01000001IE←0IPRST01000010IP←0表10.3相对简单CPU的新指令湖南大学计算机与通信学院47识别中断并访问此中断处理的状态方法一方法二图10.16两种访问中断服务程序的方法(b)修改FETCH1支持中断(a)采用分离的FETCH1状态和INT1状态(IE′∨IP′)∧FETCH1IE∧IP∧FETCH1湖南大学计算机与通信学院48访问中断服务程序(部分)INT1:AR←SPINT2:DR←PC[15..8],SP←SP-1INT3:M←DR,AR←AR-1,SP←SP-1INT4:DR←PC[7..0]INT5:M←DRINT6:DR←(数据总线来的向量)INT7:PC←1111,DR,0000,IP←0湖南大学计算机与通信学院49第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院50直接存储器访问(DMA)

数据直接在I/O设备与存储器之间传送

DMA控制器(通道)实现直接存储器访问湖南大学计算机与通信学院51图10.17带有DMA的计算机系统DMA控制器CPU置BR=1,发送总线请求置BG=1,发送总线允许湖南大学计算机与通信学院52DMA控制器CPU置BR=0,发送取消请求置BG=0,发送取消允许当数据传输完成,DMA交回控制权湖南大学计算机与通信学院53DMA内部结构

图10.18DMA控制器的内部结构湖南大学计算机与通信学院54DMA控制器包括多个寄存器DMA地址寄存器

存贮数据传输过程中需用到的存储器地址

DMA计数寄存器

保存传输数据的字节数

DMA控制寄存器

从CPU中接受命令

状态寄存器

向CPU提供信息

湖南大学计算机与通信学院55超时

:I/O设备在某个预定的时间内没有准备就绪

湖南大学计算机与通信学院5610.4.2DMA传输方式突发方式 在突发方式中,整个数据块连续传输周期窃取方式 连续地获取和放弃系统总线控制权来传输透明方式

DMA利用空闲时间传输数据湖南大学计算机与通信学院5710.4.3修改CPU使其与DMA共处为了使CPU能与DMA控制器共同工作增加控制输入信号BR和控制输出信号BG产生BG的逻辑电路

CPU允许在以下状态接受DMA的请求:

取指令后、译码后、取操作数后、指令执行完后、结果保存后

湖南大学计算机与通信学院58对BG的操作

如果BR=1且CPU处于FETCH1状态,则CPU置BG为1;CPU将保持FETCH1状态直至BR置0 BR∧FETCH1:BG←1

如果BR=0,则CPU置BG为0且执行与FETCH1状态相关的其它微操作

BR′∧FETCH1:BG←0,(FETCH1的微操作)湖南大学计算机与通信学院59实现BG的硬件图10.19BG的硬件实现状态图所需的修改

图10.20修改状态图接纳BR和BG湖南大学计算机与通信学院60第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院61DMA控制器

仅能传输数据

I/O处理器

与CPU交互,处理由I/O设备读出后数据 可连接多个I/O设备

I/O设备连接至I/O总线上,而不是系统总线上

湖南大学计算机与通信学院62图10.21带I/O处理器的系统结构湖南大学计算机与通信学院63

CPU向I/O处理器发送一系列I/O指令,而不象处理DMA那样将值存于寄存器中,指令分为三类:

块传送命令2.执行算术、逻辑、和分支操作的命令3.控制命令

传输数据块,类似于DMA数据块传输有助于处理数据以便使数据能为CPU所用

通常是硬件相关并对计算机系统功能的正确发挥十分关键湖南大学计算机与通信学院64一个I/O处理器的系列命令能执行许多连续的I/O传送,考虑以下任务:1、从端口地址9000H的磁盘驱动器处读取247字节的数据,写入起始地址为1000H的存储器中;2、从地址为9001H的输入端口读取1字节数据写入CPU的累加器中;3、将内存单元2000H至207FH的内容写至I/O地址为9002H的打印机上。

带DMA控制器而没有I/O处理器的系统首先将数据写入DMA控制器的寄存器中,并启动传输,等待它完成。然后它从地址为9001H的I/O端口输入1字节数据。最后为打印数据块启动第二个DMA传送。 而在带I/O处理器的系统中,CPU将执行三个任务所需的命令写入存储器的一个连续块中,并将块的指针给I/O处理器,从而减少了建立传输的开销。湖南大学计算机与通信学院65第十章输入输出结构10.1异步数据传输10.2可编程I/O10.3中断10.4直接存储器访问10.5I/O处理器10.6串行通信10.7实例:串行通信标准湖南大学计算机与通信学院66并行通信:同一时间内传输多位数据

DMA控制器和I/O处理器都采用并行通信串行通信:在给定的时间内不能传输多位数 据,传输数据要通过并串转换

打印机、MODEM等通过串口与CPU通信异步串行通信:连接的设备不共用同一时钟并且需同时传输数据

同步串行传输

:以帧(frame)的形式传输数据块,帧中包括传输信息头、数据和传输信息尾湖南大学计算机与通信学院6710.6.1串行通信原理

两个设备采用异步串行传输通信时,他们不共用同一时钟。必须采用许多措施同步数据流因而事先就一些传输参数达成一致

速度:比特/秒-----每秒位数奇偶校验位

起始位停止位

一些基本参数湖南大学计算机与通信学院68

图10.22显示了传输两字节数据及其传输间隔中传输线的值,此系统采用许多调制解调器传输时的典型设置N81:即没有奇偶位、八位数据位和一位停止位

图10.22两字节数据的传输实例12345678开销达到整

温馨提示

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

评论

0/150

提交评论