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. stl set求交集 并集 差集

    #include <iostream>#include <set> using namespace std; typedef struct tagStudentInfo{  i ...

  2. 反汇编引擎diStorm3

    反汇编引擎diStorm3   diStorm3是Kali Linux自带的一款轻量级.容易使用的反汇编引擎.它可以反汇编生成16位.32位和64位指令.它支持的指令集包括FPU.MMX.SSE.SS ...

  3. NMAP输出结果中CPE的含义

    NMAP输出结果中CPE的含义   CPE全称是Common Platform Enumeration,意思是通用平台枚举项.它是NMAP对识别出来的软件.操作系统和硬件的一种命名方式.它的格式如下: ...

  4. 微软官方的精简版Windows 7——Windows Thin PC

    Windows Thin PC是微软的Window 7的精简版本,它的一个非常明显的特点是系统资源占用小.如下是官方的系统配置需求: CPU:    主频1 GHz 内存:    1GB(实际占用约5 ...

  5. UBIFS 术语

    B+ tree: base head: budgeting: 空闲空间评估 bud: 一个日志使用的eraseblock cnode: commit: 更新index到flash上的过程 commit ...

  6. kubernetes1.5.2--部署DNS服务

    本文基于kubernetes 1.5.2版本编写 在kubernetes1.2之前,采用skydns+kube2dns+etcd的方式来部署dns.而从1.3开始,则部署方式有了一点儿变化,将skyd ...

  7. Object 类中的 equals方法

    1 相等与同一 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等.如果两个引用对象指的是同一个对像,则称这两个变量同一.Object类中定义的equals 函数原型为:public bo ...

  8. Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固

    1.常驻型广播  常驻型广播,当你的应用程序关闭了,假设有广播信息来,你写的广播接收器相同的能接受到.  他的注冊方式就是在你的应用程序中的AndroidManifast.xml进行注冊. 通常说这样 ...

  9. django book多站点学习

    多个站点 Django 的多站点系统是一种通用框架,它让你可以在同一个数据库和同一个Django项目下操作多个网站. 这是一个抽象概念,理解起来可能有点困难,因此我们从几个让它能派上用场的实际情景入手 ...

  10. CSS从大图片上截取小图标

    一张图片,用CSS分割成多个小图标. css样式: .icon{ background:url(../images/tabicons.png) no-repeat;width:18px; line-h ...