Download as ppsx, pdf, or txt
Download as ppsx, pdf, or txt
You are on page 1of 26

CKV

Reconfigurable Computing
CS G553

Lecture 1,2 - Introduction


CKV

RC Labs
 Basic Verilog Introduction 3-5PM Friday.
CKV

Introduction
Research in computer (processor) architecture

Explosive Growth in Computing


CKV

Computing Paradigms
 The Von Neumann Computer

 Domain specific processors

 Application specific instruction set processors

 Application specific processors or ASICs

 Reconfigurable Processors
CKV

The Von Neumann Computer


 Principle
In 1945, the mathematician Von Neumann (VN) demonstrated
in study of computation that a computer could have a simple
structure, capable of executing any kind of program, given a
properly programmed control unit, without the need of
hardware modification
CKV

The Von Neumann Computer


 Structure

Harvard Architectures
CKV

The Von Neumann Computer


Advantage:
Flexibility: any well coded program can be executed

Drawbacks

Speed efficiency: Not efficient, due to the sequential program


execution (temporal resource sharing).
CKV

The Von Neumann Computer


Advantage:
Flexibility: any well coded program can be executed

Drawbacks

Resource efficiency: Only one part of the hardware resources is


required for the execution of an instruction. The rest remains idle.
CKV

The Von Neumann Computer


Advantage:
Flexibility: any well coded program can be executed

Drawbacks

Memory access: Memories are about 10 time slower than the


processor

Drawbacks are compensated using high clock speed,


pipelining, caches, instruction pre-fetching, etc.
CKV

The Von Neumann Computer


Sequential Execution

Pipelining
Increased throughput

Even with pipeline and other improvements like cache, the


execution remain sequential.
CKV

The Von Neumann Computer


Conclusion
Flexible

“The algorithm adapts itself to the Hardware”

Temporal use of the same hardware for a wide variety of


applications, VN computation is often characterized as

ʺTemporal Computation“

Can all algorithms be executed optimally?


CKV

Domain Specific Computers


Optimized Datapath for a given class of applications

Example: DSP (Digital Signal Processors)


Signal processing applications are usually multiply accumulate
(MAC) dominated.
• Datapath optimized to execute one or many MACs in only one cycle.

• Enhanced instructions, data and control path.

• Memory access is limited by directly processing the input dataflow


CKV

Domain Specific Computers


DSPs
Designed for high-performance,
repetitive, numerically intensive
tasks

In one cycle:
Many MAC Operations

Many Memory Accesses

Efficient looping
CKV

Domain Specific Computers


DSPs
Designed for high-performance,
repetitive, numerically intensive
tasks
Hardware contains
Multiple MAC units
Multi-ported on-chip and off-chip
Memories
Multiple on-chip busses

Special Address generation units


CKV

Domain Specific Computers


Conclusion
Faster than General purpose processor

Custom Designed targeting specific domain


CKV

Application Specific Instruction Set


Processor
An ASIP is a processor that can be specialized to a
particular application
Adding new instructions

Extending the processor datapath

Example: ASIP for Image processing


CKV

Application Specific Integrated Circuit


Optimize the complete circuit for a given function

Example: USB controller chip


Optimization is done by implementing the inherent parallel structure on a chip.

The data path is optimized for only one application.

Instruction fetching and decoding overhead is removed

Memory access is limited by directly processing the input data flow

Exploitation of parallel computation


CKV

Application Specific Integrated Circuit


Example
CKV

Application Specific Integrated Circuit


Conclusion
ASIC uses a “spatial approach” to implement only one application

The functional units needed for the computation of all parts of the
application must be available

Spatial Computation

Highly Efficient (Parallel Computing)

No Flexibility
CKV

Overall Conclusion
 The Von Neumann Computer
General Purpose, High Flexibility

Temporal Computation (Application adapts to machine)

 Domain specific processors


Flexible and efficient for certain class of applications
 Application specific instruction set processors
Flexible and efficient for certain class of applications

 Application specific processors or ASICs


Tailored for one application, Not flexible

Spatial Computation (Fixed hardware for application)


CKV

Overall Conclusion

General Domain Application


Purpose Specific Specific

Max Flexibility Min Flexibility

Min. Performance Max Performance


CKV

Reconfigurable Computing
The ideal device should combine
The flexibility of a general purpose processor

The efficiency of ASICs

The ideal device should be able to


Optimally implement an application at a given time

Re-adapt to allow optimal implementation of other


application

Temporal Computation
Reconfigurable Computation
Spatial Computation
CKV

Flexibility Vs Efficiency
CKV

Temporal vs Spatial Computing


Temporal-based execution Spatial-based execution
(software) (Hardware)

Ability to extract parallelism (or concurrency) from algorithm


descriptions is the key to acceleration using reconfigurable
computing
CKV

Methods of Executing Algorithms


Hardware Reconfigurable
computing Software-programmed
(Application Specific
processors
Integrated Circuits)

Advantages: Advantages:
•very high •fills the gap between Advantages:
performance and hardware and •software is very
efficient software flexible to change
Disadvantages: •much higher Disadvantages:
•not flexible (can’t be performance than •performance can
altered after software suffer if clock is not
fabrication) •higher level of fast
• expensive flexibility than •fixed instruction set
hardware by hardware
CKV

Thank You for Attending

You might also like