Title: Class
18-11-2007
(Lecture 2)
CS8421 Computing SystemsDr. Jose M. Garrido
Class Will Start Momentarily
2Real-Time Applications and Examples
- Vehicle systems
- Traffic control
- Process control
- Medical systems
- Military RT systems
- Manufacturing Robots systems
- Security control
- Telecommunication systems
- Computer games
- Multimedia systems
- Household appliance monitoring control
- Building energy control
3Properties of Real-Time Systems
- Timeliness - the system must perform operations
in timely manner - Reactiveness - the system continuously responds
to (random) events - Concurrency - multiple simultaneous activities
are carried out - Distribution - tasks cooperate in multiple
computing sites
4RTS Time Issues
- The goal is to reduce two specific intervals
- service time - the interval taken to compute a
response to a given input - latency - the interval between the time of
occurrence of an input and the time at which it
starts being serviced - The sum of these two intervals represents the
response time. This must be shorter than the
deadline for this type of input.
5Architecture
- Architecture refers to the attributes visible to
the programmer - Instruction set
- Number of bits used for data representation
- I/O mechanisms
- Addressing techniques.
- Is there a multiply instruction?
6Organization
- Organization refers to how features are
implemented - Control signals
- Interfaces
- Memory technology.
- Is there a hardware multiply unit or is it done
by repeated addition?
7Architecture Organization
- All Intel x86 family share the same basic
architecture - The IBM System/370 family share the same basic
architecture - This gives code compatibility
- At least backwards
- Organization differs between different versions
8Structure Function
- Structure is the way in which components relate
to each other - Function is the operation of individual
components as part of the structure
9Computer Architecture Overview
- Components of a computer system
- CPU
- Main Memory
- Secondary Storage
- I/O Devices
- Bus
- Operating System
10General System Structure
11Computer Functions
- The computer functions are
- Data processing
- Data storage (memory)
- Data movement (I/O)
- Control
12Computer Functional View
13Data Movement
14Data Storage
15Processing from/to Storage
16Processing from Storage to I/O
17Structure - Top Level
Computer
Peripherals
Central Processing Unit
Main Memory
Computer
Systems Interconnection
Input Output
Communication lines
18Structure - The CPU
CPU
Arithmetic and Logic Unit
Computer
Registers
I/O
CPU
System Bus
Internal CPU Interconnection
Memory
Control Unit
19Structure - The Control Unit
Control Unit
CPU
Sequencing Logic
ALU
Control Unit
Internal Bus
Control Unit Registers and Decoders
Registers
Control Memory
20ENIAC - background
- Electronic Numerical Integrator And Computer
- Eckert and Mauchly
- University of Pennsylvania
- Trajectory tables for weapons
- Started 1943
- Finished 1946
- Too late for war effort
- Used until 1955
21ENIAC - Details
- Decimal (not binary)
- 20 accumulators of 10 digits
- Programmed manually by switches
- 18,000 vacuum tubes
- 30 tons
- 15,000 square feet
- 140 kW power consumption
- 5,000 additions per second
22von Neumann/Turing
- Stored Program concept
- Main memory store programs and data
- ALU operating on binary data and binary code
- Control unit interpreting instructions from
memory and executing - Input and output equipment operated by control
unit - Princeton Institute for Advanced Studies
- IAS
- Completed 1952
23Structure of von Neumann Machine
24IAS - details
- 1000 x 40 bit words
- Binary number
- 2 x 20 bit instructions
- Set of registers (storage in CPU)
- Memory Buffer Register
- Memory Address Register
- Instruction Register
- Instruction Buffer Register
- Program Counter
- Accumulator
- Multiplier Quotient
25Structure of IAS detail
26Functioning of the IAS Computer
- Repetitively performing an instruction cycle
- An instruction cycle has two subcycles
- Fetch cycle the opcode of instruction and its
address are loaded into registers IR and MAR - Execute cycle -- interpretation of the opcode
and execution of the instruction
27Instructions of the IAS Computer
- The IAS computer had 21 instructions
- These instructions are grouped as
- Data transfer
- Unconditional branch
- Conditional branch
- Arithmetic
- Address modify
28Commercial Computers
- 1947 - Eckert-Mauchly Computer Corporation
- UNIVAC I (Universal Automatic Computer)
- US Bureau of Census 1950 calculations
- Became part of Sperry-Rand Corporation
- Late 1950s - UNIVAC II
- Faster
- More memory
29IBM
- Punched-card processing equipment
- 1953 - the 701
- IBMs first stored program computer
- Scientific calculations
- 1955 - the 702
- Business applications
- Lead to 700/7000 series
- The IBM 7094 introduced the data channel, a
smaller specialized I/O processor
30Transistors
- Replaced vacuum tubes
- Smaller
- Cheaper
- Less heat dissipation
- Solid State device
- Made from Silicon (Sand)
- Invented 1947 at Bell Labs
- William Shockley et al.
31Transistor Based Computers
- Second generation machines
- NCR RCA produced small transistor machines
- IBM 7000
- DEC - 1957
- Produced PDP-1
32Microelectronics
- Literally - small electronics
- A computer is made up of gates, memory cells and
interconnections - These can be manufactured on a semiconductor
- e.g. silicon wafer
- Used in the third generation of computers
33Generations of Electronics
- Vacuum tube - 1946-1957
- Transistor - 1958-1964
- Small scale integration - 1965 on
- Up to 100 devices on a chip
- Medium scale integration - to 1971
- 100-3,000 devices on a chip
- Large scale integration - 1971-1977
- 3,000 - 100,000 devices on a chip
- Very large scale integration - 1978 to date
- 100,000 - 100,000,000 devices on a chip
- Ultra large scale integration
- Over 100,000,000 devices on a chip
34Moores Law
- Increased density of components on chip
- Gordon Moore - cofounder of Intel
- Number of transistors on a chip will double every
year - Since 1970s development has slowed a little
- Number of transistors doubles every 18 months
- Cost of a chip has remained almost unchanged
- Higher packing density means shorter electrical
paths, giving higher performance - Smaller size gives increased flexibility
- Reduced power and cooling requirements
- Fewer interconnections increases reliability
35Growth in CPU Transistor Count
36IBM 360 series
- 1964
- Replaced ( not compatible with) 7000 series
- First planned family of computers
- Similar or identical instruction sets
- Similar or identical O/S
- Increasing speed
- Increasing number of I/O ports (i.e. more
terminals) - Increased memory size
- Increased cost
- Multiplexed switch structure
37DEC PDP-8
- 1964
- First minicomputer
- Did not need air conditioned room
- Small enough to sit on a lab bench
- 16,000
- 100k for IBM 360
- Embedded applications OEM
- BUS STRUCTURE
38DEC - PDP-8 Bus Structure
I/O Module
Main Memory
I/O Module
Console Controller
CPU
OMNIBUS
39Semiconductor Memory
- 1970
- Fairchild
- Size of a single core
- i.e. 1 bit of magnetic core storage
- Holds 256 bits
- Non-destructive read
- Much faster than core
- Capacity approximately doubles each year
40Intel
- 1971 - 4004
- First microprocessor
- All CPU components on a single chip
- 4 bit
- Followed in 1972 by 8008
- 8 bit
- Both designed for specific applications
- 1974 - 8080
- Intels first general purpose microprocessor
41Improving Speed
- Pipelining
- On board cache
- On board L1 L2 cache
- Branch prediction
- Data flow analysis
- Speculative execution
42Performance Mismatch
- Processor speed increased
- Memory capacity increased
- Memory speed lags behind processor speed
43DRAM and Processor Characteristics
44Trends in DRAM use
45Pentium Evolution (1)
- 8080
- first general purpose microprocessor
- 8 bit data path
- Used in first personal computer Altair
- 8086
- much more powerful
- 16 bit
- instruction cache, prefetch few instructions
- 8088 (8 bit external bus) used in first IBM PC
- 80286
- 16 Mbyte memory addressable
- up from 1Mb
- 80386
- 32 bit
- Support for multitasking
46Pentium Evolution (2)
- 80486
- sophisticated powerful cache and instruction
pipelining - built in maths co-processor
- Pentium
- Superscalar
- Multiple instructions executed in parallel
- Pentium Pro
- Increased superscalar organization
- Aggressive register renaming
- branch prediction
- data flow analysis
- speculative execution
47Pentium Evolution (3)
- Pentium II
- MMX technology
- graphics, video audio processing
- Pentium III
- Additional floating point instructions for 3D
graphics - Pentium 4
- Note Arabic rather than Roman numerals
- Further floating point and multimedia
enhancements - Itanium
- 64 bits
48PowerPC
- IBM, Motorola, Apple
- Used in Apple Macintosh
- RISC architecture
- 601
- 603
- 604
- 620
- 740/750 (G3)
- G4
- G5
49What is a Program?
- A sequence of steps (instructions?)
- For each step, an arithmetic or logical operation
is carried out - For each operation, a different set of control
signals is needed
50Function of Control Unit
- For each operation a unique operation code is
provided - e.g. ADD, MOVE
- A hardware segment accepts the code and issues
the control signals - This is the foundation for a computer!
51Components
- The Control Unit and the Arithmetic and Logic
Unit constitute the Central Processing Unit - Data and instructions need to get into the system
and results out - Input/output
- Temporary storage of code and results is needed
- Main memory
52Components Top Level View
53Instruction Cycle
54Fetch Cycle
- Program Counter (PC) holds address of next
instruction to fetch - Processor fetches instruction from memory
location pointed to by PC - Increment PC
- Unless told otherwise
55Execute Cycle
- Instruction loaded into Instruction Register (IR)
- Processor interprets instruction and performs
required actions
56Categories of Actions
- Processor-memory
- data transfer between CPU and main memory
- Processor I/O
- Data transfer between CPU and I/O module
- Processing
- Some arithmetic or logical operation on data
- Control
- Alteration of sequence of operations
- e.g. jump
- Combination of above
57Fetch/Decode/Execute/Interrupt Cycle
- Instruction Fetch. The number of processor/bus
cycles required depends on the width of the
instruction and the width of the bus - Decode. Determine what the instruction will
actually do, in particular, what operands are
required before the instruction can execute - Operand Fetch - multiple operands may require
multiple fetches - Execute Instruction
- Check for Interrupts.
58Example of Execution
- The processor has a single data register, the
accumulator, AC - Both instructions and data are 16 bits long
- Instruction format
- 4 bits for the opcode, for 16 different opcodes
- 12 bits for the address (4K)
- Opcodes 1load AC, 2store AC, 5 add to AC
- Instruction format using Hex notation
59Example of Program Execution
60End of Lecture
- End
- Of
- Todays
- Lecture.
- 8-21-07