【计算机组成原理】1.2.5 计算机系统的工作原理

1.2.5 计算机系统的工作原理

00:00

各位同学大家好,在这个视频中我们会从宏观的视角认识一下计算机系统的基本工作原理。首先来看一下我们编写的C语言程序是怎么一步一步转变成可执行文件的,也就是我们熟悉的点EXE文件。每一个刚开始学C语言的人,第一个程序肯定是写hello word,我们写的这个程序是以点C后缀结尾的,我们把它称为源程序。

00:26

接下来预处理器会对C语言当中以#开头的那些命令进行处理。比如我们是不是会在源程序的开头处定义一些常量,常量PI等于3.1415926,定义了这个常量之后,我们在书写C语言程序的时候,是不是可以直接使用派这个常量。预处理器做的一个事情就是会把我们宏定义的这些常量把它恢复成3.1415926。我们在写程序的时候,使用宏定义的常量是为了让代码具有更高的可读性,但是对于编译器而言,需要把这些宏定义的常量把它恢复成原有的样子,只有恢复原样之后,才可以把这个源程序翻译成与之对等的汇编语言程序。

01:18

好,所以接下来这一步就是编译器干的工作,这个我们在之前也介绍过。再往后经过汇编器的处理,又会把汇编语言程序翻译成与之等价的机器语言程序,由01012进制组成。汇编器翻译之后得到的这个文件通常是以点O作为结尾,我们也把这类文件称为目标模块。好,最后在hello word这个程序当中,我们除了自己写的代码之外,是不是也会调用一些标准库函数,比如print f,那么为了生成最终可执行的文件,最后还需要经过链接器的处理,把相关的这几个目标模块链接成一个统一的可执行文件。

02:04

好,那这就是从C语言源程序一步一步变成可执行文件的过程。需要知道编译器、汇编器和连接器它们的作用。在计算机当中,一个可执行文件是被放在外存当中,也就是硬盘里边。硬盘属于一种IO设备。当我们要运行这个可执行文件的时候,这个可执行文件会从外存调入主存。接下来CPU就可以运行这个程序。在程序运行的过程当中,我们可以通过鼠标键盘这一类的输入设备和程序进行交互。同时程序的运行结果也可以通过显示器这类的输出设备进行打印输出。

02:50

这样的一个可执行文件,或者说这样的一个程序在主存里边的样子,我们之前已经用一个例子带大家感受过了。这个程序由一系列的指令和一系列的数据组成,无论是指令还是数据都无差别的存储在主存当中。每一条指令或者每一个数据都会对应一个主存地址。整个程序运行的过程就是不断地执行这些指令的过程。

03:19

我们说CPU内部会有一个寄存器PC专门用于指向下一条即将执行的指令。每执行一条指令,这个程序计数器PC就会自动加一,指向再下一条指令。那每一条指令的执行无非就是对内存当中或者寄存器当中的某些数据进行处理。因此任何一条指令的执行都是去内存或者寄存器里边找到我们要操作的数据,并且对这个数据进行加减乘除等等一系列的运算。最后再把运算的结果写回用于保存结果的位置。好,这种存储程序的工作方式结合之前的例子相信不难理解。

04:02

这个小节当中大家重点掌握编译器、汇编器和链接器这几个概念就可以。在王道书的1.2.5这个小节当中分为了1234这样的四个部分。其中王道书三这个部分结合unix操作系统的实例,给大家描述了程序执行的详细过程。由于现在大家处于一轮复习的阶段,同时操作系统的相关知识也还不够完善,所以王道书的3这个部分建议大家直接跳过不看,3这个部分不重要,考试不会考那么细。

04:38

2这个部分,源程序到可执行文件的整个过程,我们已经用刚才的这个图给大家描述清楚了。而王道书的1和4这两个部分结合之前提到的重要例子也并不难理解,同时随着第四章第五章的更深入的学习,一和四这两部分的内容大家也会理解的越来越深。所以在第一轮复习的时候,这个小节的内容大家佛系一点,看一看就行。重点掌握刚才提到的这几个概念即可。好的,以上就是这个小节的全部内容。

*文章整理自B站公开课程《王道计算机考研 计算机组成原理》,文中时间节点与本节课程视频相对应。
GZH:玄默冲虚
欢迎关注!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值