写在前面,本文为软考复习系列笔记,可能会有疏漏,请指教。后续更新笔记会在文章前系列目录放上链接,希望可以帮到有需要的人。
系列目录
软考复习笔记之计算机系统基础知识 一、计算机系统基础知识
软考复习笔记之计算机系统基础知识 三、存储系统
软考复习笔记之计算机系统基础知识 四、输入/输出技术与总线结构
软考复习笔记之计算机系统基础知识 五、安全性、可靠性与系统性能评测
附上完整版笔记md文件欢迎下载链接
计算机体系结构是站在程序员的角度所看到的计算机属性,即程序员要能编写出可在机器上正确运行的程序所必须了解的概念性结构和功能特性。
计算机体系结构、计算机组织和计算机实现三者的关系如下、
(1)计算机系统结构是指计算机的概念性结构和功能特性。
(2)计算机组织是在计算机结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)。
(3)计算机实现是指计算机组织的物理实现。
(1)从宏观上按处理机的数量进行分类:单处理系统、并行处理系统与多处理系统和分布式处理系统。
系统 | 介绍 |
---|---|
单处理系统 | 利用一个处理单元与其他外部设备结合起来,实现存储、计算、通信、输入输出等功能的系统。 |
并行处理系统 | 将两个以上的处理机互连起来,彼此进行通信协调,以便共同求解一个大问题的计算机系统。 |
分布式处理系统 | 指物理上远距离而松耦合的多计算机系统。其中,物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信“1《的任始丰去型比在外理机内部总线上传输慢得多, 这也正是松耦合的含义。 |
(2)从微观上按并形程度分类:Flynn分类法、冯泽云分类法、Handler分类法和Kuck分类法。
Flynn分类法
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流 SISD | 控制部分:一个 处理器:一个 主存模块:一个 | 单处理器系统 | |
单指令流多数据流 SIMD | 控制部分:一个 处理器:多个 主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机、陈列处理机、超级向量处理机 |
多指令流单数据流 MISD | 控制部分:多个 处理器:多个 主存模块:多个 | 被证明不可能,至少不实际 | 理论模型,未见成形产品 |
多指令流多数据流 MIMD | 控制部分:多个 处理器:多个 主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统多计算机 |
一个处理器支持的指令和指令的字节级编码称为其指令集体系结构,不同的处理器族支持不同的指令集体系结构,因此,一个程序被编译在一种机器上运行,往往不能在另一种机器上运行。
从体系结构的观点对指令集进行分类,可以根据下述5个方面。
(1)操作数在CPU中的存储方式,即操作数从主存中取出后保存在什么地方,
(2)显式操作数的数量,即在典型的指令中有多少个显式命名的操作数。
(3)操作数的位置,即任个ALU 指令的操作数能否放在主存中,如何定位。
(4)指令的操作,即在指今集中提供哪些操作。
(5)操作数的类型与大小。
按暂存机制分类,根据在CPU内部存储操作数的区别,可以把指令集体系分为3类:
堆栈(Stack) 、累加器(Accumulator) 和寄存器组(a set of Register)。
通用寄存器(Genera-Purpose Register Machines, GPR)的关键性优点是编译程序能有效地使用寄存器,无论是计算表达式的值,还是从全局的角度使用寄存器来保存变量的值。
CISC和RISC是指令集发展的两种途径。
(1) CIsSC (Complex Instruction Set Computer,复杂指令集计算机)的基本思想是进一步增
强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的
硬化,导致机器的指令系统越来越庞大、复杂。事实上,目前使用的绝大多数计算机都属于CISC
类型。
CISC的主要弊端如下。
指令集过分庞杂。
微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才 能完
成,这就需要多个CPU周期,从而降低了机器的处理速度。
-由于指令系统过分庞大,使高级语言编译程序选择目标指令的范围很大,并使编译程
序本身冗长、复杂,从而难以优化编译使之生成真正高效的目标代码。
CISC强调完善的中断控制,势必导致动作繁多、设计复杂、研制周期长。
CISC给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率
降低。
(2) RISC (Reduced Instruction Set Computer),精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。RISC 在20世纪70年代末开始兴起,导致机器的指令系统进一步 精炼而简单。
RISC的关键技术如下:
重叠寄存器窗口技术。
优化编译技术。RISC 使用了大量的寄存器,如何合理地分配寄存器、提高寄存器的
用效率及减少访存次数等,都应通过编译技术的优化来实现。
超流水及超标量技术。为了进一步提高流水线速度而采用的技术。
硬布线逻辑与微程序相结合在微程序技术中。
(3)优化。
为了提高目标程序的实现效率,人们对大量的机器语言目标代码及其执行情况进行了统计。对程序中出现的各种指令以及指令串进行统计得到的百分比称为静态使用频度。在程序独行过程中,对出现的各种指令以及指令串进行统计得到的百分比称为动态使用频度。
面向高级程序语言的优化思路是尽可能缩小高级语言与机器语言之间的语义差距,以利于支持高级语言编译系统,缩短编译程序的长度和编译所需的时间。
(1)指令控制方式。
指令控制方式有顺序方式、重叠方式和流水方式3种。
顺序方式。顺序方式是指各条机器指令之间顺序串行地执行,执行完条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。这种方式的优点是控制简单。缺点是速度慢,机器各部件的利用率低。
更叠方式。重叠方式是指在解释第K条指令的操作完成之前就可以开始解释第K+1条指令。通常采用的是次重叠, 即在任何时候,指令分析部件和指令执行部件 都只有相邻两条指令在重叠解释。
这种方式的优点是速度有所提高,控制也不太复杂。缺点是会出现冲突、转移和相关等问题,在设计时必须想办法解决。
流水方式。流水方式是模仿工业生产过程的流水线而提出的一种指令控制方式,概念上可堪为“重叠”的延申。
(2)流水线的种类
从流水的级别上,可分为部件级、处理机级以及系统级的流水。
从流水的功能上,可分为单功能流水线和多功能流水线。
从流水的连接上,可分为静态流水线和动态流水线。
从流水是否有反馈回路,可分为线性流水线和非线性流水线。
从流水的流动顺序上,可分为同步流水线和异步流水线。
从流水线的数据表示上,可分为标量流水线和向量流水线。
(3)流水的相关处理
解决局部性相关有两种方法:推后法和通路法。推后法是推后对相关单元的读,直至写入完成。通路法设置相关专用通路,使得不必先把运算结果写入相关存储单元,再从这里读出后才能使用,而是经过相关专用通路直接使用运算结果,以加快速度。
解决全局性相关的三种方法:猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。
RISC中采用的流水技术有3种:超流水线、超标量以及超长指令字。
阵列处理机将重复设置的多个处理单元(PU)按一定方式连成阵列, 在单个控制部件(CU)控制下,对分配给自己的数据进行处理,并行地完成一条指令所规定的操作。
SIMD和MIMD是典型的并行计算机,SIMD有共享存储器和分布存储器两种形式。
由多台处理机控制的系统,每台处理机有属于自己的控制部件,可执行独立的程序,共享一个主存储器和所有的外部设备。