PIC16C71X
ds30272a-页 10
1997 微芯 技术 公司
3.1 Cloc
king scheme/操作指南 循环
这 时钟 输入 (从 osc1) 是 内部 分隔 用
f我们的 至 发生 四 非-overlapping quadrature
clocks namely q1, q2, q3 和 q4. 内部, 这 pro-
gram 计数器 (pc) 是 incremented 每 q1, 这
instruction 是 fetched 从 这 程序 记忆 和
latched 在 这 操作指南 寄存器 在 q4. 这 instruc-
tion 是 解码 和 executed 在 这 下列的 q1
通过 q4. 这 clocks 和 操作指南 执行 flow
是 显示 在 图示 3-2.
3.2 操作指南 flo
w/pipelining
一个 “Instruction cycle” 组成 的 四 q 循环 (q1,
q2, q3 和 q4). 这 操作指南 fetch 和 execute 是
pipelined 此类 那 fetch takes 一个 操作指南 循环
当 decode 和 execute takes 另一 操作指南
循环.不管怎样, 预定的 至 这 pipelining, 各自 操作指南
effectively executes 在 一个 循环. 如果 一个 操作指南
导致 这 程序 计数器 至 改变 (e.g.
GOTO
) 然后
two 循环 是 必需的 至 完全 这 操作指南
(例子 3-1).
一个 fetch 循环 begins 和 这 程序 计数器 (pc)
incrementing 在 q1.
在 这 执行 循环, 这 fetched 操作指南 是 latched
在 这 “instruction register” (ir) 在 循环 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.
Tcy0 Tcy1 Tcy2 Tcy3 Tcy4 Tcy5
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 (强迫 nop)
fetch 4 完全齐平
5. 操作指南 @ 地址 sub_1
fetch sub_1 execute sub_1