程序在计算机中是如何运行起来的

文章介绍了软件如何运行,特别是程序加载到内存中由CPU执行的过程。CPU从内存中读取数据并进行运算,内存作为临时数据存储,而硬盘用于长期存储。此外,提到了内存的地址系统、CPU的寄存器和运算器功能,以及它们如何交互执行指令。

前言

前言:CPU和内存

一、什么是软件

软件就是各种数据的集合。例如,记事本、qq、微信都是软件。

二、CPU

1、简介

CPU 分为32位和64位,负责解释和运行,最终转换成机器语言,CPU是寄存器的结合体。
CPU能干的事:
1、从内存中读取数据,然后放到自己的寄存器中。
2、把寄存器中的数据,写入到内存。
3、进行数学运算(加减乘除)和逻辑运算(AND,OR)。
4、依据相应的条件进行跳转,执行其它指令(一条指令跳转到另一条指令)。
对于CPU,必须将数据读取到寄存器中才能做相应的运算。

2、寄存器

寄存器用来存储数据,是一个存储部件,容量有限。

3、运算器

负责运算从内存中读取到的寄存器中的数据,可以看作是一个数据加工厂,对寄存器中的数据做运算(算术和逻辑运算),运算器由下面几部分组成。
运算器是计算的核心,用来做加减乘除运算,运算器操作的是寄存器中的数据,无法直接操作内存中的收据。

1)算术逻辑单元(ALU)

ALU 是运算器中重要组成部分,主要负责数据的处理,从而实现对数据的算术和逻辑运算。

2)累加寄存器(AC)

AC 通常叫做累加器,是一个通用寄存器,ALU运算之后的结果是保存到AC当中。

3)数据缓冲寄存器(DR)

存放的数据主要存从内存中读取过来的,会暂时存放在DR中。

4)状态条件寄存器(PSW)

保存某一类数据,保存的主要是由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,一般分为状态标志和控制标志,存放的就是状态标志和控制标志。

4、控制器

1)作用

用来控制整个CPU的工作。

2)指令寄存器(IR)

CPU执行一个指令,先把指令从内存上读取,放到数据缓冲寄存器中,再从数据缓冲寄存器放到IR

3)程序计数器(PC)

保存下一条要执行的指令,以便于回头来做的时候从哪里开始(类比写文档的时候保存一下,然后下次打开继续从上次保存到的地方继续写)。

4)地址寄存器(AR)

保存CPU访问内存上的那一块内存的内存地址。因为 CPU 和内存的速度是相差较大,CPU 要保存那块正在访问的那块内存地址,直到内存的读写操作完成。

5)指令译码器

根据 IR 中的指令生成很多微操作指令。对指令进行分析解读,分析指令要做什么。

三、内存

1、简介

内存条:内部存储器,主要就是用来存放数据。内存就好比一个个小格子,每个小格子都有自己的编号(内存地址)。
计算机只认识01,所以存放在内存中的数据都是二进制形式。

2、CPU 和内存的交互

我们写的程序是放在硬盘中,需要运行时,会被加载进内存,从硬盘读取到内存,代码就变成了二进制文件,内存中的数据是从硬盘来的。

程序本身的数据是放在硬盘当中。程序是需要被加载进内存中才能被执行,CPU 被设计成只能从内存中读取数据,处理完数据将结果再次写回内存中,然后可以持久化的保存到硬盘中。

CPU中的寄存器的数据从内存装载进来,然后CPU根据相应的指令操作寄存器中的数据。

例如,双击打开记事本,此时记事本程序加载到内存中。此时在记事本当中写字,是在内存中进行操作(未保存),断电后不保存。保存后CPU从中读取数据、运算等,将数据 返回给内存然后保存到硬盘当中进行持久化。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个写代码的修车工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值