90 偏远的 DMA
这 偏远的 DMA 频道 是 使用 至 两个都 组装 包装-
ets 为 transmission 和 至 除去 received packets 从
这 Receive 缓存区 Ring 它 将 也 是 使用 作 一个 一般
目的 从动装置 DMA 频道 为 移动的 blocks 的 数据 或者
commands 在 host 记忆 和 local 缓存区 memory
那里 是 三 模式 的 operation 偏远的 Write 偏远的
Read 或者 Send Packet
二 寄存器 pairs 是 使用 至 控制 这 偏远的 DMA 一个
偏远的 开始 地址 (rsar0 rsar1) 寄存器 一双 和 一个
偏远的 字节 计数 (rbcr0 rbcr1) 寄存器 pair 这
开始 地址 寄存器 一双 点 至 这 beginning 的 这
块 至 是 moved 当 这 字节 计数 寄存器 一双 是
使用 至 表明 这 号码 的 字节 至 是 transferred 全部
handshake 逻辑 是 提供 至 move 数据 在 local
缓存区 记忆 和 一个 双向的 IO port
偏远的 写
一个 偏远的 写 转移 是 使用 至 move 一个 块 的 数据
从 这 host 在 local 缓存区 memory 这 偏远的 DMA
将 读 数据 从 这 IO 端口 和 sequentially 写 它 至
local 缓存区 记忆 beginning 在 这 偏远的 开始 Address
这 DMA 地址 将 是 incremented 和 这 字节 coun-
ter 将 是 decremented 之后 各自 transfer 这 DMA 是
terminated 当 这 偏远的 字节 计数 寄存器 reaches
zero
偏远的 读
一个 偏远的 读 转移 是 使用 至 move 一个 块 的 数据
从 local 缓存区 记忆 至 这 host 这 偏远的 DMA 将
sequentially 读 数据 从 这 local 缓存区 memory begin-
ning 在 这 偏远的 开始 Address 和 写 数据 至 这 IO
port 这 DMA 地址 将 是 incremented 和 这 字节
计数器 将 是 decremented 之后 各自 transfer 这 DMA
是 terminated 当 这 偏远的 字节 计数 寄存器 reach-
es zero
SEND 小包装板盒 COMMAND
这 偏远的 DMA 频道 能 是 automatically initialized
至 转移 一个 单独的 小包装板盒 从 这 Receive 缓存区 Ring
这 CPU begins 这个 转移 用 issuing 一个 ‘‘Send Packet’’
Command 这 DMA 将 是 initialized 至 这 值 的 这
Boundary Pointer 寄存器 和 这 偏远的 字节 计数
寄存器 一双 (rbcr0 rbcr1) 将 是 initialized 至 这 值
的 这 Receive 字节 计数 地方 建立 在 这 缓存区 标头
的 各自 packet 之后 这 数据 是 transferred 这 Boundary
Pointer 是 先进的 至 准许 这 缓存区 至 是 使用 为 新
receive packets 这 偏远的 读 将 terminate 当 这
字节 计数 相等 zero 这 偏远的 DMA 是 然后 准备好
至 读 这 next 小包装板盒 从 这 Receive 缓存区 Ring 如果 这
DMA pointer crosses 这 页 停止 Register 它 是 重置 至
这 页 开始 Address 这个 准许 这 偏远的 DMA 至
除去 packets 那 有 wrapped 周围 至 这 顶 的 这
Receive 缓存区 Ring
便条 1
在 顺序 为 这 st-nic 至 correctly execute 这 Send 小包装板盒 com-
mand 这 upper 偏远的 字节 计数 寄存器 (rbcr1) 必须 第一
是 承载 和 0FH
便条 2
这 Send 小包装板盒 command 不能 是 使用 和 680x0 类型 proc-
essors
偏远的 DMA Autoinitialization 从 缓存区 环绕
TLF11157–17
23