1.2.1 计算机体系结构的发展
1.计算机体系结构、计算机组织和计算机实现三者的关系
(1)计算机体系结构(Computer Architecture)是指计算机的概念性结构和功能属性。
(2)计算机组织(Computer Organization)是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)。
(3)计算机实现(Computer Implementation)是指计算机组织的物理实现。
2.计算机体系结构分类
(1)从宏观上按处理机的数量进行分类,分为单处理系统、并行处理与多处理系统和分布式处理系统。
单处理系统(Uni-processing System) 利用一个处理单元与其他外部设备结合起来,实现存储、计算、通信、输入与输出等功能的系统。
并行处理与多处理系统(Parallel Processing and Multiprocessing System) 为了充分发挥问题求解过程中处理的并行性,将两个以上的处理机互连起来,彼此进行通行协调,以便共同求解一个大问题的计算机系统。
分布式处理系统(Distributed Processing System) 指物理上远距离而松耦合的多计算机系统。其中,物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多,这也正是松耦合的含义。
(2)从微观上按并行程度分类,有Flynn分类法、冯泽云分类法、Handler分类法和Kuck分类法。
3.指令系统
(1)指令集体系结构的分类
按暂存机制分类,根据在CPU内部存储操作数的区别,可以把指令集体系分为3类,堆栈(Stack)、累加器(Accumulator)和寄存器组(a set of Registers)。
(2)CISC和RISC
CISC(Complex Instruction Set Computer,复杂指令集计算机) 和RISC(Reduced Instruction Set Computer,精简指令集系统) 是指令集发展的两种途径。
1)CISC的主要弊端
①指令集过分庞杂。
②微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度。
③由于指令系统过分庞大,使高级语言编译程序选择目标指令的范围很大,并使编程程序本身冗长、复杂,从而难以优化编译使之生成真正高效的目标代码。
④CISC强调完善的中断控制,势必导致动作繁多、设计复杂、研制周期长。
⑤CISC给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低。
2)RISC的关键技术
①重叠寄存器窗口技术。
②优化编译技术。 RISC使用了大量的寄存器,如何合理地分配寄存器、提高寄存器的使用效率及减少访问次数等。
③超流水及超标量技术。 为了进一步提高流水线速度而采用的技术。
④硬布线逻辑与微程序相结合在微程序技术中。
3)指令的流水处理
①指令控制方式。指令控制方式有顺序方式,重叠方式和流水方式3种。
②流水线的种类。
从流水的级别上,可分为部件级、处理机级以及系统级的流水。
从流水的功能上,可分为单功能流水线和多功能流水线。
从流水的连接上,可分为静态流水线和动态流水线。
从流水是否有反馈回路,可分为线性流水线和非线性流水线。
从流水的流动顺序上,可分为同步流水线和异步流水线。
从流水线的数据表示上,可分为标量流水线和向量流水线。
4)RISC中采用的流水技术有3种:超流水线、超标量以及超长指令字
①超流水线(Super Pipe Line)技术。他通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。实质是以时间换空间。
②超标量(Super Scalar)技术。他通过内装多条流水线来同时执行多个处理,其时钟频率虽然与流水接近,却有更小的CPI(Clock Cycles Per Instruction,每个指令需要的机器周期数)。实质是以空间换取时间。
③超长指令字(Very Long Instruction Word, VLIW)技术 。VLIW和超标量的共同点都是要同时执行多条指令,不同点在于超标量依赖硬件来实现并行处理的调度,VLIW则充分发挥软件的作用,使其硬件简化,性能提高。VLIW有更小的CPI值,但需要有足够高的时钟频率。
5)吞吐率和流水建立时间
吞吐率是指单位时间内流水线处理机流出的结果数。
流水线开始工作,需要经过一定时间才能达到最大吞吐率,这就是建立时间。
4. 阵列处理机、并行处理机和多处理机
并行性包括同时性和并发性。其中,同时性是指两个或两个以上的事件在同一时刻发生,并行性是指两个或两个以上的事件在同一时间间隔内连续发生。
从计算机信息处理的步骤和阶段的角度看,并行处理可以分为以下几类:
①存储器操作并行
②处理器操作步骤并行(流水线处理机)。
③处理器操作并行(阵列处理机)。
④指令、任务、作业并行(多处理机、分布处理系统、计算机网络)。
(1)阵列处理机
阵列处理机将重复设置的多个处理单元(PU)按一定方式连成阵列,在单个控制部件(CU)控制下,对分配给自己的数据进行处理,并行地完成一条指令所规定的操作。这是一种单指令流多数据流的计算机,通过资源重复实现并行性。
(2)并行处理机
SIMD和MIMD是典型的并行计算机,SIMD有共享存储器和分布存储器两种形式。
(3)多处理机
多处理机系统是由多台处理机组成的系统,每台处理机有属于自己的控制部件,可以执行独立的程序,共享一个主存储器和所有外部设备。它是多指令流,多数据流计算机。在多处理机系统中,机间的互连技术决定了多处理机的性能。多处理机之间的互连要满足高频带、低成本、连接方式的多样性以及在不规则通信情况下连接的无冲突性。