启动ICache可以加快Bootloader启动

启动CPU里的ICache可以加快Bootloader启动。



    PS:SDRAM红色椭圆区域 表示 要执行的代码(几条指令)。

    CPU要在SDRAM那段代码,取指令,取完之后,返回CPU内部执行。然后又跳到SDRAM那段代码,取一条指令,然后又返回CPU内部执行… … … …

    CPU每次都要去SDRAM里,在SDRAM红色椭圆区里取一条指令,返回执行。CPU每执行一条指令,都要访问SDRAM,如果这段代码一直在那里,不断地在那里执行,CPU就不断地在哪里取指令,好麻烦哟,那么远。

    所以我们可以启动ICache,CPU在取指令的时候,同时把SDRAM的那一小块代码放到ICache(高速内存)里,下一次CPU执行的时候,先看一下Icache里,有没有那些指令,如果有,CPU直接从ICache里取出指令执行;如果没有,再去SDRAM内存里取。如果有那些指令,CPU会一直在ICache里取,这样速度就很快啦~~~

    如果CPU访问外部SDRAM,那就要千里迢迢发出各种命令来读SDRAM内存。如果有了ICache,CPU只要在第一次读指令的时候,把那一小段的代码读到ICache里,然后每一次CPU,就可以先从ICache里寻找有没有那些指令,这样就近了很多。


start.S:

/* 启动ICACHE */
	mrc p15, 0, r0, c1, c0, 0    @ read control reg
	orr r0, r0, #(1<<12)
	mcr p15, 0, r0, c1, c0, 0    @ write it back 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值