Вы находитесь на странице: 1из 25

UNIT – I

BASIC STRUCTURE OF A
COMPUTER SYSTEM

S. Poornima, ASP/IT
Introduction
• Architecture
– System attributes that have a direct impact on the logical execution of
a program
– Attributes visible to the programmer
• Instruction set, number of bits used for data representation, I/O
mechanisms, addressing techniques.

– e.g. Is there a multiply l instruction?

• Organization
– How features are implemented.
– Physical details that are transparent to a programmer
• Control signals, interfaces, memory technology.

– e.g. Is there a hardware multiply unit or is it done by repeated


addition?
Classes of Computers
• Desktop computers

– General purpose, variety of software

– Subject to cost/performance tradeoff

• Server computers

– Network based, multiple users

– High capacity, performance, reliability

– Range from small servers to building sized

• Supercomputers

– High-end scientific and engineering calculations

– Highest capability but represent a small fraction of the overall computer market

• Embedded computers

– Hidden as components of systems

– Stringent power/performance/cost constraints


Classes of Computers (PostPC Era)
• Personal Mobile Device (PMD)
– e.g. smart phones, tablet computers

– Operated on battery with wireless connectivity to internet

– No longer have keyboard/ mouse

– Rely on touch sensitive screen or speech input

– Emphasis on energy efficiency and real-time

• Clusters / Warehouse Scale Computers


– Used for “Software as a Service (SaaS)”

– Emphasis on availability and price-performance

– Sub-class: Supercomputers, emphasis: floating-point performance and fast


internal networks

• Embedded Computers
– Emphasis: price
Performance
• Algorithm
– Determines number of operations executed

• Programming language, compiler, architecture


– Determine number of machine instructions executed per operation

• Processor and memory system


– Determine how fast instructions are executed

• I/O system (including OS)


– Determines how fast I/O operations are executed
Computer
• Application software
– Written in high-level language
• Word Processor, Internet, Games, etc.

• System software
– Compiler: translates HLL code to machine code

– Operating System: service code


• Handling input/output

• Managing memory and storage

• Scheduling tasks & sharing resources

• Hardware
– Processor, memory, I/O controllers
Levels of Program Code
• High-level language
– Level of abstraction closer to
problem domain

– Provides for productivity and


portability

• Assembly language
– Textual representation of
instructions

• Hardware representation
– Binary digits (bits)

– Encoded instructions and data


Instruction Set Architecture (ISA)

Software

instruction set

Hardware

– A critical interface between HW and SW


• Example: MIPS, SPARC
– Types: RISC, CISC, VLIW, Superscalar
– Desired properties
• Convenience (from software side)
• Efficiency (from hardware side)
ISA
• A set of assembly language instructions (ISA) provides a
link between software and hardware.

• Defines registers

• Defines data transfer modes between registers, memory


and I/O
Components of a Computer
• ALU: Performs ALU operations

• Control: guides the operation of other components based on


the user instructions

• Input/output includes
– User-interface devices
• Display, keyboard, mouse

– Storage devices
• Hard disk, CD/DVD, flash

– Network adapters
• For communicating with other computers
Functional units of a computer
Input unit accepts Arithmetic and logic unit(ALU):
information: Performs the desired
•Human operators, operations on the input
•Electromechanical devices information as determined
•Other computers by instructions in the memory

Memory Arithmetic
Input Instr1 & Logic
Instr2
Instr3
Data1
Output Data2 Control

I/O Processor
Stores
Output unit sends information: Control unit coordinates
results of processing: •Instructions, various actions
•To a monitor display, •Data •Input,
•To a printer •Output
•Processing
Technology Trends
• Electronics technology
continues to evolve
– Increased capacity and
performance
– Reduced cost

DRAM capacity

Year Technology Relative performance/cost


1951 Vacuum tube 1
1965 Transistor 35
1975 Integrated circuit (IC) 900
1995 Very large scale IC (VLSI) 2,400,000
2005 Ultra large scale IC 6,200,000,000
Computer Components: Top-Level View
Basic Operational Concepts
A Partial Program Execution Example
Eight Great Ideas in Computer
Architecture
1. Design for Moore’s Law
It states that integrated circuit resources double every 18–24
months. Computer architects must anticipate where the
technology will be when the design finishes rather than design for
where it starts.

Known as:
• Law of exponential growth
or
• Accelerating change law
2. Use Abstraction to Simplify Design
A major productivity technique for hardware and software
is to use abstractions to represent the design at different
levels of representation; lower-level details are hidden to
offer a simpler model at higher levels.

3. Make the Common Case Fast


Tend to enhance performance better than
optimizing the rare case.
• Favoring Frequent cases over infrequent cases
4. Performance via Parallelism
Computer architects have offered designs
that get more performance by performing
operations in parallel.

5. Performance via Pipelining


A particular pattern of parallelism is so
prevalent in computer architecture
6. Performance via Prediction
It can be faster on average to guess and start working rather
than wait until you know for sure

7. Hierarchy of Memories
Fast, expensive
(small numbers),
Containing the fastest, smallest, and most volatile
registers
expensive memory per bit at the top of the
main memory
hierarchy and the slowest, largest, and
disk storage
cheapest per bit at the bottom. Slow, cheap
(large numbers),
magnetic tapes
non-volatile
8. Dependability via Redundancy
Computers not only need to be fast; they need to be
dependable. Since any physical device can fail, we make
systems dependable by including redundant components
that can take over when a failure occurs and to help detect
failures.
Self Assessment
• Functional components of Computer?
• Define ISA?
• What is an Assembler?
• What is an instruction?
• What is system software?
• Purpose of MAR?
• What is Program Counter (PC)?
• Hierarchy of memory?
• Difference between RISC and CISC.

Вам также может понравиться