计算机体系结构.微结构概述

计算机体系结构.微结构概述随着工艺的进步,从集成电路发展到大规模集成电路,再到超大规模集成电路,相同面积内可集成的晶体管数目越来越多,这也就给了芯片设计人员极大的空间来发挥身手。在体系结构的发展历程中主要有两个阶段,第一个阶段是专注提升单核性能的阶段,受到摩尔定律的推动,处理器主频越来越高,出现了流水线、动态调度(乱序执行)、多发射等经典的设计,主要是提高ILP(Instruction Lev...
摘要由CSDN通过智能技术生成

计算机体系结构.微结构概述

随着工艺的进步,从集成电路发展到大规模集成电路,再到超大规模集成电路,相同面积内可集成的晶体管数目越来越多,这也就给了芯片设计人员极大的空间来发挥身手。

在体系结构的发展历程中主要有两个阶段,第一个阶段是专注提升单核性能的阶段,受到摩尔定律的推动,处理器主频越来越高,出现了流水线、动态调度(乱序执行)、多发射等经典的设计,主要是提高ILP(Instruction Level Parallelism)。处理器主频的提升,也愈发凸显了存储墙问题,继而有缓存层次结构来缓解这个问题。第二阶段摩尔定律失效,单核性能难以持续增长,由此转向多核、多处理器乃至集群,出现了片上网络、多处理器互联、同时多线程等技术,主要是提高线程级的并行性。此时面临的一个大问题是存储一致性,这又可以分为两个视角来看:缓存一致性(coherence)和内存一致性(consistency)。而一致性问题在单核时期并不存在。

2017年图灵奖颁发给了体系结构泰斗Patterson和Hennessy,以表彰他们对体系结构的量化研究作出的贡献。Patterson也做出了关于DSA(Domain Specific Architecture)的演讲后,我认为微结构的发展迎来了第三阶段,即面向领域的体系结构。如今最典型的领域,当属人工智能中的深度学习了,典型的案例有寒武纪DianNao系列、谷歌的TPU等等。华为甚至也舍弃了寒武纪的IP,选择了自主研发人工智能模块,以便更好的掌控其发展。

以下针对每个技术点进行简略的概述。

流水线 pipeline

流水线,说到底就是一种分工合作,常常以工厂的生产流程来举例。比如生产一个产品P,需要分别经历三个步骤S1,S2和S3,每个步骤耗时为T。若只交给一个工人,那这个工人需要熟悉这三个步骤,而且需要 3T 的时间才能生产一个产品。倘若有三个工人A1,A2和A3,分别只需要完成其中的一个步骤,即对应S1,S2,S3,则当工人A1完成S1后,将半成品交给A2,A2负责S2的工作,然后交给A3。如此就是流水作业,结果就是每经过 T 时间都可以生产出一个产品P。

对于处理器而言,其并不生产东西,而是需要完成每一条指令的执行。倘若处理器在完全完成一条指令后,再开始执行下一条指令,那这效率就太低了。

  • 首先指令的种类很多,所以至少需要对拿到的指令进行分析,来看这条指令到底需要完成怎样的操作,然后再执行。由此就至少有两个阶段,即“分析”和执行“。
  • 倘若不用流水线,那在分析一条指令的时候,负责执行的部分就空闲着;当开始执行的时候,负责分析的部分就空闲着。这就是很大的浪费了。
  • 题外话:所谓”分析“对应的术语为”译码“

教科书中典型的流水线将指令的执行划分为五个阶段:

  • 取指(IF):从指令缓存中读取指令
  • 译码(ID):对指令进行解码,并从寄存器堆中读取数据
  • 执行(EX):指令和数据送入功能部件,进行运算
  • 访存(MEM):从数据缓存中读取数据
  • 写回(WB):将结果写回寄存器堆

历史上为了追求高主频,曾将流水线划分至30多级,但过多的流水线切分并不会带来好处,因此目前流水线最多就是十几级。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值