CPU数据总线和地址总线 内存和外存

地址总线和数据总线

  • CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息(即通过地址总线确定要访问的内存地址,再由数据总线传输数据)。 从开发者角度来说,数据总线长度应该和地址总线宽度一致,也就是一个指针和一个整数宽度相等,但是从硬件角度来讲,有些不切实际,比如说8位的CPU,如果地址总线和数据总线宽度一致,那么只能寻址256个地址单元(多少位cpu对应的是数据总线),这对于实际应用来说,太少了,从商业角度来讲太浪费了,所以一般8位cpu的地址总线都是16位的(专门增加了一些16位的地址指令),这也导致了一个结果,造成了一些8位cpu在结果上的一些不均匀性,所以一些8位的系统指令实际上是16位的操作,鉴于历史原因,cpu的位数总是低于实际所需的地址总线的宽度,所以Intel芯片采取的都是这种地址总线和数据总线不一致的架构,最初的16位CPU对应都是20位的地址总线,对应1M内存,所以呢Intel 设计人员要考虑着怎么匹配16位的数据总线和20位的地址总线,不能再像8位cpu那样设计,没有灵魂,其实也可以采用映射的方式,但是Intel采取的方式叫做分段。
  • 地址总线的位数决定CPU的寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量
  • 总线的熟读决定CPU和外设互换信息的速度

注意:

  • CPU的地址总线位数和数据总线位数可以不相同(典型就是51单片机)。但是一般都相同
  • CPU的位数指的是数据总线的位数。32位CPU寻址的范围是4G(即2^32),所以最多支持4G内存
  • 数据总线是32位的,内存使用32位的比较合适,所以编程最好用int类型

内存: 内部存储器  是用来运行程序和数据的 一般称为 RAM(Random Access Memory 随机访问存储器 可以随意访问任意一个地址任意一个字节的数据) (类似于电脑的运行内存  掉电不保存数据)

举例(DRAM SRAM  DDR SDRAM)

 

外存: 外部存储器  是用来存储东西的  一般称为ROM(Read Only Memory 这里不是指数据只读 而是指CPU不能通过地址总线和数据总线来访问这个存储器 ) (类似于电脑的固态硬盘和机械硬盘 掉电也会保存数据)

举例(硬盘  Flash (Nand iNand U盘 SSD(固态硬盘)等))  

CPU连接内存和外存的连接方式不同:

  • 内存 需要直接地址访问,所以是通过地址总线和数据总线的总线式访问方式连接的(好处是 可以直接访问,随机访问任意一个地址任意一个字节的数据;坏处是占用CPU的地址空间,大小受限)。
  • 外存 是通过CPU的外存接口来连接的(好处是 不占用CPU的地址空间,坏处是 访问速度没有内存快,访问时序复杂)

内存:

SRAM (Static Random Access Memory,静态存储器) 特点就是容量小,价格高,优点就是不需要软件初始化 直接上电就可以用

DRAM  (Dynamic Random Access Memory,动态存储器)特点就是容量大,价格低,缺点就是上电后不能直接使用,需要软件初始化后才可以使用。

 

 SRAM不应该与SDRAM相混淆,SDRAM代表的是同步DRAM(Synchronous DRAM),这与SRAM是完全不同的。SRAM也不应该与PSRAM相混淆,PSRAM是一种伪装成SRAM的DRAM。(SDRAM就相当于是一种特殊的DRAM)

SDRAM具体可以看这篇博客http://blog.sina.com.cn/s/blog_dae1e1400102vmxa.html

SRAM和DRAM的特点和区别可以参考这篇博客https://blog.csdn.net/qq_21435127/article/details/79617714

  • 单片机中:内存需求小,而且希望开发尽量简单,适合全部使用SRAM
  • 嵌入式系统:内存需求大,而且没有 NorFkash等可启动介质
  • PC机:内存需求大,而且软件复杂,不在乎DRAM的初始化开销,适合全部使用DRAM

 

外存:

NorFlash :特点是容量小,价格高,优点是可以和CPU直接总线式相连,CPU上电后可以直接读取,所以一般用作启动介质(如BIOS)(一般将NorFlash集成到主板或SOC上)

NandFlash :跟硬盘一样 特点是容量大,价格低,缺点是不能总线式访问,也就是说不能上电CPU直接读取,需要CPU先运行一些初始化软件,然后通过时序接口读写。

所以

  • 一般的单片机: 很小容量的NorFlash+很小容量的SRAM
  • 嵌入式系统:因为现在NorFlash很贵,所以现在很多嵌入式系统倾向于不用NorFlash;而是直接用:外接大容量NandFlash(也可能是SD卡)  +外接大容量 DRAM+SOC内置的SRAM
  • 一般PC机都是:很小容量的BIOS(NorFlash)+很大容量的硬盘(类似于NandFlash)+大容量DRAM(一般为DDR)

 

 

 

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值