cosc 4349 and 5349 computer architecture l.
Skip this Video
Loading SlideShow in 5 Seconds..
COSC 4349 and 5349 Computer Architecture PowerPoint Presentation
Download Presentation
COSC 4349 and 5349 Computer Architecture

Loading in 2 Seconds...

play fullscreen
1 / 18

COSC 4349 and 5349 Computer Architecture - PowerPoint PPT Presentation

  • Uploaded on

COSC 4349 and 5349 Computer Architecture Fundamentals of Computer Design (Part 1) Dr. Lappoon R. Tang Overview Brief history of development of computing power – 70’s to now Evolution of machines – size, computing power, and cost Computer architecture ISA Organization Hardware Readings

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

COSC 4349 and 5349 Computer Architecture

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cosc 4349 and 5349 computer architecture

COSC 4349 and 5349Computer Architecture

Fundamentals of Computer Design (Part 1)

Dr. Lappoon R. Tang

  • Brief history of development of computing power – 70’s to now
  • Evolution of machines – size, computing power, and cost
  • Computer architecture
    • ISA
    • Organization
    • Hardware
  • Section 1.1 to Section 1.3
    • Skim over Section 1.2
so what s computer architecture about
So … What’s computer architecture about?
  • It is NOT about (although related to):
    • Programming in an assembly language
    • How the CPU works
  • It is about the following design issues:
    • How can one design the instruction set of a CPU so that it can support massive amounts of parallelism?
    • What are principles involved in designing an effective memory hierarchy (e.g. how effective is it in returning data that the CPU wants)?
    • How to design storage systems (e.g. hard disks) with good I/O performance?

Three Phases of Improvement in Processor Performance

  • Phase 2: Architectural improvement
  • along with circuit technology improvement
  • Instruction level parallelism (RISC
  • architecture)
  • Optimization of cache performance
  • Phase 3: Decline in
  • rate of improvement
  • Marginal return in
  • Phase 2 improvements
  • ILP  TLP

Phase 1:




lessons learned from history of processor development
Lessons learned from history of processor development
  • Lesson 1: Improvement in circuit design and circuit technology is important but not enough for dramatic improvement in itself
  • Lesson 2: Architectural design plays a very big role, perhaps the real role, in determining processor performance
    • Improvement in architectural design (along with circuit technology) brought about seven fold in performance upgrade than relying on improvement in circuit design alone
    • Analogy: Making a bicycle vs. turning a bicycle into a car
classes of computers brief history and lessons learned
Classes of computers: Brief history and lessons learned
  • 1960’s: large mainframe
    • Very large machine in a room with multiple operators overseeing their support
  • 1970’s: Mini-computers
    • Smaller than mainframe but still pretty big in size, used initially for scientific computing
  • 1980’s: Desktop PC or Laptop
    • Need we say more?
  • 1990’s: Very personal computing device
    • Example: PDA’s, very powerful cell phone …
  • 2020’s: Very small computing device driven by nanotechnology?
  • Lessons: Generally speaking, computing devices tend to become smaller in sizes, and yet offer more computing power.
  • Interesting fact: Laptops we have today are actually many times more powerful than a million dollar supercomputer back in the 60’s or 70’s …
computer architecture an acceptable definition
Computer Architecture: An acceptable definition
  • The conceptual design and fundamental operational structure of a computer system -- blueprint and functional description of requirements and design implementations for the various parts of a computer with a focus on the functionality of the CPU.
  • Computer architecture addresses three areas of focus:
    • Instruction set architecture: Every design details and specification regarding the set of instructions possessed by a particular family of CPU’s
    • Organization: Higher level aspects of computer design like organizational design of CPU (e.g. pipeline structure, cache size …)
    • Hardware: Low level implementation details (e.g. detailed logic design, packaging technology)
instruction set architecture isa different aspects of concern
Instruction set architecture (ISA): Different aspects of concern
  • Classes of ISA: What are different types of instruction sets?
  • Memory addressing: Byte addressing, alignment …
  • Addressing modes: What are different ways of accessing and storing an operand?
  • Types and sizes of operands: What type of data is allowed? Variety on operand sizes: 8-bit, 16-bit, …?
  • Operations: What types of instructions do we have in the ISA?
  • Control flow instructions: Branching instructions, anyone?
  • Encoding an ISA: fixed length instructions, variable length instructions?
isa different classes
ISA: Different classes
  • Primarily two types – though all ISA’s are “general-purpose register” architecture
  • 1) Register-memory ISAs
    • Instructions can contain memory operands
    • Example: the 80x86 family
  • 2) Load-store ISAs
    • Memory can only be accessed via load and store instructions
    • Example: MIPS
  • Note: All recent ISAs are load-store ISA
  • Question: Given that time on accessing memory >= time on executing several instructions, suggest reasons why we care about whether an ISA is type 1) or 2)?
isa memory addressing
ISA: Memory addressing
  • All desktop and server computers are byte addressable – each byte in the memory has a unique address
  • Issue: Aligned access or not?
    • An access to address A for an object of s byte is aligned if A mod s = 0
    • Q: If an object is 16 bit and we want aligned access, the beginning address has to be divisible by what?
  • Note: memory accesses are usually faster if operands are aligned
isa addressing modes
ISA: Addressing modes
  • Addressing mode is a way of specifying an address or a location of an operand
  • When designing an ISA, one needs to formulate all addressing modes supported by the instruction set:
    • Example: MIPS
      • Register: which register contain the operand?
      • Immediate: a constant value
      • Displacement: an offset added to a register to form a memory address
    • Example: 80x86
      • Has all the addressing modes of MIPS plus variations of the displacement mode
isa types and sizes of operands
ISA: Types and sizes of operands
  • What different data types do we have in the operands?
    • Character
    • Integer
    • Floating point numbers
  • What are different sizes of operands?
    • 8 bit (ASCII character)
    • 16 bit (Half word integer)
    • 32 bit (integer or word size data, single precision floating point number)
    • 64 bit (double precision floating point number)
    • 80 bit (extended double precision)
isa operations
ISA: Operations
  • Main concern: does the set of instruction facilitate pipelining?
  • General classes of instructions (representative of RISC architecture):
    • Data transfer
    • Arithmetic and logical
    • Control (i.e. branching)
    • Floating point
  • 80x86: Has all of the RISC classes of instructions and a lot more … which may not necessarily be a good thing …
  • Note: A RISC instruction set is generally better for pipelining
isa control flow instructions
ISA: Control flow instructions
  • Every ISA should have the following set of control flow instructions at a minimum:
    • Conditional branches
    • Unconditional jumps
    • Procedure calls
    • Return from procedure calls
isa encoding an isa
ISA: Encoding an ISA
  • Instruction length: Fixed or variable?
  • Fixed length
    • Pro: simplifies instruction decoding
    • Con: a compiled program is bigger in size
    • Example: MIPS
  • Variable length
    • Pro: a compiled program is smaller
    • Con: complicates instruction decoding?
    • Example: 80x86
computer architecture organization
Computer Architecture: Organization
  • “High level” aspects of a computer’s design
    • Memory system
    • Design of the CPU (like how the control unit, ALU, and so on are implemented)
  • Two computers with the same instruction set can have very different organizations
    • Example: AMD Opteron 64 and Intel Pentium 4 have the same instruction set but they differ in pipeline and cache organizations
computer architecture hardware
Computer Architecture: Hardware
  • Concerns detailed logic design at the circuit level and packaging technology
  • Two computers can have same ISA and even nearly identical organizations but different hardware implementation
    • Example: P4 and Mobile P4 are basically the same except for clock rates and memory systems