簡體   English   中英

將指令序列轉換為圖表

[英]Translating an instruction sequence into a diagram

大家好,我繪制了指令序列圖以及如何將其解碼為運算。 我還展示了它們之間的數據依賴關系將如何創建關鍵的操作路徑。 我唯一的問題就是,如果我沒有正確執行此操作,我也很困惑如何找到%rbx。 如果您對我的圖表有任何疑問,請問我,現在這是草稿。 感謝您的時間。

.L15: # loop:

vmovsd 0(%rbp,%rcx,8), %xmm1 
vmulsd (%rax,%rcx,8), %xmm1, %xmm1 
vaddsd %xmm1, %xmm0, %xmm0 
addq $1, %rcx 
cmpq %rbx, %rcx 
jl .L15 # If <, goto loop

在此處輸入圖片說明

順便說一句, IACA可以為您生成這樣的圖表。 它是Intel的開源免費軟件,可在Linux上運行。


您應該將整數add與FP addsdmulsd

小丑的權利,xmm1應該來自vmovsd負載。

vaddsd寫入xmm0。 您正在使用AT&T語法,因此目標是最后一個操作數。 您的圖顯示了它修改xmm1,但xmm0實際上是累加器。


add修改了rcx ,但是您的圖表沒有反映出來。 涉及rcx的依賴關系鏈是形成循環的原因,因此,向上返回的箭頭在那里有意義。

xmm0一樣,箭頭應形成一個循環(閉環)。


回復:您的評論:該代碼有兩個帶有內存源操作數的指令,因此有兩個負載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM