计算机是怎么跑起来的(1)

今天看到一本书叫做《计算机是怎样跑起来的》,就花了点时间看了一下,写此博客,是为了巩固今天所看的内容,顺便说一下个人理解,也希望能够帮到大家,如果有表达不清,不够准确的地方,欢迎评论留言,我们一起探讨~ 

 书的第一章强调了计算机的三大原则:

1.计算机是用来执行输入,运算,输出机器

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

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

虽然现在通过使用计算机玩游戏,上网,存储数据,绘图等一些功能已经充斥着我们生活的方方面面,这些功能看着很复杂,但是计算机归根到底只能做输入,运算,输出这三件事。

无论多复杂的功能,在计算机内部存储时都是以数据的方式存储的。计算机看什么都是数据,这是由计算机内部构造决定的。在计算机的内部,是由多个小开关对应着“通电”和“不通电”,这正好对应了“0”和“1”,这就决定了计算机遵循的是2进制。计算机内部如何存储数据和汉字的在简书上有个作者写的还比较详细(上链接)https://www.jianshu.com/p/7a09175fa87f

计算机在不断进化,目的只有一个,就是和人类更接近,这让我想起了最近很火的人工智能,计算能力甚至超过人类,我认为作者观点是很客观的,也是在未来会得以验证的。既然在不断进化,那么作为程序员就需要不断接纳新知识,以便适应市场发展需求。

第二章讲了自己制作微型计算器,因为我个人主攻软件,所需材料也没有,所以暂不做研究。就直接跳过啦~

第三章提到了机器语言,即处理器能理解的编程语言,也可称为原生代码。同时也提到了汇编语言,语法只有一个:把“标签”“操作码(指令)”和“操作数(指令的对象)”并排写在一行上。汇编语言中提供了多少种助记符,CPU就有多少种功能。因为第三章有部分是基于第二章的,所以暂时不做详解。

第四章讲的是程序的流程。程序的流程分为三种,一种是顺序执行,一种是条件分支,一种是循环。作者这一段讲的非常通俗易懂,“程序的三种流程正像是河流本身。从高山的泉眼中涌出的清泉形成了河流的源头(程序执行的起点)。水流从山中缓缓流下,有时向着一个方向流淌(顺序执行),有时中途分出了支流(条件分支),还有时由于地势卷起了漩涡(循环)。难道诸位不认为程序的流程也很美吗?完全就像是裱在画轴上的山水画一样。还有一种称作“无条件分支”的流程,它就仿佛是大雨瓢泼引发的泥石流,突然就向着某处流去了,可以认为这是一种特殊的条件分支。”

由程序的流程画出程序的流程图,更便于我们分析问题,解决问题,以免程序陷入混乱。

计算机程序流程有两种特殊流程——中断处理和事件驱动。中断处理是指计算机使程序的流程突然跳转到程序中的特定地方,这样的地方被称为中断处理例程(Routine)或是中断处理程序(Handler),而这种跳转是通过CPU所具备的硬件功能实现的。以硬件形式连接到CPU上的I/O模块会发出中断请求信号,CPU根据该信号执行相应的中断处理程序。中断处理以从硬件发出的请求为条件,使程序的流程产生分支,因此可以说它是一种特殊的条件分支。可是,在诸位编写的程序中并不需要编写有关中断处理的代码。因为处理中断请求的程序,或是内置于被烧录在计算机ROM中的BIOS系统(Basic Input Output System,基本输入输出系统)中,或是内置于Windows等操作系统中。诸位只需要先记住以下两点即可:计算机具有硬件上处理中断的能力;中断一词的英文是Interrupt。事件驱动——通常把用户在应用程序中点击鼠标或者敲击键盘这样的操作称作“事件”(Event)。负责检测事件的是Windows。Windows通过调用应用程序的WndProc()函数通知应用程序事件的发生。而应用程序则根据事件的类型做出相应的处理。这种机制就是事件驱动。可以说事件驱动也是一种特殊的条件分支,它以从Windows送来的通知为条件,根据通知的内容决定程序下一步的流程。

未完待续。。。

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值