1.1960年代(大型机)

IBM发明了具有二进制兼容性的ISA——System/360,可以兼容一系列的8到64位的硬件产品,而不必更换操作系统。这是通过微编程实现的,每个计算机模型都有各自的ISA解释器,该解释器是用定制于该模型的微指令编写的。(注:首次应用微程序设计和微指令的概念)。System/360开创了计算机兼容性的时代,可支持各产品线以及其它公司各个产品型号协同运行。它也标志着新兴的信息科学领域以及对复杂系统的理解的转折点。

System/360获得巨大成功,与此相对应的是,大型机计算机几十年来一直主导着信息技术领域的高端领域。IBM在50多年后仍在销售System/360的后代,使其成为持续时间最长的ISA。

2.Complex-Instruction-Set Computers(CISC)

1970年IT领域进入小型机时代。摩尔定律意味着存储容量越来越大,因而微程序越来越大,为了便于修复,控制存储变成了RAM。

一个典型小型机和复杂ISA的例子是VAX-11/780,主导了IT领域的这个十年。

3.占主导地位的ISA

摩尔定律表明,微处理器最终将在性能上与微型计算机竞争,但成本要低得多。

1975年,英特尔8080 8位微处理器完成后的一年,开始开发 iAPX 432,但昂贵且慢。8086是在此基础上开发的16位继承者。

与此同时,IBM为了开发一种能与苹果竞争的消费产品而采购低成本的Intel 8086,并在1981年推出了个人电脑,销售额上亿。随后在1985年,英特尔将8086 ISA地址扩展到80386位的32位,使80x86 ISA能够在未来15年中主导微处理器。

4.Reduced-Instruction-Set Computers (RISC)

DEC工程师发现20%的VAX指令负责60%的微码,但只占执行时间的0.2%。人们开始质疑复杂ISA的合理性。人们认识到,另一种办法是有一个简单的ISA,它不需要微编码的解释器;这样的指令和微指令一样简单,但没有那么宽;快速指令内存的内容可能会更改为保存正在执行的应用程序所需的内容,而不是总是包含ISA解释器。

CISC实现每个程序执行的指令较少,但RISC计算机平均每个指令执行的时钟周期(CPI)要少得多,因而程序执行时间更短。

RISC架构的有ARM, MIPS, POWER, SPARC等。相应地,从1985年到2000年,精简指令集计算机(RISC)成为工作站、小型计算机和服务器的主导系统。

5.今天的RISC和CISC对比

80x86早期超越了RISC体系结构,通过使用硬件将80x86 ISA转换成内部RISC类指令,从而允许80x86达到RISC处理器的性能(英特尔称它们为微操作)。考虑到优越的半导体处理和电路设计,80x86最终拥有最快的处理器,除了在PC市场占据主导地位外,还从Riscs手中超越了小型服务器市场。

随着摩尔定律增加晶体管的预算,CISC在面积和功耗上已不满足嵌入式系统,RISC开始崛起。80x86的年发货量在2011年达到3.65亿的峰值,但此后每年下降约8%,RISC销售量增加。

6.Very-Long-Instruction-Word (VLIW) Computers

在概念上类似于宽微指令,一个单一的宽VLIW指令命令多个操作。在纯vliw中,指令之间没有互锁。软件需要对操作进行适当的调度,从而使硬件设计更加简单,但同时也增加了对编译器的要求。

Intel为了将32位80x86扩充到64位设计了VLIW itanium架构,但非常失败。最终被迫采用的AMD 64。

vliw在通用计算方面失败了,但是在数字信号处理器(Dsp)中找到了一个家,它避免了vliw的三个缺点:DSP程序很小,所以代码大小不那么重要;它的分支通常是非常可预测的;硬件提供程序控制的存储器,而不是提供固定内存延迟的缓存。

7.Domain-Specific Architectures

架构师最终耗尽了可以有效利用的指令级并行技术。打出了多核牌。今天的规律和1967年吉恩·阿姆达尔(GeneAmdahl)所说的规律一样,表明了增加处理器数量的收益递减:Amdahl定律指出,任务的顺序部分限制了理论加速比的并行性;如果任务的⅛是串行的,即使增加了100个处理器,最大加速比也是8,而任务的其余部分很容易并行。

鉴于这些不可避免的限制,建筑师们现在普遍认为,在性能成本-能源的重大改善中,唯一的途径是特定领域的体系结构(Dsa)。

8.An Example DSA: the Google TPU

TPU微体系结构的基本思想是使大型矩阵单元保持忙碌。在数据中心,成本-性能优于单纯的性能。google用于深度神经网络推断的张量处理单元自2015年以来已经成功地部署在云中,并被数十亿人定期使用。

9.RISC-V

令人惊讶的是,在RISC的第一个商业架构上市30年后,人们的共识仍然是RISC是通用处理器最好的Isa风格。自1985年以来,没有人提出过一种新的CISC体系结构,自2000年以来,也没有人提出新的通用vliw。

RISC-V是一个开源的ISA,比其他流行的ISA晚了25年,这使得它的建筑师可以借鉴好的想法,但不重复过去的错误。

RISC-V非常精简。x86-32手册是2198页,2186259字。RISC-V对应是236页,76702字,复杂度是前者的30分之1。

RISC-V是模块化的,可根据需要定制。

现代ISA还必须保留操作码空间,RISC-V仅通过为自定义加速器保留操作码来启用dsa。

开放式设计还减少了在处理器中隐藏不必要的恶意秘密的可能性。

10. Conclusion

至少在过去的十年里,计算机架构研究人员一直在利用有限的基准发布基于模拟的创新,声称通用处理器得到了10%或更少的改进,而tpu这样的dsa则报告说,在实际硬件中部署的特定领域体系结构的收益超过了10倍。商业产品之间的数量级差异在计算机体系结构中是罕见的,这解释了建筑师对dsa的热情。DSA需要ISA的支持,RISC-V提供这种支持。

rISC-v的目标是对所有计算设备有效,从最小的到最快的;模块化的,允许根据应用程序的需要定制实现;通过拥有一个非盈利的基金会作为它的所有者,使其随着技术的变化而缓慢发展;以及保留操作码空间来支持dsa。

具有讽刺意味的是,Dennard Scaling和Moore定律的终结可能会振兴计算机体系结构的研究和开发,因为现在必须从Isas可见的创新中获得进展。DSAS和RISC-v可能在这次复兴中扮演领导角色!

50 years of Computer Architecture: From the Mainframe CPU to the Domain-Specific TPU and the Open RISC-V Instruction Set的更多相关文章

  1. Computer architecture Computer organization

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCEComputer architectureNINTH EDITION C ...

  2. What Your Computer Does While You Wait.CPU的等待有多久?

    原文标题:What Your Computer Does While You Wait 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高 ...

  3. Types of Computer Systems

    Types of Computer Systems Para 1 You should be familiar with the differences among computer systems ...

  4. Game Engine Architecture 3

    [Game Engine Architecture 3] 1.Computing performance—typically measured in millions of instructions  ...

  5. 【读书笔记】《Computer Organization and Design: The Hardware/Software Interface》(1)

    笔记前言: <Computer Organization and Design: The Hardware/Software Interface>,中文译名,<计算机组成与设计:硬件 ...

  6. DCI:The DCI Architecture: A New Vision of Object-Oriented Programming

    SummaryObject-oriented programming was supposed to unify the perspectives of the programmer and the ...

  7. Application binary interface and method of interfacing binary application program to digital computer

    An application binary interface includes linkage structures for interfacing a binary application pro ...

  8. ARM architecture

    http://en.wikipedia.org/wiki/ARM_architecture ARM architecture     ARM architectures The ARM logo De ...

  9. Computer form factor

    http://en.wikipedia.org/wiki/Motherboard_form_factor Computer form factor From Wikipedia, the free e ...

随机推荐

  1. log4j - 1

    具体内容: 1.       如何在项目中配置log4j使得该系统可以输出web test的日志文件(自定义格式)到工程dist目录下的junitLog/WebTestLog.log目录下,输出508 ...

  2. SOAP、SOCKET协议

    一.SOAP( SOAP:Simple Object Access Protocol) 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的.简单的.基于 XML 的协议,它被设计成在 WEB ...

  3. ARC 098 D - Xor Sum 2

    Problem Statement There is an integer sequence A of length N. Find the number of the pairs of intege ...

  4. 【bzoj3524】【Poi2014】【Couriers】可持久化线段树(主席树)水题

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=62485671 向大(hei)佬(e)势力学(di ...

  5. [POI2014]Salad Bar

    题目大意: 一个长度为$n(n\leq10^6)$的字符串,每一位只会是$p$或$j$.你需要取出一个子串$S$(从左到右或从右到左一个一个取出),使得不管是从左往右还是从右往左取,都保证每时每刻已取 ...

  6. Context3D的setProgramConstantsFromMatrix使用时需注意的事项

    setProgramConstantsFromMatrix() public function setProgramConstantsFromMatrix(programType:String, fi ...

  7. NAND Flash Bad Block Table

    转:http://wiki.laptop.org/go/NAND_Flash_Bad_Block_Table 1 OLPC NAND Bad Block Management 1.1 Introduc ...

  8. Google Protocol Buffer安装编译及使用

    近期玩了玩谷歌的Protocol Buffer.以下就简介下 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准.眼下已经正在使用的 ...

  9. 输入法不能使用ctrl+shift进行切换的问题

    第一种情况就是,你的输入法只有一种(而且这种输入法并不是“中文(简体) 微软拼音输入法”). 如果是只有一种输入法的话,是无法进行切换的,如果你是想要把输入法切换到无输入法状态,那么你可以通过设置任务 ...

  10. applicationContext.xml文件如何调用外部properties等配置文件

    只需要在applicationContext.xml文件中添加一行: <!-- 导入外部的properties文件 --> <context:property-placeholder ...