CPU架构体系的区别

现代的CPU基本上归为冯洛伊曼结构(也成普林斯顿结构)和哈佛结构。

冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的手持设备(平板\手机用的大多就是他了)。

他们的如区别如下:

一、冯洛伊曼的体系核心是:数据和指令混在一起,统一编址。区分哪些是指令和哪些是数据大致上有以下方法:

  1、用寄存器和指令周期来区分数据和指令。例如:CS段(codesegment代码段)和DS段(datasegment数据段),前者CPU是认为存放的都是指令,后者CPU认为存放的都是数据;

  2、通过不同的时间段来区分指令和数据,在取指阶段取出的就是指令,执行阶段取出的就是数据。这个都很好理解吧。

二、哈佛架构的核心是:数据和指令是区分开的。独立编址,就算地址一样,数据也是不一样的。

再来讨论下两个架构的效率区别

经过上面的描述,各位已经知道这两个架构的主要区别了。

CPU大致工作如下:取指令、指令译码和执行指令。

指令1至指令3均为存、取数指令,对冯诺伊曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。如下图所示:

再来看看哈佛架构的CPU:

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

下面是对上图的几个引申知识点:

时钟周期也称为振荡周期:CPU无非就是开关闭合电路组成,定义为时钟脉冲的倒数。是计算机中的最基本的、最小的时间单位。
 在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。

机器周期:常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。

指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。

关系:指令周期通常用若干个机器周期表示,而机器周期时间又包含有若干个时钟周期。

注:由于觉得博客不多,没使用搬家功能。这个分类的几篇博客都是在我csdn博客上发表过的原创(如今已不再使用),所以图片右下角就有水印。

时间: 2024-10-12 04:35:05

CPU架构体系的区别的相关文章

ARM架构体系

架构 处理器家族 ARMv1 ARM1 ARMv2 ARM2.ARM3 ARMv3 ARM6, ARM7 ARMv4 StrongARM.ARM7TDMI.ARM9TDMI ARMv5 ARM7EJ.ARM9E.ARM10E.XScale ARMv6 ARM11.ARM Cortex-M ARMv7 ARM Cortex-A.ARM Cortex-M.ARM Cortex-R ARMv8 Cortex-A50[9] 参考:[arm cpu架构体系][armV8][armv7][A系列的CPU]

系统架构:架构体系

每个公司的IT环境,不论大小复杂度,总会有个系统架构层次.有了这个架构体系,那所有的运维事情大体都围绕着这个系统架构上的每个元素及整体关联进行运维保障工作.运维架构从某种角度可以划分为两大阵营: 商业封闭式系统架构(IOE架构):以使用IBM.Oracle.EMC产品为代表的一系列软硬件产品为主要元素的运维系统架构,以及围绕这个架构的人.事.物.流程标准. 开源系统架构(非IOE架构):以使用廉价PC服务器,开源产品技术(而非IOE)为主要元素的运维系统架构,以及围绕这个架构的人.事.物.流程标

cpu架构

转自 http://blog.csdn.net/wyzxg/article/details/5027738 CPU架构 Architecture ,结构.架构,这个词用于 CPU 的时候是指 CPU “接受和处理信号的方式”,及其内部元件的组织方式.CPU架构,从大的层面分两类——CISC.RISC x86 CISC就是复杂指令集计算机,目前专指 x86 和 x86-64 两类 其中 x86 又叫 IA32,即 Intel Architecture 32(Intel32位架构),不管是Intel

android多cpu架构适配开篇

简介:做项目的时候经常会使用到so文件.例如使用高德地图,其SDK中就包含了armeabi.armeabi-v7a.arm64-v8a.x86等其他文件夹,里面通常放着同样名称.同样数量的so文件.实际使用过程中,关于这些so文件引发的问题确实不少,也不好解决.写下此文,希望以后遇到相关的问题,能有个大概的思路. 名词解析: NDK:Native Development Kit JNI:Java Native Interface ABI: Application Binary Interface

分布式系统的那些事儿(六) - SOA架构体系

有十来天没发文了,实在抱歉!最近忙着录视频,同时也做了个开源的后台管理系统LeeCX,目前比较简单,但是后续会把各类技术完善.具体可以点击"原文链接". 那么今天继续说分布式系统的那些事. 我们现在动不动就讲分布式吧?那么SOA是不是必须得聊一聊呢? 面向服务的架构,简称SOA,他是基于服务组件的,把原来那种一个大型应用程序的不同的功能拆分为一些接口,通过这些接口串联起来. 这么做的好处是: 1.重用性大大提高 2.明确了接口的服务定义规则 3.定义了自家公司的api标准 4.降低系统

【转】】CTO、技术总监、首席架构师的区别

经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可以带1-2个副手把你规划的功能实现了,他是主力干活者,有技术难题也是他来亲自攻克解决. 所以,一个高级程序员,他的职责很清晰: 1.负责核心复杂功能的实现方案设计.编码

高性能、高可用的分布式架构体系(转)

在2B企业服务.云计算.移动互联网领域,专业的云平台服务里,分布式技术为支撑平台正常运作关键性技术.从商业利润和运维成本角度出发,千方百计榨干服务器的每一分性能很大程度上影响着网站的商业价值,因此对性能的追求,成为分布式架构体系中极为重要的考量指标:从用户角度,特别是作为主要收入来源的企业用户的角度出发,保证业务处理的正确性和服务不中断(高可用性)是支撑用户信心的重要来源.高性能,高可用,正确性成为分布式架构体系的关键技术因素. 对于网站产品的的架构体系,可以选择开源或自主研发:如果拥抱开源,则

非常不错的文章,囊括啦高性能、高可用的分布式架构体系所有名词

在2B企业服务.云计算.移动互联网领域,专业的云平台服务里,分布式技术为支撑平台正常运作关键性技术.从商业利润和运维成本角度出发,千方百计榨干服务器的每一分性能很大程度上影响着网站的商业价值,因此对性能的追求,成为分布式架构体系中极为重要的考量指标:从用户角度,特别是作为主要收入来源的企业用户的角度出发,保证业务处理的正确性和服务不中断(高可用性)是支撑用户信心的重要来源.高性能,高可用,正确性成为分布式架构体系的关键技术因素. 对于网站产品的的架构体系,可以选择开源或自主研发:如果拥抱开源,则

JUnit 5 系列:架构体系

JUnit 5 分离的关注点 退一步想,我们不难辨识出,这里至少有两个不同的关注点需要分离: 一个支持测试代码撰写的 API 一个识别测试.运行测试的机制 再仔细思考一下第二点,我们可能会问,“哪些测试?”这个当然是指 Junit 测试.“我知道,但具体是哪些版本的测试呢?”呃…“还有,具体是指什么类型的测试?”好吧,你让我给你……“只能跑那些老版本的 @Test 注解的测试么?有没有其他新的方法来运行测试呢?……”行行行,都给我闭嘴!听我讲着. 为了进一步将待识别测试的类型 与 实际运行它们