?? chapter1.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0036)http://www.xtrj.org/smr/chapter1.htm -->
<HTML><HEAD><TITLE>第1章 RISC and MIPS</TITLE><!-- http://www.xtrj.org/smr/chapter1.htm -->
<META content="MSHTML 6.00.2900.2180" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD>
<BODY>
<P> 第一章 RISCs與MIPS
<BR><BR>MIPS是高效精簡指令集計算機(RISC)體系結構中最優雅的一種;即使連MIPS的競爭對手也這樣認為,這可以從MIPS對于后來研制的新型體系結構比如DEC的Alpha和HP的Precision產生的強烈影響看出來。雖然自身的優雅設計并不能保證在充滿競爭的市場上長盛不衰,但是MIPS微處理器卻經常能在處理器的每個技術發展階段保持速度最快的同時保持設計的簡潔。
<BR>相對的簡潔對于MIPS來說是一種商業需要,MIPS起源于一個學術研究項目,該項目的設計小組連同幾個半導體廠商合伙人希望能制造出芯片并拿到市場上去賣。結果是該結構得到了工業領域內最大范圍的具有影響力的制造商們的支持。從生產專用集成電路核心(ASIC
Cores)的廠家(LSI Logic,Toshiba, Philips, NEC)到生產低成本CPU的廠家(NEC,
Toshiba,和IDT),從低端64位處理器生產廠家(IDT, NKK, NEC)到高端64位處理器生產廠家(NEC, Toshiba和IDT).
<BR>低端的CPU物理面積只有1.5平方毫米(在SOC系統里面肉眼很難找到).而高端的R10000處理器,第一次投放市場時可能是世界上最快的CPU,它的物理面積幾乎有1平方英寸,發熱近30瓦特.雖然MIPS看起來沒什么優勢,但是足夠的銷售量使其能健康發展:1997年面市的44M的MIPS
CPU,絕大多數使用于嵌入式應用領域. <BR>MIPS CPU是一種RISC結構的CPU,
它產生于一個特殊的蓬勃發展的學術研究與開發時期.RISC(精簡指令集計算機)是一個極有吸引力的縮寫名詞,與很多這類名次相似,可能遮掩的真實含義超過了它所揭示的.但是它的確對于那些在1986到1989年之間投放市場的新型CPU體系結構提供了一個有用的標識名,這些新型體系結構的非凡的性能主要歸功于幾年前的幾個具有開創性的研究項目所產生的思想。有人曾說:"任何在1984年以后定義的計算機體系結構都是RISC";雖然這是對于工業領域廣泛使用這個縮寫名詞的嘲諷,但是這個說法也的確是真實的-1984年以后沒有任何一款計算機能夠忽視RISC先驅者們的工作。
<BR>在斯坦福大學開展的MIPS項目是這些具有開創性的項目中的一個。該項目命名為MIPS(主要是無內鎖流水段微型計算機的關鍵短語的縮略)同時也是"每秒百萬條指令數"的雙關語。斯坦福研究小組的工作表明雖然流水線已經是一種眾所周知的技術,但是以前的體系結構對它研究的遠遠不夠,流水線技術其實能夠被更好的利用。尤其是當結合了1980年的硅材料設計水平時。
</P>
<P><BR>1.1 流水線
<BR>從前在英格蘭北部的一個小鎮里,有一個名叫艾薇的人開的魚和油煎土豆片商店。在店里面,每位顧客需要排隊才能點他(她)要的食物(比如油炸鱈魚,油煎土豆片,豌豆糊,和一杯茶)。然后每個顧客等著盤子裝滿后坐下來進餐。
<BR>艾薇店里的油煎土豆片是小鎮中最好的,在每個集市日中午的時候,長長的隊伍都會排出商店。所以當隔壁的木器店關門的時候,艾薇就把它租了下來并加了一倍的桌椅。但是這仍然不能容納下所有的顧客。外面排著的隊伍永遠那么長,忙碌的小鎮居民都沒有時間坐下來等他們的茶變涼。
<BR>他們沒辦法再另外增加服務臺了;艾薇的鱈魚和伯特的油煎土豆片是店里面的主要賣點。但是后來他們想出了一個聰明的辦法。他們把柜臺加長,艾薇,伯特,狄俄尼索斯和瑪麗站成一排。顧客進來的時候,艾薇先給他們一個盛著魚的盤子,然后伯特給加上油煎土豆片,狄俄尼索斯再給盛上豌豆糊,最后瑪麗倒茶并收錢。顧客們不停的走動;當一個顧客拿到豌豆糊的同時,他后面的已經拿到了油煎土豆片,再后面的一個已經拿到了魚。一些窮苦的村民不吃豌豆糊-但這沒關系,這些顧客也能從狄俄尼索斯那里得個笑臉。
<BR>這樣一來隊伍變短了,不久以后,他們買下了對面的商店又增加了更多的餐位。
<BR>這就是流水線。將那些具有重復性的工作分割成幾個串行部分,使得工作能在工人們中間移動,每個熟練工人只需要依次的將他的那部分工作做好就可以了。雖然每個顧客等待服務的總時間沒變,但是卻有四個顧客能同時接受服務,這樣在集市日的午餐時段里能夠照顧過來的顧客數增加了三倍。圖1.1說明了艾薇的方法,是由她那很少涉獵非虛現實問題的兒子愛因斯坦繪制的。
<BR>如果將程序看成是內存中存儲的一堆指令的話,一個即將運行的程序看起來和排著隊等待接受服務的顧客沒什么相似之處。但是如果從CPU的角度來看,就不一樣了。CPU從內存中提取每條指令,進行譯碼,確定需要的操作數,執行相應操作,并存儲產生的任何結果-然后再次重復同樣的工作。等待執行的程序就是一個等待一次一個的流過CPU的指令隊列。
<BR>由于每條指令都要做不同的工作,因此在CPU內部已經配有各種不同的專用的大塊邏輯電路,所以構造一個流水線并沒有使CPU復雜度增加多少;只是讓CPU工作負載更重一些而已。
<BR>對于RISC微處理器來說使用流水線技術不是什么新鮮事兒。真正重要的在于完全的重新設計-從指令集開始-目的是使流水線更加高效。因此,怎樣才能設計一個高效的流水線實際上可能是一個錯誤的問題。正確的提問應該是,是什么使得流水線效率低下?
<BR> </P><BR></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -