23.10.2014 Views

RealView - ARM Information Center

RealView - ARM Information Center

RealView - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

编 写 <strong>ARM</strong> 和 Thumb 汇 编 语 言<br />

表 2-3 所 有 指 令 为 条 件 执 行<br />

r0: a r1: b 指 令 周 期 数 (<strong>ARM</strong>7)<br />

1 2 CMP r0, r1 1<br />

1 2 SUBGT r0,r0,r1 1 ( 未 执 行 )<br />

1 1 SUBLT r1,r1,r0 1<br />

1 1 BNE gcd 3<br />

1 1 CMP r0,r1 1<br />

1 1 SUBGT r0,r0,r1 1 ( 未 执 行 )<br />

1 1 SUBLT r1,r1,r0 1 ( 未 执 行 )<br />

1 1 BNE gcd 1 ( 未 执 行 )<br />

总 计 = 10<br />

转 换 为 Thumb<br />

由 于 B 是 可 有 条 件 执 行 的 唯 一 Thumb 指 令 , 必 须 用 Thumb 代 码 的 条 件 跳 转 来 编<br />

写 gcd 算 法 。<br />

与 <strong>ARM</strong> 代 码 的 条 件 跳 转 实 现 方 法 类 似 ,Thumb 代 码 需 要 七 条 指 令 。 但 是 , 与 较<br />

小 的 <strong>ARM</strong> 代 码 实 现 的 16 字 节 相 比 , 整 个 代 码 大 小 是 14 字 节 , 因 为 Thumb 指<br />

令 只 是 16 位 长 。<br />

此 外 , 在 使 用 16 位 存 储 器 的 系 统 中 , Thumb 版 本 比 第 二 种 <strong>ARM</strong> 实 现 方 法 运 行<br />

得 更 快 , 因 为 每 个 Thumb 指 令 只 需 要 访 问 一 次 存 储 器 , 而 每 个 <strong>ARM</strong> 指 令 需 要<br />

两 次 存 取 。<br />

跳 转 预 测 和 高 速 缓 存<br />

为 了 优 化 代 码 的 执 行 速 度 , 需 要 有 相 关 指 令 计 时 、 跳 转 预 测 逻 辑 以 及 目 标 系 统 的<br />

缓 存 性 能 的 详 细 知 识 。 有 关 详 细 的 信 息 , 请 参 阅 <strong>ARM</strong> 体 系 结 构 参 考 手 册 和 各 种<br />

处 理 器 的 技 术 参 考 手 册 。<br />

2-26 © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 <strong>ARM</strong> DUI 0204BSC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!