![Page 1: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/1.jpg)
Skills: noneConcepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.
Program execution
![Page 2: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/2.jpg)
Where does this topic fit?
• Internet concepts– Applications– Technology– Implications
• Internet skills– Application development– Content creation– User skills
![Page 3: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/3.jpg)
Computer components
Memory
CPU
Storage devices(programs and data)
Inputdevices
OutputDevices
![Page 4: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/4.jpg)
CPU and Memory
![Page 5: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/5.jpg)
Operating system (master control program)
Applicationprogram
Applicationdata
What is in memory?
![Page 6: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/6.jpg)
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
A three instruction program
Program
![Page 7: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/7.jpg)
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
Before execution begins
register
Current instruction
Program
25
10
X:
Y:
Z:
Data
![Page 8: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/8.jpg)
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
Load the first instruction
Copy the number at location X to the CPU register.
register
Current instruction
Program
25
10
X:
Y:
Z:
Data
![Page 9: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/9.jpg)
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
After the first instruction executes
Copy the number at location X to the CPU register.
register
Current instruction
25
Program
25
10
X:
Y:
Z:
Data
![Page 10: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/10.jpg)
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
After the second instruction executes
Add the number in location Y to the number in the register.
register
Current instruction
35
Program
25
10
X:
Y:
Z:
Data
![Page 11: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/11.jpg)
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
After the third instruction executes
Copy the number in the register to memory location Z.
register
Current instruction
35
Program
25
35`
10
X:
Y:
Z:
Data
![Page 12: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/12.jpg)
The fetch … execute cycle
Fetch the next instruction into the CPU.
Execute the instruction now in the CPU.
Start
![Page 13: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/13.jpg)
Von Neumann architecture
![Page 14: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/14.jpg)
Simplification
![Page 15: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/15.jpg)
Speed
![Page 16: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/16.jpg)
Summary
1. Copy the number at location X to the CPU register.2. Add the number in location Y to the number in the register.3. Copy the number in the register to memory location Z.
CPU
Memory
register
Current instruction
Program
25
10
X:
Y:
Z:
Data
![Page 17: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/17.jpg)
Self study questions
What would happen if the programmer of our three instruction example accidently used a subtract instruction instead of an add instruction in step 2?
What would happen if the programmer of our three instruction example accidently switched the order of steps 1 and 2?
What would happen if the programmer of our three instruction example accidently switched the order of steps 2 and 3?
![Page 18: Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history](https://reader030.vdocuments.pub/reader030/viewer/2022032704/56649d595503460f94a3a18f/html5/thumbnails/18.jpg)
Resources
Arthur W. Burks, Herman H. Goldstine and John von Neumann, Preliminary discussion of the logical design of an electronic computing instrument, The Institute for Advanced Study, Princeton University, 28 June 1946.
http://www.fdi.ucm.es/profesor/mozos/EC/burks.pdf
The paper outlines the architecture of a “von Neumann machine,“ going into considerable detail on the design of the CPU.
Also see the Wikipedia artcles on von Neumann and Eckert and Mauchley.
http://spectrum.ieee.org/podcast/computing/software/from-ballistics-to-programming
A terrific podcast on the role of the women who were computing artillery shell trajectories during World War II and became the first ENIAC programmers.