Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 9: February 24, 2014 Operator Sharing, Virtualization, Programmable Architectures.

Slides:



Advertisements
Similar presentations
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 14: March 19, 2014 Compute 2: Cascades, ALUs, PLAs.
Advertisements

Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day17: November 20, 2000 Time Multiplexing.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 21: April 2, 2007 Time Multiplexing.
Traffic Light Behavior IF A=1 AND B=0 Car Sensors B A.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day8: October 18, 2000 Computing Elements 1: LUTs.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 9: February 7, 2007 Instruction Space Modeling.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 3: January 26, 2009 Scheduled Operator Sharing.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 13: February 26, 2007 Interconnect 1: Requirements.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day4: October 4, 2000 Memories, ALUs, and Virtualization.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 4: January 22, 2007 Memories.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 23: April 9, 2007 Control.
Penn ESE Spring DeHon 1 FUTURE Timing seemed good However, only student to give feedback marked confusing (2 of 5 on clarity) and too fast.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 5: January 24, 2007 ALUs, Virtualization…
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 12: February 21, 2007 Compute 2: Cascades, ALUs, PLAs.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 11: March 3, 2014 Instruction Space Modeling 1.
Computer Architecture and Organization Introduction.
Computer Science 210 Computer Organization The von Neumann Architecture.
CBSSS 2002: DeHon Costs André DeHon Wednesday, June 19, 2002.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 3: September 3, 2014 Gates from Transistors.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 9, 2015 Scheduled Operator Sharing.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 7: February 6, 2012 Memories.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 7: January 24, 2003 Instruction Space.
Computer Architecture And Organization UNIT-II General System Architecture.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Computer Architecture 2 nd year (computer and Information Sc.)
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 5: February 1, 2010 Memories.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 20, 2010 Universality, Gates, Logic Work Preclass Exercise.
ALU (Continued) Computer Architecture (Fall 2006).
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 3: January 16, 2013 Scheduled Operator Sharing.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 6: September 10, 2014 Restoration.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 5: January 17, 2003 What is required for Computation?
Penn ESE534 Spring DeHon 1 ESE534 Computer Organization Day 9: February 13, 2012 Interconnect Introduction.
Caltech CS184 Winter DeHon CS184a: Computer Architecture (Structure and Organization) Day 4: January 15, 2003 Memories, ALUs, Virtualization.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2012 Synchronous Circuits.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 11: February 20, 2012 Instruction Space Modeling.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 8: February 19, 2014 Memories.
Logic Gates Dr.Ahmed Bayoumi Dr.Shady Elmashad. Objectives  Identify the basic gates and describe the behavior of each  Combine basic gates into circuits.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 22: April 16, 2014 Time Multiplexing.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
ESE532: System-on-a-Chip Architecture
ESE532: System-on-a-Chip Architecture
ESE534 Computer Organization
Computer Organization & Design Microcode for Control Sec. 5
ESE532: System-on-a-Chip Architecture
CS140 Lecture 03: The Machinery of Computation: Combinational Logic
ESE532: System-on-a-Chip Architecture
Processor (I).
ESE534: Computer Organization
ESE534: Computer Organization
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
ESE 150 – Digital Audio Basics
ESE534: Computer Organization
ESE534: Computer Organization
ESE535: Electronic Design Automation
ESE534: Computer Organization
Review: The whole processor
Chapter 4 The Von Neumann Model
Presentation transcript:

Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 9: February 24, 2014 Operator Sharing, Virtualization, Programmable Architectures

Preclass Parity How many gates? Draw solutions Penn ESE534 Spring DeHon 2

Preclass xor2 in nor2s xor2(a,b) = /xnor2(a,b) = /(/a*/b+a*b) Penn ESE534 Spring DeHon 3

Preclass xor3 in nor2s Xor3(a,b,c)=xor2(xor2(a,b),c) Penn ESE534 Spring DeHon 4

5 Previously Pipelining – reuse in time for same operation Memory Memories pack state compactly –densely

Penn ESE534 Spring DeHon 6 What is Importance of Memory? Radical Hypothesis: –Memory is simply a very efficient organization which allows us to store data compactly (at least, in the technologies we’ve seen to date) –A great engineering trick to optimize resources Alternative: –memory is a primary Day 8

Penn ESE534 Spring DeHon 7 Today Operator Sharing (from Day 4) Datapath Operation Virtualization Memory –…continue unpacking the role of memory…

Universal Sharing Penn ESE534 Spring DeHon 8

9 Review Given a task: y=Ax 2 +Bx +C Saw how to share primitive operators Got down to one of each

Penn ESE534 Spring DeHon 10 Very naively Might seem we need one of each different type of operator

Penn ESE534 Spring DeHon 11..But Doesn’t fool us We already know that nand gate (and many other things—HW1.3) …. are universal So, we know, we can build a universal compute operator

Penn ESE534 Spring DeHon Temporal Composition 12

Penn ESE534 Spring DeHon Temporal Don’t have to implement all the gates at once Can reuse one gate over time 13

Penn ESE534 Spring DeHon Temporal Decomposition Take Set of gates Sort topologically –All predecessors before successors Give a unique number to each gate –Hold value of its outputs Use a memory to hold the gate values Sequence through gates 14

Penn ESE534 Spring DeHon Example Logic 15

Penn ESE534 Spring DeHon Numbered Gates 16

Preclass Number gates Penn ESE534 Spring DeHon 17

Penn ESE534 Spring DeHon nor2 Memory/Datapath 18

Penn ESE534 Spring DeHon Programming? How do we program this netlist? 19

Penn ESE534 Spring DeHon Programming? Program gates –Tell each gate where to get its input Tell gate n where its two inputs come from Specify the memory location for the output of the associated gate –Each gate operation specified with two addresses ( the input sources for gate ) This is the instruction for the gate 20

Penn ESE534 Spring DeHon nor2 Memory/Datapath Instruction 21

Supply Instruction How can we supply the sequence of instructions to program this operation? Penn ESE534 Spring DeHon 22

Penn ESE534 Spring DeHon 23 Simplest Programmable Control Use a memory to “record” control instructions “Play” control with sequence

Penn ESE534 Spring DeHon Temporal Gate Architecture 24

How program preclass computation? How would we program the preclass computation? –Complete the memory Penn ESE534 Spring DeHon 25

Simulate the Logic For Preclass Go around the room calling out: –Identify PC –Identify instruction Perform nor2 on slot __ and slot ___ –Result is ___ –Store into slot ___ Penn ESE534 Spring DeHon 26

Penn ESE534 Spring DeHon 27 What does this mean? With only one active component – nor gate Can implement any function –given appropriate state (memory) muxes (interconnect) Control

Penn ESE534 Spring DeHon 28 Defining Terms Computes one function (e.g. FP- multiply, divider, DCT) Function defined at fabrication time Computes “any” computable function (e.g. Processor, DSPs, FPGAs) Function defined after fabrication Fixed Function: Programmable:

Penn ESE534 Spring DeHon 29 Result Can sequence together primitive operations in time Communicating state through memory –Memory as interconnect To perform “arbitrary” operations

Penn ESE534 Spring DeHon 30 “Any” Computation? (Universality) Any computation which can “fit” on the programmable substrate Limitations: hold entire computation and intermediate data

Penn ESE534 Spring DeHon Temporal-Spatial Variation Can have any number of gates –Tradeoff Area for Reduce Time…. 31

Use of Memory? What did we use memory for here? State Instructions Interconnect Penn ESE534 Spring DeHon 32

Penn ESE534 Spring DeHon 33 “Stored Program” Computer/Processor Can build a datapath that can be programmed to perform any computation. Can be built with limited hardware that is reused in time. Historically: this was a key contribution from Penn’s Moore School –Computer Engineers: Eckert and Mauchly –ENIAC  EDVAC –(often credited to Von Neumann)

Penn ESE534 Spring DeHon 34 What have we done? Taken a computation: y=Ax 2 +Bx +C Turned it into operators and interconnect Decomposed operators into a basic primitive: nor, adds

Penn ESE534 Spring DeHon 35 What have we done? Said we can implement it on as few as one of compute unit (nor2) Added an instruction to tell single, universal unit how to act as each operator in original graph Added a unit for state

Penn ESE534 Spring DeHon 36 Virtualization We’ve virtualized the computation No longer need one physical compute unit for each operator in original computation Can suffice with: 1.shared operator(s) 2.a description of how each operator behaved 3.a place to store the intermediate data between operators

Penn ESE534 Spring DeHon 37 Virtualization

Penn ESE534 Spring DeHon 38 Why Interesting? Memory compactness This works and was interesting because –the area to describe a computation, its interconnect, and its state –is much smaller than the physical area to spatially implement the computation e.g. traded multiplier for –few memory slots to hold state –few memory slots to describe operation –time on a shared unit (adder, gate)

Compare Penn ESE534 Spring DeHon 39

Temporal vs. Spatial Spatially ProgrammableTemporally Programmable Penn ESE534 Spring DeHon 40

Compare Area Spatially ProgrammableTemporally Programmable Penn ESE534 Spring DeHon 41

Simple Model Xbar area = area of the crosspoints Memory area = area of the memory bits Program Counter = ignore for now Areas: –Memory bit = 1 –Xpoint = 2 –Nor2 = 4 Penn ESE534 Spring DeHon 42

Spatial Area (100 gates)? Spatially ProgrammableEstimate area for spatial –Number of crosspoints? –Total Area? Penn ESE534 Spring DeHon 43

Temporal Area (100 gates)? Bits in data memories? Bits in instruction? Total bits in instruction memory? Total Area? Temporally Programmable Penn ESE534 Spring DeHon 44

Temporal vs. Spatial How does area compare? Discussion: –How will delay compare? Penn ESE534 Spring DeHon 45

Penn ESE534 Spring DeHon 46 Questions?

Penn ESE534 Spring DeHon 47 Big Ideas [MSB Ideas] Memory: efficient way to hold state –…and allows us to describe/implement computations of unbounded size State can be << computation [area] Resource sharing: key trick to reduce area Memory key tool for Area-Time tradeoffs “configuration” signals allow us to generalize the utility of a computational operator

Penn ESE534 Spring DeHon 48 Big Ideas [MSB-1 Ideas] Different kind of programmable computing unit Two key functions of memory –retiming (interconnect in time) –instructions description of computation

Penn ESE534 Spring DeHon 49 Admin HW4 due Wednesday No Office Hours Tomorrow –Piazza, , appointment Reading for Wednesday on Canvas