Question | Answer |
von Neumann Architecture | The CPU is separate from main memory. Instructions gets transmitted, or piped, from memory to CPU. Then, CPU executes instructions before getting moved back to memory. Requires less CPUs to be built. Almost all digital computers built since 1940s has been based on the von Neumann architecture. Languages created based on computer architecture = imperative languages. |
von Neumann Computer Architecture |
Image:
Vma (binary/octet-stream)
|
Central Features of Imperative Languages | 1. Variables model memory cells 2. Assignment statements are based on the piping operation 3. Iteration is the most efficient way to implement repetition because instructions are stored in adjacent cells of memory (discourages the use of recursion) |
Fetch-Execute Cycle | Programs reside in memory but are executed in the CPU. Each instruction to be executed must be moved from memory to the processor. The address of the next instruction to be executed is maintained in a register called the program counter. Program execution terminates when a stop instruction is encountered (rare). Usually, control transfers from the OS to a user program for its execution and then back to the OS when the user program execution is complete. |
Fetch-Execute Cycle (Simplified) | 1. Select a program and find program in hard drive. 2. Computer searches for the program, then loads the program into main memory. 3. Main memory feeds instructions to CPU. 4. CPU feeds back output to main memory to load program. |
Disadvantages to von Neumann Architecture | Bottleneck: CPU is faster than RAM. CPU stalled cycle: when main memory is slow, and the CPU has to wait after processing instructions. Solution: Caches. Clusters of instructions are bundled together that gets downloaded from RAM to CPU and stored in CPU for processing. |
1950s - 1960's Monster Machines | Large computer machines were leased. Programs were simple applications. There was a need to make efficient programs to run quickly to compensate for expensive lease times. |
Late 1960s People Over Machines | Programmer efficiencies were more important than machine efficiency. Increased demand for readability and better control structures. Initiated top-down design and step-wise refinement. |
1970s Shift from Procedure-Oriented to Data-Oriented Program Design | Hardware costs decreased and programmer costs increased. Increased demand for programs that can perform larger and complex tasks. Data-oriented methods emphasized data design, focusing on the use of abstract data types to solve problems. Creation of data abstraction: SIMULA 67 |
1980s Object-Oriented Design | Object-oriented methodology began with data abstraction, which encapsulates processing with data objects and controls access to data, and adds inheritance and dynamic method binding. Inheritance allows for the potential reuse of existing software. |
Want to create your own Flashcards for free with GoConqr? Learn more.