1
$\begingroup$

Since machine language executes instructions on ALU, CPU register and memory, is correct say that machine code abstract the Von Neumann model?

If exists, semantically, what is the relation between machine code and Von Neumann architecture?

$\endgroup$
3
  • $\begingroup$ I'd say it's esaxtly the other way around - the von Neumann architecture is the abstract model of machine code. $\endgroup$
    – ThreeFx
    Commented Nov 2, 2016 at 9:08
  • $\begingroup$ @ThreeFx So how you would (help me to) construct the following phrase: "We abstracted Von Neumann architecture to machine code, then to Assembly, then to high-level languages and beyond" $\endgroup$ Commented Nov 2, 2016 at 9:19
  • 3
    $\begingroup$ @ThreeFx That's not the case, either. You can perfectly well have a machine code for a machine that doesn't employ the von Neumann architecture (e.g., a machine with separate program and data memories). The von Neumann architecture can't be an abstraction of that. $\endgroup$ Commented Nov 2, 2016 at 9:22

1 Answer 1

2
$\begingroup$

Asking whether machine code abstracts the von Neumann model is a category error – it's a statement that doesn't type-check. The von Neumann model is essentially a system architecture: it's a way of designing computers. Machine code is a sequence of instructions: a way of telling a computer what to do. Those are two completely different things.

Machine code arguably doesn't abstract anything. It's the most concrete, specific thing there is: it runs on only one specific kind of CPU (or perhaps a family of very closely related ones).

$\endgroup$
5
  • $\begingroup$ Oh okay. My purpose (mentioned on above comment) with this question was to construct a phrase like: "We abstracted Von Neumann architecture to machine code, then to Assembly, then to high-level languages and beyond". So it's categorically wrong make this relation? $\endgroup$ Commented Nov 2, 2016 at 9:28
  • $\begingroup$ A machine code isn't an abstraction of the architecture: it's a set of instructions for the architecture. Beyond that, your statement looks fine. (By the way, "categorically wrong" means "absolutely, unarguably wrong"; I think you just mean that it's a category error, i.e., something that doesn't type-check.) $\endgroup$ Commented Nov 2, 2016 at 9:30
  • $\begingroup$ @AlexandreThebaldi Not all things in the world can be ordered linearly. You wouldn't say "Mammals are an abstraction of apples", for instance. $\endgroup$
    – Raphael
    Commented Nov 2, 2016 at 9:36
  • $\begingroup$ @Raphael Actually I'm not ordering all things in the world, just trying to create a timeline with origins of imperative languages, FYI. $\endgroup$ Commented Nov 2, 2016 at 9:40
  • $\begingroup$ @AlexandreThebaldi What do you need abstraction relations for a timeline, then? $\endgroup$
    – Raphael
    Commented Nov 2, 2016 at 10:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.