第63章:dma控制方法(编辑修改稿)内容摘要:
DMA写传送: IO写入 RAM IOR读 IO数据 MEMW写数据入 RAM DMA读传送: RAM读出数据 IO MEMR读 RAM数据 IOW写入 IO数据 8237操作类型和传送方式 1)操作类型(四种) DMA校验 对数据块进行效验 RAMRAM传送: 用两个 DAM通道 CH0和 CH1 CH0为源地址, CH1为目的地址 需要两个周期完成 字节计数器存字节数 8237操作类型和传送方式 2)传送方式(四种) 单字节 每次一个字节 块传送 每次 N个字节 字节计数器为 FFFFH时, EOP=0, DMA 终止 随机请求传送 每次传送一个字节后, 8237对 DREQ测试。 直到连续传送到字节计数器为 0 或外部输入使 EOP变低或 DREQ变为无效时为止。 8237操作类型和传送方式 2)传送方式(四种) 级联传送 优先权决定于连接的通道号 可扩充系统的 DMA通道数。 下一级的 HRQ接到上一级的某一通道的DREQ上,而上一级的响应信号DACK,可接下一级的 HLDA上。 在级联方式下,当第二级 8237的请求得到响应时,第一级 8237仅应输出 HRQ信号而不能输出地址及控制信号,因为,第二级的 8237才是真正的主控制器,而第一级的 8237仅应起到传递 DREQ请求信号及 DACK应答信号的作用。 8237操作类型和传送方式 3)优先级 8237有两种优先级方案可供编程选择: (1).固定优先级 规定各通道的优先级是固定的,即通道 0的优先级最高,依次降低,通道 3的优先级最低。 (2).循环优先级 规定刚被服务通道的优先级最低,依次循环。 这就可以保证 4个通道的优先级是动态变化的,若 3个通道已经被服务则剩下的通道一定是优先级最高的。 8237操作类型和传送方式 4)传输速率 在一般情况下, 8237进行一次 DMA传送需要 4个时钟周期 (不包括插入的等待周期 SW)。 例如, PC机的时钟周期约 210ns,则一次 DMA传送需要 210ns*4+2l0ns= 1050ns。 多加一个 210 ns是考虑到人为插入一个 SW的缘故。 另外, 8237为了提高传送速率,可以在压缩定时状态下工作。 在压缩定时状态下,每个 DMA总线周期仅用 2个时钟周期就可以实现,从而可以大幅度地提高数据的传送速率。 8237编程 1)通道 REG设定 工作方式设定 ( 8237A 模式 REG. 格式(写 B号) ) D7 D6 D5 D4 D3 D2 D1 D0 模式选择 随机请求传输模式 0 0 单字节传输模式 0 0 1 1 1 1 非传输模式 级联传输模式 地址增量选择 地址加 1 0 地址减 1 1 自动预置功能选择 禁止 0 允许 1 通道选择 0 选 0 Channel 0 0 1 1 1 0 1 选 1 Channel 选 2 Channel 选 3 Channel 传输类型选择 0 0 校验传输 0 0 1 1 1 1 X X 写传输 读传输 非 法 D7 D6=11 D7D6D5D4D3D2D1D000 —选通道 001 —选通道 110 —选通道 211 —选通道 30复位请求位1置位请求位无效位图 请求寄存器的格式 通道请求设定 8237A单通道 屏蔽 REG. 格式 D7 D6 D3 D2 D1 D0 D5 D4 不用 0 清除 MASK 位 建立 MASK 位 1 0 0 Channel 0 0 0 1 1 1 1 Channel 1 Channel 2 Channel 3 通道选择 通道屏蔽设定 8237A 四通道 屏蔽 REG. 格式 通道屏蔽设定 D7 D6 D3 D2 D1 D0 D5 D4 不用 0 清 Channel 3 M 位 设 Channel 3 M 位 1 0 0 1 1 0 清 Channel 2 M 位 1 设 Channel 2 M 位 清 Channel 0 Mask 位 设 Channel 0 Mask 位 清 Channel 1 Mask 位 设 Channel 1 Mask 位 8237编程 2)公用 REG设定 命令 REG设定 D7 D6 D5 D4 D3 D2 D1 D0 DACK有效电平 低电平有效 0 高电平有效 1 0 1 DREQ有效电平 高电平有效 扩展写 MEM. 0 1 1 0 0 1 Enable 8237A 低电平有效 不扩展写 0 扩展写 1 D3=1 X 优先级类型 0 1 固定优先级 循环优先级 MEM. 传输 禁止 允许 Channel 0 地址保持不变 X Disable Enable D0=0 8237A 工作 Disable 8237A 时序类型 0 1 X 普通时序 压缩时序 D0=1 D7D6D5D4D3D2D1D01 — 表 示 该 通 道 有D M A 请求0通道1通道2通道3通道0 — R ES ET 或 C PU 读状态寄存器后1 — 表示该通道计数到终点或 EO P 输入0通道1通道2通道3通道图 状态寄存器格式 状态寄存器格式 通道 REGISTER 操作 CS 10R 10W A3 A2 A1 A0 内 F/F DB0~DB7 0 0 0 1 1 1 1 基 / 现行地址 基 / 现行字计数 现行。第63章:dma控制方法(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。