# von neumann machine

* His EDVAC (Electronic Discrete Variable Automatic Computer) is close to how  computers are used
* four parts:
  * memory
    * where instructions and data are stored
  * control unit
    * interprets instructions while coordinating other units
  * arithmetic logic unit
    * performs arithmetic and logical operations
  * input/output
    * provides the interface with users
    * an accumulator interact with control unit and input/output
* Main feature is **stored program**
  * before all computers were built with fixed programs, much like today’s desktop calculators that cannot run other software
  * Stored program was a giant jump in making machine hardware be independent of software programs that can run on it.
  * A separation of hardware from software
* There is latency associated with data transfer between CPU and memory
  * To improve computing efficiency, today’s computers **add more and more cache between CPU and main memory.**
  * Caching at the chip level


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hanfak.gitbook.io/workspace/computer-science/machines/von-neumann-machine.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
