0% found this document useful (0 votes)
25 views9 pages

Unit 1

Uploaded by

Aditya Agarwal
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)
25 views9 pages

Unit 1

Uploaded by

Aditya Agarwal
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
You are on page 1/ 9

Computer Architecture and Computer Organization

Computer Architecture
Computer architecture defines the functional behavior of a computer system. It outlines the fundamental
design principles and specifications that govern the system's operation. Key aspects of computer
architecture include:
• Instruction Set Architecture (ISA): Defines the set of instructions a processor can understand and
execute.
• Memory Organization: Specifies how memory is structured and accessed, including memory
hierarchy (cache, main memory, secondary storage).
• Data Representation: Determines how data is encoded and stored, such as integer, floating-point,
and character formats.
• Input/Output (I/O) Mechanisms: Defines how the system interacts with external devices.
Computer Organization
Computer organization deals with the structural implementation of a computer system, focusing on how
the architectural components are physically realized. It addresses the hardware details and
interconnections that bring the architectural design to life. Key aspects of computer organization include:
• Hardware Components: Specifies the physical components used, such as processors, memory
modules, and I/O devices.
• Control Unit: Designs the circuitry that controls the execution of instructions.
• Data Path: Defines the data flow between components, including registers, buses, and functional
units.
• Timing and Control Signals: Coordinates the activities of different components.
Differentiation
While computer architecture provides the blueprint, computer organization is responsible for the actual
construction of the building.

Feature Computer Architecture Computer Organization

Focus Functional behavior Physical implementation

Level of
High-level Low-level
Abstraction

Design Instruction set, memory organization, Hardware components, control


Concerns data representation signals, data paths

Perspective Programmer's view Engineer's view


In essence:
• Computer architecture is the conceptual design of a computer system, defining its abstract
properties and behavior.
• Computer organization is the concrete realization of that design, involving the physical components
and their interconnections.
Classification of Computers Based on Type, Purpose, Size
1. Based on Size and Processing Power:
• Microcomputers:
o Small, personal computers designed for individual use.
o Examples: Desktop PCs, laptops, tablets.
• Minicomputers:
o Mid-sized computers, more powerful than microcomputers.
o Used in small to medium-sized organizations for specific tasks.
o Examples: Servers, network devices.
• Mainframe Computers:
o Large, powerful computers capable of handling massive amounts of data.
o Used by large organizations for critical applications.
o Examples: Banking systems, airline reservation systems.
• Supercomputers:
o Extremely powerful computers used for complex calculations and simulations.
o Used in scientific research, weather forecasting, and other high-performance computing
tasks.
o Examples: Cray, IBM Summit.
2. Based on Purpose:
• General-Purpose Computers:
o Designed to perform a wide range of tasks.
o Examples: Personal computers, workstations.
• Special-Purpose Computers:
o Designed for specific tasks.
o Examples: Embedded systems (in cars, appliances), supercomputers.
3. Based on Architecture:
• Von Neumann Architecture:
o Traditional architecture with a single processor and shared memory.
o Most common type of computer architecture.
• Harvard Architecture:
o Separate memory units for instructions and data.
o Used in some specialized applications.
Generations of Computers
The evolution of computers is categorized into generations, each marked by significant technological
advancements:
1. First Generation (1940s-1950s):
o Vacuum tube technology
o Slow, large, and power-hungry
o Used machine language for programming
o Examples: ENIAC, UNIVAC I
2. Second Generation (1950s-1960s):
o Transistor technology
o Smaller, faster, and more reliable
o Assembly language and high-level languages (FORTRAN, COBOL)
o Examples: IBM 1401, IBM 7094
3. Third Generation (1960s-1970s):
o Integrated circuits (ICs)
o Smaller, faster, and more efficient
o Operating systems (UNIX, DOS)
o Examples: IBM 360, PDP-8
4. Fourth Generation (1970s-present):
o Microprocessors
o Personal computers (PCs)
o Graphical user interfaces (GUIs)
o Internet and networking
o Examples: IBM PC, Apple Macintosh
5. Fifth Generation (Present and Future):
o Artificial intelligence (AI)
o Quantum computing
o Nanotechnology
o Focus on natural language processing, machine learning, and robotics
Key Differentiating Factors:

First Second Third


Fourth Fifth
Feature Generatio Generatio Generatio
Generation Generation
n n n

Vacuum Integrated Microprocessor AI, quantum


Technology Transistors
tubes circuits s computing

Miniaturize
Size Large Smaller Smaller Very small
d

Much Extremely
Speed Slow Faster Very fast
faster fast

Power
Consumptio High Less Less Very low Minimal
n

Reliability Low Higher Higher Very high Very high

Cost High Lower Lower Lower Lower

Assembly
Programmin Machine language, High-level High-level AI-specific
g Languages language high-level languages languages languages
languages

Functional Units of a Computer


A computer system is composed of five fundamental functional units that work together to process
information:
1. Input Unit:
o Receives data and instructions from external sources.
o Examples of input devices: keyboard, mouse, scanner, microphone.
2. Output Unit:
o Displays results and information to the user.
o Examples of output devices: monitor, printer, speaker.
3. Memory Unit:
o Stores data and instructions.
o Divided into primary and secondary memory.
4. Arithmetic Logic Unit (ALU):
o Performs arithmetic and logical operations on data.
5. Control Unit:
o Coordinates the activities of all other units.
o Fetches instructions from memory, decodes them, and executes them by sending control
signals to other units.
Difference between Primary and Secondary Memory

Feature Primary Memory Secondary Memory

Speed Faster Slower

Cost per bit Higher Lower

Capacity Smaller Larger

Volatile (data lost when power Non-volatile (data persists even when power
Volatility
is off) is off)

Access
Direct access Sequential or direct access
Method

Examples RAM, ROM Hard disk, SSD, USB drive, CD/DVD

Primary Memory is used for immediate access to data and instructions during program execution. It is
faster but more expensive and has limited capacity. Secondary Memory is used for long-term storage of
data and programs. It is slower but cheaper and has a larger capacity.
Registers
Registers are high-speed storage locations within the CPU that are used to store data temporarily during
processing. They are essential for the efficient execution of instructions.
Types of Registers:
1. General-Purpose Registers:
o Used for various purposes like storing data, addresses, and intermediate results.
o Examples: AX, BX, CX, DX in x86 architecture.
2. Special-Purpose Registers:
o Dedicated to specific functions.
o Examples:
▪ Program Counter (PC): Stores the memory address of the next instruction to be
fetched.
▪ Instruction Register (IR): Holds the instruction currently being executed.
▪ Memory Address Register (MAR): Stores the memory address to be accessed.
▪ Memory Buffer Register (MBR): Holds data to be written to or read from memory.
▪ Accumulator (AC): Stores intermediate results of arithmetic and logical operations.
▪ Status Register (SR): Stores information about the status of the CPU, such as carry,
zero, and overflow flags.
Operations Performed by Registers in Fetch-Decode-Execute Cycle:
1. Fetch:
o The PC holds the address of the next instruction to be fetched.
o The control unit sends the address in the PC to the Memory Address Register (MAR).
o The memory unit fetches the instruction from the specified address and stores it in the
Memory Buffer Register (MBR).
o The instruction is then transferred to the Instruction Register (IR).
2. Decode:
o The control unit decodes the instruction in the IR to determine the operation to be
performed and the operands involved.
3. Execute:
o The control unit generates control signals to execute the instruction.
o The appropriate registers (e.g., MAR, MBR, AC) are used to access memory, fetch operands,
and store results.
o The ALU performs arithmetic and logical operations on the operands.
o The results are stored in registers or written back to memory.
Opcode, Operands, and Instruction Statements
• Opcode (Operation Code): The part of an instruction that specifies the operation to be performed
(e.g., add, subtract, load, store).
• Operand: The data on which the operation is performed. Operands can be immediate values,
register values, or memory addresses.
• Instruction Statement: A complete instruction, consisting of an opcode and one or more operands.
How the Memory and the Processor Can Be Connected
The primary method of connecting the processor and main memory is through a system bus. A system bus
is a collection of wires that carry data, addresses, and control signals between the processor and memory.
Key Components of a System Bus:
1. Address Bus: Carries memory addresses from the processor to the memory.
2. Data Bus: Carries data between the processor and memory.
3. Control Bus: Carries control signals to coordinate the transfer of data and instructions.
Memory Access Process:
1. Address Generation: The processor generates the memory address of the instruction or data to be
accessed.
2. Address Placement: The address is placed on the address bus.
3. Read/Write Signal: A control signal (read or write) is sent on the control bus to indicate the desired
operation.
4. Memory Access: The memory, upon receiving the address and control signal, either reads the data
from the specified memory location or writes data to it.
5. Data Transfer: The data is transferred between the memory and the processor via the data bus.
Visual Representation:
Additional Considerations:
• Memory Hierarchy: Modern computer systems often employ a memory hierarchy to improve
performance. This hierarchy includes:
o Registers: Fastest but smallest storage.
o Cache Memory: High-speed memory that stores frequently accessed data.
o Main Memory: Larger and slower than cache, but faster than secondary storage.
o Secondary Storage: Slowest but largest storage (e.g., hard disk, SSD).
• Memory Interleaving: This technique divides memory into banks to allow simultaneous access to
multiple memory locations, improving performance.
• Memory Mapping: The process of assigning specific memory addresses to different devices and
software components.
By understanding the fundamental principles of memory-processor communication, we can appreciate the
efficiency and complexity of modern computer systems.
Number Representation and Arithmetic Operations
Binary Number System
• Binary Addition:
o Similar to decimal addition, but with base 2.
o Rules:
▪ 0+0=0
▪ 0+1=1
▪ 1+0=1
▪ 1 + 1 = 10 (carry over 1 to the next bit)
• Binary Subtraction:
o Can be done directly or using 2's complement method.
o 2's complement method:
▪ Find the 2's complement of the subtrahend.
▪ Add it to the minuend.
▪ If there's a carry-out, discard it.
• Binary Multiplication:
o Similar to decimal multiplication, but with binary digits.
o Multiply each digit of the multiplier with the multiplicand.
o Shift the partial products and add them up.
• Binary Division:
o Similar to decimal division.
o Divide the dividend by the divisor, bit by bit.
o Subtract the divisor from the dividend or a partial remainder.
o If the subtraction is possible, write a 1 in the quotient.
o Shift the divisor and repeat the process.
Signed and Unsigned Representation
• Unsigned Numbers:
o All bits represent the magnitude of the number.
o Range: 0 to 2^n - 1 for an n-bit number.
• Signed Numbers:
o Sign-Magnitude:
▪ First bit represents the sign (0 for positive, 1 for negative).
▪ Remaining bits represent the magnitude.
o 1's Complement:
▪ Invert all bits of the positive number to get the negative number.
o 2's Complement:
▪ Invert all bits of the positive number and add 1.
▪ More efficient for arithmetic operations and widely used.
Floating-Point Representation
• Used to represent real numbers with a wide range of values.
• IEEE 754 Standard:
o Sign Bit: Determines the sign of the number.
o Exponent: Represents the magnitude of the number.
o Mantissa: Represents the precision of the number.
Character Representation
• ASCII: American Standard Code for Information Interchange.
o Uses 7-bit codes to represent characters.
• Unicode: A more comprehensive character encoding standard that supports a wider range of
characters from different languages.
Performance
• Technology: Smaller transistors and advanced fabrication techniques lead to faster and more
efficient processors.
• Parallelism:
o Instruction-Level Parallelism: Overlapping the execution of instructions.
o Multicore Processors: Multiple cores on a single chip for parallel processing.
o Multiprocessors: Multiple processors working together.
o Message Passing Multicomputers: Interconnected computers communicating to solve
problems.
Additional Notes:
• Overflow: Occurs when the result of an arithmetic operation exceeds the maximum representable
value for a given number of bits.
• Underflow: Occurs when the result of an arithmetic operation is smaller than the minimum
representable value.
• Fixed-Point Representation: Used to represent fractional numbers with a fixed number of decimal
places.
• Error Detection and Correction: Techniques like parity checking and checksums are used to detect
and correct errors in data transmission and storage.

You might also like