CBSSS 2002: DeHon Architecture as Interface André DeHon Friday, June 21, 2002.

Slides:



Advertisements
Similar presentations
1 Lecture 18: RAID n I/O bottleneck n JBOD and SLED n striping and mirroring n classic RAID levels: 1 – 5 n additional RAID levels: 6, 0+1, 10 n RAID usage.
Advertisements

MEMORY popo.
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
1 Advanced Computer Architecture Limits to ILP Lecture 3.
CSCI 232© 2005 JW Ryder1 Cache Memory Systems Introduced by M.V. Wilkes (“Slave Store”) Appeared in IBM S360/85 first commercially.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 25: April 16, 2007 Defect and Fault Tolerance.
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day1:
Computer ArchitectureFall 2008 © CS : Computer Architecture Lecture 22 Virtual Memory (1) November 6, 2008 Nael Abu-Ghazaleh.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
1 Lecture 16B Memories. 2 Memories in General Computers have mostly RAM ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
1 Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day8: October 18, 2000 Computing Elements 1: LUTs.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
CS294-6 Reconfigurable Computing Day 3 September 1, 1998 Requirements for Computing Devices.
Overview: Memory Memory Organization: General Issues (Hardware) –Objectives in Memory Design –Memory Types –Memory Hierarchies Memory Management (Software.
1  2004 Morgan Kaufmann Publishers Chapter Seven.
1 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value is stored as a charge.
1 Lecture 16B Memories. 2 Memories in General RAM - the predominant memory ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
Chapter 6 Memory and Programmable Logic Devices
1 CSE SUNY New Paltz Chapter Seven Exploiting Memory Hierarchy.
Storage System: RAID Questions answered in this lecture: What is RAID? How does one trade-off between: performance, capacity, and reliability? What is.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Introduction CSE 410, Spring 2008 Computer Systems
Microprocessor-based systems Curse 7 Memory hierarchies.
Chapter Two Memory organisation Examples of operating system n Windows 95/98/2000, Windows NT n Unix, Linux, n VAX/VMS IBM MVS n Novell Netware and Windows.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 9: February 24, 2014 Operator Sharing, Virtualization, Programmable Architectures.
1 Computer Architecture Research Overview Rajeev Balasubramonian School of Computing, University of Utah
0 High-Performance Computer Architecture Memory Organization Chapter 5 from Quantitative Architecture January 2006.
Memory Intro Computer Organization 1 Computer Science Dept Va Tech March 2006 ©2006 McQuain & Ribbens Built using D flip-flops: 4-Bit Register Clock input.
Computer Organization and Design Computer Abstractions and Technology
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day14:
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Computer Architecture And Organization UNIT-II General System Architecture.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 8: February 4, 2004 Fault Detection.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Operating Systems Lecture 14 Segments Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software Engineering.
Basic Memory Management 1. Readings r Silbershatz et al: chapters
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /3/2013 Lecture 9: Memory Unit Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
Caltech CS184 Spring DeHon 1 CS184b: Computer Architecture (Abstractions and Optimizations) Day 17: May 9, 2005 Defect and Fault Tolerance.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
1 Chapter Seven CACHE MEMORY AND VIRTUAL MEMORY. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4.
1  1998 Morgan Kaufmann Publishers Chapter Seven.
CALTECH cs184c Spring DeHon CS184c: Computer Architecture [Parallel and Multithreaded] Day 16: May 31, 2001 Defect and Fault Tolerance.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
What is it and why do we need it? Chris Ward CS147 10/16/2008.
1 Chapter Seven. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 11: January 31, 2005 Compute 1: LUTs.
CBSSS 2002: DeHon Universal Programming Organization André DeHon Tuesday, June 18, 2002.
CDA 5155 Virtual Memory Lecture 27. Memory Hierarchy Cache (SRAM) Main Memory (DRAM) Disk Storage (Magnetic media) CostLatencyAccess.
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
Memory Management memory hierarchy programs exhibit locality of reference - non-uniform reference patterns temporal locality - a program that references.
Memory Hierarchy and Cache. A Mystery… Memory Main memory = RAM : Random Access Memory – Read/write – Multiple flavors – DDR SDRAM most common 64 bit.
Introduction CSE 410, Spring 2005 Computer Systems
15-740/ Computer Architecture Lecture 3: Performance
The Goal: illusion of large, fast, cheap memory
Architecture & Organization 1
Computer Architecture & Operations I
Architecture & Organization 1
Chapter 5: Computer Systems Organization
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
COMS 361 Computer Organization
Chapter 4 The Von Neumann Model
Dr. Clincy Professor of CS
Presentation transcript:

CBSSS 2002: DeHon Architecture as Interface André DeHon Friday, June 21, 2002

CBSSS 2002: DeHon Previously How do we build efficient, programmable machines How we mix –Computational complexity –W/ physical landscape To engineer computations

CBSSS 2002: DeHon First 20 years… For the first 20 years of computing –That was all that mattered Built machine –Machines were scarce –Wrote software for that machine Each machine required new software OK, for small programs –Small uses of computation…

CBSSS 2002: DeHon But… Technology advanced –Relays, tubes, discrete transistors, TTL, VLSI…. The uses for automated computing grew We had a “Software Problem” –Couldn’t (re)write software fast enough

CBSSS 2002: DeHon Questions How do we produce a growing amount of software for increasingly new generations of machines? How do we preserve software while exploiting new technology?

CBSSS 2002: DeHon Ideas Define model abstracted from the details of the machine Write software to that model: 1.Translate from model to machine (compiler) 2.Preserve abstraction while changing technology (architecture)

CBSSS 2002: DeHon Today Architecture – the visible interface between the software and the hardware –What the programmer (compiler) sees the machine as –The model of how the machine behaves –Abstracted from the details of how it may accomplish its task –What should be exposed vs. hidden?

CBSSS 2002: DeHon Level Different level than first three lectures –Complexity management –Vs. existential and engineering

CBSSS 2002: DeHon Today Architecture Examples –Nor2 –Memory –Fault

CBSSS 2002: DeHon Model: nor2 netlist Model of Computation: –Acyclic graph of nor2 gates –Repeat: Receive input vector to the graph Produce an output some time later Signal completion

CBSSS 2002: DeHon Represent Represent computation as a set of input pairs –Give each gate a number –For each gate, list its pair of inputs I0 I2 I1 I3 I2 I

CBSSS 2002: DeHon nor2 architecture This is the visible interface –List of gate inputs Maybe the hardware reads this directly But, hardware free to implement in any fashion I0 I2 I1 I3 I2 I

CBSSS 2002: DeHon Microarchitecture Microarchitecture – organization of the machine below the visible level Must provide same meaning (semantics) as the visible architecture model But can implement it any way that gets the job done

CBSSS 2002: DeHon nor2-  arch: Temporal Temporal gate  arch satisfies arch:

CBSSS 2002: DeHon nor2-  arch: Spatial As does our spatial array:

CBSSS 2002: DeHon nor2-  arch: Superscalar Or even 2-gate, time-multiplexed:

CBSSS 2002: DeHon Satisfying Architectures All provide the same meaning –Support the same abstraction –Produce the same visible results Abstract away –Timing done in 20 nanoseconds done in 2 milliseconds –Internal structure (placement, parallelism)

CBSSS 2002: DeHon Traditional Traditional “architecture” model –ISA – Instruction Set Architecture (e.g. x86) –Model: sequential evaluation of instructions –Define meaning of the instructions

CBSSS 2002: DeHon Arch vs.  arch Model says: – issue one instruction at a time Modern machines: –Issue more than one instruction at a time Like “superscalar” nor2 Superscalar = faster than single issue –But preserves the semantics of sequential issue

CBSSS 2002: DeHon Benefit Preserve our software investment –Same programs continue to run While exploiting more and faster hardware which technology provides More parallelism over time

CBSSS 2002: DeHon Note Conventional model is of a sequential machine –Model serves to limit parallelism, use of more hardware nor2 model was of a parallel evaluation –Parallelism exposed –Admits to large-hardware implementation –Perhaps harder to optimize for small/sequential implementations…

CBSSS 2002: DeHon Memory Models

CBSSS 2002: DeHon Memory Abstraction Give it: operation, address, data(?) Changes data at address (if write) Gives back data at address (if read) Allow memory to signal when done –Abstract out timing

CBSSS 2002: DeHon Memory Abstraction Memory abstraction simple But we do many things “behind the scenes” to optimize –Size/speed –Organization –failure

CBSSS 2002: DeHon Issue: Memory Size Larger memories are slower: –Simple physics: In M-bit memory Some bits are  M distance from interface –In fact most are that far Speed of light limits travel speed As M increases, memory delay increases But, we want to address more stuff –Solve larger problems

CBSSS 2002: DeHon Memory Acceleration Idea Since: –Small memories are fast –Large memories are slow –Need access to large amount of data Use both: –Small memory to hold some things Responds quickly –Large memory to hold the rest Response more slowly

CBSSS 2002: DeHon Cache  arch

CBSSS 2002: DeHon Memory Acceleration Exploit Model –Signal when operation complete –Access to small memory returns quickly –Access to large memory returns more slowly –Always get correct result To the extent commonly accessed stuff in fast memory  runs faster

CBSSS 2002: DeHon Cache  arch More complicated implementation But implementation details invisible to program –Size of small/large memory –Access speeds

CBSSS 2002: DeHon Memory Optimization May do this several levels –Modern machines have 3—4 levels of memory Use this to pretend have more memory –Virtual memory -- use disk as largest “memory” Can get very complicated –But offers a single, simple, visible architecture

CBSSS 2002: DeHon Issue: Perfection Large memories  more likely to have faulty components –Simple probability Assume some probability of a defect per memory cell Increase memory cells Probability all are functional? But we want larger memories –And our model says the device is perfect

CBSSS 2002: DeHon General Idea Provide extra memories “Program” device to substitute good resources for bad Export device which meets model –Appears perfect

CBSSS 2002: DeHon Row Redundancy Provide extra memory rows Mask faults by avoiding bad rows –Rows with bad bits Trick: –have address decoder substitute spare rows in for faulty rows use fuses to program

CBSSS 2002: DeHon Spare Row

CBSSS 2002: DeHon Row Redundancy [diagram from Keeth&Baker 2001]

CBSSS 2002: DeHon Memory Arch vs.  arch Microarchitecture more complicated Changes from implementation to implementation –Number of spares Increase with device size Decrease with process maturity –Invisible to architecture

CBSSS 2002: DeHon Issue: Dynamic Faults What happens if a bit changes dynamically? –Hit by an alpha particle? Deplete charge in cell Memory gives wrong answer Not providing model

CBSSS 2002: DeHon Fault Approach Keep redundant information in memory Simplest case: keep multiple copies –Read values and take majority –Return majority from memory –Probability of m-simultaneous faults low –Pick redundancy appropriately

CBSSS 2002: DeHon Redundant Memory

CBSSS 2002: DeHon Memory Arch vs.  arch Model remains simple –Perfect memory Microarchitecture complex –Write multiple copies –Compare copies –Correct Microarchitecture addresses/hides physical challenges –Non-zero probability of bit faults

CBSSS 2002: DeHon Better Encodings In practice, don’t have to keep many copies Encode many bits sparsely –E.g. use 5 bit codes for 4 bits –E.g. parity code Detect single bit errors –Better: error correcting codes which will Correct single bit errors Detect many multi-bit errors E.g. conventional memory systems 64b in 72b

CBSSS 2002: DeHon Alternate Fault Model

CBSSS 2002: DeHon Two Common Defect Models Memory Model (just discussed) Disk Drive Model

CBSSS 2002: DeHon Memory Chips Provide model in hardware of perfect component Model of perfect memory at capacity X Use redundancy in hardware to provide perfect model Yielded capacity fixed –discard part if not achieve rated capacity

CBSSS 2002: DeHon Disk Drives Expose faults to software –software model expects faults –manages by masking out in software Don’t expect to be able to use all sectors (bytes) OS only allows you to to access the good ones Bad ones look like they are in use by someone else –yielded capacity varies with defects

CBSSS 2002: DeHon Wrapping Up

CBSSS 2002: DeHon “Architecture” “attributes of a system as seen by the programmer” “conceptual structure and functional behavior” Defines the visible interface between the hardware and software Defines the semantics of the program (machine code)

CBSSS 2002: DeHon Architectural Abstraction Define the fixed points Stable abstraction to programmer Admit to variety of implementation Ease adoption/exploitation of new hardware Reduce human effort Reduces the “software problem”

CBSSS 2002: DeHon Enables Allow devices to scale Allow software to survive across and benefit from device scaling Allow us to optimize implementations Allow us to hide physical challenges from software