Chapter-2-architecture and platform
Chapter-2-architecture and platform
Wei Jiang
Email: [email protected]
Architectures and Platforms
- 2-
Remember the Design Flow & the Example
- 3-
Architecture Selection and Mapping
- 4-
Architecture Selection (Part I)
- 5-
Architecture Selection (Part II)
Mono vs.
Multiprocessor single chip
Multiprocessor
Single vs. Multichip
multichip
- 6-
Architecture Selection (cont’d)
The trade-offs:
• Performance (speed, power consumption)
Hardware
Application specific high high
Reconfigurable
General purpose low hardware
low
Software
• Flexibility (how easy it is to upgrade or modify)
Software high
General purpose high
consumed
energy
GP proc.
high
magnitude
ASIP
order of
FPGA
med.
low ASIC
- 8-
General Purpose vs. Application Specific Processors
• GP processors
- Neither instruction set nor microarchitecture or memory
system are customised for a particular application or family of
applications
• ASIPs
- Instruction set, microarchitecture and/or memory system are
customised for an application or family of applications.
- better performance & reduced power consumption
- 9-
What Makes an ASIP “Specific”?
- 11 -
What Makes an ASIP “Specific”?
☞ Memory specialisation
• Number and size of memory banks.
• Number and size of access ports.
- They both influence the degree of parallelism in memory access.
- Having several smaller memory blocks (instead of one big)
increases parallelism and speed, and reduces power consumption.
- Sophisticated memory structures can increase cost and bandwidth
requirement.
- 12 -
What Makes an ASIP “Specific”?
☞ Interconnect specialization
• Interconnect of functional modules and registers.
• Interconnect to memory and cache.
- How many internal buses?
- What kind of protocol?
- Additional connections increase the potential of
parallelism.
☞ Control specialisation
• Centralised control or distributed (globally asynchronous)?
• Pipelining?
• Out of order execution?
• Hardwired or microprogrammed? - 13 -
ASIP Design Flow
Processor
Architecture Algorithm(s)
Compiler
Simulator
Performance
numbers
- 14 -
A SOC for Multimedia Applications
- 15 -
Specialization of a VLIW ASIP
- 16 -
Specialization of a VLIW ASIP (cont’d)
- 17 -
Specialization of a VLIW ASIP (cont’d)
- 18 -
Specialization of a VLIW ASIP (cont’d)
A solution: clustering.
• Restrict the connectivity between functional units and registers, so
that each functional unit can read/write from/to a subset of
registers.
- 19 -
Specialization of a VLIW ASIP (cont’d)
- 20 -
Specialization of a VLIW ASIP (cont’d)
• Interconnect specialization.
- Determine the interconnect structure between clusters and
from clusters to memory:
-one or several buses,
-crossbar interconnection
-etc.
• Control specialization.
- That’s more or less done, as we have decided for a VLIW
processor
- 21 -
Tool Support for Processor Specialization
Retargetable compiler
Configurable simulator
- 22 -
Retargetable Compiler
Retargetable compiler
- 23 -
Retargetable Compiler (cont’d)
Once you have got your specialized ASIP, you need a good
compiler in order to efficiently make use of it!
- 24 -
Configurable Simulator
- 25 -
Application Specific Platforms
- 26 -
Application Specific Platforms (cont’d)
- 27 -
Application Specific Platforms (cont’d)
- 28 -
Instantiating a Platform
- 29 -
Instantiating a Platform (cont’d)
- 30 -
System Platforms
What we discussed about (see previous slides) are so called
hardware platforms.
The hardware platform is delivered together with a software
layer: hardware platform + software layer = system platform.
• Software layer:
- real-time operating system
- device drivers
- network protocol stack
- compilers
• The software layer creates an abstraction of the hardware
platform (an application program interface) to be seen by the
application programs.
- 31 -
IP-Based Design (Design Reuse)
- 32 -
IP-Based Design (cont’d)
Possible(!) definition
• A core is a design block which is larger than a typical
RTL
component.
Of course:
We also reuse software components!
- 33 -
IP-Based Design (cont’d)
- 34 -
Types of Cores
• Hard cores: are fully designed, placed, and routed by the
supplier.
- 35 -
Types of Cores(cont’d)
- 36 -
Reconfigurable Systems
Main applications:
- Software acceleration
- Prototyping
- 37 -
Reconfigurable Systems (cont’d)
- 38 -
Reconfigurable Systems (cont’d)
- 39 -
Summary
- 41 -