完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
RAM主要的作用就是存储代码和数据供中央处理器在需要的时候进行调用。对于RAM等存储器来说仍是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据。对于RAM存储器而言数据总线是用来传入数据或者传出数据的。因为存储器中的存储空间是如果前面提到的存放图书的书架一样通过一定的规则定义的,我们可以通过这个规则来把数据存放到存储器上相应的位置,而进行这种定位的工作就要依靠地址总线来实现了。
对于中央处理器来说,RAM就象是一条长长的有很多空格的细线,每个空格都有一个唯一的地址与之相对应。如果中央处理器想要从RAM中调用数据,它首先是需要给地址总线发送地址数据定位要存取的数据,然后等待若干个时钟周期之后,数据总线就会把数据传输给cpu。下面关于SRAM存储原理示意图可以帮助我们很好的理解这个过程。 图1 上面图1所列举的例子中CPU在一行数据中每次只是存取一个字节的数据,但是在现实世界中是不同的,通常CPU每次需要调用32bit或者是64bit的数据(这是根据不同计算机系统的数据总线的位宽所决定的)。如果数据总线是64字节的话,CPU就会在一个时间中存取8个字节的数据(想一想,如果每次还是存取1个字节的数据,64bit总线将不会显示出来任何的优势。) 上图中的小圆点代表RAM中的存储空间,每一个都有一个唯一的地址线同它相连。当地址解码器接收到地址总线传送来的地址数据之后,它会根据这个数据定位中央处理器想要调用的数据所在的位置,然后数据总线就会把其中的数据传送到中央处理器。 图2 如果RAM对于CPU来说仅仅是一条“线”的话,还不能体现实际的运行情况。因为如果实际情况真的是如此的话,在实际制造芯片的时候,会有很多实际的困难,特别是在需要设计大容量的RAM的时候。所以一种更好的能够降低成本的方法是让存储信息的“空格”排列为很多行--每个“空格”对应一个bit存储的位置。如果要存储1024bits(2^10)数据,那么你只要使用32x32(2^5*2^5=2^10)的矩阵就能够达到这个目的了。很明显一个32x32的矩阵比一个1024bit的行设备更紧凑,实现起来也更加容易。请看图2. |
|
|
|
只有小组成员才能发言,加入小组>>
733 浏览 0 评论
1132 浏览 1 评论
2512 浏览 5 评论
2846 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2693 浏览 6 评论
684浏览 7评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
996浏览 3评论
198浏览 2评论
如果mmcblk1boot0启动失败可不可以从mmcblk1boot1启动呢
189浏览 2评论
用核心板GPIO直接控制网卡1的复位信号是否会导致液晶屏初始化失败?
231浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:48 , Processed in 0.648429 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号