11.1.1 架构和技术的关系
笔者在IT行业从事架构师职业多年,养成了关注典型IT架构的职业习惯。如果把区块链涉及的技术拆开来看,其实无论是 虚拟货币、密码学、共识算法,P2P通信等技术,大部分都有迹可循,先于比特币出现。区块链之所以变得这么重要,主要是由于它把这些技术进行有机的组合, 形成一个去中心化的、自动化执行交易、自治管理的架构。因此,与其说区块链是技术的革新,不如说是架构的革新。
大部分人容易把社会的进步,时代的变革归结于某项技术的发明,而忽视了起关键作用的其实往往是架构的创新。回顾IT发 展的历史,每次重大的变革,不无例外是由于新架构的出现产生了新的能力,带来了新的应用,应用推动了变革。架构和技术的关系,有些像交响乐的指挥编排和各 乐器演奏家的关系。就像一个杰出的指挥家指挥各种不同乐器演奏家协奏出气势恢宏的交响乐一样,一个好的架构,把提供不同技术功能的组件通过在空间、时间的 排列组合,通过信息的沟通、协调,形成一个具备一定功能的完备计算系统。
11.1.2 关于计算的观察
IT的实质是计算。在自然界,动物与生俱来掌握了计算的能力。这个从我们观察青蛙准确的捕捉蚊虫,候鸟在周期性迁移中 对路径、时间、所需食物的准确把握,大型食肉动物对捕食对象以及捕食路径的选择取舍,可以很容易得出生物具备计算能力的结论。我们甚至可以从观察植物的某 些特征,例如树根在地下的延展路径,树枝树叶的趋光性生长,甚至春华秋实的规律也可以推测出,植物也具备某种神秘的计算能力。因此,虽然没有很强的科学证 据,但从计算的字面意义来说,可以在很大程度上假设在自然界中,生物具备某些计算能力。而非生物,也就是无机物,应该只是受物理和化学规律支配,并不具备 原生的计算能力。
从某种意义上来说,动物的大脑类似电脑。但就从我们人脑的角度来看,纯粹的数字计算能力是非常有限的,两位数的乘法就 使得大部分人皱眉。因此,从远古开始,人类就开始寻找帮助计算的工具。从结绳计数,到用小棍算筹计数,再发展到用算盘计算,其实是借助工具来进行计算。在 这个计算过程中,计算的主体还是人,计算工具只是为了便于计数或记录中间结果,而没有成为参与计算的主体。到17世纪,法国数学家帕斯卡发明了齿轮传动 的、能计算加减法的计算器,后来德国数学家莱布尼茨在帕斯卡的计算器基础上发明了能做加减乘除的计算器,这样,人类开始可以通过这些机械工具来进行计算, 唯一需要的是通过手动来让机械计算器运转。再后来,机电式计算机、电子计算机相继出现,计算终于能由工具自动进行,代替人脑,唯一需要的是人的控制指令和 预先输入的程序。
11.1.3 架构创新的神奇力量
从刚才所提到的计算机发展历史来看,每次技术革新,像机械技术、机电技术、电子管技术、半导体晶体管技术、集成电路技 术、大规模集成电路技术,都给计算机的发展带来了推动力量,但真正具有划时代意义,起决定性作用的,还是计算架构的创新。这个从著名的图灵机模型就可见一 斑。
英国科学家艾伦·图灵1937年发表著名的《论可计算数字,及其在判定性问题的应用》一文(英文名On Computable Numbers,with an Application to the Entscheidungsproblem.)。其中Entscheidungsproblem是德文“可判定性问题”的意思。“可判定性”意指对于一个 判定问题,如果能够编出一个程序,以域中任意元素作为输入,执行该程序就能给出相应的个别问题的答案,就称该判定问题为可判定的。图灵在论文中提出了计算 机抽象模型——图灵机的概念。图灵机由一个控制器、一条可无限伸延的带子和一个在带子上左右移动的读写头组成。这个在架构上如此简单的机器,理论上却可以 计算任何直观可计算的函数。但同时,图灵也证明了不存在一个算法可以解决判定性问题。也就是说,有些计算问题是无解的。而所有能计算的算法都可以由一台图 灵机来执行。图灵的理论证明了制造出能编程序来执行任何计算的通用计算机是可能的。
图灵机的意义在于,通过一个简单的架构,将原来只是生物具备的计算能力,赋予了无机物。这个是在人类历史上具有石破天惊影响和划时代意义的大事件。图灵机作为计算机的理论模型,奠定了现代计算机科学大厦的基础。
11.1.4 冯·诺依曼架构
1945年,根据图灵机模型,匈牙利籍科学家冯·诺依曼提出了“存储程序”(Stored-program)的概念。 “存储程序”指的是把程序指令和数据放在同一个存储器上,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,指 令和数据宽度一样。处理器执行指令时,先从储存器中取出指令解码,再取操作数执行运算。程序计数器(PC)是CPU内部指示指令和数据的存储位置的寄存 器。CPU通过程序计数器提供的地址信息,对存储器进行寻址,找到所需要的指令或数据,然后对指令进行译码,最后执行指令规定的操作,程序按顺序执行。后 来这种体系架构被称为“冯·诺依曼”体系架构,也叫“普林斯顿”体系架构,如图11-1所示。它由输入、输出设备,中央控制单元(CPU)、存储器以及连 接CPU和存储的总线构成。
图11-1 冯·诺依曼架构体系
由于程序指令和数据共用总线,因此冯·诺依曼体系架构的计算机并行能力差,数据处理速度慢,存在所谓的“冯·诺依曼瓶 颈”。但该架构的特点是简单,不需要独立的程序存储和数据存储,大大减低了外设的复杂性。所以直到今天,这种架构仍是当前计算机的主流架构,绝大部分的计 算机都属冯·诺依曼架构。典型的芯片像Intel、ARM的ARM7和MIPS等,都是支持冯·诺依曼架构的芯片。
11.1.5 哈佛体系架构
与冯·诺依曼架构不同的是哈佛体系架构。哈佛架构是一种将程序指令存储和数据存储分开的计算架构,如图11-2所示。 中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令 存储和数据存储分开,可以使指令和数据有不同的数据宽度。哈佛架构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储,执行时可以预 先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,包括信号处理芯片(DSP)、摩托罗拉公司的MC68系列、Zilog公司的Z8系 列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。哈佛架构的优点是效率高,但架构复杂,对外围设备的连接和处理要求高, 比较适用于外设少的应用场景,如嵌入式的单片机等。
图11-2 哈佛体系架构
11.1.6 有影响力架构的特点
对于通用CPU来说,即使哈佛体系架构效率高,但复杂性和成本高的特点决定了不适用于通用场景。X86能够迅速占领市场,也是受益于采用简单实用的冯·诺依曼架构。由此可见,能对业界产生重大影响的架构一般具有以下特点:
(1)简单性
无论是图灵机模型还是冯·诺依曼架构,给人的第一印象是其简单性,也就是说构成架构的组件比较少,组件间的协同也比较简单,依托此架构做的产品也比较简单易用。
(2)完备性
构成架构的组件恰好不多不少,缺一不可,也不需要增加任何另外的元素就可以完全解决目标领域的所有问题。
(3)通用性
架构都具有一定的适用场景,太专用的场景不太可能产生影响力,因此通用性是形成主流架构的必要条件。
(4)权衡性
能流行的架构都会在效率和成本之间找到最佳的平衡点。只强调技术的先进性而忽视成本往往是很多产品失掉市场的原因。
(5)兼容性
好的架构一定是开放、兼容的架构。其实冯·诺依曼架构和哈佛架构也不是绝对对立的架构。现代的冯·诺依曼体系的芯片也吸收了很多哈佛架构的特点,比如CPU中的指令缓存等,都有哈佛架构的影子。
(6)扩展性
判断一个架构能否流行并可持续发展,最重要的指标是看其扩展性。好的架构,其扩展是通过简单的复制、排列和组合,将把最基础的系统做线性的扩展,使之功能和性能产生线性的增长。
11.1.7 从非生物计算到非生物智能
1950年,图灵发表题为《计算机器与智能》(英文名《Computing Machinery and Intelligence》)一文,第一次提出了衡量机器是否会思考的标准——“图灵测试”。简单来说,图灵认为,如果把一个人和电脑隔开,让他们通过屏 幕打字来对话,如果在持续5分钟的对话后,该人有70%的几率认为与之对话的是人而不是电脑,那电脑就通过了测试,可以认为电脑具备了像人一样的思考能 力。如果我们从1997年5月11日IBM的深蓝电脑在六局比赛中以一胜五平的战绩战胜俄罗斯国际象棋世界冠军卡斯帕罗夫,还有2016年3月 Google的AlphaGo以4∶1的压倒性优势战胜韩国围棋世界冠军李世石这两次人机大战结果来看,虽然这两次都不是严格意义上的图灵测试,但相信很 少人会质疑电脑可以具备类似人类的智能。虽然电脑仍然需要输入依靠人类编写的程序,另外很多人类做起来比较简单的任务,例如模式识别、情感分析等,对电脑 来说还很难,但其深度学习能力以及决策能力已经不容置疑。
可以说图灵在60多年前就预测到,作为人造无机物的电脑,通过在简单的图灵机架构的基础上的排列、组合,可以在某些方 面逐渐演化成和人类智能匹敌的机器。到今天,大数据、人工智能(AI)以及机器人的发展,已经使得我们正式步入了一个无机物智能的时代。凯文·凯利在《失 控》里的一个重要思想就是,人造无机物表现得越来越像生命体。一个名词“硅基智能”也应运而生,相对于作为生物的“碳基智能”而言,“硅基智能”可能更强 大。因为从进化速度上,显然“碳基智能”没法和以摩尔定律速度发展的“硅基智能”相提并论。因此很多人认为,无机物智能超过人类智能会是一个必然很快发生 的事情。所以,科学家霍金,企业家、特斯拉董事长马斯克,以及比尔·盖茨都对人工智能的发展态势表示担忧就不足为奇了。在2015年7月于阿根廷举办的 2015年国际人工智能联合会议(IJCAI)上,超过千位科学家签署公开信,敦促联合国禁止开发自主性武器(autonomous weapons)。霍金、马斯克、沃兹尼亚奇(苹果创始人之一)等都进行了签署,第一次对人工智能所带来的威胁发出警告。
上面的一些心得其实是在多年来从事架构师工作中受到的一些启发。下面想谈谈对从互联网+向区块链+的发展趋势的一些观察和看法。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=995