### Exercise- Questions and Answers Based on the Text
### Exercise- Questions and Answers Based on the Text
#### 4. List and describe the components of a computer system based on the Von Neumann
architecture.
- **Answer**: From Section 1.5.1, the Von Neumann architecture includes:
- **Memory**: Stores both data and program instructions (e.g., RAM holding a game’s code
and scores).
- **Central Processing Unit (CPU)**: Executes commands, consisting of:
- **Arithmetic Logic Unit (ALU)**: Performs mathematical and logical operations (e.g., adding
2 + 2).
- **Control Unit (CU)**: Manages CPU operations and ensures proper execution (e.g.,
supervising the addition process).
- **Input Devices**: Allow data entry (e.g., keyboard or mouse).
- **Output Devices**: Display results (e.g., monitor or printer).
- **System Bus**: Facilitates communication between components, including the data bus,
address bus, and control bus.
#### 5. Explain how the Von Neumann architecture works using the example of a calculator
adding two numbers.
- **Answer**: From Section 1.5.2, the process involves four stages:
- **Fetching**: The CPU retrieves the addition instruction from memory. The Program Counter
(PC) points to the instruction’s address, and it’s loaded into the Instruction Register (IR).
- **Decoding**: The Control Unit (CU) interprets the instruction (e.g., “add 2 and 2”) to
determine the required action.
- **Execution**: The ALU performs the addition (2 + 2 = 4), while the CU manages data flow.
- **Storing**: The result (4) is stored in memory or sent to an output device (e.g., displayed on
the calculator screen).
#### 6. What are the advantages and disadvantages of the Von Neumann architecture?
- **Answer**: From Section 1.5.4:
- **Advantages**:
- **Simplified Design**: Combines instructions and data in a single memory area.
- **Flexibility**: Programs can be easily modified by updating memory contents.
- **Disadvantages**:
- **Von Neumann Bottleneck**: Single memory access limits the CPU’s speed in retrieving
instructions and data.
- **Security Risks**: Storing data and instructions together allows one program to potentially
alter another’s instructions.