第5课,内存控制器

注:以下内容学习于韦东山老师arm裸机第一期视频教程

    一.内存接口介绍

        1.1 内存控制器的引入

            2440是一个SOC,其中外设分为多种类型

                1. 门电路类:GPIO

               2. 协议类接口: UART I2C SPI


            但是对于CPU来说只需要将值写给寄存器,CPU通过地址来区分不同的寄存器,因此就会引入另一个控制单元->内存控制器

            

        1.2 内存控制器的作用

            1.2.1 根据CPU发出的地址来选择不同的模块,把数据发送给模块,或者取出数据并且返回给CPU


        1.3 内存接口

            1.3.1 CPU发出的信号并不会直接输出到外部电路去,但是凡事都有例外,例如内存接口
            1.3.2 对于内存接口,CPU发出的地址可以直接传给内存类设备(NOR,网卡,内存)
            1.3.3 在内存芯片上有地址总线,数据总线,可以直接接收CPU发出的地址,数据
            1.3.4 对于内存类设备会共用地址总线,因此引入片选引脚cs
                  只有当某个片选引脚输出低电平是对应的设备才被选中,可以向CPU提供数据
                  
            1.3.5 谁来控制片选引脚?(CPU只发出地址信号)

                    内存控制器根据CPU发出的地址来决定发出不同的片选信号.

                  地址与片选信号关系如下图:


            
            1.3.6 如何确定数据传输方向

                    对于SDRAM、DM9000、NOR芯片上都有读写信号来表示数据传输方向

                    

            1.3.7 关于32位CPU的疑惑

                  其中每块地址范围为128M=2^27,因此至少需要A0,A1-A26,共27条地址线

                但是cpu是32位的,却只用了27条地址线?

                  

                  如下:

                    ldr r0, =addr
                    ldr r1, =val
                    str r1, [r0]           

                    会让CPU发出32位的addr给内存控制器,内存控制器再来发出片选信号和addr0-addr26的地址信号

                  CPU确实发出了32位的地址,但是内存控制器只用到了0-26

                   
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值