Loading... # 可供选择的体系结构 ## RISC设备 Reduced Instruction Set Computer,精简指令集计算机:提供可支持所有基本操作的**最小指令集** 计算机性能计算公式: ![image-20220604205717196.png](http://xherlock.top/usr/uploads/2022/06/1128819007.png) 缩短时钟周期:RISC、CISC性能都提升 减少程序中指令数:CISC提升 最小化每条指令的时钟周期数:RISC提升 | RISC | CISC | | ----------------------------- | -------------------------------- | | 多个寄存器组 | 一个寄存器组 | | 每条指令最多3个寄存器操作数 | 每条指令可以1或2个寄存器操作数 | | 寄存器窗口传参 | 内存栈传参 | | 硬连线电路实现 | 微代码控制 | | 单周期指令 | 多周期指令 | | 流水线程度高 | 流水线程度低 | | 简单指令且指令数少 | 复杂指令 | | 定长指令 | 变长指令 | | 编译器设计复杂 | 微代码设计复杂 | | 仅load和store指令可以访存 | 许多指令都可以访存 | | 较少的寻址方式 | 许多寻址方式 | ## Flynn's Taxonomy费林分类法 根据处理器数量和数据流数量进行分类 * SISD:单指令流单数据流,经典单处理器系统 * SIMD:单指令流多数据流,包含阵列处理器、向量处理器和脉动阵列 * MIMD:多指令流多数据流,并行架构 * MISD:多指令流单数据流 **分类法的不足**: * 很少有符合MISD架构特性的应用 * Flynn假设所有的并行性都是同构的,但多处理器可能是同构也可能是异构的 * MIMD分类没有考虑多个处理器间如何互连以及如何使用主存 Symmetric multiprocessor(**SMP,对称多处理器**)和Massively parallel processor(**MPP,大规模并行处理器**)均属于MIMD SMP共享存储器,MPP不共享 **SMP** -> fewer processors + shared memory + communication via memory **MPP** -> many processors + distributed memory + communication via network **分布式计算**是另一种MIMD体系结构 * 工作站网络(NOW,network of workstations):一组并行工作的分布式工作站的集合 * 工作站集群(COW,collection of workstations):与NOW相比需要一个公司或组织负责管理 * 专用集群并行计算机(DCPC,dedicated cluster parallel computer):一组专门用于某个特定并行计算任务的工作站集合 费林分类法新加了个**SPMD(单程序多数据)** 体系结构:多个处理器,每个处理器运行相同的程序,有自己的数据集和程序存储器;虽然每个处理器加载相同的程序,但运行的指令可能不同 最终***体系结构的分类***如下 ![image-20220604212749992.png](http://xherlock.top/usr/uploads/2022/06/4128065112.png) ## 并行和多处理器体系结构 **超流水线**(superpipelining):流水线中某些阶段的执行时间小于时钟周期的一半时引入,一个频率为外部时钟频率的两倍的内部时钟加入到处理器中,这样就可以在一个外部时钟周期内完成两个任务 **矢量计算机**(vector computers):一次对整个矢量或者矩阵操作(超级计算机),高度流水线 可以根据**指令如何获取操作数**分为*寄存器-寄存器向量处理器*(源操作数和目的操作数都保存在寄存器中)和*存储器-存储器向量处理器*(允许将操作数从存储器中取出直接送到算术单元) 共享存储器的MIMD机器根据如何同步访存操作可分为: * 均匀存储器访问(UMA,uniform memory access) * 非均匀存储器访问(NUMA,nonuniform memory access) NUMA机器容易出现**缓存一致性问题**(cache coherence problem):主存数据变了而缓存影响未变,解决方法:增加监听高速缓存控制器(snoopy cache controllers)——CC-NUMA,高速缓存一致的NUMA 更改同时更新:**写直通高速缓存更新协议**(write-through cache update protocol) * 写直通更新策略:广播新值并更新 * 写直通无效(invalidate)策略:广播删除旧值 数据变化时仅改变缓存中的值,主存中的副本知道其所对应的缓存块被替换并写回主存时才改变:**写回协议**(write-back protocol) **分布式计算**:另一种形式的多处理器,主要指松耦合的多计算机系统(very loosely-coupled processing units);包含了云计算(cloud computing) ## 其他并行处理方法 ### 数据流计算(dataflow computing) Von Neumannn计算机采用顺序控制流,程序计数器决定下一条要执行的指令 但在数据流计算中,程序的控制流直接与数据绑定,指令的实际顺序与他们最终的执行顺序无关,数据持续流出,可以在同一时刻被多条指令所用 ### 神经网络(neural network) 可以处理不精确、具有随机性的信息、允许自适应 最简单的神经网络处理元件是感知器(perceptron),是可训练的神经元:阈值(threshold)和输入权值(input weight)可以调整 ### 脉动阵列(systolic array) SIMD计算机的变种,可以维持很高的吞吐量,一般用来计算重复性任务 ## 量子计算(quantum computing) 计算机都是基于晶体管(transistor-based)技术 量子计算使用量子位(quantum bits)来同时表示多种状态 最后修改:2022 年 06 月 17 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏