|
Main /
MulticoreMulticore Architecture and ProgrammingAims and MotivationsMulticore microprocessors are now the main stream processing evirnoment. Most majour microprocessor venders have released multicore processors; for example, Intel’s Core 2, Sony-IBM-Toshiba’s Cell processor, Sun’s Niagra and AMD’s Operton. Moreover, graphics processing units (GPUs) are also based on multicore paradigm. A general challenge for these microprocessors are programmability. The previous generation of microprocessors are based on superscalar architecture; the programmer writes serial code, and the hardware dynamically extracts instruction-level parallelism. Such shift to multicore design exposes the programmer to the underlying parallel hardware via instruction sets. Parallel programming is therefore required to utilise the underlying hardware. Given the above complexlity in programming, another challenge, from the hardware point of view, is supporing programmability. That would also be coupled with targetting the increasing media content in current computer workloads. This course aims to cover the state-of-the art in multicore design. This is acheived by reviewing fundamental architecture concepts that is applicable to both uni- andmultiprocessor architectures. The course also covers parallel programming concepts. Students are expected to work on a term project on programming a ‘real’ parallel environment. The environment include the new Cell processor (via a Playstation 3 hardware) and Intel’smulticore. Students interested in designing hardware are encouraged to work on developing hardware simulation (for example the RAMP project) or extending the VHDL code of the Sun Niagra processor. Lecture Plan
Text Books
|