60 函数的 描述 (维护 engine)
(持续)
这 MACSI 设备 有 一个 模式 为 controlling 这 ABus ad-
dress Strobe (ab
作
) 在 这 default mode AB
作 是
驱动 起作用的 在 这 地址 循环 和 仍然是 低
全部地 这 access 在 这 第二 模式 (simr1asm
e
1) AB
作 是 驱动 起作用的 在 这 地址 循环 和
驱动 inactive 在 这 remainder 的 这 access 这个 al-
lows AB
作
至 是 使用 直接地 作 一个 时钟 使能 至 这
地址 闭锁 设备 这个 减少 这 号码 的 exter-
nal components
在 增强 ABus 模式 (eam) 这 MACSI 设备 有
fixed 地址 定时 这个 是 类似的 至 这 物理的 地址
定时 描述 above 这 SBus MMU 做 不 需要
extra 循环 为 这 地址 translation
这 MACSI 设备 接口 至 字节-addressable memory
但是 总是 transfers 信息 在 words 这 MACSI de-
恶行 使用 一个 文字 宽度 的 32 数据 位 加 4 (1 每 字节)
parity bits Parity 将 是 ignored
总线 Transfers
这 ABus 支持 单独的 文字 accesses 和 4-文字 和
8-文字 bursts 简单的 读 和 写 包含 一个 单独的 ad-
dress 和 数据 transfer Burst 读 和 写 包含 一个
单独的 地址 转移 followed 用 多样的 数据 transfers
Burst sizes 是 选择 dynamically 用 这 MACSI device
这 用户 能 使不能运转 8-文字 bursts 用 设置 MR0SMLB 至
一个 1 这个 forces 这 MACSI 设备 至 使用 1-文字 和 4-文字
transactions only
这 MACSI 设备 提供 这 全部 de-多路复用 地址
在 一个 access 这个 包含 这 文字 地址 为 各自
文字 的 一个 burst (ab
一个
42
) 至 使用 这 de-多路复用
地址 (ab
一个
42
) 在 MACSI revisions A B 或者 C 这
地址 定时 模式 位 (simr1atm) 必须 是 设置 equal 至
one 这个 导致 这 文字 地址 至 来到 输出 在 这 一样
循环 作 这 文字 的 数据 正在 accessed 这 文字 ad-
dresses 信号 (ab
一个
42
) 将 是 使用 在 这 ‘‘look-
ahead’’ 模式 (simr1atm
e
0) 如果 这 用户 做 地址
de-multiplexing externally 用 闭锁 AB
一个
275
外部-
ly 在 这 地址 cycle 为 MACSI revisions D 或者 后来的
(si 修订
t
0x00000058) 这 用户 将 选择 也 ad-
dress 定时 模式 (simr1atm
e
0 或者 1) 当 使用 这
demultiplexed 地址 管脚 AB
一个
270
在 表明 Channels 当 8-文字 bursts 是 enabled 所有
transactions 将 是 8 words 直到 这 终止 的 这 frame 这
last 转移 将 是 4 或者 8 words 取决于 在 这 号码
的 remaining bytes 如果 仅有的 4-文字 bursts 是 allowed 所有
表明 数据 transfers 是 4 words
在 要求 Channels 这 MACSI 设备 将 使用 4- 或者
8-文字 bursts 至 进入 所有 数据 向上 至 这 终止 的 这 ODU 如果
8-文字 bursts 是 enabled 这 第一 进入 将 是 一个 8-文字
burst 如果 这 ODU begins 较少 比 4 words 从 这 开始 的
一个 8-文字 burst boundary 如果 8-文字 bursts 是 不 allowed
或者 如果 这 ODU begins 4 或者 更多 words 从 这 开始 的 一个 8-
文字 burst boundary 一个 4-文字 burst 将 是 used 这
MACSI 设备 将 ignore unused 字节 如果 这 ODU 做 不
开始 在 一个 burst boundary 在 这 终止 的 一个 ODU 这 MACSI
设备 将 使用 这 smallest 转移 大小 (1 4 或者 8 words)
这个 完成 这 ODU read 至 coexist 在 一个 系统 那
假设 implicit wrap-周围 为 这 地址 在里面 一个
burst 这 MACSI 设备 从不 emits 一个 burst 那 将 wrap
这 4- 或者 8-文字 boundary
一个 函数 代号 identifying 这 类型 的 transaction 是 输出
用 这 MACSI 设备 在 这 upper 四 地址 位 在
这 地址 阶段 的 一个 数据 transfer 这个 能 是 使用 为
更多 elaborate 外部 寻址 schemes 此类 作 di-
recting 控制 信息 至 一个 记忆 和 数据 至 一个-
其它 (eg 一个 外部 先进先出)
字节 订货
这 基本 addressable 单位 是 一个 字节 所以 要求 数据 将 是
排整齐 至 任何 字节 boundary 在 memory 所有 信息 是
accessed 在 32-位 words however 所以 这 MACSI 设备
ignores unused 字节 当 reading
Descriptors 必须 总是 是 排整齐 至 一个 32-位 文字 地址
boundary 输入 数据 单位 是 总是 排整齐 至 一个 burst-
大小 boundary 输出 数据 单位 将 是 任何 号码 的
bytes 排整齐 至 任何 字节-地址 boundary 但是 运作
大多数 efficiently 当 排整齐 至 一个 burst-大小 boundary Pool
空间 Descriptors (psps)
必须
要点 至 一个 burst boundary 或者
这 Receive 数据 将 不 是 写 至 记忆 correctly
Burst transfers 是 总是 文字-排整齐 在 一个 16- 或者 32-字节
(burst-大小) 地址 boundary Burst transfers 将 从不
交叉 一个 burst-大小 boundary 如果 一个 32-字节 转移 大小 是 en-
abled (mr0smlb
e
0) 这 MACSI 设备 将 执行
两个都 16-字节 和 32-字节 bursts whichever 是 大多数 效率高的
(least 号码 的 clocks 至 loadstore 所有 必需的 数据) 如果
这 MACSI 设备 有 较少 比 一个 全部 burst 的 数据 至 com-
plete 一个 frame 它 将 写 一个 全部 burst 随机的 数据 是 写
至 这 unused locations 这 host 使用 这 IDUD 长度 地方
至 决定 在哪里 这 有效的 数据 字节 end
这 总线 接口 单位 能 运作 在 也 Big Endian 或者
Little Endian Mode 这 位 和 字节 alignments 为 两个都
模式 是 显示 在
图示 6-3
字节 0 是 这 第一 字节 re-
ceived 从 这 环绕 或者 transmitted 至 这 ring 这个 模式
affects 这 placement 的 框架 数据 字节 但是 它 做 不
影响 这 顺序 的 Descriptor bytes
big-endian 字节 顺序
D
31
D
0
文字
Halfword 0 Halfword 1
字节 0 字节 1 字节 2 字节 3
little-endian 字节 顺序
D
31
D
0
文字
Halfword 1 Halfword 0
字节 3 字节 2 字节 1 字节 0
图示 6-3 ABus 字节 顺序
总线 Arbitration
这 ABus 是 一个 multi-主控 bus 使用 一个 简单的 总线 re-
questBus Grant 协议 那 准许 一个 外部 总线 arbi-
ter 至 支持 任何 号码 的 总线 masters 使用 任何 arbitra-
tion scheme (eg rotating 或者 fixed priority) 这 协议
提供 为 多样的 transactions 每 tenure 和 总线 主控
preemption
这 MACSI 设备 asserts 一个 总线 Request 和 假设
mastership 当 总线 Grant 是 asserted 如果 这 MACSI de-
恶行 有 另一 transaction pending 它 将 保持 总线 re-
quest asserted 或者 reassert 它 在之前 这 completion 的 这
33