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. Python的网络编程[1] -> FTP 协议[1] -> 使用 pyftplib 建立 FTP 服务器

    使用 pyftplib 建立 FTP 服务器 pyftplib 主要用于建立 FTP Server,与 ftplib 建立的 Client 进行通信. 快速导航 1. 模块信息 2. 建立 FTP 服 ...

  2. 洛谷——P1100 高低位交换

    P1100 高低位交换 题目描述 给出一个小于2^32的正整数.这个数可以用一个32位的二进制数表示(不足32位用0补足).我们称这个二进制数的前16位为“高位”,后16位为“低位”.将它的高低位交换 ...

  3. redis --- lua 脚本实现原子操作

    如题, 楼主的想法很简单, lua 脚本本身支持原子性, 所以把命令写进一个脚本就行, 当然后续还会优化才能放到生产上,例如缓存脚本 ,redis 本身会缓存执行过的脚本 ,这样速度更快, 再优化, ...

  4. Mac下Gmail不能访问的简单解决办法

    思路:Hosts Terminal下输入: curl -s http://freedom.txthinking.com/fuckGFW.py | sudo python 按提示输入密码即可 比较方便, ...

  5. 基于avalon+jquery做的bootstrap分页控件

    刚开始学习avalon,项目需要就尝试写了个分页控件Pager.js:基于BootStrap样式这个大家都很熟悉 在这里推荐下国产前端神器avalon:确实好用,帮我解决了很多前端问题. 不多说了,代 ...

  6. XP右键菜单添加“打开所在文件夹”功能

    把以下文字保存为add.reg文件,双击后确定就可以了. REGEDIT4 [HKEY_CLASSES_ROOT\*\Shell\打开所在文件夹(&O)] [HKEY_CLASSES_ROOT ...

  7. UVa116 (单向TSP,多决策问题)

    /*----UVa1347 单向TSP 用d(i,j)表示从格子(i,j)出发到最后一列的最小开销 则在(i,j)处有三种决策,d(i,j)转移到d(i-1,j+1),d(i,j+1),d(i+1,j ...

  8. Qt creator发布可执行文件方式----靠谱

    1.首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是serial_port.exe. 然后以 ...

  9. as well as

    一.as well 用法: 1.as well常用作状语,作“又:也”解,相当于too或also,常位于句末,无须用逗号与句子分开.如: I am going to London and my sis ...

  10. 在ecshop中添加页面,并且实现后台管理

    后台一共需要修改下面的四个文件 admin/template.php admin/includes/lib_template.php languages/zh_cn/admin/template.ph ...