一、计算机系统结构基础
计算机系统结构层次
应用语言机器 M5(软件)
高级语言机器 M4(软件)
用编译程序翻译成汇编语言程序
汇编语言机器 M3(软件)
用汇编程序翻译成机器语言程序
操作系统机器 M2(软件)
向上提供“广义指令”(系统调用)
——————————————————————————————————————————
机器语言的机器 M1(硬件)
执行二进制机器指令
微程序机器 M0(硬件)
由硬件直接执行微指令
透明性
客观存在的事物或属性从某个角度看不到,简称透明(Transparent)。
计算机系统结构(体系结构)定义
从层次结构角度来看,系统结构是对计算机中各级界面的定义及其上下的功能分配。
计算机组成、计算机实现、计算机及系统结构关系
计算机系统结构是软硬件分界面,计算机组成是计算机系统结构的逻辑实现,计算机实现是计算机系统结构的物理实现。
三者会不相同,但又相互影响。
2.1 相同结构的计算机,可以因速度不同而采用不同的组成。同样,一种组成可以有多种不同的实现方法。组成也会影响系统结构。
2.2 组成向上决定于结构,向下受限于技术,但是可以实现折中权衡
eg:
指令系统的确定属于计算机系统结构。指令的实现,如取指令、指令操作码译码、计算操作数地址、取数、运算、送结果等的操作安排和排序属于计算机组成。实现这些指令功能的具体电路、器件的设计及装配技术属于计算机实现。
软硬件分配的原则
性价比
考虑准备采用和可能采用的组成技术,尽可能不让组成技术的采用受限;
软硬实现两个角度考虑
不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序的设计提供更多更好的硬件支持放在首位。
计算机系统的性能评测指标
通常体现在时间和空间两个方面。
时间:
通常用峰值性能及持续性能来评价。
机器性能因负荷不同而改变,任何时候都达到峰值性能是不可能的。
通常通过执行一系列有代表性的程序实测获得持续性能。引入以下指标:
CPU运行时间
Tcpu=IC∗CPI∗1/fT_{cpu} = IC*CPI*1/f\,Tcpu=IC∗CPI∗1/f
反应程序的运算速度
MIPS=IC/(Tcpu∗106)MIPS=IC/(T_{cpu}*10^6) MIPS=IC/(Tcpu∗106)
MFLOPSMFLOPS MFLOPS
计算机系统的定量设计原理
哈夫曼压缩原理。
尽可能加速处理高概率事件远比加速处理概率很低的事件对性能的提高要显著。
Amdahl定律。
它表明了性能提高量的递减规律。如果只对系统的一部分性能改进,则改进的越多,整体系统能提高的增量却越小。改进效果好的系统应是各部分性能均能平衡地得到提高的系统。
程序的局部性定律。
程序在时间和空间上具有局部性。
并行性
概念
并行性同时包含并发性(同一时间间隔发生)和同时性(同一时刻发生)二重含义。
目的
为了能并行处理,以提高计算机解题效率
分级
执行程序角度
处理数据角度
计算机信息加工的各个步骤和阶段
开发途径
时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上错开,加快硬件周转来赢得速度。标量流水处理机就是很好的例子。资源重复:在并行性概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性能。典型的🌰是阵列处理机资源共享:分时系统计算机的分类
指令流和数据流(弗林):SISD(🌰:标量流水处理机、传统计算机)、SIMD(🌰: 向量处理机)、MISD、MIMD并行度可并行处理单元数和可流水处理的级数程序或指令二、数据表示、寻址方式与指令系统
数据表示和数据结构的关系
数据表示指的是能由机器硬件直接识别和引用的数据类型。表现在它有对这种类型的数据进行操作的指令和运算部件。
数据结构是通过软件映象,将信息变换成机器中所具有的各种数据表示来实现的。
不同的数据表示可以为数据结构的实现提供不同的支持,表现在实现的效率和方便性上不同。
高级数据表示
自定义数据表示向量数组数据表示堆栈数据表示引入数据表示的原则
看系统的效率是否提高,包括实现时间和存储空间是否减少;
引入某种高级数据表示后, 其通用性和利用率是否高。
指令操作码的优化
哈夫曼
扩展码长
eg:
三、存储、中断、总线与I/O系统
存储系统
基本要求
大容量、高速度、低价格
引入了并行性主存系统(单体多字、多体单字)
⭐存储器频宽计算
中断
中断响应的次序是由硬件决定的的,中断处理的次序是由软件决定的
中断响应硬件部分原理图:
总线系统
分类
按在系统中的位置:芯片级、板机、系统级
按允许信息传送的方向:单向传输和双向传输(半双向和全双向)
按用法:专用和非专用
控制方式
集中式 可以有串行链接、定时查询和独立请求3种不同的方式,也可以是它们的结合。
链式查询
优点:只用很少几根线就能按一定优先次序实现总线控制,并且这种链式结构很容易扩充设备。
缺点:是对询问链的电路故障很敏感,优先级固定。
分布式
通信方式
同步
异步
I/O
输入/输出系统的发展经历了3个阶段,相应对应于3种方式,即:
程序控制I/O(包括全软的、程序查询的、中断驱动的):
直接存储器访问(DMA);
基本思想是:通过硬件控制实现主存与I/O设备间的直接数据传送,在传送过程中无需CPU的干预。数据传送是在DMA控制器控制下进行的。
优点:速度快。有利于发挥CPU的效率。
I/O处理机方式:又可分为通道(Channel)方式和外围处理机方式(PPU)。
四、存储体系
基本的两级存储体系是虚拟存储器和Cache存储器,这是存储体系的两个不同的分支。
存储体系的概念
所谓存储体系,就是让构成存储系统的n种不同的存储器(M1~Mn)之间,配上辅助软、硬件或辅助硬件,使之从应用程序员来看,它们在逻辑上是一个整体。
让存储层次的等效访问速度是接近于M1的,容量是Mn的,每位价格是接近于Mn的。
虚拟存储器
逻辑地址&物理地址
页面替换算法
页面失效处理
高速缓冲存储器
高速缓冲 (Cache)存储器是为弥补主存速度的不足,在处理机和主存之间设置一个高速、小容量的Cache,构成Cache-主存存储层次,使之从CPU来看,速度接近于Cache,容量却是主存的。
⭐地址映像与变换
几种映像方式
Cache存储器的LRU替换算法的硬件实现:堆栈法、对比较法
透明性解决方法:写回法、写直达法
取算法
Cahe—主存—辅存
五、标量处理机
重叠
指令的重叠解释使机器语言程序的执行速度会比采用顺序解释的有较大的提高。
要实现指令的重叠解释,相对于传统计算机,就必须在计算机组成上满足以下几点要求:
(1)要解决好访主存的冲突 哈佛结构、多体交叉主存、先进先出方式工作的指令缓冲寄存器(简称指缓)
(2)要解决好“分析”与“执行”操作的并行
(3)实际上“分析”和“执行”所需的时间常不相同,还需在硬件上解决控制上的同步。
(4)要解决指令间各种相关处理
相关性处理
标量流水机的相关主要包括:
1.局部性相关: 由指令、主存操作数和通用寄存器组引的相关
2.全局性相关:由转移指令引的相关
(1)猜测法
(2) 加快和提前形成条件码。
(3) 采取延迟转移
(4) 加快短循环程序的处理
流水
分类
性能指标
吞吐率Tp和加速比Sp、效率
⭐线性
⭐⭐非线性
超标量超流水线处理机
六、向量处理机
具有向量数据表示和相应向量指令的流水线处理机 ,分为向量流水处理机和阵列处理机两类组织形式。向量流水处理机是以时间重叠途径开发出来的。阵列处理机是以资源重复途径开发出来的。
阵列处理机
构型
区别主要在于存储器的组成方式和互连网络的作用不同。
分布式集中存储器集中式共享存储器
互联网络的设计目标与互连函数
设计目标是:结构不要过分复杂,以降低成本;互连要灵活,以满足算法和应用的需要;处理单元间信息交换所需传送步数要尽可能少,以提高速度性能;能用规整单一的基本构件组合而成,或者经多次通过或者经多级连接来实现复杂的互连,使模块性好,以便于用VLSI实现并满足系统的可扩充性。