课程开设

课程名:计算机体系结构
授课老师:王炜
课程介绍:课程通过对计算机体系结构的教学,要求学生掌握定量分析和评估现代计算机系统的技术,特别强调对于高性能计算机中主要部件和子系统技术的掌握,如流水线技术,指令级并行技术,线程/程序级并行技术,存储器分层结构,以及多核处理器互联技术等。学生在学完课程之后要求能够理解和掌握最新的计算机体系结构的相关知识,并能够具有进一步设计新型处理器和计算机系统的能力。
课件列表

第一章:计算机体系结构基础以及性能评估(3学时)
主要包括计算机体系结构的入门背景知识简介,基本概念的讲解,以及体系结构中最为重要的性能评估的标准和方法的介绍。
第二章:指令集系统(3学时)
主要讲解各种指令集系统的分类,寻址方式(memory addressing),操作数(operands),编码(coding)等。着重强调指令集设计中需要考虑的问题
第三章:高级流水线技术(6学时)
主要讲解现代处理器中的流水线(pipeline)技术。首先回顾单周期及多周期CPU的设计及优缺点,然后介绍流水线系统设计,及流水线中的三种冒险:结构冒险、数据冒险和控制冒险。重点介绍流水线系统中数据冒险的解决方式和控制冒险的解决方式。其中控制冒险中将详细介绍分支预测技术。
第四章 动态执行技术(8学时)
主要讲解处理器中的指令级并行(instruction-level parallelism)和动态执行(dynamic scheduling)技术。包括superscalar, 乱序执行的解决方案,如score board和tomasulo’s algorithm等。
第五章: 数据级并行技术(6学时)
主要讲解Data-level parallelism(DLP)。介绍矢量计算机、单指令多数据、GPU等并行处理多个数据的技术。同时简单介绍CUDA编程。
第六章:静态执行技术(4学时)
主要讲解基于软件的静态执行技术,包括编译器辅助的技术和静态分支预测等。主要以VLIW架构为例。
第七章:高级缓存和存储器架构(8学时)
主要讲解处理器中的存储体系(memory hierarchy),包括寄存器组(register file),处理器缓存(cache),内存(memory)等。重点讲解处理缓存(cache)的层次结构以及各种优化技术。
第八章:多处理器,多核/众核架构(8学时)
主要介绍现代多核/众核以及多处理的体系架构,介绍线程级并行(thread-level parallelism)的概念。重点介绍它们的内存共享和互联方式,介绍cache coherence和Memory Consistency的重要算法。
第九章:分布式计算机系统及展望(3学时)
主要介绍分布式计算系统的网络互联、分布式计算与存储架构。另外还会涉及到计算机系统中两个重要问题,即低功耗设计及可靠性设计。