pic12f508/509/16f505
ds41236a-页 14
初步的
2004 微芯 技术 公司
3.1 clocking scheme/操作指南
循环
这 时钟 输入 (osc1/clkin 管脚) 是 内部 分隔
用 四 至 发生 四 非-overlapping quadrature
clocks, namely q1, q2, q3 和 q4. internally, 这 pc
是 incremented 每 q1 和 这 操作指南 是 fetched
从 程序 记忆 和 latched 在 这 操作指南
寄存器 在 q4. 它 是 解码 和 executed 在 这
下列的 q1 通过 q4. 这 clocks 和 操作指南
执行 流动 是 显示 在 图示 3-3 和 例子 3-1.
3.2 操作指南 流动/pipelining
一个 操作指南 循环 组成 的 四 q 循环 (q1, q2,
q3 和 q4). 这 操作指南 fetch 和 execute 是
pipelined 此类 那 fetch takes 一个 操作指南 循环,
当 decode 和 execute 引领 另一 操作指南
循环. 不管怎样, 预定的 至 这 pipelining, 各自 操作指南
effectively executes 在 一个 循环. 如果 一个 操作指南
导致 这 pc 至 改变 (e.g.,
GOTO
), 然后 二 循环
是 必需的 至 完全 这 操作指南 (例子 3-1).
一个 fetch 循环 begins 和 这 pc incrementing 在 q1.
在 这 执行 循环, 这 fetched 操作指南 是 latched
在 这 操作指南 寄存器 (ir) 在 循环 q1. 这个
操作指南 是 然后 解码 和 executed 在 这
q2, q3 和 q4 循环. 数据 记忆 是 读 在 q2
(operand 读) 和 写 在 q4 (destination
写).
图示 3-3: 时钟/操作指南 循环
例子 3-1: 操作指南 pipeline 流动
Q1
Q2 Q3 Q4
Q1
Q2 Q3 Q4
Q1
Q2 Q3 Q4
OSC1
Q1
Q2
Q3
Q4
PC
PC
PC+1 PC+2
fetch inst (pc)
execute inst (pc – 1)
fetch inst (pc + 1)
execute inst (pc)
fetch inst (pc + 2)
execute inst (pc + 1)
内部的
阶段
时钟
所有 说明 是 单独的 循环, 除了 为 任何 程序 分支. 这些 引领 二 循环, 自从 这 fetch 操作指南
是 “flushed” 从 这 pipeline, 当 这 新 操作指南 是 正在 fetched 和 然后 executed.
1. movlw 03h
fetch 1 execute 1
2. movwf portb
fetch 2 execute 2
3. call sub_1
fetch 3 execute 3
4. bsf portb, bit1
fetch 4 完全齐平
fetch sub_1 execute sub_1