VIC068A
7
theory 的 运作
这 vic068a 是 一个 接口 在 一个 local cpu 总线 和 这
vmebus. 这 local 总线 接口 的 这 vic068a emulates mo-
torola’s 家族 的 32-位 cisc 处理器 接口. 其它 pro-
cessors 能 容易地 是 adapted 至 接口 至 这 vic068a
使用 这 适合的 逻辑.
resetting 这 vic068a
这 vic068a 能 是 重置 用 任何 的 三 distinct 重置 con-
ditions:
内部的 重置.
这个 重置 是 这 大多数 一般 意思 的 re-
设置 这 vic068a. 它 resets 选择 寄存器 值 和 所有
逻辑 在里面 这 设备.
系统 重置.
这个 重置 提供 一个 意思 的 resetting 这
vic068a 通过 这 vmebus backplane. 这 vic068a 将
也 信号 一个 sysreset* 用 writing 一个 配置 寄存器.
global 重置.
这个 提供 一个 完全 重置 的 这 vic068a.
这个 重置 resets 所有 的 这 vic068a’s 配置 寄存器.
这个 重置 应当 是 使用 和 提醒 自从 sysclk 是 不
驱动 当 一个 global 重置 是 在 progress.
所有 三 重置 选项 是 执行 在 一个 不同的 manner
和 有 不同的 影响 在 这 vic068a 配置 regis-
ters.
vic068a vmebus 系统 控制
这 vic068a 是 有能力 的 运行 作 这 vmebus 系统
控制. 它 提供 vmebus arbitration 功能, 包含:
• priority, round-robin, 和 单独的-水平的 arbitration schemes
• 驱动 iack* daisy-chain
• 驱动 bgiout* daisy-chain (所有 四 水平)
• 驱动 sysclk 输出
• vmebus arbitration timeout 计时器
这 系统 控制 功能 是 使能 用 这 scon* 管脚
的 这 vic068a. 当 strapped 低, 这 vic068a 功能
作 这 vmebus 系统 控制.
vic068a vmebus 主控 循环
这 vic068a 是 有能力 的 becoming 这 vmebus 主控 在
回馈 至 一个 要求 从 local resources. 在 这个 situation,
这 local resource requests 那 一个 vmebus 转移 是 desired.
这 vic068a 制造 一个 要求 为 这 vmebus. 当 这
vmebus 是 准予 至 这 vic068a, 它 然后 执行 这 trans-
fer 和 acknowledges 这 local resource 和 这 循环 是 com-
plete. 这 vic068a 是 有能力 的 所有 四 vmebus 要求 lev-
els. 这 下列的 释放 模式 是 supported:
• 释放 在 要求 (ror)
• 释放 当 完毕 (rwd)
• 释放 在 clear (roc)
• 释放 下面 rmc* 控制
• 总线 俘获 和 支撑 (bcap)
这 vic068a 支持 a32, a24, 和 a16, 作 好 作 用户-de-
fined 地址 spaces.
主控 写-posting
这 vic068a 是 有能力 的 performing 主控 写-posting
(总线 解耦). 在 这个 situation, 这 vic068a acknowledges
这 local resource
立即
之后 这 要求 至 这
vic068a 是 制造, 因此 freeing 这 local 总线. 这 vic068a
latches 这 local 数据 至 是 写 和 执行 这 vmebus
转移 没有 这 local resource having 至 wait 为 vmebus
arbitration.
indivisible 循环
读-modify-写 循环 和 indivisible 多样的-地址 cy-
cles (emacs) 是 容易地 执行 使用 这 vic068a. sig-
nificant 控制 是 允许 至:
• requesting 这 vmebus 在 这 assertion 的 rmc* indepen-
dent 的 mwb* (这个 阻止 任何 从动装置 进入 从 inter-
rupting local indivisible 循环)
• stretching 这 vmebus as*
• 制造 这 在之上 behaviors 依赖 在 这 local sizi 信号
deadlock 情况
如果 一个 主控 运作 是 attempted 当 一个 从动装置 运作 至
这 一样 单元 是 在 progress, 一个 deadlock 情况 有 oc-
curred. 这 vic068a 将 信号 一个 deadlock 情况 用 作-
serting 这 dedlk* 信号. 这个 应当 是 使用 用 这 local
resource requesting 这 vmebus 至 尝试 这 转移 之后 这
从动装置 进入 有 完成.
自-进入 情况
如果 这 vic068a, 当 它 是 vmebus 主控, 有 一个 从动装置 选择
signaled, 一个 自 进入 是 said 至 有 occurred. 这 vic068a
将 公布 一个 berr*, 这个 在 转变 将 导致 一个 lberr* 至 是
asserted.
vic068a vmebus 从动装置 循环
这 vic068a 是 有能力 的 运行 作 一个 vmebus 从动装置 con-
troller. 这 vic068a 包含 一个 高级地 可编程序的 environ-
ment 至 准许 为 一个 宽 多样性 的 从动装置 配置. 这
vic068a 准许 为:
• d32, d16, 或者 d8 配置
• a32, a24, a16, 或者 用户-定义 地址 spaces
• 可编程序的 块 转移 支持 包含:
— dma-类型 块 转移 (pas* 和 dsacki* 使保持
asserted)
— 非-dma-类型 块 转移 (toggle pas* 和 dsacki*)
— 非 support 为 块 转移
• 可编程序的 数据 acquisition 延迟
• 可编程序的 pas* 和 ds* 定时
• restricted 从动装置 accesses (supervisory accesses 仅有的)
当 一个 从动装置 进入 是 必需的, 这 vic068a 将 要求 这
local 总线. 当 local 总线 mastership 是 得到, 这 vic068a
将 读 或者 写 这 数据 至/从 这 local resource 和 assert
这 dtack* 信号 至 完全 这 转移.
从动装置 写-posting
这 vic068a 是 有能力 的 performing 一个 从动装置 写-邮递 运算-
限定 (总线 解耦). 当 使能, 这 vic068a latches
这 数据 至 是 写 和 acknowledge 这 vmebus (asserts
dtack*) 立即 thereafter. 这个 阻止 这 vmebus
从 having 至 wait 为 local 总线 进入.
地址 modifier (am) 代号
这 vic068a encodes 和 decodes 这 vmebus 地址
modifier 代号. 为 vmebus 主控 accesses, 这 vic068a
encodes 这 适合的 am 代号 通过 这 vic068a fci
和 asizi 信号, 作 好 作 这 块 转移 状态. 为