Course detail
Processor Architecture
FIT-ACHAcad. year: 2017/2018
The course covers architecture of universal as well as special-purpose processors. Instruction-level parallelism (ILP) is studied on scalar, superscalar and VLIW processors. Then the processors with thread-level parallelism (TLP) are discussed. Data parallelism is illustrated on SIMD streaming instructions and on graphical processors (SIMT). Parallelization of numerical calculations for GPU is also covered (CUDA). Techniques of low-power processors are also explained.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
- Syllabus of lectures:
- Scalar processors. Pipelined instruction processing and compiler asistance
- Superscalar CPU. Dynamic instruction scheduling, branch prediction.
- Advanced superscalar processing techniques: register renaming, data flow through memory hierarchy.
- Optimization of instruction and data fetching. Examples of superscalar CPUs.
- Multi-threaded processors.
- Data parallelism. SIMD extensions and vectorization.
- Architecture of graphics processing units, SIMT programming model.
- CUDA programming language, thread and memory model.
- Synchronisation and reduction on GPU, design and tuning of GPU codes.
- Stream processing, multi-GPU systems, GPU libraries.
- Architecture of many core systems (MIC, Xeon Phi) and their programming.
- VLIW processors. SW pipelining, predication, binary translation.
- Low power processors.
- Performance measurement for sequential codes.
- Vectorisation using OpenMP 4.0.
- CUDA: Memory transfers, simple kernels.
- CUDA: Shared memory.
- CUDA: Texture and constant memory, reduction operation.
- Performance evaluation and code optimization using OpenMP 4.0
- Acceleration of computational job using CUDA 8.0
Syllabus of computer exercises:
Syllabus - others, projects and individual work of students:
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
- Missed labs can be substituted in alternative dates (monday or friday)
- There will be a place for missed labs in the last week of the semester.
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Recommended reading
Classification of course in study plans
- Programme IT-MSC-2 Master's
branch MBI , 0 year of study, winter semester, elective
branch MSK , 2 year of study, winter semester, compulsory-optional
branch MMM , 0 year of study, winter semester, elective
branch MBS , 0 year of study, winter semester, compulsory-optional
branch MPV , 2 year of study, winter semester, compulsory
branch MIS , 0 year of study, winter semester, elective
branch MIN , 0 year of study, winter semester, elective
branch MGM , 2 year of study, winter semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Scalar processors. Pipelined instruction processing and compiler asistance
- Superscalar CPU. Dynamic instruction scheduling, branch prediction.
- Advanced superscalar processing techniques: register renaming, data flow through memory hierarchy.
- Optimization of instruction and data fetching. Examples of superscalar CPUs.
- VLIW processors. SW pipelining, predication, binary translation.
- Multi-threaded processors.
- Performance measurement and evaluation (PAPI). Low power processors.
- Data parallelism. SIMD extensions, SWAR, and SIMT inside GPU.
- Architecture of graphics processing units.
- CUDA programming language, thread and memory model.
- Synchronisation and reduction on GPU, design and tuning of GPU codes.
- Stream processing, multi-GPU systems, GPU libraries.
- Architecture of many core systems (MIC, Xeon Phi) and their programming.
Exercise in computer lab
Teacher / Lecturer
Syllabus
- Performance measurement for sequential codes.
- Vectorisation using OpenMP 4.0.
- CUDA: Memory transfers, simple kernels.
- CUDA: Shared memory.
- CUDA: Texture and constant memory, reduction operation.