zoukankan      html  css  js  c++  java
  • 程序与CPU

    CPU中共有四大组件:

    寄存器 控制器 运算器 时钟

    寄存器:存取数值(存东西的)

    控制器:负责将内存(寄存器)中的数据进行读入和写出(控制寄存器 协调者)

    运算器:里面是逻辑运算单元,协助寄存器和控制器来达到运算的效果

    时钟:时钟频率单位GHz。3.2GHz相当于32亿次每秒 1GHz=10亿次每秒 每算一次运行非常快

    程序员最主要的注意:寄存器。其他三个我们接触不到

    寄存器是必须要深入理解的,因为他是我们存储数据的地方,也是我们接受数据的地方

    语言:

    高级语言-->低级语言:汇编语言-->机器语言:CPU能直接读懂的语言

    int白皮书:里面都是指令两千多页 每一个指令都有对应的汇编语言

    高级语言:人类能读懂,指令更少 利用编译器让高级语言变成计算机能够读懂的语言

    利用Hex打开任何程序都是二进制的数据

    程序包含了两个方面:1.算法 2.数据

    程序和CPU的关系

    CPU中的寄存器:

    累加寄存器 标志寄存器 程序计数器 基址寄存器 变址寄存器 通用寄存器 指令寄存器  栈寄存器

    累加寄存器:主要记录计算之后的数据

    标志寄存器:和内存无关 和内存一样 读取拷贝 记录CPU里面的状态 运算之后CPU中的值是否溢出是否为0

    程序计数器:存储了下一条指令在我们内存中的地址用二进制储存 存储的是指定的地址

    基址寄存器:是用来存储开始的寄存器

    变址寄存器:存取基址寄存器的相对位置

    基址寄存器加变址寄存器能够得到某一个内存地址

    通用寄存器:什么都能用

    指定寄存器:CPU内部来使用的程序员是是不能使用的

    栈寄存器:记录栈的起始位置

    CPU和内存是分开的但是连线是在一起的

    CPU通过他的总线告诉主板上的控制器来读取内存的值

    寄存器的运算速度是我们内存运算速度的几十甚至上百倍(效率高)相当于CPU中的内存

    CPU指令集中有跳转指令:1.运算2.计数器的置位3.得出置位里的值来修改程序计数器

  • 相关阅读:
    字符设备驱动程序
    内存管理
    在React中使用context来传递属性
    iTerm2保存登录密码
    Mac OS设置终端 autocomplete 大小写不敏感
    Linux下安装Google SDK 配置Google API翻译环境
    使用Shell远程给Linux安装JDK
    Linux下wget命令 指定下载文件路径
    linux下解压/压缩命令
    获取鼠标在屏幕上的位置
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/10487067.html
Copyright © 2011-2022 走看看