计算机的基础
日期:2024-02-16
之前在专栏谈过很多计算机的应用,由不同类型的CPU效能,模拟器的实现方式,到3D的实现方式,回过头来看,发现没有多谈及过计算机的基础。所以在未来几星期,我们可以探讨一下计算机科学的基础,包括计算机的基本运作原理、积体电路的基础、软件的编写,以至计算问题复杂度。让我们有更坚实的基础了解这个现代社会的房角石是如何实现的。
计算的运作基础——图灵机
在计算机科学的基础中,一个重要的概念是图灵机。
图灵机的概念是由数学家艾伦.图灵在1936年提出的。它将计算过程抽象为一系列的状态转换,并且可以模拟任何其他计算机的计算过程。而这个机械式的工作,只需要由三个主要组件组成:读写头、无限长的纸带和控制单元。纸带被划分为一系列的格子,每个格子都可以存储一个符号。读写头可以读取和写入这些符号,并根据控制单元的指示进行移动。
图灵机是一个理论上的计算模型,它证明了机械计算是可能且可行的。机械计算是指「依照一定的有限的步骤,毋须计算者的灵感就能完成的计算」。这意味着机械是可以自行运算而不需要计算者——人的参与。粗略地想像就是由算盘来到了电子计算机中,人的角色的转变。
机械计算例子
用比较日常的例子来想像,我们平时笔算乘法的思维过程,跟一台图灵机的运转非常相似:在每个时刻,我们只将注意力集中在一个地方,根据已经读到的信息移动笔尖,在纸上写下符号;而指示我们写甚麽怎麽写的,则是早已背好乘法表,以及简单的加法。这样就是图灵机要做到的事情:把计算变成一系列的机械动作,让机械可以自行运算。
艾伦.图灵
结语
在有了这个计算模型,我们从理论上已经可以进行机械计算,但实际要做出一个可以实现这个模型的机器,我们还要一个架构(architecture),对计算机有认识的读者,可能由上文的读写头,纸带等联想到现在计算机中的中央处理器,记忆体,这正正是匈牙利裔美国数学家约翰.冯·诺依曼的工作,下一篇文章,我们会看一下这个基本上现在所有计算机都在用的架构到底是甚麽。
即时睇全港更多二手笋盘 |