0% found this document useful (0 votes)
14 views2 pages

Key Concepts in Computer Architecture

The document consists of study questions related to computer architecture, covering topics such as addressing modes, memory hierarchy, instruction set architecture, and the differences between CISC and RISC architectures. It also explores concepts like pipelining, virtual memory, cache memory, and the implications of parallel processing. Additionally, it includes questions on performance metrics like FLOPS and MIPS, as well as the roles of co-processors and various memory architectures.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

Key Concepts in Computer Architecture

The document consists of study questions related to computer architecture, covering topics such as addressing modes, memory hierarchy, instruction set architecture, and the differences between CISC and RISC architectures. It also explores concepts like pipelining, virtual memory, cache memory, and the implications of parallel processing. Additionally, it includes questions on performance metrics like FLOPS and MIPS, as well as the roles of co-processors and various memory architectures.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

STUDY QUESTIONS

1. List and briefly describe four addressing modes. Provide an assembly code snippet for
one of them.
2. What is the purpose of a memory hierarchy in computer architecture, and how does it
improve system performance?
3. Define Instruction Set Architecture and explain its role as the interface between
hardware and software.
4. Explain the differences between CISC and RISC architectures under the following
headings:
a. Instruction Set
b. Execution Time
c. Memory Access
5. Pipelining improves CPU throughput but introduces hazards. Compare data hazards,
control hazards, and structural hazards with mitigation techniques.
6. Explain the concept of paging and its function in managing virtual memory.
7. What is virtual memory, and how does it enhance the functionality and efficiency of a
computer system?
8. Distinguish between FLOPS and MIPS. Give an example where FLOPS is a more
relevant metric than MIPS.
9. What is the primary function of virtual memory, and how does it differ from physical
memory?
10. Explain how cache memory contributes to decreasing memory access latency and
enhancing overall system performance.
11. Briefly explain what a co-processor is and list the different types of co-processors.
12. Describe the role and functionality of cache memory in modern computer systems.
13. A task runs in 100 seconds serially. Optimizing a non-parallelizable part reduces its
runtime by 20%. Using Amdahl’s Law, calculate the new speedup if the parallel part
scales perfectly with 8 cores.
14. Compare the write-through and write-back cache update policies. Discuss their trade-
offs in terms of performance and consistency.

Page 1|2
15. In what ways does virtual memory facilitate multiprogramming and multiprocessor
systems?
16. A program has 40% parallelizable code. Using Amdahl’s Law, what is the maximum
speedup achievable with?
a. 4 processors?
b. 100 processors?
17. Discuss the practical implications.
18. What is vector processing, and how does it differ from scalar processing in computer
architecture?
19. What are the key components of a vector processor, and how do they work together to
perform vector operations?
20. Compare shared memory and distributed memory architectures in terms of:
a. Programming complexity (e.g., synchronization needs).
b. Scalability limitations.
21. Define the SIMD and MIMD architectures. Contrast their control flow mechanisms
and provide one real-world example of each (e.g., GPU for SIMD, multi-core CPU for
MIMD).
22. How do co-processors communicate with the primary CPU, and what are the common
methods of integration?

Page 2|2

Common questions

Powered by AI

Virtual memory allows multiple programs to run simultaneously within the system's available physical memory by utilizing a larger virtual address space. In multiprogramming, it ensures that each program's memory usage is isolated, protecting processes from interfering with each other. For multiprocessor systems, virtual memory supports the distribution of memory resources among processors, allowing efficient parallel processing and reducing the risk of memory access conflicts. This enhances system stability and increases throughput .

Shared memory architectures require complex programming due to the need for synchronization mechanisms to handle concurrent data access, which can lead to race conditions. However, they are easier to program for small-scale applications. Distributed memory architectures, in contrast, are more scalable since they avoid bottlenecks with memory access by localizing memory with each processor, but they require explicit message passing for communication, adding to programming complexity .

SIMD (Single Instruction, Multiple Data) architecture broadcasts a single instruction to operate on multiple data points simultaneously. In contrast, MIMD (Multiple Instruction, Multiple Data) architecture allows different processors to execute different instructions on different data independently. Real-world examples include GPUs for SIMD, as they efficiently process data in parallel with the same instruction, and multi-core CPUs for MIMD, which can perform different computations on separate cores simultaneously .

Paging is a memory management scheme that eliminates the need for contiguous allocation of physical memory, allowing a process's data to be stored in non-contiguous blocks of memory called pages. It simplifies memory allocation and increases efficiency by ensuring that the physical storage is optimally used, reducing fragmentation. This gives the appearance of having more physical memory and helps protect memory spaces by isolating page access .

Cache memory reduces the access latency by storing frequently accessed data and instructions closer to the CPU than the main memory. This lowers the average time taken to access memory and speeds up data retrieval, which helps in improving overall system performance. By acting as a buffer between the CPU and the main memory, cache memory reduces the average time to access data from the main memory, thereby enhancing efficiency .

CISC architectures have a richer, more complex instruction set that allows multiple tasks to be performed with a single command, typically requiring more cycles for execution. RISC architectures utilize a simpler set of instructions designed to execute in a single cycle, leading to faster execution times. In terms of memory access, CISC often uses complex addressing modes requiring more memory cycles, whereas RISC makes use of a large number of registers to minimize memory access and enhance speed .

Data hazards occur when instructions that exhibit data dependencies affect each other, which can be mitigated using techniques like forwarding or pipeline stalls. Control hazards happen when the pipeline makes wrong decisions on branch predictions, resolvable through branch prediction algorithms and branch delay slots. Structural hazards arise when hardware resources are insufficient to support all concurrent executions in the pipeline, which can be addressed by resource duplication and increasing pipeline resources .

Amdahl's Law states that the maximum speedup of a program using multiple processors is limited by the non-parallelizable portion of the program. It highlights the diminishing returns in performance gains when parallelizing code, emphasizing that optimizing the serial portion is crucial for achieving significant speedup. Amdahl's Law helps in evaluating the potential benefits and realistic limits of parallel processing in system optimization .

Write-through policy immediately writes data to both the cache and main memory, ensuring data consistency but can increase latency and reduce performance. Write-back policy updates the cache only, deferring the main memory update to a later time, which improves performance through reduced memory traffic but risks data inconsistency unless managed properly. The choice depends on the system's performance requirements and consistency tolerance .

Vector processing involves performing operations on entire arrays of data with a single instruction, which allows for more efficient data handling compared to scalar processing that operates on single data items sequentially. This leads to increased efficiency and throughput for applications that process large volumes of data in parallel, such as scientific computations and graphics processing, by leveraging data parallelism .

You might also like