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

统一编址&独立编址
什么是内存?
内存是内部存储器,内存的特点是随机访问,正是这些随机访问的存储特性,决定了内存可以存储数据。内存与CPU是通过总线式访问。地址总线和数据总线。CPU通过给定的地址总线就可以找到相应的内存了。
 
什么是IO?
IO(input/output)指的就是输入输出接口,CPU与某些外部设备进行通信就是通过IO来通信的。
IO里有两个重要的概念:IO与内存统一编址,IO与内存独立编址?这里的IO指的是与外部设备(例如LCD 等)进一步理解就是IO就是哪些外部设备的寄存器。
 
内存的访问方式:
内存通过CPU的地址总线找到相应的内存单元(像拿着房间编号找房间),然后再通过数据总线把相应的数据填入。内存有多大是由CPU说的算的,CPU的地址总线的位数就决定了内存有多大。内存与CPU的连接是一种直接连接。
 
IO的访问方式:
IO与内存统一编址:
类似与访问内存的方式。(CPU访问内存就是通过地址总线的值找到相应的内存),即把外设的寄存器当作一个内存地址来读写。通过外部设备寄存器的地址来操作外设。在CPU中有些内存中存放的就是一些寄存器的地址。(多半是发生在RISC的CPU中)。
IO与内存独立编址:
这种访问的方式就不能像访问内存一样的访问的访问了,因为它没有地址。但是它会有专门的CPU指令。例如要读串口,就会有一条特定的读串口指令。若要写串口,就会有一条特定的写串口指令。(多半是发生在CISC的CPU中)。
两种方式的对比:
内存访问的频率极高,访问总线式访问可以大大提高效率。
IO与内存统一编址的优点:IO当作内存访问,编程简单。不需要记那么多的指令集。只需要查阅数据手册找到相应的地址值则就可以操控相应的外设了。
IO与内存统一编址的缺点:IO像内存一样的访问也是要占用一定的内存空间的,例如CPU的内存一共有4G但是有2.5G都用作采用存储外设的地址了。只剩1.5G可供用户随意操作。
 
IO与内存独立编址的优点:不用占用内存的地址空间了。这样CPU的内存有4G,4G都可以给用户访问。
IO与内存独立编址的缺点:因为每一种操控外设的功能都对应一条指令,使得指令会越来越来的多,需要记忆的指令集也越来越来多。编程就会慢慢的变复杂了。
 
哈佛结构&冯诺依曼结构
程序和数据:
程序运行时的两大核心元素:程序+数据
程序一般就是代码,当做成成品时是不用改变的,数据一般指的是传入的变量,常量之类的。有时候会经常改变。
数据是程序运行过程中定义和产生的变量的值,是可以读写的,程序运行实际就是为了改变数据的值。(可以这样理解:程序就是一个加工器,例如像做饭一样,把程序比喻成电饭锅,数据就是大米。)
冯诺依曼结构:
程序和数据都放在内存中,且彼此不分离。因为程序本身也是0101的数字,而数据也一样是0101的数字,是相同的应该放在一个地方。譬如intel的CPU就是采用冯诺依曼结构。
哈佛结构:
程序和数据分开独立放在不同的内存卡中的,彼此完全分离的结构。譬如:单片机,一般的嵌入式设备。
 
冯诺依曼结构和哈佛结构的优劣对比:
冯诺依曼结构中程序和数据不区分的放在一起,好处是处理起来简单,但是患处是安全和稳定是是一个问题。
哈佛结构中程序(一般放在ROM、flash中)和数据(一般放在RAM中)独立分开存放,因此好处是安全和稳定性高,缺点是软件处理复杂一些(需要统一规划链接地址)。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值