Computer Organization and Design The Hardware/Software Interface Fifth Edition
计算机组成与设计期末复习资料
(数据科学与计算机学院 3 班,2017 年 12 月)
期末课程设计要求:①自选课程知识体系范畴任一知识点,用硬件实现或软件模拟实现;
②按论文格式要求完成课程论文 1 篇(包括选题背景、技术路线、实现过程、效果评价);
③准备第 18 周的课程设计交流(源程序及论文的电子版上传给学委,交论文打印稿)。
第一章 计算机概要与技术
1. 计算机的分类、划代和应用特性
早期:按功能(规模)、器件(电子管晶体管集成电路)、行业应用来划分
现代(后 PC 时代):着重从应用特性来划分:桌面计算、服务器、嵌入式计算、个人移
动设备、集群/仓库级计算机(Clusters/Warehouse Scale Computer,WSC,通过云计算实现,
软件即服务,Software as a Service,SaaS)
理解行业应用的交叉渗透,计算机面临的瓶颈现状、变迁以及应用需求驱动的观点
2. 计算机设计的重要原则和思想(注意理解功能与性能的含义)
面向摩尔定律的设计
使用抽象简化的设计
大概率事件优先的原则
Amdahl 定律(性能改进递减规则):如果仅仅对计算任务中的一部分做性能改进,则改
进得越多,所得到的总体性能的提升就越有限。
重要推论:如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过
1/(1-可改进比例)
加速比:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占
系统中总执行时间的百分比。
CPU 性能公式:执行一个程序所需的 CPU 时间
流水线、并行性以及预测对提高机器性能的意义
解决存储器容量、速度和价格三者矛盾的办法:引入存储器层次结构,理论依据:程序
局部性(时间局部性和空间局部性)
通过冗余提高可靠性(应对故障的主要方法):冗余编码(提高信息传输的可靠性)、磁
盘冗余阵(RAID( Redundant Array of Independent Disk)
3. 计算机系统组成:硬件设备+软件系统
硬件设备:计算机系统中一切物理装置的总称。计算机发展的简史(需求驱动)、冯·诺
依曼(John von Neumann,1903-1957)的特点:按地址访问和顺序执行
计算机由运算器、存储器、控制器、输入设备和输入设备五大部件组成。
第 1页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
第 6 级:应用语言虚拟机
第 5 级:高级语言虚拟机
第 4 级:汇编语言虚拟机
第 3 级:操作系统虚拟机
第 2 级:机器语言(传统机器级)
第 1 级:微程序机器级
计算机系统层次结构
输入
输入
设备
指令流
控制器
运算器
(ALU)
数据流
存储器
输出
输出
设备
控制流
冯·诺依曼(John von Neumann,1903-1957)结构
指令和数据以同等地位存入于存储器内,并可按地址寻访。
指令和数据均用二进制数表示。
指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存
储器中的位置。
指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结
果或根据设定的条件改变执行顺序。
机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
以运算器为中心→以存储器为中心,5 大部件→3 大部件,数据通路-分离式→总线式,
单核 CPU→多核微处理器,依托 Cache 实现哈佛结构的存储体系。
软件:计算机系统中的程序、数据和文档(系统软件和应用软件)
系统软件(支撑环境):操作系统、编译系统,解释和编译,高级语言到机器语言,以
汇编语言为例:编辑(.txt)-编译(.obj)-链接(.com/exe)-运行
应用软件(工具软件和用户程序)
4. 计算机系统的功能和性能
功能:(Function),事物或方法所发挥的有利作用、效能。性能(performance)器物
所具有的性质与效用。
从计算机用户或设计者的角度描述性能测量的度量指标和标准
响应时间(执行时间),计算机完成某任务的总时间
吞吐率(带宽),单位时间内完成的任务数量
第 2页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
性能度量公式:CPU 性能公式:CPU 时间=指令数*CPI*时钟周期时间
或
CPU 时间=指令数*CPI/时钟频率
指令数:执行某程序所需的指令数量;CPI:执行某个程序段时每条指令所需的时钟周
期数;时钟周期时间:时钟频率的倒数
功耗墙:功耗(Power),功率的损耗,在单位时间中所消耗的能源的数量,单位为 W;
能耗(Energy),能源转换实物量的损耗,单位是焦耳/秒
SPEC CPU 基准测试程序
事务处理(TP)性能测试基准程序:用于测试计算机在事务处理方面的能力,包括数据
库访问和更新等。TPC(Transaction Processing Performance Council,事务处理性能委员
会),它的作用是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理
测试结果的发布。
5. 例题与思考
兼容性:向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)
档的机器。向前(后)兼容:按某个时期投入市场的某种型号机 器编制的程序,不加修改
地就能运行于在它之前(后)投入市场的机器。系列机(向后兼容)、模拟和仿真、虚拟机、
计算机性能随时间下移、透明性、计算机系统逻辑功能等效性、数据存放方式(大端和小端
方式)、堆栈及其地址增长方式(后进先出,向上增长与向下增长)、计算机系统结构的生命
周期(三个 5-7 年的划分)、第五代计算机(计算机分类的变化和划代的瓶颈)
机器档次
高
向上兼容
向下兼容
低
向前兼容
当前机器
向后兼容
时间
IS
弗林分类法(Flynn)
CS
CU
PU
DS
MM
DS1
DS2
SM
MM1
MM2
…
DSn
MMm
PU1
PU2
…
PUn
CS
CU
IS
(a)SISD 计算机
(b)SIMD 计算机
CS1
CS2
CSn
CU1
CU2
…
CUn
PU1
PU2
…
PUn
DS
IS1
IS2
SM
MM1 MM2
…
MMm
…
ISn
IS2
IS1
ISn
DS
CS1
CS2
CSn
CU1
CU2
…
CUn
PU1
PU2
…
PUn
DS1
DS2
SM
MM1
MM2
…
DSn
MMm
…
(c)MISD 计算机
(d)MIMD 计算机
IS:指令流,DS:数据流,CS:控制流
CU:控制部件,PU:处理部件,MM 和 SM:存储器。
第 3页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
第二章 计算机的语言
1. 数据表示
数制:进位计数制(基数、位权)、数制转换(除基取余,乘基取整)
码制:机器数(符号数字化)、机器数中真值 0 的表示
原码、反码、补码和移码(0 的表示唯一)
ASCII 编码(字符 0,A,a 的编码)、汉字编码 GB2312-80(区位码-内码)、Unicode。
有符号数和无符号数(表示范围)、位、字节、字长、半字、双字的概念
2. 指令系统(指令集)
指令的表示:指令格式(操作码+操作数(或操作数地址)),指令操作(数据传送、算
逻运算、分支与跳转等)
指令集结构分为堆栈、累加器和通用寄存器结构,根据数据来源又分为 RR 和 RM 型
指令格式设计(完整性、规整性、高效率、兼容性)、统一编址和独立编址(x86)
定长编码和变长编码及其优化编码(哈夫曼编码)
寻址方式(MIPS):立即数寻址、寄存器寻址、基址寻址、PC 相对寻址、伪寻址
3. 实例讨论
①X86 指令集(CISC 结构、变长指令集)
②MIPS 指令集(RISC 结构,定长指令集)
③ARMV7(32 位)指令集(RISC 结构)
注意 ARMV7(32 位)指令集比较与 ARM 指
令集的异同。
寻址方式(x86):立即数寻址、寄存器寻
址、直接寻址、寄存器间接寻址、存储器相对
寻址、基址变址寻址、基址变址相对寻址、寄
存器比例寻址(注意理解 x86 寻址方式中基址
寻址和变址寻址的异同)
指令系统:数据传送、算逻运算、移位操
作、串操作、控制转移、处理机控制
汇编程序设计
①汇编程序框架:COM 型和 EXE 型
②汇编指令集
③常用中断调用和功能
④汇编程序设计
MIPS 寻址模式(立即数寻址、寄存器寻址、基址寻址、PC 相对寻址、伪寻址)
第 4页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
x86 CPU 内部结构框图
例题与思考
第 5页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
第三章 计算机的算术运算
1. 定点数的加减运算
溢出(上溢,超过最大表示范围;下
溢,小于最小表示范围)
移位(算术移位、逻辑移位、循环
移位),算术右移(最高位保持不变)
2. 定点数乘除运算流程图与结构框图
3. 浮点数的表示和运算
浮点数运算步骤:对阶(小阶看齐大阶)、尾数求和(差)、规格化、舍入、判溢出,
移位时的向左规格化(规格化)和向右规格化(溢出校正)
注意理解浮点数四则运算通式
4. IEEE754 标准及其转换
5. 浮点运算流程图与结构框图
注意浮点运算中的两个加法器,阶相加和尾数相加
6. 多功能算逻运算单元设计(ALU)
一位全加器-四位全加器-溢出判断(异或电路)-加减控制(求补电路)-先行进位(进
位链设计)-函数发生器设计
右图是具有行波进位、溢出判断的加
减法器,并在此基础上增加先行进位和逻
辑运算功能,由此构成多功能算术逻辑运
算单元(ALU)。
7. 并行性和计算机算术:子字并行
子字并行(在一个宽字内部进行的并行操作)
例题与思考
例题:已知2[X]补=1.0101001,1/2[Y] 原=1.0101100,
⑴ 用变形补码计算:[X] 补+[Y] 补,判断结果有无溢出。
第 6页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
⑵ 画出实现补码定点加减法(具有溢出判断)的硬件结构图。
【分析与解答】(1)[X]补=1.1010100,1/2[Y]补=1.1010100,[Y]补=1.0101000
[X]补+[Y]补=11.1010100+11.0101000=10.1111100,溢出
(2)补码定点加减法硬件结构图(用加法器、求补电路、溢出判断构成框图则可)
第四章 处理器
第 7页
Computer Organization and Design The Hardware/Software Interface Fifth Edition
1. 数据通路
2. 流水线技术
①基本原理:流水线把一个处理过程分解为若干个子过程(段),每个子过程由一个专门
的功能部件来实现。流水线中各段的时间应尽可能相等,否则将引起流水线堵塞、断流。时
间长的段将成为流水线的瓶颈。
流水线每一个功能部件的后面都要有一个缓冲寄存器(锁存器),称为流水寄存器。作
用是在相邻的两段之间传送数据,以保证提供后面要用到的数据,并把各段的处理工作相互
隔离。流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥
流水线的效率。流水线需要有通过时间和排空时间。流水线的分类。
②流水线的性能指标
吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。TP=n/Tk
n:任务数;Tk:处理完成 n 个任务所用的时间
流水线的实际吞吐率和最大吞吐率 TP=[n/(k+n-1)]TPmax
解决流水线瓶颈问题的常用方法:细分瓶颈段和重复设置瓶颈段
加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。
S=Ts/Tk,实际加速比和最大加速比:E=S/K,效率:E=n/(k+n-1)
即流水线中的设备实际使用时间与整个运行时间的比值,即流水线设备的利用率。
流水线设计中的若干问题:瓶颈问题、流水线的额外开销(流水寄存器延迟和时钟偏移
开销)、冲突问题
描述流水线的工作,最常用的方法是时间-空间图(时空图)
③相关与流水线冲突:
相关的 3 种类型:数据相关(也称真数据相关)、名相关(反相关和输出相关)、控制相
关(由分支指令引起的相关)
流水线的 3 种冲突类型:结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的
冲突。数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的
冲突。控制冲突:流水线遇到分支指令和其他会改变 PC 值的指令所引起的冲突。由分支指
令引起的延迟称为分支延迟。可采取两种措施来减少分支延迟:在流水线中尽早判断出分支
转移是否成功;尽早计算出分支目标地址。
3. CPU 中断逻辑
(1)基本概念
中断源(人为设置的中断(访管指令)、程序性事故、
硬件故障、I/O 设备、外部事件)
中断的分类:(可屏蔽中断和不可屏蔽中断、内部中
断和外部中断、硬中断和软中断)
(2)中断系统需要解决的 7 个问题
①各中断源如何向 CPU 提出中断请求;
②当多个中断源同时提出中断请求时,中断系统如何
优先响应哪个中断源的请求;
中断判优逻辑:硬件排队电路和软件轮询方法
③CPU 在什么条件、什么时候、以什么方式来响应中
断;
中断服务程序入口地址的寻找:硬件向量法和软件查
询法;中断响应的条件:中断允许触发器必须为 1;中断
响应的时间:当前指令周期结束
第 8页