8

Click here to load reader

Von neuman

  • Upload
    udithsc

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Von neuman

1

Von Neumann Architecture

Page 2: Von neuman

Table of Contents

2

1.1 Introduction ............................................................................................................................ 3

1.2 History ..................................................................................................................................... 3

1.2.1 Von Neumann Architecture ................................................................................................... 4

1.2.2 Features of Von Neumann Architecture ................................................................................. 4

1.2.2.1 Problems of Von Neumann Architecture .............................................................................. 5

1.2.2.2 Evolution ................................................................................................................................ 7

1.2.2.3 Reference ............................................................................................................................... 7

Page 3: Von neuman

3

3

1.0 Introduction Any discussion of computer architectures, of

how computers and computer systems are organized, designed, and implemented, inevitably makes reference to the "von Neumann architecture" as a basis for comparison. And of course this is so, since virtual y every electronic computer ever built has been rooted in this architecture. The name applied to it comes from John von Neumann, who as author of two papers in 1945 and coauthor of a third paper in 1946 was the first to spell out the requirements for a general purpose electronic computer. The 1946 paper was titled "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument," and the ideas in it were to have a profound impact on the subsequent development of such machines.

2.0 History The earliest computing machines had fixed programs. Some very simple computers still use this design, either for simplicity or training purposes. For example, a desk calculator (in principle) is a fixed program computer. It can do basic mathematics, but it cannot be used as a word processor or a gaming console. Changing the program of a fixed-program machine requires rewiring, restructuring, or redesigning the machine. The earliest computers were not so much "programmed" as they were "designed". "Reprogramming", when it was possible at al , was a laborious process, starting with flowcharts and paper notes, fol owed by detailed engineering designs, and then the often- arduous process of physical y rewiring and rebuilding the machine. It could take three weeks to set up a program on ENIAC and get it working. Von Neumann's design led eventual y to the construction of the EDVAC computer in 1952. However, the first computer of this type to be actual y constructed and operated was the Manchester Mark I, designed and built at Manchester University in England .It ran its first program in 1948, executing it out of its 96 word memory. It executed an instruction in 1.2 mil iseconds, which must have seemed phenomenal at the time. Using today's popular "MIPS" terminology (mil ions of instructions per second), it would be rated at .00083 MIPS. By contrast, some current supercomputers are rated at in excess of 1000 MIPS. And yet, these computers, such as the Cray systems and the Control Data Cyber 200 models, are still tied to the von Neumann architecture to a large extent. Von Neumann begins his "Preliminary Discussion" with a broad description of the general-purpose computing machine containing four main "organs." These are identified as relating to arithmetic, memory, control, and connection with the human operator. In other words, the arithmetic logic unit, the control unit, the memory, and the input-output devices that we see in the classical model of what a computer "looks like."

Page 4: Von neuman

4

4

3.0 Von Neumann architecture

The Von Neumann architecture is a computer architecture based on that described in 1945 by the mathematician and physicist John von Neumann and others in the First Draft of a Report on the EDVAC. This describes a design architecture for an electronic digital computer with parts consisting of a processing unit containing an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and input and output mechanisms. The meaning has evolved to be any stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus. This is referred to as the Von Neumann bottleneck and often limits the performance of the system.

The design of a Von Neumann architecture is simpler than the more modern Harvard architecture which is also a stored-program system but has one dedicated set of address and data buses for reading data from and writing data to memory, and another set of address and data buses for fetching instructions. A stored-program digital computer is one that keeps its program instructions, as well as its data, in read- write, random-access memory (RAM). Stored- program computers were an advancement over the program-controlled computers of the 1940s, such as the Colossus and the ENIAC, which were programmed by setting switches and inserting patch leads to route data and to control signals between various functional units. In the vast majority of modern computers, the same memory is used for both data and program instructions, and the Von Neumann vs. Harvard distinction applies to the cache architecture, not the main memory

4.0 Features of a Von Neumann architecture

The illustration above shows the essential features of the Von Neumann or stored-program architecture. There are four sub-components in von Neumann architecture:

– Memory – Input/Output (called “IO”) – Arithmetic-Logic Unit – Control Unit

While only 4 sub-components are called out, there is a 5th, key player in this operation: a bus, or wire, that connects the components together and over which data flows from one sub-component to another

Page 5: Von neuman

5

5

4.1 Memory

The computer will have memory that can hold both data and also the program processing that data. Types of memory are RAM,ROM and Registers.

RAM(Random Access Memory) is typically volatile memory .RAM is an array of cells, each with a unique address. A cell is the minimum unit of access. Originally, this was 8 bits taken together as a byte. In today’s computer, word-sized cells are more typical .RAM gets its name from its access performance. In RAM memory, theoretically, it would take the same amount of time to access any memory cell, regardless of its location with the memory bank (“random” access).

ROM(Read Only Memory) gets its name from its cell-protection feature. This type of memory cell can be read from, but not written to. Unlike RAM, ROM is non-volatile; it retains its settings after power is removed. ROM is more expensive than RAM, and to protect this investment, only store critical information in ROM Registers are the discrete memory location within the CPU designed to hold temporary data and instructions .A modern CPU will hold a number of registers. There are a number of general purpose registers that the programmer can use to hold intermediate results whilst working through a calculation or algorithm.

4.2 Control Unit

The control unit will manage the process of moving data and program into and out of memory and also deal with carrying out (executing) program instructions - one at a time. This includes the idea of a 'register' to hold intermediate values. In the illustration above, the 'accumulator' is one such register. The 'one-at-a-time' phrase means that the von neumann architecture is a sequential processing machine.

4.3 Input – Output

This architecture allows for the idea that a person needs to interact with the machine. Whatever values that are passed to and forth are stored once again in some internal registers.

4.4 Arithmetic Logic Unit

This part of the architecture is solely involved with carrying out calculations upon the data. All the usual Add, Multiply, Divide and Subtract calculations will be available but also data comparisons such as 'Greater Than', 'Less Than', 'Equal To' will be available.

4.5 Bus

arrows between components flow between various parts of the computer. In a modern computer built to the Von Neumann architecture, information passes back and forth along a 'bus'. There are buses to identify locations in memory - an 'address bus' and there are buses to allow the flow of data and program instructions - a 'data bus'.

Page 6: Von neuman

6

6

5.0 Problems with Von Neumann

The illustration below shows the Von Neumann architecture is a very successful architecture, but it has its problems.

Problem 1

Every piece of data and instruction has to pass across the data bus in order to move from main memory into the CPU (and back again). This is a problem because the data bus is a lot slower than the rate at which the CPU can carry out instructions. This is called the 'Von Neumann bottleneck'.

If nothing were done, the CPU would spend most of its time waiting around for instructions. Because program memory and data memory cannot be accessed at the same time, throughput is much smaller than the rate at which the CPU can work. This seriously limits the effective processing speed when the CPU is required to perform minimal processing on large amounts of data. The CPU is continual y forced to wait for needed data to be transferred to or from memory. Since CPU speed and memory size have increased much faster than the throughput between them, the bottleneck has become more of a problem, a problem whose severity increases with every newer generation of CPU

Partial answer:

A special kind of memory called a 'Cache'. imagine the data bus as a bridge that can only carry so many instructions at a time. But what if we designed a 'holding area' on the CPU side of the bridge? Then we could store the most often-used instructions in the holding area instead of having to cross the bridge every time. This holding area is called a 'cache' (pronounced 'cash'). If the software programmer is clever enough, they will make it easier for the CPU to store the most-often used part of the code in the 'cache'. This activity is called 'code optimization'.

Problem 2

Both data and programs share the same memory space. This is a problem because it is quite easy for a poorly written or faulty piece of code to write data into an area holding other instructions, so trashing that program.

Problem 3

Another issue is that the rate at which data needs to be fetched and the rate at which instructions need to be fetched are often very different. And yet they share the same bottlenecked data bus.

Partial answer: The Harvard Architecture

The idea of the Harvard Architecture is to split the memory into two parts. One part for data and another part for programs. Each part is accessed with a different bus. This means the CPU can be fetching both data and instructions at the same time. There is also less chance of program corruption.

Page 7: Von neuman

7

7

6.0 Evolution

Through the decades of the 1960s and 1970s computers general y became both smaller and faster, which led to some evolutions in their architecture. For example, memory-mapped I/O allows input and output devices to be treated the same as memory. A single system bus could be used to provide a modular system with lower cost. This is sometimes call ed a "streamlining" of the architecture.

In subsequent decades, simple microcontrollers would sometimes omit features of the model to lower cost and size. Larger computers added features for higher performance

7.0 References

1. en.wikipedia.org/wiki/Von_Neumann_architecture

2. www.teach-ict.com/as_as_computing/ocr/.../vonn_neuman/.../pg3.htm

3. https://www.csupomona.edu/~hnriley/www/VonN.html

4. www.computerhope.com/jargon/v/vonneuma.htm 5. www.math.ualberta.ca/~isaac/cmput101/s02/cmput101.ch5.1.ppt

6. www.karbosguide.com/books/pcarchitecture/chapter02.htm

7. whatis.techtarget.com › ... › Application Development › Programming

Page 8: Von neuman

8