人脑稳定运行100年的奥秘

1.人脑能稳定运行多久

人脑只有清醒、非REG睡眠和REM睡眠三种工作状态,没有“关机”状态,所以人脑没有从关机状态进入工作状态的这个重启过程,换句话说就是人脑不能重启
目前人的平均寿命为70年以上,部分人可以活到100年以上,也就是说人脑是在不重启的情况下可以稳定运行100年
在这里插入图片描述
而目前的个人电脑连续工作几个月就会很大概率出问题,性能优异的服务器工作3到5年也需要主动重启一次
为何人脑可以稳定连续运行100年,而性能优异的计算机只能稳定运行3到5年?两者无故障运行时间之比为20:1
在这里插入图片描述
事实上如果人类可以活200年,人脑也能稳定运行200年,换句话说就是人类大脑能存活多久,就可以稳定运行多久!是什么原因使得人脑可以连续稳定运行如此长的时间呢?
在这里插入图片描述

2.稳定运行的奥秘

下图是普通水龙头水电站控制中心,这两者都实现了一个“同样”的作用:放水和关水。
在这里插入图片描述
试问一下:这两个设备在操作时,哪个出错误的概率高?
很明显普通的水龙头出错误的概率更低,也许用一辈子也不会出故障,事实上在水龙头工作寿命内始终能正常完成放水和关水这两个功能。

为什么普通的水龙头出错误的概率低,稳定运行时间更长呢?
原因是因为功能单一,操作简单!

越简单越美!越简单越不易出错!越简单越稳定!
熵增定律指出:熵越大系统越稳定。系统越是单一,能量分布就越均匀,而能量分布的越均匀熵就越大,熵越大系统就越稳定。
在这里插入图片描述
软件设计五大原则(SOLID)中的第一条单一职责原则 Single Responsibility Principle(SRP),单一原则在五大原则中第一位,说明了其重要性!软件设计要遵守单一原则,实现功能单一,逻辑简单。这样才能保证软件质量,保证软件能更加稳定的运行。
人脑之所以能连续稳定运行的重要原因就是使用了单一原则

3.如何实现单一原则

人脑大脑能存活多久,就可以稳定运行多久的重要原因是在各个方面使用了单一原则。人脑神经系统具体的实现方法是:分体、分区、分层、分组
我们一起来看看人脑系统是如何实现这“四分”的?

3.1分体

人脑系统有多个组成部分,主要包括:大脑、小脑、间脑和脑干部分。
在这里插入图片描述

1、大脑:大脑是中枢神经系统的最高级部分,完成与高级情感、精神、视力功能,语言功能、肢体运动等相关功能;
2、间脑:完成与睡眠、摄食以及语言、感觉密等相关功能;
3、小脑:主要实现与平衡、精细动作控制等相关功能;
4、脑干:主要与意识状态、生命中枢等相关功能;

我们把人脑由多个组成部分,这些组成部分叫做人脑的分体。每一个分体完成一类特定的功能,分体和分体之间各司其职,分体和分体之间完成的功能不同,分体的物理结构形态也不同。
由于每个分体只负责一类特定的功能,相比人脑神经系统的整个功能这些功能相对简单,这样就保证了分体稳定运行

3.2分区

人脑多个分体组成,其中每个分体又分为多个功能分区,这每个分区均可以独立完成一个特定功能。大脑作为人脑重要的分体,其分区如下图:
在这里插入图片描述

大脑皮层17区,18区,19区为视觉分区,专门用于处理人体的视觉。
大脑皮层1区,2区,3区为躯体感觉分区,专门负责躯体感觉
大脑皮层41区,42区为听觉分区,专门复杂人体的听觉。
大脑皮层的43区为味觉分区,专门负责人体的味觉。

分区策略让每个功能分区完成一个特定功能,分区只用专注处理自己负责的功能即可,从而将一个复杂的功能分解成多个简单的功能。

3.3分层

当一些功能分区处理的功能比较复杂时,分区会将复杂的功能按照处理逻辑上的关联性再作拆分,我们把这种拆分称为分层。每一个分层完成某个特定功能,多个分层组成完成整个分区的工作。
以神经系统中的视觉系统为例,初级视觉皮层是用于处理视觉的大脑皮层,或称为纹状皮层。纹状皮层的神经元细胞的排列大致可分为6层。这些细胞层被命名为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ和Ⅵ。纹状皮层的细胞结构如下图:
在这里插入图片描述
纹状皮层的这些细胞层由轴突和树突组成。视网膜接受的信息传递到LGN(外侧膝状体核)最后传递到纹状皮层。
在这里插入图片描述
视网膜不同类型的神经节细胞感受到刺激后,会将信息传递到纹状皮层不同的分层中处理。
在这里插入图片描述
我们看到的视觉实际上包含了对物体不同特征的感知,例如颜色、形状、运动等等,这些特征由纹状皮层中的不同细胞并行的进行处理,纹状皮层中不同的分层完成一种特殊的信息处理

这种分层策略可以将复杂的功能细分成一些相对简单的功能,每个分层只用关注一些简单的功能,这样就保证运行的稳定性。

3.4分组
人脑系统中的有些功能由一系列相同的子功能组成,此时人脑神经系统会将这一系列子功能进行分组处理,每一个分组只用关注一个特定的子功能
例如人类的听觉系统,耳蜗上上有科蒂氏器官,这些科蒂氏器官含有听觉感受器。
在这里插入图片描述
不同频率的声音信号由耳蜗上的不同部位的感受细胞接受。
在这里插入图片描述
不同频率的声音信号最终传递传递到听觉皮层中的不同细胞进行处理。

在这里插入图片描述
分组可以将同一个功能细分成一系列功能类似的子功能,这些子功能相对简单,每个分组只有关注一个简单的子功能,这样就保证运行的稳定性。

3.5专用通路

前面讲了人脑为了实现单一原则使用的分体,分区,分层,分组。除此之外为了实现单一原则,人脑绝大多数信息通路使用专用信息通路,就是说每个信息通路只负责一种信息。

听觉通路

在这里插入图片描述

运动通路

在这里插入图片描述

味觉通路

在这里插入图片描述
小结:
人脑系统通过分体,分区,分层,分组等操作将问题“无限细分”,从而使得底层细胞只用完成一个简单的任务,保证了系统稳定性。

这种操作策略像是管理一个国家,一个庞大的国家管理起来非常困难,因此我们将国家按照不同的等级进行划分,将庞大的国家划分成较小的行政区,从而实现科学有效的管理。
以伟大的中国为例,中国将整个国家划分为多个省,每个省划分为多个市,每个市划分为多个县,每个县划分为多个镇,每个镇划分为多个村。
在这里插入图片描述

4.软件工程师如何借鉴人脑运行策略

4.1分体和分区

分体和分区本质上相同,都是使用的“分治”的策略,就是将整个软件先按照功能拆分成多个任务,或者多个模块,每个任务完成一个特定的功能,每个任务只关注自己负责的功能,而不关注其他任务的功能。
任务需要把完成特定功能的所有相关代码全部包含在其内部,这样使得任务完全可以独立运行,不依赖其他任务,实现了高内聚。
在这里插入图片描述
下图是一个网关项目的工程文件,从图中可以看出整个项目采用了“分治”策略,我们将整个项目分为多个任务,每个任务完成一个独立的功能,并且每个任务不依赖其他任务。
在这里插入图片描述

4.2分层

一个复杂的软件功能可以可以水平分割成合理的多个子系统层。系统中的相关联的部分被集中放在同一个独立的层内。
上层功能的实现需要调用下层的功能并得到回复,相邻的任何两层都符合客户与服务器的关系。下层为上层提供服务并为上层调用返回结果,即下层的功能是服务上层的
在这里插入图片描述

分层构架规则:
1、第n层只依赖下方第n-1层
2、第n层不依赖第第n+1层
3、第n层只为第n+1层提供服务
4、第n层通过接口使用第n-1层提供的服务分层

继续以网关项目的工程为例,从图中可以看出每个任务采用了分层策略,通常情况下我们将任务分为三层。第一层负责完成与处理器寄存器相关的事务,第二层负责完成驱动控制相关的事务,第三层负责完成和业务相关事务。
分层构架非常适合维护和移植,如果任务需要移植到其他处理器平台,只需要修改第一层即可;如果处理器平台没有改变只是修改了外设,我们只用修改第二层即可;如果处理器和外设没有改变需要修改业务逻辑,我们只用改第三层即可。
在这里插入图片描述

4.3分组

某些操作包含一系列类似的操作,我们可以把这些类似的操作进行分组,根据实际需要选择相应的分组。
例如我们可以将不同的数据类型的加法进行分组:
在这里插入图片描述
这种操作在java中叫重载

5.参考资料

1、《神经科学——探索脑》 —— Mark F. Bear、Barry W. Connors、Michael A. Paradiso
2、《深入理解计算机系统 》 ——Randal E.Bryant / David O’Hallaron
3、《计算机组成与设计》——戴维A.帕特森 (David A.Patterson) / 约翰 L.亨尼斯 (John L.Hennessy)
4、《软件架构与模式》—— Joachim Goll

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/li_man_man_man/article/details/127469199