ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

CO——总线

CO——总线 6.1 总线基本概念6.1.1 总线定义与特点总线一组共享的信息传输线实现多个部件之间的数据交换。分时同一时刻只允许一个设备向总线发送信号其余发送设备等待。共享多个设备可以在不同时刻发送接收端可以同时接收总线上的相同信息。6.1.2 总线分类1按位置功能分类片内总线芯片CPU内部总线连接片内寄存器、ALU。系统总线CPU 外部连接 CPU、主存、I/O 接口分为数据线、地址线、控制线。通信总线外部总线计算机和其他外部系统之间通信。2按数据传输方式串行总线逐位顺序传送适合远距离多数通信总线为串行。并行总线多位同时传输缺点长线传输存在串扰各位信号不同步到达适合近距离多数系统总线为并行。高频条件下并行总线串扰严重速率不一定高于串行总线。3按时序控制同步总线统一时钟时钟节拍内完成总线操作。异步总线无统一时钟依靠请求、应答握手信号完成通信。6.1.3 系统总线三种结构单总线结构CPU、主存、I/O 全部挂接同一组系统总线主存与 I/O 统一编址。缺点全部设备争抢同一总线系统传输效率低。双总线结构将系统总线拆分为独立的主存总线、I/O 总线把低速I/O设备剥离至I/O总线避免和高速主存、CPU争抢总线资源。优点大幅提升系统整体工作效率缺点两类总线之间需要通道专用处理器完成数据转接增加硬件成本。三总线结构主存总线CPU ↔ 主存I/O 总线CPU ↔ 外设DMA 总线主存 ↔ 高速外设DMA 专用通路6.1.4 总线性能指标总线宽度数据总线根数一个总线周期同时传输的二进制位数。总线带宽单位时间总线上传输的数据位数代表传输速率。信号线数地址线 数据线 控制线的总和。总线复用一根信号线分时传输多种信号典型地址、数据线复用。总线负载总线上可挂载的设备数量负载能力有限。总线时钟频率 / 时钟周期互为倒数总线时钟周期是总线的基础时间单位。总线传输周期总线周期完成一次主存 / I/O 端口访问的完整时间包含若干总线时钟周期。6.1.5 总线事务、主设备、从设备总线事务一对设备之间从请求总线到完成数据交换的完整操作序列。主设备获得总线控制权发起传输请求的设备CPU、DMA 控制器。从设备响应主设备被动完成通信的设备。一个总线传输周期内只能有一个主设备仅和一个从设备通信。总线事务五个阶段总线请求主设备发出使用总线申请总线仲裁多个请求时仲裁逻辑选出获得总线控制权的设备设备寻址主设备把从设备地址、命令送上总线数据传输主从设备完成数据交互总线释放主设备释放总线撤出总线信息猝发突发传送只发送首地址连续传输内存中一批连续地址单元的数据相比普通传输效率更高。6.1.6 总线通信总线定时同步通信同步定时统一时钟所有操作严格对齐时钟节拍。异步通信无公共时钟依靠请求、应答握手信号分为三种互锁方式不互锁请求、应答信号各自独立撤销不需要等待对方信号。半互锁主设备发出请求必须收到从设备应答之后才撤销请求。全互锁主发请求 → 从发应答 → 主收到应答后再给从一个确认双方信号互相约束。半同步通信既有统一时钟又可以通过等待信号适配不同速度模块。分离式通信总线周期拆分为两个子周期主模块一获得总线发送地址 命令释放总线第一段事务结束。从模块内部开始准备数据总线空闲主模块二可以使用总线发起新的总线请求。从模块准备完毕后主模块一需要重新竞争总线拿到总线之后完成数据的传送第二段事务。6.2 I/O 设备基础6.2.1 I/O 设备按信息交换单位分类字符设备以字符为单位传输不可寻址中断驱动例键盘。块设备以数据块为单位可随机寻址读写速率高支持 DMA例硬盘、光盘。6.2.2 显示器屏幕尺寸对角线长度单位英寸。分辨率屏幕像素总数 横向像素数 × 纵向像素数像素即屏幕光点。刷新光点显示时间很短需要重复扫描维持画面。刷新频率每秒扫描屏幕完整画面次数常见 60‑120Hz。VRAM 显示存储器显存DRAM 实现存储屏幕每一个像素色彩信息。显存容量 分辨率 × 灰度级位数显存带宽 显存容量 × 帧频刷新频率灰度级黑白代表明暗彩色代表颜色等级灰度级越高图像越真实。6.2.3 外存储器磁盘存储器容量大读出不破坏数据数据可长期保存。SSD 固态硬盘由固态电子存储芯片阵列制成分为两类存储介质①基于闪存②基于 DRAM。读写速度远优于传统机械磁盘无机械结构稳定性更强。6.3 I/O 接口I/O 接口主机与外设之间的逻辑部件协调主机与外设通信。主机侧并行传输外设侧可串行 / 并行USB 等。区分I/O 接口是整套逻辑部件I/O 端口是 CPU 可直接访问的寄存器。一个接口可包含多个 I/O 端口每个端口分配独立地址。6.3.1 I/O 接口四大功能数据缓冲解决主机与外设速度差异缓冲数据。数据格式转换串‑并转换、模数 A/D、数模 D/A 转换。控制与定时接收系统总线控制、定时信号协调主机与外设动作时序管控通信。错误与状态检测状态寄存器保存设备状态、出错信息CPU 读取状态寄存器获知外设情况。状态寄存器、控制寄存器访问时间错开数据流错开可以合并为状态‑控制寄存器。6.3.2 I/O 接口分类按传送方式并行接口、串行接口外设侧按主机控制方式程序查询接口、中断接口、DMA 接口按可编程性可编程接口程序修改接口功能、不可编程接口6.3.3 I/O 端口编址方式① 独立编址I/O 映射主存地址空间、I/O 端口地址空间相互独立地址编号可以重叠必须使用专用I/O指令才能访问I/O端口。优点I/O端口占用地址线少寻址速度快访存指令与I/O指令完全区分程序逻辑清晰、便于调试检查。缺点CPU需要单独配置存储器、I/O设备两套读写控制信号总线控制逻辑复杂需要配套专用硬件保护机制。② 统一编址存储器映射I/O端口与主存单元共用同一个地址空间无需专门的I/O指令直接使用常规访存指令即可访问I/O端口。优点可复用所有访存指令的寻址方式和硬件保护机制CPU访问I/O设备灵活便捷无需额外硬件设计。缺点I/O端口会占用一部分主存地址空间缩减可用的主存寻址范围。6.4 程序中断方式6.4.1 中断系统基本功能每条指令执行结束取下一条指令前检测中断请求。中断判优多中断源同时请求优先响应高优先级。保护断点与现场PC、PSW、通用寄存器等。中断屏蔽机制控制哪些中断可以被嵌套打断。6.4.2 程序中断产生背景程序查询方式中CPU与外设串行工作CPU长期空闲等待外设完成操作资源利用率极低。中断方式完美解决该问题CPU启动外设工作后无需原地等待可继续执行其他程序实现CPU与外设并行工作外设完成数据传输后主动向CPU发送中断请求CPU响应中断跳转执行中断服务程序处理数据处理完成后返回原程序继续执行。6.4.3 中断判优的两种实现软件查询判优CPU响应中断后按照预设优先级顺序依次轮询中断请求寄存器的状态先查询到的中断源优先响应。优点硬件结构简单无需专用判优电路修改中断优先级仅需调整软件查询顺序灵活度高。缺点串行查询耗时久中断响应速度慢效率较低。硬件判优向量中断依靠专用硬件判优线路和优先级编码器自动识别同时生效的中断请求筛选出优先级最高的中断源输出对应中断类型号直接定位中断服务程序入口地址无需软件轮询。响应速度极快是主流计算机采用的判优方式。通用中断优先级排序考研必考DMA请求 I/O中断请求高速设备 低速设备实时设备 普通设备输入设备 输出设备。6.4.4 中断响应条件存在中断源发出中断请求CPU 处于开中断当前指令执行完毕进入中断周期。中断隐指令硬件自动执行无对应的机器指令保存断点把中断服务程序入口送入 PC。6.4.5 获取中断服务程序入口地址软件方法类似软件查询查到中断源后跳转执行对应服务程序入口地址由程序员指定缺点查询时间长。硬件方法中断向量法硬件自动得到中断向量中断向量存放中断服务程序入口全部中断向量存放在中断向量表。6.4.6 现场保护与恢复旧现场PC、PSW、中断屏蔽字硬件自动压栈。新现场从向量表取出中断服务程序入口、新状态字通用寄存器由软件指令压栈保护。恢复现场保护现场逆过程。6.4.7 多重中断中断嵌套条件CPU 进入中断服务程序后要开中断出现优先级更高的中断请求CPU立即暂停当前中断服务程序转去处理更高优先级的中断实现中断嵌套。6.4.8 中断屏蔽技术可屏蔽中断开中断才响应可以通过程序屏蔽。非屏蔽中断关中断状态下依然可以响应电源掉电、异常属于非屏蔽中断。每个中断源配备独立的mask屏蔽触发器用于控制中断是否生效。主程序运行同时来了 1#、3#、4# 三个中断请求。同时收到 1、3、4 中断请求硬件响应优先级先响应1#进入 1# 中断服务程序。 1# 的屏蔽字屏蔽 2、3、4所以 3#、4# 被挡住不能打断 1#。1# 执行结束返回主程序。 现在还挂着未处理的 3#、4# 请求硬件响应 3#进入 3# 服务程序。 3# 屏蔽字开放 1#、2#屏蔽 4#。 此时来了2# 中断2# 处理优先级高于 3#于是2# 打断 3#CPU 切到 2# 中断服务。2# 运行期间屏蔽 3#、4#允许 1#。2# 执行完回到被打断的 3# 继续执行。3# 执行完毕回到主程序。现在剩下 4# 未处理进入 4# 服务程序。 4# 全部开放期间来了 1# 中断1# 打断 4#1# 运行完回到 4#4# 结束回到主程序。中断服务程序执行完不是一定回到最原始主程序而是回到 “被它打断的那一层程序”在中断返回的那一瞬间才会检查有没有新中断请求。两个优先级区分中断响应优先级硬件排队电路决定不可修改。中断处理优先级多重中断实际执行顺序通过中断屏蔽字动态修改被称为软排队器。6.5 DMA直接存储器存取6.5.1 DMA 产生背景中断方式CPU 与外设可以并行但是中断服务程序内部的数据搬运阶段 CPU 需要参与高速块设备会频繁触发中断CPU 开销大。DMA依靠 DMA 控制器硬件建立外设 ↔ 主存直接通路数据块传输阶段完全不需要 CPU 干预。适用块设备硬盘等。CPU 只参与预处理启动、后处理善后。主存开辟缓冲区存放外设交互的数据。6.5.2 DMA 控制器功能接收外设 DMA 请求向 CPU 发出总线请求。获取总线控制权。设置主存起始地址、传输计数、读写方向。输出读写控制信号完成硬件数据传输。数据块传输完毕发出 DMA 完成信号。6.5.3 DMA 与主存三种分时访问方式停止 CPU 访存DMA 请求到来直接停止 CPU 访问主存DMA 独占总线直到传输结束。交替分时访存CPU 工作周期切分成时间片CPU、DMA 交替使用主存。周期挪用法周期窃取CPU与DMA分时复用主存按需占用、互不冲突。三种工作场景①CPU不访存DMA直接占用总线访问主存无冲突、无等待②CPU正在访存DMA等待当前存取周期结束再占用总线传输数据③CPU与DMA同时请求访存DMA优先级高于CPU强行窃取当前周期避免高速外设数据丢失。6.5.4 DMA 完整工作三阶段预处理CPU 程序完成设置主存首地址、传输长度、读写方向启动 DMA之后 CPU 继续运行其他程序。数据传输DMA 控制器硬件完成CPU 不介入。后处理DMA 传输结束向 CPU 发中断CPU 在指令结束后的中断周期响应中断执行中断服务程序做校验、善后。预处理全部由 CPU 完成对应传送参数设置、寻道、查找扇区CPU 配置 DMA 控制器的各项参数并下发 I/O 命令尚未进行真正的数据搬运之后进入 DMA 传送阶段扇区就绪后由 DMA 控制器接管总线完成磁盘与内存之间大批量数据的直接高速搬运CPU 可以并行执行其他程序数据传送结束后进入后处理阶段DMA 向 CPU 发出中断请求CPU 执行中断服务程序完成数据校验、错误处理、状态清理等善后工作。6.5.5 DMA 与程序中断对比DMA仅预处理、后处理需要 CPU 介入数据搬运硬件完成中断方式数据搬运需要 CPU 执行服务程序。DMA 请求优先级高于中断请求。DMA 适合大批量块数据中断适合字符设备。
返回列表