2 ARM 流水線 彙編

2021-07-26 13:06:58 字數 1163 閱讀 3574

3級流水線:取指、解碼、執行

arm9 5級流水線

-1. f(add)

0. d(add) f(sub)

1. e(add) d(sub) f(orr)

f取指

d解碼e執行

-1.add

0.sub

add1.

ldrsub

2.and

ldr3.

orrand

4.stops

* 指令可以通過加乙個s來設定cpsr的標誌位

* cmp指令不需要加s就可以改變cpsr的標誌位

條件碼可以加到任意指令上

addeqs r0,r1,r2 lsl #2

add r0,r1,#0xffif(a < 10 || a > 100) a = 250;

cmp r0,#10

movlt r0,#250

blt end

cmp r0,#100

movgt r0,#250

.end

b 一去不回 跳轉大小為2的25次方

bl 衣錦還鄉,可以呼叫函式並返回

bx 可以跳轉到thumb指令

blx長跳轉 用mov可以實現,寫入值到pc

sub

r0,r1,r2

r0 = r1 - r2

rsb r0,r1,r2 反向減法

r0 = r2 - r1

rsb r0,r1,#100

r0 = 100 - r1

movr0,r1

r0 = r1

and 按位與

orr 按位或

eor 異或

bic 按位清零

adds r0,r2,r4

adc r1,r3,r5

r0 = r1 * 5

;add

r0,r1,r1,lsl

#2

r0 取 負

rsb r0,r0,#0

lsl 無符號左移

lsr 無符號右移

asr 保留符號位 右移

ror 桶形移位

arm 流水線和pc值

然後pc pc 1 老師經常這麼說。這不完全正確,pc自增一的情況指出現在無流水 non pipeline 的情況下,這個時候取指,解碼,執指都是順序執行的而在有流水的情況下就比較複雜了這裡用arm7和arm9為例。流水線使用三個階段,因此指令分為三個階段執行 1.取指 從儲存器裝載一條指令 2.解...

第2章 渲染流水線

準備好場景資料 攝像機位置,視錐體,場景中的模型,場景中的光源 粗粒度剔除 剔除不可見的物品 設定好每個模型的渲染狀態 材質 漫反射顏色,高光反射顏色,紋理,使用的shader 輸出渲染所需要的幾何資訊 渲染圖元 給洗下乙個階段 把頂點座標變換到螢幕空間,再交給光柵器處理 決定每個渲染圖元中哪些畫素...

ARM體系結構(二) 流水線

一 流水線的概念與原理 處理器按照一系列步驟來執行每一條指令,典型的步驟如下 從儲存器讀取指令 fetch 解碼 以鑑別它屬於哪一種指令 dec 從指令中提取指令的運算元 這些運算元往往存在於暫存器中 reg 如將運算元進行組合以得到結果或儲存器位址 alu 如果需要,則訪問儲存器以儲存資料 mem...