cost 271 ms
什么是指令配置文件?

[英]What is an instruction profile?

這是我教科書中的陳述,它讓我對“指令概要”的含義感到困惑: “......新的外圍設備在典型指令配置文件和數據訪問模式方面不斷改變系統需求的性質。” - 計算機組織和體系結構:性能設計第 10 版在搜索指令配置文件的定義時,我找不到。 我找到了用於教學/教學法的教學概況的結果,一個 pdf 顯示 ...

我的模擬器上的分支 riscv 指令偏移量計算

[英]Branch riscv instruction offset calculation on my emulator

我寫了一個 riscv64 模擬器,但我對分支指令(尤其是 bge)的偏移量計算有疑問。 對我來說,計算滿足條件時添加到 pc 的偏移量的公式是:PC = PC + IMM; 直接是指令摘錄:有我的 C 代碼: 當程序得到這個簡單的程序代碼時: 我得到:0x7a2。 電腦地址為:0x1018c 當我 ...

推送操作時出現“錯誤:未指定操作大小”。 總成 x86

[英]"error: operation size not specified" on push operation. Assembly x86

我正在嘗試制作一個簡單的 x86 程序來反轉字符串,在本例中為:“ciao”。 當我嘗試組裝它時,出現錯誤: main.asm:14: 錯誤:未指定操作大小因此,我嘗試通過將第 14 行修改為: 現在我得到了錯誤: main.asm:14: 錯誤:操作碼和操作數的組合無效我真的不明白這里有什么 ...

是否可以在沒有堆棧或間接尋址的情況下實現子程序調用?

[英]Is it possible to implement subroutine call without a stack nor indirect addressing?

是否可以將子程序與不具有間接尋址功能或存儲程序計數器的方式的 cpu 一起使用,它只會具有: 2個寄存器A和B(以及進位和零標志的狀態寄存器) 那些指示: 將地址作為操作數加載到 A 寄存器將地址作為操作數存儲在 A 寄存器中加載一個立即數到 A 寄存器將 A 寄存器移動到 B 寄存器將 B 寄 ...

處理器可以對不同的指令集使用相同的操作碼嗎?

[英]Can a processor have same opcode for different sets of instructions?

我有一個處理器。 一些指令集是 AND、ADD、ANDI、ADDI。 這些看起來一樣,但事實並非如此。 我可以為看起來像相同的指令集分配相同的操作碼嗎,如下圖所示: 還是第六位足以區分它們? 在 ISA 的實際示例中,我有 13 個指令集(AND、ADD、LD、ST、ANDI、ADDI、CMP、J ...

為什么有許多零目的地指令不影響 RISC-V ISA 中的硬件?

[英]Why there are many instructions with zero destination that not affectting the hardware in RISC-V ISA?

第一個寄存器在 RISC-V ISA 中是硬件零。 它被用在許多情況下,例如將零調用到另一個寄存器,跳轉但不存儲地址等。但是,有很多可能性在目標寄存器為零時不更改硬件,我們不需要那些可能的說明,因為它們不用於任何海豚。 我覺得這是在浪費其他功能指令的位。 我在這個問題上缺少什么? 為什么會這樣? ...

是否有 X86_64 (amd64) 未使用的二進制操作碼列表

[英]Is there a list of unused binary opcodes for X86_64 (amd64)

我正在嘗試在 X86_64 (amd64) ISA 中添加自定義指令。 我將使用這些說明創建二進制文件,然后在 gem5 模擬器中運行它。 要查找未使用的操作碼列表,我指的是http://ref.x86asm.net/coder64.html 。 然而,該網站只列出了單字節未使用的操作碼。 我正在尋 ...

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

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

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

RISC-V 指令中的額外操作碼重要嗎?

[英]Are additional opcodes in RISC-V instructions important?

RISC-V 的設計使得所有指令的長度都相同,因此存在不同類型的指令格式(I 型、R 型、S 型等) R 格式遵循此模式 - 7 位 funct7、5 位 rs2、5 位 rs1、3 位 funct3、5 位 rd 和 7 位操作碼。 而 I 格式遵循此模式 - 12 位立即數、5 位 rs1 ...

Little Endian 教學

[英]Little Endian in Instruction

我正在學習計算機體系結構中的 RISC-V 指令。 我想知道的是,由於小端序,RISC-V 指令的小數字中的任何數字都在一點點上。 我知道RISC-V使用little endian來表達memory中的數據。 但我不確定在說明中表示數字是否相同。 例如,add 指令的形式為 [funct7][rs2 ...

函數如何訪問堆棧幀中的局部變量?

[英]How do functions access locals in stack frames?

我讀過堆棧幀包含返回地址、function arguments 和 function 的局部變量。 由於函數在編譯時不知道其堆棧幀在 memory 中的位置,那么它們如何知道其局部變量的 memory 地址? 他們是否為本地的每次讀取或寫入偏移和取消引用堆棧指針? 特別是,在沒有有效支持指針訪問的 ...

了解不同位 ISA 的跳轉地址計算

[英]Understanding jump address calculation for different bit ISA

我試圖了解跳轉地址是如何計算的。 到目前為止,使用 MIPS 指令結構(32 位 ISA),我能夠理解這一點。 閱讀我得到的一些材料后的解決方案是:連接以下內容: PC 的高 4 位目標地址低00后現在如果我得到一個不同的位 ISA 比如說 8 位。 其中 J 指令格式為: 操作碼 - 2 位目標 ...

應用程序如何確定指令集是否可用並在可用時使用它?

[英]How do applications determine if instruction set is available and use it in case it is?

有趣的是它在游戲和其他軟件中的工作方式。 更准確地說,我在C++中尋求解決方案。 就像是: 我的基本想法是在不同的 DLL 中編譯庫並在運行時交換它們,但這似乎不是我的最佳解決方案。 ...

為什么我們不能有一個安全的 ISA?

[英]Why can't we have a safe ISA?

根據本文: https://doi.org/10.1109/SP.2013.13 , Memory 損壞錯誤是計算機安全中最古老的問題之一。 memory 安全性和類型安全性的缺乏導致了無數的錯誤,導致數十億美元和巨大的努力來修復它們。 但是 C/C++ 的 memory 漏洞的根源可以追溯到 ...

ARM 指令集有多少位?

[英]How many bits do instruction sets have in ARM?

在使用 ARM 時,我們通常理解駐留在地址上的數據寬度是 8 位(我希望這個假設是正確的)。 程序計數器如何遞增? 程序計數器是否每次都增加 4? 推斷指令集都是 32 位的? 我還在某處讀到,還有拇指指令集,其中提到了 16 位指令集,這意味着程序計數器每次都應該增加 2。 所以,前幾天我正在查 ...

匯編代碼中load和move有什么區別?

[英]What is the difference in load and move in assembly code?

匯編代碼的初學者,但我對move和load的用法有點困惑,因為: 根據我的閱讀, move ra rd將值從 RD 復制到 RA, load ra rd將 RD 中的值從 memory 復制到 RA,而load ra (rd)與load ra rd執行相同的操作。 我錯了還是最后兩個相同? ...

RISC 處理器中具有長(32 位和 64 位)立即操作數的指令

[英]Instructions with Long (32 and 64 bit) immediate operands in RISC processors

當立即數的大小不允許將其放入 32 位指令字(RISC 體系結構的標准)時,RISC 處理器中是否可以進行大立即數的操作。 假設我們想在寄存器中存儲 32 位或 64 位立即數,或者使用該大小的 integer 執行簡單的算術指令。 以下是偽代碼中的一些示例。 設 r1 和 r2 是寄存器名稱,im ...

Power ISA 中有標志寄存器嗎?

[英]Is there a flag register in the Power ISA?

Power ISA中是否有標志寄存器,類似於x86機器中的EFLAGS? 它可以有其他名稱,例如它可以稱為“狀態寄存器”或類似的名稱,但其目的是保存最后一條指令執行的一些一般屬性,例如算術運算或結果中的溢出和回車標志在進行條件跳轉之前比較兩個 integer 數字。 我知道,SPARC 和 AR ...

NVCC 生成對寄存器非常慷慨的 PTX 代碼是不是很糟糕?

[英]Is it bad that NVCC generates PTX code that is very generous with registers?

我最近通讀了生成的 CUDA 內核的 PTX 代碼。 我意識到許多寄存器僅用於存儲中間值,然后再也不會使用,而且 NVCC 通常似乎不太關心寄存器重用,而是選擇在幾乎任何時候都使用新寄存器新數據被建造。 這就提出了一個問題,是否值得手動檢查 PTX 代碼並嘗試最小化寄存器的使用,還是 PTX VM ...


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