第1章 硬件——计算机的身体
法律要点 硬件的软件化趋势及责任边界
通常硬件是最容易主张技术中立的,但随着数字孪生技术的不断成熟,硬件正在逐步地被数字化、软件化,加之处理器和传感器越做越小,导致硬件普遍具有了智能化和接入网络的可能,因此当硬件在设计之初就有了强烈的软件化倾向时,硬件的法律责任边界也将随之改变。
法律人如果要了解计算机与网络技术的全貌,硬件知识是不可或缺的部分,而且因为软件也是运行在硬件上面的,我们常说经济基础决定上层建筑,在这个过程当中硬件就是经济基础,软件就是上层建筑,所以硬件有必要拿出来单独梳理一下。
硬件类型五花八门,我们要提取出硬件身上共性的、通用的模块来了解,目前看来,计算机硬件中最重要的我认为有三个:CPU、内存以及各种类型的传感器。
这三样东西构成了智能硬件(手机、电脑、智能眼镜、智能手表等)的灵魂,其他的如硬盘、网卡、声卡、显卡虽然也都重要,但相比之下就没有前面三样这么关键了。
计算机硬件的发展历史也是比较悠久了,如果从1946年世界上第一台电子计算机出现开始算,到现在也过去了半个多世纪,当时这台计算机重达30吨,占地1800平方英尺,功耗150千瓦,俨然一个庞然大物,但是估计运算速度不会太快。
等到2002年笔者上大学读计算机专业的时候,台式机虽然小了很多,但是液晶显示器仍然尚未普及,我们用的还是那种很厚的CRT(阴极射线管)显示器,靠电子枪往屏幕上发射电子束来显示图像,机箱很大并且上面集成了一个叫“软驱”的装置,是用来插3.5英寸软盘的(相当于我们现在用的U盘,容量只有几兆)。当时去机房里上网的时候,可能各种电器元件的密闭性还不是很好,需要戴上鞋套以便防尘,仪式感很强。
后来有了液晶显示器,有了笔记本,有了智能手机,硬件变得越来越小,性能却越来越强,最核心的原因就是CPU处理器和内存越来越小,然后有了各种类型的传感器加入设备中。
我们可以看一下,下图是台式机机箱中的主板,上面集成了CPU、内存、各种接口,也就是说看上去已然过时的台式机机箱中,其实已经把过去那个30吨重的庞然大物集成在一块面板之上,不得不说这是一个巨大的进步。
主板示意图[1]
硬件发展的步伐并没有因此停止,短短十余年,CPU已经小到只有一个指甲盖那么大,性能却提升了数十倍,内存、显卡、硬盘等也在同比例缩小的同时性能大幅度提升,以至于它们钻到了手机这样一个只有方寸大小的小盒子里。
能做到这些,核心的原因是人类在工艺上已经可以在纳米级的尺度内进行电路的雕琢和操作,就等于说把原来庞然大物中那些复杂的电路结构微缩到纳米级,然后就可以在一个小小的CPU中部署大规模的集成电路了。
说到这里,插两句题外话,技术有的时候确实跟哲学或者宗教上的一些观点形成某种呼应。《道德经》里的“道生一,一生二,二生三,三生万物”与计算机语言中靠0和1生发出的所有逻辑运算相呼应,硬件也是类似,CPU芯片就是由晶体硅做出来的,硅其实就是沙子(二氧化硅)脱氧后的产物,我们从沙子中提取硅,再在硅晶体上雕刻出超大规模的电路,颇叫人领悟到一种佛家常说的“一沙一世界,一叶一菩提”的禅意。
为什么CPU只认0和1,是因为早期它的电路基本单元是由二极管组成的,二极管只认高低电平两种状态,对应的数字信号就是0和1。
现在的CPU基本电路单元早已经不是原始的二极管,毕竟那么大的管子是不可能放到指甲盖大小的芯片里去的,现在的二极管其实已经不再是管,而是一种超薄的具有凹陷和凸起的片状结构,通过凹陷和凸起来实现类似二极管这种对于高低电平两种状态的反馈和识别。
上图展示的就是显微镜下CPU最微观的结构,从刚开始30吨的庞然大物,到现在微缩到纳米级的集成电路,硬件的发展遵循着一个神奇的“摩尔定律”——每过24个月,芯片上面能够布设的晶体管数量就翻一倍。
在过去的硬件发展历程当中,这句话基本上得到了验证,差不多每18~24个月,同样大小的芯片上面,晶体管的数量就可以翻倍,同时也就意味着,如果同样大小的芯片上面晶体管数量不变,那么它的成本就会降低一半。
可以对照一下你买电脑和手机的经历,是不是基本上每过一两年,新产品的运算速度就可以比之前提升一倍,或者说同样的机器再过两年去买的话价格就已经下来了一半,这种直观的感受就是“摩尔定律”所带给你的。
对于目前我们手上的电脑和手机到底有多高的性能,多数人可能没有直观的感觉,诺丁汉大学的一位计算机科学教授拿苹果手机和50年前美国登月飞船“阿波罗11号”的导航计算机做过一次对比,结果苹果手机的计算能力甚至是“阿波罗11号”导航计算机的1.2亿倍,单位没写错,是“亿”。
这也就意味着,如果现在想造一个宇宙飞船登月,把你的手机装到里面来作为控制飞船航向和通信的计算机就绰绰有余了。但是我们为什么对这样强大的算力没感觉,主要是因为人类其实对于计算机的使用场景没有那么丰富,大部分场景下还是用手机打游戏,性能再强悍的电脑用来斗地主都是没有感觉的。但是我们应该知道,对硬件的性能走到现在的这种水平要保持一定程度的敬畏,了解你手上拿的不只是一个简单的玩具,而是一台超级计算机。
平时我们说一个手机性能强不强、电脑快不快,核心指标要看CPU多少G赫兹,为什么大家都去看这个参数?这里涉及CPU的一项重要技术原理——时钟脉冲频率。
前面已经介绍过了,CPU由无数个最小计算单元组成,每一个最小单元反映高低电平的两种状态,在具体运算的时候,使用者把大量的0和1灌进去,这时候CPU要有序地把那些最小单元组织起来协同处理这些海量的0和1数据,具体做法是在CPU里内置了一个重要的元器件——脉冲发生器。
这个小小的脉冲发生器就像一个时钟一样,以一个固定的频率给CPU中所有的最小计算单元发出时钟信号,这个时钟信号可以理解为纤夫拉船的时候喊的口令,以便于大家整齐划一地动作,又有点像是2008年北京奥运会开幕式那个击缶方阵,几百人整齐划一地敲击出倒计时的效果,需要遵照统一的节奏,这个节奏就是时钟信号。
击缶方阵中的每一个鼓手都像是CPU里面最小的计算单元,鼓槌的抬起和落下就像是计算单元的高低电平两种状态,对应二进制数字信号0和1,如何保证这么多人同时操作不会有差?那就必须提前规定好统一的敲击节奏,不能任由一个个鼓手乱敲一通。
这个统一的敲击节奏对应到CPU上,就是时钟脉冲信号,脉冲发生器按照一定的频率不断广播脉冲信号,然后每一个计算单元按照脉冲信号做一次自己的0-1状态运算,显然发出脉冲信号的频率越高,计算单元工作的速度越快,就好像纤夫口号喊得越快,拉船的速度就越快。
伏尔加河上的纤夫[2]
而赫兹则是脉冲发生器在1秒钟内发出信号次数(脉冲周期)的计量单位,1赫兹意味着脉冲发生器1秒钟发出一个脉冲(振荡一次),1G赫兹意味着1秒钟发出1G(1000000000)个脉冲,也就是说CPU在1秒内可以运算1000000000次。
显然,CPU时钟频率越高,性能越强。当然不是说脉冲发生器只要不断提高信号发射频率,CPU就会无限制地加快速度,而要考虑计算单元的承受能力,频率太快意味着会有更大的发热和损耗,所以一个CPU的制作工艺决定了它所能承受的最大工作频率。
那么我们就继续看一下CPU是怎么做出来的,是何等巧夺天工的制作工艺让一个小小的芯片有了超强的运算能力。
CPU的内部电路显然不是用电焊焊上去的,而是用激光蚀刻,用来进行蚀刻操作的主要设备(可以理解为机床)叫光刻机。全球目前80%的光刻机产量由荷兰ASML公司垄断,每台光刻机大概造价要1亿美元,被誉为“现代光学工业之花”。
国内陆续也有公司斥巨资开发芯片,但如果要超越被国外垄断的光刻机等技术还有很长的路要走。这里我们又要插一句题外话,以前学马克思主义哲学的时候经常说“人和动物最大的区别是制造和使用工具”,当看到光刻机的时候对于这句话相信会有切身的体会,能掌握这种精密的工具,确实让人和动物之间拉开了实质性差距。
内存
接下来我们介绍一下内存。可能有人对内存和硬盘会有点混淆,找个形象的类比,就像厨师炒菜,CPU就相当于厨师,它来决定这个菜怎么炒、放多少盐、掌握多大火候,内存则是一个炒锅,用来把食材物料放进去翻炒,所以它是加工食材的一个临时场所。等菜炒好了之后就要出锅了,出锅后放在哪里呢?放在盘子和碗里,这个盘子和碗就是硬盘。
比如,我们打开一个Word,然后往里面输入文字,这个让Word运行和接收输入的文字信息的过程就是CPU在做计算(厨师在炒菜),这个计算的实现是要把Word程序放到内存中执行,输入的文字也在内存中被Word程序捕捉和记忆(炒锅开始工作);等到你全部写完了点击保存,最终形成的一个文本文件就放到了硬盘里面给保存起来,点击关闭结束程序,Word程序也就从内存中退出了,这一步相当于把炒好的菜倒在了盘子里(硬盘),然后把内存(炒锅)释放了出来。
CPU=厨师
内存=炒锅
硬盘=盘子、碗
所以内存是一个暂时用于计算和存储的空间,它的存取速度也比硬盘高,因为它要不断地运行,而且是有很多程序同时运行。所以我们看一个电脑的性能,光是CPU速度快还不够,内存速度也要跟上,否则厨师动作再快,炒锅的火总是上不来也没用。
至于硬盘的话,个人认为没有太大技术含量,就是存东西用的,无非就是空间大一点,而且现在有云空间、有外接存储器,机器自带的硬盘大小更加不重要了。
从原理上内存如何实现暂时存储呢?首先内存里面也为每一个最小存储单元编好了物理地址,但这个物理地址比较复杂,于是内存进一步把物理地址进行了映射,把更容易识记的虚拟地址或者逻辑地址跟物理地址一一对应起来(有点像MAC地址和IP地址、域名之间的映射),CPU在运算的时候只需要找相应的逻辑地址存取数据就好了。
把一个程序装入内存的过程包括把高级语言编写的源程序编译成二进制的可执行代码,然后根据内存的逻辑地址存放到指定位置,接下来CPU再到这些位置上寻找代码指令进行执行。
某反编译工具的运行界面,可以看到正在内存运行的某个程序对应的语句、数据、在内存和寄存器中所在的位置
每行代码所在的内存位置以及代码执行后产生的结果所存放的内存位置,都可以通过专门的软件进行查看,这些查看工具的使用对于法律人而言还是比较重要的,比如我们经常需要知道某些侵权软件在内存中的运行过程,看它是否对其他软件造成了干扰、是否劫持了数据,包括司法鉴定对这些问题给出结论,也往往需要调用第三方工具对内存中运行的程序进行查看。
内存内部有自己的物理地址,对外使用的却是逻辑地址,二者之间又是怎么对应的呢?
下图是一个内存条[3],内存条外面有很多的触点,就是所谓的“金手指”。图中上面一排和下面一排都是金手指触点,用于读取和输出数据。内存跟CPU一样只能接收二进制0-1数据,先看左下角的RD和WR这两个金手指,这两个触点分别代表着“Read”(读)和“Write”(写)两种状态。
向0101010101地址写入11110000数据时,内存的工作状态
当WR变成1的时候,就意味着要往内存里写数据。写的数据具体是什么呢?那就要靠下面一排D0~D7这八个金手指触点来完成了。既然是八个金手指,也就意味着可以一次往内存里写8位的0和1数据,此时如果我们把D0~D3都设置为1,D4~D7都设置为0,那就意味着要写入的数据是:11110000。
知道了读写状态的设置和输入数据的设置,最后要解决的问题就是把输入的数据放到内存的哪个位置上,这个工作由上面一排A0到A9这十个金手指触点来完成,如图我们把对应的十个触点设置为0101010101,也就意味着要把前面准备写入的数据“11110000”写入内存的“0101010101”这个虚拟地址中去。
同样的道理,保持其他设置好的数据不变,只把“RD”设置为“1”同时“WR”设置为“0”,也就意味着读写状态发生了变化,从原来的写入变成了读取,此时CPU执行的指令是从“0101010101”这个内存地址中读取“11110000”这个数据。这就是内存工作的基本原理。
驱动
除了CPU和内存,电脑要正常工作还需要其他一些外部设备,如鼠标、显示器、打印机、光驱、USB等,要使用这些外部设备,不是说把它们往插口上一接就行了,还需要安装一个对应的软件——驱动程序。
驱动实际上就是让操作系统认识和接纳外部设备,进而让CPU、内存可以跟外部设备进行通信的软件。科幻电影《阿凡达》里外星上的大鸟都长了一个长长的喇叭一样的东西,骑手必须要把辫子插进去之后,大鸟才允许你骑上去,这就如同一个驱动。
驱动主要做两件事:(1)它相当于外部设备的一个简历,告诉操作系统我是谁、我从哪来、遵循什么标准;(2)相当于使用说明书,告诉操作系统我有什么功能、该怎么样使用。很多人在使用新买的扫描仪、打印机之前都需要安装驱动软件,就是这个原因,不然操作系统不认识你的新设备。
传感器
最后介绍一下第三个核心的硬件——传感器。
在硬件越来越智能化的今天,很多人不禁要问“智能”两个字体现在哪里?以手机为例,手机的英文翻译是Cellphone,其实放到今天是不准确的,应该是“Smartphone”,因为手机已经从诺基亚时代的功能机进化到安卓和苹果时代的智能机,区别就在于手机上有了各种类型的传感器。这些传感器让手机可以实时地收集和记录你的使用数据,进而越来越了解你、懂你,就像是有了“智能”一样。
目前的手机上至少都安装了加速度传感器、磁力传感器、方向传感器、陀螺仪、光线传感器、距离传感器、压力传感器、温度传感器等。我们看手机前置摄像头旁边或者下面都有一个小槽,那里藏着的是光线传感器和距离传感器,这两个硬件能够实现你无比熟悉的功能:把手机贴近脸打电话的时候,手机屏幕自动黑屏熄灭,拿开手机要看屏幕的时候,屏幕又会自动点亮,这是因为手机放在脸旁的时候光线感应器被遮住了,然后距离感应器感应到手机与脸之间的距离很近,于是操作系统接收到这两项信号,就自动把屏幕熄灭,反之就会把屏幕点亮,使得手机看上去有一个很智能的效果。类似的智能手表抬起手腕就点亮,放下手腕就熄灭屏幕也都是靠传感器实现的。
传感器实现智能化应用的场景不胜枚举。比如,我们把手机横过来,屏幕上的视频画面也会跟着横过来,这是重力感应器和方向感应器在同时发挥作用,又如戴上智能手环,你的步数、心率、血压就可以被记录,也是传感器在默默工作的结果。
传感器时时刻刻都在收集你的信息,它真正的意义在于把一个人进行了数字化,大数据的主要推手就是这些传感器,电脑算不上智能硬件的原因就在于它没有传感器,而且不像手机或者其他可穿戴设备那样便携,收集数据的能力就差很多。
CPU、内存再加上传感器就组成了五花八门、五彩缤纷的智能硬件世界了。如果顺着这个思路往前延展一下,就是目前非常热门的概念:万物互联——物联网。
物联网时代,几乎所有的东西都会被智能化,也就是说都会装上芯片、内存和传感器,典型的例子是汽车,其中的代表就是电动汽车特斯拉。很多人对特斯拉的认识有误区,觉得就是加电的汽车罢了,其实特斯拉真正的创新在于把汽车变成了一个智能终端,只是这个终端刚好有四个轮子和几张沙发而已,本质上它还是一个大一号的手机,埃隆·马斯克也几次讲过这个造车理念。
所以我们会发现特斯拉的车上遍布各种各样的传感器,使得它具备非常多的智能应用,甚至有些智能应用在硬件层面已经部署好了,但是需要通过软件不断以空中传送(OTA,Over-the-Air Technology,是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术)的方式升级才能开启,如自动驾驶。
某年圣诞节,特斯拉通过OTA的方式为Model X车型推送了“Xmas圣诞之舞”彩蛋,结合LED前灯组和鹰翼式车门和音响,Model X可以为车主呈现一段舞蹈表演
智能硬件今后的发展趋势应该就是向着VR(Virtual Reality,虚拟现实)和AR(Augmented Reality,增强现实)的道路迈进了。VR基本实现方式是用计算机把真实环境模拟出来,而给人以环境沉浸感,典型的比如VR游戏。VR技术一旦成熟,必将把人带到一个更加不受限制的世界,如你不必再亲自到世界各地,用VR设备可以足不出户地走遍全球,体验逼真环境。
相比之下,AR是将虚拟信息与真实世界相融合,运用了多媒体、三维建模、实时跟踪、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息注入到真实世界中,从而实现对真实世界的“增强”,典型的如谷歌眼镜(Google Glass)。
关于智能硬件更长远一点的想象恐怕是人机结合了,媒体曾报道埃隆·马斯克旗下脑机接口公司(Neuralink)的研究已取得进展,其非侵入性设备有望在人体上进行测试,终极目标是将人脑下载到电脑中实现脑机融合,开启“超人认知”时代。
图片来源[4]
法律问题
当下的硬件领域并不像我们以往理解的电脑或者手机硬件,在即将进入的万物互联时代,越来越多的硬件本身就是一个自带处理器和传感器的智能设备,同时也能够接入网络,使得硬件和软件的边界越来越模糊,这导致了一个严重的问题:此前在软件方面频发的侵权问题蔓延到了智能硬件上,硬件厂商也将面临着侵权责任承担的风险。
笔者代理过某电视盒子涉嫌侵害著作权的案件,起因是该电视盒子留有USB的接口,用户可以通过USB直接将第三方的应用或者内容文件拷贝安装到电视盒子中,进而在电视机里播放出来。当时的一个热播的综艺节目制作单位发现可以通过这个接口安装一个视频聚合应用到盒子里,然后在电视中打开这个应用,里面可以看到侵权的综艺节目,制作单位将视频聚合应用开发者和电视盒子厂商一起告到法院,认为厂商也要承担连带侵权责任。作为盒子厂商的代理人,笔者提出了避风港责任不应蔓延到硬件厂商的观点,最后被法院采纳,但这并不代表今后所有的智能硬件都依然能够得到豁免,毕竟软硬件设计一体化所导致的是硬件功能常常变成软件功能的延伸,如有的硬件公司生产出跟手机配合打游戏的外挂式硬件手柄,将手机放置到手柄上,可以操作手柄完成一些游戏本来没有的功能,这样做显然存在巨大的侵权风险,这类风险是硬件厂商今后非常值得关注的问题。
另一个跟硬件相关的突出问题,是隐私和数据,无论是传感器还是摄像头,这些硬件都是实时收集用户数据的利器,这些硬件厂商可能在提供硬件的同时,还标配有云SaaS服务、应用软件定制服务等,一旦终端用户使用这些硬件收集了大量的用户数据回传到云端,这时候硬件厂商就很有可能成为数据的共同处理者,要对前端的数据获取和后端的数据处理承担相应的注意义务,这个问题相对复杂,因为前端的实际使用场景是多种多样的,厂商很难在单一环境下制定自己的数据处理和安全保障策略。
笔者代理的“人脸识别第一案”引发了广泛关注,案件二审宣判后不久的2021年7月28日,最高人民法院即发布了《关于审理使用人脸识别技术处理个人信息相关民事案件适用法律若干问题的规定》,明确“在宾馆、商场、银行、车站、机场、体育场馆、娱乐场所等经营场所、公共场所违反法律、行政法规的规定使用人脸识别技术进行人脸验证、辨识或者分析”属侵权行为。
规定发布后,很快就有多家硬件厂商前来咨询这样的司法解释对后续业务会带来的潜在影响,对此笔者的态度是,不要只看到司法这一个维度,整个大的环境都是在个人信息保护、网络安全以及数据安全方面采取高压态势,有关企业需要为此投入长期的合规调整才可能跟上监管要求。
[1] 图片来源:https://unsplash.com/photos/pTwm6lwymmY,最后访问时间:2022年7月11日。
[2] 伊里亚·叶菲莫维奇·列宾(1844—1930)。
[3] 参见《内存的物理机制》,遵循CC 4.0 BY-SA版权协议,网址:https://blog.csdn.net/weixin_34 292924/article/details/86809211,最后访问时间:2022年5月20日。
[4] 图片来源:https://unsplash.com/photos/hIz2lvAo6Po,最后访问时间:2022年5月6日。