美文网首页
CPU是如何处理指令的

CPU是如何处理指令的

作者: 迪捷软件 | 来源:发表于2021-11-09 09:24 被阅读0次

01.标准的CPU架构

CPU主要由以下几部分组成,参考下图

  • 一系列寄存器,部分处理地址相关的寄存器,和其他一些用于处理数据的寄存器
  • ALU,算数逻辑运算单元
  • CU,控制单元,控制多个寄存器传输之间的时序等
  • 内部一些寄存器之间的连线

1.1 CPU寄存器介绍

MAR(Memory Address Register):保存需要访问的内存的地址;

MBR(Memory Buffer Register):保存需要写入寄存器或从内存中读取的数据;

PC(Programmer Counter):内部连接了地址总线,存放了程序下一条需要处理的指令的地址;

IR(Instruction Register):读取内存的时候,首先会从MBR寄存器中读取数据;如果读取的数据是一条指令的话,从IR里面读取;

IR包含下面两个部分:

1.IR(opcode):每一条指令的opcode都是唯一的,也是一条指令最重要的组成部分,CPU通过opcode了解当前指令到底干什么事情

2.IR(address):另一个重要的部分就是address部分

SP(Stack Pointer):栈指针,存放了当前程序的执行过程中内存中的栈地址

1.2 CPU内部单元

CU(Control Unit):控制单元,控制时序和指令的执行之后寄存器的变化

ALU(Arithmetic Logic Unit):算术运算单元,包含算术运算所需的逻辑与、逻辑或等模块

SR(Status Register):状态寄存器,根据ALU的计算结果控制状态寄存器中的一些状态标志,包括一些溢出(Overflow)、零(Zero)、负(Negative)等标识位

1.3 内存介绍

内存主要由ram和rom(一部分)组成,主要用于支持系统的启动。内存不在CPU内部,而是在板子上,通过总线和CPU连接。实际上一般由2 ~ 3根总线,包括数据总线和地址总线,有些板子还会有控制总线--用于表示当前时钟下数据是读或写。访问的内存地址有总线宽度决定,对于24位宽的总线,可访问的地址一般如下图:0 - 0xFFFFFF;

02.提取、解码和执行指令

2.1 CPU如何处理指令

处理指令的步骤主要包括以下几步:

1.从内存中提取(Fetch)指令,并把指令放到IR中;

2.解码(Decode)当前指令

3.执行(Execute)当前指令

执行的执行流程一般遵循以下步骤:

1.将PC的值存入MAR寄存器,

MAR<---PC

2.读取MAR中的值,将数据放入MBR寄存器中

MBR<---{MAR}

3.下一步需要将MBR中的值拷贝到IR寄存器中,IR解释执行当前指令后PC加1(本文介绍的指令为8位指令指令,因此PC加1,对于16位及32位指令,PC需要加对应的字节数)

PC<----PC + 1

总结归纳为下图:

2.2 一些指令

以下指令使用8位的Opcode进行解码,8位指令长度理论上可以产生256条不同的指令,下图仅列出一些常用的包括内存读取/写入、加法运算等操作,具体含义参见Meaning:

2.3 列举一条指令(LDA x)的执行过程

以上图为例可归结为以下几个步骤:

a.指令提取阶段,将PC值先赋值给MAR

b.地址的值为"2"

c.从内存为"2" 的地方将指令提取出来,存入MBR中

d.MBR的值写入IR寄存器

e.PC需要加一

f.解码当前IR中的指令,获取到opcode部分的值为1

g.Address部分的值为"5"

h.从内存地址为"5"提取出数据

i.由于LDA操作的是AC寄存器,最终将数据放入AC中

03.SkyEye支持的处理器

由我司自主研发的SkyEye目前支持主流的嵌入式硬件平台,包含以下架构的处理器核心,能够运行主流的操作系统,此外还能适配国内自主研发的操作系统天脉。通过利用基于LLVM的动态二进制翻译技术,使虚拟处理器在典型的桌面计算机上运行速度可以达到2000MIPS以上。

相关文章

  • CPU是如何处理指令的

    01.标准的CPU架构 CPU主要由以下几部分组成,参考下图 一系列寄存器,部分处理地址相关的寄存器,和其他一些用...

  • 操作系统的运行机制和体系结构

    什么是指令?指令就是处理器(CPU)能识别、执行的最基本的命令,比如:加法指令就是让CPU进行加法运算。 新的问题...

  • CPU指令系统

    指令:执行某类操作信息的集合,是CPU工作的主要依据指令集:处理器能执行全体指令的集合 指令系统[指令系统]是计算...

  • CPU浅谈

    1、指令系统 1.1 x86架构 要讲CPU,就必须先讲一下指令系统。指令系统指的是一个CPU所能够处理的全部指令...

  • CPU的两种指令集

    CPU作为一个具有特定功能的芯片,里头含有微指令集,我们所使用的软件都要经过CPU内部的指令集来处理才行。这些指令...

  • #新年觉醒Day3#《程序员的思维修炼》第三章

    人脑的配置为双CPU。1号CPU主要负责线性、逻辑思维和语言处理。它就像传统的冯诺依曼式CPU,按部就班地处理指令...

  • CPU的认识和选购

    1.CPU的定义 CPU是中央处理器的缩写,CPU是电脑中运算核心和控制核心,其功能主要是解释电脑指令,以...

  • iOS 制作 framework 动态库

    指令集 通常会把CPU的扩展指令集称为”CPU的指令集”(因为基本的,类似加减的指令似乎是必须被CPU所支持的指令...

  • iOS指令集总结

    指令集 通常会把CPU的扩展指令集称为”CPU的指令集”(因为基本的,类似加减的指令似乎是必须被CPU所支持的指令...

  • 001-Python简介

    计算机的组成 CPU(中央处理器)处理某些指令或是运算数据 内存临时存储数据,对于CPU要处理的数据放在内存中,内...

网友评论

      本文标题:CPU是如何处理指令的

      本文链接:https://www.haomeiwen.com/subject/xwrmzltx.html