CISCRISC的区别:

CISC(复杂指令集):复杂指令集就是CPU在工作的时候需要有很多的汇编指令来完成,它可以用一个汇编指令来完成一件复杂的工作。例如:乘法,加法,乘加,乘减等处理的时候,他会每个处理方式用一条指令来完成。因此这种设计实际上是很强大的,因为同样处理一个运算,它可以用一个机器周期就可以完成了。但是其内部的硬件设计就相对而言的比较复杂了一些。而且,这样的设计势必就会遭成功耗的增加。例如现在的大部分PC机的处理器都是这种的。51单片机也是这种方式的。

RISC(精简指令集):相对于复杂指令集而言,精简指令集所需要的汇编指令就会少很多了。例如:在完成(1+1×2-1)这样的运算的时候,第一次先算1+1等于2然后再算2-1等于1,最后在算2×1等于2。这样他就要经历好几个机器周期才能完成一次运算。而如果用复杂指令集的话可能一次就可以算出来结果了。由于现在的CPU主频基本上在原料不变的情况下是很难再提高他的(主频)运算速度了。所以,精简指令集的CPU在单核的效率上是远不如复杂指令集的CPU的。因此,为了达到与复杂指令集的CPU同样的运算效率,现在的手机经常会增加内核的数量来提升自身的处理效率。

地址总线、数据总线和控制总线的区别(这里的总线主要指外部总线,不包括内核的总线):

地址总线(Address Bus):CPU要处理数据的时候首先地址总线会根据要处理的数据的地址在内存中找到要处理的数据,然后再对其进行相应的处理。也就是说,地址总线的宽度决定了CPU能够处理的数据地址的总量的大小。由于地址总线总是由CPU发起的寻址要求,因此数据总线只能由CPU主动向外部寻找它所需要的地址,而不能被外部的IO主动使用。因此,地址总线是单向(只能由CPU主动去读而不会对其进行写)三态(高电平、低电平、高阻态)的。

数据总线(Data Bus):CPU需要读取或写入数据的时候由地址总线先去寻址,然后再由数据总线对所读到的地址进行读或写操作(CPU一次读写的数据总量由数据总线的宽度决定)。最终实现CPU所要实现的相应功能。由于CPU会通过数据总线对所要处理的地址进行读和写两种方式的操作。因此,数据总线是双向三态的。

控制总线(Control Bus):CPU要对外部的外设(IO设备或内存)进行操作的时候,控制总线会对相应的外设发出相应的控制指令,然后再由数据总线对其进行操作。由于控制总线要对所有的外设进行控制,因此,他是双向的且十分的灵活,而其总线的宽度也是不确定的,主要有外设的数量决定其宽度。

统一编址和独立编址的区别:

要明白统一编址和独立编址的区别首先要知道CPU在处理数据的时候其实是要先由控制总线发送控制指令,然后再对外设(这里的外设包括IO设备和内存)进行寻址的操作,只有找到了要操作的硬件或内存的地址之后才能对其进行相应的操作。而这个寻址的方式是由CPU对地址的编址方式决定的。而编址方式就分为统一编址和独立编址。

统一编址:统一编址就是当CPU要对IO设备进行操作的时候,就直接由地址总线进行寻址,因为地址总线的宽度是一定的,也就是所寻址的范围是一定的。而如果由它直接对IO设备进行寻址,那势必会占用有限的地址,进而会导致对其能够操作的内存大小就会有所限制。这也就导致了地址总线所能寻到的内存地址并不和自己的总线宽度对应上。(假如一个32位宽度的地址总线本来可以寻址4GB的内存地址,但是由于它一般分外设占用了他的地址,因此,他所能使用的内存就会小于4GB。)

独立编址:独立编址的CPU在对IO设备进行操作的时候会有专门的操作指令,而不会用内存操作指令,这样就会使地址总线仅服务于内存,而不会被其他IO外设占用。也因此会使内存的大小等于地址总线的宽度。

哈佛结构和冯诺依曼结构的区别:

要理解哈弗结构和冯诺依曼结构的区别,首先要知道我们在编写程序的时候其实可以对程序的代码划分为两个部分,一部分是程序编写完成后就不再需要对其进行修改了的(也就是逻辑代码部分)另一部分就是在程序编写完毕后其内容会随着程序的运行而不断变化的部分(也就是定义变量)。而哈佛结构和冯诺依曼结构就是对于这个两部分代码的存储方式的区别。

哈佛结构:哈佛结构就是将程序的逻辑代码和变量分开存放的一种结构,而他们存放的位置可以是形同的也可以是不同的,总是只要是分成两个部分单独访问的结构都可以叫哈佛结构。(例如:51的程序的逻辑代码段放在ROM中,而变量部分则放在ROM中;而ARM的逻辑代码和变量都是存放在RAM(内存)中的,但是,它在内存中划分了两部分的空间,其中一部分放逻辑代码,另一部分方变量。之间不会相互干扰)哈佛结构的优点就是逻辑代码和变量单独存放,使之不会相互干扰,进而当程序出BUG的时候,最多只会修改变量的值,而不会修改程序的执行顺序(逻辑关系)。因此,这种结构大量应用在嵌入式编程当中。

冯诺依曼结构:冯诺依曼结构则是将逻辑代码段和变量统一都存储在内存当中,他们之间一般是按照代码的执行顺序依次存储。这样就会导致一个问题,如果当程序出现BUG的时候,由于程序没有对逻辑代码段的读写限定,因此,他将拥有和普通变量一样的读写操作权限。于是就会很容易的死机,一旦他的逻辑执行出现一点该变就会出现非常严重的错误。但是,冯诺依曼结构的好处是可以充分利用有限的内存空间,并且会使CPU对程序的执行十分的方便,不用来回跑。

哈佛结构/冯诺依曼结构详细分析相关推荐

  1. 统一编址独立编址哈佛结构冯诺依曼结构

    统一编址&独立编址 什么是内存? 内存是内部存储器,内存的特点是随机访问,正是这些随机访问的存储特性,决定了内存可以存储数据.内存与CPU是通过总线式访问.地址总线和数据总线.CPU通过给定的 ...

  2. Uboot代码结构详细分析

    1. Bootloader功能分析 Bootloader(如Uboot.Redboot.Blob.vivi等)直接和CPU.外围硬件设备(存储器.网卡.LCD等)打交道,负责初始化硬件设备,以及负责拉 ...

  3. linux下的elf结构,ELF结构详细分析(1)---elf32_hdr

    ELF(Executable and Linkable Format)可执行和可链接格式是一种对象文件格式,分为三种类型: a.可重定位目标文件:包含了适合用来链接其他目标文件的代码和数据,从而创建出 ...

  4. ARM到底是冯诺依曼结构还是哈佛结构

    参考: ARM到底是冯诺依曼结构还是哈佛结构_朱有鹏老师 1. 问题 嵌入式的学习中ARM处理器是主题,这些年产业界除了PC和服务器市场外,以手机.pad.家电控制等为代表的嵌入式领域都被ARM几乎垄 ...

  5. 什么是冯诺依曼结构、哈佛结构、改进型哈佛结构?

    冯诺依曼结构 冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构.取指令和取操作数都在同一总线上,通过分时复用的方式进行:缺点是在高速运行时,不能达到同时 ...

  6. 关于冯诺依曼结构、哈佛结构、增强型的哈佛结构

    大家都学过,所谓的8086是冯诺依曼结构的(也叫做普林斯顿结构),51等单片机是哈佛结构,我们的PIC单片机是增强型的哈佛结构.那么,这三种结构之间究竟有什么区别吗?对于我们编程序的时候,有什么影响吗 ...

  7. ARM到底是冯诺依曼结构还是哈佛结构?

    问题 嵌入式的学习中ARM处理器是主题,这些年产业界除了PC和服务器市场外,以手机.pad.家电控制等为代表的嵌入式领域都被ARM几乎垄断了.所以学习嵌入式处理器,其实等同于学习ARM.(当然了,近两 ...

  8. 冯诺依曼结构、哈佛结构、改进型哈佛结构

    冯诺依曼结构 冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构.取指令和取操作数都在同一总线上,通过分时复用的方式进行:缺点是在高速运行时,不能达到同时 ...

  9. 冯诺依曼结构 与 哈佛结构

    冯诺依曼结构 冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构.取指令和取操作数都在同一总线上,通过分时复用的方式进行:缺点是在高速运行时,不能达到同时 ...

最新文章

  1. 300道Python面试题,备战春招!
  2. opencv cuda使用笔记
  3. 用Unity3D实现智能巡逻兵游戏
  4. sql 触发器的常用语句(转)
  5. redis-cli 常用命令
  6. php图片处理之本地图片转base64格式上传
  7. 安装计算机主板应注意,组装计算机并仅更换主板时要注意的事项
  8. 单目摄像头光学图像测距_挑战激光雷达,MAXIEYE要重新定义单目摄像头?
  9. 2021年软件测试工具总结——测试管理工具
  10. 【2021】【论文笔记】太赫兹量子阱光电探测器——
  11. 关于微信公众号的迁移,在此记录一下
  12. 这个模型怎么划分网格?
  13. Linux各运行级别含义,描述Linux运行级别0-6的各自含义
  14. keras model weights
  15. 这个超级好哎 vector 容器的 怕失效
  16. 一个喜欢搜罗软件的哥们
  17. 雷柏V500s和V500的win键无效
  18. 计算机考研真题及答案(含选择题解析)
  19. CTF——web个人总结
  20. 量化初级 -- akshare获得股票代码,最简策略

热门文章

  1. 基础30讲 第九讲 一元函数积分学的几何应用
  2. 用户画像打标签之RFM客户价值分析
  3. 用青龙跑渤海宣传员(收益很稳定)
  4. QT窗口嵌入桌面内部(在桌面图标之上):可以实现自定义桌面
  5. 数据挖掘十大经典算法,你都知道哪些?
  6. java循环满足跳出_java,break语句,无论是否满足条件,都会跳出for循环?
  7. NitroSense无法打开(ACER)
  8. 数字电子技术《优先编码器74LS148》仿真
  9. 《太阳照常升起》观后感
  10. 个人或团队项目怎么起包名