-
第一章计算机系统结构的基本概念
本章讲解了计算机系统结构的定义及分类,介绍了计算机系统的多级层次结构,讲解了定量分析技术以及对对冯•诺依曼结构的改进。本章还介绍了程序的可移植性及其实现方法以及计算机系统结构中并行性的发展。
-
●1.1引言
本节讲解了计算机系统结构在计算机发展中的重要作用。
-
●1.2计算机系统的多级层次结构
本节讲解了计算机系统的多级层次结构,并介绍了实现编程语言的两种基本技术:解释和翻译。
-
●1.3计算机系统结构的定义和分类
本节给出了计算机系统结构的定义。并详细讲解了计算机系统结构的分类:SISD,SIMD,MISD,MIMD。
-
●1.4定量分析技术
本节讲解了计算机的定量分析技术。包括:“好钢要用在刀刃上”、Amdahl定律、CPU性能公式、局部性原理以及计算机系统的性能评测方法。
-
●1.5对冯·诺依曼结构的改进
本节介绍了对冯•诺依曼结构的改进,包括:对输入/输出方式的改进、采用并行处理技术、对存储器组织结构的改进、对指令集的改进。
-
●1.6实现可移植性的方法
本节讲解了什么是程序可移植性及其实现方法:系列机、模拟、仿真、统一高级语言。
-
●1.7计算机系统结构中并行性的发展
本节首先讲解了什么是并行性,然后介绍了提高并行性的技术途径:时间重叠、资源重复、资源共享。并分别介绍了单机系统和多机系统中并行性的发展。
-
第二章计算机指令集结构
本章对计算机指令集结构进行了详细的讲解。包括:指令集结构的分类、寻址方式、指令集结构的功能设计、操作数的类型和大小、指令格式的设计等。并介绍了MIPS指令集结构。
-
●2.1指令集结构的分类
本节讲解了指令集的三种结构:堆栈结构、累加器结构、通用寄存器结构。并介绍了通用寄存器结构的优点。
-
●2.2寻址方式
本节对不同的寻址方式的使用频度进行了对比,并对偏移量的取值范围以及立即数寻址中立即数字段的位数进行了讨论。
-
●2.3指令集结构的功能设计
本节讲解了对指令集的基本要求:完整性、规整性、高效率和兼容性。介绍了两种截然不同的设计策略:RISC和CISC,并详细讲解了CISC指令集结构的功能设计以及RISC指令集结构的功能设计。
-
●2.4操作数的类型和大小、指令格式的设计
本节讲解了操作数的类型和大小的选择以及指令格式的设计。介绍了3种指令编码格式:可变长度编码格式、固定长度编码格式、混合型编码格式。
-
●2.5MIPS指令集结构
本节详细介绍了MIPS指令集结构,包括:MIPS的寄存器、数据表示、寻址方式、指令格式。
-
第三章流水线技术
本章详细讲解了流水线的基本概念、分类、性能指标等。并论述了流水线设计中的若干问题。本章还讲解了流水线的相关与冲突以及解决冲突的方法,并详细介绍了MIPS流水线的具体实现,包括逻辑框图和硬件操作。
-
●3.1流水线的基本概念
本节通过动画讲解了流水线的基本概念和时空图。
-
●3.2流水线的分类
本节讲解了流水线的分类。包括:单功能流水线、多功能流水线、静态流水线、动态流水线,部件级、处理机级及处理机间流水线、线形流水线、非线性流水线、顺序流水线、乱序流水线等。
-
●3.3流水线的性能指标
本节讲解了流水线的性能指标,包括其定义和计算方法。这些指标包括:吞吐率、加速比、效率。本节还用动画讲解了消除流水线瓶颈的方法。
-
●3.4流水线设计中的若干问题
本节对流水线设计中的若干问题进行了讨论。
-
●3.5 流水线的相关
本节首先介绍了一条经典的RISC流水线。该流水线由5段构成:IF、ID、EX、MEM、WB。然后讲解了流水线的3种相关:数据相关、名相关、控制相关。
-
●3.6流水线冲突(一)
本节讲解了3种流水线冲突:结构冲突、数据冲突、控制冲突。讲解了用来解决数据冲突的定向技术。并介绍了通过插入停顿来解决冲突的方法。
-
●3.7流水线冲突(二)
本节进一步讲解了解决冲突问题的方法。包括:指令调度、预测分支、延迟分支。
-
●3.8流水线的实现(一)
本节讲解了一个基本的MIPS流水线的实现。通过两个动画,先讲解了MIPS的非流水线实现的数据通路,然后讲解了如何将其改造为5段流水线实现。本节用动画详细讲解了在IF段和ID段所进行的硬件操作。
-
●3.9流水线的实现(二)
本节用动画详细讲解了在上述流水线中,在EX段、MEM段、WB段所进行的硬件操作。本节还讲解了将分支延迟从3个周期降到1个周期的改进后的数据通路逻辑框图。
-
第四章指令级并行
本章讲解了指令动态调度的基本思想、Tomasulo算法的基本思想以及具体算法、动态分支预测技术、基于硬件的前瞻执行以及多指令流出技术。
-
●4.1指令动态调度的基本思想
本节讲解了指令动态调度的基本思想。
-
●4.2Tomasulo算法的基本思想
本节讲解了Tomasulo算法的基本思想。并通过一个动画详细讲解了一个具体例子的处理过程。
-
●4.3Tomasulo算法(一)
本节讲解了采用Tomasulo算法后指令的执行步骤。并利用Tomasulo算法模拟器详细演示了一段代码的处理和执行过程。
-
●4.4Tomasulo算法(二)
本节通过一个动画详细讲解了Tomasulo算法。
-
●4.5动态分支预测技术
本节讲解了动态分支预测的两种方法:分支历史表BHT和分支目标缓冲器BTB。
-
●4.6基于硬件的前瞻执行
本节首先讲解了基于ROB(ReOder Buffer)的前瞻执行的基本思想和处理步骤,然后利用基于ROB的前瞻执行模拟器演示了一段代码的处理和执行过程。
-
●4.7多指令流出技术
本节介绍多指令流出技术:超标量、超流水线、超长指令字VLIW。
-
第五章 存储系统
本章讲解存储系统的层次结构、Cache-主存层次、主存-辅存层次、Cache基本知识、Cache性能分析、降低Cache不命中率的方法、减少不命中开销的方法、减少命中时间的方法、并行主存系统。
-
●5.1存储系统的层次结构
本节讲解了存储系统的层次结构以及存储系统的性能参数。
-
●5.2三级存储系统
本节讲解了“Cache-主存”层次和“主存-辅存”层次。
-
●5.3Cache基本知识(一)
本节讲解了Cache的基本结构和原理,讲解了映像规则。
-
●5.4Cache基本知识(二)
本节讲解了Cache的查找方法,并介绍了Alpha AXP 21064微处理器中的数据Cache的工作过程。
-
●5.5Cache基本知识(三)
本节讲解了Cache的替换算法以及两种写策略:写直达法和写回法。
-
●5.6Cache性能分析
本节介绍了Cache的性能分析。
-
●5.7降低Cache不命中率(一)
本节首先介绍了Cache的三种类型的不命中,然后讲解了4种降低Cache不命中率的方法:
增加Cache容量、提高相联度、增加Cache块大小、伪相联Cache。 -
●5.8降低Cache不命中率(二)
本节讲解了另外4种降低Cache不命中率的方法:硬件预取、编译器控制的预取、编译优化、“牺牲”Cache。
-
●5.9减少Cache不命中开销
本节讲解了5种用于减少Cache不命中开销的方法:采用两级Cache、让读不命中优先于写、写缓冲合并、请求字处理技术、非阻塞Cache。
-
●5.10减少命中时间
本节讲解了4种用于减少Cache命中时间的方法:容量小且结构简单的Cache、虚拟Cache、Cache访问流水化、踪迹Cache。
-
●5.11并行主存系统
本节讲解了并行主存系统。内容包括单体多字存储器、多体交叉存储器、避免存储体冲突。并介绍了高位交叉编址和地位交叉编址及其地址换算。
-
第六章输入/输出系统
本章讲解了输入输出系统。具体内容包括:I/O系统的可靠性、可用性和可信性、廉价磁盘冗余阵列RAID、通道处理机、I/O与操作系统。
-
●6.1 I/O系统的可靠性、可用性和可信性
本节讲解了I/O系统的可靠性、可用性和可信性。
-
●6.2廉价磁盘冗余阵列RAID(一)
本节讲解了廉价磁盘冗余阵列的基本思想以及RAID0和RAID1。
-
●6.3廉价磁盘冗余阵列RAID(二)
本节讲解了RAID2~RAID6、RAID10与RAID01以及RAID的实现方法。
-
●6.4通道处理机(一)
本节讲解了通道的作用和功能以及通道的工作过程。
-
●6.5通道处理机(二)
本节讲解了通道的种类,包括:字节多路通道、选择通道、数组多路通道。并进行了通道流量分析。
-
●6.6 I/O与操作系统
本节讲解了DMA是使用虚拟地址还是物理地址来传输数据的问题,并讲解了I/O和Cache数据一致性。
-
第七章多处理机
本章讲解了多处理机。具体内容包括:多处理机系统结构的分类、两种存储器系统结构、多处理机Cache一致性、监听协议及其实现、目录协议及其实现、目录的3种结构、同步、同时多线程。
-
●7.1引言
本节讲解了多处理机系统结构的分类、两种存储器系统结构以及并行处理所面临的挑战。
-
●7.2对称式共享存储器系统结构
本节讲解了多处理机Cache一致性以及实现一致性的基本方案。包括监听协议和目录协议、写作废方法以及写更新方法。
-
●7.3监听协议的实现
本节利用监听协议模拟器来详细讲解了监听协议的工作过程。
-
●7.4目录协议的基本思想
本节讲解了目录协议的基本思想。
-
●7.5目录协议实例
本节利用目录协议模拟器来详细讲解了目录协议的工作过程。
-
●7.6目录的三种结构
本节介绍了目录的三种结构:全映像目录、有限映像目录、链式目录。
-
●7.7同步
本节讲解了多处理机的同步机制。
-
●7.8同时多线程
本节讲解了同时多线程。