cost 95 ms
實現半精度浮點運算的 ARM 條指令列表

[英]List of ARM instructions implementing half-precision floating-point arithmetic

Arm A-profile架構的架構參考手冊(強調已添加): FPHP,位 [27:24] 0b0011 與 0b0010 一樣,增加了對半精度浮點運算的支持。 一個簡單的問題:在哪里可以找到實現半精度浮點運算的 ARM 條指令的列表? 更新。 根據 Clang 的 Arm (armclang ...

如何更改 gem5 中指令的延遲?

[英]How do I change the latency of an instruction in gem5?

我可以訪問 dram 的延遲,但我找不到 gem5 中矩陣乘法指令的延遲。 我找到了 OpClass.hh 和包含所有類的文件,但我無法追溯到具有延遲和參數集的指令。 我想改變指令(類)的延遲和周期 ...

為什么 x86 mul 和 div 指令只接受源操作數?

[英]Why do x86 mul and div instructions only take a source operand?

在 x86 匯編中,大部分指令的語法如下: 例如, add看起來像 但是像mul和div這樣的助記符只有一個操作數 - source - destination被硬編碼為rax 。 這迫使您在需要乘法或除法時隨時設置和跟蹤rax寄存器,如果您正在進行一系列乘法,這會變得很麻煩。 我假設存在與乘法和 ...

LEA 是否對負比例有效,或 SUB 對比例寄存器有效?

[英]Is LEA valid with a negative scale, or SUB with a scaled register?

我有兩個像這樣映射到變量的寄存器 %rdi = x, %rsi = y 我想讓 y = y - 4x 我的審判是這樣進行的。 我減去 x 四次得到 y - 4x。 但我只想用一行代碼結束。 我考慮過在這種情況下使用 leaq 。 leaq (%rsi, %rdi, 4), %rsi # y = y ...

memory barriers 處理的問題到底是什么?

[英]What exactly is the problem that memory barriers deal with?

我現在正在努力解決 memory 障礙的問題。 我一直在閱讀和觀看有關該主題的視頻,我想確保自己理解正確,並提出一兩個問題。 我從准確理解問題開始。 我們以下面這個經典例子作為討論的基礎:假設我們有2個線程運行在2個不同的核心上這是偽代碼! 我們從int f = 0; int x = 0; int ...

程序的指令如何發送到不同的內存級別? 首次制造芯片時是否已預加載?

[英]How do instructions from a program get sent to different memory levels? Are they pre-loaded when the chips are manufactured for the first time?

我之前問過一個關於如何將數據推送到 CPU 中的寄存器的問題<\/a> 我現在的問題是,程序執行所需的指令是否會像推送數據一樣被編譯器移動到內存中? 如果第一個問題的答案是肯定的,那么當 CPU 設計人員剛從代工廠出來時,它們會將什么加載到緩存\/主內存中? 由於以前從未在芯片上運行過 ...

如何正確訪問 LLVM 數組中的非常量索引?

[英]How to correctly access a non-constant index in an LLVM array?

我一直在嘗試解決 LLVM 中的 arrays,但我無法訪問非常量索引處的元素。 常量索引工作正常。 當我運行我的程序時,它會立即退出。 在我的具體示例中,我嘗試使用 for 循環將 0 到 5 的元素設置為它們各自的值。 這是 LLVM 輸出的內容(禁用優化): 數組訪問發生的最重要的塊是正文。 ...

如何知道執行時從哪個寄存器讀取?

[英]How to know which register(s) is read from as it executed?

我對這類測驗有疑問。 這背后的理論是什么? 給定以下指令,在執行時從哪個寄存器讀取? (選擇所有適用項)和 $sp、$gp、$s4 A. $gp(answer) B. $s4(answer) C。 $sp D. 這些都不是。 磅 $sp, 7472($v1) A. $v1(answer) ...

學習 32 位開發的意義

[英]Significance of learning 32 bit exploitation

我正在考慮參加EXP 301(Windows 用戶模式漏洞利用開發)考試。 我對這個考試做了一些研究; 我發現了許多文章批評考試材料僅涵蓋 32 位(x86 Windows Exploits)。 所以我想知道學習32位開發的意義是什么。 這是學習 64 位開發的先決條件嗎? 考慮到現在幾乎每個系統都 ...

匯編為什么“lea eax,[eax + eax * const]”比“imul eax,eax,const”快

[英]Assembly why is "lea eax, [eax + eax*const]" faster than "imul eax, eax, const"

我正在使用 Godbolt 來組裝以下程序: 如果我使用-Os優化,生成的代碼很自然: 但是如果我使用-O2,生成的代碼是這樣的: 因此,它不是乘以 5*36,而是乘以 5 -> 5+5*8=45 -> 45*4 = 180。我認為這是因為 1 imul 比 1 lea + 1 左移慢。 ...

Tensorflow on Docker 引擎錯誤代碼 132

[英]Tensorflow on Docker Engine Error Code 132

我在 Ubuntu 上使用 Docker 和 Docker-Compose 20。我在容器上部署的應用程序正在使用 Tensorflow。Docker-Compose 構建能夠執行,但不能執行 Docker-Compose 構建,但不能執行 Docker-Compose up 因為 13 無法轉換 ...

CPU 能否將數據誤認為是馮諾依曼架構中的指令?

[英]Can the CPU mistake data for instruction in Von Neumann architecture?

由於馮諾依曼 model 將指令和數據存儲在 memory 的同一塊中,我想知道在獲取-解碼-執行周期中會發生什么。 我特別擔心的幾點: IR 是否有可能接收和存儲數據而不是指令? CPU 會嘗試像執行指令一樣執行數據嗎? 會有什么后果? 謝謝! ...

如何將 RISC-V 匯編偽指令解析為真正的 RISC-V 指令?

[英]How can I resolve RISC-V assembly pseudo instructions to true RISC-V instructions?

我需要使用特定的編譯器編譯大型 RISC-V 匯編程序(.a/.as/.S 文件)。 程序用 GCC 編譯得很好,但是我需要使用的編譯器不能識別偽指令。 它僅適用於僅使用基本 RISC-V 語法編寫的程序。 是否有工具或 GCC 編譯器選項可用於將所有偽指令解析為真正的 RISC-V 指令,而無需 ...

SIDT 指令在 Linux 用戶空間進程中返回錯誤的基地址

[英]SIDT instruction returns wrong base address in a Linux user-space process

我制作了以下 x86-64 程序來查看中斷描述符表的基地址開始的位置: 它打印以下內容: 基地址似乎不正確,因為地址應該始終是物理地址,對嗎? 另外,我不確定,但限制似乎太高了。 我究竟做錯了什么? ...

如何定義這些令牌字符串

[英]How could these token-strings be defined

我的問題是關於#define指令。 在文檔中,我們有: 句法 備注里寫着: token-string 參數由一系列標記組成,例如關鍵字、常量或完整語句。 我的問題是如何在 C 中定義關鍵字、常量、完整的語句、指令和命令。 我已經對這些是什么有了“經驗”的想法,但我無法用語言來定義 ...

當 andi mips 指令可能是非法的

[英]when the andi mips instruction can be illegal

mips 指令andi $a0, $a0, 0x9AE3的格式看起來是正確的。 這是一個 I 類型格式操作碼 rs rt immediate 。 為什么是無效的 mips 指令? ...

匯編語言中源和目標的正確順序

[英]Correct order of source and destination in Assembly language

我剛開始學習計算機組織和架構。 卡爾·哈馬赫 (Carl Hamacher)、扎基 (Zaki) 的計算機組織是我的參考教科書。 目前,我正在學習將兩個數字 A 和 B 相加的基本匯編指令,並將結果存儲在 C 中。 表示這個基本操作的正確方法是什么? Add A, B, C操作 Source 1、 ...

在 C++ 中獲取 uint64_t 的上半部分的指令/內在函數?

[英]Instruction/intrinsic for taking higher half of uint64_t in C++?

想象以下代碼: 在線嘗試! y接收 64 位 integer 的較高 32 位部分。 我的問題是是否存在任何內在的 function 或任何 CPU 指令在單個操作中執行此操作而不進行移動和移位? 至少 CLang(在上面的 Try-it-online 中鏈接)為此創建了兩條指令mov rax ...


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