0% found this document useful (0 votes)
4 views

Computer Architecture.imp.assgn

important architecture questions

Uploaded by

FLAME OF PEACE
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Computer Architecture.imp.assgn

important architecture questions

Uploaded by

FLAME OF PEACE
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Computer Architecture: Important Questions (Internal Examinations)

Note: Attempt any five questions for assignment


Q1. What are the functional components of the computer? Describe the different functional
components in brief.

The functional components of a computer can be broadly categorized into four main categories:

**1. Input Devices:**

* These components are responsible for receiving data from the outside world and converting it
into a format that the computer can understand.

* Common input devices include:

* Keyboard: Allows users to input text and commands.

* Mouse: Enables users to navigate and interact with graphical elements on the screen.

* Scanner: Scans physical documents and converts them into digital images.

* Microphone: Captures sound and converts it into digital audio.

* Webcam: Captures video and converts it into digital images.

* Touchscreen: Allows users to interact with the computer by touching the screen.

**2. Central Processing Unit (CPU):**

* The CPU is the brain of the computer, responsible for executing instructions and performing
calculations.

* It consists of two main components:


* Control Unit: Coordinates the activities of the other components of the computer.

* Arithmetic Logic Unit (ALU): Performs mathematical and logical operations.

* The CPU's speed is measured in hertz (Hz), which indicates the number of cycles it can perform
per second.

**3. Memory:**

* Memory stores data and instructions that the CPU needs to access.

* There are two main types of memory:

* Random Access Memory (RAM): Volatile memory that is used to store data that the CPU is
currently working on.

* Read-Only Memory (ROM): Non-volatile memory that stores permanent data, such as the
computer's BIOS.

**4. Output Devices:**

* These components are responsible for displaying or presenting the results of the computer's
processing.

* Common output devices include:

* Monitor: Displays visual output, such as text, images, and videos.

* Printer: Prints documents on paper.

* Speakers: Produce sound output.

* Projector: Displays visual output on a large screen.


In addition to these core components, computers also include other functional components such
as:

* **Storage Devices:** Hard disk drives (HDDs), solid-state drives (SSDs), and optical drives store
data for long-term storage.

* **Network Interface Cards (NICs):** Enable the computer to connect to a network and
communicate with other devices.

* **Expansion Cards:** Provide additional functionality, such as graphics processing, sound, or


video capture.

Q2. What is ALU? Describe the working and signals of ALU.

Q3. What is control unit? Describe hardwired control and microprogrammed control in brief.

Q4. What are the types of memory? Describe primary and secondary memory in brief.

**Types of Memory**

There are two main types of memory in a computer system: primary memory and secondary
memory.

**1. Primary Memory:**

* Also known as main memory or RAM (Random Access Memory).

* Directly accessible by the CPU for reading and writing data.

* Volatile, meaning its contents are lost when the computer is turned off.

* Used to store data that the CPU is currently working on, such as program instructions, data, and
operating system files.
* Subdivided into:

* **DRAM (Dynamic Random Access Memory):** The most common type of primary memory,
known for its high density and relatively low cost.

* **SRAM (Static Random Access Memory):** Faster than DRAM but more expensive and
consumes more power.

**2. Secondary Memory:**

* Also known as external memory or storage.

* Used to store data permanently, even when the computer is turned off.

* Typically slower than primary memory.

* Includes:

* **Hard Disk Drives (HDDs):** Magnetic storage devices that store data on rotating platters.

* **Solid-State Drives (SSDs):** Use flash memory to store data, offering faster performance
and higher durability compared to HDDs.

* **Optical Drives:** Use lasers to read and write data on discs, such as CDs, DVDs, and Blu-ray
discs.

**Key Differences:**

| Feature | Primary Memory (RAM) | Secondary Memory |

|---|---|---|

| Access Speed | Faster | Slower |

| Volatility | Volatile (data lost when power off) | Non-volatile (data retained when power off) |

| Capacity | Smaller capacity | Larger capacity |


| Cost | Higher cost per bit | Lower cost per bit |

| Use | Stores data for immediate use by the CPU | Stores data for long-term storage |

In summary, primary memory is used for short-term storage and direct access by the CPU, while
secondary memory is used for long-term storage and has a lower access speed. The choice of
memory type depends on the specific requirements of the application, such as speed, capacity,
and cost.

Q5. What are the input devices and output devices? Describe few major input and output devices
in brief.

Q6. What is parallel computing? Describe Flynn’s classification in detail.

**Parallel Computing**

Parallel computing is a form of computing that involves simultaneously executing multiple


instructions or tasks to solve a problem faster than it would be possible with a single processor. It
leverages multiple processing units, such as CPUs, GPUs, or specialized hardware, to divide the
workload and improve performance.

**Flynn's Classification**

Flynn's classification is a widely used taxonomy for categorizing parallel computer architectures
based on the number of instruction streams and data streams they can process simultaneously. It
divides parallel computers into four categories:

1. **Single Instruction, Single Data (SISD):**

- This is a sequential architecture where a single processor executes a single instruction stream
on a single data stream.

- Examples: Traditional von Neumann architecture, single-core processors.

2. **Single Instruction, Multiple Data (SIMD):**

- This architecture involves a single instruction stream operating on multiple data streams
simultaneously.
- It is well-suited for tasks that involve repetitive operations on large datasets.

- Examples: Vector processors, GPUs.

3. **Multiple Instruction, Single Data (MISD):**

- This architecture involves multiple instruction streams operating on a single data stream.

- It is less common and often used in specialized applications like array processors.

4. **Multiple Instruction, Multiple Data (MIMD):**

- This is the most flexible and widely used parallel architecture, where multiple processors
execute multiple instruction streams on multiple data streams.

- It can be implemented using shared-memory or distributed-memory systems.

- Examples: Multi-core processors, clusters, supercomputers.

**Examples of Parallel Computing Applications:**

* **Scientific simulations:** Climate modeling, computational fluid dynamics, molecular


dynamics.

* **Big data analytics:** Processing large datasets for insights and patterns.

* **Image and video processing:** Image recognition, video rendering.

* **Machine learning:** Training and inference of machine learning models.

* **Financial modeling:** Risk analysis, portfolio optimization.

* **High-performance computing (HPC):** Solving complex scientific and engineering problems.

Parallel computing has become increasingly important in various fields due to its ability to
accelerate computations and handle large-scale problems efficiently.
Q7. Describe the Characteristics of RISC and CISC computer Architecture.

Q8. What is parallelism and pipelining? Describe or compare with key aspects.

**Parallelism and Pipelining**

Parallelism and pipelining are two techniques used to improve the performance of computer
systems. They both involve executing multiple instructions or tasks simultaneously, but they differ
in their approaches.

**Parallelism**

* **Definition:** Parallelism refers to the simultaneous execution of multiple instructions or tasks


on multiple processors or cores.

* **Goal:** To increase the overall throughput and speed of a system by dividing the workload
among multiple processing units.

* **Types:**

* **Instruction-level parallelism:** Executing multiple instructions simultaneously within a


single processor.

* **Data-level parallelism:** Operating on multiple data elements simultaneously using SIMD


(Single Instruction, Multiple Data) instructions.

* **Task-level parallelism:** Dividing a task into smaller subtasks that can be executed
independently on different processors.

* **Process-level parallelism:** Executing multiple processes concurrently on different


processors.

* **Examples:** Multi-core processors, parallel programming languages (e.g., OpenMP, MPI),


GPUs for parallel processing.

**Pipelining**

* **Definition:** Pipelining involves dividing a task into a sequence of stages and processing each
stage of multiple instructions simultaneously.

* **Goal:** To improve the throughput of a processor by overlapping the execution of different


instructions.
* **Stages:** Typically includes fetch, decode, execute, memory access, and write-back stages.

* **Examples:** Pipelined processors, assembly-line production.

**Key Differences:**

| Feature | Parallelism | Pipelining |

|---|---|---|

| **Focus** | Executing multiple instructions or tasks simultaneously. | Executing different stages


of multiple instructions simultaneously. |

| **Level** | Can be at instruction, data, task, or process level. | Typically at the instruction level.
|

| **Hardware Requirements** | Multiple processors or cores. | A single processor with a pipeline


structure. |

| **Efficiency** | Can achieve significant speedup for tasks that can be parallelized. | Improves
throughput by overlapping instructions. |

| **Challenges** | Load balancing, communication overhead, synchronization. | Pipeline hazards


(e.g., data dependencies, structural hazards). |

**In summary:**

* **Parallelism** leverages multiple processing units to execute multiple tasks simultaneously.

* **Pipelining** improves throughput by overlapping the execution of different stages of


instructions within a single processor.

* Both techniques can significantly enhance the performance of computer systems, but they have
different approaches and requirements.

Q9. What are the instruction types? Describe Zero address, one address, two address and three
address instructions with example.
**Instruction Types**

In computer architecture, instructions are the basic commands that a processor can execute. They
can be classified based on the number of operands (data items) they operate on:

1. **Zero-Address Instructions:**

- These instructions do not explicitly specify any operands.

- They implicitly use a stack to store operands.

- Operations are performed on the top elements of the stack.

- Examples: `PUSH`, `POP`, `ADD`, `SUB`, `MUL`, `DIV`

**Example (using a stack-based architecture):**

```

PUSH 10

PUSH 20

ADD // Adds the top two values on the stack (10 + 20)

POP // Removes the result from the stack (30)

```

2. **One-Address Instructions:**

- These instructions specify one operand, which is typically a register or memory location.

- The second operand is implicitly assumed to be the accumulator register.

- Examples: `LOAD`, `STORE`, `ADD`, `SUB`, `MUL`, `DIV`

**Example (using a register-based architecture):**

```

LOAD R1, 10

LOAD R2, 20

ADD R1, R2 // Adds the values in R1 and R2, storing the result in R1
```

3. **Two-Address Instructions:**

- These instructions specify two operands, which can be registers or memory locations.

- The result is typically stored in one of the specified operands.

- Examples: `MOVE`, `ADD`, `SUB`, `MUL`, `DIV`

**Example:**

```

ADD R1, R2 // Adds the values in R1 and R2, storing the result in R1

4. **Three-Address Instructions:**

- These instructions specify three operands, allowing for more complex operations in a single
instruction.

- Examples: `MOVE R1, R2, R3` (move the value in R2 to R1, and store the original value in R3)

**Example:*

```

ADD R1, R2, R3 // Adds the values in R2 and R3, storing the result in R1

```

**Note:** The choice of instruction type depends on the specific architecture of the processor.
Some architectures may use a combination of these types or have variations of them.

Q10. What is instruction cycle? Describe fetch instruction cycle and execute instruction cycle.

Q11. What is instruction cycle? Describe fetch cycle and execute cycle.

Q12. What is indirect cycle and interrupt cycle? Describe in brief.

You might also like