正在学习接口技术和计算机组成原理,中间有一些重叠的部分就放在一起了,至于DMA,中断之类的会放在后面讲解

6.1 接口综述

硬件接口通常称为I/O接口,把外围设备同微型计算机连接起来的电路称为外设接口电路,简称外设接口。I/O接口是CPU同外界进行信息交换的中转站

使用接口的原因

  1. 速度不匹配 外设外慢
  2. 时序不匹配 各个外部设备都有自己的定时控制电路,以自己的速度进行传输,同CPU的时序不匹配
  3. 信息格式不匹配,不同的外设存储和处理信息的格式不同
  4. 信息类型不匹配,有些是数字电路,有些是模拟电路

 

CPU与外设之间所传送的数据类型

  1. 数据信息 包括模拟量,数字量,开关量,可以输入也可以输出
  2. 状态信息 这是I/O端口送给CPU的有关本端口所对应的外设当前状态的信息,供CPU参考分析
  3. 控制信息 这是CPU送给I/O设备的控制命令,使相应的外部设备完成特定的操作

在8086/8088中,这三种信息的输入输出基本一致,可以分发不同的端口地址,在端口地址相同的情况下,可以规定操作的顺序,或者在输入输出的数据中设置特征位

 

接口的功能(背)

  1. 执行CPU命令 CPU将对外设的控制命令发到接口电路的命令寄存器中,以便控制外设按要求进行工作
  2. 返回外设状态 通过外设寄存器(状态口)完成,包括正常工作状态和故障状态
  3. 数据缓冲的功能 (平滑作用)接口电路中的数据寄存器(数据口)对CPU与外设设备之间的数据进行中转
  4. 设备寻址的功能 CPU在某些时刻只能和一台外设交换数据,CPU发给的地址信息经过接口电路中的地址译码选中I/O设备
  5. 信号转化的功能 ADC转化啊,电平转化啊之类的
  6. 数据宽度与数据格式转换的功能 串并行转化的功能之类的

 

 

端口及编址方式

端口是指接口电路中能被微处理器直接访问的寄存器的地址

微处理器通过这些地址(端口)向接口电路中的寄存器发送命令、读取状态、和传送数据。

计算机给接口电路中的每一个寄存器都分配一个端口,CPU在访问的时候,只需要指明他们的端口地址,不需要知道是访问什么寄存器。这样,在输入输出程序中访问端口就是访问接口电路的寄存器,通常所说的IO操作就是对IO端口的操作,即CPU所访问的是与IO设备相关的端口,而不是IO设备本身

 

 

 

 

 

输入输出的方式

输入/输出接口分类:

       1、按数据传送方式分:串行、并行

       2、按CPU访问外设的控制方式:

          程序查询、中断、DMA、通道控制、I/O处理机

       3、按是否需要统一的控制时钟:同步、异步

       4、按通用性:通用、专用

 

IO端口的编址方式

寄存器映像编址和独立编址

寄存器编址就是把IO端口地址置于存储器空间,和存储单元统一编制

优点:存储器的各种寻址方式都可以用来寻址端口(可以用一个指令系统),缺点:占用存储器地址,而且端口地址必须和存储器长度一样,运行速度慢

独立编址:把接口的端口地址单独编址,在计算机中形成两个独立的编址空间。优点:不占用存储器空间,有专门的IO指令,IO指令,运行的快,而且IO操作和存储器操作分开,程序可读性好,缺点就是要重新设计一个新的指令系统

 

IO端口地址译码

三种译码电路——固定端口地址译码,固定多端口译码电路和可选式地址译码电路

 

  1. 固定式单端口地址译码电路

固定式单端口地址译码电路是指该译码电路只能产生一个不可更改的端口地址

见课本240页及笔记

 

  1. 固定式多端口地址译码电路

固定式多端口地址译码电路能同时译出多个地址,但每个地址是固定不变的

如74LS138(38译码器),74LS154(4-16译码器),74LS139(2-4译码器)

 

74138的符号图如下