Chapter 1
Basic Concepts and Computer Evolution
COMPUTER ORGANIZATION
• Refers to the operational units and their interconnections that realize the architecture
specifications.
• It deals with how a computer system is physically implemented.
• Focuses on the hardware details like control signals, memory hierarchy, I/O devices, data
paths, etc.
• Examples of topics under computer organization:
o Control units
o Memory types (cache, RAM, ROM)
o Data transfer mechanisms (bus systems)
o Instruction execution
o Pipelining and parallelism
COMPUTER ARCHITECTURE
• Refers to the logical structure and functional behaviour of a computer system as viewed by
a programmer.
• It focuses on the design of the system that meets functional, performance, and cost goals.
• Concerned with what a computer does, including the instruction set, addressing modes, and
data types.
• Examples of topics under computer architecture:
o Instruction set architecture (ISA)
o Microarchitecture
o System design (e.g., memory and I/O system design)
o Performance metrics (e.g., throughput, latency)
Key Difference:
• Computer Organization: Deals with the implementation details of the system (how it works
internally).
• Computer Architecture: Deals with the design and functionality as seen by the programmer
or user.
In essence, architecture is about what the system should do, and organization is about how it is
built to perform those functions.
FUNCTION OF A COMPUTER SYSTEM
The function of a computer system refers to the operations it performs to fulfil its purpose. These
operations are general and apply to all computers, regardless of specific design or configuration.
There are four basic functions:
1. Data Processing:
o The computer processes data in various forms, performing operations such as
arithmetic, logical comparisons, and decision-making.
o These operations transform input data into meaningful results.
2. Data Storage:
o Short-term storage: Temporary storage of data currently being processed (e.g., in
RAM or registers).
o Long-term storage: Permanent storage of data for future retrieval and updates (e.g.,
files on a hard disk or SSD).
3. Data Movement:
o Data is transferred between the computer and its environment.
o Input–Output (I/O) refers to direct data transfer with connected devices like
keyboards, monitors, or printers.
o Data communications handle data movement over longer distances, such as
networking.
4. Control:
o The control unit manages the computer's resources and coordinates the
performance of its components.
o It ensures instructions are executed in the correct sequence.
STRUCTURE OF A COMPUTER SYSTEM
The structure of a computer system refers to the organization and interrelation of its components. A
hierarchical view provides a clear understanding of the system's components and their interactions.
The key structural components are:
1. Central Processing Unit (CPU):
o Controls the computer's operation and performs data processing.
o Includes the Arithmetic Logic Unit (ALU), Control Unit, and registers.
2. Main Memory:
o Temporarily stores data that is being processed or waiting for processing.
o Provides short-term storage for active processes.
3. Input/Output (I/O):
o Manages data exchange between the computer and its external environment.
o Includes devices like keyboards, monitors, printers, and storage drives.
4. System Interconnection:
o A communication mechanism that allows interaction between the CPU, memory, and
I/O devices.
o Often implemented as a system bus, which consists of multiple wires for transmitting
data, control signals, and addresses.
Simple single-processor computer
Multicore computer structure
Motherboard
• The motherboard is the main printed circuit board (PCB) in a computer. It interconnects all
the major components of the system, including:
o Processor chip: The physical chip containing one or more cores.
o Main memory chips: Stores data and programs temporarily for processing.
o I/O chips: Interfaces for data input and output, enabling communication with
peripheral devices.
Processor Chip
• The processor chip is a single piece of silicon that houses multiple cores and cache memory.
o Cores: Independent processing units within the chip. Each core can fetch and
execute instructions, functioning like an individual CPU in single-core systems.
o L3 cache: A larger, slower cache shared by all cores on the processor chip. It stores
data frequently accessed by multiple cores, improving performance.
Core
• A core is an individual processing unit inside the processor chip. It consists of:
1. Instruction logic: Responsible for:
▪ Fetching instructions from memory.
▪ Decoding instructions to determine their operations and operands.
2. Arithmetic and Logic Unit (ALU): Performs mathematical and logical operations as
specified by instructions.
3. Load/Store logic: Manages data transfer between the core and memory, often
through cache memory.
• Each core also has:
o L1 instruction cache (L1 I-cache): Stores instructions needed for execution,
minimizing access time to main memory.
o L1 data cache: Stores data currently being processed by the core.
o L2 cache:
▪ L2 instruction cache: Stores frequently used instructions that do not fit in
the L1 I-cache.
▪ L2 data cache: Stores data accessed more often than what is stored in L1
data cache but less frequently than data in main memory.
Hierarchical Cache Memory
• The caches are organized hierarchically to improve processing speed:
o L1 cache: Closest to the core and the fastest, but the smallest in size. Split into an
instruction cache and data cache.
o L2 cache: Larger but slower than L1. Sometimes shared among cores.
o L3 cache: The largest and slowest cache, shared by all cores. Improves
communication between cores and main memory.
EMBEDDED SYSTEM OVERVIEW
An embedded system is a specialized computing system that is part of a larger device, designed to
perform a specific task or set of tasks. Unlike general-purpose computers (e.g., desktops, and
laptops), embedded systems are dedicated to applications within products like household
appliances, cars, or industrial machinery. They are optimized for factors like energy consumption,
size, cost, and performance.
Embedded systems are tightly integrated with their environment, often operating under real-time
constraints to interact with sensors, actuators, and other components.
Processor
• The central unit of the embedded system, responsible for executing instructions and
managing the interaction between system components.
• Typically, lightweight, and application-specific to balance performance with cost and power
consumption.
Memory
• Stores program instructions and data used by the processor.
• Designed to be efficient in size and power for the specific application.
Custom Logic
• Specialized hardware components, such as Field Programmable Gate Arrays (FPGAs) or
Application-Specific Integrated Circuits (ASICs), used to optimize performance or reliability
for a particular task.
• Common in systems requiring high-speed or precision operations.
Human Interface
• Provides a way for users to interact with the system.
• Can range from simple LEDs or buttons to advanced systems like touchscreens or robotic
vision.
• Some embedded systems may have no human interface at all.
Diagnostic Port
• A port used for monitoring and diagnosing the embedded system or the larger system it
controls.
• Facilitates debugging, maintenance, and troubleshooting.
Sensors
• Devices that collect data from the physical environment (e.g., temperature, pressure,
motion) and convert it into signals the processor can interpret.
• Examples include temperature sensors, accelerometers, and light sensors.
Actuators/Indicators
• Components that perform actions or provide feedback based on system outputs.
• Examples:
o Actuators: Motors, solenoids, or valves that manipulate physical systems.
o Indicators: LEDs, buzzers, or displays that provide visual or auditory feedback.
A/D Conversion (Analog-to-Digital Conversion)
• Converts analog signals from sensors into digital data that the processor can understand.
D/A Conversion (Digital-to-Analog Conversion)
• Converts digital signals from the processor into analog signals to drive actuators or other
analog devices.
Characteristics of Embedded Systems
1. Tightly Coupled to the Environment:
o Continuously interact with the external world via sensors and actuators.
o Often need to respond in real-time to environmental changes.
2. Reactive Systems:
o Operate at a pace determined by their environment, constantly sensing and reacting.
3. Fixed-Function Software:
o Software is typically pre-defined for specific applications, though modern systems
may allow updates for bug fixes or added functionality.
4. Efficiency:
o Optimized for energy consumption, execution time, memory use, and physical
dimensions.
5. Real-Time Constraints:
o Must meet strict timing requirements to ensure proper functioning.
Applications of Embedded Systems
Examples include:
• Automotive systems (e.g., anti-lock brakes, fuel injection, cruise control).
• Home appliances (e.g., washing machines, microwaves).
• Medical devices (e.g., heart rate monitors, insulin pumps).
• Consumer electronics (e.g., smartphones, smart TVs).
The Internet of Things (IoT)
• IoT refers to the interconnectedness of smart devices, including appliances, sensors, and
industrial objects.
• These devices communicate via short-range transceivers, often using cloud systems for
coordination.
• IoT systems enable sensor data collection, environmental actions, and self-modification to
manage larger systems like factories or cities.
• IoT is marked by low-bandwidth devices for data exchange, though some require high-
bandwidth (e.g., video cameras).
• IoT evolution:
1. Information Technology (IT): PCs, servers, and routers using wired connections.
2. Operational Technology (OT): Machines with embedded IT (e.g., medical devices,
kiosks) using wired connections.
3. Personal Technology: Wireless smartphones, tablets, eBook readers.
4. Sensor/Actuator Technology: Single-purpose wireless devices (e.g., sensors),
forming IoT's foundation.
Embedded Operating Systems
• Two approaches to embedded OS:
1. Adaptation of existing OS: Versions of Linux, Windows, etc., modified for embedded
use.
2. Purpose-built OS: Designed solely for embedded systems (e.g., TinyOS for wireless
sensor networks).
Application Processors vs. Dedicated Processors
• Application Processors:
o Support complex operating systems (e.g., Linux, Android).
o General-purpose processors used in smartphones to handle diverse apps and
functions.
• Dedicated Processors:
o Perform specific tasks tailored to host devices.
o Engineered for reduced size and cost, commonly found in embedded systems.
Microprocessors vs. Microcontrollers
• Microprocessors:
o Include registers, ALU, control units, and often cache memory.
o High complexity, with multiple cores, operating at GHz speeds.
• Microcontrollers:
o "Computer on a chip" with processor, ROM (non-volatile memory), RAM (volatile
memory), clock, and I/O control.
o Designed for simplicity, high energy efficiency, and specific tasks.
o Operate in the MHz range and are heavily used in automation and industrial
applications.
o Examples: A car may contain over 70 microcontrollers to manage tasks like fan
control or valve operations.
Embedded Systems vs. Deeply Embedded Systems
• Embedded Systems:
o Can be programmable and often include human interaction.
o Found in consumer electronics and industrial machines.
• Deeply Embedded Systems:
o Use microcontrollers instead of microprocessors.
o Non-programmable after logic is embedded into ROM.
o Lack human interaction and perform specific single-purpose tasks (e.g., wireless
sensors in IoT).
o Operate with resource constraints like low memory, processor size, and power
consumption.
o Integral to IoT networks, such as factory or agricultural monitoring.
DEFINITION OF CLOUD COMPUTING
According to the National Institute of Standards and Technology (NIST SP-800-145):
• Cloud Computing: "A model for enabling ubiquitous, convenient, on-demand network access
to a shared pool of configurable computing resources that can be rapidly provisioned and
released with minimal management effort or service provider interaction."
• Core Features:
o Ubiquity: Accessible anywhere with an Internet connection.
o Convenience: Services are user-friendly and require minimal configuration.
o On-Demand Access: Resources can be scaled up or down based on needs.
o Resource Pooling: Shared infrastructure reduces costs while maintaining flexibility.
Evolution of Cloud Computing
• Origins: While the concept of shared computing resources dates to the 1950s, cloud
computing services became commercially viable in the early 2000s, initially targeting large
enterprises.
• Adoption: Over time, the scope of cloud computing expanded:
o Small and Medium Enterprises (SMEs): Adopted cloud services for cost-effective
scalability.
o Consumers: Began using personal cloud services for backup, device synchronization,
and data sharing.
• Notable Examples:
o Apple iCloud: Launched in 2012, gaining 20 million users in a week.
o Evernote: A cloud-based note-taking service launched in 2008, amassing 100 million
users in under six years.
Advantages of Cloud Computing
• Cost-Effectiveness:
o Users pay only for the storage and services they consume, avoiding significant
upfront costs for hardware or software.
• Professional Management:
o Cloud providers handle infrastructure setup, database management, maintenance,
and backups.
• Economies of Scale:
o Resources are pooled and optimized for efficiency.
• Security Management:
o Providers offer professional-grade security, although users should remain vigilant
about potential breaches.
Challenges in Cloud Computing
• Security Concerns:
o Despite promises of secure data handling, breaches occur. For example:
▪ Evernote (2013): A security breach prompted a mass password reset for
users.
Cloud Networking:
o Refers to the networking infrastructure that enables cloud computing.
o Key components:
▪ High-performance and reliable connectivity between providers and
subscribers.
▪ Specialized private network facilities bypassing the Internet for critical traffic.
▪ Use of firewalls and security devices to enforce access control.
o Functions include linking enterprise data centers to the cloud and managing secure
access to resources.
Cloud Storage:
o A subset of cloud computing focused on remotely hosted database storage and
applications.
o Benefits:
▪ Scalability: Users can adjust storage needs without purchasing additional
hardware.
▪ Accessibility: Allows individuals and small businesses to leverage advanced
database applications without managing storage infrastructure.
Applications of Cloud Computing
• Enterprise Use: Hosting IT operations in the cloud for cost reduction and scalability.
• Individual Use: Backing up data, synchronizing devices, and sharing files using personal cloud
services.
Conclusion
Cloud computing has revolutionized the way businesses and individuals manage and access IT
resources. It offers flexibility, scalability, and cost-efficiency but requires awareness of security
challenges. Key aspects like cloud networking and storage ensure smooth operation and enhanced
user experience, making it an indispensable technology in modern computing.
Cloud Services and Types
Cloud services allow users to rent computing resources from a Cloud Service Provider (CSP) over the
Internet or private networks. These services come in three main types:
1. Software as a Service (SaaS):
• Provides ready-to-use software through the cloud.
• Accessible via web browsers, no installation needed.
• Ideal for email, document management, and customer relationship tools.
• Examples: Gmail, Salesforce.
2. Platform as a Service (PaaS):
• Offers a platform for developers to build and deploy applications.
• Includes tools like programming languages and runtime environments.
• Useful for creating custom apps without managing infrastructure.
• Examples: Google App Engine, Salesforce1.
3. Infrastructure as a Service (IaaS):
• Provides virtual hardware like servers, storage, and networks.
• Allows users to install and run their own software, including operating systems.
• Great for scalable and flexible computing.
• Examples: Amazon EC2, Microsoft Azure.
Summary
SaaS delivers software, PaaS provides development platforms, and IaaS offers basic computing
infrastructure—all tailored to different needs.