Essential Issues in Codesign
Download
Report
Transcript Essential Issues in Codesign
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
[email protected] 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