一、第一章 计算机组成与体系结构
掌握知识点
1、计算机体系结构特点和应用:采用对称多处理器(symmetric multi-processing SMP),适用于海量并行处理(massive parallel processing,MPP)
2、构成计算机的各类部件的功能及其相互关系,控制器、运算器、存储器、输入\输出设备
1.1计算机的组成
1.1.1 计算机6中部件,控制器、运算器、内存存储器、外存储器、输入设备、输出设备。
- a、控制器,分析和执行指令的部件,控制计算机各部件协调工作的中心部件,包括程序计数器pc,指令寄存器、时序部件、微操作控制信号和中断机构
- b、运算器,算术逻辑单元ALU,对数据进行算术或逻辑运算。
- c、内存储器,存储现场操作的信息与中间结果,包括机器指令和数据
- d、外存储器,如硬盘,长期存储
- e、输入\输出设备,鼠标、键盘\显示器、打印机
控制器和运算器现在是在CPU中。
1.1.2计算的分类
关于分类的几个定义:
a、指令流,指机器执行的指令序列
b、数据流,指由指令流调用的数据序列
c、多倍性:指在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数
- 1、单指令单数据流(single instruction and single data stream SISD),就是顺序执行的单处理器计算机,每次对一条指令译码,只对一个操作部件分配数据。
- 2、单指令多数据流,(SIM(multi)D),以并行处理机为代表,按照同一指令流分配不同的数据流
- 3、多指令流单数据流,MISD,具有n个处理单元,按n条不同指令处理一个数据流
- 4、多指令多数据流,MIMD,多处理机能进行多任务处理
其他的分类法
a、冯氏分类法,单位时间内所能处理的最大二进制位数;b、handler分类法,根据计算机指令执行的并行度和流水线;c、KUCK分类法,用指令流和执行流和多倍性来描述计算机系统特征
1.2 多级存储器体系
计算机采用多级存储器体系,包括寄存器、cache、主存储器、外部存储器
存储器的存取方式:
1、顺序存取,按特定的线性顺序存储,如磁带
2、直接存取,每个数据块有唯一的地址标识,读写装置可直接移动到目标数据块,存取时间可变如硬盘
3、随机存取,存储器的每个可寻址单元都具有自己唯一的地址和读取装置,可在相同时间内对任意存储单元进行访问,内存采用随机存取
4、相联存取,是随机存取的一种形式,选择一个单元进行读写取决于其内容而不是地址,cache采用这种方式
1.2.1主存储器
即主存或内存,分为下列几种;
- a、RAM(ramdom access memory)随机存取存储器,断电后无法保持,又分为DRAM(dynamic)和-SRAM(static),DRAM信息会随时间消失,需进行定时刷新,SRAM不断电能一直保持信息,DRAM的密度大于SRAM价格便宜,SRAM速度块简单,容量小,价格高。
- b、ROM(read only memory),只读存储器,如BIOS
- c、PROM(programmable ROM)可编程ROM,可使用特殊设备进行写入
- d、EPROM(erasable PROM),可以写多次
- e,EEPROM(electrically EPROM),电可擦出rom
- f、闪速存储,与EEPROM相似,U盘
- g、CAM(content addressable memory)相联存储器,一种基于数据内容进行访问的存储设备。
1.2.2辅助存储器
用于存储当前不须立即使用的信息,可以和主存储器交换数据,也叫外存,特点是容量大、可靠性高、价格低。通常的类型有:
- a、磁带存储器,顺序存储的的设备
- b、磁盘存储器,数据存储于磁道上,磁道是磁盘上的一组同心圆,最外层为0道,每个磁道存储的位数相同,故位密度从外向内增加。扇区,扇形的存储区域,柱面所有盘面上相同位置的磁道组成的一个柱面。
存储容量=nts*b,n为保持数据盘面数,t为每面磁道数、s为扇区数,b为每个扇区的字节数
磁盘的存取时间包括寻道时间和等待时间,寻道时间即寻找磁道的时间,等待时间等到读写的扇区旋转到磁头下方所用时间,一般选用磁道旋转一周时间的一半作为平均等待时间。
磁盘传输速率,单位时间写入或读出的字节数,R=TB/T,TB为磁道上记录的字节数,T为磁道旋转一圈所需的时间 - c、RAID存储器
廉价冗余磁盘阵列(redundant array of inexpensive disks)
RAID0即一个硬盘存储,RAID1即镜像磁盘,一个读写一个备份。,RAID2此级别以上带有校验功能。
RAID10级,即建立在RAID0和RAID1之基础上。 - d、光盘存储器,cd(compact disk)
1.2.3cache缓存
cached的功能是提高CPU数据输入输出的速率,在CPU和内存间设置cache高速缓存。
1.cache的基本原理:依据程序的局部性原理,把内存中访问概率高的放在cache中,CPU先从cache中读取数据,cache中无则从内存送往cpu和cache。
平均存储周期=t1h+t2(1-h),h是命中率,t1,t2分别是cache和内存的存储周期
2.映射机制*
CPU发出访问请求,存储地址送到cache确定是否已在cache中,称为地址映射。主存和cache将均分成容量相同的块。
直接映射:以随机存取存储器作为cache存储器,是一种多对一的映射关系。
缺点:每个主存页只能复制到某一固定的cache页,即主存中的每个区的第0页只能进入到cache的第0页。块冲突率非常高。
全相联映射方式:使用相联存储器组成的cache存储器。主存的每一页可以映射到cache的任一页。
缺点:一一比较主存页标记,速度慢。
组相联映射:以页为单位可自由映射。主存和cache都分组,主存中一个组内的页数与cache的分组数相同。
主存中的组与cache的组形成直接映像关系,每个组内的也是全相连映射。
3.替换算法
cache已存满数据后,新数据必需替换cache中的旧数据。
a 随机算法,随机替换一块
b 先进先出, 类似队列的管理管理方式
c 近期最少使用 LRU算法,近期最少使用的块作为被替换的块。
-
写操作 为保证cache中的数据与内存中的内容一致。
a 写直达 ,当要写cache时,数据同时写回内存
b 写回 write back,cpu修改一cache的某一块后,数据不立即写入内存,而是当块从cache中被淘汰时,才把数据写回内存。写设置标志位。
c 标记法,对cache中每一个数据设置一个有效位。
1.3流水线
可以实现多个任务的重叠执行,提高工作效率。 这样就可以实现多个任务的重叠执行,提高工作效率。 这样就可以实现多个任务的重叠执行,提高工作效率。
1.3.1 流水线周期
最耗时的那一段所消耗的时间为流水先周期。即最大值。
1.3.2 计算流水线执行时间
T=第一条指令执行时间+(n-1)*流水线周期 n代表处理的任务数量
1.3.3 流水线吞吐率 through put rate TP
单位时间内流水线所完成的任务数量
最大吞吐率为 tpmax=1/t t为流水线周期
1.3.4 流水线加速比
完成同样一批任务,不使用流水线所使用的时间与使用流水线所用的时间之比称为加速比 speedup ratio
s=nkt/(k+n-1)t