1.1概述:机器语言

来源:互联网 发布:tensorflow slim 编辑:程序博客网 时间:2024/06/05 18:13

开始一段旅程之前,我们通常想要知道它的大概路线。

学习编程也是一样,我们投入到细节之前,也应该了解一下程序是如何被创建和工作的,以及一门编程语言被设计出来的背景。

不要在意本章描述了一些你无法理解的东西,对它们大体上有个概念就行。在续章节会详细介绍它们。


1、机器语言
计算机中负责执行程序的那一小块芯片叫做CPU(Central Processing Unit)。

程序对于计算机来说就是一组指令列表,这种指令叫做机器语言。在早期,每个类型电脑都有自己的机器语言。

当CPU执行程序的时候,程序被存储在“内存”(也叫RAM —— Random Access Memory)。

除了程序本身,还有程序计算时用到的数据也会加载到内存。内存由很多有序“块”组成,每个“块”都有自己的地址。当CPU需要访问内存块中的数据,就把包含地址的信号发给内存,内存返回该地址指向的数据,CPU也会往内存中写入数据,用于保存一些地址。

对于机器语言,CPU的操作非常简单,就是不停地从内存中读出指令,执行,然后读出下一条,执行……。

CPU读和执行指令的细节不是特别重要,但是有一些基本概念值得了解。在CPU内部有一些寄存器,寄存器是小型的存储单元,可以存储数字或者指令。CPU使用一个寄存器来跟踪程序执行的位置,这个寄存器可以把它叫做计数器(Program Counter)。计数器只保存CPU将要执行的下一条指令的地址。

计算机执行机器语言是完全机械的物理行为。CPU的计算部分是由上亿个叫做晶体管的小开关组成,他们不停按照规则打开/关闭来完成计算。

机器语言表现出来就是二进制数字,0和1。一个0或1被称为一个比特(bit)。一条机器语言指令就是一串0/1序列(计算机中的所有数据都是二进制)。每个内存块能够存储1个字节(byte),1个字节是8个比特的序列。一条指令通常由多个字节组成,包含在连续的内存块中。

计算机之所以能用二进制数字工作,就是因为晶体管实现的小开关,开就是1,关就是0。机器语言指令被按规则以一连串开关的形式存储在内存中,加载到CPU后,CPU负责依照指令把对应的开关打开/关闭,然后响应执行结果。就是这么简单。

到这里,你应该理解了计算机的工作过程:内存存储二进制组成的机器语言程序和数据,CPU从内存中一条一条地读取指令,机械化地执行它们。







0 0
原创粉丝点击