cs8421_lect_02_fall0..
Upcoming SlideShare
Loading in...5
×
 

cs8421_lect_02_fall0..

on

  • 905 views

 

Statistics

Views

Total Views
905
Views on SlideShare
905
Embed Views
0

Actions

Likes
0
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

cs8421_lect_02_fall0.. cs8421_lect_02_fall0.. Presentation Transcript

  • 8-11-2007
    • Class
        • Will
            • Start
            • Momentarily…
    (Lecture 2) CS8421 Computing Systems Dr. Jose M. Garrido
  • Real-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
  • Properties 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
  • RTS 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.
  • Architecture
    • 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?
  • Organization
    • 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?
  • Architecture & 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
  • Structure & Function
    • Structure is the way in which components relate to each other
    • Function is the operation of individual components as part of the structure
  • Computer Architecture Overview
    • Components of a computer system:
    • CPU
    • Main Memory
    • Secondary Storage
    • I/O Devices
    • Bus
    • Operating System
  • General System Structure
  • Computer Functions
    • The computer functions are:
    • Data processing
    • Data storage (memory)
    • Data movement (I/O)
    • Control
  • Computer Functional View
  • Data Movement
  • Data Storage
  • Processing from/to Storage
  • Processing from Storage to I/O
  • Structure - Top Level Computer Main Memory Input Output Systems Interconnection Peripherals Communication lines Central Processing Unit Computer
  • Structure - The CPU Computer Arithmetic and Logic Unit Control Unit Internal CPU Interconnection Registers CPU I/O Memory System Bus CPU
  • Structure - The Control Unit CPU Control Memory Control Unit Registers and Decoders Sequencing Logic Control Unit ALU Registers Internal Bus Control Unit
  • ENIAC - 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
  • ENIAC - 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
  • von 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
  • Structure of von Neumann Machine
  • IAS - 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
  • Structure of IAS – detail
  • Functioning 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
  • Instructions of the IAS Computer
    • The IAS computer had 21 instructions
    • These instructions are grouped as:
      • Data transfer
      • Unconditional branch
      • Conditional branch
      • Arithmetic
      • Address modify
  • Commercial 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
  • IBM
    • Punched-card processing equipment
    • 1953 - the 701
      • IBM’s 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
  • Transistors
    • Replaced vacuum tubes
    • Smaller
    • Cheaper
    • Less heat dissipation
    • Solid State device
    • Made from Silicon (Sand)
    • Invented 1947 at Bell Labs
    • William Shockley et al.
  • Transistor Based Computers
    • Second generation machines
    • NCR & RCA produced small transistor machines
    • IBM 7000
    • DEC - 1957
      • Produced PDP-1
  • Microelectronics
    • 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
  • Generations 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
  • Moore’s Law
    • Increased density of components on chip
    • Gordon Moore - cofounder of Intel
    • Number of transistors on a chip will double every year
    • Since 1970’s 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
  • Growth in CPU Transistor Count
  • IBM 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
  • DEC 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
  • DEC - PDP-8 Bus Structure OMNIBUS Console Controller CPU Main Memory I/O Module I/O Module
  • Semiconductor 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
  • Intel
    • 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
      • Intel’s first general purpose microprocessor
  • Improving Speed
    • Pipelining
    • On board cache
    • On board L1 & L2 cache
    • Branch prediction
    • Data flow analysis
    • Speculative execution
  • Performance Mismatch
    • Processor speed increased
    • Memory capacity increased
    • Memory speed lags behind processor speed
  • DRAM and Processor Characteristics
  • Trends in DRAM use
  • Pentium 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
  • Pentium 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
  • Pentium 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
  • PowerPC
    • IBM, Motorola, Apple
    • Used in Apple Macintosh
    • RISC architecture
      • 601
      • 603
      • 604
      • 620
      • 740/750 (G3)
      • G4
      • G5
  • What 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
  • Function 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!
  • Components
    • 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
  • Components: Top Level View
  • Instruction Cycle
    • Two steps:
      • Fetch
      • Execute
  • Fetch 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
  • Execute Cycle
    • Instruction loaded into Instruction Register (IR)
    • Processor interprets instruction and performs required actions
  • Categories 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
  • Fetch/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.
  • Example 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: 1=load AC, 2=store AC, 5= add to AC
    • Instruction format using Hex notation
  • Example of Program Execution
  • End of Lecture
    • End
    • Of
    • Today’s
    • Lecture.
    • 8-21-07