使CPU运行的更快--Cache
来源:互联网 发布:戴维南定理实验数据 编辑:程序博客网 时间:2024/06/04 17:46
使CPU运行的更快--Cache
高速缓冲存储器Cache是位于CPU与内存之间的临时的存储器,它的容量比内存小但是交换速度快。
在Cache中的数据是内存中的一小部分,但是这一小部分是CPU可以高速的访问的。
1、源代码
/* 2. 设置时钟 */ldr r0, =0x4c000014//mov r1, #0x03; // FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1mov r1, #0x05; // FCLK:HCLK:PCLK=1:4:8str r1, [r0]/* 如果HDIVN非0,CPU的总线模式应该从“fast bus mode”变为“asynchronous bus mode” */mrcp15, 0, r1, c1, c0, 0/* 读出控制寄存器 */ orrr1, r1, #0xc0000000/* 设置为“asynchronous bus mode” */mcrp15, 0, r1, c1, c0, 0/* 写入控制寄存器 *//* MPLLCON = S3C2440_MPLL_200MHZ */ldr r0, =0x4c000004ldr r1, =S3C2440_MPLL_400MHZstr r1, [r0]/* 启动ICACHE 会将原来的效率从7秒变为2秒 */mrc p15, 0, r0, c1, c0, 0@ read control regorr r0, r0, #(1<<12)mcrp15, 0, r0, c1, c0, 0 @ write it back/* 3. 初始化SDRAM */ldr r0, =MEM_CTL_BASEadr r1, sdram_config /* sdram_config的当前地址 */add r3, r0, #(13*4)1:ldr r2, [r1], #4str r2, [r0], #4cmp r0, r3bne 1b/* 4. 重定位 : 把bootloader本身的代码从flash复制到它的链接地址去 */ldr sp, =0x34000000bl nand_initmov r0, #0ldr r1, =_startldr r2, =__bss_startsub r2, r2, r1bl copy_code_to_sdrambl clear_bss/* 5. 执行main */ldr lr, =haltldr pc, =mainhalt:b haltsdram_config:.long 0x22011110 //BWSCON.long 0x00000700 //BANKCON0.long 0x00000700 //BANKCON1.long 0x00000700 //BANKCON2.long 0x00000700 //BANKCON3 .long 0x00000700 //BANKCON4.long 0x00000700 //BANKCON5.long 0x00018005 //BANKCON6.long 0x00018005 //BANKCON7.long 0x008C04F4 // REFRESH.long 0x000000B1 //BANKSIZE.long 0x00000030 //MRSRB6.long 0x00000030 //MRSRB7
很多时候你不去使用ICACHE的话,那么CPU就会不断的从你的外部的SDRAM里面种读取数据
但是外部的SDRAM的速度明显要慢很多,所以CPU就老是等待,还不如用一块小的高速内存将外部的SDRAM的
启动代码放进去,这样的效率才会更高。
阅读全文
0 0
- 使CPU运行的更快--Cache
- TQ2440开发板学习纪实(3)--- 设置时钟频率,让CPU运行的更快
- [分享]使OO运行更快的技巧
- 如何使您的Mac运行速度更快
- 如何让sql运行的更快
- 让python代码运行的更快
- 怎样使javaWEB项目运行更快
- 怎么样使prestashop 运行速度更快
- SQL运行得更快!
- Ruby on Rails 3.1的新特征将使你的程序运行更快
- 如何让你的sql运行的更快
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快 zz
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快
- 链表求和问题
- Golang 上传文件
- 【用Python学习Caffe】6. 权重预设、预训练及微调
- 测试菜鸟关于selenium的学习
- go 环境变量说明
- 使CPU运行的更快--Cache
- 交换排序之快速排序
- 优质内容很有必要
- css3 和 h5 几个实用的小知识
- 面向对象设计原则
- HashMap实现原理及源码分析
- C++ 引用(&)的用法和应用实例
- DAY 25 模块2
- CSS揭秘读书笔记-第二章 背景与边框