- 相關推薦
基于MIPS架構的RISC微處理器RM7000A
摘要:概要介紹基于MIPS指令集的RM7000A微處理器的大容量片內緩存、超標量流水線、指令雙發射、大量寄存器組等主要特性,并對其兩種應用方案進行探討。引 言
??在眾多類型的RISC CPU體系中,MIPS(Microprocessor without Interlocked Pipeline Stages)是相當成功的一種。自從1983年John Hennessy在斯坦福大學成功地完成了第一個采用RISC理念的MIPS微處理器以來,基于MIPS構架的CPU在網絡、通信、多媒體娛樂等領域得到了廣泛應用。Cisco的路由器,IBM的網絡彩色打印機,HP的4000、5000、8000、9000系列激光打印機及掃描儀,Sony的Playstation和Playstation 2游戲機等等,都是應用了實現不同MIPS指令集的微處理器的產品。
??MIPS Technologies Inc本身不生產微處理器,它只設計高性能工業級的32位和64位CPU的結構體系,并且向其它半導體公司提供使用其內核(IP)的授權,用于生產基于MIPS而又各具特色的微處理器。據MIPS公司網站介紹,現在已有超過50家公司申請了授權,其中不乏IT界著名的大企業,如:AMD、ATI、TI、NEC、Toshiba、Philips、PMC-Sierra、IDT、Quicklogic、Marvell等。
1 RM7000A概述
??RM7000A是PMC-Sierra公司RM7000系列微處理器的一種,使用CMOS 0.18μm藝制造而成,內含2個獨立的64位整型單元和1個64位浮點單元;片內集成了主緩存和二級緩存以及外部擴展緩存控制器(最高支持8MB三級緩存);具有1個時鐘周期發射2條指令的功能;支持數據預取(Prefetch);最高工作頻率可達400MHz;可寬溫工作,350MHz工業級處理器工作溫度為-40~ 85℃。
??該微處理器有以下主要特性。
(1)片內集成大容量主緩存和二級緩存
??主緩存包括16KB指令緩存和16KB數據緩存。指緩和數緩都擁有各自的64位讀通道和128位寫通道,并且允許指緩和數緩同時被訪問。在400MHz時,主緩可以給整型單元和浮點型單元提供總計高達6.4GB/s的帶寬。256KB的二級緩存擁有一個64位的讀/寫共用通道,只有在訪問主緩存發生未命中的情況下才會使用到。
??主緩存和二級緩存均采用4路組相聯。緩存線長32字節,均為非阻塞式緩存(non-blocking cache),即在緩存訪問產生未命中(cache miss),且這個未命中沒有被消除的情況下,處理器無需停頓等待,可以繼續進行緩存訪問。RM7000A允許最多有兩個未命中時仍可訪問緩存。只有在下面兩種情況下,微處理器才會產生停頓:一是在前兩個未命中還沒消除,指令總線上又出現了對緩存的存取指令;二是產生了兩個未命中,而隨后的指令要從前面一個引起未命中的指令處獲取數據才能繼續執行。
(2)指令雙發射機制(dual issue mechanism)
??RM7000A的指令分為四種類型:整數型、浮點型、分支轉移(branch)和存/。╨oad/store)。處理器整型部件的超標量分發單元含有兩個獨立的流水線:M-pipe(memory)和F-pipe(function)。其中,F-pipe處理整數型、分支轉移和浮點操作,如加、減、乘、除等;M-pipe負責整數型、存/取等操作,同時也進行一些浮點數在寄存器間的移動。指令雙發射框圖如圖1所示。
??如果每過一個時鐘周期,每條流水線流出一條指令,在外部看來就有兩條指令同時被執行。但是,在處理器中并不是總能做到雙發射的,這跟具體的指令組合有關,比如:當一個指令要處理控制寄存器時,就不能和其它的指令同時發射。
(3)超標量流水線(superscalar pipeline)
??RM7000A包含一條5階超標量指令流水線(度m=2),供M-pipe和F-pipe使用。每條指令被劃分為5個子過程:I為取指令,R為取寄存器數,A為執行,D為取數據,W為寫回,如圖2所示。
??配合指令的雙發射機制,每過一拍,流水線都要流入兩條新的指令。在滿負荷的情況下,可以有10條指令在流水線不同的部件上同時運行,相當于提高了工作頻率。
??在RM7000A中,實際上還存在一個7階流水線單獨處理浮點操作,不過,這個流水線對用戶來說是完全透明的。
(4)寄存器組(register files)
??RM7000A含有眾多的寄存器。
◆ 整型操作寄存器組。位于整型單元中,包括32個64位的通用寄存器(GPR),2個專用于整型乘、除運算的寄存器Hi和Lo,1個程序計數器PC(對用戶透明)。其中通用寄存器的r0被硬連接為0。它可以作為目的寄存器存放指令以后會舍棄的暫時結果,也可以根據需要為指令提供0作為操作數。
◆ 浮點操作寄存器組。包含32個64位的浮點通用寄存器(FGR)和32個32位控制寄存器。
◆ 系統控制寄存器組(CP0)。用于內存管理調度、地址轉換、異常處理等。
(5)集成、高效的內存管理單元
【基于MIPS架構的RISC微處理器RM7000A】相關文章:
基于微處理器的FPGA配置方案03-07
基于RISC技術的8位微控制器設計03-19
基于FPGA的RISC8位單片機設計03-30
基于手機無線局域網的架構與應用03-18
基于802.16d的服務質量架構03-07
基于流程組件的面向服務運維架構03-07