What is Von Neumann Architecture?
So what is Von Neumann architecture and why does it matter? To be honest, you’re probably aware of it even if you think you’re not. It’s just awaiting you to match this label to what you already know.
Von Neumann Architecture
Von Neumann architecture (careful with your spelling!) is basically the overall design for your everyday computer – like the PC you might be using to access this blog.
There are key components of Von Neumann architecture which general purposes computers, such as the ones used in homes, schools and offices, comply with.
You’ve probably heard of binary. And there’s a few jokes around it. But it’s all 1’s and 0’s. You may have heard this referred to as true and false or on and off. Essentially, all data that is stored in a computer – whether it be a word document you’ve produced at home, a computer game you play or indeed this blog post is represented as data on a computer using only 1’s and 0’s – long, long strings of them!
The easiest way to envisage your data is to think of your files. When you see them in your explorer file lists, your homework folder, your household bills folder – this is all your data. There’s lots of different types of data. A video of a wedding that you attended (when that was allowed!) is a different type of data to your shopping list text document but it is all data.
Computers do things with this data based on instructions. When you double click on the video, instructions are used to open the file and play it back to you. Your computer selects appropriate software based on the type of data you are interacting with. It would be no good Windows Media Player opening your shopping list for you! Equally, when you double click on your shopping list it might open in Word, Notepad or another text editor/word processing software.
An instruction is an action that can be performed by a computer processor. Multiple instructions (as shown above) can be chained together which the processor will do in order. For example, it would be no good deciding how to display the font your shopping list should show in before it’s decided what application to open it with.
Computers wouldn’t be anywhere near as useful if every time you switched them off all you data has gone. So another part of the Von Neumann architecture is that data and instructions are stored in memory. This can be temporary volatile memory such as RAM or long term non-volatile memory such as your hard disk drive (HDD) or solid state drive (SSD).
Instructions are retrieved (fetched) from memory where they are stored one at a time and these are processed serially (in order).
Once instructions have been fetched, these are sent to the processer to take action upon. The role of the CPU (central processing unit) is to decode each instruction and then action (execute) it. Once it has finished this process (called the ‘fetch-decode-execute’ process) it repeats it. The faster your processor is, the more instructions it can process in a unit of time (commonly seconds). This process continuously repeats until all pending instructions have been processed.
There are characteristics of processors, namely components and registers, that are comprise the overall unit that is part of Von Neumann architecture. We’ll go into this in more detail in a following post (comment if you want us to!) but for now, whilst we’re letting the key elements sink in, just be aware that there are characteristics that apply to a processor that make it suitable for inclusion in a computer based system built upon Von Neumann architecture.
Now it’s possible you knew all the above already, but couldn’t label it. So whether you’ve learned a bit more about the process or simply just learnt a new word that applies to it and can show off to your friends now, I hope you’ve found that explanation useful. Any questions, throw them in the comments below!