欢迎来到天天文库
浏览记录
ID:10652654
大小:56.50 KB
页数:5页
时间:2018-07-07
《基于mips架构的risc微处理器rm7000a》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于MIPS架构的RISC微处理器RM7000A
2、第1内容显示中摘要:概要介绍基于MIPS指令集的RM7000A微处理器的大容量片内缓存、超标量流水线、指令双发射、大量寄存器组等主要特性,并对其两种应用方案进行探讨。关键词:RM7000A微处理器MIPS架构引言在众多类型的RISCCPU体系中,MIPS(Microprocessor艺制造而成,内含2个独立的64位整型单元和1个64位浮点单元;片内集成了主缓存和二级缓存以及外部扩展缓存控制器(最高支持8MB三级缓存);具有1个时钟周期发射2条
3、指令的功能;支持数据预取(Prefetch);最高工作频率可达400MHz;可宽温工作,350MHz工业级处理器工作温度为-40~+85℃。该微处理器有以下主要特性。(1)片内集成大容量主缓存和二级缓存主缓存包括16KB指令缓存和16KB数据缓存。指缓和数缓都拥有各自的64位读通道和128位写通道,并且允许指缓和数缓同时被访问。在400MHz时,主缓可以给整型单元和浮点型单元提供总计高达6.4GB/s的带宽。256KB的二级缓存拥有一个64位的读/写共用通道,只有在访问主缓存发生未命中的
4、情况下才会使用到。主缓存和二级缓存均采用4路组相联。缓存线长32字节,均为非阻塞式缓存(non-blockingcache),即在缓存访问产生未命中(cachemiss),且这个未命中没有被消除的情况下,处理器无需停顿等待,可以继续进行缓存访问。RM7000A允许最多有两个未命中时仍可访问缓存。只有在下面两种情况下,微处理器才会产生停顿:一是在前两个未命中还没消除,指令总线上又出现了对缓存的存取指令;二是产生了两个未命中,而随后的指令要从前面一个引起未命中的指令处获取数据才能继续执行。(2)
5、指令双发射机制(dualissuemechanism)RM7000A的指令分为四种类型:整数型、浮点型、分支转移(branch)和存/取(load/store)。处理器整型部件的超标量分发单元含有两个独立的流水线:M-pipe(memory)和F-pipe(function)。其中,F-pipe处理整数型、分支转移和浮点操作,如加、减、乘、除等;M-pipe负责整数型、存/取等操作,同时也进行一些浮点数在寄存器间的移动。指令双发射框图如图1所示。如果每过一个时钟周期,每条流水线流出一条指
6、令,在外部看来就有两条指令同时被执行。但是,在处理器中并不是总能做到双发射的,这跟具体的指令组合有关,比如:当一个指令要处理控制寄存器时,就不能和其它的指令同时发射。(3)超标量流水线(superscalarpipeline)RM7000A包含一条5阶超标量指令流水线(度m=2),供M-pipe和F-pipe使用。每条指令被划分为5个子过程:I为取指令,R为取寄存器数,A为执行,D为取数据,7000A中,实际上还存在一个7阶流水线单独处理浮点操作,不过,这个流水线对用户来说是完全透明的。(4
7、)寄存器组(registerfiles)RM7000A含有众多的寄存器。◆整型操作寄存器组。位于整型单元中,包括32个64位的通用寄存器(GPR),2个专用于整型乘、除运算的寄存器Hi和Lo,1个程序计数器PC(对用户透明)。其中通用寄存器的r0被硬连接为0。它可以作为目的寄存器存放指令以后会舍弃的暂时结果,也可以根据需要为指令提供0作为操作数。◆浮点操作寄存器组。包含32个64位的浮点通用寄存器(FGR)和32个32位控制寄存器。◆系统控制寄存器组(CP0)。用于内存管理调度、地址转换、异
8、常处理等。(5)集成、高效的内存管理单元为快速将虚拟地址转换成物理地址,RM7000A使用一个大容量的全相联TLB(TranslationLookasideBuffer,如图3所示)来实现这个目标。这个TLB被指令和数据共用,称为JTLB(JointTLB);可以配置成48对或64对入口,分别映射96页或128页的虚拟地址。页面的大小可配置,从小到大依次为4K、16K、64K、256K、1M、4M、16M。当发生TLB未命中时,RM7000A采用的替换算法主要是随机替换,以简化硬件设计。同时
9、也提供锁定特定地址机制,以便操作系统为提高性能而让一些页面持续被映射。ASID——AddressSpaceIdentifier,虚拟空间标识符,表示内核态(kernel)、管态(supervisor)、用户态(user)三种虚拟空间。G——Global,每个TLB入口都有的标识符。(6)指令格式及寻址方式需要注意的一点是:尽管RM7000A是64位的微处理器,但它的指令长度都是固定的32位。RM7000A是一种典型的寄存器型(Register-Register)微处理器,即除了load/
此文档下载收益归作者所有