读书笔记 | 计算机是怎样跑起来的 第1章:计算机的三大原则

1.1 计算机的三个根本性基础

1. 计算机是执行输入、运算、输出的机器

2. 程序是指令和数据的集合

3. 计算机的处理方式有时与人们的思维习惯不同

1.2 输入、运算、输出是硬件的基础

 

从硬件上来看,可以说计算机是执行输入、运算、输出三种操作的机器。计算机的硬件由大量的 ICIntegrated Circuit,集成电路)组成。

计算机所做的事就是“输入”数据 1 2,然后对它们执行加法“运算”,最后“输

”计算结果 3

输入、运算、输出三者必须成套出现,缺一不可。

1.3 软件是指令和数据的集合

 

下面介绍软件,即程序的基础。所谓程序,其实非常简单,只不过是指令和数据的集合。无论程序多么高深、多么复杂,其内容也都是指令和数据。

所谓指令,就是控制计算机进行输入、运算、输出的命令。把向计算机发出的指令一条条列出来,就得到了程序。

程序中的数据分为两类,一类是作为指令执行对象的输入数据,一类是从指令的执行结果得到的输出数据。

因为计算机是先把所有的信息都表示成数字后才对其进行运算的,所以编程语言的语法类似数学算式也就不足为奇了。但是在程序中有一点与数学不同的是,变量和函数的名字都可以由一个以上的字符构成。

所谓编译就是把用 C 语言等编程语言编写的文件(源文件)转换成用机器语言(原生代码)编写的文件。

1.4 对计算机来说什么都是数字

 

计算机有计算机的处理方法,这是三大原则中的最后一点。计算机本身只不过是为我们处理特定工作的机器。如果计算机能自己干活的话,那么笔者一定会买几百台,让它们先替自己完成一整年的工作。但是,并没有这种会挣钱的计算机,计算机终究只是受人支配的工具。

迄今为止,使用计算机的目的就是为了提高手工作业的效率。例如,文字处理软件可以提高编写文档的效率;电子邮件可以提高传统邮件寄送的效率。总之,作为可以提高工作效率的工具,有些靠手工作业完成的业务可以直接交给计算机处理。但是也有很多手工作业无法

直接由计算机处理。也就是说,在用计算机替代手工作业的过程中,要想顺应计算机的处理方法,有时就要违背人们的思维习惯。请诸位特别留心这一点。

用数字表示所有信息,这就是一个很具有代表性的计算机式的处理方法,这一点也正是和人类的思维习惯最不一样的地方。

1.5 只要理解了三大原则,即使遇到难懂的最新技术,也能轻松应对

有关计算机三大原则的说明到此结束。只要理解了这三大原则,即使遇到难懂的最新技术,也能轻松应对。下面就给诸位看一个具体的例子。这里摘录了一段有关 .NET 技术的介绍,.NET 是微软公司率先提出的一种新技术。

【有关 .NET 的说明之一】

微软公司率先提出了作为新一代互联网平台的 .NET 技术。作为.NET 核心的 XML Web 服务使用通用技术 SOAPXML,促使企业间的计算机协同工作。

【有关 .NET 的说明之二】

计算机是执行程序的机器。程序是指令和数据的集合。为了使互联网上相互连接的计算机能通过程序协同工作,微软公司采用了 SOAP以及 XML 规范。SOAP 是关于调用指令的规范,XML 则是定义数据格式的规范。

 

只要定义出了指令和数据的规范,装有符合规范的程序的计算机自然就可以相互协作了。所谓计算机的协同工作指的是,输入到一台计算机中的数据,可以通过互联网传送到与这台计算机相连的其他计算机上执行运算,运算所输出的结果再返回给这台计算机。像这样部署在其他计算机上能执行某种运算的程序就叫作 XML Web 服务。

 

1.6 为了贴近人类,计算机在不断地进化

 

计算机进化的目的只有一个——与人类更加相近。要想贴近人类,就必须从计算机的处理方式中摒弃不符合人们思维习惯的部分。请对照着计算机三大原则之一的“计算机有自己的处理方式”来记忆这个结论。

 

举例来说,键盘这种不好用的输入设备进化成了好用的鼠标。平面的 2D(二维)游戏进化成了立体的 3D(三维)游戏。无论是哪一种进化,都是为了使计算机的处理方式更加贴近人类。

 

进入 90 年代后,MS-DOS 进化成了 Windows,用户可以在图形界面上通过鼠标的操作直观地下达命令(如图 1.3 所示)。开发出 Windows 的美国微软公司,正将目标锁定在用户体验(User Experience)上,旨在开发出超过现有 Windows、更加贴近人类的用户界面(计算机的操作方法)。

 

诸位读者当中应该也有对编程感兴趣的人吧。编程方法也在进化,进化的成果是诞生了两种编程方法,面向组件编程(Component BasedProgramming)和面向对象编程(Object Oriented Programming)。这两者的进化目标一致,都是使程序员可以在编程中继续沿用人类创造事物

时的方法。

 

面向组件编程的方法是通过将组件(程序的零件)组装到一起完成程序;面向对象编程的方法是先如实地对现实世界的业务建模,之后再把模型搬到程序中。使用符合人类思维习惯的编程方法,可以实现高效率的开发。

 

1.7 稍微预习一下第 2

 

计算机内部主要由被称作 IC 的元件组成。虽然在 IC 家族当中有功能各异的各种 IC,但是在这里希望诸位记住的只有三种:CPU(处理器)、内存以及 I/O

 

CPU 是计算机的大脑,在其内部可对数据执行运算并控制内存和I/O。内存用于存储指令和数据。I/O 负责把键盘、鼠标、显示器等周边设备和主机连接在一起,实现数据的输入与输出。

 

 

 

只要用电路把 CPU、内存以及 I/O 上的引脚相互连接起来,为每块 IC 提供电源,再为 CPU 提供时钟信号,硬件上的计算机就组装起来了,还是非常简单的吧。所谓时钟信号,就是由内含晶振(一种利用石英晶体(又称水晶)的压电效应产生高精度振荡频率的电子元件。)的、被称作时钟发生器的元件发出的滴答滴答的电信号。如果是 Pentium CPU的话,所使用的时钟信号会从几百 MHz 2GHz 不等。

 

在接下来的第 2 章中,我们将尝试着动手“制造”一台计算机。说是制造,也只不过是在纸上进行的“模拟体验”,而且笔者会带着诸位做,所以请不要担心。敬请期待!

原文地址:https://www.cnblogs.com/paulycoding/p/6927438.html