0% found this document useful (0 votes)
30 views27 pages

Computer Fundamental

Uploaded by

kashvii2906
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)
30 views27 pages

Computer Fundamental

Uploaded by

kashvii2906
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

What is a computer?

A computer is an electronic device. Which device send our data/information into the system,
stores it and produces the result after processing using arithmetical and logical operation.

It performs four basic operations:

• Input: Accepts data via input devices (e.g., keyboard, mouse).

• Processing: Manipulates data using the CPU.

• Storage: Saves data temporarily (RAM) or permanently (hard drive).

• Output: Displays results via output devices (e.g., monitor, printer).

It operates using binary language (0s and 1s) and can perform millions of operations per
second.

Characteristics of Computers

• Speed: Executes millions of instructions per second.

• Accuracy: Performs tasks with minimal errors.

• Automation: Operates automatically once programmed.

• Versatility: Can perform a wide range of tasks.

• Storage: Stores vast amounts of data.

• Diligence: Doesn’t suffer from fatigue or boredom.

• Communication: Connects and shares data across networks.

Block Diagram of a Computer

The block diagram represents the major components and their interaction:

[Input Unit] → [CPU: Control Unit + ALU] ↔ [Memory Unit] → [Output Unit]

Components:

• Input Unit: Devices like keyboard, mouse.

• CPU (Central Processing Unit):

o Control Unit (CU): Directs operations.

o Arithmetic Logic Unit (ALU): Performs calculations and logic.

• Memory Unit:
o Primary Memory: RAM and ROM.

o Secondary Memory: Hard disk, SSD.

• Output Unit: Devices like monitor, printer.

Types of Computers and Their Features

Type Description Features

Personal computers for individual Affordable, compact, used for general


Microcomputer
use tasks

Used in small businesses, moderate


Minicomputer Mid-sized, multi-user systems
processing

High reliability, used in banks and


Mainframe Large-scale, multi-user systems
government

Most powerful, used for complex High-speed processing, scientific


Supercomputer
tasks research

Mini Computers

• Definition: Mid-range computers between micro and mainframe.

• Use: Handle multiple users simultaneously.

• Applications: Small business operations, manufacturing control.

• Features:

o Moderate processing power

o Multi-user support

o Less expensive than mainframes

Micro Computers

• Definition: Computers with a microprocessor as CPU.

• Use: Personal computing, education, entertainment.

• Examples: Desktops, laptops, tablets.

• Features:

o Single-user systems

o Affordable and portable

o Used for general-purpose tasks


Mainframe Computers

• Definition: Powerful computers used by large organizations.

• Use: Handle massive data and multiple users.

• Applications: Banking, insurance, government databases.

• Features:

o High reliability and security

o Centralized data processing

o Expensive and large in size

Super Computers

• Definition: Fastest and most powerful computers.

• Use: Scientific simulations, weather forecasting, AI.

• Applications: NASA, climate modelling, nuclear research.

• Features:

o Trillions of calculations per second

o Parallel processing

o Extremely expensive

Types of Programming Languages

Programming languages are categorized based on abstraction level:

Type Description

Machine Language Binary code (0s and 1s), directly understood by CPU

Assembly Language Uses mnemonics (e.g., MOV, ADD), closer to hardware

High-Level Language Human-readable (e.g., Python, Java), portable and easy to learn

Machine Languages

• Definition: Lowest-level language using binary digits.

• Example: 10110000 01100001

• Pros: Fast execution


• Cons: Difficult to write and debug, not portable

Assembly Languages

• Definition: Low-level language using symbolic codes (mnemonics).

• Example: MOV A, 05H

• Pros: Easier than machine language, efficient

• Cons: Hardware-specific, requires assembler

High-Level Languages

• Definition: Languages closer to human language, It is machine Independent language.

• Examples: C, C++, Java, Python

• Pros: Easy to learn, portable, readable

• Cons: Slower than low-level languages, needs compiler/interpreter


Unit 2

RAM (Random Access Memory):

RAM is the computer's primary, volatile memory. It's where the operating system, running
applications, and actively used data are stored while the computer is powered on.

• Characteristics:

• Volatile: Data is lost when power is turned off.

• Fast Access: Allows quick reading and writing of data.

• Read/Write: Can both read and write data.

• Temporary Storage: Used for actively used data and instructions.

• Examples: DRAM, SRAM (Static RAM).

ROM (Read-Only Memory):

• Definition:

ROM is non-volatile memory that stores permanent instructions and data, like the computer's
firmware (BIOS).

• Characteristics:

• Non-Volatile: Data is retained even when the power is off.

• Read-Only: Data can only be read, not easily modified.

• Permanent Storage: Stores essential instructions for booting the computer.

• Examples: PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM


(Electrically Erasable PROM).

DRAM (Dynamic Random Access Memory):


• Definition:

DRAM is a type of RAM that stores each bit of data in a capacitor within an integrated circuit.

• Characteristics:

• Volatile: Requires refreshing to retain data.

• Slower than SRAM: Access times are slower compared to SRAM.

• Lower Cost: Generally less expensive than SRAM.

• Higher Density: Can store more data per unit area than SRAM.

• Main Memory: Commonly used as the main memory in computers.

CCD (Charge-Coupled Device)

Applications
CCDs are powerful light-sensitive devices that convert photons into electronic signals. Their
precision and sensitivity make them ideal for a wide range of fields:

A photon is the smallest possible unit—or quantum—of electromagnetic energy, including


light, radio waves, and X-rays. It’s an elementary particle with some fascinating properties:

Scientific & Industrial Uses

• Astronomy: Capturing faint light from distant stars and galaxies with high sensitivity and
low noise.

• Microscopy: Used in optical and fluorescence microscopes for high-resolution imaging


of cells and materials.

• Spectroscopy: Detecting light intensity across wavelengths for chemical analysis.

• Near-Infrared Imaging: Ideal for detecting low-energy photons in industrial and


medical diagnostics.

Medical Imaging

• Endoscopy & X-ray Systems: Providing detailed internal images for diagnostics.

• Ultrasound Machines: Enhancing image clarity in soft tissue scans.

Secondary Memory:
• Definition:

Secondary memory (also known as auxiliary or external memory) is non-volatile storage that is
not directly accessible by the CPU. It's used for long-term storage of data and applications.

• Characteristics:

• Non-Volatile: Data persists even when the computer is turned off.

• Slower Access: Slower access speeds compared to primary memory.

• Large Storage Capacity: Offers larger storage capacities than primary memory.

• Examples: Hard disk drives (HDDs), solid-state drives (SSDs), USB flash drives,
optical disks (CDs, DVDs).
Cache memory is a type of high-speed memory that stores frequently accessed data and
instructions, acting as a buffer between the CPU and main memory (RAM) to improve system
performance

Importance:

• Cache memory significantly speeds up


processing by reducing the time the CPU
spends waiting for data.

• It helps bridge the speed gap between the


CPU and main memory.

• By storing frequently used data and


instructions, it improves overall system
responsiveness and performance.

Flash memory is a type of non-volatile storage that can be electrically erased and
reprogrammed. It's widely used in various devices like USB drives, SSDs, and memory cards. The
two main types of flash memory are NAND and NOR, each with distinct characteristics.

NAND Flash:

• Higher density and faster write/erase speeds: Ideal for mass storage applications like
SSDs and USB drives.

• Arranged in a grid-like structure: Allows for higher storage capacity in a smaller space.

• Not suited for direct code execution: Because of its architecture, it's not efficient for
random access of individual bytes.

NOR Flash:

• Faster read times and random access: Enables direct execution of code from
memory.

• Lower density compared to NAND: Typically used for code storage in embedded
systems.

• Faster random access: Can access data in any order, unlike NAND.

RAID (Redundant Array of Independent Disks) is a storage technology that combines


multiple physical disk drives into a single logical unit. This combination aims to improve
data redundancy (protection against data loss), increase storage capacity, and enhance
performance.

RAID 0 – "Striping"
Feature Details

Data Storage Data is split evenly across drives (striped)

Redundancy ❌ None

Performance 🚀 Very fast read/write speeds

Minimum Drives 2

Use Case High-performance tasks (e.g., video editing)

Note: If one drive fails, all data is lost.

RAID 1 – "Mirroring"

Feature Details

Data Storage Data is duplicated on two drives

Redundancy ✅ High – Full backup on second drive

Performance ⚖️ Moderate (read fast, write slower)

Minimum Drives 2

Use Case Critical data protection (e.g., system files)

Note: One drive can fail without data loss.

RAID 3 – "Striping with Dedicated Parity"

Feature Details

Data Storage Striping across drives + one parity drive

Redundancy ✅ Yes – Parity allows recovery

Performance 📊 Good read speeds; write can be slower due to parity

Minimum Drives 3 (2 for data, 1 for parity)

Use Case Large sequential data operations (e.g., video servers)


What Are Device Drivers?

Device drivers are specialized software programs that enable the operating system (OS) to
communicate with hardware components. Think of them as translators between the OS and
devices like printers, keyboards, or graphics cards.

What is a Device Controller?

A device controller is a hardware component that acts as an interface between the CPU
(or operating system) and an I/O device (like a printer, disk drive, or keyboard). It translates
high-level commands from the OS into device-specific operations.

Key Functions of Device Controllers

- Interfacing with the CPU and memory via the system bus

- Receiving and decoding commands from the OS

- Generating control signals for the I/O device

- Transferring data between the device and memory (often using DMA)

- Error checking and correction

- Status reporting to the OS

- Interrupt handling to notify the CPU when tasks are complete

What Are Device Drivers?

Device drivers are specialized software programs that allow the operating system to
communicate with hardware devices. Without drivers, hardware like printers, keyboards,
or storage drives wouldn't function properly with your system.

Key Functions of Device Drivers

- Communication Bridge: They translate OS commands into device-specific instructions.

- Hardware Control: Enable and manage hardware operations (e.g., turning on a speaker).

- Error Handling: Detect hardware issues and communicate them to the OS.

- Resource Management: Help manage system resources like memory and bandwidth.

Interrupt processing is the mechanism by which a processor temporarily halts its current
execution to respond to an urgent event (interrupt), executes a special routine (Interrupt
Service Routine or ISR), and then resumes normal execution.
Interrupt-Driven Input /Output,

Interrupt-Driven Input/Output (I/O) is a technique used in computer systems to efficiently


manage data transfer between the processor and peripheral devices without constantly
occupying the CPU.

Concept Overview

- In traditional Programmed I/O, the CPU continuously checks (polls) the I/O device to see
if it's ready, which wastes CPU cycles.

- Interrupt-Driven I/O improves efficiency by allowing the I/O device to signal the CPU only
when it's ready for data transfer.

DMA (Direct Memory Access) Input Output Processors,

Direct Memory Access (DMA) is a powerful technique used in computer systems to speed
up data transfer between memory and peripherals—without burdening the CPU.

What DMA Does

- Bypasses the CPU: Devices like hard drives, sound cards, or network adapters can
read/write directly to RAM.

- Frees up CPU cycles: While DMA handles data movement, the CPU can focus on other
tasks.

- Improves performance: Especially useful for large or frequent data transfers.

Partitioning & Formatting

1. FAT (File Allocation Table)

FAT16 / FAT32 are file systems used in early versions of DOS and Windows.

FAT maintains a table to keep track of where files are stored on disk.

FAT32 allows larger partition sizes and smaller cluster sizes than FAT16.

Simple and widely compatible but less efficient and secure compared to modern file
systems.

NTFS (New Technology File System) is the default file system used by modern Windows
operating systems, including Windows 11 and Windows Server editions. It was introduced
by Microsoft in 1993 to replace older systems like FAT32, offering more robust features for
data management, security, and reliability.
2. Inode

Used in Unix/Linux file systems (like ext3, ext4).

Inode (Index Node) stores metadata about a file: size, owner, permissions, timestamps,
etc.

It does not store the file name or data but links to the data blocks on disk.

3. Drive Cache

A small amount of high-speed memory inside the hard drive.

It temporarily stores frequently accessed or recently written data to improve


performance.

Also helps in buffering read/write operations to minimize latency.

Hard Drive Interfaces

1. IDE (Integrated Drive Electronics)

Also known as ATA (Advanced Technology Attachment).

Popular in the 1990s and early 2000s.

The controller is built into the drive, and data transfer is parallel (multiple bits at a time).

Slower compared to modern interfaces.

2. EIDE (Enhanced IDE)

An improved version of IDE with:

Support for larger drives (up to 128 GB),

Faster data transfer rates,

Support for CD-ROMs and other ATAPI devices.

3. SCSI (Small Computer System Interface)

Faster and more flexible than IDE.

Supports multiple devices (like hard drives, scanners, etc.) on one bus.

Commonly used in servers and workstations.

More expensive and complex to configure.

4. Ultra DMA (Direct Memory Access)

Technique allowing data transfer between drive and memory without CPU intervention.

Increases speed and reduces CPU load.

Often paired with ATA standards (e.g., ATA/33, ATA/66).

5. ATA/66 (ATA-66)

A version of ATA using Ultra DMA mode 4, supporting 66.6 MB/s data transfer.
Requires 80-conductor ribbon cables for better signal quality and faster speeds.

Sure, Pankaj! Here's a structured overview of instructions in computer architecture,


tailored to your educational style and bilingual clarity needs:

What is an Instruction?

An instruction is a binary-coded command that tells the computer to perform a specific


operation. It’s the fundamental unit of execution in a program.

• It consists of fields like:

o Opcode (Operation Code): Specifies the operation (e.g., ADD, LOAD).

o Operands: Data or memory locations involved.

o Addressing Mode: Indicates how to locate operands

Characteristics of Instructions

Here are key features that define an instruction:

Characteristic Description

Length Number of bits (e.g., 16-bit, 32-bit) used to encode the instruction

Format Structure of fields (opcode, operands, mode)

Opcode Specifies the operation to be performed

Operands Number and type of operands (registers, memory, immediate values)

Addressing Mode Direct, indirect, immediate, register-based, etc.

Types of Instructions

Instructions are categorized based on their purpose and format:

1. Arithmetic & Logic Instructions

• Perform calculations and logical operations.

• Examples: ADD, SUB, AND, OR, XOR

2. Data Transfer Instructions

• Move data between memory and registers.

• Examples: LOAD, STORE, MOVE


3. Control Instructions

• Change the flow of execution.

• Examples: JUMP, CALL, RETURN, BRANCH

4. Input/Output Instructions

• Handle communication with external devices.

• Examples: IN, OUT, SKI, SKO

SKI – Skip if Input Flag is Set

SKO – Skip if Output Flag is Set

5. Instruction Format Types (Based on Address Fields)

Type Description

Zero Address Uses stack; no explicit operands (e.g., ADD operates on top of stack)

One Address Uses accumulator and one operand (e.g., ADD X)

Two Address Two operands; one is usually destination (e.g., ADD A, B)

Three Address Explicit source and destination (e.g., ADD A, B, C)

1. Instruction Length

• Refers to the total number of bits used to encode an instruction.

• Common lengths: 8, 16, 32, or 64 bits, depending on architecture.

• Affects memory usage, fetch speed, and decoding complexity.

2. Allocation of Bits: Opcode vs Operand


Component Description

Specifies the operation (e.g., ADD, LOAD). Size depends on instruction


Opcode
set size.

Specify the data or addresses involved. Can be registers, memory, or


Operands
immediate values.

Addressing Optional bits to indicate how operands are accessed (e.g., direct,
Mode indirect).

Example:
In a 16-bit instruction:

• Opcode: 6 bits

• Operand: 10 bits
This allows for (26 = 64)

• operations and (2{10} = 1024) operand values.

3. Variable-Length Instructions

• Used in CISC architectures (e.g., x86).

• Instruction length varies based on:

o Number of operands

o Addressing modes

o Immediate values

• Offers flexibility but increases decoding complexity.

Fixed-Length Instructions (used in RISC) simplify decoding and pipelining.

4. Example Instruction Formats

Immediate Addressing

| Opcode (6 bits) | Operand Value (10 bits) |

Direct Addressing

| Opcode (6 bits) | Memory Address (10 bits) |

Register Addressing

| Opcode (6 bits) | Register Number (5 bits) | Unused (1 bit) |


What Are Addressing Schemes?

Addressing schemes (or addressing modes) define how a processor identifies the location
of operands (data) during instruction execution.

They impact performance, flexibility, and instruction size.

Detailed Explanation

Immediate Addressing Mode (निर्दे श में ही डे टा नर्दया होता है।)

• Use Case: Fast access to constants.

• Limitation: Operand size is limited by instruction format.

Direct Addressing Mode( निर्दे श में operand का वास्तनवक पता होता है।)

• Use Case: Simple memory access.

• Limitation: Less flexible for dynamic data structures.

Indirect Addressing Mode (निर्दे श में एक ऐसा पता होता है जहााँ से वास्तनवक operand का पता
नमलता है।)

• Use Case: Useful for pointers, dynamic arrays.

• Limitation: Slower due to double memory access.

1. Register Addressing

• Operand Location: Directly in a CPU register.

• Speed: Fastest access since registers are inside the CPU.

• Use Case: Efficient for arithmetic and logical operations.

2. Register Indirect Addressing

• Operand Location: Memory address is stored in a register.

• Use Case: Useful for accessing arrays or pointers.

3. Indexed Addressing Scheme


• Operand Location: EA = Address part of instruction + Index Register.

• Use Case: Ideal for array traversal and table lookups.

4. Base Register Addressing

• Operand Location: EA = Base Register + Address part of instruction.

• Use Case: Common in segmented memory systems and relocatable code.

5. Relative Addressing Scheme

• Operand Location: EA = Program Counter (PC) + Address part of instruction.

• Use Case: Used in branching and control flow instructions.

6. Stack Addressing

• Operand Location: Top of the stack.

• Mechanism: Uses Stack Pointer (SP) to access operands.

• Use Case: Function calls, recursion, and temporary storage.

1. Instruction Length

• Refers to the total number of bits used to encode an instruction.

• Common lengths: 8, 16, 32, or 64 bits, depending on architecture.

• Affects memory usage, fetch speed, and decoding complexity.

2. Allocation of Bits: Opcode vs Operand

Component Description

Specifies the operation (e.g., ADD, LOAD). Size depends on instruction


Opcode
set size.

Specify the data or addresses involved. Can be registers, memory, or


Operands
immediate values.

Addressing Optional bits to indicate how operands are accessed (e.g., direct,
Mode indirect).

Example:
In a 16-bit instruction:

• Opcode: 6 bits
• Operand: 10 bits
This allows for (26 = 64) operations and (2{10} = 1024) operand values.

3. Variable-Length Instructions

• Used in CISC architectures (e.g., x86).

• Instruction length varies based on:

o Number of operands

o Addressing modes

o Immediate values

• Offers flexibility but increases decoding complexity.

Fixed-Length Instructions (used in RISC) simplify decoding and pipelining.

4. Example Instruction Formats

Immediate Addressing

| Opcode (6 bits) | Operand Value (10 bits) |

Direct Addressing

| Opcode (6 bits) | Memory Address (10 bits) |

Register Addressing

| Opcode (6 bits) | Register Number (5 bits) | Unused (1 bit) |

Basic CPU Structure (मूल CPU संरचिा)

The CPU (Central Processing Unit) is the brain of the computer, responsible for executing
instructions.

Key Components:

• ALU (Arithmetic Logic Unit): Performs arithmetic and logical operations.

• Control Unit: Directs operations of the processor.

• Registers: Fast storage for immediate data.

• Buses: Pathways for data transfer (Data Bus, Address Bus, Control Bus).

Register Organization (रनजस्टर संगठि)

Registers are small, fast memory units within the CPU used for temporary data storage
and manipulation.
Categories:

Type Description Hindi

Programmer-Visible प्रोग्रामर द्वारा र्दे खे जा सकिे


Accessible via instructions
Registers वाले रनजस्टर

Status and Control Used by control unit to manage CPU


स्थिनत और नियंत्रण रनजस्टर
Registers operations

General Purpose Store intermediate data or


सामान्य प्रयोजि रनजस्टर
Registers addresses

Programmer Visible Registers

These registers are directly accessible by machine-level instructions.

• Data Registers: Hold numeric or character data.

• Address Registers: Store memory addresses.

• General Purpose Registers: Used for temporary storage during execution.

• Condition Code Registers: Store flags (Zero, Carry, Sign, Overflow).

What is a Register in Computer Architecture?


A register is a small, high-speed storage location inside the CPU used to hold data
temporarily during processing. Unlike RAM, registers are directly accessible by the
processor and are crucial for executing instructions quickly. They store intermediate
results, memory addresses, instructions, and control information.

Why Registers Matter

• They enable fast access to data compared to RAM.

• Crucial for instruction execution cycles: fetch → decode → execute.

• Help manage control flow, data manipulation, and memory access.

Types of Registers in CPU


Here’s a structured overview of commonly used registers:
Register Name Function
Symbol

Stores intermediate results of arithmetic and logic


Accumulator AC
operations

General Purpose Temporarily hold data during execution; used in


R0–Rn
Registers register-to-register ops

Holds the address of the next instruction to be


Program Counter PC
executed

Stores the current instruction being decoded and


Instruction Register IR
executed

Memory Address Contains the address of memory location to be


MAR
Register accessed

Memory Data Register MDR Holds the data to be written to or read from memory

Points to the top of the stack; used in function calls


Stack Pointer SP
and interrupts

Contains status flags (Zero, Carry Sign, Overflow, etc.)


Flag Register FR
after operations

Status and Control Registers

Used internally by the CPU to manage and monitor operations.

• Program Counter (PC): Points to the next instruction.

• Instruction Register (IR): Holds the current instruction.

• Memory Address Register (MAR): Holds address of memory to access.

• Memory Buffer Register (MBR): Holds data read from or written to memory.

• Flag Register: Indicates status of operations (e.g., Zero, Carry).

General Registers in a Processor

These are versatile registers used for:

• Holding operands

• Storing intermediate results

• Addressing memory locations Examples: R0, R1, R2...Rn


Micro-operation Concepts

Micro-operations are the fundamental operations performed on data stored in registers.

Types:

• Register Transfer: Move data between registers.

• Arithmetic: Add, subtract, increment, decrement.

• Logic: AND, OR, XOR, NOT.

• Shift: Move bits left/right.

Arithmetic Micro-operations

Perform basic arithmetic on register data:

• Addition: R3 ← R1 + R2

• Subtraction: R3 ← R1 - R2

• Increment: R1 ← R1 + 1

• Decrement: R1 ← R1 - 1

Logic Micro-operations

Bitwise operations on register contents:

• AND: R1 ← R1 AND R2

• OR: R1 ← R1 OR R2

• XOR: R1 ← R1 XOR R2

• NOT: R1 ← NOT R1

Shift Micro-operations

Used for bit manipulation and arithmetic operations.

Type Description

Logical Shift Shifts bits and fills with 0

Arithmetic Shift Maintains sign bit for signed numbers

Circular Shift Rotates bits around ends

Instruction Execution and Micro-operations


Instruction execution involves multiple micro-operations.

Instruction Cycle:

1. Fetch: Get instruction from memory

2. Decode: Interpret instruction

3. Execute: Perform operation

4. Store: Save result

Each step involves micro-operations like loading registers, performing ALU operations,
and writing back results.

Instruction Pipelining

Pipelining improves CPU performance by overlapping instruction stages.

Stages:

Stage Function

IF (Instruction Fetch) Retrieve instruction

ID (Instruction Decode) Decode and fetch operands

EX (Execute) Perform operation

MEM (Memory Access) Access memory if needed

WB (Write Back) Store result in register

Advantage: Multiple instructions processed simultaneously, increasing throughput.


ALU Organisation

• The Arithmetic Logic Unit (ALU) is the core component of the CPU responsible for
performing arithmetic and logical operations.

• It works alongside registers and the control unit to execute instructions.

• ALU receives operands from input registers, performs operations, and stores
results in output registers.

• Operations include: addition, subtraction, AND, OR, NOT, etc.

• ALU is part of the data path, which includes buses and registers for data movement.

A Simple ALU Organization

• A basic ALU consists of:

o Two input lines (A


and B)

o Arithmetic unit (e.g.,


adder/subtractor)

o Logic unit (e.g.,


AND, OR gates)

o Multiplexer to select the desired operation

• Control signals determine which operation is performed.

• Example: A simple 1-bit ALU uses combinational logic to perform AND, OR, and
ADD operations.

A Sample ALU Design

• A sample ALU design includes:

o Combinational circuits for arithmetic and logic functions

o Full adder for addition

o Multiplexers for operation selection

o Control lines to choose between arithmetic and logic modes

• Modern ALUs are scalable and can be cascaded for wider bit-widths.
Arithmetic Processors

• Specialized units within the CPU or as coprocessors that handle complex


arithmetic operations.

• Include support for:

o Fixed-point and floating-point arithmetic

o Integer units (IU) and Floating-Point Units (FPU)

• Used in scientific computing, graphics processing, and digital signal processing.

• Arithmetic processors optimize speed and precision for operations like


multiplication, division, exponentiation, etc.

The Control Unit

• Directs operations of the processor.

• Coordinates data flow between CPU components.

• Fetches, decodes, and executes instructions.

• Generates control signals for micro-operations.

The Hardwired Control

• Uses fixed logic circuits (flip-flops, gates).

• Fast execution due to direct signal generation.

• Difficult to modify or upgrade.

• Common in RISC architectures.

Wilkes Control

• Proposed by Maurice Wilkes (1951).

• Introduced microprogramming concept.

• Control signals stored in ROM as microinstructions.

• Simplifies control unit design compared to hardwired logic.


The Micro-Programmed Control

• Control signals generated via microinstructions stored in control memory.

• Easier to modify and debug.

• Slower than hardwired control due to memory access.

• Common in CISC architectures.

The Micro-Instructions

• Low-level instructions that define control signals.

• Stored in control memory (ROM or RAM).

• Each microinstruction triggers one or more micro-operations.

Types of Micro Instructions

Type Description

Horizontal Microinstruction Each control signal has a dedicated bit; allows parallelism.

Vertical Microinstruction Encoded format; fewer bits, decoded before execution.

Control Memory Organisation

• Stores microinstructions in a structured format.

• Typically, ROM (fixed) or RAM (modifiable).

• Includes:

o Control Address Register (CAR): Holds address of next microinstruction.

o Control Data Register (CDR): Holds current microinstruction.

o Sequencer: Determines next address (sequential or branch).

Micro-Instruction Formats

• Defines structure of microinstructions.

• Common fields:

o Control Fields (F1, F2, F3): Specify micro-operations.

o Condition Field (CD): Branch condition.


o Branch Field (BR): Type of branch (JMP, CALL, RET).

o Address Field (AD): Next microinstruction address.

Execution of Micro-Program

• Begins with fetching instruction from main memory.

• Opcode maps to microprogram address.

• Microinstructions executed sequentially or via branching.

• Control signals generated to perform operations like fetch, decode, execute, store.

You might also like