人世繁华|CPU中的程序是怎么运行起来的( 五 )


人世繁华|CPU中的程序是怎么运行起来的?
其中这样一个1位的锁存器 , 放入的动作叫做写 , 拿出数据的动作叫做读
为了好显示 , 我们使用再高一级别的抽象层 , 用下面的框图表示:
人世繁华|CPU中的程序是怎么运行起来的
人世繁华|CPU中的程序是怎么运行起来的?
随着芯片锁存器大小的扩展 , 正常连接需要的线是非常之多 , 所以引入了矩阵方式:
人世繁华|CPU中的程序是怎么运行起来的
人世繁华|CPU中的程序是怎么运行起来的?
人世繁华|CPU中的程序是怎么运行起来的
人世繁华|CPU中的程序是怎么运行起来的?
为了将地址转化成为行和列 还要用多路复用器 , 这就是一个基本的SDRAM的组成结构 。
SRAM DRAM FLASH NVRAM , 大家功能上相似 , 但是用不同的电路储存单个bit的数据 , 比如使用不同的逻辑门、电容器、、电荷捕获或者忆阻器 。 但是根本上 , 这些技术都是矩阵层层嵌套 , 来储存大量的信息 。
3、CPU的代码语言执行以及编程语言的变化过程通过不同的逻辑门 , 我们逐渐搭建起了CPU的硬件部分 , 同时也抽象到了高层次的“微体系架构” , 我们开始告诉CPU的模块进行操作 , CPU里面都是101二进制数据 , 那怎么和CPU执行指令挂上钩呢?
最早执行机器使用就是穿孔卡片 , 通过穿孔卡片的特殊位置有没有穿孔 , 决定机器执行的不同步骤 。
人世繁华|CPU中的程序是怎么运行起来的
人世繁华|CPU中的程序是怎么运行起来的?
在计算机早期 , 程序员编程必须用机器码写程序 , 一般会在会在纸上写一个“高层次”的描述——伪代码 , 例如:从内存中获取当月销售额 , 再计算出税费 。
这里展示一个简单范例代码 , 一段机器码 00101110 。
首先这个机器码分为前四位和后四位 , 前四位代表操作码 , 后四位代表地址 。
首先在指令表可以查到 0010 对应着执行指令是LOAD_A 意思为从内存地址取出数据 , 放到寄存器A中 。
人世繁华|CPU中的程序是怎么运行起来的
人世繁华|CPU中的程序是怎么运行起来的?
CPU看到00101110是怎么执行的呢?
首先CPU有两个执行时候的寄存器:

  1. 指令地址寄存器 , 一个追踪器 , 负责追踪程序运行到哪里了;
  2. 指令寄存器 , 负责储存当前指令
其次 , CPU执行指令有三个阶段: 取指令->解码->执行


推荐阅读