簡體   English   中英

需要澄清內存訪問 (ISA/MIPS)

[英]Need Clarification on Memory Accessing (ISA/MIPS)

我正在做一個理論作業,我設計自己的 ISA。 我正在做一個內存-內存設計,其中 ALU 接收來自內存的輸入並輸出回內存而不使用任何寄存器。 這是一種過時的方法,現在寄存器更有效,但這對我的任務無關緊要。

我的問題:

如果我的指令之一的編碼看起來像這樣

opcode|destination|value1|value2|function

00 0001 0011 1100 00

函數“00”代表加法,操作碼 00 代表 ALU 操作。

對於該功能,我的 RTN 如下所示:

Mem[0001] <--- Mem[0011] + Mem[1100]

0001, 0011, 1100 是內存地址,我想要完成的是將這些內存地址中的值相加,然后將其存儲在 0001 的內存地址中(覆蓋它)。

因此,如果內存地址 0011 中的值為“2”,而內存地址 1100 中的值為“3”,則我的指令會將“5”存儲在內存地址 0001 中。

還可以說我想用“4”覆蓋地址 1100 中的值“3”。 我可以做 Mem[1100] <--- 0100(binary for 4) 嗎?

我正在實施的是正確的嗎? 或者我接近內存尋址完全錯誤?

這些架構通常有一個累加器。 否則你需要一個雙端口內存來同時訪問兩個操作數。

您可以鎖存一個內存值,但這只是一個不太通用的累加器。

存儲器寫入在與讀取不同的時鍾/時鍾側翼上完成。

Memory-const 操作使用與相同類型的 memory-memory 操作不同的操作碼。

最后,如果你的 const 對於你的指令大小來說太大,你需要先將 const 復制到一個內存地址,然后在內存-內存操作中使用它。

暫無
暫無

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

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