最近,在计算机科学中,我发现了一个概念——抽象,这个概念大家应该都有所耳闻,它通常会被我们与艺术中的抽象画联系起来,而我们经常能够听到的,也就是这个词。抽象派的词我不多做解释,但是在计算机中,抽象的使用是计算机科学中最为重要的概念之一,它描述了现实与表象之间的关系,例如为一组函数规定一个简单的应用程序接口就是一个很好的习惯,可以使程序员不用了解它内部的工作便可以实际的使用这些代码。
当然,没有这方面的知识的人理解起来会很费劲,我们来解释一下。计算机系统中有很多的抽象,例如指令架构就提供了对实际处理器硬件的抽象。我们都知道,计算机有一个中央处理单元,也就是处理器,我们说的CPU,它是处理计算我们计算机中的指令的硬件,可以说是计算机的核心,就如同我们人类的大脑。而处理器,看上去就是按照一个非常简单的指令执行模型来操作的,而这个模型则是有指令集架构决定的。在这个简单的指令集架构中,处理器在指令的要求下会执行:加载、存储、操作和跳转这四个操作。它们看起来都是对单个或多个字或字节(它们是组成程序的单位)进行操作。
在这个指令集架构中,我们可以浅显的认为处理器是按照这些步骤执行,但实际上,处理器硬件使用了非常复杂的机制来加速程序的执行。因此人们将处理器的指令集架构与处理器的微体系结构区分开来。它们两个一个描述了每条机器代码的效果,另一个描述了处理器实际上是如何实现的。
这是否就启发了我们一个简单的道理,我们的或者说我们认为的世界是由我们所观测到的事情来组成的,但是实际上它并不是,而是由一个个原因构成,而我们观测到的是原因的结果,我们忽略了过程。但事实上,这些过程对我们的影响并不大,但是知道它却绝对有大用。
网友评论