cs294-6 reconfigurable computing day 3 september 1, 1998 requirements for computing devices

Post on 21-Dec-2015

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CS294-6Reconfigurable Computing

Day 3

September 1, 1998

Requirements for Computing Devices

Today

• What elements are required for GP/post-fabrication computing?

• What do we expect out of a GP computing device?

• How should we characterize a GP computing device?

Requirements

• In order to build a general-purpose computing device, we absolutely must have?– _– _– _– _– _

Desirable

• We general expect a general-purpose computing device to provide:– _– _– _– _– _

Characterize

• How traditionally characterized?

• Problems require same mix of constituent components?

Primitive computeelements enough?

Compute and Interconnect

Sharing InterconnectResources

Sharing Interconnect and Compute Resources

What role are thememories playing here?

Memory block or Register File

Interconnect: moves data from input to storage cell;or from storage cell to output.

What do I need to be able to use this circuit properly? (reuse it on different data?)

Requirements

• In order to build a general-purpose computing device, we absolutely must have?– Primitive to compute a function of multiple input

bits– Interconnect: space– Interconnect: time– Instructions -- describe above– I/O -- get data in and out of device

Where are our basic computing elements in a Universal Turing Machine?

Desirable• We general expect a general-purpose computing platform

to provide:– Get Right Answers :-)– Support large computations -> need to virtualize physical

resources– Software support, programming tools -> higher level

abstractions for programming– Automatically store/restore programs– Architecture family --> compatibility across variety of

implementations– Speed -> … new hardware work faster

Desirable

• We general expect a general-purpose computing device to provide:– (how is this question different than previous?)

Expect from GP Compute?

• Virtualize to solve large problems– robust degradation?

• Computation defines computation

• Handle dynamic computing requirements efficiently

• Design subcomputations and compose

Solve Any

• Virtualize– store

• state• instruction

– sequence– select

• predictability• lead time• load bandwidth

Data Dependent Computation

• Cannot reasonably take max over all possible values– bounds finite, but unbounded– “malloc” maximum memory?

• Computations unfold during execution

• Computation dramatically different based on data

Compose

• Abstraction is good

• Design independent of final use

• Use w/out reasoning about all implementation details

• Link together subcomputations to build larger

top related