ECEN/CSCI 5593 - Advanced Computer Architecture

ECEN/CSCI 5593 with Professor Dan Connors

Overview

In computer engineering, computer architecture is the conceptual design and fundamental operational structure of a computer system. Computer architecture is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer — focusing largely on the way by which the central processing unit (CPU) performs internally and accesses addresses in memory.

Computer architecture may also be defined as the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals.

Multicore Experience

  • CUDA programming for Nvidia GPUs
  • OpenCL (Compute Language) - Intel (Sandy Bridge) and AMD (Fusion) platforms
  • OpenMP (Multi-Processing) implementation and examples

Course Topics/Outline

  • Transistor and integrated circuit characteristics
  • ILP and TLP architectures and designs: superscalar, VLIW, multi- threaded, multicore, etc.
  • Compiler techniques for instruction-level, thread-level, and memory-level parallelism
  • Architectures and compilers for embedded processors, DSPs, ASIPs (network processors, multimedia, wireless)
  • Dynamic optimization, emulation, and object code translation
  • Software/hardware speculation and prediction schemes
  • Ultra-low power designs, design efficiency optimizations
  • Microarchitectures for reliability, dependability, and security
  • Microarchitecture modeling and simulation methodology
  • Architectures for new computing paradigms