2011-03-28 89 views
0

我確實試過了解馮諾依曼體系結構,但有一點我不明白,用戶怎麼知道計算機內存中的數字如果這個命令或者它是一個數據?CS介紹 - 存儲程序概念 - 無法理解概念

我知道有一個「存儲程序概念」,但我明白什麼...

有人能向我解釋的兩句話?

thnx!

回答

2

簡而言之,用戶不能查看內存地址並確定它是否是命令或數據。它可以是兩個。

它的全部在解釋;如果program counter指向一個內存地址,它將被解釋爲一個命令。如果它被讀取指令引用,它就是數據。

這個問題的關鍵是靈活性。程序可以將程序寫入(或重新寫入)存儲器,然後可以通過將程序計數器設置爲起始地址來執行。

現代操作系統通過data execution prevention限制了此行爲,從而將部分內存解釋爲命令。

+0

你是什麼意思:「如果它被讀取指令引用,它就是數據。」 ? thnx – Batman 2011-03-28 18:53:50

+0

如果內存位置被用作數據,那麼它就是「數據」。從記憶的角度來看,沒有任何區別 - 這一切都在解釋中。內存位置中的0x90可以是值144,字母「É」(在CP850中),「NOP」用於Intel x86 CPU或者完全不同的東西。 – 2011-03-28 19:55:14

+0

現在我明白了。 thnx :) – Batman 2011-03-28 20:20:16