现代的CPU基本上归为冯洛伊曼结构(也成普林斯顿结构)和哈佛结构。
冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的手持设备(平板\手机用的大多就是他了)。
他们的如区别如下:
一、冯洛伊曼的体系核心是:数据和指令混在一起,统一编址。区分哪些是指令和哪些是数据大致上有以下方法:
1、用寄存器和指令周期来区分数据和指令。例如:CS段(codesegment代码段)和DS段(datasegment数据段),前者CPU是认为存放的都是指令,后者CPU认为存放的都是数据;
2、通过不同的时间段来区分指令和数据,在取指阶段取出的就是指令,执行阶段取出的就是数据。这个都很好理解吧。
二、哈佛架构的核心是:数据和指令是区分开的。独立编址,就算地址一样,数据也是不一样的。
再来讨论下两个架构的效率区别
经过上面的描述,各位已经知道这两个架构的主要区别了。
CPU大致工作如下:取指令、指令译码和执行指令。
指令1至指令3均为存、取数指令,对冯诺伊曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。如下图所示:
再来看看哈佛架构的CPU:
采用哈佛结构,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。 哈佛结构强调了总的系统速度以及通讯和处理器配置方面的灵活性。
下面是对上图的几个引申知识点:
时钟周期也称为振荡周期:CPU无非就是开关闭合电路组成,定义为时钟脉冲的倒数。是计算机中的最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。
机器周期:常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。
指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。
关系:指令周期通常用若干个机器周期表示,而机器周期时间又包含有若干个时钟周期。
注:由于觉得博客不多,没使用搬家功能。这个分类的几篇博客都是在我csdn博客上发表过的原创(如今已不再使用),所以图片右下角就有水印。