Educational and research activity on Hardware-Software Codesign of Dedicated Systems
Design of application-specific computing systems has recorded a growing
interest in the past two decades for several, concurrent reasons. On the
one hand, the trend of endowing a general-purpose computer architecture
with specialized processors, such as graphic processors, DSPs, network
processors, etc.; on the other hand, the necessity to move away from the
traditional monoprocessor architecture towards multicore heterogeneous
architectures, induced by the eventual fall of Moore's Law together with
the demanding requirements posed by computation-intensive algorithms.
Design of information processing applications more and more is no longer a
purely-software engineering effort, as much as a hardware-software codesign
endeavour. The proposed activity aims at introducing basic principles and
methods of hardware-software codesign, experiencing their use in a few,
selected case studies, and engaging in the design and optimization of an
application-specific computing platform. Optimization alternatives will
be explored at several levels, ranging from low-level design of ad-hoc
hardware components, using hardware description languages and automated
synthesis tools, to higher-level heterogeneous programming languages and
tools, such as an OpenCL SDK. At the end of this apprenticeship the
student will be able to model, design, and implement application-specific
computing systems of own conception.
Required background: good knowledge of Computer architecture.
Tutor: prof. G. Scollo