1、作用:连通计算机的各个功能部件和设备,实现它们之间的数据交换。
2 、硬件组成:由计算机总线和输入/输出接口两部分组成。
二、 计算机的总线
1、计算机总线概述
(1)计算机总线:连接计算机各功能部件的逻辑电路和连线,包括管理信息传输规则的电路被称为总线。它是计算机的各部件之间传输信息的公共通路,总线的硬件组成选用集电极开路输出电路,实现把多路输入的某一路信息送到总线上。
(2)计算机总线按所承担的功能分为三部分
◎数据总线(DB):功能是传输数据和指令信息
◎地址总线(AB):功能是传输内存或I/O设备地址
◎控制总线(CB):功能是给出总线周期类型、I/O操作完成的时刻、DMA周期、中断等有关控制信号
(3)总线周期:是通过总线完成一次内存读写操作或完成一次输入/输出设备的读写操作所必须的时间。由两个时间段组成。
总线周期T
※地址用于CPU向内存或 I/O设备送地址到 地址总线的时间。
※数据用于CPU向内存或 I/O设备送数据的时间。
◎总线的等待状态:若设备的读写速度慢,不能在一个总线的数据时间完成读写操作,必须再增加一到几个数据时间,这段时间称总线的等待状态。
◎总线周期分类:依据具体操作的性质,可把一个总线周期分为:
※内存读周期 ※内存写周期
※I/O读周期 ※I/O写周期
◎正常总线周期(normal bus cycle):若每次数据传输都要用地址时间和数据时间组成的完整的总线周期来完成读写,则称这种总线周期为正常总线周期。
◎ BURST总线周期(burst mode):若给出一次地址信息(一个地址时间)后,接着用连续多个数据时间依次传输多个数据,则称这种运行方式为总线的急促传输方式。 又称BURST总线周期
2、计算机总线构成
计算机总线结构有单总线结构、双总线结构、三总线结构等。
优点:结构简单,成本低,易于接入新设备
缺点:所有设备都用唯一的总线,不支持总线的并发传输操作,因此数据传输率不能提高
(双总线结构示意图)
3、总线仲裁和数据传输控制
(1)总线仲裁:就是解决多个设备竞争使用总线的管理问题。
(2)总线主设备(bus master):首先启动传输过程,即申请总线使用权并发出命令控制总线运行的一方称为总线主设备。
(3)总线从设备(bus slave):响应由主设备发出的命令并执行读写操作的设备称为总线从设备。
(4)总线仲裁器(bus arbiter):当有多个总线主设备都发出申请总线的请求时,能决定哪一个申请者能取得总线的使用权的专用部件称为总线仲裁器。
(5)串性链式查询方式:所有设备只用3条公用的控制线完成总线申请和响应,使用设备的优先级由设备的位置决定。
串性链式查询
(6)其他仲裁方式:
◎计数器定时查询方式
◎独立申请方式
(7)数据传送控制(总线通信控制):即同步问题,常用的有同步和异步通信两种方式。
◎同步通信:是指在总线上传送数据时,通信双方使用同一个时钟信号进行同步,该时钟称为总线时钟。
同步通信的总线时钟
◎异步通信:是指在总线上传送数据时,允许通信双方各自使用自己的时钟信号,采用“应答方式”(握手方式)解决数据传输过程中的时间配合问题,而不是共同使用同一个时钟。
4、教学实验机的总线系统实例
(1)数据总线:宽度16位,通过双向3态逻辑门电路74LS245被分成两段,分别称为内部数据总线IB和外部数据总线OB。
三、 输入/输出接口概述
输入/输出接口就是连接CPU与输入/输出设备的功能电路板,解决不同设备的速度、匹配、缓冲等问题。
1、计算机输入/输出接口(I/O接口)的基本功能:
(1)为每一个设备规定地址码,通常有两种编址方式
◎主存与输入/输出设备统一编址方式
◎设置专用的输入(IN)输出(IN)指令方式
(2)建立主机和设备之间的控制与相互了解的机制
通过在接口卡中设置命令寄存器、状态寄存器和中断逻辑来实现主机可以向设备发布命令,了解外部设备的状态以及设备向主机提出自己的操作要求。
(3)提供主机和设备交换信息过程中的数据缓冲机构
在接口卡中设置输入数据缓冲寄存器、输出数据缓冲寄存器来实现。
(4)提供主机和设备交换信息过程中的其它特别需求支持
例如:信号电平的转换功能、数据格式转换功能、DMA需求等。
前三个功能组成部分是大部分接口卡上都有的,最后一条则按具体需要特殊安排。
2、通用可编程接口的一般组成
◎通用:能有多种用法与输入/输出功能
◎可编程:能通过指令指定接口的功能和运行控制参数等
◎接口内的组成部分:
设备识别线路
命令寄存器
数据缓冲寄存器(输入/输出)
控制寄存器
状态寄存器
四、串行接口的内部组成与传送协议
五、常用的输入/输出方式
1、常用的输入/输出方式概述
(1)程序直接控制方式(状态循环查询)
特点:由CPU通过查询设备的运行状态来控制数据的传送。控制方式简单,CPU与外设串行工作,
CPU效率低,绝大部分时间花在查询等待上,严重影响系统运行性能。
(2)程序中断传送方式
特点: 由设备主动向CPU“报告”它是否已进入准备好状态, CPU 不必花费时间去循环测试,这样CPU与外设可并行操作,提高了CPU的利用效率。。
(3)直接存储器存取方式
(direct memory access,简称DMA)
特点:用于快速设备和主存储器成批交换数据,尽量减少CPU的干涉,用一块专用的DMA接口卡来控制成批数据传输,每传输一次仅占用一个总线周期,使CPU的工作效率大大提高。
(4)I/O通道控制方式(I/O channel control)
用专用的处理I/O 操作的处理器(又称通道)协助CPU完成输入输出操作。
(5)外围处理机输入输出方式
(peripheral processor unit)
2、中断的概念和中断处理过程
(1)中断:
在运行一个程序的过程中,断续地以“插入”方式执行一些完成特定处理功能的程序段,这种处理方式称为中断。
(2)中断的作用:
◎并行操作
◎硬件故障报警与处理
◎支持多道程序并发运行,提高计算机系统的运行效率
◎支持实时处理功能
(3)中断的概念与术语
◎按中断源进行分类:发出中断请求的设备称为中断源。按中断源的不同,中断可分为
内中断:即程序运行错误引起的中断
外中断:即由外部设备、接口卡引起的中断
软件中断:由写在程序中的语句引起的中断程序的执行,称为软件中断
◎允许/禁止(开/关)中断: CPU通过指令限制某些设备发出中断请求,称为屏蔽中断。从CPU要不要接收中断即能不能限制某些中断发生的角度 ,中断可分为
可屏蔽中断 :可被CPU通过指令限制某些设备发出中断请求的中断
不可屏蔽中断:不允许屏蔽的中断如电源掉电
◎中断允许触发器:在CPU内部设置一个中断允许触发器,只有该触发器置“1”,才允许中断;置“0”,不允许中断。
指令系统中,开中断指令,使中断触发器置“1”
关中断指令,使中断触发器置“0”
◎中断优先级:为了管理众多的中断请求,需要按每个(类)中断处理的急迫程度,对中断进行分级管理,称其为中断优先级。在有多个中断请求时,总是响应与处理优先级高的设备的中断请求。
◎中断嵌套:当CPU正在处理优先级较低的一个中断,又来了优先级更高的一个中断请求,则CPU先停止低优先级的中断处理过程,去响应优先级更高的中断请求,在优先级更高的中断处理完成之后,再继续处理低优先级的中断,这种情况称为中断嵌套。
中断嵌套示意图
(4)中断处理过程:一次完整的中断过程由中断请求、中断响应和中断处理三个阶段组成。
◎中断请求:是由中断源发出的并送给CPU的控制信号,由中断源设备通过将接口卡上的中断触发器置“1”完成。
接口卡上还有一个中断屏蔽触发器
中断屏蔽触发器置“1”,表示要屏蔽该设备的中断请求;
中断屏蔽触发器置“0”,表示允许该设备发出中断请求;
◎中断响应:当CPU接到中断请求,若满足下列条件,就会响应中断。
响应中断的条件:
※允许中断触发器为“1”状态;
※ CPU结束了一条指令的执行过程;
※新请求的中断优先级较高;
中断响应要进行的工作:
保存程序计数器PC的内容或许包括程序状态字的内容到堆栈(中断隐指令)
◎中断处理过程:
3、DMA的概念和DMA处理过程
(1)DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有两种方式:
◎独占总线方式 ◎周期挪用方式
(2)DMA的组成:
◎主存地址寄存器
◎数据数量计数器
◎DMA的控制/状态逻辑 ◎DMA请求触发器
◎数据缓冲寄存器 ◎中断机构
(3)DMA的传送数据的过程:由三个阶段组成
◎传送前的预处理:由CPU完成以下步骤
向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数, DMA的功能控制信号。
◎数据传送:在DMA卡控制下自动完成
◎传送结束处理
DMA 卡上应包括通用接口卡的全部组成部分,并多出如下内容:
主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等
一次完整的DMA传送过程:
DMA 预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序
DMA 控制在 I/O 设备与主存间交换数据:
准备一个数据, 向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向 CPU发中断请求.