美文网首页
趣谈Linux操作系统(4)——X86系统

趣谈Linux操作系统(4)——X86系统

作者: 小盼盼_1 | 来源:发表于2020-07-26 17:16 被阅读0次

    背景

    对于一台计算机来说, CPU、内存是重要的模块,以一个简单的程序流程图来说明各模块的工作方式:

    CPU的工作模块

    CPU是计算机的大脑,主要的工作伙伴是内存,工作模式为从内存中提取指令并执行它。此过程可分为三个关键阶段:提取、解码和执行。即CPU从内存中提取指令之后,解码该指令的实际内容,然后再由CPU的相关部分执行该指令。

    PS.CPU执行完某程序包含的所有指令后,则可理解为程序执行完成。

    CPU主要由两部分构成:控制单元和算术逻辑单元(ALU),其中控制单元主要负责从内存中提取指令并解码执行,算术逻辑单元(ALU)主要负责处理算数和逻辑运算。

    从功能来说,CPU的内部由寄存器、控制器、运算器和时钟四部分组成,各部分之间是通过电信号连通,各模块功能分别如下:

    寄存器:是中央处理器内的组成部分。它们可用来暂存指令、数据和地址,可看作是内存的一种。

    控制器:负责把内存上的指令、数据读入寄存器,并根据指令的结果控制计算机

    运算器:负责运算从内存中读入寄存器的数据

    时钟:负责发出CPU开始计时的时钟信号

    内存的工作模块

    内存是存放CPU中的运算数据,以及与硬盘等外部存储设备交换的数据。

    CPU与内存间的相互通信

    内存通过控制芯片与CPU进行相连,由可读写的元素构成,每个字节都带有一个地址编号。CPU通过地址从内存中读取数据和指令,也可根据地址写入数据。

    PS.当计算机关机时,内存中的指令和数据也会被清除。

    计算器语言

    计算器语言一般分为两种:低级语言(机器语言,汇编语言)和高级语言。

    C/JAVA/C++等高级语言编写的程序,需经过编译转换成机器语言后才能运行。

    汇编语言经过汇编器才能转换成机器语言。

    注:计算机是由二进制构成的,只能明白的语言就是二进制,即机器语言。故所有编程语言想要在计算机内运行的话都需转化成机器语言。

    CPU的详解——寄存器

    一个CPU下包含多个寄存器,分别包括程序计数器/标志寄存器/累加寄存器/指令寄存器/栈寄存器/基址寄存器/变址寄存器/通用寄存器。

    程序计数器:

    CPU指令执行过程,分为5个阶段:取指令、指令编码、执行指令、访存取数、结果写回。

    取指令阶段是将内存中的指令读取到CPU中寄存器的过程,程序寄存器用于存储下一条指令在的地址

    指令编码阶段,在取指令完成后,立马进入指令译码阶段,在指令译码阶段,指令译码器

    相关文章

      网友评论

          本文标题:趣谈Linux操作系统(4)——X86系统

          本文链接:https://www.haomeiwen.com/subject/ezgwlktx.html