计算机体系结构实验
2010-11
清华大学
沈立//肖侬//王志英
98
实验是计算机体系结构课程教学的重要环节。通过完成相应的实验,学生不仅能够更加深刻地理解该课程各个知识点所描述的理论和方法,还可以亲身体会到如何进行实现以及实现时所面临的要点和难点。目前,进行体系结构实验主要有软件模拟与硬件仿真两种形式,虽然二者在功能上基本等效,但由于二者的抽象程度不同,它们所反映出的实现细节也不相同。例如在进行cache子系统设计实现时,采用硬件仿真可以更加清晰地反映出有效位(ValidBit)、“脏”位(DinyBit)等控制信息所占用的存储容量。此外,不少实验内容涉及软、硬两方面的设计工作,即除了设计与实现必要的硬件模块外,还必须实现对应的软件工具,以高效地对硬件模块编程,例如指令扩展等。因此,本书针对每一个实验内容都分别给出了软件模拟或硬件仿真或软硬件协同设计的实验步骤。
考虑到完成实验的工作量,我们选择32位dlx结构的处理器作为实验对象,因为dlx指令系统具有规整、简洁等优点,且具有开源的模拟器和编译器等软件工具供大家使用。除了包含流水线、指令级并行、cache等经典实验内容外,本书还特别面向指令集的设计与优化专门设计了实验。根据实验难度和工作量的不同,本书中列出的实验可分为两个层次: 一是,与计算机体系结构课程中处理器性能评价、指令系统、流水线等方面的教学内容相对应。具体实验内容包括确定dlx处理器的指令系统和指令编码方案,设计实现一个单流出的5级32位dlx整数流水线,并在fpga平台上仿真。该流水线中没有cache模块,可以包含数据定向模块。同时,根据dlx指令系统修改开源的gcc编译器,使之能够生成可用的二进制测试代码。 二是,向在基础实验中实现的5级dlx整数流水线中增加一些高级功能模块,并在fpga平台上仿真。这里的高级功能模块包括计算机体系结构课程中介绍的开发指令级并行和数据级并行的硬件机制、cache等,如dlx浮点流水线、记分牌算法、vliw技术、分支目标缓冲器、simd指令扩展等,它们都是提高流水线性能的经典技术。
沈立,2003年在国防科学技术大学计算机学院获工学博士学位。现任国防科学技术大学计算机学院副教授,硕士生导师,长期从事计算机体系结构专业的研究和教学工作,国家精品课程“计算机体系结构”和“计算机原理”主讲人之一。中国计算机学会会员,主要研究方向包括高性能微处
第1章 处理器设计流程 1.1 设计定制 1.2 行为设计 1.3 物理设计 1.4 硅片出品 1.5 验证 1.6 实验内容安排与组织 1.7 实验1:fastdlx模拟器的使用 1.7.1 简要说明 1.7.2 实验目的 1.7.3 实验工具和平台 1.7.4 实验步骤 第2章 指令系统 2.1 cisc和risc 2.2 dlx指令系统 2.2.1 dlx的寄存器 2.2.2 dlx的数据表示 2.2.3 dlx的数据寻址方式 2.2.4 dlx的指令格式 2.2.5 dlx的操作 2.2.6 dlx的控制指令 2.2.7 dlx的浮点操作 2.3 指令系统的改进和发展 2.4 实验2:dlx指令编码的优化 2.4.1 简要说明 2.4.2 实验目的 2.4.3 实验工具和平台 2.4.4 实验步骤 2.5 实验3:dlx汇编器的设计与实现 2.5.1 简要说明 2.5.2 实验目的 2.5.3 实验工具和平台 2.5.4 实验步骤 2.6 实验4:面向特定应用的指令扩展 2.6.1 简要说明 2.6.2 实验目的 2.6.3 实验工具和平台 2.6.4 实验步骤 第3章 逻辑设计 3.1 硬件描述语言 3.2 电子设计自动化 3.3 实验5:modelsim的使用 3.3.1 简要说明 3.3.2 实验目的 3.3.3 实验工具和平台 3.3.4 实验步骤 3.4 实验6:寄存器文件的设计与实现 3.4.1 简要说明 3.4.2 实验目的 3.4.3 实验工具和平台 3.4.4 实验步骤 3.5 实验7:存储器模块设计与实现 3.5.1 简要说明 3.5.2 实验目的 3.s.3 实验工具和平台 3.5.4 实验步骤 第4章 流水线设计 4.1 dlx整数指令 4.2 dlx流水线 4.2.1 流水寄存器 4.2.2 取指段 4.2.3 译码段 4.2.4 执行段 4.2.5 访存段 4.2.6 写回段 4.2.7 多路选择器 4.3 改进dlx流水线的性能 4.3.1 减少分支开销 4.3.2 数据定向 4.4 实验8:dlx整数流水线的设计与实现 4.4.1 简要说明 4.4.2 实验目的 4.4.3 实验工具和平台 4.4.4 实验步骤 4.5 实验9:数据定向逻辑的设计与实现 4.5.1 简要说明 4.5.2 实验目的 4.5.3 实验工具和平台 4.5.4 实验步骤 第5章 高级dlx流水线设计实验 5.1 实验10:dlx浮点流水线 5.1.1 简要说明 5.1.2 实验目的 5.1.3 实验工具和平台 5.1.4 实验步骤 5.2 实验11:支持动态指令调度的记分牌算法 5.2.1 简要说明 5.2.2 实验目的 5.2.3 实验工具和平台 5.2.4 实验步骤 5.3 实验12:超长指令字技术 5.3.1 简要说明 5.3.2 实验目的 5.3.3 实验工具和平台 5.3.4 实验步骤 5.4 实验13:分支预测目标缓冲(btb) 5.4.1 简要说明 5.4.2 实验目的 5.4.3 实验工具和平台 5.4.4 实验步骤 5.5 实验14:simd指令扩展 5.5.1 简要说明 5.5.2 实验目的 5.5.3 实验工具和平台 5.5.4 实验步骤 5.6 实验15:cache设计与实现 5.6.1 简要说明 5.6.2 实验目的 5.6.3 实验工具和平台 5.6.4 实验步骤 第6章 fpga相关工具 6.1 设计准备 6.1.1 基本流程 6.1.2 ise的启动和配置 6.2 基于hdl语言设计输入 6.2.1 创建新工程 6.2.2 完成hdl编写 6.2.3 ise向导生成模块 6.3 设计仿真 6.3.1 添加测试激励 6.3.2 仿真类型选择 6.3.3 编译xilinx仿真库 6.4 系统生成及仿真 6.4.1 时序约束 6.4.2 IO配置 6.4.3 配置文件生成及后仿真 6.5 配置下载 参考文献
插图:电路设计、版图设计和流片是处理器的物理设计阶段需要完成的三项任务。电路设计是用晶体管来实现HDL语言所描述的逻辑。在这个阶段,主要关注的是对设计的时钟频率和功率的模拟,这时必须考虑晶体管的真实行为是什么,以及其行为如何随制造技术的不同而改变。版图设计阶段应确定组成电路设计的晶体管和导线的不同材料层的确切摆放位置。这个阶段的核心工作是在最小的区域内勾画出所需要的电路,而且这个电路必须是可以制造出来的。版图设计对电路的频率和可靠性也有着很大的影响。物理设计的最后实现过程称为流片。以前,当完成版图以后,设计人员会将所有需要的版图复制到一个磁带中,送到工厂以便开始制造过程。将磁带送到工厂去,就称为“去流片”。现在,虽然可以简单地通过计算机网络对数据进行复制,但是仍然继续用“流片”这个名词来描述物理设计的最后实现过程。
《计算机体系结构实验》特色:国内第一门计算机体系结构国家精品课程的实验教材,充分结合了作者在国防科学技术大学计算机学院多年的教学、科研经验和成果。实验覆盖面广,内容丰富,有助于加深对计算机体系结构知识以及软件模拟、硬件仿真等方法的理解和掌握。可读性好,语言简练,深入浅出,通俗易懂。适合作为高校计算机专业本科生及研究生计算机体系结构课程实验和实践的教材。《计算机体系结构实验》有丰富的配套资源,包括《计算机体系结构》和《计算机体系结构教学与习题指导》,PPT讲稿和实验模拟程序等。
还不如直接找英文资料。