1 / 75

第四章 微机总线与接口标准

第四章 微机总线与接口标准. 第一节 总线与接口概述. 一、总线和接口及其标准的概念. 总线: 是在模块之间或设备之间的一组进行互连和传输信息的 信号线 ,信息包括指令、数据和地址。. 总线标准: 指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。. 接口标准: 指与 外设接口的规范,涉及接口信号线定义、信号传输速率、传输方向和拓扑结构,以及电气特性和机械特性等多个方面。. 总线与接口的区别:. 二、总线的分类. 1 、按总线功能或信号类型划分. 数据总线、地址总线、控制总线. 2 、按总线的层次结构分.

Download Presentation

第四章 微机总线与接口标准

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 微机总线与接口标准

  2. 第一节 总线与接口概述 一、总线和接口及其标准的概念 总线:是在模块之间或设备之间的一组进行互连和传输信息的信号线,信息包括指令、数据和地址。 总线标准:指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。 接口标准:指与外设接口的规范,涉及接口信号线定义、信号传输速率、传输方向和拓扑结构,以及电气特性和机械特性等多个方面。

  3. 总线与接口的区别:

  4. 二、总线的分类 1、按总线功能或信号类型划分 数据总线、地址总线、控制总线 2、按总线的层次结构分 CPU总线、局部总线、系统总线、通信总线 思考:局部总线与系统总线的根本区别是什么?

  5. 三、总线的主要性能参数 1、总线频率 2、总线宽度 3、总线数据传输率 总线数据传输率=(总线宽度/8位)×总线频率 例:PCI总线的总线频率为33.3MHz,总线宽度为64位的情况下,总线数据传输率为266MB/s 。

  6. 四、总线标准的特性 1、物理特性 包括总线根数,插头及插座的尺寸、排列等。 2、功能特性 包括每根信号线的功能。 3、电气特性 包括驱动功率、有效电平等。 4、时间特性 包括每根信号线的有效时间及信号线间的时序等。 注意:总线的功能特性不能代表总线标准。

  7. 五、总线操作与控制 1、总线操作过程 1)总线请求和仲裁阶段2)寻址阶段 3)数据传送阶段4)结束阶段 2、总线传送控制 1)同步方式2)异步方式 3)半同步方式4)分离方式 思考: 1)同步方式与半同步方式的区别? 2)异步方式的4个步骤?

  8. 第二节 系统总线 一、ISA总线 1、ISA总线的信号 支持24位地址,16位数据线,总线频率≤8MHz,最大数据传输率≤16MB/s(=8×16位/8)。 2、ISA总线扩展卡的设计 1)ISA总线扩展卡的物理尺寸 2)ISA总线扩展卡的地址分配和中断号分配

  9. 二、其他总线 1、EISA总线 EISA总线支持32位地址、32位数据总线,总线频率8.33MHz,最大数据传输率33.3MB/s(8.33×32位/8)。 结构与ISA兼容,EISA总线插槽与ISA插槽等长等宽,内部被设计成为双层引脚。 2、PC104总线 采用超小尺寸插卡,自叠总线结构,总线驱动电流小,功耗低。 3、STD总线

  10. 地址期数据期地址期数据期 地址期数据期 数据期 数据期 (a)常规传输 (b)突发传输 第三节 PCI总线 一、PCI总线特点 • 独立于处理器 • 2) 传输效率高 • 3) 多总线共存 • 4) 支持突发传输 • 5) 支持总线主控方式 6) 采用同步操作 7) 支持两种电压下的扩展卡 8) 具有即插即用功能 9) 合理的管脚安排 10) 预留扩展空间 突发传输原理:启动机制、停止机制是关键

  11. 功能→命令(I/O、MEM、配置等) 空间→I/O、MEM、配置空间,字节对齐 单CPU启动 控制 寻址 操作 响应 →协议(信号时序) 数据 终止 多CPU控制→总线请求与仲裁 PCI总线标准知识点: 回17页 回18页 回22页 回29页

  12. 二、PCI总线信号定义 主设备、从设备使用的信号有一部分不同。 1、系统接口信号 CLK IN:PCI系统总线时钟 PCI大部分信号在CLK的上升沿有效。 2、地址与数据接口信号 AD[31:00] T/S:地址、数据多路复用信号 地址期为A[31:00],数据期为D[31:00]。 C/BE#[3:0] T/S:总线命令、字节使能复用信号 地址期内表示总线命令,数据期内表示字节使能信号。 PAR T/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位 回下页

  13. 3、接口控制信号 FRAME# S/T/S:帧周期信号 FRAME#信号无效→有效,表示一帧传输开始; FRAME#有效的第1个时钟为地址期,其后为若干数据期; FRAME#信号有效→无效,表示传输进入最后一个数据期。 IRDY# S/T/S:主设备准备好信号 TRDY# S/T/S:从设备准备好信号 STOP# S/T/S:从设备发出的要求主设备终止当前的数据传送信号 LOCK# S/T/S:锁定信号 IDSEL IN:初始化设备选择(配置片选)信号 DEVSEL# S/T/S:设备选择信号 转上页 回16页

  14. 4、仲裁接口信号 REQ# T/S:总线占用请求信号 GNT# T/S:总线占用允许信号 5、错误报告接口信号 PERR# S/T/S:数据奇偶校验错误报告信号 SERR# O/D:系统错误报告信号 6、中断接口信号 PCI有4条中断线,分别是INTA#、INTB#、INTC#、INTD# 回16页

  15. 7、64位总线扩展信号 AD[63:32] T/S:扩展的32位地址和数据多路复用 线 C/BE[7:4]# T/S:总线命令和字节使能多路复用扩展信号线 REQ64# S/T/S,64位传输请求信号 ACK64# S/T/S:64位传输允许信号 PAR64 T/S:奇偶双字节校验

  16. CLK 频率 发生器 AD[31:0] 从设备 PCI总线控制器 AD[31:0] IDSEL 设备ID 译码器 控制/状态 主设备1 AD15 AD14 AD13 AD12 AD11 C/BE#[3:0] 地址/数据 … 从设备 REQ# IDSEL FRAME# IRDY# LOCK# GNT# 控制/状态 PCI桥 主设备2 DEVSEL# TRDY# STOP# 地址/数据 AD24 … AD16 总线号 译码器 REQ# … GNT# PCI桥 INTA~H# PCI中断控制器 共用信号线 未连接信号线:REQ#、 GNT#、IDSEL 8、主、从设备连接PCI信号线示意图 转14页 转13页 回30页 回36页

  17. 三、PCI总线命令 转11页 回21页

  18. 四、PCI总线协议之一-- PCI总线的寻址 1、字节对齐 AD[31:00]一次只能进行32位数据交换(不能进行字节交换);有64位通道的主设备可进行64位数据交换。 字节交换办法: 主设备在每个新数据期开始的时钟前沿改变字节使能信号(见I/O寻址),且在该数据期中保持不变。 对可缓冲的存储器的数据可不考虑字节使能信号,而传送所有的字节(总线宽度)。 转11页 回下页

  19. 2、I/O地址空间 32位AD线表示的地址空间(A31~A16表示总线号); 最低寻址(或访问)精度为字节。 从设备的处理: 地址期对AD[15:0]译码,决定是否产生DEVSEL#; 数据期检查AD[1:0]和C/BE#[3:0]校验传输的最低有效字节和数据宽度: 如:当AD[1:0]=01时; 若C/BE#[3:0]=1101,为字节传输; 若C/BE#[3:0]=1001,为字传输; 若C/BE#[3:0]=1011等,操作错误,中止传输。 转上页

  20. MEM地址空间 … 31 2 1 0 00000008H 双字边界对齐的起始地址 00000004H 4字节 00000000H 00 地址递增 01 Cache行切换 1X 保留 7 2 1 0 双字边界对齐的起始地址 00 选择该设备 01 选择该桥路后设备 1X 保留 3、内存地址空间 最低寻址(或访问)精度为双字。 A1A0必须为00(或不译码),可作它用! 4、配置地址空间 最低寻址(或访问)精度为双字。 回32页 回下页

  21. 232-1 0 216-1 0 MEM I/O 255 0 255 0 … I/O1配置 I/On配置 总线命令:0110/0111 0010/0011 1010/1011 接口识别: 命令+地址 命令+地址 配置空间片选①+地址 软件指令:MOV IN/OUT IN/OUT② 采用特殊方法区分地址对应的不同空间, 如在I/O空间中开辟特殊区域 ①配置空间片选:同一配置命令,只有一个接口响应总线命令 ②IN/OUT:配置命令使用频率较低,借用I/O指令通过间接访问实现 思考:软件层次如何访问三种地址空间? 转17页 转上页

  22. 五、PCI总线协议之二--传输控制协议 1、PCI总线的传输控制规则 (1) FRAME#和IRDY#定义了总线的忙/闲状态。 11空闲、00数据、10最后一个数据、01启动或等待状态 (0表示低电平信号有效) (2) 一旦FRAME#信号被置为无效,在该传输期(帧)不能重新设置。 (3) 除非设置IRDY#信号有效,一般情况下不能设置FRAME#信号无效(即FRAME#在IRDY#有效时设置)。 (4) 数据期内设置IRDY#或TRDY#信号无效,表示主或从设备插入了等待周期。 转11页

  23. 2、PCI总线的驱动与过渡 一个设备驱动总线到另一个设备驱动总线之间需设置一个过渡期,又称为交换周期,以防止总线访问冲突。 (例如读操作) 在每个地址(数据)期中,所有AD线(包括字节使能信号表明无效字节所对应的AD线)都必须被驱动到稳定的状态,才可进行交换。

  24. CLK 8 1 7 6 2 3 4 5 FRAME# IRDY# TRDY# …… MED SLOW FAST DEVSEL# 3、设备选择 所有从设备共用PCI总线的DEVSEL#信号。 从设备设置DEVSEL#后,传输完成前不能撤消它。

  25. CLK 9 8 1 7 6 2 3 4 5 FRAME# DATA3 DATA1 AD ADDRESS DATA2 C/BE# BUSCMD BE#s IRDY# TRDY# DEVSEL# 数据期 数据期 数据期 地址期 4、总线上的读操作传输过程 一帧中最多只有一个从设备设置DEVSEL#有效; TRDY#无效,表示从设备插入了等待周期。

  26. CLK 9 8 1 7 6 2 3 4 5 FRAME# DATA1 DATA2 DATA3 AD ADDRESS C/BE# BEs3 BEs2 BUSCMD BEs1 IRDY# TRDY# DEVSEL# 数据期 地址期 数据期 数据期 5、总线上的写操作传输过程

  27. 六、PCI总线协议之三--传输中止协议 1、由主设备提出的终止 原因:传输结束,或超时(DEVSEL#无效) 处理: 传输结束—建立IRDY#,撤消FRAME#,直到TRDY#有效后传输完最后一个数据后,撤消IRDY#; 超时—建立IRDY#,撤消FRAME#,撤消IRDY#。 2、由从设备提出的终止 原因:死锁,或8个时钟内来不及响应 处理:发STOP#

  28. PCI总线上传输终止遵循的规则: ⑴当STOP#有效时,FRAME#应在其后2~3个TC内撤消(撤消时应使IRDY#有效);从设备应无条件地保持STOP#有效直到FRAME#撤消为止(STOP#紧跟着撤消)。 ⑵在任何时钟的上升沿,若STOP#和TRDY#同时有效,就表示是传输的最后周期,IRDY#要在下一个时钟的上升沿之前撤消,表示传输的结束。 ⑶对于被目标设备终止的传输,主设备若要继续完成它,就必须用下一个未传输的数据的地址来重试访问。

  29. CLK 1 7 6 2 3 4 5 REQ#-A a b REQ#-B d e c GNT#-A f g GNT#-B FRAME# IRDY# TRDY# 数据 地址 地址 数据 AD B存取 A存取 七、PCI总线协议之四--PCI总线仲裁 主设备必须等到总线空闲时,方可置FRAME#。 转11页

  30. 九、PCI总线配置 1、PNP过程 ⑴BIOS检查所有PNP卡的ID及所需资源; ⑵系统配置程序检查非PNP卡ID及所需资源; ⑶管理程序汇总信息构成硬件树; ⑷统一配置资源到卡。 基础知识: ①一个扩展卡(PCI物理设备,简称设备)可包含多个功能设备(简称功能,PCI总线标准规定最多有8个功能); ②每个设备(所有功能)只有一个IDSEL引脚信号。 回下页 转16页

  31. 2、PCI设备及其配置空间 存在问题: ①所有设备均没有I/O地址(尚等待管理程序分配),如何选择某个设备以读取资源需求和分配资源? ②在没有I/O地址时,如何选择某个功能? ③在没有I/O地址时,如何读取不同厂家功能设备的资源需求? 处理方法: ①通过IDSEL选择设备(同一时刻只有一个设备被选择); ②选择设备的同时,用功能号选择具体功能; ③每个功能有一个配置空间,前面部分的格式统一。 转上页 转16页

  32. 设备1 设备k 255 0 255 0 255 0 255 0 … … … 功能1 功能n 功能1 功能m 配置空间: 大小—256B,前64B(称头区域)格式统一; 寻址精度—双字(32位),A1A0可作他用。 关键问题: ①如何实现配置空间选择(总线、设备和功能); ②如何利用I/O空间命令进行配置空间访问; ③如何实现配置空间信息的读取与分配。 转20页

  33. CPU I/O命令(IN/OUT指令) HOST-PCI桥 配置命令 一级总线00000000 目标桥的中间桥 PCI桥 PCI桥 二级总线00000010 00000001 PCI桥 PCI桥 目标桥 00001001 三级总线00000101 目标总线 3、PCI设备的配置空间选择方法—总线级 PCI桥应具有功能: (总线号译码功能) 根据命令中地址,识别目标总线是否包含在自己桥下; 根据命令中地址,识别目标是否在本级桥总线上。 回下页 回35页 回36页 回39页

  34. 总线号编码规则: 采用分段式编码表示各级总线号,段i值为0时表示该总线为i级总线(硬件习惯于从右开始编号) HOST-PCI桥发出的配置命令地址期总线信号: C/BE#[3:0]=1010/1011;—配置读/写操作码 AD[31:0]= AD[31:24]—保留; AD[23:16]—选择的目标总线号; AD[10:8]—所选目标设备的功能号; AD[7:2]—配置空间REG地址(精度为双字); AD[1:0]—00表示目标设备在一级总线上, 01表示目标设备在下级总线上。 转上页

  35. (1)PCI桥对是否被选中的检测 选中类型:自己为目标桥,或目标桥的中间桥。 选中检测: 被选中时的处理: 回38页 转33页

  36. (2)PCI设备对是否被选中(作为目标设备)的检测(2)PCI设备对是否被选中(作为目标设备)的检测 选中条件(地址期):①C[3:0]为配置操作; ②它的IDSEL引脚信号有效; ③AD[1:0]=00。 检测原理: ①所连总线为目标总线,即AD[1:0]=00; ②在目标总线上被选中(目标总线上所有设备的IDSEL引脚信号应只有一个有效)。 IDSEL引脚连接方法: ①AD[15:11]分别连接到同一总线上各设备的IDSEL引脚(即总线上设备数≤5); ②PCI桥对AD[15:11]译码,产生分离信号到同一总线上各设备IDSEL引脚(即总线上设备数≤32,PC机采用该方案)。 转16页 转33页

  37. CPU I/O命令(IN/OUT指令) HOST-PCI桥 配置命令(C/BE#[3:0]、AD[31:0]) PCI桥 PCI桥 PCI桥用AD[23:16]、AD[1:0]判断是否为目标桥/中间桥 PCI桥用AD[1:0]指明对应总线是否为目标总线(设备判断需用) PCI桥 PCI桥 PCI设备用C/BE#[3:0]、AD[15:11]、AD[1:0]判断是否为目标设备 PCI设备用AD[10:8]选择目标功能及有无 (3)PCI设备对某功能是否被选中的检测 选中条件(地址期): C[3:0]为配置操作、IDSEL引脚信号有效、AD[1:0]=00; 它具备的功能(功能设备)数>AD[10:8]。

  38. (4)配置空间访问的类型 0类配置空间访问( AD[1:0]=00 ) 对当前PCI总线上的目标设备的功能设备的配置REG进行访问。 1类配置空间访问( AD[1:0]=01 ) 通过PCI桥对下一级PCI总线上的目标设备的功能设备的配置REG进行访问。 PCI桥处理:到达目标总线前,转发1类访问操作 到达目标总线时,1类访问→0类访问操作 HOST-PCI桥发出的配置访问类型: 对一级总线上的设备用0类访问类型; 对二级以后(含二级)总线上的设备用1类访问类型。 转35页

  39. 例:PCI总线操作地址期总线信号如下:C/BE#=1011,AD=00011005H,该操作访问几号桥下几号设备何REG?例:PCI总线操作地址期总线信号如下:C/BE#=1011,AD=00011005H,该操作访问几号桥下几号设备何REG? 解:C/BE#=1011,表示总线操作为配置写操作, AD=00000000000000010001000000000101,表示访问1#总线上、2号设备、0号功能配置空间的从00000100B开始的32位寄存器。 (5)PNP时取得所有设备配置信息的过程 对所有总线(最多28个)处理{ 对当前总线的所有设备(最多5个)处理{ 对当前设备的所有功能(最多8个)处理{ 对当前功能头区域所有REG(16个)处理{ 配置访问(一级总线为0类访问)}}}} 注:配置访问8个Clock内DEVSEL#无效时,进行下一个访问 转33页

  40. 4、配置空间访问的实现—总线级和指令级 (1)HOST-PCI桥访问配置空间的实现—直接访问 C/BE#[3:0]=配置读/配置写(1010/1011); AD[31:24]=保留; AD[23:16]=选择的目标总线(目标设备所在的总线); AD[15:11]=选择的目标设备IDSEL(只有一个有效); AD[10:8]=选择的目标设备的功能; AD[7:2]=选择的目标功能的配置空间中REG的索引; AD[1:0]=目标设备在一级总线上时为00, 目标设备在其他总线上时为01。

  41. (2)CPU访问配置空间的实现—间接访问 访问配置空间的指令:(OUT+IN/OUT指令对) 先用OUT指令写总线级配置访问地址期的地址; 再用IN/OUT指令传送总线级配置访问的数据。 I/O指令的端口地址:(0CF8H~0CFFH) 配置地址端口(OUT指令的地址)为0CF8H; 配置数据端口(IN/OUT指令的地址)为0CFCH。 I/O指令到PCI总线配置命令的转换: HOST-PCI桥中的配置机构保存配置操作所需的地址和数据,第二个I/O指令时进行配置转换。 回下页

  42. I/O地址空间 0000H OUT DX,EAX OUT DX,EAX … N 产生总线的I/O操作 DX在0CF8H-0CFFH间 FFFFH Y N 目标物理设备IDSEL DX=0CF8H DX=0CFCH 操作为OUT,EAX最高位为1 目标功能设备配置空间 过滤器 00H Y … 头区域 配置数据REG←EAX 配置地址REG←EAX 3FH … 产生总线的配置操作 命令结束 自由 区域 FFH 配置数 据REG: 配置地 址REG: D31-D0 A31-A16 A15-A11 A10-A8 A7-A0 HOST-PCI桥中配置机构 (3)配置机构工作原理 ①保存配置信息;②实现配置转换。 转上页

  43. 5、配置空间头区域信息的读取与分配 (1)设备识别信息 厂商、设备、版本、分类等 (2)设备控制信息 I/O访问、MEM访问、特殊周期、错误响应、等待周期等 (3)设备状态信息 运行环境、错误标志、DEVSEL#时序等 回48页

  44. 31 2 1 0 1 基地址 规范规定:每个I/O基地址下的端口数不得大于256。 保留 I/O空间映射 3 31(63) 2 1 0 0 基地址 预取使能 存储空间映射 00 32位地址空间任意映射 01 32位地址空间1M字节以内映射(已不用) 10 64位地址空间任意映射 11 保留 (4)基址寄存器 思考:如何利用一个REG解决请求和分配问题? 回下页 回下二页

  45. 例1:基址寄存器的值=FFF00000h D0=0—表示是一个MEM地址空间映射 D[2:1]=00B—表示使能32位MEM映射 D3=0—表示该功能设备不是预取MEM D[31:4]—第一个为1的位是D20,表示映射的MEM空间为1MB=220;即将分配的MEM空间的基址应该为1MB的整数倍 系统管理程序经过权衡后再向该基址寄存器写入实际映射的空间基址(满足边界对齐原则)。 基址寄存器是为简化设备配置过程、达到配置空间的映射与设备无关的目标而设计的。 转上页

  46. 例2:基址寄存器的值=FFFFFF01H D0=1—表示是一个I/O地址空间映射 D[31:2]—第一个为1的是D8,表示映射的I/O空间为256B;即将分配的I/O空间的基地址应该为256的整数倍 最大/最小存储映射地址空间— 最小存储映射地址空间=16字节 最大存储映射地址空间=2GB 最大/最小I/O映射地址空间— 最小I/O映射地址空间=4字节 最大存储映射地址空间=256字节 转上二页

  47. 10 31 11 1 0 保留 基地址 扩展ROM访问允许 (5)扩展ROM基地址寄存器 例3:扩展ROM基址寄存器的值=FFFF0001H D0=1—表示扩展ROM访问允许 D[31:11]—第一个为1的是D16,表示映射的ROM空间为64K;即将分配的ROM空间的基地址应该为64K的整数倍 (6)头区域中其它寄存器 Cache、中断引脚、中断请求REG等。

  48. 例4:读0号PCI总线的1号扩展槽设备的2号功能的基址REG0。例4:读0号PCI总线的1号扩展槽设备的2号功能的基址REG0。 例5:给2号PCI总线的3号扩展槽设备的0号功能的基址REG0分配从1A00H开始的8个地址I/O空间。 MOV DX,0CF8H MOV EAX,80000A10H OUT DX,EAX MOV DX,0CFCH MOV EAX,FFFFFFFFH OUT DX,EAX MOV DX,0CF8H MOV EAX,80000A10H OUT DX,EAX MOV DX,0CFCH IN EAX,DX MOV DX,0CF8H OUT DX,80022011H MOV DX,0CFCH OUT DX,00001A00H 转43页

  49. 十、PCI BIOS 初始化程序只能通过PCI BIOS才能访问PCI配置寄存器。PCI BIOS再通过配置地址端口寄存器和配置数据口寄存器实现其功能。 1、16位PCI BIOS的调用 通过INT 1AH实现:AH=B1H,AL为子功能号。 2、32位PCI BIOS的调用 确认32位BIOS是否存在; 确认BIOS是否支持PCI BIOS,并取得PCI BIOS入口地址; 通过INT 1AH实现:AH=B1H,AL为子功能号。

  50. PCI总线 MEM USB主控制器/根Hub 主机 USB总线 高速 全速 高速 电话 显示器(含集线器) 集线器 USB端口 扬声器 扬声器 键盘(含集线器) 高速→480Mb/s 全速→12Mb/s 低速→1.5Mb/s 低速 低速 麦克风 麦克风 第四节 通用串行总线USB 一、USB系统的组成 1、USB系统连接模式 (1)拓扑结构:树型结构,最多可连接127个设备。 回下页 回52页 回53页

More Related