zoukankan      html  css  js  c++  java
  • 计算机系统—CPU结构和内部工作

    一、计算机系统硬件组成


      计算机系统的基本组成由:计算器、控制器、存储器、输入和输出设备5大核心部件组成。

      运算器和控制器等继承在一起成为CPU。以下通过这张图能够非常清楚的表达计算机系统。先从全局上对CPU的位置和作用有一定认识。


    二、CPU和内存之间的工作


     (1)计算机的工作由程序控制。程序是一个指令序列,指令是能被计算机理解和运行的操作命令。

     (2)程序(指令)和数据均以二进制编码表示,均存放在存储器中。

     (3)存储器中存放的指令和数据按地址进行存取

     (4)指令是由CPU一条一条顺序运行的。

    由此可见。CPU的主要任务是运行指令,并按指令的规定对数据进行操作。

    正例如以下图所看到的:


      指令也就是命令,用来规定CPU运行什么操作。CPU控制器靠指令指挥机器工作,人们用指令表达自己的意图,并交给控制器运行。

      指令是构成程序的基本单位,程序是由一连串指令组成的。指令採用二进位表示。大多数情况下。指令由两个部分组成:

     

     操作码

    操作数地址

      操作码:指出CPU应运行何种操作的一个命令词。比如加、减、乘、除、取数、存数等

      操作数地址:指出该指令所操作(处理)的数据或者数据所在位置

     

    三、CPU的结构和内部工作

     

    CPU是计算机的运算和控制核心。主要由运算器、控制器、寄存器组和内部总线等部件组成。

     

    运算器:用于对数据运行运算

    算术逻辑单元(ALU):负责处理数据

    累加寄存器(AC):为ALU提供一个工作区

    数据缓冲寄存器(DR):作为CPU和内存、外部设备之间数据传送的中转站和操作速度上的缓冲。

    状态条件寄存器(PSW):存放当前指令运行结果的各种状态信息。控制信息。

     

    控制器:控制整个CPU工作,使计算机运行过程自己主动化

    指令寄存器(IR):CPU运行指令时,先从DR中把指令送入IR暂存。然后指令译码器依据IR的内容产生各种微指令。

    程序计数器(PC):具有寄存信息和计数的功能。

    每读一条指令装入IR,然后PC+1

    地址寄存器(AR):AR保存当前CPU所訪问的内存单元的地址,知道内存的读/写完毕。

    指令译码器(ID):ID对指令中的操作码字段进行分析解释,也就是来识别指令规定的操作。识别后向操作控制器发出详细的控制信号,控制各部件工作,以完毕所需的功能。

     

    寄存器组:

    专用寄存器:运算器和控制器中的寄存器是专用寄存器。其作用是固定的。

    通用寄存器(GPR):參加ALU运算的操作数通常来自GPR。运算结果也送回GPR。

      可由程序猿规定其用途。

     

    内部总线:

      通过内部总线将CPU内部的全部结构单元内部相连。就如铁轨一样,火车必须行驶在铁轨上。



    四、一条指令在cpu中的运行流程


    5个阶段:取指、指令译码、运行指令、訪存取数、结果写回。


     例如以下例:

    地址

    op

    地址码

    103

    ADD

    R1,R2

    说明:R1=100,R2=20;ADD指令即做R1+R2操作;

    运行过程:
      取指:程序计数器PC装入所要运行的指令的地址。

    通过指令总线装入指令寄存器IR,程序计数器PC指令地址+1,为下一条指令做准备。

      

      指令译码:指令译码器ID对指令寄存器IR中的指令进行译码。识别出指令类型。

      运行指令:操作控制器存储送出控制信号到通用寄存器,选择R1,R2,通过ALU处理数据进行R1+R2。完毕后通过内部总线传送操作。将R1+R2的结果120打入缓冲寄存器DR,并将进位信号保存在状态条件寄存器PSW。

      结果写回:将DR中的结果120打入通用寄存器R2中。替换掉原来R2的值。

     

    再多的文字性描写叙述,总是不比图更easy理解。例如以下图能清楚的明确指令运行中各个寄存器运行的时间和发挥的作用。



    图总是死的。不能清楚地知道指令的运行顺序,想要动态的学习指令的运行过程,请见此教程演示。非常好!

    指令运行过程演示



  • 相关阅读:
    bootstrap模态框视频,图片,页面
    curl 的用法指南
    springboot tomcat设置https,springboot配置ssl
    expect脚本
    java8新特性CompletableFuture
    Windows自动备份Oracle数据库
    SQL语句对单个的MySQL存储过程导出
    Oracle表空间的使用
    Oracle数据库基本操作
    Linux 查询 OS、CPU、内存、硬盘信息
  • 原文地址:https://www.cnblogs.com/llguanli/p/8335704.html
Copyright © 2011-2022 走看看