微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 问一下mips cpu的问题,,希望有人回答一下

问一下mips cpu的问题,,希望有人回答一下

时间:10-02 整理:3721RD 点击:
mips架构里面,cache是不是就是我们所说的寄存器堆啊regfile。
Cache 是 CPU 和主存之间的小容量高速度的缓冲存储器,用来存放经常使用的数据和程序指令,以减小 CPU 访问主存的频度。
貌似寄存器堆也是啊。
求各位大大,,帮我说一下,,最好解释一下他们之间的区别

cache是用来最常用的一些数据和指令吧? 而reg是来者不拒,这是我的猜测,

很少用到这个,一般都是用ARM

寄存器一般数量比较少,基本都是触发器构成的,但是cache的话都是SRAM做的,容量相对比较大,

不是。寄存器堆register file是处理器内部的,每个单元(寄存器)大小固定,通过寄存器号索引(索引号长度不会超过10位),用于存储运行指令的源和目的操作数,其出口和入口(读写端口)只对流水线内部其他各级开放。绝大多数MIPS汇编指令都可以访问和更改register file的内容。
Cache从MIPS处理器的角度看,实际上是一块特殊的内存。Cache从架构的角度讲,是在处理器外部的(尽管现代处理器都把处理器和cache做在同一块芯片上)。单元大小不固定(从64B到256B),通过内存地址索引(32位或者64位),用于存储指令本身(指令cache)和数据(数据cache),其出入口对处理器和下级cache或者内存开放。只有load和store(统称访存指令)命令才能访问和更改数据cache中的内容。如果程序要改变cache中的数据,则需要使用访存指令将数据从cache中装载入寄存器中,利用其他指令将其修改,最后再利用访存指令将更改后的数据从寄存器中写回cache或者内存中。

cache是一块高速缓存,在cpu外部,这个“可以有”,register file在cpu内部,这个“必须有”。从系统运行角度看,无非就是指令和数据指导SoC运行,这里cache是分子运动级的,而cpu register是原子运动级的,不过“分子”和“原子”在大方向上是统一的。
以上个人一点理解,对mips、arm架构都适用。研究cache极具意义,无论SoC设计还是基于其上的os开发,cache都是关键!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top