计算机组成原理内容总结.docx
《计算机组成原理内容总结.docx》由会员分享,可在线阅读,更多相关《计算机组成原理内容总结.docx(22页珍藏版)》请在冰豆网上搜索。
计算机组成原理内容总结
第一章计算机系统概论
1、基本概念
硬件:
是指可以看得见、摸得着的物理设备(部件)实体,一般讲硬件还应包括将各种硬件设备有机组织起来的体系结构。
软件:
程序(代码)+数据+文档。
由两部分组成,一是使计算机硬件能完成运算和控制功能的有关计算机指令和数据定义的组合,即机器可执行的程序及有关数据;二是机器不可执行的,与软件开发、过程管理、运行、维护、使用和培训等有关的文档资料。
固件:
将软件写入只读存储器ROM中,称为固化。
只读存储器及其写入的软件称为固件。
固件是介于硬件和软件之间的一种形态,从物理形态上看是硬件,而从运行机制上看是软件。
响应时间:
表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。
处理机字长:
常称机器字长,指处理机运算中一次能够完成二进制运算的位数,如32位机、64位机。
CPI:
执行一条指令所需要的平均时钟周期数,可用下式计算
CPI=执行某段程序所需的CPU时钟周期数/该程序包含的指令条数。
MIPS:
平均每秒执行多少百万条定点指令数,用下式计算
MIPS=指令条数/(程序执行时间×106)
FLOPS:
平均每秒执行浮点操作的次数,用来衡量机器浮点操作的性能,FLOPS=程序中的浮点操作次数/程序执行时间(秒)
指令流:
在取指周期中从内存中读出的信息流称为指令流,它通过总线、CPU内部数据通路流向控制器。
数据流:
在执行周期中从内存中读出的信息流称为数据流,它通过总线、CPU内部数据通路流向运算器。
2、冯·诺依曼计算机
(1)主要设计思想
由运算器、控制器、存储器、输入设备、输出设备五大部分构成计算机硬件系统概念结构;
采用二进制代码表示数据和指令;
采用存储程序控制方式(指令驱动)。
(2)主要组成部分及结构
要求:
能简要描述清楚其工作过程。
3、计算机如何区分指令和数据?
从时间上来说,取指令事件发生在取指周期(取指令阶段),取数据事件发生在执行周期(执行指令阶段);
从空间(处理部件)上来说,指令一定送给控制器,数据一定送给运算器。
第二章运算方法和运算器
1、原码、补码、反码、移码的求法及表示范围。
(1)首先应明确机器字长;
(2)原码、补码、反码、移码的求法;
(3)表示范围;
机器字长=8
机器字长=16
定点小数
定点整数
定点小数
定点整数
原码
-(1-2-7)
至
+(1-2-7)
-127
至
+127
-(1-2-15)
至
+(1-2-15)
-32767
至
+32767
补码
-1
至
+(1-2-7)
-128
至
+127
-1
至
+(1-2-15)
-32768
至
+32767
反码
-(1-2-7)
至
+(1-2-7)
-127
至
+127
-(1-2-15)
至
+(1-2-15)
-32767
至
+32767
移码
-1
至
+(1-2-7)
-128
至
+127
-1
至
+(1-2-15)
-32768
至
+32767
2、补码加减法运算,加法运算溢出检测
(1)补码加法运算规则
(2)补码减法运算规则
(3)变形补码表示法
00表示正数
11表示负数
(4)变形补码运算:
规则同补码加减法运算规则,双符号位数值化、参加运算。
(5)加法运算溢出检测
1)单符号位法
2)双符号位法
参见例题、习题
3、并行加法器的进位方法及逻辑表达式
(1)直接从全加器的进位公式推导
(2)串行进位:
某位的运算必须等到下一位的进位传递来以后,才能开始。
也就是进位从最低位向最高位逐级传递,速度慢。
C1=G0+P0C0
C2=G1+P1C1
C3=G2+P2C2
C4=G3+P3C3
(3)并行进位:
所有进位可以同时产生,实际上只依赖于数位本身、来自最低位的进位C0。
C1=G0+P0C0
C2=G1+P1G0+P1P0C0
C3=G2+P1G1+P2P1G0+P2P1P0C0
C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0
其中:
G0=A0B0P0=A0+B0
G1=A1B1P1=A1+B1
G2=A2B2P2=A2+B2
G3=A3B3P3=A3+B3
Gi:
进位产生函数,表示两个数位都为1
Pi:
进位传递函数,表示某位上的两个数位有一个为1,如果来自低位的进位为1,则肯定会产生进位。
4、浮点加减法运算方法
●比较阶码大小、对阶
●尾数加减法运算
●规格化处理
●尾数舍入处理
●溢出判断
参见例题、习题
5、流水线原理、时钟周期确定、时间公式、加速比、时空图
(1)把一个任务分割为一系列的子任务,使各子任务在流水线中时间重叠、并行执行。
过程段Si之间重叠执行。
L是缓冲寄存器。
(2)时钟周期的确定
所有Si中执行时间最大者+L的延时,参见例2.32。
(3)时间公式(理想)
(K+(n-1))T
(4)加速比
●Ck=TL/Tk=(n·k)/(k+(n-1))
●当任务数很大时,采用一个任务的完成时间相比,参见例2.32。
(5)流水线时空图
第三章存储系统
1、基本概念
存储容量:
指一个存储器中可以容纳的存储单元总数。
存储单元通常存放一个字节,因此存储容量通常用字节数来表示,如GB。
存取时间:
读操作时间指一次读操作命令发出到该操作完成、数据读出到数据总线上所经历的时间。
通常写操作时间等于读操作时间,故称为存取时间。
存取周期:
也称读写周期,指连续启动两次读/写操作所需间隔的最小时间。
通常存储周期略大于存取时间,因为数据读出到总线上,还需要经过数据总线、CPU内部数据通路传递给控制器/运算器。
存储器带宽:
单位时间里存储器所能存取的信息量,通常以位/秒或字节/秒做度量单位。
虚拟存储器:
是通过硬件/操作系统,实现主存-外存之间的信息部分调入调出,为用户提供一个比实际物理内存容量大得多的存储器逻辑空间,使之为更大或更多的程序所使用。
主存-外存之间的信息部分调入调出过程对用户透明。
2、存储器的分级结构
对存储器的要求是容量大、速度快、成本低,但是在一个存储器中要求同时兼顾这三个方面的要求是困难的。
为了解决这方面的矛盾,目前计算机系统中通常采用三级存储体系结构,即高速缓冲存储器、主存储器和外存储器。
CPU能直接访问高速缓冲存储器cache和内存;外存信息必须调入内存后才能为CPU进行处理。
(1)高速缓冲存储器:
高速小容量半导体存储器,强调快速存取指令和数据;
(2)主存储器:
介于cache与外存储器之间,用来存放计算机运行期间的大量程序和数据。
要求选取适当的存储容量和存取周期,使它能容纳系统的核心软件和较多的用户程序;
(3)外存储器:
大容量辅助存储器,强调大的存储容量,以满足计算机的大容量存储要求,用来存放系统程序、应用程序、数据文件、数据库等。
3、主存储器的逻辑设计
第一步:
根据设计容量、提供的芯片容量构建地址空间分布图(类似搭积木),可能需要字、位扩展;
第二步:
用二进制写出连续的地址空间范围;
第三步:
写出各片组的片选逻辑表达式。
第四步:
按三总线分析CPU和选用存储器芯片的数据线、地址线、控制线,以便设计CPU与存储器的连接。
第五步:
设计CPU与存储器连接的逻辑结构图。
参见例题、习题
4、顺序存储器和交叉存储器的定量分析
顺序存储器:
mT
交叉存储器:
可以使用流水线存取,T+(m-1)τ
参见例题、习题
5、高速缓冲存储器cache的基本原理,cache命中率相关计算
Cache的基本原理:
cache是一种高速缓冲存储器,为了解决CPU和主存之间速度不匹配而采用的一项重要技术。
主存和cache均按照约定长度划分为若干块;
主存中一个数据块调入到cache中,则将数据块地址(块编号)存放到相联存储器CAM中,将数据块内容存放在cache中;
当CPU访问主存时,同时输出物理地址给主存、相联存储器CAM,控制逻辑判断所访问的块是否在cache中:
若在,则命中,CPU直接访问cache。
若不在,则未命中,CPU直接访问主存,并将该单元所在数据块交换到cache中。
基于程序和数据的局部性访问原理,通过cache和主存之间的动态数据块交换,尽量争取CPU访存操作在cache命中,从而总体提高访存速度。
cache命中率相关计算:
命中率
主存/cache系统平均访问时间
访问效率
参加例题、习题。
第四章指令系统
1、基本概念
指令系统:
一台计算机中所有机器指令的集合,称为这台计算机的指令系统。
指令系统是表征一台计算机性能的重要因素,其格式与功能直接影响机器的硬件结构、软件、适用范围等。
寻址方式:
告诉计算机如何获取指令和运算所需要的操作数。
即如何提供将要执行的指令所在存储单元的物理地址;如何提供运算所需要的操作数所在存储单元的物理地址、或者操作数所在内部寄存器的编号。
CISC(复杂指令系统计算机):
指令条数多、结构形式复杂多样、寻址方式种类繁多、功能复杂多样、翻译执行效率低、很多指令难得用到。
CISC使计算机的研制周期长,难以保证正确性,不易调试、维护,大量使用频率很低的复杂指令浪费了系统硬件资源。
RISC(精简指令系统计算机):
选取使用频率最高的一些简单指令,指令条数少,复杂功能通过宏指令实现;指令长度、格式、结构形式、寻址方式种类少,翻译执行效率高;只有取数/存数指令访问存储器,其余指令的操作均在CPU内部寄存器之间进行。
RISC可缩短计算机的研制周期、易于保证正确性、调试、维护,系统硬件资源使用效率高。
2、指令格式及寻址方式辨析
操作码
地址码
指令字长度
操作数寻址方式
参见例题、习题
第五章中央处理器
1、基本概念
微命令:
控制器通过控制线向部件发送的各种控制信号/操作命令。
微操作:
部件接收微命令以后所完成的操作,微操作是执行部件中最基本的、不可再分解的操作。
微指令:
一组实现一定操作功能的微命令的组合形式,称为微指令。
由操作控制和顺序控制两大部分组成。
微程序:
一条机器指令的功能是由多条微指令组成的序列来实现的,这个微指令序列称为微程序。
指令流水线:
指指令执行步骤的并行。
将指令流的处理过程划分为取指令、指令译码、执行、写结果等几个并行处理的过程段。
算术流水线:
是指运算操作步骤的并行,例如流水乘法器、流水除法器、流水浮点运算器等。
处理机流水线:
又称为宏流水线,是指程序步骤的并行。
由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。
2、CPU的功能
(1)指令控制
控制程序的执行顺序;
由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按照程序规定的顺序进行。
(2)操作控制
控制器产生取指令、执行指令的所需要的全部操作控制信号,并依序送往相应的部件,从而控制这些部件按指令的要求完成规定的动作。
(3)时间控制
对各种操作实施时间上的定时;
在计算机中,各种指令的操作信号和整个执行过程均受到时间的严格定时和事件先后顺序控制(应在规定的时间点开始,在规定的时间内结束),以保证计算机有条不紊地自动工作。
(4)数据加工
完成指令规定的运算操作。
3、熟悉典型模型机结构、指令和数据的传输通路
参见例题和习题中的模型机结构。
4、指令周期流程
(1)根据模型机和数据通路结构,分析指令周期流程。
(2)指令周期流程实际上是一个指令流、数据流在数据通路上的流动过程。
5、指令周期、机器周期、时钟周期三级时序
指令周期:
取出一条指令并执行这条指令所需要的时间。
CPU周期:
常称为机器周期,每条指令的执行过程可划分为若干个阶段,如取指令、取源操作数、取目的操作数、执行运算、保存结果等阶段,每个阶段所对应的时间。
时钟周期:
每个阶段由若干有序的、不可再分的基本操作过程构成,如从数据cache中取一个源操作数送到R0,包括地址→AR、AR→M、M→DR、DR→R0等基本操作过程,每个操作过程所对应的时间。
显然,指令周期对应一条指令,CPU周期对应一个阶段,时钟周期对应一个基本操作过程。
因此,时间应按指令周期、CPU周期、时钟周期进行分级控制,这就是三级时序体制。
6、微程序控制器的原理及组成框图
(1)基本原理
设计阶段:
首先,根据CPU的数据通路结构、指令操作定义等,画出每条指令的指令周期流程图(具体到每个时钟周期、微操作、微命令)。
然后,根据微指令格式、指令周期流程图编写每条指令的微程序。
最后,把整个指令系统的微程序(其中取指令的微程序段是公用的)固化到控制存储器中。
运行阶段:
首先,逐条执行取指令公用微程序段,控制取指令操作。
然后,根据指令的操作码字段,经过变换,找到该指令所对应的特定微程序段,从控制存储器中逐条取出微指令,根据微操作控制字段,直接或经过译码产生微命令(控制信号),控制相关部件完成指定的微操作。
一条微指令执行以后,根据微地址字段取下一条微指令
(2)构成框图
控制存储器ROM:
存放全部指令系统的微程序;
微地址寄存器uPC:
具有自动增量功能,给出顺序执行的下条微指令地址;
微命令寄存器uIR:
存放由控制存储器读出的一条微指令。
地址转移逻辑:
①根据指令寄存器IR的操作码,定位到该指令对应的微程序段,uPC初值;②如果判断条件P/状态条件=FALSE,则uPC=uPC+1,顺序执行;③如果判断条件P/状态条件=TRUE,则uPC=根据策略形成新的微指令地址,程序转移。
7、流水线中资源相关、数据相关、控制相关问题
资源相关:
是指多条指令进入流水线后,在同一流水线时钟周期内争用同一个功能部件所发生的冲突。
数据相关:
在一个程序中,如果必须等前一条指令执行完毕以后,才能执行后一条指令(即后一条指令需要引用前一条指令的结果数据),那么这两条指令就是数据相关的。
控制相关:
控制相关冲突是由转移类指令引起的。
当执行转移类指令时,可能为顺序取下条指令;也可能转移到新的目标地址取指令。
如果流水线顺序取指令,而程序却需要转移时,进入流水线的指令并不是将要执行的指令,或者转移的目标指令可能还没有进入流水线,从而使流水线发生断流。
第六章总线系统
1、基本概念
总线:
总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为这些部件提供信息交换服务。
总线带宽:
总线在单位时间内可以传输的数据总量,即总线的数据传输速率,单位是兆字节每秒(MB/s)
总线仲裁:
当总线上的多个主设备(主方)同时竞争使用总线时,必须通过总线仲裁部件,以某种方式和策略选择其中一个主设备(主方),接管总线的控制权,传送信息。
总线定时:
一次总线操作由若干的事件(基本操作)组成,而且这些事件间具有一定的时序关系,即一个事件什么时候开始、多长时间内完成、事件的先后顺序关系。
2、总线接口的逻辑结构、功能
逻辑结构:
地址信息:
CPU→I/O设备,寻址目标I/O设备。
控制信息:
CPU→I/O设备,通知I/O设备准备完成什么操作。
状态信息:
I/O设备→CPU,反馈设备的状态,如忙/闲、准备好/未准备好。
数据信息:
有效数据信息。
功能:
(1)控制
接口依据CPU的指令信息控制外围设备的动作,如启动、关闭设备等。
(2)缓冲
在为部设备和计算机系统其它部件之间用作为一个缓冲器,以补偿各种设备在速度上的差异。
(3)状态
接口监视外部设备的工作状态并保存状态信息,状态信息包括“准备就绪”、“忙”、“错误”等,供CPU询问外部设备时进行分析之用。
(4)转换
可以完成任何要求的数据转换,以确保数据能在为部设备和CPU之间正确地传送,如数据格式转换、并-串转换等。
(5)整理
可以完成一些特别的功能,如在批量数据传输时自动修改字计数器、当前内存地址寄存器。
(6)程序中断
每当外围设备向CPU请求某种动作时,接口即发送中断请求信号给CPU,申请中断。
3、多总线结构、PCI总线辨析
HOST总线:
宿主总线,连接多CPU、cache、主存、北桥。
64位数据线、32位数据线、同步定时总线。
PCI总线:
与处理器无关的高速外围总线,连接高速的PCI设备,32/64位数据线、32位地址线、同步定时、集中仲裁、猝发传送。
LAGACY总线:
遗留总线,可以是ISA、EISA、MCA等传统总线,连接中、低速设备,保护用户以前的投资。
桥的分类:
HOST桥(北桥)、PCI/LAGACY桥(南桥)、PCI/PCI桥。
桥的作用:
(1)连接两条总线,使彼此相互通信;
(2)总线转换部件,可以把一条总线上的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线上的主设备都能看到同样的一份地址表;
(3)信号缓冲、电平转换、控制逻辑转换等。
第八章输入输出系统
1、基本概念
直接内存访问(DMA)方式:
是一种完全由硬件(称为DMA控制器)执行、在I/O设备和内存之间直接交换批量信息的工作方式,包括DMA请求、DMA响应、DMA传输、DMA结束处理等步骤。
在DMA传输过程中,DMA控制器从CPU接管总线控制权,向内存发出地址和控制信号、修改地址、计数、以中断方式向CPU报告DMA传输结束,数据交换不经过CPU,而直接在内存和I/O设备之间进行。
通道:
是一个特殊功能的处理器(基于微处理器CPU、单片机实现的),它有自己的指令和程序(通道指令、通道程序)专门负责数据输入/输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。
CPU和通道分时使用系统总线和存储器,实现了CPU内部运算与I/O设备的并行工作。
外围处理机方式PPU:
基本上是独立于主机工作,它有自己的指令系统,只是侧重于I/O管理。
结构上接近一台计算机、或者就是一台通用计算机,也称为I/O管理前置机。
2、程序查询方式处理过程
3、程序中断方式处理过程
(1)一条指令完整执行完以后,查询是否有中断请求、是否有DMA请求等;
(2)如果有中断请求,则判断是否响应该中断(优先级等);
(3)关中断(中断屏蔽置位):
单级中断系统中,一个中断被响应,必须该中断处理结束以后才能响应其它中断请求;多级中断系统中,允许中断嵌套,即允许高优先级中断低优先级的服务子程序;
(4)找出中断源:
确定是哪个设备的中断请求;
(5)保存PC:
即保存返回地址,硬件实现自动推入堆栈保存;
(6)形成中断服务子程序的入口地址:
常采用向量中断法;
(7)保存CPU现场:
标志寄存器、通用寄存器内容送入堆栈保存;
(8)设备服务:
CPU与I/O设备之间交换一个机器字的数据;
(9)恢复CPU现场:
从堆栈中把原来的状态寄存器、通用寄存器内容拿出来;
(10)开中断:
本次中断请求处理完成,允许响应其它中断请求;
(11)中断返回:
从堆栈中把返回地址拿出来,送PC。
4、基本DMA控制器的逻辑结构
1、字计数器
CPU初始化DMA控制器时,写入数据块长度初值。
初值通常以补码(2n-x)形式表示,如字计数器8位,数据块长度125,则初值256-125=131。
每传送一个字,字计数器加1。
当计数器溢出时,表示数据块传送结束,溢出信号通过中断机构,向CPU申请中断。
2、内存地址计数器
CPU初始化DMA控制器时,写入内存数据块起始地址。
每交换一个字数据后,地址计数器自动增量“加1”。
九章并行体系结构
1、基本概念
并行性:
并行性是指计算机系统具有可以同时进行运算或者操作的特性,它包括同时性与并发性两种含义;同时性是指两个或两个以上的事件在同一时刻发生;并发性是指两个或两个以上的事件在同一时间间隔发生(如分时交替执行、重叠执行等)。
VLIW处理机:
由编译程序在编译时找出指令间潜在的并行性,进行适当调度安排,把多个能并行执行的操作组合在一起,成为一条具有多个操作段的超长指令。
由这条超长指令去控制VLIW处理机中多个互相独立工作的功能部件,每个操作段控制一个功能部件,相当于同时执行多条指令。
超线程技术:
同时调度多个线程执行,即多条指令流,按一定的策略往超标量流水线中交替/混合发射指令。
流水线处理机可以同时处理来自不同线程的多条指令,可有效避免单指令流中的相关问题。
向量处理机:
采用流水线技术实现向量处理,向量的分量源源不断地进入流水线,各个分量的处理时间重叠,整体上提高向量的处理速度。
流水线满载以后,每个时钟周期向流水线发射一组分量,每个时钟周期输出一组分量的运算结果。
对称多处理机SMP:
结构与功能相同的多处理机通过总线或专用网络连接在一起,共享主存和I/O设施,由集中操作系统统一管理,提供各处理机的作业/任务调度、以及处理机间的同步,使得多个处理机的存在对用户是透明的,感觉就是一个处理机。
机群系统:
是由一组完整的计算机(指离开机群系统仍能独立运行自己任务,有自己的操作系统、内存、I/O设施,一般称为节点),通过标准通信协议、商品化网络(易于连接应用)连接在一起,在机群软件(中间件)统一管理调度下,可作为一个统一的计算资源协同工作,使用户感觉就是一个计算机系统
2、体系结构的分类(格林分类法)
(1)单指令流单数据流SISD:
传统单处理机系统
(2)单指令流多数据流SIMD:
向量处理机
(3)多指令流单数据流MISD:
没意义
(4)多指令流多数据流MIMD:
多处理机系统、机群系统