1 / 18

COSC 4349 and 5349 Computer Architecture

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

ryanadan
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COSC 4349 and 5349Computer Architecture Fundamentals of Computer Design (Part 1) Dr. Lappoon R. Tang

  2. 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

  3. Readings • Section 1.1 to Section 1.3 • Skim over Section 1.2

  4. 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?

  5. 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: Micro-processor technology improvement

  6. 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

  7. 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 …

  8. 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)

  9. 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?

  10. 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)?

  11. 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

  12. 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

  13. 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)

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

More Related