PIC16F62X
ds40300b-页 12
初步的
1999 微芯 技术 公司
3.1 clocking scheme/操作指南 循环
这 时钟 输入 (osc1/clkin/ra7 管脚) 是 内部
分隔 用 四 至 发生 四 非-overlapping
quadrature clocks namely q1, q2, q3 和 q4. inter-
nally, 这 程序 计数器 (pc) 是 incremented 每
q1, 这 操作指南 是 fetched 从 这 程序 记忆
和 latched 在 这 操作指南 寄存器 在 q4. 这
操作指南 是 解码 和 executed 在 这
下列的 q1 通过 q4. 这 clocks 和 操作指南
执行 流动 是 显示 在 图示 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 寄存器 (ir)” 在 循环 q1. 这个
操作指南 是 然后 解码 和 executed 在 这
q2, q3, 和 q4 循环. 数据 记忆 是 读 在 q2
(operand 读) 和 写 在 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
(er 模式)
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 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