• 三、计算机体系结构——中央处理器


    ​通常现代计算机中,控制器和数据通路(包含运算器)共同组成中央处理器,即CPU

    1. CPU相关概念

    1.1 处理器寻址空间

    寄存器空间:可以通过指令以及编码于指令中的寄存器号进行访问,该包括通用寄存器,特殊寄存器和控制寄存器

    系统内存空间:通过访存指令进行访问,该空间又包括IO空间和内存空间。对IO空间的访存用in/out指令,对内存空间访存用堆栈操作;通常ARM,MIPS等RISC指令集不区分IO或内存空间,访问均使用load/store指令。

    1.2 CPU的硬件组成

    1.2.1 控制器

    对指令惊醒译码,生成指令对应的控制信号,控制数据通路的动作,对指令的执行部件发出控制信号。

    • 控制器的基本功能
    1. 控制指令流出
    2. 控制指令分析
    3. 控制指令执行
    4. 控制指令流向
    5. 控制执行环境的维护

    1.2.2 CPU的数据通路

    指令执行过程中数据所经过的路径,是指令的执行部件。

    以下要素通过一定规则连接起来就形成了CPU的数据通路:
    1)程序计数器(PC):指示当前指令的地址;
    2)指令存储器:按照指令地址存储指令码,接收PC,读出指令;
    3)译码部件:用于分析指令,判断指令类别;
    4)通用寄存器堆:用于承载寄存器值;
    5)运算器:执行指令所要求的运算操作;
    6)数据存储器:按照地址存储数据,主要用于访存指令;

    CPU数据通路
    可以根据一个时钟周期内执行指令的数量划分处理器的类型。一个长时钟周期内只有一条指令执行称为单周期处理器;一个短时钟周期内只执行一条指令的某个阶段称为多周期处理器;而一个短时钟周期内同时执行多条指令的称为流水线处理器

    可以先借助单周期处理器和多周期处理器理解CPU指令执行流程,再过渡到流水线处理器。

    2. 不同类型的处理器

    2.1 单周期控制的处理器

    单周期流水线图表示同一时钟周期内整个数据通路的状态和操作,但由于运行的过程较多,因此一个时钟周期可能很长

    如下图所示是典型的RISCV单周期控制的处理器图:
    在这里插入图片描述

    • 单周期处理器的特征
    1. CPI始终为1,所有指令的执行时间都已最长的load指令为准
    2. 该处理器的始终周期远大于其他指令所需的执行时间,效率极低

    2.2 多周期控制处理器

    该类型处理将一条指令的执行分为多个阶段,以执行时间最长的阶段时间为时钟周期,即一个时钟周期执行指令的一个阶段。该处理器通过使用分频时钟,确保在同一指令后几个时钟周期执行时,控制逻辑因没有就受到下一时钟沿所以不会发生变化。

    如下图为一条指令的执行过程:
    指令执行过程
    如上图所示:
    在第一个时钟周期,通过PC取出指令,在第二个时钟上升沿锁存到指令码触发器R1;
    在第二个时钟周期,将R1译码并生成控制逻辑,读取通用寄存器,读出结果在第三个时钟上升沿锁存到R2;
    在第三个时钟周期,使用控制逻辑和R2进行ALU运算。

    上述可见,在一条指令执行过程中,如何决定各个控制信号在不同周期的取值,是多周期处理器控制设计的关键。

    • 特征
    1. 允许功能部件在一条指令执行过程中被重复使用
    2. 一条指令过程中会占用整个数据通路

    在指令执行过程中,寄存器随时钟的变化如图所示,以指令add x1, x2,x3为例:
    在这里插入图片描述

    • 实现方法
    1. 有限状态机
    2. 每一种指令执行都是一个状态
    3. 微程序
    • 影响多周期处理器的因素
    1. CPI
    2. 程序的指令总数
    3. 每类指令的指令数
    4. 处理器的时钟周期时间

    ​​

    2.3 流水线处理器

    流水线技术参考链接:
    流水线技术

  • 相关阅读:
    L958. 二叉树的完全性检验 java
    static详解
    基于虚拟同步发电机控制的双机并联Simulink仿真模型
    .NET Core C#系列之XiaoFeng.Data.IQueryableX ORM框架
    【数据库】分组数据 GROUP BY、HAVING
    Web3时代到来:非洲兄弟已经在用它“养家糊口”
    Redis数据类型-需求实战记录
    屏幕时代的数字化信息管理:从传统到纯软件的转变
    Oracle 学习之 DML 语句
    记录:C++打印堆栈信息并优化打印结果
  • 原文地址:https://blog.csdn.net/qq_39815222/article/details/126927906