CPU架构方面的一些知识

首先是计算机cpu的体系架构:

  现代CPU的架构基本上归为冯洛伊曼架构(普林斯顿架构)和哈佛架构,平时所说的x86架构就是冯诺依曼架构,其广泛用于桌面端,即台式/笔记本/服务器/工作站等;平时所说的ARM架构就是哈佛架构,其广泛用于手持设备,即平板/手机;

  冯洛伊曼体系的核心是:数据和指令混在一起,统一编址;由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,只能一个完成之后再进行下一个。

  哈佛架构的核心是:数据和指令是分开的,独立编址。采用哈佛结构,取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样克服数据流传输的瓶颈,提高了运算速度;其强调总的系统速度以及传输和处理器配置方面的灵活性;

  冯诺依曼区分指令和数据的方法:1、用寄存器和指令周期来区分数据和指令。例如CS段存放的是指令,DS段存放的是数据;2、通过不同的时间段来区分指令和数据,在取址阶段取出的是指令,执行阶段取出的是数据;

CPU指令:

  在计算机中指令和数据都是用二进制来表示,即只认识0和1这样的数字。在最早期的计算机程序通过在纸带上打洞来人工操作的方式来模拟0和1,根据不同的组合来完成一些操作。后来直接通过直0和1编程程序。不过计算机是怎么认识这些组合的呢?就出现了CPU指令,CPU指令其实就是对应了我们所说的0和1的一些组合。每款CPU在设计时就规定了与其硬件电路相配合的指令系统。有了CPU指令集的文档就可以通过这个编写CPU认识的机器代码。对于不同的CPU来说可能会有不同的机器码。

  随着计算机的发展,CPU支持的指令也越来越多,功能也越来越强。

CPU的工作流程:

  CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断取出指令、分析指令、执行指令的过程。几乎所有的冯诺依曼体系的计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、指令执行、访存取数和结果写回。

猜你喜欢

转载自www.cnblogs.com/summerpine/p/13380025.html
今日推荐