上一篇计算机系统004 - 硬件组件概况中已经概括介绍了五大组件及其协作方式,如文中所述,后续将有系列文章对各组件进行单独探讨,按照任务描述的转化步骤:
- 将自然语言转化为电信号,过程中涉及到输入设备
- 将计算机中电信号以自然语言形式反馈回来,过程中涉及到输出设备
自然语言
人类和计算机间能够交换的自然语言主要如下:
- 视觉:字符、图案
- 听觉:声音
- 触觉、嗅觉等:电流驱动机械
但归根结底,计算机只能接受电信号,所有支持的自然语言最终仍需转换为电信号形式输入,并从电信号转换为自然语言后输出。也就是说,输入输出设备通常是以交互语言为中心的成对设备,这也是为什么本篇要同时介绍输入输出两种设备类型的原因。
1. 视觉字符
文字是对现实世界的抽象,通过各种文字符号,描述物体间关系。在与计算机进行交互时,自然不能绕开这最基础的文字形式。
计算机要输出文字,需要借助输出设备显示器。
1.1 输出设备:文字显示
早期的CRT显示器也好,现在普及最广的液晶显示器也好,其原理均使用三原色混叠而成。三原色具体指红绿蓝三种,对应为RGB,选择这三种的理由是人眼内感光细胞分别对黄绿、绿色和蓝紫色的光最为敏感,同时感光细胞带宽较大,红绿蓝能够独立刺激这三种颜色的受光体从而感知颜色。
因此,当将三色光以不同的比例复合后,人眼可以感知到各种颜色感觉的效果。且当三色光相加时会感知为白色光,三色光均无是感知为黑色。这些都是基于生理模型,只需要记住即可。
显示器为了能够在屏幕上显示一个不同颜色的点,就必须在显示位置按照不同比例复合三色光,也就是说必须在发射处以发射不同强度的三色光以达到显式效果。以CRT为例,其内部原理如下图所示:
到目前为止,我们已经知道显示器屏幕上如何显示一个不同颜色的点,那么如何将点形成更有符号意义的文字呢?和正常书写一样,当我们只在白纸上点出一个点,不光有多圆润多标准,所能表达的意义都十分有限,而当我们以线条的形式,勾勒出文字符号的每一部分,组合成字,其中信息量就大幅上升。因此,为了在屏幕上显示出文字,就必须追加更多的点,通过组合的形式,呈现出文字的形状,最终表示为一个文字。
小结一下,显示器之所以能够显示文字是因为按照某种点阵组合在屏幕上投射三色光,人眼接收三色光后,感知点阵,并转换为抽象文字。那么下一次如果显示器上出现了乱码,应该从以下几个点来考虑这件事:
-
点阵组合
点阵组合实际上就是另一个专业词汇,字符集。字符集定义了每个文字所对应的编码及其点阵的映射,不同字符集所建立的映射关系并不相同,所支持的字符数量、内容也各有差异。这里不聊各国发展字符集制定标准的历史,只粗略谈谈业界标准Unicode。Unicode最大的功劳是对世界上大部分文字系统进行了整理、编码,换句话说,也就是建立了世界上大部分文字系统编码及点阵的映射。这样一来,大家传递的二进制消息就能正确解释为文字。至于显示出来的效果,或是字体类型、或是大小粗细等细节,也同样跟不同字体所使用的点阵相关,毕竟不同文字使用不同写法更便于阅读,自然要使用不同字体才更加美观便捷。
转换抽象
一个呈现在屏幕上的点阵被主观判断为乱码,不能完全赖在点阵上,有时候也是个人主观因素。比如显示器尽忠职守地呈现出蒙古语点阵,但由于我本身不认识蒙古语,那么这个文字对于我来讲,和乱码没什么区别。这时候要么找个翻译,要么只能自己提升技能了。
1.2 输入设备:文字录入
前面讲到,显示器负责将二进制值转换为电信号,并最终打印出点阵文字。那么终归这里的二进制值要有个来源,不管是早已存储其中还是外界输入,都需要输入设备的支持。常见的文字录入设备就是键盘,当然其他的比如什么写字板、鼠标之类的换汤不换药,基本都是在输入方式转换为二进制值前做些手脚,更加贴近用户使用方式罢了。
无论是薄膜键盘还是机械键盘,其击键原理归根接地是通断开关产生电流。
由于一块键盘上有很多按键,为了区分电流来源,业内制定了键盘扫描码标准,它规范了不同键盘上同一字符(如A)所对应的二进制码值:
通常,一个键位对应两个码值,分别对应按下状态和释放状态。
计算机在收到输入设备产生的码值后,将其转换为Unicode编码下字符所对应编码值,之后或存储或显示均可。如前所述,其他字符输入设备所采取的操作均基于键盘原理,只是额外添加了更加适用适用场景的其他预处理而已。
2. 视觉图案
文字是自然语言的高度抽象,需要人脑进行转换加工,俗称脑补。其特点是数据量小,伴随着信息量也小,有时候由于个人原因在转述时会出现词穷、理解偏差、词不达意等现象,为了更加精确地重现需要描述的场景,有时候一张图片反而能够更加精确地表现出来。
还是从人眼视觉出发,视觉是通过视觉系统外周感觉器官(眼)接受外界环境中一定波长范围内的电磁波刺激,经中枢有关部分编码加工和分析后获得的主观感觉,朴素地说,就是眼睛感受光刺激,脑补出画面。眼睛很复杂,感觉也很玄幻,这里就不去深入讨论,只说平面图案部分。
2.1 输出设备:图案显示
想象下阅读一本纸质书,书上有各种文字、图案,撕下一张,以厘米甚至毫米为单位的正方形进行分割,最终看到的是一粒粒颜色各不相同的小正方形。显示器显示也是如此,要想完整显示一幅画,或者一页文字,就必须通过在一格格正方形中呈现不同颜色来完成。专业一点来讲,我们将这些小方格称为像素点。
通过在每个像素点中以不同比例复合三基色,呈现出某种特定颜色,再组合所有像素点,就成了图案。
和不同人对于颜色感知程度不同一样,不同显示设备所支持颜色数也各不相同,加上所支持像素点有多有少,因此选购时可按需选择。与显示器雷同的还有打印机等输出设备,其原理归根接地是根据图片文件中的二进制值调配出不同比例的复合颜色,按照顺序填充即可。
2.2 输入设备:图案输入
同样,我们可以按照图片的色彩值人工从键盘输入对应二进制值,保存为图片文件即可,但由于效率、精度等因素,通常我们会使用其他设备如相机、扫描仪等作为图片输入设备。
以相机为例,其内部元器件有:
看起来挺复杂,说到底,流程如下图所示:
再精简一下,就是类似人眼去感受光刺激,并转换为三原色记录下来。同样的,扫描仪也是如此。
3. 听觉声音
如果说视觉上人和人之间有所差异,那么听觉上这个差距就更加明显了。人耳能听到声音主要有如下几个步骤:
- 声源震动引起声波
- 声波机械能通过内耳转换为听觉神经上的神经冲动
- 传至大脑皮层听觉中枢产生主观感受
不同人所能感知到的频率和响度均不相同,同一个人随着年龄增长,听觉感知能力也会下降。
3.1 输出设备:制造声波
如前所属,声音要被听到要经过三个步骤,每个步骤均有替代的可能,但就难度而言,第一步明显是最简单的。既然声源震动可以引起声波,那么同样只要模拟制造出声波,就可以被人耳听到。同样,如果能够直接产生神经冲动,也可以给大脑皮层制造出声音的感觉,比如幻听。
这里只介绍下第一个步骤的实现方式,主流的是扬声器。
从图中可以看出,里面主要部件有线圈、磁铁以及一张震膜。既有线圈又有磁铁,说明肯定跟电磁感应有关,震膜的作用就是被电磁感应产生电流大小震动,产生声波。当然也不是说非有磁铁不可,只要能震动,管他谁做功。
3.2 输入设备:采集声波
麦克风和扬声器从原理上类似,无非一个是从电信号产生声波,一个是感知声波产生电信号。
采集过程中会将所有声波全部采集,如果需要滤掉特定频率,可添加滤波器。如有需要增大声波,可以增大电流,不过能量守恒,没有无缘无故的爱,必须通过电源提供更多能量才能起到放大的效果。
4. 其他电流信号
至于其他触觉、嗅觉等输入输出设备,核心在于是否有能够完成感觉到电流之间的转换元器件,如果有,均可以实现。比如通过电信号控制机械手,其执行的流程来源于计算机中二进制值,机械手收到二进制值后,做出对应操作即可。其他例子这里不再赘述,如有兴趣,可自行搜索阅读。
5. 总结
本篇主要介绍了计算机五大组件中的输入输出设备,这一类设备的关键在于要建立起电信号与值间的映射关系。只要能解释的通,自由解释完后的信息有意义,设备就有存在的意义。至于不同用户主观上是否认同其价值,各取所需而已。