von-neumann

Is C++ considered a Von Neumann programming language?

别等时光非礼了梦想. 提交于 2021-02-07 13:40:34
问题 The term Von Neumann languages is applied to programming languages whose computational model is based on the Von Neumann computer architecture. Is C++ considered a Von Neumann language, or if it's not (e.g., because of asynchronous execution with the advent of threads) was it ever considered a Von Neumann language? Is there an architecture that C++'s computational model/abstract machine is based on and thus can be classified as a language of that architecture? 回答1: TL:DR: The C++ abstract

Does the Harvard architecture have the von Neumann bottleneck?

生来就可爱ヽ(ⅴ<●) 提交于 2021-01-28 08:41:45
问题 From the naming and this article I feel the answer is no, but I don't understand why. The bottleneck is how fast you can fetch data from memory. Whether you can fetch instruction at the same time doesn't seem to matter. Don't you still have to wait until the data arrive? Suppose fetching data takes 100 cpu cycles and executing instruction takes 1, the ability of doing that 1 cycle in advance doesn't seem to be a huge improvement. What am I missing here? Context: I came across this article

von neumann vs harvard architecture

99封情书 提交于 2019-12-09 05:37:21
问题 Why computer architecture based on von Neumann architecture is preferred over Harvard architecture, when designing personal computers; while Harvard architecture is used for designing microcomputer based computer systems and DSP based computer systems? 回答1: Well current CPU designs for PC's have both Harvard and Von Neumann elements ( more Von Neumann though ). If you look at the L1 caches you would see that in AMD, ARM and Intel systems you have Instruction L1 Cache and Data L1 Cache, that

Use cases for self-modifying code?

安稳与你 提交于 2019-12-05 11:56:47
On a Von Neumann architecture , program and data are both stored in memory, so a program can modify itself. Is this useful for a programmer? Could you give some examples? Metamorphism One (questionable) use case that comes to my mind is metamorphic computer viruses . These are malicious pieces of software that conceal themselves from signature based detection by rewriting their own machine code to an semantically equivalent representation that looks different. Trampolining Another (more complex, but also more common) use case is trampolining , a technique based on dynamic code generation to