地址总线和数据总线

  • 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)

CPU数据总线和地址总线 内存和外存相关推荐

  1. CPU,缓存,内存,外存全解析

    CPU,缓存,内存,外存结构图如下: 一:缓存 定义:凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache 被扩充概念:如今缓存的概念已被扩充,不仅在CPU和主 ...

  2. CPU、处理器、内存、外存、寄存器、缓存的区别

    1.CPU:Central Process Unit中央处理器单元,即CPU属于处理器. 2.CPU中有寄存器,因此寄存器的速度最快!内存.外存统称为CPU的"外存". 3.高速缓 ...

  3. 计算机存储器——内存、外存详解

    一)内存与外存的含义 内存指的就是主板上的存储部件,CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中的)数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成 ...

  4. 内存、外存、硬盘、CPU、GPU、BIOS的理解

    1.内存.外存.cpu的关系 2.GPU理解 3.BIOS理解 4.ROM和RAM的区分 RAM:随机存储器(内存,缓存.寄存器),断电后数据不能保存 ROM: 只读存储器(BIOS),数据不能修改, ...

  5. 32位CPU最大支持4G内存

    32位系统最大只能支持4GB内存之由来 也许大家对这个问题都不陌生,实际装过系统用过电脑的朋友可能都有这样的经历:自己电脑配的是4G的内存条,可是装完系统之后发现电脑上显示的只有3.2G左右可用内存, ...

  6. 【计组】字长、数据总线、地址总线

    1.32位机是指CPU一次可处理32bit的数据,即字长(机器字长),而CPU所处理的数据都是通过数据总线从内存上获取的. 2.CPU一次从内存上获取的数据长度由数据总线决定.如果数据总线的长度小于字 ...

  7. 1.4总线:并行总线、串行总线、单工、半双工、全双工、总线宽度、总线带宽、总线的分类、数据总线、地址总线、控制总线

    1.4总线:并行总线.串行总线.单工.半双工.全双工.总线宽度.总线带宽.总线的分类.数据总线.地址总线.控制总线 总线 并行总线.串行总线 单工.半双工.全双工 总线宽度 总线带宽 总线的分类 数据 ...

  8. 计算机总线详解(数据总线、地址总线、控制总线)

    文章目录 1 概述 2 总线分类 2.1 数据总线 Data Bus 2.2 地址总线 Address Bus 2.3 控制总线 Control Bus 3 扩展 3.1 常考题 3.2 百度百科 - ...

  9. 计算机是怎样跑起来的(Ⅱ-2)连接电源、数据总线和地址总线

    文章目录 电源 CPU 地址总线 数据总线 内存 地址总线 & 数据总线 电源 IC(Integated Circute):与普通的电器一样,只有接通了电源才能工作. Z80 CPU.TC55 ...

  10. 内存和外存的主要区别_内存与外存的关键区别有哪些?

    易失性VS非易失性.内存,例如随机存取内存(RAM),是具有易失性的.这意味着当系统断电时,数据就会丢失.与之相反,外部存储是非易失性的,因此即使没有电源,它也能保存数据. 性能和容量.在大多数情况下 ...

最新文章

  1. Linux 多线程编程
  2. 活动目录在Windows Server 2008 中的改进:总体概览
  3. CSS学习17之动画
  4. Redis的简单实践
  5. SQLite Insert 语句(http://www.w3cschool.cc/sqlite/sqlite-insert.html)
  6. HDL输入设计详解攻略
  7. 用python turtle库画正方形_用Python Turtle画一个正方形
  8. MFC版链表实现稀疏多项式相加减
  9. 使用计算机管理文件教后反思,《管理计算机中的文件》教学反思
  10. Vue3.x 使用ref和reactive、toRef
  11. java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码
  12. 直接访问WEB-INF目录下的JSP页面的方法
  13. AI 理财顾问靠谱吗?蚂蚁支小宝是这样做的
  14. 怎么用matlab显示噪声,怎么用MATLAB产生噪声调频信号
  15. 三年之期已至,加多宝如何续写上市新故事
  16. 零数科技成功通过CMMI3级认证,软件研发能力获国际认可
  17. PCI Express解析——系列文章【2】:PCIe原理分析之——PCI Express线路基础
  18. Seastar Tutorial 简明教程
  19. RiskCloud双控平台(有效分享HAZOP软件篇)
  20. PHP网站开发方案(开发新人必读)

热门文章

  1. HDR图像渲染滤镜软件:Topaz Adjust AI for mac
  2. 英雄连2一直显示连接relic服务器,英雄连2联机时出现PleaseWait问题的解决方法_英雄连2PleaseWait问题的解决方法_牛游戏网...
  3. linux 关闭后台程序
  4. qcom usb驱动下载_艾肯Mobile Q驱动下载
  5. 常用USB芯片介绍(转串口、SPI 、单片机读写U盘)
  6. rtc芯片rx8025t在linux 3.10下的的驱动
  7. SQL server2008下载安装
  8. 3D博物馆虚拟纪念馆数字博览厅的“另类”展现方式
  9. 微pe工具箱 系统安装教程_微PE工具箱安装系统教程(Win7或Win10)
  10. php与mysql 5_PHP5与MySQL5从入门到精通 PDF扫描版[61MB]