漫谈计算机架构

本文深入探讨了计算机架构的概念,包括ISA(指令集架构)和微架构的角色。ISA作为硬件与软件之间的桥梁,如x86和ARM,而微架构则是ISA的具体实现方式。流水线技术提高了处理器效率,超标量技术允许多条指令并行执行。此外,文章还介绍了SIMD(单指令多数据)和MIMD(多指令多数据)的并行计算概念,以及存储器的分层结构。最后,提到了SMP和NUMA在多处理器系统中的应用。
摘要由CSDN通过智能技术生成

一说到计算机架构(Computer Architecture),大家可能会有疑问:计算机架构到底是个什么东西?引用维基百科对计算机架构的定义:

computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems.

翻译成中文:计算机架构是描述计算机系统功能,组织和实现的一组规则和方法。而这组规则和方法是通过ISA和Microarchitecture实现的。

我们知道计算机是由硬件和软件组成的,而它们之间的桥梁是ISA(Instruction Set Architecture,指令集架构),换句话说,硬件的功能通过ISA提供出来,而软件通过ISA规定的指令使用硬件。目前常用的ISA有x86和ARM,其中x86采用的是复杂指令集(CISC),被较多的应用于服务器端,而ARM(Advanced RISC Machine)采用的是精简指令集,目前被用于移动端。

微架构(Microarchitecture)是ISA在处理器的实现,描述处理器是怎样实现功能的,其本质就是一系列硬件实现以满足各种指令集。而Microarchitecture是ISA的具体实现,而且对于同一个ISA,可以使用不同技术的微架构 ,比如单周期、多周期以及流水线。比如说x86 ISA有286,386,486,Pretium,Pretium Pro等实现。目前,微架构涉及以下部分:流水线、并行、存储系统分层结构,下面将对这几部分进行详细介绍。

img

流水线

我们知道指令的执行过程包含以下几个步骤:取指(IF,instruction Fetch)、译码(ID,Instruction Decode)、执行(EXE,Execution)以及写回(WB,Write Back),在早期微架构中我们将这些步骤放在同一个周期内顺序完成,这样设计导致效率很低,当进行取值时,其余部件是空闲的。为了提高各个部件工作效率,流水线技术(Pipeline)就应运而生了。

既然流水线技术可以实现不间断取指、解码、执行、写回,那么我们是不是同时可以让几条流水线一起工作,这就是超标量技术。不过需要注意的是当前后两条指令存在依赖关系时,流水线需要停顿,例如:

x=1+2y = x*3

并行

除了通过流水线技术来提高计算机运行速度之外, 还有没有其他并行技术?按照费林分类法可以将计算机分为:SISD(Single Instruction Stream Single Data Stream,单指令单数据)、SIMD(Single Instruction Stream Mutiple Data Stream,单指令多数据)、MISD(Mutiple Instruction Stream Single Data Stream,多指令单数据)和MIMD(Mutiple Instruction Stream Mutiple Data Stream,多指令多数据)。

img

早期的冯·诺依曼结构采用的都是SISD,冯·诺依曼结构也称存储程序计算机,它有两个重要特性:1. 指令和数据被存储在内存中;2. 指令被顺序执行,在一个时刻只有一条指令在执行,通过PC(Program Counter)识别当前指令。

img

SIMD 就是单指令多数据的缩写,将一个指令广播到多个处理器上,但每个处理器都有自己的数据。也就是说同一份控制指令同时运行不同的数据,如下图所示,这样做的好处就是减轻的控制成本。目前,GPUs(Graphics Processor Units)采用的就是SIMD架构。

img

对于MISD这种架构,目前没有系统安装这个结构设计的,这里就不过多介绍了。

下面重点介绍下MIMD,它指的是不同时刻不同CPU执行的指令不同,并且数据也不同,如下图所示。目前超级计算机,网络并行计算机集群和“网格”,多处理器SMP计算机,多核PC都属于这一类。而MIMD又可以根据内存结构,可以分为共享内存和消息驱动。共享内存就是处理器之间共享内存,通过内存来进行通信,而消息驱动指的是处理器通过消息驱动来进行通信。目前共享内存有SMP、NUMA两种,消息驱动对应DM。

img

SMP全称Symmetric Multi Processors,对称多处理机,又称UMA(Unifor Memory Access,统一内存访问),所有CPU都共享同一内存。目前Intel和AMD推出的多核CPU应该归为SMP这一类中。

img

NUMA(NonUniform Memory Access,非一致内存访问),所有CPU共享所有的内存,但不同的CPU访问不同的内存速度是不一样的。

img

DM(Distributed Memory,分布式内存):每个CPU都有自己的内存,CPU通过消息来通信,由于每个处理器都有自己的本地内存,因此,每个处理对本地内存操作都不会影响其他处理器。而且,内存数量可随着处理器的数量进行扩展。不过,它的缺点就是程序员负责许多与处理器之间数据通信相关的细节。

img

存储器分层结构

无论是冯·诺依曼结构还是其他结构的处理器,最理想的情况下当然是有无限大的存储空间和 0 时延的存储系统了,不过这显然是无法做到的,因此人们就提出了分层式的存储系统结构,从寄存器开始每往下一层容量就更大,但是速度也更慢,如下图所示。寄存器容量最小,但是速度最快。因此,想要设计一个良好的存储系统,需要对容量和速度做一个权衡。

img

写在最后

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
从别人那儿下的,没有书签,自己加上的 Through four editions of this book, our goal has been to describe the basic principles underlying what will be tomorrow's technological developments. Our excitement about the opportunities in computer architecture has not abated, and we echo what we said about the field in the first edition: "It is not a dreary science of paper machines that will never work. No! It's a discipline of keen intellectual interest, requiring the balance of marketplace forces to cost-performance-power, leading to glorious failures and some notable successes." Our primary objective in writing our first book was to change the way people learn and think about computer architecture. We feel this goal is still valid and important. The field is changing daily and must be studied with real examples and measurements on real computers, rather than simply as a collection of definitions and designs that will never need to be realized. We offer an enthusiastic welcome to anyone who came along with us in the past, as well as to those who are joining us now. Either way, we can promise the same quantitative approach to, and analysis of, real systems. As with earlier versions, we have strived to produce a new edition that will continue to be as relevant for professional engineers and architects as it is for those involved in advanced computer architecture and design courses. As much as its predecessors, this edition aims to demystify computer architecture through an emphasis on cost-performance-power trade-offs and good engineering design. We believe that the field has continued to mature and move toward the rigorous quantitative foundation of long-established scientific and engineering disciplines.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值