中国种学技术大学 计算机组成原理 系统互连与通信—总线 (RV$6.9,唐第3章) 李曦(llxx@ustc.edu.cn)
计算机组成原理 系统互连与通信——总线 (RV $6.9,唐第3章) 李曦(llxx@ustc.edu.cn)
RV$6.9:总线与Vo 》 ·示例:NetFPGA1 OG Ethernet NIC an FPGA-based open platform for network research and classroom experimentation ·总线 —Control -Data PCle -PCI:并行总线 MAC PHY +Port 0 -PCIe总线:串行总线 PHY +Port 1 MA PHY +Port 2 ·VO机制 MAC PHY +Port 3 MMIO Polling,Interrupt-driven I/O,DMA 一设备驱动程序
RV $6.9:总线与I/O • 示例:NetFPGA 10G Ethernet NIC – an FPGA-based open platform for network research and classroom experimentation • 总线 – PCI:并行总线 – PCIe总线:串行总线 • I/O机制 – MMIO – Polling,Interrupt-driven I/O,DMA – 设备驱动程序
系统部件互连(interconnect) 读/写 读/写 ·信号线wire 状态 状态 地址 地址 地址 状态 CPU 中断 接口 中断 存储器 一地址 数据 数据 数据 DMA DMA 一 数据 运算器 -控制(状态,命令) 输入设备 存储器 输出设备 。 互连模式 一点对点:独占式 控制器 一总线:共享式 BR1 BR2 Master 1 Arbiter circuit Master 2 一混合 BG1 BG2 Bus IO device 1 I/O device n
• 信号线wire – 地址 – 数据 – 控制(状态,命令) • 互连模式 – 点对点:独占式 – 总线:共享式 – 混合 系统部件互连(interconnect)
"hello,world n" e》 片内总线 CPU 片外总线 寄存器文件 内部总线:系统总线,O总线 PC ALU 外围总线:外设总线 系统总线 存储器总线 主存 “he11o, world\n" 总线接可 储器 he11o代码 I/O总线 000 扩展槽,留待 USB 图形 网络适配器一 磁盘 控制器 类的设备使用 适配器 控制器 鼠标 键盘 显示器 “hello,world\n” 磁盘 存储在磁盘上的he11o 可执行文件
"hello, world\n" 片内总线 片外总线 内部总线:系统总线,I/O总线 外围总线:外设总线
PC机中的总线:层次化拓扑结构 Graphics Co-Processor Frontside bus DRAM bus Backside bus AGP p2p CPU Off-Chip On-Chip Sys Mem Cache Cache/s Controllers DIMMs North Bridge SCSI bus PCI bus Hard SCSI Network Drive/s Controller Interface 1/O Keyboard Other Low-BW Controller 1/O Devices South Bridge Mouse FIGURE Ov.3:Typical PC organization.The memory subsystem is one part of a relatively complex whole.This figure illustrates a two-way multiprocessor,with each processor having its own dedicated off-chip cache.The parts most relevant to this text are shaded in grey:the CPU and its cache system,the system and memory controllers,the DIMMs and their component DRAMs,and the hard drive/s. Bruce Jacob,Memory Systems:Cache,DRAM,Disk,2008
PC机中的总线:层次化拓扑结构 Bruce Jacob,Memory Systems: Cache, DRAM, Disk,2008
总线 ·定义:连接多个部件的传输线 地址总线 一数据、地址、控制(状态,命令) 数据总线 CPU 总线的关键特征:多设备共享的传输线。 主存储器 Read 主设备master:任意时刻只能有一个设 write 备向总线发送信息 ready ·系统瓶颈 控制总线 一 从设备slave:多个部件可以同时从总线 连接其它外围设备 接受相同的信息 ·广播式 ·总线拓扑:单总线,多总线(层次化) 总线周期: BR1 BR2 一数据传输过程 Master I Arbiter circuit Master 2 一 同步方式 BG1 BG2 总线仲裁 Bus -单/多master系统 -集中式,分布式(CAN)) 总线标准 IO device 1 I/O device n
总线 • 定义:连接多个部件的传输线 – 数据、地址、控制(状态,命令) • 总线的关键特征:多设备共享的传输线。 – 主设备master:任意时刻只能有一个设 备向总线发送信息 • 系统瓶颈 – 从设备slave:多个部件可以同时从总线 接受相同的信息 • 广播式 • 总线拓扑:单总线,多总线(层次化) • 总线周期: – 数据传输过程 – 同步方式 • 总线仲裁 – 单/多master系统 – 集中式,分布式(CAN)) • 总线标准
总线传输过程:总线周期 ·完成一次总线传输可分为3个阶段 一申请阶段:仲裁算法(集中式、分布式) ·主设备提出申请,经总线仲裁机构决定将下一传输周期的总线 使用权授于某一申请者。 ·链式查询、计数器定时查询、独立请求 数据传输:同步控制,传输模式(串/并、单字/突发) ·寻址阶段:取得了使用权的主设备,通过总线发出本次打算访 问的从设备的存储地址或设备地址及有关命令,启动从设备。 ·传数阶段:主设备和从设备进行数据交换。 - 结束阶段:从总线上撤除有关信息,让出使用权。 ·对于独占系统,只有数据传输阶段 一独占系统:只有一个主设备的简单系统,如8086
总线传输过程:总线周期 • 完成一次总线传输可分为3个阶段 – 申请阶段:仲裁算法(集中式、分布式) • 主设备提出申请,经总线仲裁机构决定将下一传输周期的总线 使用权授于某一申请者。 • 链式查询、计数器定时查询、独立请求 – 数据传输:同步控制,传输模式(串/并、单字/突发) • 寻址阶段:取得了使用权的主设备,通过总线发出本次打算访 问的从设备的存储地址或设备地址及有关命令,启动从设备。 • 传数阶段:主设备和从设备进行数据交换。 – 结束阶段:从总线上撤除有关信息,让出使用权。 • 对于独占系统,只有数据传输阶段 – 独占系统:只有一个主设备的简单系统,如8086
总线判优:复杂性、公平性、可靠性、可扩展性 集中式系统:链式查询、计数器定时查询、独立请求 分布式:各节点有各自D和仲裁器。按D优先级高者占用总线。例:自举式 数据线 数据线 地址线 地址线 总 总线忙BS 总线请米BR 设备地址 控制 线控 总线忙BS 总线请求BR /o接口0 /O接口1 o接口n 器 总线允许BG 1/O接日0 /O接日1 /O接口n 数据线 地址线 BGn BRo 总线控制 BR BR: BR2 BR3 BGo BRo 1/O接口0 /O接口1 1/O接口2 1/O接口3 1/0接口0 /O接口1 /O接口n BRO为busy
总线判优:复杂性、公平性、可靠性、可扩展性 集中式系统:链式查询、计数器定时查询、独立请求 分布式:各节点有各自ID和仲裁器。按ID优先级高者占用总线。例:自举式 BR0为busy
总线通信控制:同步通信方式 USTC 。 通信双方由统一时标控制数据传送称为同步通信。 - 时标通常由CPU的总线控制部件发出,送到总线上的所有部件; - 也可以由每个部件各自的时序发生器发出,但是必须有总线控制 部件发出的时钟信号对它们进行同步。 总线读周期 ·对于读命令,其传输周 期为: T:主模块发地址 时钟 T2:主模块发读命令 ● T3:从模块提供数据 地址 T4:主模块撤销读命令 读命令 ·仲裁? ·写操作时序图? 数据 data
总线通信控制:同步通信方式 • 通信双方由统一时标控制数据传送称为同步通信。 –时标通常由CPU的总线控制部件发出,送到总线上的所有部件; –也可以由每个部件各自的时序发生器发出,但是必须有总线控制 部件发出的时钟信号对它们进行同步。 • 对于读命令,其传输周 期为: • T1:主模块发地址 • T2:主模块发读命令 • T3:从模块提供数据 • T4:主模块撤销读命令 • 仲裁? • 写操作时序图? 总线读周期 读命令 地址 data 数据 时钟 T1 T2 T3 T4
总线通信控制:异步通信方式 USTC ·没有公共的时钟,采用应答方式(握手) -主设备Request(MSYN),从设备响应Ack(SSYN); ·确认总线周期的开始和结束 读 一三种应答:不互锁,半互锁,全互锁 地址 -例:PCI半互锁 MSYN 数据 Req SSYN ACK 读/写 1/O 请求 CPU 接口 地址 应答 数据 不互锁方式 半互锁方式 全互锁方式
总线通信控制:异步通信方式 • 没有公共的时钟,采用应答方式(握手) – 主设备Request(MSYN),从设备响应Ack(SSYN); • 确认总线周期的开始和结束 – 三种应答:不互锁,半互锁,全互锁 – 例:PCI半互锁