硬件外设接口总线IO
总线入口的概念
总线入口的概念总线入口,简称BI(Bus Interface),是指计算机系统中连接外部设备和中央处理器(CPU)的一个接口。
它允许CPU与外设进行数据传输和通信,是计算机系统中非常重要的一个组成部分。
总线入口有很多种不同的形式和类型,包括内存总线、IO总线、扩展总线等。
不同的总线入口有着不同的功能和特点,用于连接不同类型的设备。
内存总线入口(Memory Bus Interface)是连接CPU和主存储器模块的通道。
它用于在CPU和内存之间传输指令和数据,是计算机系统中最重要的总线入口之一。
内存总线入口的带宽和速度会影响整个系统的性能。
IO总线入口(I/O Bus Interface)是连接CPU和输入/输出设备的通道。
它用于在CPU和外部设备之间传输数据和命令,例如硬盘、光驱、键盘、鼠标等。
IO总线入口通常比内存总线入口的速度和带宽要低,因为外设传输的数据量较小。
扩展总线入口(Expansion Bus Interface)是连接CPU和扩展插槽的通道。
它用于连接插入到计算机主板上的扩展卡,例如显卡、网卡、声卡等。
扩展总线入口允许这些插件设备与CPU进行数据和命令传输,扩展了计算机的功能和性能。
总线入口的作用主要有三个方面:1. 数据传输:总线入口用于在CPU和外部设备之间传输数据。
例如,当用户在键盘上输入字符时,键盘将通过IO总线入口将数据传输到CPU,CPU再将数据传输给显示器进行显示。
总线入口的带宽和速度直接影响数据传输的效率和速度。
2. 控制命令传输:总线入口还用于在CPU和外设之间传输控制命令。
例如,当用户点击鼠标按钮时,鼠标会通过IO总线入口向CPU发送相应的命令,CPU 根据命令执行相应的操作。
总线入口的稳定性和可靠性对于保证命令传输顺利进行非常重要。
3. 中断处理:总线入口还用于处理外设的中断请求。
当外设需要CPU的处理时,它会通过总线入口发送中断请求信号给CPU,触发CPU的中断处理程序。
IO接口
控制 逻辑
8 8 IOR
IOW
I/O 端口 (256个)
MPU 必 须 提 供 存 储 器 和 I/O 两 组 读 写 控 制 信号 , 增加了控制逻 辑的复杂性。
韩山师范学院
6-13
6.2.3 Intel系列处理器的I/O编址方式
Intel系列MPU既可采用隔离I/O编址方式,又可使 用存储器映象I/O编址方式。 Intel系列MPU的I/O地址空间 关于Intel系列MPU的I/O编址方式的几点说明 Intel系列MPU的I/O保护机制
Ps
地 址 AB 译 码
IOR
数据就绪?
Y
MPU
输入数据 状态位复位 (b) 工作流程
准备就绪 触发器
&
(a) 硬件结构
韩山师范学院
6.3
I/O同步控制方式
6-24
② 输出接口
1.查询式
2.中断式 3.DMA式 4.等待式
输 出 设 备
数 据 数据锁 存器
+5V
DB
Di IOW & Pd & Ps IOR
JZ
IN
TE
AL,87H
韩山师范学院
6.3
I/O同步控制方式
6-26
(3)评
1.查询式
2.中断式 3.DMA式 4.等待式
价
能很好地协调 MPU 与外设之间的 工作,数据传送可靠。
接口简单 , 硬件电路不多,查询 程序也不复杂。
优点: 它是一种天然的同步控制机构,
缺点:
在MPU使用效率与响应实时性间有矛盾,软件 开销大,MPU使用效率低。 这种I/O控制方式是优是劣,不能一概而论, 要看具体应用场合。
计算机组成原理——IO接口以及IO设备数据传送控制方式
计算机组成原理——IO接⼝以及IO设备数据传送控制⽅式接⼝可以看作是两个部件之间交接的部分。
硬件与硬件之间有接⼝,硬件与软件之间有接⼝,软件与软件之间也有接⼝。
这⾥我们所说的I/O接⼝,⼀边连接着主机,⼀边连接着外设。
I/O接⼝的功能I/O接⼝的基本结构CPU和外设之间通常传递的信息:数据、状态、控制。
组成:寄存器组、控制逻辑电路、主机与接⼝和接⼝与I/O设备之间的信号联接线、数据地址线、控制状态信号线。
其实中间红框内的部分就是对应到电路板上的插⼝,⼜分为内部接⼝和外部接⼝两种。
内部接⼝:与系统总线相连,实质上是与内存、CPU相连。
数据的传输⽅式也只能是并⾏传输。
外部接⼝:通过接⼝电缆与外设相连,外部接⼝的数据传输可能是串⾏⽅式,因此I/O接⼝需具有串并转换功能。
接⼝与端⼝接⼝就是I/O接⼝,端⼝实质接⼝电路中可以被CPU访问的寄存器。
I/O端⼝及其编址为了便于CPU对I/O设备进⾏寻址和选择,必须给众多的I/O设备进⾏编址,也就是说给每⼀台设备规定⼀些地址码,称之为设备号或端⼝地址。
统⼀编址:与存储器共⽤地址,⽤访存指令访问I/O设备。
独⽴编址:单独使⽤⼀套地址,有专门的I/O指令。
接⼝类型I/O设备数据传送控制⽅式1.程序直接控制传送⽅式⼜叫查询⽅式。
是完全通过程序来控制主机和外围设备之间的信息传送。
通常的办法是在⽤户的程序中安排⼀段由输⼊输出指令和其他指令所组成的程序段直接控制外围设备的⼯作。
也就是说CPU要不断地查询外围设备的⼯作状态,⼀旦外围设备“准备好”或“不忙”,即可进⾏数据的传送。
该⽅法是主机与外设之间进⾏数据交换的最简单、最基本的控制⽅法。
⽆条件传送:只有在外设总处于准备好状态程序查询⽅式优点:较好协调主机与外设之间的时间差异,所⽤硬件少。
缺点:主机与外设只能串⾏⼯作,主机⼀个时间段只能与⼀个外设进⾏通讯,CPU效率低。
程序查询⽅式接⼝结构:⼀次只能查询⼀个字的原因?在这种传送⽅式下,外部数据是要存到CPU寄存器中的,故需要⼀个字。
【哈工程】计算机硬件技术基础--10硬基第5章IO接口
缺点:
1.内存地址资源减少
F0000H
I/O地址
2.寻址时间相对增长 FFFFFH
64KB
14
二、端口的独立编址
优点:
1.内存地址资源充分利用, 2.地址译码简单,寻址速度快。 00000H
CPU对内存和端口有不同的读写控制信号: IOR\IOW,MEMR\MEMW
内存 地址
缺点:
1.能够应用于端口的指令较少,
29
查询工作方式
优点:协调性好,可靠性高,
接口简单。
缺点:CPU效率低,数据传送的实时性
差,速度较慢。
单一外设时 的工作流程
30
防止死循环
超时?
N
Y
读入并测试外设状态
N
超时错
READY?
Y
复位计时器
N
与外设进 行数据交换 传送完?
Y
31
查询工作方式
CPU主动,I/O被动
多个I/O设备? 查询设备状态标志位有三种办法:
49
作业:
50
I/O接口基本结构框图
正确选择寄存 器地址
数据输入寄存器
地址 译码
数据输出寄存器
解决高速cpu 与慢速外设
数据 缓冲
控制寄存器 控制 逻辑
控制数据 读写流向
外 部 I/O 设 备
状态寄存器
8
I/O接口电路芯片的组成:
数据端口 控制端口 状态端口 地址译码电路 数据缓冲电路 控制逻辑电路
直接存储器存取(DMA)
专用I/O处理器方式。
26
一、无条件传送
适用于总是处于准备好状态的外设
IO总线
(2)I/O接口控制卡
有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。
2、接口的功能
由于计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题:
(2)能够进行信息格式的转换,例如串行和并行的转换;
(3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。
3、接口的控制方式
CPU通过接口对
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
一、I/0接口的概念
1、接口的分类
I/O接口的功能是负责实现CPU通过系统总线把I/O电路和 外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:
(1)I/O接口芯片
这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。
第六章 IO接口和总线
1、缓冲器 74LS244
单路基本组成:
真值表 A
B
G#
0
A
1
B
1
0 G
1
0
高阻
0
状态
1A1 1A2
/1G 1A1 2Y4 1A2 2Y3 1A3 2Y2 1A4 2Y1 GND
1 2 3 4 5 6 7 8 9 10
1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4
244
20 19 18 17 16 15 14 13 12 11
需要输入设备送入信息,输出设备送出结果,这些输 入输出设备被称为外设。
通信:计算机(CPU)与外设间的数据、状态和控制
命令的交换过程统称为通信。
2、CPU与外设直接通信存在的问题 速度不匹配(CPU快,外设慢) 信号电平不匹配 (CPU使用TTL电平,外设多为机电设备) 信号格式不匹配 (CPU总线上为并行数字量,而外设有串行模拟量等) 时序不匹配 解决方案: 用I/O接口:把外设连接到CPU总线上的一组逻辑电 路的总称。用于协调外设与主机之间的信息交换。
2、译码的常用方法
线选法
利用一根地址线,产生指定的端口地址的选择信号。
A7
PORT1
当A7=1,选中PORT1,地址可为80H 当A6=1,选中PORT2,地址可为40H 当A5=1,选中PORT3,地址可为20H
A6
PORT2
对于PORT1,地址为81H,82H,83H
等仍可选中。
A5
PORT3
无条件输出电路例子 例:假设该端口号为
0# D0
80H,要想让0、2、4、
6号灯亮,如何编写
D1
1D 2D
IO接口
6.1 6.2 6.3 6.4
基本输入/输出接口
I/O接口的功能 I/O端口及其寻址方式 CPU与外设间的数据传送方式 简单的输入输出接口芯片
6.1 I/O接口的功能
计算机所处理的信息均要由输入设备提供,而 处理后的信息则要通过输出设备以各种形式提供给 用户。这些输入输出设备统称为计算机的外部设 备,或称为外设或I/O设备。 把计算机与外部设备间交换数据、状态和控制 命令的过程称为通信。 外部设备种类繁多,它们对其所传输的信息的 要求也各不相同,因此外设和计算机之间的信息交 换存在一些问题。
6.1 I/O接口的功能
2)接口的功能 接口电路的主要功能是解决CPU与外设之间的 不匹配,它在处理总线和外设之间一般具有以下基 本功能: (1)设置数据缓冲器以解决两者速度差异所带来 的不协调问题;
输入: 输入设备数据线 三态缓冲器 DB CPU
寻 址 等待数据输入 等待输入的数据 输入缓冲器 读入数据 输入缓冲器 DB CPU
例:设状态口的地址为PORT_SI,输入数据口的地址 为PORT_IN,传送数据的总字节数为COUNT_1,则查 询式输入数据的程序段为:
MOV BX,0 MOV CX,COUNT_1 RDS1:IN AL,PORT_SI TEST AL,01H ;检查数据是否准备好? JZ RDS1 IN AL,PORT_IN ;准备好 MOV [BX],AL INC BX LOOP RDS1
6.1 I/O接口的功能
(2)设置信号电平转换电路以解决两者之间信号 电平的不一致问题,例如:在串行通信中,常采用 MAX232等芯片实现电平转换。
(3)设置信息转换逻辑以满足对各自信号格式的 要求。 例如:A/D转换,D/A转换,串/并转换, 并/串转换等。
计算机io太慢的原因
计算机io太慢的原因计算机IO(Input/Output)的速度慢是指计算机在读取或写入数据时,所需的时间较长,导致整体性能下降。
而造成计算机IO速度慢的原因有多种,下面将从硬件和软件两个方面进行分析。
一、硬件方面的原因:1. 存储设备速度慢:计算机的硬盘或固态硬盘(SSD)读写速度较慢,成为IO速度瓶颈。
特别是在大量数据读写的情况下,存储设备速度会成为影响IO性能的主要因素。
2. 总线带宽瓶颈:计算机内部的总线连接各个硬件设备,如果总线带宽较小,会限制数据的传输速度。
特别是在同时进行多个IO操作时,总线带宽瓶颈将导致IO速度下降。
3. 外设接口速度限制:如USB、SATA等接口的速度较慢,会影响计算机与外部设备的数据传输速度。
如果外设接口速度不能满足需求,会导致计算机IO速度变慢。
二、软件方面的原因:1. 磁盘碎片:磁盘碎片是指文件在物理磁盘上不连续存储,而是分散在不同的磁道中,这会导致读写数据时需要进行多次寻道操作,降低了IO速度。
2. 操作系统调度算法:操作系统负责管理计算机的资源分配和调度,不合理的调度算法可能导致IO操作的效率低下。
例如,如果操作系统优先级设置不合理,会导致IO操作被其他任务阻塞,从而降低IO速度。
3. 程序设计不合理:程序设计中,如果没有充分考虑IO操作的效率,可能导致频繁的IO操作,从而降低整体的IO速度。
例如,过多的磁盘读写操作、大量的文件操作等都会对IO性能产生负面影响。
三、解决计算机IO速度慢的方法:1. 硬件升级:可以通过更换高速硬盘(如固态硬盘)、增加内存、升级总线等方式来提升计算机的IO性能。
这些硬件升级可以有效减少IO速度慢的问题。
2. 磁盘优化:通过定期进行磁盘整理和优化,可以解决磁盘碎片问题,提高磁盘的读写速度。
可以使用操作系统自带的磁盘工具或第三方磁盘优化软件来进行磁盘优化。
3. 操作系统优化:合理配置操作系统的参数和优化系统调度算法,可以提高IO操作的效率。
第六章IO接口与总线
三种数据传送方式: 程序控制方式:无条件程序控制和程序查询 中断控制方式 直接存储器存取方式,DMA方式
第六章 I/O接口 和 总线
6.1 I/O接口概述ຫໍສະໝຸດ 一、 I/O接口的功能 二、简单的输入输出接口芯片 三、I/O端口及其寻址方式 四、CPU与外设间的数据传送方式
6.2 总线
回顾:
CPU
控 制 器
运算器 寄存器
DB AB
CB
存储器 00000H
~ FFFFFH
I/O接口 0000H
~ FFFFH
I/O外设
接口电路的结构
实现对CPU数据总线速度 和驱动能力的匹配
DB 总线驱动
主 AB 地址译码
机 CB 控制逻辑
数据 缓冲器
状态 寄存器
控制 寄存器
数据信息
外 状态信息 设
控制信息
接CPU一侧 接外设一侧
接口
端口
实现各寄存器端口
实现接口电路中的各寄存器端口的
寻址操作
读/写操作和时序控制
I/O端口
传送这三种信息的接口电路中的寄存器称为数据 端口、状态端口和控制(命令)端口
存储器映像方式 I/O独立编址方式
两种编址方式比较(一)
内 存 空 间
分别是分离 编址?还统
一编址?
I/O 空 间
内
存
I/O
空
空
间
间
(1)存储器映像编址
指I/O端口与存储器共享一个寻址空间,又称为统一编 址。在这种系统中,CPU可以用同样的指令对I/O端口 和存储器单元的进行访问。
第六章_IO接口和总线讲解
中断服务程序
启动外设
外设准备好 输入设备Ready=1 中断请求 输出设备 Busy=0
中断响应
中断请求 外设又一次准备好
中断响应
数据IN/OUT IRET
18
2019/8/3
4. DMA方式
第6章 I/O接口和总线
(1)DMA方式的提出----为什么要用DMA方式传送数据?
查询方式:查询时占用CPU时间。 中断方式:比查询方式传送效率高,但执行中断服务程序,
输入时,外设数据已送到三态缓冲器。 输出时,CPU的输出信息已送到输出锁存器输入端。
14
2019/8/3
2.查询方式
第6章 I/O接口和总线
无条件传送的局限性:对于那些慢速的或总是准备好的 外设是适用的。
所谓查询方式就是微型计算机利用程序不断询问外部设 备的状态,根据它们所处的状态来实现数据的输入和输出。
安排在内存的地址空间中,外设地址 与内存地址统一编址。 优点:不需要专门的输入输出指令,
可用全部的存储器操作指令。 如:mov kou1,bx 缺点:外设占用内存单元,相对减少
了内存容量。
第6章 I/O接口和总线
内存与外设
00000 00001
65
F3
02
00
24
内存
E0
EFFFF
F0000
F0001
查询工作方式1示5 意图
2019/8/3
(1)单一外设查询
CPU先查询外设状 态,而后决定数 据的传送。
第6章 I/O接口和总线
单一外设查询示意图
16
2019/8/3
(2)多个外设查询方式工作
2
多个外设查询方式工作流程
总线与IO接口[10页]
使用“USB集线器” 扩展USB 接口,最多连接127个设备
显示器接口
VGA接口:模拟接口 DVI接口:3.7/7.6Gb/s
HDMI接口:10.2Gb/s
常用的I/O接口及其性能参数
名称
USB(2.0)
USB(3.0)
I/O(设备、接口、控制器、总线)的关系
I/O控制器
芯片组
CPU 内存
IDE接口 机 箱
主
机箱
板
硬盘 插座
插
光驱
槽
机箱
I/O总线
插座
I/O设备 I/O设备
主板
PCI插槽
I/O控制器 板 卡 (扩充卡) 插座
I/O设备
I/O接口
键盘 鼠标器
打印机 扫描仪
显示器 麦克风 网线
I/O设备一般通过I/O接口与I/O控制器连接, I/O控制器通过扩展卡与PCI总线连接。
SATA(1.0) SATA(2.0) SATA(3.0) 显示器 接口VGA 显示器 接口DVI 高清晰多媒体 接口HDMI
传输 方式
传输 速率
可连接 插头/插 通常连接 设备数 座形式 的设备
串行 双向
60MB/s 最多127 矩形4线
几乎所 有外设
串行 双向
400MB/s
最多127
矩形8线
几乎所 有外设
串行 双向
150MB/s 300MB/s 600MB/s
1
7针插 头/插座
硬盘 光盘
并行 单向
传输模 拟信号
1
HDB15
显示器 电视机
并行 3.7/7.6 单向 Gb/s
SPI、I2C、I2S、UART、CAN、SDIO、GPIO的介绍
SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介绍,各自的特点是什么?SPI:SPI(Serial Peripheral Interface)是MOTOROLA公司提出的同步串行总线方式。
高速同步串行口。
3~4线接口,收发独立、可同步进行.因其硬件功能强大而被广泛应用。
在单片机组成的智能仪器和测控系统中。
如果对速度要求不高,采用SPI总线模式是个不错的选择。
它可以节省I/O端口,提高外设的数目和系统的性能。
标准SPI总线由四根线组成:串行时钟线(SCK)、主机输入/从机输出线(MISO)。
主机输出/从机输入线(MOSI)和片选信号(CS)。
有的SPI接口芯片带有中断信号线或没有MOSI。
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。
SPI总线可以实现多个SPI设备互相连接。
提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。
主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。
如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
I2C:(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线用两条线(SDA和SCL)在总线和装置之间传递信息,在微控制器和外部设备之间进行串行通讯或在主设备和从设备之间的双向数据传送。
I2C是OD输出的,大部分I2C 都是2线的(时钟和数据),一般用来传输控制信号。
I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。
总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。
第6章 IO接口和总线
PC/AT机的I/O端口分配(表6.3)
系统板 I/O通道
作业
P259:3、4、7
②I/O操作时使用的指令字节长,增加操作时间。
6.1.4 CPU与外设间的数据传送方式
程序控制方式
无条件传送方式 条件传送方式
中断方式
DMA方式
1 . 程序控制方式
以CPU为中心,数据传送的控制来自CPU,通过预先 编制好的输入或输出程序(传送指令和I/O指令)实 现数据的传送。
74LS373锁存器逻辑电路和真值表
6.1.3 I/O端口及其寻址方式
一个基本的外设接口如图所示:
2. I/O端口的寻址方法
CPU通过对I/O端口寻址,连接并访问与I/O端 口相连的外设。每个外设I/O端口都有自己的地址。 I/O单独编址方式 I/O端口寻址方式: 存储器映象寻址方式
⑴I/O单独编址方式
程序控制的数据传送分为无条件传送、有条件传送;
1)无条件传送方式
2)条件传送
又称“查询传送方式”。用于外设的定时是不固定的或未 知的场合,CPU必须先对外设进行状态检测。 完成一次传送过程的步骤如下:
(1)通过执行一条输入指令,读取所选外设的当前状态。 (2)根据该设备的状态决定程序去向,如果外设正处于“忙” 或“未准备就绪”,则程序转回重复检测外设状态,如果 外设处于“空”或“准备就绪”,则发出一条输入/输出指 令,进行一次数据传送。
74LS244缓冲器逻辑电路和引脚图
(2)8路双向数据收发器74LS245 三态输出的8总线收发器; 内部包括8个双向三态缓冲器,A1~A8,B1~B8; 两个控制端—使能端 G 和方向控制端DIR; 芯片的功能见表6-2。 表 74LS245的真值表
第六章 IO接口和总线
8086在最小模式下,对I/O进行读操作期间,其有
效控制信号为
。 A
A.RD#低电平,WR#三态,M/IO#低电平 B. RD#三态, WR#低电平, M/IO#高电平 C. RD#低电平, WR#三态, M/IO#高电平
D. RD#三态, WR#低电平, M/IO#低电平
7
习题 CH6 I/O接口
9
习题 CH6 I/O接口
1)这是一个什么接口电路图?
答:查询式输入接口电路图
2)写出下列芯片的名称或功能(锁存、缓冲):
U1:锁存器 答: 1—RD# 3—A15~A0
U2:缓冲器(或三态门) 2—M/IO# 4—RD#
3) 电路图中的1、2、3、4、应接到何处?写出符号
10
习题 CH6 I/O接口
1)这是一个什么接口电路图?
答:查询式输入接口电路图
2)写出下列芯片的名称或功能(锁存、缓冲):
U1:锁存器 答: 1—RD# 3—A15~A0
U2:缓冲器(或三态 电路图中的1、2、3、4、应接到何处?写出符号
11
习题 CH6 I/O接口
1)这是一个什么接口电路图?
有
程序控制方式 中断方式、 DMA方式 、
三种方式。
5
习题 CH6 I/O接口
8086CPU可访问2个独立的地址空间,一个为I/O地
址空间,其大小为 64K 字节;另一个 为 存储器地址空间 ,其大小为 1M 字节。
设计输入/输出接口时,应遵守的基本原则是:输
入 缓冲 ;输出
锁存 。
6
习题 CH6 I/O接口
用框图表示,端口地址自己任选。)
(注:I/O接口电路不能使用可编程芯片。8086最小系统可
微机原理与接口技术第6章_IO接口和总线
6.1、 I/O接口
查询式输入代码片段
6.1、 I/O接口
查询式输出
6.1、 I/O接口
查询式输出时,状态寄存器的状态指示输出设备是否空 闲。
外设
数据线
状态线
6.1、 I/O接口
查询式输出工作过程
当输出设备将数据输出后,会发出一个ACK信号,使D触 发器翻转为0。
CPU查询到这个状态信息后,便知道外设空闲,可以执行 输出指令,将新的输出数据发送到数据总线上,同时 把数据口地址发送到地址总线上。
由地址译码器产生的译码信号和WR相“与”后,发出选 通信号,将输出数据送至8位锁存器。同时,将D触发 器置为1,并通知外设进行数据输出操作。
6.1、 I/O接口 查询式输出流程图
6.1、 I/O接口
常用的状态线有empty,busy 功能: 1、输出设备空闲,BUSY无效; 2、CPU写数据端口,输出设备输出数据,
缓冲器74LS244和74LS245 锁存器74LS373
6.1、 I/O接口 二、简单的输入输出接口芯片 1. 缓冲器74LS244和74LS245
连接在总线上的缓冲器都具有三态输出能力。 在CPU或I/O接口电路需要输入输出数据时,在它 的使能控制端EN(或G)作用一个低电平脉冲,使它的 内部的各缓冲单元接通,即处在输出0或1的透明状态。 数据被送上总线。 当使能脉冲撤除后,它处于高阻态。这时,各缓冲单元 像一个断开的开关,等于将它所连接的电路从总线脱开。 74LS244和74LS245就是最常用的数据缓冲。除缓冲作用 外,它们还能提高总线的驱动能力。
IO接口
I/O地址空间 I/O
I/O空间 (64KB)
FFFFH
内存空间 (1MB)
FFFFFH
8086 CPU的I/O编址方式 的 编址方式
采用I/O独立编址 独立编址方式(但地址线与存储器共用) 独立编址 来区分: 地址线上的地址信号用 IO/M 来区分: 时为I/O地址 地址 地址/M地址 地址 IO/M=1 /0 时为 I/O操作只使用20根地址线中的16/8根:A15/7 ~ A0 可寻址的I/O端口数为64K(65536)/256个 I/O地址范围为0~FFFFH/0~FFH ~ IBM PC只使用了 根 A9 ~ A0 1024个I/O地址 只使用了10根 只使用了 个 (0~3FFH) 原因 够用为度 简化电路 ~ 原因: 够用为度,
E(64KB)
FFFFFH
2. 独立编址
定义: 相互独立。 定义 外设地址空间和内存地址空间相互独立 相互独立 优点: 优点:内存地址空间不受I/O编址的影响 缺点: 缺点:I/O指令功能较弱,使用不同的读写控制信号 例如: 例如 8088/8086 微机系统 内存地址空间
A0
I/O接口 接口 (1端口 端口) 端口
I/O接口 接口 A1 (4端口 端口) 端口
译码器…
CS
1.4 I/O数据的传送方式 数据的传送方式
并行 定义: 定义 一个数据单位(通常 为字节 字节)的各位同时传送 字节 特点: 特点 速度快、距离短、成 本高 例如: 例如:PC机的并行接口(通 常用于连接打印机) 串行 定义: 定义 数据按位进行传送 按 特点: 特点 速度慢、距离远、成 本低 例如: 例如: PC机的串行接口(通 常用于串行通信)
1.3 I/O端口地址的译码 端口地址的译码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高速串行接口的编码技术串行互连接口的速率在过去几年里得到了显著提高,每线的速率从2.5Gbit/s提高到10Gbit/s,而每个接口可以容纳1到32线。
8B10B作为互连接口的一种编码技术,设计简单、性能出众,因此成为应用最广泛的技术。
然而,它的系统开销高达25%,问题突出。
为了解决这个问题,设计者们一直在探寻改进的方法。
本文就将介绍一些低开销的编码技术,并讨论它们的优势与存在的问题。
编码技术基础理论目前,高速接口正在被广泛应用于包括SATA、SAS、高速PCI等多种标准中。
这些接口的速率甚至可以达到并超过每线10Gbits/s。
同时,所有主流ASIC和FPGA平台也都支持这些高速接口技术。
从结构上看,这些高速接口主要包括三个组成部分:电路部分(串行/解串行)物理部分(实现编码)链路与协议部分(高层)支持多速率、多协议的串行/解串行器已经实现。
以OIF(光互联论坛)为例,他们已经为两组速率制定了电路规范,分别为5Gbits/s- 6.375Gbits/s和10Gbits/s-11Gbits/s。
OIF同样为两种应用距离制定了规范,分别为短距离(采用一个连接器,8英寸)和长距离(采用两个连接器,40英寸)。
串行/解串行器还可以被设计用来满足更多的规范,包括不同的速率、距离、电路规格等等。
物理部分的主要任务是对数据进行编码,以保证串行/解串行器的正常运行。
这些编码的目的包括:确保必须的变换(“1”到“0”和“0”到“1”的变换),保证稳定的直流均衡(“0”码与“1”码的个数相当),以及满足其它标准的要求(最大化信道带宽利用率,提高对误差的容忍能力等等)。
以Manchester编码为例,这种编码技术被广泛应用于10Mbit/s以太网连接中。
它的编码方式非常简单,就是将“1”编码为“01”,将“0”编码为“10”。
从编码原理我们可以推断出:最大相同连续字符数为2(正常情况下连续出现两个以上连续“0”或“1”是不可能的)。
保证稳定的直流均衡(“0”的个数与“1”的个数总是相同的)。
具备1bit误码纠错能力(“00”或者“11”是无效码)。
高达100%的系统开销。
扰码技术是串行链路常用的另一种编码技术。
这种技术将伪随机序列与原始码流混合,以实现转换、直流均衡等目的。
伪随机发生器由线性反馈移位寄存器产生的最长序列(m序列)构成1。
此序列的周期为2n,其中n为线性反馈移位寄存器特征多项式的最高阶。
例如SONET/SDH的特征多项式为x7+x6+1,它的序列长度为27-1,即127。
扰码器包括两种类型,分别为边扰码器与自同步扰码器。
通常,边扰码器的寄存器状态与发送数据异或构成它的下一个状态,这需要在输入与输出之间“重置/同步”扰码器状态。
自同步扰码器直接将输入数据作为扰码器状态,不需要重置和同步过程。
8B10B编码技术8B10B是应用最广泛的编码技术。
它被用于串行连接SCSI、串行A TA、光纤链路、吉比特以太网、XAUI(10吉比特接口)、PCI Express总线、InfiniBand、Seria RapidIO、HyperTransport 总线以及IEEE1394b接口(火线)技术中。
8B10B2将8bit代码组合编码成10bit代码,代码组合包括256个数据字符编码和12个控制字符编码(如表1所示)。
通过仔细选择编码方法可以获得不同的优化特性。
这些特性包括满足串行/解串行器功能必须的变换;确保“0”码元与“1”码元个数的一致,又称为直流均衡;确保字节同步易于实现(在一个比特流中找到字节的起始位);以及对误码率有足够的容忍能力和降低设计复杂度。
8B10B中所有的编码都具备3到10种变换。
每个码字确保:在一行中不会产生超过四个连“1”或连“0”;“1”与“0”的不平衡度(不平衡度指“0”的个数减去“1”的个数)不会超过2个码字(5个“1”/5个“0”,4个“1”/6个“0”或4个“0”/6个“1”)。
8B10B采用一种简单的方法保证了编码的直流平衡。
在不平衡时,采用两个10bit字符表示一个8bit字符,其中一个称为RD-,表示“1”的个数比“0”多2个,另一个称为RD+,表示“1”的个数比“0”少2个。
选取合适的RD字符可以保证不平衡度不大于1。
同时,采用只有在控制字符(K28.5,K28.1,K28.7)中才有的特殊字符可以保证同步定位的准确。
8B10B借助总共268个字符及它们的反转码,还可以检测任何可能破坏不平衡的误码。
但是,即使接收机接收到了正确的码字,有时它们也有可能因为不平衡性而导致误码,这种现象被称为误码复制。
8B10B编码技术将8bit数据分成3bit和5bit两组,因此可以看作是3B4B 和5B6B编码技术的组合。
改进传统8B10B编码技术的一种方法是,在编码之前增加扰码过程。
有证据证明,特殊的模式3或差分群时延可能会导致重复模式产生不可预测的误码。
解决这个问题最直接的办法就是在编码之前对数据进行扰码。
以上这些特点保证了8B10B编码成为使用最广泛的编码技术。
它最主要的缺点只有一个,就是高达25%的系统开销。
低开销编码最近,人们提出了几种降低8B10B编码技术系统开销的改进方法。
这些改进主要基于以下两个基础:一是随着链路速率与数量的增加,25%系统开销的问题显得越来越突出;二是集成技术的进步,使得硬件复杂度不再像过去那样重要。
在这些低开销的改进技术中,有四个非常相似的技术脱颖而出,受到人们的广泛关注:64B66B编码技术,应用于10G以太网4;OIF CEIP5;10GBase-KR6,应用于10GbE背板连接;Interlaken7。
这些技术的共同点是,都以提高硬件设计复杂度(门数目)为代价,换取了较低的系统开销。
64B66B编码技术。
这种技术应用于10G以太网(10GBase-R),是一种编码与扰码相结合的技术。
首先,数据被分成8个字节一组(总共64比特)。
然后,这些字节采用自同步扰码实现随机化,其特征多项式为x58+x39+1。
最后,如果这些8字节组是数据字符,那么会加上“01”标识;如果有一个或多个字节是控制字符,那么就会加上“10”标识。
表1. 主要标准中的控制码字使用在此编码技术中,将8个字节的字符(由8B10B编码定义,可能是数据或控制字符)编码为64比特长字符的过程通常被称为转换代码。
GFP-T8为组合8B10B的8比特为64比特字符提供了标准方法。
而10GbE为10G以太网和10Gbit/s光纤链路提供了相关子集的映射表。
用于同步定位的“01”和“10”比特不参与扰码过程。
这是因为其它比特在扰码后可能取任何值,只有同步比特“01”和“10”在经历长途传输后基本保持不变。
同步比特还可以保证每隔66比特至少会发生一次转换。
CEI-P编码技术。
这种技术由OIF定义。
它的系统开销与64B66B编码相等,大约为3%。
当然,它还有很多不同之处。
CEI-P采用边扰码,特征多项式为x17+x14+1。
这样做的优点是可以有效防止误码复制的产生(扰码的状态不会受之前产生的误码影响),缺点是需要在发送与接收之间同步扰码状态。
当边扰码与线路误码无关时,如果发送数据与扰码值相同(或恰好相反),那么扰码器会输出非常长的“1”或“0”序列。
而这种非常长的扰码输出序列比短的序列对误码的容忍能力更强。
CEI-P编码采用帧同步取代定位同步。
64B66B采用同步比特实现定位,而CEI-P将24个64比特码字看作一帧,这样用1个比特就可以实现数据或控制字符的判定。
附加的24比特用于误码校验与信令。
其中误码校验使用20比特,采用fire-code技术,可以纠正长达7比特的突发误码串。
10GBase-KR编码技术。
这种技术的系统开销与CEI-P一致,都是3%,主要的不同在于帧的长度是32个码字,而不是24个码字。
这样一来纠错码长度就是32比特,可以纠正比CEI-P 更长的突发误码串。
而它采用的扰码规则与10GbE相似。
只不过它的扰码多项式与10GBase-R 一致,寄存器采用的初始序列为“010101……”,而且每一帧重置一次。
Interlaken PHY编码技术。
Interlaken编码技术的系统开销为4.5%(64/67)。
它的码字基于64比特。
与其它低开销编码技术相比,Interlaken的主要不同之处在于:同步信号为3个比特,其中两个比特用于区分数据与控制,一个比特用于标识数据是否转化。
数据转化比特的目的与8B10B类似,都是为了保证直流平衡;Interlaken采用与10GbE相同的边扰码特征多项式实现扰码。
这样可以避免因采用自同步扰码器所导致的误码复制问题。
一个同步码字用于传递扰码器状态,而且它非常长的扰码长度保证不会出现很长的连“0”或者连“1”;表2. 编码技术的对比整个链路采用CRC32循环冗余校验方式保证误码校验。
表2对比了以上讨论的几种编码技术的异同,主要包括以下几点:实际采用情况;系统开销;转换密度与直流平衡;同步定位;误码(保护、校验、复制);硬件复杂度(门数目)。
虽然8B10B编码行之有效,而且被广泛采用,但是它高达25%系统开销的缺点在未来数百吉比特链路与系统应用中显得越来越突出。
现在已经有若干种低开销的编码技术,它们具备不同的优势与缺点。
但是到目前为止,还没有哪种低开销技术能够脱颖而出,成为继8B10B 之后被广泛采用的首选技术。
不过,本文所提到的几种技术都以提高硬件复杂度为代价,以满足低开销的要求。