23
18-643-F20-L15-S1, James C. Hoe, CMU/ECE/CALCM, ©2020 18-643 Lecture 15: Architecture of Computing FPGAs James C. Hoe Department of ECE Carnegie Mellon University

í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S1, James C. Hoe, CMU/ECE/CALCM, ©2020

18-643 Lecture 15:Architecture of Computing FPGAs

James C. HoeDepartment of ECE

Carnegie Mellon University

Page 2: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S2, James C. Hoe, CMU/ECE/CALCM, ©2020

Housekeeping• Your goal today: explore the question of

“architecture” for “programmable hardware”What does it even mean??

• Notices– Handout #7: lab 3, due noon, Monday, 10/26– Handout #8: paper reviews, due weekly starting 11/9– Handout #9: lab 4, look for on Friday– Midterm in class, Wed 10/28– Proposal due Friday 10/30, worth 30% of project

• Readings– ??

Page 3: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S3, James C. Hoe, CMU/ECE/CALCM, ©2020

18-643 Review Template: Summary

• What to look for in a paper/presentation– what is the question/problem?– why is this question/problem important?– why is this question/problem hard?– what is the answer/solution offered by the paper?– what is new, novel about the answer/solution?– how does the paper argue/support the

answer/solution is correct/good?

• If you don’t know the answers, you didn’t “read” the paper, OR, the paper/presentation is bad

Page 4: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S4, James C. Hoe, CMU/ECE/CALCM, ©2020

18-643 Review Template: Critic

• What to think about while reading– soundness: is the paper's answer/solution

correct/good? – impact: is the paper's answer/solution important?– novelty: does the paper teach something new and

not obvious? – strengths: what makes the paper standout?– weaknesses: what could be improved?

• If you don’t know the answers, you didn’t “read” the paper

Don’t accept what a paper says unless you agree

Page 5: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S5, James C. Hoe, CMU/ECE/CALCM, ©2020[https://en.wikipedia.org/wiki/Fallingwater]

Page 6: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S6, James C. Hoe, CMU/ECE/CALCM, ©2020

We mean this “Architecture”“The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization of the data flow and controls, the logical design, and the physical implementation.”

--- Amdahl, Blaauw, Brooks, “Architecture of the IBM System/360”.Footnote explaining the 2nd word in paper abstract; 1st word is “The”.

• Concept arose with IBM 360 family of computers– separate software from hardware– separate programmers from hardware designers

• A compromise between too much vs too little– pay in cost & perf for included not needed– pay in complexity & perf for needed not included

• Must have a purpose in mind to optimize

Page 7: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S7, James C. Hoe, CMU/ECE/CALCM, ©2020

FPGA “Architecture” Yesteryears

Page 8: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S8, James C. Hoe, CMU/ECE/CALCM, ©2020

Was there an architecture to speak of?

I

I/O pins

programmable lookup tables (LUT) and flip-flops (FF)

aka “soft logic” or “fabric”

Inte

rcon

nect

LUT FF

programmable routingYes. Who lives above? Who lives below?What is fixed? What is the purpose?

Page 9: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S9, James C. Hoe, CMU/ECE/CALCM, ©2020

FPGA Architectural Advances

• 1990s– fast carry– LUT RAM– block RAM

• 2000s– programmable clock

generator– PowerPC core– gigabit transceiver– multiplier and DSP splices– Ethernet and PCI-E

• 2010s– system monitor – ADC– power management– ARM cores and GPU– DRAM controller– floating point arithmetic

Who lives above? Who lives below?

What is fixed? What is the purpose?

Page 10: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S10, James C. Hoe, CMU/ECE/CALCM, ©2020

This definitely has an architecture

[http://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html]

hard-architecture external to fabric, but

don’t overlook the Vivado-imposed AXI-

based soft-architecture

Page 11: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S11, James C. Hoe, CMU/ECE/CALCM, ©2020

If you asked 5 years ago,

• What is FPGA architecture?

One is Xilinx, the other Intel. Which is which?

Page 12: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S12, James C. Hoe, CMU/ECE/CALCM, ©2020

Rise of True Architecture and Divergence

Page 13: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S13, James C. Hoe, CMU/ECE/CALCM, ©2020

Today’s FPGAs not RTL targets

[Xilinx Versal] [Intel Agilex]

[Achronix Speedster MLP]

[Xilinx Zynq]

Page 14: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S14, James C. Hoe, CMU/ECE/CALCM, ©2020

Are They still FPGA?

• Spatial data and computenot CPU

• Highly concurrentnot multicore

• Finely controllablenot GPU

• Wire-cycle granularity actionsno software of any kind

• Reprogrammablenot ASIC

Page 15: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S15, James C. Hoe, CMU/ECE/CALCM, ©2020

Architecture follows Purpose • FPGA vendors doing what markets want

– future “FPGA” not sea-of-gates for RTL netlist– FPGAs wanted not because can’t afford ASICs

• Purposeful architectures for targeted use/app– make select things easier/cheaper to do– be very good at what it is intended to do

• Coping with architectural divergence– soft-logic adds malleability to “architecture”– 2.5/3D integration allows specialization off a

common base– push reconvergence of abstraction up the stack

Page 16: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S16, James C. Hoe, CMU/ECE/CALCM, ©2020

Let's talk FPGA architecture in 2020

• Who lives above?– past: “RTL jocks”– future: application developers? TensorFlow

• Who lives below?– past: circuit designers, microarchitects, CAD– future: above + library developers + systems/API

• What is fixed?– what has to be small, fast, and low power– soft-logic adds a new buffer between hard vs soft

• What is the purpose? . . . .

Page 17: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S17, James C. Hoe, CMU/ECE/CALCM, ©2020

Applications

• Who is most desperate (value and volume) for performance under power/energy/cost/weight/... constraints, e.g.,– networking, telco– ML, data analytics– near memory/storage processing– autonomous driving, AR/VR – datacenter virtualization

• Who has the next magic algorithm if only it were faster/smaller/cheaper/lower-power, e.g., ???

Page 18: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S18, James C. Hoe, CMU/ECE/CALCM, ©2020

Technology Underpinnings• 3D Integration

– separate hard blocks (mem, DSP, NoC?) from fabric– application-specialization die of hardened accel’tor

• Connectivity– high-speed transceivers, optical?– system interfaces (memory, storage, CC)

• High-level design (who programs? how?)– domain-specific languages and libraries– smarter/friendlier compilers– abstraction for programming ease and portability

• PR and QoS support management

Page 19: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S19, James C. Hoe, CMU/ECE/CALCM, ©2020

Programmable HW as 3rd Paradigm in Computing

Page 20: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S20, James C. Hoe, CMU/ECE/CALCM, ©2020

Past: Ingrained Formula of Hard vs Soft

• Do as much as possible in SW • HW where SW not good enough

No room for FPGA except as poor man’s HW

SW@CPUsmem

network

storage

video& I/O

Page 21: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S21, James C. Hoe, CMU/ECE/CALCM, ©2020

Accelerators

Present: Emergence of FPGAs Ad Hoc

• More things SW not good enough• Neither is HW when

– functionalities not fixable at deployment – require many functionalities but never all at once

FPGA as softened HW middle ground

SW@CPUsmem FPGA

network

storage

video& I/O

FPGA

FPGA

FPGA

Page 22: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S22, James C. Hoe, CMU/ECE/CALCM, ©2020

Future: Programmable HW 3rd Paradigm

• Where does it go?• What does it do?

– where SW not fast/efficient enough– where HW not flexible enough

• Who gets to see/program it?– staying metal (offline administered)– kernel managed library of functionalities– application-specific user programming– FPGA self-reconfigure to tune or adapt???

System device w. definite purpose & architecture, distinct from traditional FPGAs’

Page 23: í ô r ò ð ï > µ í ñ W Z ] µ } ( } u µ ] v P &W'users.ece.cmu.edu/~jhoe/course/ece643/F20handouts/L15.pdf · Title: Microsoft PowerPoint - L15-arch Author: jhoe Created Date:

18-643-F20-L15-S23, James C. Hoe, CMU/ECE/CALCM, ©2020

Reimagine “FPGAs” Fundamentally

Purpose:1. lend smarts to dumb HW2. manipulate on-the-move data3. fine-grain intervention over SW

FPGA as Data “Nexus”

in Servers

network

storage

video& I/O

Accelerators

CPUs

mem