Linux 计算机基础01-工作模式

2019-07-18  本文已影响0人  贪睡的企鹅

计算机的工作模式

对于一个计算机来讲,最核心的就是CPU(Central Processing Unit,中央处理器)。这是这台计算机的大脑,所有的设备都围绕它展开。CPU和其他设备连接,要靠一种叫作总线(Bus)的东西,其实就是主板上密密麻麻的集成电路,总线东西组成了CPU和其他设备的高速通道。这些设备中,最重要的是内存(Memory)。因为单靠 CPU是没办法完成计算任务的,很多复杂的计算任务都需要将中间结果保存下来,然后基于中间结果进行进一步的计算。CPU本身没办法保存这么多中间结果,这就要依赖内存了。

平时我们说计算机的"计算"两个字,其实说的是两个方面,第一,进程和线程对于CPU的使用,第二,对于内存的管理。

image

CPU结构

CPU 其实也不是单纯的一块,它包括三个部分,运算单元、数据单元和控制单元。

进程内存结构

执行的一个程序,需要依赖操作系统为其分配内存,用来加载binary file和存储程序运行的过程中要操作的数据和产生的计算结果,加载到内存中运行起来的程序在操作系统中被称为进程。不同的进程,会有独立的内存空间,互相隔离。

在进程的内存大致可以分为2块,"代码段","数据段"

CPU内存运行程序原理

1 获取进程代码段中指令

CPU 的控制单元里面,有一个指令指针寄存器,它里面存放的是下一条指令在内存中的地址。控制单元会不停地将代码段的指令拿进来,先放入指令寄存器

2 执行指令的执行

指令分两部分,一部分是做什么操作(例如是加法还是位移),一部分是操作哪些数据。要执行这条指令,就要把第一部分交给运算单元,第二部分交给数据单元。

image

总线(Data Bus)

CPU 和内存来来回回传数据,靠的都是总线。其实总线上主要有两类数据,

数据总线:表示总线一次从物理内存中访问数据大小,位数越大一次拿的数据就越多,访问速度也就越快。

地址总线:也被称为“段”,表示操作系统一次访问数据大小,位数越多,能够访问的位置就越多,能管理的内存的范围也就越广。

image
上一篇 下一篇

猜你喜欢

热点阅读