分享

图说一个程序的执行,数据在部件中的流动及内部的逻辑关系

 孤独一兵 2016-11-02

一、执行hello程序

1 当用户输入hello后,shell程序逐一读取字符到寄存器;

2 放到主存储器;

图说一个程序的执行,数据在部件中的流动及内部的逻辑关系

二、从磁盘加载可执行文件到主存

图说一个程序的执行,数据在部件中的流动及内部的逻辑关系

三、从存储器写输出串到显示器

1 指令从存储器中拷贝到寄存器

2 从寄存器文件到显示器;

图说一个程序的执行,数据在部件中的流动及内部的逻辑关系四、从以上流程可以清楚地看到指令和数据在计算机内部的流动(包括输入输出),以及计算机内部的存储结构。

每个计算机系统中的存储设备都被组织成一个存储器层次模型;存储器分层结构的主要思想是一个层次上的存储器作为下一层次上的存储器的高速缓存;

存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储(storage)设备的层次结构;

图说一个程序的执行,数据在部件中的流动及内部的逻辑关系

五、电脑主要部件

1 ALU:算术/逻辑处理单元;

2 控制器:I/O设备本身中或是主板上的芯片,根据算术逻辑单元对代码的解读,决定下一步应该做什么;主要任务是根据从内存取来的指令,控制计算机各部件协调工作,完成要求的作业,主要有两个部件:指令寄存器和程序计数器。所谓指令是一串二进制数,它规定机器做什么操作。指令分为两部分:操作码和操作数。操作码说明要做什么操作,操作数指明要处理的数据的存放地址在什么地方。

每执行一条指令要做几件事

  1. 取指令:即根据地址从内存取出指令,并放到指令寄存器中;

  2. 分析指令:“算”出这条指令要做什么;

  3. 执行指令:发出操作控制信号;

  4. 程序计数器的内容加1,确定下一条指令的地址,为执行下一条指令做好准备;

3 寄存器:CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,由一些字长大小的寄存器组成,每个都有唯一的名字。

4 PC:处理器的核心是一个被称为程序计数器的字长大小的存储设备(或寄存器)。在任何一个时间点上,PC都指向主存中的某条机器语言指令(内含其地址)。CPU从PC指向的存储器处读取指令,执行指令,然后更新PC指向下一条指令;

5 CPU:上述部件做为一个整体,是执行存储在主存中指令的引擎,电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。;

6 主存(Memory):用于存放程序和程序处理的数据,也被称为内部存储器或内存,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来;

7 I/O:是主存与外部设备之间拷贝数据的过程;

8 适配器:一块插在主板插槽上的卡,如显卡的用途是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示;

9 输入:从I/O设备拷贝数据到主存;

10 输出:从主存拷贝数据到I/O设备;

六、CPU在指令的要求下可能会执行这些操作

1 加载:从主存拷贝一个字节或者一个字到寄存器,覆盖寄存器原来的内容;

2 存储:从寄存器拷贝一个字节或者一个字到主存的某个位置,覆盖这个位置上原来的内容;

3 更新:拷贝两个寄存器的内容到ALU,ALU将两个字相加,并将结果存放到一个寄存器中,覆盖该寄存器中原来的内容;

4 I/O读:从一个I/O设备中拷贝一个字节或者一个字到寄存器;

5 I/O写:从一个寄存器中拷贝一个字节或者一个字到一个I/O设备;

6 转移:从指令本身中抽取一个字,并将这个字拷贝到PC中,覆盖PC中原来的值;

CPU的运作也可以概括为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多