信息科学与工程学院计算机科学系 2006年9月—2007年1月 课程类型:指选课 课程编号: 2043061 计算机体系结构 Computer Architecture 兰 州 大 学 2006年9月第6版 信息科学与工程学院计算机科学系 2006年9月—2007年1月 主讲:林 和(tel:8914000-8518) e_mail:linhe88@163.com 时间:周二(1-2:1、2、基地班 教室:榆中A302 3-4: 3、4班 教室:榆中B505 ) 单周四(3-4:1、2、基地班 1-2: 3、4班 教室:榆中A601 )
第1章 计算机设计基础 1. 计算机设计者的任务 2. 计算机性能评价 3. 构成计算机的成本组合 4. 用系统结构知识选购计算机 第1章 计算机设计基础 一个计算机设计者首先应该知道:设计一台计算机应经过哪几个过程,首先应做什么工作,一台计算机应有怎样的功能,如何评价这些功能,以及一台计算机的成本构成。 1. 计算机设计者的任务 2. 计算机性能评价 3. 构成计算机的成本组合 4. 用系统结构知识选购计算机 本章要点:介绍计算机设计者的任务、计算机性能评价和计算机成本的构成。
第 一 讲(1周) 2006年9月5日 一、知识点 1. 计算机设计者的任务 二、重点与难点 第 一 讲(1周) 2006年9月5日 一、知识点 1. 计算机设计者的任务 二、重点与难点 1. 理解计算机需求的功能、功能实现时软件和硬件的选择、计算机的设计过程。 2. 重点掌握计算机设计的几个原则。 三、应记住的一些的概念 1. 什么是计算机需求的功能? 2. 什么是硬件(直接)实现与软件(间接)实现? 3. 什么是研制成本与重复制造成本? 4. 什么是成本性能比与价格性能比? 5. 什么是Amdahl定律? 6. 什么是高频事件高速处理? 7. 什么是局部性原理(90/10局部性规则、时间局部性与空间局部性)? 8. 什么是计算机系统结构设计、计算机组成设计、计算机实现?
第 二 讲(1周) 2006年9月7日 一、知识点 1. 计算机性能评价 二、重点与难点 第 二 讲(1周) 2006年9月7日 一、知识点 1. 计算机性能评价 二、重点与难点 1. 理解衡量计算机性能的参数、CPU性能、计算机性能常用指标及如何正确评价计算机性能。 2. 重点掌握Amdahl定律与性能因子CPI 三、应记住的一些的概念 1. 什么是计算机的性能? 2. 什么是响应时间与CPU时间? 3. 什么是性能因子CPI? 4. 什么是MIPS与MFLOPS? 5. 什么是基准程序(实际程序、核心基准程序、简单基准程序、合成基准程序)? 6. 什么是SPEC基准程序?
第 三 讲(2周) 2006年9月12日 一、知识点 1. 构成计算机的成本组合 2. 用系统结构知识选购计算机 二、重点与难点 第 三 讲(2周) 2006年9月12日 一、知识点 1. 构成计算机的成本组合 2. 用系统结构知识选购计算机 二、重点与难点 1. 了解器件成本、直接成本、间接成本、报价单价格。 2. 了解用系统结构知识(多余的功能是浪费、针对应用范围选择程序、考虑整机性能与发展趋势、性价比和承受能力)选购计算机。 三、应记住的一些的概念 1. 什么是器件成本? 2. 什么是直接成本? 3. 什么是间接成本? 4. 什么是报价单价格?
计算机处理器设计的蓝图 第2章 指令集的设计 1. 指令集的设计原则 2. 操作系统、编译方法和系统结构的 相互影响 第2章 指令集的设计 1. 指令集的设计原则 2. 操作系统、编译方法和系统结构的 相互影响 3. 指令系统的测量方法 4. RISC设计思想 计算机处理器设计的蓝图 本章要点:介绍指令集的设计原则、操作系统和编译方法与系统结构的相互关系、指令系统的测量方法、简要介绍RISC设计思想。
第 四 讲(3周) 2006年9月12日 一、知识点 1. 计算机指令集的设计原则 二、重点与难点 第 四 讲(3周) 2006年9月12日 一、知识点 1. 计算机指令集的设计原则 二、重点与难点 1. 理解指令的分类、指令设计的原则、操作数的确定、寻址方式和指令长度的确定。 三、应记住的一些的概念 1. 什么是基本指令、专用指令与特权指令? 2. 什么是GPR型计算机? 3. 什么是存储器地址、I/O地址、寄存器地址? 4. 什么是寻址方式? 5. 什么是外部对齐与内部对齐? 6. 什么是移位对齐与网络对齐?
第 五 讲(3周) 2006年9月21日 编译对系统结构的影响和要求、 操作系统和系统结构的关系。 2. 什么是 一、知识点 第 五 讲(3周) 2006年9月21日 一、知识点 1. 操作系统、编译方法和系统结构的相互影响 二、重点与难点 1. 了解现代编译器的结构、 编译对系统结构的影响和要求、 操作系统和系统结构的关系。 三、应记住的一些的概念 1. 什么是? 2. 什么是
第 六 讲(4周) 2006年9月26日 一、知识点 1. 指令系统的测量方法 2. RISC的设计思想 二、重点与难点 第 六 讲(4周) 2006年9月26日 一、知识点 1. 指令系统的测量方法 2. RISC的设计思想 二、重点与难点 1. 了解测量的作用、测量项目、测量方法和测量举例。 2. 理解RISC设计的起源、RISC设计的原则。 三、应记住的一些的概念 1. 什么是动态测量与静态测量? 2. 什么是CISC计算机与RISC计算机? 3. 什么是软件危机? 4. 什么是“Simple is fast”和“Small is fast ” ?
控制器设计 第3章 CPU的设计 1. 引言 2. 数据通路 3. 指令执行原理 4. 控制器 5. 中断 6. 综合应用:一种控制器的设计 本章要点:以RISC样机指令集为例介绍处理器数据通路和控制器设计,以及中断系统。
第 七 讲(6周) 2006年10月10日 一、知识点 1. 数据通路 2. 指令执行原理 3. 硬连线控制、微程序控制。 二、重点与难点 第 七 讲(6周) 2006年10月10日 一、知识点 1. 数据通路 2. 指令执行原理 3. 硬连线控制、微程序控制。 二、重点与难点 1. 以RISC样机指令集为例理解处理器数据通路和指令执行原理 2. 掌握硬连线控制、微程序控制。 三、应记住的一些的概念 1. 什么是CPU的CPI与时钟频率? 2. 什么是数据通路及控制器? 3. 什么是控存?
第 八 讲(7周) 2006年10月17日 一、知识点 1. 中断数据通路 2. 硬连线控制设计、微程序控制的实现方法、微程序的控制改造。 第 八 讲(7周) 2006年10月17日 一、知识点 1. 中断数据通路 2. 硬连线控制设计、微程序控制的实现方法、微程序的控制改造。 二、重点与难点 1.了解中断。 2.了解硬连线控制设计、微程序控制的实现方法与微程序的控制改造。 三、应记住的一些的概念 1. 什么是同步中断与异步中断? 2. 什么是用户请求的中断与强迫中断? 3. 什么是用户可屏蔽中断与不可屏蔽中断? 4. 什么是指令运行中产生的中断与指令间产生的中断? 5. 什么是A/J 格式与T/M/B格式?
第4章 流水线技术 1. 流水线处理的基本原理 2. 流水线工作的主要障碍—流水线竞争 3. 多周期操作的流水线策略 4. 流水线的动态调度 第4章 流水线技术 1. 流水线处理的基本原理 2. 流水线工作的主要障碍—流水线竞争 3. 多周期操作的流水线策略 4. 流水线的动态调度 5. 高级流水线—进一步开发指令集的并行处理 6. 非线形流水线 本章要点:流水线技术基础和高级流水线技术两大部分。基础技术包括流水线处理的基本原理和流水线的动态调度、指令级并行性的开发和非线形流水线等内容。
第 九 讲(7周) 2006年10月19日 一、知识点 1. 流水线处理的基本原理 二、重点与难点 1. 掌握流水线处理的基本结构与时空图; 第 九 讲(7周) 2006年10月19日 一、知识点 1. 流水线处理的基本原理 二、重点与难点 1. 掌握流水线处理的基本结构与时空图; 线性流水线和非线性流水线的区别; 流水状态图与流水的功能状态图。 三、应记住的一些的概念 1. 什么是流水线技术? 2. 什么是流水级或流水节拍? 3. 什么是流水线工作的三个阶段? 4. 什么是操作部件级、指令级与处理器级流水线? 5. 什么是单功能流水线与多功能流水线? 6. 什么是静态流水线与动态流水线? 7. 什么是标量流水线与向量流水线? 8. 什么是线性流水线与非线性流水线?
第 十 讲(8周) 2006年10月24日 一、知识点 1. 流水线工作的主要障碍—流水线竞争 二、重点与难点 第 十 讲(8周) 2006年10月24日 一、知识点 1. 流水线工作的主要障碍—流水线竞争 二、重点与难点 1.由资源缺乏引起的资源竞争,导致指令形成重叠执行的结构竞争; 由指令间数据相关而引起的数据竞争; 数据竞争的三种形式:⑴ 先写后读相关 RAW (read after write) ⑵ 写写相关 WAW (write after write) ⑶ 先读后写相关 WAR (write after read) 由程序指针PC值的改变而引起的控制竞争; 三、应记住的一些的概念 1. 什么是结构竞争? 2. 什么是数据竞争? 3. 什么是控制竞争? 4. 什么是停顿(stall)或气泡(bubble)? 5. 什么是旁路(bypassing)? 6. 什么是指令发射(instruction issue) 和指令已发射(issued)?
第 十一 讲(9周) 2006年10月31日 一、知识点 1. 流水线工作的主要障碍—流水线竞争 2. 多周期操作的流水线策略 第 十一 讲(9周) 2006年10月31日 一、知识点 1. 流水线工作的主要障碍—流水线竞争 2. 多周期操作的流水线策略 二、重点与难点 1. 由资源缺乏引起的资源竞争,导致指令形成重叠执行的结构竞争; 由指令间数据相关而引起的数据竞争; 由程序指针PC值的改变而引起的控制竞争; 2. 基本流水线的扩展、长延时流水线的竞争及其消除 三、应记住的一些的概念 1. 什么是控制竞争? 2. 什么是延时槽? 3. 什么是精确中断? 4. 什么是完全流水与非完全流水? 5. 什么是乱序?
第 十二 讲(9周) 2006年11月2日 一、知识点 1.流水线的动态调度 二、重点与难点 1. 数据竞争竞争的动态调度 第 十二 讲(9周) 2006年11月2日 一、知识点 1.流水线的动态调度 二、重点与难点 1. 数据竞争竞争的动态调度 ※记分牌的几级流水步骤、基本结构、组成信息与数据结构; ※Tomasulo动态调度算法与保存站思想的引入; Tomasulo算法的几级流水步骤、基本硬件结构、组成信息。 2. 控制冲突的硬件预测 转移预测器思想的引入与两位转移预测方案的优先状态图 三、应记住的一些的概念 1. 什么是流水线静态调度与流水线动态调度? 2. 什么是乱序发射? 3. 什么是记分牌? 4. 什么是窗口、逆相关、输出相关与名称相关? 5. 什么是转移预测缓冲器?
第 十三 讲(10周) 2006年11月7日 5. 什么是指令级并行性(ILP)与线性基本块? 一、知识点 1. 流水线的动态调度 第 十三 讲(10周) 2006年11月7日 一、知识点 1. 流水线的动态调度 二、重点与难点 1. 数据竞争竞争的动态调度 ※Tomasulo动态调度算法与保存站思想的引入; Tomasulo算法的几级流水步骤、基本硬件结构、组成信息。 2. 控制冲突的硬件预测 转移预测器思想的引入与两位转移预测方案的优先状态图 三、应记住的一些的概念 1. 什么是寄存器换名? 2. 什么是Tomasulo算法? 3. 什么是硬件转移预测与转移预测缓冲器? 4. 什么是(1,1)维转移预测器与(m,n)维预测器? 5. 什么是指令级并行性(ILP)与线性基本块?
第 十四 讲(11周) 2006年11月14日 5. 什么是预约表? 一、知识点 1. 高级流水线——进一步开发指令集的并行处理 第 十四 讲(11周) 2006年11月14日 一、知识点 1. 高级流水线——进一步开发指令集的并行处理 2. 非线性流水线 二、重点与难点 1. 多发射处理器、编译支持指令级并行性开发、 在硬件支持下进一步开发并行性、超级流水线 。 三、应记住的一些的概念 1. 什么是超标量流水线处理器(SP)与超长指令字(VLIW)处理技术? 2. 什么是相关性分析、软件流水与路径调度? 3. 什么是投机? 4. 什么是超级流水线(superpipeline)技术? 5. 什么是预约表?
第5章 存储器层次结构 1. 存储器层次结构的基本概念 2. Cache/主存存储器层次结构 3. 改进Cache/主存性能的技术 第5章 存储器层次结构 1. 存储器层次结构的基本概念 2. Cache/主存存储器层次结构 3. 改进Cache/主存性能的技术 4. 主存的组织方式 5. 虚拟存储器 6. 基于程序行为特性的优化技术 本章要点:存储器层次结构的基本概念、Cache、主存和虚存等基础部分和改进Cache/主存性能的新技术,最后以Alpha机存储系统为实例综合介绍存储系统的工作过程。
第 十五 讲(11周) 2006年11月16日 一、知识点 1. 存储器层次结构的基本概念 2. Cache/主存存储器层次结构 第 十五 讲(11周) 2006年11月16日 一、知识点 1. 存储器层次结构的基本概念 2. Cache/主存存储器层次结构 二、重点与难点 1. 理解存储器的基本性能参数、存储器层次结构的基本原理、性能及对CPU设计的影响与设计的基本问题。 2. 重点掌握Cache/主存的映象方式、Cache/主存的映象机构、Cache/主存的替换策略、Cache/主存的写策略 三、应记住的一些的概念 1. 什么是存储器性能参数的三个方面(容量、速度和价格)? 2. 什么是块、命中率、失配率、命中时间、失配损失? 3. 什么是平均存储访问时间(AMT=HT+M×MP)? 4. 什么是标志存储器?
第 十六 讲(12周) 2006年11月21日 一、知识点 1. Cache/主存存储器层次结构 2. 改进Cache/主存性能的技术 第 十六 讲(12周) 2006年11月21日 一、知识点 1. Cache/主存存储器层次结构 2. 改进Cache/主存性能的技术 二、重点与难点 1. 掌握Cache/主存的映象方式、Cache/主存的映象机构、Cache/主存的替换策略、Cache/主存的写策略、Cache主存存储器层次结构实例、Cache/主存的性能分析。 2. 理解降低失配率、缩短命中时间、减少失配损失(①加快写失配操作;②加快读失配操作;③非阻塞Cache;④两级Cache)、Cache的一致性问题。 三、应记住的一些的概念 1. 什么是直写(write through)与回写(write back)? 2. 什么是“干净的”行、“脏的”行与“脏位”(“修改位”) ? 3. 什么是写停顿延迟(write stall)? 4. 什么是一致Cache(unified Cache)与混合Cache(mixed Cache)?
第 十七 讲(13周) 2006年11月28日 一、知识点 1. 改进Cache/主存性能的技术 2. 主存的组织方式 3. 虚拟存储器 第 十七 讲(13周) 2006年11月28日 一、知识点 1. 改进Cache/主存性能的技术 2. 主存的组织方式 3. 虚拟存储器 4. 基于程序行为特性的优化技术 二、重点与难点 1. 理解降低失配率、缩短命中时间、减少失配损失、Cache的一致性问题。 2. 了解单体单字主存结构、单体多字主存结构、多体交叉主存结构、无冲突模块访问。 3. 了解虚拟存储器与Cache/主存存储层次的差别、虚拟存储器设计的基本问题、存储共享和保护、虚拟存储器实例。 4. 了解指令预取缓冲器、寄存器和寄存器窗口。 三、应记住的一些的概念 1. 什么是简单地非阻塞Cache与复杂的非阻塞Cache ? 2. 什么是一级Cache (片内Cache)与二级Cache (片外Cache) ? 3. 什么是单体单字主存结构、单体多字主存结构、多体交叉主存结构? 4. 什么是虚拟存储器?
第6章 计算机输入/输出系统 1. 引言 2. 输入/输出设备类型 3. I/O子系统的控制方式 4. 总线 5. I/O子系统性能测量 第6章 计算机输入/输出系统 1. 引言 2. 输入/输出设备类型 3. I/O子系统的控制方式 4. 总线 5. I/O子系统性能测量 6. 总结 本章要点:介绍输入/输出设备类型、输入/输出子系统的控制方法、总线、输入/输出子系统性能测量冗余磁盘阵列(RAID)技术。
第 十八 讲(13周) 2006年11月30日 2. 什么是网络通讯设备? 3. 什么是存储设备? 4. 什么是RAID? 一、知识点 第 十八 讲(13周) 2006年11月30日 一、知识点 1. 输入/输出设备类型 二、重点与难点 1.了解数据表示设备、网络通讯设备、存储设备、廉价磁盘冗余阵列。 三、应记住的一些的概念 1. 什么是数据表示设备? 2. 什么是网络通讯设备? 3. 什么是存储设备? 4. 什么是RAID?
第 十九 讲(14周) 2006年12月5日 2. 总线 2. 了解总线分类与选择、总线标准。 2. 什么是SCSI总线? 第 十九 讲(14周) 2006年12月5日 一、知识点 1. I/O子系统的控制方式 2. 总线 二、重点与难点 1. 理解程序控制、I/O处理器。 2. 了解总线分类与选择、总线标准。 三、应记住的一些的概念 1. 什么是同步总线与异步总线? 2. 什么是SCSI总线? 3. 什么是PCI总线? 4. 什么是IPI总线? 5. 什么是EISA总线?
第 二十 讲(15周) 2006年12月12日 2. 什么是吞吐量? 3. 什么是服务时间、排队时间、系统时间到、达速率? 第 二十 讲(15周) 2006年12月12日 一、知识点 1. I/O子系统性能测量 二、重点与难点 1. 了解I/O性能预测、I/O系统性能测量。 三、应记住的一些的概念 1. 什么是响应时间? 2. 什么是吞吐量? 3. 什么是服务时间、排队时间、系统时间到、达速率? 4. 什么是服务器长度、队列长度、系统长度? 5. 什么是Little定律? 6. 什么是系统利用率(通讯密度) ? 7. 什么是队列规则?
第7章 网络并行计算系统 1. 引言 2. 通用互连网络 3. 工作站并行计算系统(NOW计划)介绍 4. 总结:虚拟并行机PVM 第7章 网络并行计算系统 1. 引言 2. 通用互连网络 3. 工作站并行计算系统(NOW计划)介绍 4. 总结:虚拟并行机PVM 本章要点: 应用通用互连网络和商品化的工作站构成并行计算系统的硬软件技术。包括互连网络原理、工作站网络并行计算系统实例介绍和实现网络并行计算的系统软件技术。
第 二十一 讲(15周) 2006年12月14日 2. 什么是带宽? 3. 什么是飞行时间、传输时间、传递时延? 第 二十一 讲(15周) 2006年12月14日 一、知识点 1. 通用互连网络 二、重点与难点 1. 以应用通用互连网络和商品化的工作站构成并行计算系统的硬软件技术为重点。理解网络原理、多机互连网络。 三、应记住的一些的概念 1. 什么是MPP? 2. 什么是带宽? 3. 什么是飞行时间、传输时间、传递时延? 4. 什么是发送方开销、接受方开销、总时延? 5. 什么是中分带宽? 6. 什么是虫蚀法与捷径法? 7. 什么是电路交换与分组交换?
第 二十二 讲(16周) 2006年12月19日 一、知识点 1. 通用互连网络 2. 工作站并行计算系统(NOW计划)介绍 二、重点与难点 第 二十二 讲(16周) 2006年12月19日 一、知识点 1. 通用互连网络 2. 工作站并行计算系统(NOW计划)介绍 二、重点与难点 1. 以应用通用互连网络和商品化的工作站构成并行计算系统的硬软件技术为重点。了解工作站并行计算系统(NOW计划)介绍。 三、应记住的一些的概念 1. 什么是ATM(异步传输技术) ? 2. 什么是协议族? 3. 什么是对等(peer-to-peer)通讯? 4. 什么是分组(packet)或帧(frame) ? 5. 什么是TCP/IP ? 6. 什么是打包与解包? 7. 什么是网络顺序?
第 二十三 讲(17周) 2006年12月26日 一、知识点 1. 虚拟并行机PVM 二、重点与难点 第 二十三 讲(17周) 2006年12月26日 一、知识点 1. 虚拟并行机PVM 二、重点与难点 1. 以应用通用互连网络和商品化的工作站构成并行计算系统的硬软件技术为重点。了解PVM结构简介、PVM内部结构分析。 三、应记住的一些的概念 1. 什么是? 2. 什么是? 3. 什么是? 4. 什么是?
第8章 多处理器计算机结构 1. 引言 2. 集中共享存储器式多处理器体系结构 3. 分布共享存储器式多处理器体系结构 4. 同步 第8章 多处理器计算机结构 1. 引言 2. 集中共享存储器式多处理器体系结构 3. 分布共享存储器式多处理器体系结构 4. 同步 5. 存储器连贯性模型 本章要点:共享存储器系统结构的多处理器系统,包括集中共享存储器和分布共享存储器结构、同步机制和存储器一致性模型等内容。
第 二十四 讲(17周) 2006年12月28日 一、知识点 1. 集中共享存储器式多处理器体系结构。 二、重点与难点 第 二十四 讲(17周) 2006年12月28日 一、知识点 1. 集中共享存储器式多处理器体系结构。 二、重点与难点 1. 了解并行体系结构的分类、通信模型和存储器体系结构、通信机制的性能度量、不同通信机制的优点、并行处理带来的挑战。 2. 理解实施一致性的基本机制、两种监听协议、基本实现技术、协议实例。 三、应记住的一些的概念 1. 什么是SISD、SIMD、MISD、MIMD ? 2. 什么是UMA与DMA ? 3. 什么是私有数据与共享数据? 4. 什么是Cache一致性问题? 5. 什么是写时更新或写时广播协议?
第 二十五 讲(18周) 2007年1月2日 一、知识点 1. 分布共享存储器式多处理器体系结构 2. 同步 二、重点与难点 第 二十五 讲(18周) 2007年1月2日 一、知识点 1. 分布共享存储器式多处理器体系结构 2. 同步 二、重点与难点 1. 理解基本目录的Cache一致性协议基础、目录协议示例、基于目录的一致性协议性能。 2. 了解基于硬件原语、利用一致性机制实现锁功能、同步性能要求、栅栏同步、大规模机器的同步。 三、应记住的一些的概念 1. 什么是本地(local)节点? 2. 什么是家(home)节点? 3. 什么是远程(remote)节点? 4. 什么是读失配与写失配? 5. 什么是链接load指令、加锁load指令、条件store指令? 6. 什么是自旋锁?
第 二十六 讲(19周) 2007年1月9日 2. 什么是反相关、输出相关、真相关? 3. 什么是释放连贯性? 一、知识点 第 二十六 讲(19周) 2007年1月9日 一、知识点 1. 存储器连贯性模型 二、重点与难点 1. 了解程序员的观点、存储器连贯性的松弛模型、松弛模型的实现、松弛模型的性能、对连贯性模型的最后评论。 三、应记住的一些的概念 1. 什么是释放与请求? 2. 什么是反相关、输出相关、真相关? 3. 什么是释放连贯性?
第 二十七 讲(19周) 2007年1月11日 2. 名词解释(共15分,每小题3分) 3. 问答题 (共16分,每小题4分) 第 二十七 讲(19周) 2007年1月11日 一、课程复习 计算机体系结构(第一章~第八章) 二、课程考试 占用上课时间考试 三、考题曾经出现的类型及分数分布 1. 填空题(共25分,每小空1分) 2. 名词解释(共15分,每小题3分) 3. 问答题 (共16分,每小题4分) 4. 计算题(共24分,每小题8分) 5. 论文题(共20分。字数:1000字~1200字)
计算机体系结构 Computer Architecture 兰 州 大 学 课程全部讲完了。谢谢! 信息科学与工程学院计算机科学系 兰 州 大 学 信息科学与工程学院计算机科学系 2006年9月18日 计算机体系结构 Computer Architecture 课程全部讲完了。谢谢!