• 近期使用sqlsugar的过程中遇到了线程相关的问题,在这里 浅谈一下【CPU】和内部的【寄存器】以及【内存】的关系未完


    近期使用sqlsugar的过程中遇到了线程相关的问题,在这里 浅谈一下【CPU】和内部的【寄存器】以及【内存】的关系

    1、CPU的构造:

      1-1、硬件方面看:CPU和内存是由许多晶体管组成的电子部件,称之为 IC 【Intergrated Circuit , 集成电路】

      1-2、功能方面看:CPU的内部由寄存器+控制器+运算器+时钟 组成,它们之间由电流信号互相连通

        1-2-1、寄存器:暂存指令、数据 等,可以看成是 内存的 一种,单个CPU内部 通常会有 几十上百个 寄存器

        1-2-2、控制器:把内存上的指令、数据放入寄存器  和  从 寄存器拿到 指令执行结果 来控制 计算机

        1-2-3、运算器:把内存 执行的结果 写入 寄存器

        1-2-4、时钟:负责发出CPU开始计时的时钟信号

    2、CPU和寄存器的关系?【CPU是寄存器的集合体】

      2-1、寄存器【常见】的种类:

        2-1-1、累加寄存器:存储执行运算的数据 和运算后的数据

        2-1-2、标志寄存器:存储运算处理后的CPU的状态

        2-1-3、程序寄存器:存储下一条指令所在的内存地址

        2-1-4、指令寄存器:存储指令,CPU内部使用,程序员无法通过程序对该寄存器进行读写操作

        2-1-5、栈寄存器:存储栈区域的起始地址

        注意:前面五种寄存器在CPU中都只有一个,下面的三种寄存器 会存在多个

        2-1-6、基址寄存器:存储数据内存的其实地址

        2-1-7、变址寄存器:存储基址寄存器的相对地址

        2-1-8、通用寄存器:存储任意数据

    3、决定程序执行流程的程序计数器

      

      地址0100是程序运行的开始位置,操作系统把程序从硬盘复制到内存,会将程序计数器 设定为0100,

      然后程序开始运行,CPU每执行一个命令,程序计数器的数值就会自动+1,

      CPU执行0100的地址的指令后,值就变成了0101,

      CPU的控制器参照程序计数器的值,从内存中读取命令并执行,所以 程序计数器决定着程序的流程

      

  • 相关阅读:
    Visual Studio Code插件安装步骤
    JS省城级联
    JS省城级联
    JS省城级联
    JS省城级联
    【JAVA零基础入门系列】Day9 Java中的那个大数值
    【JAVA零基础入门系列】Day9 Java中的那个大数值
    【JAVA零基础入门系列】Day9 Java中的那个大数值
    [js插件开发教程]实现一个比较完整的开源级选项卡插件
    VS2017桌面应用程序打包成.msi或者.exe
  • 原文地址:https://www.cnblogs.com/guzhengtao/p/15927503.html
Copyright © 2020-2023  润新知