0% found this document useful (0 votes)
36 views14 pages

Understanding Computer Architecture Basics

The document provides an overview of computer architecture, detailing how components such as the CPU, memory, and I/O devices interact through various signals and pathways. It discusses design issues, including performance, security, compatibility, and resource constraints, while introducing key architectural models like Von Neumann and Harvard architectures. Additionally, it covers Flynn's Taxonomy, number representation, digital logic, instruction set architecture, memory organization, I/O organization, and pipelining techniques.

Uploaded by

supremevictor089
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views14 pages

Understanding Computer Architecture Basics

The document provides an overview of computer architecture, detailing how components such as the CPU, memory, and I/O devices interact through various signals and pathways. It discusses design issues, including performance, security, compatibility, and resource constraints, while introducing key architectural models like Von Neumann and Harvard architectures. Additionally, it covers Flynn's Taxonomy, number representation, digital logic, instruction set architecture, memory organization, I/O organization, and pipelining techniques.

Uploaded by

supremevictor089
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Computer architecture defines how a computer’s components communicate through electronic signals

to perform input, processing, and output operations.

 It covers the design and organization of the CPU, memory, storage, and input/output devices.

 Describes how these components interact through buses, control signals, and data pathways.

 It directly influences the overall speed, functionality, and reliability of a computer system.

Basic Computer Structure

This section introduces the fundamentals of computer organisation and architecture, explaining system
components, design issues, and different architectural models.

 What is Computer?

 Issues in Computer Design

A Computer involves many components that have their own speed, size and power consumption
requirements. There are different operating systems that use these computers. Due to different
kind of devices and software, the following issues arise in design.
Performance
Maximising processing speed, memory speed, and I/O performance.
Designing energy-efficient systems for reducing environmental impact and improving battery life.
Processors operate much faster than memory and IO devices, creating a bottleneck that can
significantly slow down the overall system.
Security
Protecting sensitive data from unauthorized access and breaches through robust encryption and
authentication.
Compatibility and User Experience
Ensuring that systems run seamlessly across various operating systems and hardware
configurations.
Designing systems that are intuitive and easy for users to operate.
System Architecture and Infrastructure
Building fault tolerant systems that can withstand and recover from failures without significant
downtime.
Modern systems are highly complex, requiring careful management of design, optimization, and
integration to avoid excessive costs and development time.
Resource and Technical Constraints
It must work within the constraints of physical limitations, acknowledging that both computer
speed and memory capacity are finite.
Effective techniques are needed to manage memory usage, especially when dealing with large
applications or datasets, to prevent slowdowns and crashes.

 Von Neumann Architecture

Von Neumann architecture is a computer design where instructions and data are stored in the
same memory space. This means the CPU fetches both instructions and data from the same
memory, using the same pathways. Historically there have been 2 types of Computers:

 Fixed Program Computers - Their function is very specific, and they couldn't be reprogrammed,
e.g., calculators.

 Stored Program Computers - These can be programmed to carry out many different tasks;
applications are stored on them, hence the name.
Components of Von Neumann Architecture

The structure described in the figure outlines the basic components of a computer system,
particularly focusing on the memory and processor. It is made up with three main components:

 CPU

 Memory
 I/O Devices

We have these 3 components lets us see more about them in detail:

CPU (Central Processing Unit)

The central processing unit (CPU) is the main part of a computer that controls how it works. It is
made up of the control unit, main memory, and the arithmetic logic unit (ALU). The CPU handles
instructions from programs, processes data, stores information, and produces results. Without
the CPU, a computer cannot perform tasks or run any applications.

Basic CPU structure, illustrating ALU

CU (Control Unit)

The control unit manages how the processor works by sending control signals. It decides how
data should move inside the computer, controls input and output operations, and fetches the
instructions from memory for execution.

ALU (Arithmetic and Logic Unit)

The arithmetic and logic unit is the part of the CPU that handles the calculations and decision-
making tasks. It performs arithmetic operations like addition and subtraction, logical operations
such as comparisons, and tasks like shifting bits in data.

Registers

Registers are the fastest type of memory located inside the CPU. They temporarily store
information that the processor is currently working on, making program execution and
operations faster and more efficient. Register serve as the CPU's primary working memory.

 PC (Program Counter): Keeps track of the address of the next instruction to be executed.

 IR (Instruction Register): Holds the current instruction being executed.

 MAR (Memory Address Register): Stores the address of the memory location being accessed.
 MDR (Memory Data Register): Temporarily holds data being transferred to or from memory.

 Accumulator: A register that stores intermediate results of arithmetic and logic operations.

 General Purpose Registers: Used for temporary storage of data during processing.

Bus

The bus is a communication system that transfers data, addresses, and control signals between
the CPU, memory, and I/O devices. In Von Neumann architecture, a single bus is shared for both
data and instructions, which can create a bottleneck (known as the Von Neumann bottleneck).

I/O Bus

 I/O Interface: Connects the CPU and memory to input/output devices.

 Device: Refers to external hardware like keyboards, monitors, or storage devices.

Key Characteristics

1. Single Memory for Data and Instructions: Both data and program instructions are stored in the
same memory.

2. Shared Bus: A single bus is used for transferring data, addresses, and control signals, which can
limit performance.

3. Sequential Execution: Instructions are executed one at a time in a sequential manner.

Von Neumann bottleneck

Whatever we do to enhance performance, we cannot get away from the fact that instructions
can only be done one at a time and can only be carried out sequentially. Both of these factors
hold back the competence of the CPU. This is commonly referred to as the 'Von Neumann
bottleneck'. We can provide a Von Neumann processor with more cache, more RAM, or faster
components but if original gains are to be made in CPU performance then an influential
inspection needs to take place of CPU configuration.

Applications

Von Neumann architecture is the foundation of most modern computing systems, where both
instructions and data are stored in the same memory. Here are the some applications:

 Personal Computers and Laptops: Most PCs and laptops (Intel/AMD) use a shared memory that
stores both programs and data, enabling efficient running of software like Windows and
browsers. Example: Intel Core i7, AMD Ryzen processors.
 Smartphones and Tablets: ARM-based devices use the shared memory model to support
multitasking and power efficiency in apps on iOS and Android. Example: Qualcomm Snapdragon,
Apple A-series chips

 Embedded Systems:Microcontrollers in cars, IoT devices, and appliances use Von Neumann
architecture for simple, cost-effective processing of instructions and data in the same
memory. Example Arduino Uno (ATmega328), older ARM Cortex-M designs.

 Servers and Cloud Computing: Servers utilize shared memory systems to handle large-scale
software and data tasks for services like AWS and Netflix.

 Gaming Consoles: Consoles like PS5 and Xbox use unified memory to run game code and
manage inputs, enabling smooth gameplay.

 Harvard Architecture

 Flynn's Taxonomy

Flynn's Taxonomy

Flynn's Taxonomy classifies computer architectures according to how many instruction streams
(processes) and data streams they can process simultaneously, dividing them into four
categories: SISD, SIMD, MISD, and MIMD.

Single-Instruction, Single-Data (SISD) Systems


An SISD computing system is a uniprocessor machine which is capable of executing a single
instruction, operating on a single data stream. In SISD, machine instructions are processed in a
sequential manner, and computers adopting this model are popularly called sequential
computers. Most conventional computers have SISD architecture. All the instructions and data to
be processed have to be stored in primary memory.

The speed of the processing


element in the SISD model is limited(dependent) by the rate at which the computer can transfer
information internally. Dominant representative SISD systems are IBM PC, workstations.

Single-Instruction, Multiple-Data (SIMD) Systems

An SIMD system is a multiprocessor machine capable of executing the same instruction on all the
CPUs but operating on different data streams. Machines based on an SIMD model are well suited
to scientific computing since they involve lots of vector and matrix operations.
So that the information can be passed to all the processing elements (PEs) organized data
elements of vectors can be divided into multiple sets(N-sets for N PE systems) and each PE can
process one data set. Dominant representative SIMD systems is Cray’s vector processing
machine.

Multiple-Instruction, Single-Data (MISD) systems

An MISD computing system is a multiprocessor machine capable of executing different


instructions on different PEs but all of them operating on the same dataset.
Example Z = sin(x)+cos(x)+tan(x) The system performs different operations on the same data set.
Machines built using the MISD model are not useful in most of the application, a few machines
are built, but none of them are available commercially.

Multiple-Instruction, Multiple-Data (MIMD) Systems

An MIMD system is a multiprocessor machine which is capable of executing multiple instructions


on multiple data sets. Each PE in the MIMD model has separate instruction and data streams;
therefore machines built using this model are capable to any kind of application. Unlike SIMD
and MISD machines, PEs in MIMD machines work asynchronously.
MIMD machines are classified into shared-memory and distributed-memory models depending
on how processors connect to memory. In a shared-memory MIMD system (tightly coupled), all
processors use the same global memory, and communication happens through it. Any change
made by one processor is visible to all others. Examples include Silicon Graphics and Sun/IBM’s
SMP systems.

In a distributed-memory MIMD system (loosely coupled), each processor has its own local
memory, and they communicate through an interconnection network (like tree or mesh).

Shared-memory systems are easier to program but harder to scale and more vulnerable to
failures, since a fault can affect the whole system. In contrast, distributed-memory systems are
more scalable and fault-tolerant, since each processor is independent. For real-world use,
distributed-memory MIMD is generally considered superi
Number System and Data Representation

Covers how data, numbers, and characters are represented inside a computer, along with techniques to
ensure accuracy and reliability in storage and communication.

 Number Systems

 Base Conversions

 Character Representation

 Error Detection and Correction Codes

Fixed & Floating-Point Formats

Representing numbers in digital systems using fixed-point and floating-point formats for precision and
range.

 Fixed Point Representation

 Floating Point Representation

Digital Logic & Circuits

Designing digital systems using logic gates, Boolean algebra, and combinational/sequential circuits.

 Digital Electronic and Logic Gate

 Boolean Algebra

 Combinational Circuits and Sequential Circuits

Register Transfer & Micro-Operations

Managing data movement and operations in registers using bus/memory transfers, arithmetic, and shift
micro-operations.

 Register Transfer Language

 Data Transfers (Bus/Memory)

 Arithmetic Micro-Operations

 Shift Micro-Operations

 Microoperations

 Hardwired vs. Microprogrammed Control Unit

Instruction Set Architecture (ISA) & Control Flow


Defining the set of instructions, formats, and addressing modes for processor communication.

 Instruction Format

 Addressing Modes

 Microarchitecture and Instruction Set Architecture

 Timing and Control

 RISC vs CISC Architectures

Computer Arithmetic

Explore all the concepts of computer arithmetic, including ALU operations, number complements,
division algorithms, Booth’s method, overflow handling, and negative number representation.

 ALU and Data Path

 Difference between 1’s complement and 2’s complement

 Restoring Division Algorithm

 Non-Restoring Division

 Booth’s Algorithm

 Overflow in Arithmetic Addition

Memory Organization

This section explains memory organization, covering types of memory, storage hierarchy, addressing
methods, virtual memory techniques, and key architectural differences.

 Memory & Memory Units

 Paging

 Segmentation

 Virtual Memory

 Page Replacement Algorithms

 Translation Lookaside Buffer

 NUMA vs UMA Architectures

 Memory Interleaving
 Byte Addressable & Word Addressable Memory

 Simultaneous vs Hierarchical Access Memory

Input/Output Organization

This section covers input/output organization, including interfaces, interrupts, DMA, peripheral devices,
synchronization methods, bus systems, and processor communication.

 Introduction to I/O Interface

 I/O Interface (Interrupt and DMA Mode)

 Memory mapped I/O and Isolated I/O

 Interrupts

 DMA

 Modes of DMA Transfer

 DMA controller 8257/8237

 Programmable peripheral interface 8255

 Asynchronous & Synchronous I/O Synchronization

 Interface 8255 with 8085 microprocessor for 1’s and 2’s complement of a number

 Microcomputer system

 Working of 8085-based Single board microcomputer

 Interface 8254 PIT with 8085 microprocessor

 Synchronous Data Transfer

 Input-Output Processor

 Bus Systems

 MPU Communication

 BUS Arbitration

Pipelining & Hazards

This section explains pipelining and parallel processing, covering ILP, execution stages, hazards, VLIW,
branch prediction, and Amdahl’s law.
 Pipelining Set 1 (Execution, Stages and Throughput)

 Pipelining Set 2 (Dependencies and Data Hazard)

 Instruction Level Parallelism

 Very Long Instruction Word (VLIW) Architecture

 Types and Stalling

 Dependencies and Data Hazard

 Branch Prediction in Pentium

 Amdahl's law and its Proof

You might also like