Essential Issues in Codesign: Architectures Part of HW/SW Codesign of Embedded

advertisement
Essential Issues in Codesign:
Architectures
Part of
HW/SW Codesign of Embedded
Systems Course (CE 40-226)
Winter-Spring 2001
Codesign of Embedded Systems
1
Today programme

Essential issues in codesign
 Models
 Architectures
 Languages
Winter-Spring 2001
Codesign of Embedded Systems
2
Architectures


Supplements Models by specifying how the
system will actually be implemented
Goal of each architecture is to describe




Number of components
Type of each component
Type of each connection among above components
General classification



Application-specific architectures: DSP
General-purpose architectures: CISC, RISC
Parallel processors: VLIW, SIMD, MIMD
Winter-Spring 2001
Codesign of Embedded Systems
3
Architectures:
Controller Architecture


Most suitably match FSM model
Consists of


State register
Combinational blocks


Next-state logic
Output logic
Winter-Spring 2001
Codesign of Embedded Systems
4
Architectures:
Datapath Architecture


Most suitably match DFG model
Straight-forward implementation



Each operation in one pipeline stage
Example: FIR filter
Other enhancements



Latches for inputs and outputs
Reducing number of functional units for one DFG
Execute multiple DFGs on a single datapath
 Need simple controllers without conditional
branches
Winter-Spring 2001
Codesign of Embedded Systems
5
Architectures:
FSMD Architecture




Combination of Controller and Datapath
architectures
Used for general-purpose processors as well
as ASICs
Each ASIC can have one or more FSMD
architectures, each with its own
characteristics
Special cases

Controller and Datapath architectures

CISC and RISC
architectures
Codesign of Embedded Systems
Winter-Spring 2001
6
Architectures:
CISC Architecture

Main motivation


Reduce number of instructions in compiled
code => minimize memory accesses
Useful when



Memory was slow and small
Programmers frequently used assembly
To support complex instructions


Has complex datapath
Has u-programmed control
Winter-Spring 2001
Codesign of Embedded Systems
7
Architectures:
CISC Architecture (cont’d)

Clocks-per-instruction (CPI) varies for
each instruction



Instruction pipelining is hard to implement
Relatively slow u-program memory =>
longer clock cycle
May not be well-suited for highperformance processors
Winter-Spring 2001
Codesign of Embedded Systems
8
Architectures:
CISC Architecture (cont’d)


Most frequently used instructions are
Simple instruction
Complex instructions are seldom or
never used. Because of:


Slight semantic differences between
complex instructions and PL constructs
Difficulty in mapping PL constructs into
such complex instructions
Winter-Spring 2001
Codesign of Embedded Systems
9
Architectures:
RISC Architecture

Optimized to achieve



Short clock cycles
Small number of CPI
Efficient pipelining of instructions
Winter-Spring 2001
Codesign of Embedded Systems
10
Architectures:
RISC Architecture (cont’d)

General organization


Large register file + ALU
Pipeline stages:




Fetch
Decode & Operand Fetch
Exec. ALU operation or compute addr. for data
cache
Data is stored in data-cache or register file
Winter-Spring 2001
Codesign of Embedded Systems
11
Architectures:
RISC Architecture (cont’d)

Simple design => short clock cycle,
higher performance, more complex
compiler, larger compiled-code size
Winter-Spring 2001
Codesign of Embedded Systems
12
Architectures:
VLIW Architecture



Very-Long Instruction-Word
Explicit Instruction-Level Parallelism
(ILP)
Has


Multiple functional units in its datapath
One field for each FU in each VLIW
instruction
Winter-Spring 2001
Codesign of Embedded Systems
13
Architectures:
VLIW Architecture (cont’d)


Requires much higher bandwidth between
cpu and memory/register file
Ideally N-times faster than normal
processors. But really,



All operands are not always in registers
All FUs are not always utilized
Technological limitations


Efficiency and performance of register files
Requires high-pin packaging technologies
Winter-Spring 2001
Codesign of Embedded Systems
14
Architectures:
Parallel Architectures

Multiple Processing Elements (PE)



SIMD (Single Instruction, Multiple Data)
MIMD (Multiple Instruction, Multiple Data)
SIMD or “Array Processor”




Centralized control unit
Multiple identical Pes
Usually communication just among neighbor PEs
Most useful in computations that naturally map
into a rectangular grid

Image processing, Weather forecasting
Winter-Spring 2001
Codesign of Embedded Systems
15
Architectures:
Parallel Architectures (cont’d)

MIMD or “Multiprocessor System”


Each processor can communicate with each other
processor in the system
Communication mechanisms



Shared memory
Message passing
Both of the above
Winter-Spring 2001
Codesign of Embedded Systems
16
What we learned today


Architectures are block-diagram organizational
guidelines for Implementation of systems.
Each Architecture is more suitable for a specific
Model.
Winter-Spring 2001
Codesign of Embedded Systems
17
Complementary notes:
Extra classes

“HW design using RenoirTM workshop” by A. Ganjei




“HW Synthesis Techniques Seminar” by S. Safari


Date-Time: Today, at 13 o’clock
Place: CE 316 (Here!)
Second session: Decide now
Postponed
Course webpage is ready. Regularly take a
look at it
Winter-Spring 2001
Codesign of Embedded Systems
18
Complementary notes (cont’d)

Subscribe to course mailing list

Send an email from your desired email address to
majordomo@ce.sharif.edu containing:
subscribe ce226list


Assignment 2
Project
Winter-Spring 2001
Codesign of Embedded Systems
19
Happy new year!
Winter-Spring 2001
Codesign of Embedded Systems
20
Download