PIC16F8X
ds30430c-页 10
1998 微芯 技术 公司
3.1 clocking scheme/操作指南 循环
这 时钟 输入 (从 osc1) 是 内部 分隔 用
f我们的 至 发生 四 非-overlapping quadrature
clocks namely q1, q2, q3 和 q4. 内部, 这
program 计数器 (pc) 是 incremented 每 q1, 这
instruction 是 fetched 从 这 程序 记忆 和
latched 在 这 操作指南 寄存器 在 q4. 这
instruction 是 解码 和 executed 在 这
following q1 通过 q4. 这 clocks 和 操作指南
execution flow 是 显示 在 图示 3-2.
3.2 操作指南 流动/pipelining
一个 “Instruction cycle” 组成 的 四 q 循环 (q1,
q2, q3 和 q4). 这 操作指南 fetch 和 execute 是
pipelined 此类 那 fetch takes 一个 操作指南 循环
当 decode 和 execute takes 另一 操作指南
循环.不管怎样, 预定的 至 这 pipelining, 各自 操作指南
effectively executes 在 一个 循环. 如果 一个 操作指南
导致 这 程序 计数器 至 改变 (e.g.,
GOTO
)
然后 二 循环 是 必需的 至 完全 这 操作指南
(例子 3-1).
一个 fetch 循环 begins 和 这 程序 计数器 (pc)
incrementing 在 q1.
在 这 执行 循环, 这 fetched 操作指南 是 latched
在 这 “instruction register” 在 循环 q1. 这个
instruction 是 然后 解码 和 executed 在 这
q2, q3, 和 q4 循环. 数据 记忆 是 读 在 q2
(oper和 读) 和 写 在 q4 (destination
写).
图示 3-2: 时钟/操作指南 循环
例子 3-1: 操作指南 pipeline 流动
Q1
Q2 Q3 Q4
Q1
Q2 Q3 Q4
Q1
Q2 Q3 Q4
OSC1
Q1
Q2
Q3
Q4
PC
osc2/clkout
(rc 模式)
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
instruction 是 “flushed” 从 这 pipeline 当 这 新 操作指南 是 正在 fetched 和 然后 executed.
1. movlw 55h
fetch 1 execute 1
2. movwf portb
fetch 2 execute 2
3. call sub_1
fetch 3 execute 3
4. bsf porta, bit3
fetch 4 完全齐平
fetch sub_1 execute sub_1