九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

計算機系統(tǒng)結構復習匯總.ppt

  • 資源ID:3592759       資源大?。?span id="24d9guoke414" class="font-tahoma">4.57MB        全文頁數(shù):414頁
  • 資源格式: PPT        下載積分:19.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要19.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

計算機系統(tǒng)結構復習匯總.ppt

第1章計算機系統(tǒng)結構的基本概念張晨曦劉依,1.1引言1.2計算機系統(tǒng)結構的概念1.3定量分析技術1.4計算機系統(tǒng)結構的發(fā)展1.5計算機系統(tǒng)結構中并行性的發(fā)展,第一臺通用電子計算機誕生于1946年計算機技術的飛速發(fā)展得益于兩個方面計算機制造技術的發(fā)展計算機系統(tǒng)結構的創(chuàng)新經(jīng)歷了4個發(fā)展過程,1.1引言,1.1引言,1.1引言,功耗問題(已經(jīng)很大)??梢赃M一步有效開發(fā)的指令級并行性已經(jīng)很少。存儲器訪問速度的提高緩慢。,1.1引言,系統(tǒng)結構的重大轉折:從單純依靠指令級并行轉向開發(fā)線程級并行和數(shù)據(jù)級并行。計算機系統(tǒng)結構在計算機的發(fā)展中有著極其重要的作用。,計算機系統(tǒng)硬件/固件軟件計算機語言從低級向高級發(fā)展高一級語言的語句相對于低一級語言來說功能更強,更便于應用,但又都以低級語言為基礎。從計算機語言的角度,把計算機系統(tǒng)按功能劃分成多級層次結構。每一層以一種語言為特征,1.2計算機系統(tǒng)結構的概念,1.2.1計算機系統(tǒng)的層次結構,軟件,硬件或固件,1.2計算機系統(tǒng)結構的概念,虛擬機:由軟件實現(xiàn)的機器語言實現(xiàn)的兩種基本技術翻譯:先把N+1級程序全部轉換成N級程序后,再去執(zhí)行新產(chǎn)生的N級程序,在執(zhí)行過程中N+1級程序不再被訪問。解釋:每當一條N+1級指令被譯碼后,就直接去執(zhí)行一串等效的N級指令,然后再去取下一條N+1級的指令,依此重復進行。解釋執(zhí)行比編譯后再執(zhí)行所花的時間多,但占用的存儲空間較少。,1.2計算機系統(tǒng)結構的概念,計算機系統(tǒng)結構的經(jīng)典定義程序員所看到的計算機屬性,即概念性結構與功能特性。按照計算機系統(tǒng)的多級層次結構,不同級程序員所看到的計算機具有不同的屬性。透明性在計算機技術中,把這種本來存在的事物或屬性,但從某種角度看又好像不存在的概念稱為透明性。,1.2.2計算機系統(tǒng)結構的定義,1.2計算機系統(tǒng)結構的概念,Amdahl提出的系統(tǒng)結構傳統(tǒng)機器語言級程序員所看到的計算機屬性。廣義的系統(tǒng)結構定義:指令集結構、組成、硬件(計算機設計的3個方面)對于通用寄存器型機器來說,這些屬性主要是指:指令系統(tǒng)包括機器指令的操作類型和格式、指令間的排序和控制機構等。數(shù)據(jù)表示硬件能直接識別和處理的數(shù)據(jù)類型。尋址規(guī)則包括最小尋址單元、尋址方式及其表示。,1.2計算機系統(tǒng)結構的概念,寄存器定義(包括各種寄存器的定義、數(shù)量和使用方式)中斷系統(tǒng)(中斷的類型和中斷響應硬件的功能等)機器工作狀態(tài)的定義和切換(如管態(tài)和目態(tài)等)存儲系統(tǒng)(主存容量、程序員可用的最大存儲容量等)信息保護(包括信息保護方式和硬件對信息保護的支持),1.2計算機系統(tǒng)結構的概念,I/O結構包括I/O連接方式、處理機/存儲器與I/O設備之間數(shù)據(jù)傳送的方式和格式以及I/O操作的狀態(tài)等計算機系統(tǒng)結構概念的實質:確定計算機系統(tǒng)中軟、硬件的界面,界面之上是軟件實現(xiàn)的功能,界面之下是硬件和固件實現(xiàn)的功能。,1.2計算機系統(tǒng)結構的概念,1.2.3計算機組成和計算機實現(xiàn),計算機系統(tǒng)結構:計算機系統(tǒng)的軟、硬件的界面即機器語言程序員所看到的傳統(tǒng)機器級所具有的屬性。計算機組成:計算機系統(tǒng)結構的邏輯實現(xiàn)包含物理機器級中的數(shù)據(jù)流和控制流的組成以及邏輯設計等。著眼于:物理機器級內(nèi)各事件的排序方式與控制方式、各部件的功能以及各部件之間的聯(lián)系。,1.2計算機系統(tǒng)結構的概念,計算機實現(xiàn):計算機組成的物理實現(xiàn)包括處理機、主存等部件的物理結構,器件的集成度和速度,模塊、插件、底板的劃分與連接,信號傳輸,電源、冷卻及整機裝配技術等。著眼于:器件技術(起主導作用)、微組裝技術。,一種體系結構可以有多種組成。一種組成可以有多種物理實現(xiàn)。,1.2計算機系統(tǒng)結構的概念,系列機由同一廠家生產(chǎn)的具有相同系統(tǒng)結構、但具有不同組成和實現(xiàn)的一系列不同型號的計算機。例如,IBM公司的IBM370系列,Intel公司的x86系列等。,1.2.4計算機系統(tǒng)結構的分類,常見的計算機系統(tǒng)結構分類法有兩種:Flynn分類法、馮氏分類法,1.2計算機系統(tǒng)結構的概念,馮氏分類法用系統(tǒng)的最大并行度對計算機進行分類。最大并行度:計算機系統(tǒng)在單位時間內(nèi)能夠處理的最大的二進制位數(shù)。用平面直角坐標系中的一個點代表一個計算機系統(tǒng),其橫坐標表示字寬(n位),縱坐標表示一次能同時處理的字數(shù)(m字)。mn就表示了其最大并行度。Flynn分類法按照指令流和數(shù)據(jù)流的多倍性進行分類。指令流:計算機執(zhí)行的指令序列。,1.2計算機系統(tǒng)結構的概念,1.2計算機系統(tǒng)結構的概念,數(shù)據(jù)流:由指令流調用的數(shù)據(jù)序列。多倍性:在系統(tǒng)受限的部件上,同時處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大數(shù)目。Flynn分類法把計算機系統(tǒng)的結構分為4類:單指令流單數(shù)據(jù)流(SISD)單指令流多數(shù)據(jù)流(SIMD)多指令流單數(shù)據(jù)流(MISD)多指令流多數(shù)據(jù)流(MIMD)4類計算機的基本結構IS:指令流,DS:數(shù)據(jù)流,CS:控制流,CU:控制部件,PU:處理部件,MM和SM:存儲器。,4個定量原理:以經(jīng)常性事件為重點對經(jīng)常發(fā)生的情況采用優(yōu)化方法的原則進行選擇,以得到更多的總體上的改進。優(yōu)化是指分配更多的資源、達到更高的性能或者分配更多的電能等。,1.3定量分析技術,1.3.1計算機系統(tǒng)設計的定量原理,1.3定量分析技術,Amdahl定律加快某部件執(zhí)行速度所能獲得的系統(tǒng)性能加速比,受限于該部件的執(zhí)行時間占系統(tǒng)中總執(zhí)行時間的百分比。系統(tǒng)性能加速比:,加速比,系統(tǒng)性能改進后,系統(tǒng)性能改進前,總執(zhí)行時間改進前,總執(zhí)行時間改進后,1.3定量分析技術,加速比依賴于兩個因素可改進比例:在改進前的系統(tǒng)中,可改進部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例。它總是小于等于1。例如:一個需運行60秒的程序中有20秒的運算可以加速,那么這個比例就是20/60。部件加速比:可改進部分改進以后性能提高的倍數(shù)。它是改進前所需的執(zhí)行時間與改進后執(zhí)行時間的比。一般情況下部件加速比是大于1的。例如:若系統(tǒng)改進后,可改進部分的執(zhí)行時間是2秒,而改進前其執(zhí)行時間為5秒,則部件加速比為5/2。,1.3定量分析技術,改進后程序的總執(zhí)行時間,總執(zhí)行時間改進后不可改進部分的執(zhí)行時間可改進部分改進后的執(zhí)行時間總執(zhí)行時間改進后(1可改進比例)總執(zhí)行時間改進前,+,(1可改進比例)+總執(zhí)行時間改進前,可改進比例,部件加速比,可改進比例總執(zhí)行時間改進前,部件加速比,1.3定量分析技術,系統(tǒng)加速比為改進前與改進后總執(zhí)行時間之比,加速比,總執(zhí)行時間改進前,總執(zhí)行時間改進后,(1可改進比例)+,可改進比例,部件加速比,1,1.3定量分析技術,例1.1將計算機系統(tǒng)中某一功能的處理速度提高到原來的20倍,但該功能的處理時間僅占整個系統(tǒng)運行時間的40%,則采用此提高性能的方法后,能使整個系統(tǒng)的性能提高多少?解由題可知,可改進比例=40%=0.4,部件加速比=20根據(jù)Amdahl定律可知:采用此提高性能的方法后,能使整個系統(tǒng)的性能提高到原來的1.613倍。,總加速比=,1,0.6+,0.4,20,=1.613,1.3定量分析技術,例1.2某計算機系統(tǒng)采用浮點運算部件后,使浮點運算速度提高到原來的20倍,而系統(tǒng)運行某一程序的整體性能提高到原來的5倍,試計算該程序中浮點操作所占的比例。解由題可知,部件加速比=20,系統(tǒng)加速比=5根據(jù)Amdahl定律可知由此可得:可改進比例=84.2%即程序中浮點操作所占的比例為84.2%。,1.3定量分析技術,Amdahl定律:一種性能改進的遞減規(guī)則如果僅僅對計算任務中的一部分做性能改進,則改進得越多,所得到的總體性能的提升就越有限。重要推論:如果只針對整個任務的一部分進行改進和優(yōu)化,那么所獲得的加速比不超過1/(1可改進比例),1.3定量分析技術,CPU性能公式執(zhí)行一個程序所需的CPU時間CPU時間=執(zhí)行程序所需的時鐘周期數(shù)時鐘周期時間其中,時鐘周期時間是系統(tǒng)時鐘頻率的倒數(shù)。每條指令執(zhí)行的平均時鐘周期數(shù)CPI(CyclesPerInstruction)CPI=執(zhí)行程序所需的時鐘周期數(shù)ICIC:所執(zhí)行的指令條數(shù)程序執(zhí)行的CPU時間可以寫成CPU時間=ICCPI時鐘周期時間,1.3定量分析技術,CPU的性能取決于3個參數(shù)時鐘周期時間:取決于硬件實現(xiàn)技術和計算機組成。CPI:取決于計算機組成和指令集結構。IC:取決于指令集結構和編譯技術。對CPU性能公式進行進一步細化假設:計算機系統(tǒng)有n種指令;CPIi:第i種指令的處理時間;ICi:在程序中第i種指令出現(xiàn)的次數(shù);則CPU時鐘周期數(shù)=(CPIiICi),n,i=1,1.3定量分析技術,CPU時間=執(zhí)行程序所需的時鐘周期數(shù)時鐘周期時間=(CPIiICi)時鐘周期時間CPI可以表示為CPI=其中,(ICi/IC)反映了第i種指令在程序中所占的比例。,i=1,n,時鐘周期數(shù),IC,(CPIiICi),i=1,n,IC,(CPIi),i=1,n,ICi,IC,1.3定量分析技術,例1.3考慮條件分支指令的兩種不同設計方法:(1)CPUA:通過比較指令設置條件碼,然后測試條件碼進行分支。(2)CPUB:在分支指令中包括比較過程。在這兩種CPU中,條件分支指令都占用2個時鐘周期,而所有其他指令占用1個時鐘周期。對于CPUA,執(zhí)行的指令中分支指令占20%;由于每條分支指令之前都需要有比較指令,因此比較指令也占20%。由于CPUA在分支時不需要比較,因此CPUB的時鐘周期時間是CPUA的1.25倍。問:哪一個CPU更快?如果CPUB的時鐘周期時間只是CPUA的1.1倍,哪一個CPU更快呢?,1.3定量分析技術,解我們不考慮所有系統(tǒng)問題,所以可用CPU性能公式。占用2個時鐘周期的分支指令占總指令的20%,剩下的指令占用1個時鐘周期。所以CPIA=0.22+0.801=1.2則CPUA性能為總CPU時間A=ICA1.2時鐘周期A根據(jù)假設,有時鐘周期B=1.25時鐘周期A在CPUB中沒有獨立的比較指令,所以CPUB的程序量為CPUA的80%,分支指令的比例為,1.3定量分析技術,20%/80%=25%這些分支指令占用2個時鐘周期,而剩下的75%的指令占用1個時鐘周期,因此CPIB=0.252+0.751=1.25因為CPUB不執(zhí)行比較,故ICB=0.8ICA因此CPUB性能為總CPU時間B=ICBCPIB時鐘周期B=0.8ICA1.25(1.25時鐘周期A)=1.25ICA時鐘周期A,1.3定量分析技術,在這些假設之下,盡管CPUB執(zhí)行指令條數(shù)較少,CPUA因為有著更短的時鐘周期,所以比CPUB快。如果CPUB的時鐘周期時間僅僅是CPUA的1.1倍,則時鐘周期B=1.10時鐘周期ACPUB的性能為總CPU時間B=ICBCPIB時鐘周期B=0.8ICA1.25(1.10時鐘周期A)=1.10ICA時鐘周期A因此CPUB由于執(zhí)行更少指令條數(shù),比CPUA運行更快。,1.3定量分析技術,程序的局部性原理程序執(zhí)行時所訪問的存儲器地址分布不是隨機的,而是相對地簇聚。常用的一個經(jīng)驗規(guī)則程序執(zhí)行時間的90%都是在執(zhí)行程序中10%的代碼。程序的時間局部性程序即將用到的信息很可能就是目前正在使用的信息。程序的空間局部性程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。,1.3定量分析技術,執(zhí)行時間和吞吐率如何評測一臺計算機的性能,與測試者看問題的角度有關。用戶關心的是:單個程序的執(zhí)行時間(執(zhí)行單個程序所花的時間很少)數(shù)據(jù)處理中心的管理員關心的是:吞吐率(在單位時間里能夠完成的任務很多),1.3.2計算機系統(tǒng)的性能評測,1.3定量分析技術,假設兩臺計算機為X和Y,X比Y快的意思是:對于給定任務,X的執(zhí)行時間比Y的執(zhí)行時間少。X的性能是Y的n倍,即而執(zhí)行時間與性能成反比,即,執(zhí)行時間Y,執(zhí)行時間X,=n,n=,執(zhí)行時間Y,執(zhí)行時間X,性能Y,1,性能X,1,性能X,性能Y,1.3定量分析技術,執(zhí)行時間可以有多種定義:計算機完成某一任務所花費的全部時間,包括磁盤訪問、存儲器訪問、輸入/輸出、操作系統(tǒng)開銷等。CPU時間:CPU執(zhí)行所給定的程序所花費的時間,不包含I/O等待時間以及運行其他程序的時間。用戶CPU時間:用戶程序所耗費的CPU時間。系統(tǒng)CPU時間:用戶程序運行期間操作系統(tǒng)耗費的CPU時間。,1.3定量分析技術,基準測試程序用于測試和比較性能的基準測試程序的最佳選擇是真實應用程序。(例如編譯器)以前常采用簡化了的程序,例如:核心測試程序:從真實程序中選出的關鍵代碼段構成的小程序。小測試程序:簡單的只有幾十行的小程序。合成的測試程序:人工合成出來的程序。Whetstone與Dhrystone是最流行的合成測試程序。從測試性能的角度來看,上述測試程序就不可信了。,1.3定量分析技術,原因:這些程序比較小,具有片面性;系統(tǒng)結構設計者和編譯器的設計者可以“合謀”把他們的計算機面向這些測試程序進行優(yōu)化設計,使得該計算機顯得性能更高。性能測試的結果除了和采用什么測試程序有關以外,還和在什么條件下進行測試有關。基準測試程序設計者對制造商的要求采用同一種編譯器;對同一種語言的程序都采用相同的一組編譯標志。,1.3定量分析技術,一個問題:是否允許修改測試程序的源程序三種不同的處理方法:不允許修改。允許修改,但因測試程序很復雜或者很大,幾乎是無法修改。允許修改,只要保證最后輸出的結果相同?;鶞蕼y試程序套件:由各種不同的真實應用程序構成。(能比較全面地反映計算機在各個方面的處理性能)SPEC系列:最成功和最常見的測試程序套件(美國的標準性能評估公司開發(fā)),1.3定量分析技術,臺式計算機的基準測試程序套件可以分為兩大類:處理器性能測試程序,圖形性能測試程序SPEC89:用于測試處理器性能。10個程序(4個整數(shù)程序,6個浮點程序)演化出了4個版本SPEC92:20個程序SPEC95:18個程序SPEC2000:26個程序SPECCPU2006:29個程序SPECCPU2006,1.3定量分析技術,整數(shù)程序12個(CINT2006)9個是用C寫的,3個是用C+寫的浮點程序17個(CFP2006)6個是用FORTRAN寫的,4個是用C+寫的,3個是用C寫的,4個是用C和FORTRAN混合編寫的。SPEC測試程序套件中的其他一系列測試程序組件SPECSFS:用于NFS(網(wǎng)絡文件系統(tǒng))文件服務器的測試程序。它不僅測試處理器的性能,而且測試I/O系統(tǒng)的性能。它重點測試吞吐率。SPECWeb:Web服務器測試程序。,1.3定量分析技術,SPECviewperf:用于測試圖形系統(tǒng)支持OpenGL庫的性能。SPECapc:用于測試圖形密集型應用的性能。事務處理(TP)性能測試基準程序:用于測試計算機在事務處理方面的能力,包括數(shù)據(jù)庫訪問和更新等。20世紀80年代中期,一些工程師成立了稱為TPC的獨立組織。目的是開發(fā)用于TP性能測試的真實而又公平的基準程序。先后發(fā)布了多個版本:TPC-A、TPC-C、TPC-H、TPC-W、TPC-App等(主要是用于測試服務器的性能),1.3定量分析技術,用于測試基于Microsoft公司的Windows系列操作系統(tǒng)平臺的測試套件PCMark04:中央處理器測試組、內(nèi)存測試組、圖形芯片測試組、硬盤測試組等。BusinessWinstone2004:主要用于測試計算機系統(tǒng)商業(yè)應用的綜合性能。MultimediaContentCreationWinstone2004:主要用于測試計算機系統(tǒng)多媒體應用的綜合性能。SiSoftSandraPro2004:一套功能強大的系統(tǒng)分析評比工具,擁有超過30種以上的分析與測試模塊。主要包括:CPU、存儲器、I/O接口、I/O設備、主板等。,性能比較,兩個程序在A、B、C三臺計算機上的執(zhí)行時間,1.3定量分析技術,1.3定量分析技術,如何比較這3臺計算機的性能呢?從該表可以得出:執(zhí)行程序1:A機的速度是B機的10倍A機的速度是C機的20倍B機的速度是C機的2倍執(zhí)行程序2:B機的速度是A機的100倍C機的速度是A機的50倍B機的速度是C機的2倍,1.3定量分析技術,總執(zhí)行時間:計算機執(zhí)行所有測試程序的總時間B機執(zhí)行程序1和程序2的速度是A機的50.05倍C機執(zhí)行程序1和程序2的速度是A機的24.02倍B機執(zhí)行程序1和程序2的速度是C機的2倍平均執(zhí)行時間:各測試程序執(zhí)行時間的算術平均值其中,Ti:第i個測試程序的執(zhí)行時間n:測試程序組中程序的個數(shù),1.3定量分析技術,加權執(zhí)行時間:各測試程序執(zhí)行時間的加權平均值其中,Wi:第i個測試程序在測試程序組中所占的比重Ti:該程序的執(zhí)行時間,1.4計算機系統(tǒng)結構的發(fā)展,1.4.1馮諾依曼結構,存儲程序計算機的結構,1.4計算機系統(tǒng)結構的發(fā)展,存儲程序原理的基本點:指令驅動程序預先存放在計算機存儲器中,計算機一旦啟動,就能按照程序指定的邏輯順序執(zhí)行這些程序,自動完成由程序所描述的處理工作。馮諾依曼結構的主要特點以運算器為中心。在存儲器中,指令和數(shù)據(jù)同等對待。指令和數(shù)據(jù)一樣可以進行運算,即由指令組成的程序是可以修改的。存儲器是按地址訪問、按順序線性編址的一維結構,每個單元的位數(shù)是固定的。,1.4計算機系統(tǒng)結構的發(fā)展,指令的執(zhí)行是順序的。一般是按照指令在存儲器中存放的順序執(zhí)行。程序的分支由轉移指令實現(xiàn)。由指令計數(shù)器PC指明當前正在執(zhí)行的指令在存儲器中的地址。指令由操作碼和地址碼組成。指令和數(shù)據(jù)均以二進制編碼表示,采用二進制運算。,1.4計算機系統(tǒng)結構的發(fā)展,對系統(tǒng)結構進行的改進輸入/輸出方式的改進采用并行處理技術如何挖掘傳統(tǒng)機器中的并行性?在不同的級別采用并行技術。例如,微操作級、指令級、線程級、進程級、任務級等。,1.4計算機系統(tǒng)結構的發(fā)展,存儲器組織結構的發(fā)展相聯(lián)存儲器與相聯(lián)處理機通用寄存器組高速緩沖存儲器Cache指令集的發(fā)展兩個發(fā)展方向:復雜指令集計算機(CISC)精減指令集計算機(RISC),1.4計算機系統(tǒng)結構的發(fā)展,軟件的可移植性:一個軟件可以不經(jīng)修改或者只需少量修改就可以由一臺計算機移植到另一臺計算機上正確地運行。差別只是執(zhí)行時間的不同。我們稱這兩臺計算機是軟件兼容的。實現(xiàn)可移植性的常用方法采用系列機,模擬與仿真,統(tǒng)一高級語言。,1.4.2軟件對系統(tǒng)結構的影響,系列機由同一廠家生產(chǎn)的具有相同的系統(tǒng)結構,但具有不同組成和實現(xiàn)的一系列不同型號的機器。較好地解決軟件開發(fā)要求系統(tǒng)結構相對穩(wěn)定與器件、硬件技術迅速發(fā)展的矛盾。軟件兼容,1.4計算機系統(tǒng)結構的發(fā)展,1.4計算機系統(tǒng)結構的發(fā)展,向上(下)兼容:按某檔機器編制的程序,不加修改就能運行于比它高(低)檔的機器。向前(后)兼容:按某個時期投入市場的某種型號機器編制的程序,不加修改地就能運行于在它之前(后)投入市場的機器。向后兼容是系列機的根本特征。兼容機:由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結構的計算機。,1.4計算機系統(tǒng)結構的發(fā)展,模擬和仿真使軟件能在具有不同系統(tǒng)結構的機器之間相互移植。在一種系統(tǒng)結構上實現(xiàn)另一種系統(tǒng)結構。從指令集的角度來看,就是要在一種機器上實現(xiàn)另一種機器的指令集。模擬:用軟件的方法在一臺現(xiàn)有的機器(稱為宿主機)上實現(xiàn)另一臺機器(稱為虛擬機)的指令集。通常用解釋的方法來實現(xiàn)。運行速度較慢,性能較差。,1.4計算機系統(tǒng)結構的發(fā)展,仿真:用一臺現(xiàn)有機器(宿主機)上的微程序去解釋實現(xiàn)另一臺機器(目標機)的指令集。運行速度比模擬方法的快仿真只能在系統(tǒng)結構差距不大的機器之間使用統(tǒng)一高級語言實現(xiàn)軟件移植的一種理想的方法較難實現(xiàn),1.4計算機系統(tǒng)結構的發(fā)展,摩爾定律集成電路芯片上所集成的晶體管數(shù)目每隔18個月就翻一番。計算機的分代主要以器件作為劃分標準。它們在器件、系統(tǒng)結構和軟件技術等方面都有各自的特征。SMP:對稱式共享存儲器多處理機MPP:大規(guī)模并行處理機,1.4.3器件發(fā)展對系統(tǒng)結構的影響,1.4計算機系統(tǒng)結構的發(fā)展,不同的應用對計算機系統(tǒng)結構的設計提出了不同的要求應用需求是促使計算機系統(tǒng)結構發(fā)展的最根本的動力一些特殊領域:需要高性能的系統(tǒng)結構高結構化的數(shù)值計算氣象模型、流體動力學、有限元分析非結構化的數(shù)值計算蒙特卡洛模擬、稀疏矩陣實時多因素問題語音識別、圖像處理、計算機視覺,1.4.4應用對系統(tǒng)結構的影響,1.4計算機系統(tǒng)結構的發(fā)展,大存儲容量和輸入輸出密集的問題數(shù)據(jù)庫系統(tǒng)、事務處理系統(tǒng)圖形學和設計問題計算機輔助設計人工智能面向知識的系統(tǒng)、推理系統(tǒng)等計算機性能隨時間下移,1.4計算機系統(tǒng)結構的發(fā)展,系統(tǒng)結構的生命周期:從誕生、發(fā)展、成熟到消亡從硬件成熟到系統(tǒng)軟件成熟大約需要57年的時間從系統(tǒng)軟件成熟到應用軟件成熟,大約也需要57年時間。再過57年的時間,這種系統(tǒng)結構就不會作為主流系統(tǒng)結構存在了。Intel的x86系列微處理器中32位系統(tǒng)結構的發(fā)展,1.4.5系統(tǒng)結構的生命周期,1.4計算機系統(tǒng)結構的發(fā)展,并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內(nèi)進行多種運算或操作。只要在時間上相互重疊,就存在并行性。同時性:兩個或兩個以上的事件在同一時刻發(fā)生。并發(fā)性:兩個或兩個以上的事件在同一時間間隔內(nèi)發(fā)生。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,1.5.1并行性的概念,1.5計算機系統(tǒng)結構中并行性的發(fā)展,從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:字串位串:每次只對一個字的一位進行處理。最基本的串行處理方式,不存在并行性。字串位并:同時對一個字的全部位進行處理,不同字之間是串行的。開始出現(xiàn)并行性。字并位串:同時對許多字的同一位(稱為位片)進行處理。具有較高的并行性。全并行:同時對許多字的全部位或部分位進行處理。最高一級的并行。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,從執(zhí)行程序的角度來看,并行性等級從低到高可分為:指令內(nèi)部并行:單條指令中各微操作之間的并行。指令級并行:并行執(zhí)行兩條或兩條以上的指令。線程級并行:并行執(zhí)行兩個或兩個以上的線程。通常是以一個進程內(nèi)派生的多個線程為調度單位。任務級或過程級并行:并行執(zhí)行兩個或兩個以上的過程或任務(程序段)以子程序或進程為調度單元。作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的作業(yè)或程序。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,三種途徑:時間重疊引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分,以加快硬件周轉而贏得速度。資源重復引入空間因素,以數(shù)量取勝。通過重復設置硬件資源,大幅度地提高計算機系統(tǒng)的性能。,1.5.2提高并行性的技術途徑,1.5計算機系統(tǒng)結構中并行性的發(fā)展,資源共享這是一種軟件方法,它使多個任務按一定時間順序輪流使用同一套硬件設備。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,在發(fā)展高性能單處理機過程中,起主導作用的是時間重疊原理。實現(xiàn)時間重疊的基礎:部件功能專用化把一件工作按功能分割為若干相互聯(lián)系的部分;把每一部分指定給專門的部件完成;按時間重疊原理把各部分的執(zhí)行過程在時間上重疊起來,使所有部件依次分工完成一組同樣的工作。,1.5.3單機系統(tǒng)中并行性的發(fā)展,1.5計算機系統(tǒng)結構中并行性的發(fā)展,例如:對于解釋指令的5個過程,就分別需要5個專用的部件:取指令部件(IF)、指令譯碼部件(ID)、指令執(zhí)行部件(EX)、訪問存儲器部件(M)和寫結果部件(WB)。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,在單處理機中,資源重復原理的運用也已經(jīng)十分普遍。多體存儲器多操作部件通用部件被分解成若干個專用部件,如加法部件、乘法部件、除法部件、邏輯運算部件等,而且同一種部件也可以重復設置多個。只要指令所需的操作部件空閑,就可以開始執(zhí)行這條指令(如果操作數(shù)已準備好的話)。這實現(xiàn)了指令級并行。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,陣列處理機(并行處理機)更進一步,設置許多相同的處理單元,讓它們在同一個控制器的指揮下,按照同一條指令的要求,對向量或數(shù)組的各元素同時進行同一操作,就形成了陣列處理機。在單處理機中,資源共享的概念實質上是用單處理機模擬多處理機的功能,形成所謂虛擬機的概念。分時系統(tǒng),1.5計算機系統(tǒng)結構中并行性的發(fā)展,多機系統(tǒng)遵循時間重疊、資源重復、資源共享原理,發(fā)展為3種不同的多處理機:異構型多處理機、同構型多處理機、分布式系統(tǒng)耦合度反映多機系統(tǒng)中各機器之間物理連接的緊密程度和交互作用能力的強弱。緊密耦合系統(tǒng)(直接耦合系統(tǒng)):在這種系統(tǒng)中,計算機之間的物理連接的頻帶較高,一般是,1.5.4多機系統(tǒng)中并行性的發(fā)展,1.5計算機系統(tǒng)結構中并行性的發(fā)展,通過總線或高速開關互連,可以共享主存。松散耦合系統(tǒng)(間接耦合系統(tǒng)):一般是通過通道或通信線路實現(xiàn)計算機之間的互連,可以共享外存設備(磁盤、磁帶等)。機器之間的相互作用是在文件或數(shù)據(jù)集一級上進行的。表現(xiàn)為兩種形式:多臺計算機和共享的外存設備連接,不同機器之間實現(xiàn)功能上的分工(功能專用化),機器處理的結果以文件或數(shù)據(jù)集的形式送到共享外存設備,供其他機器繼續(xù)處理。計算機網(wǎng)絡,通過通信線路連接,實現(xiàn)更大范圍的資源共享。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,功能專用化(實現(xiàn)時間重疊)專用外圍處理機例如,輸入/輸出功能的分離。專用處理機如數(shù)組運算、高級語言翻譯、數(shù)據(jù)庫管理等,分離出來。異構型多處理機系統(tǒng)由多個不同類型、至少擔負不同功能的處理機組成,它們按照作業(yè)要求的順序,利用時間重疊原理,依次對它們的多個任務進行加工,各自完成規(guī)定的功能動作。,1.5計算機系統(tǒng)結構中并行性的發(fā)展,機間互連容錯系統(tǒng)可重構系統(tǒng)對計算機之間互連網(wǎng)絡的性能提出了更高的要求。高帶寬、低延遲、低開銷的機間互連網(wǎng)絡是高效實現(xiàn)程序或任務一級并行處理的前提條件。同構型多處理機系統(tǒng)由多個同類型或至少擔負同等功能的處理機組成,它們同時處理同一作業(yè)中能并行執(zhí)行的多個任務。,第2章計算機指令集結構張晨曦劉依,2.1指令集結構的分類2.2尋址方式2.3指令集結構的功能設計2.4操作數(shù)的類型和大小2.5指令格式的設計2.6MIPS指令集結構,區(qū)別不同指令集結構的主要因素CPU中用來存儲操作數(shù)的存儲單元的類型CPU中用來存儲操作數(shù)的存儲單元的主要類型堆棧累加器通用寄存器組將指令集結構分為三種類型,2.1指令集結構的分類,2.1指令集結構的分類,堆棧結構累加器結構通用寄存器結構根據(jù)操作數(shù)的來源不同,又可進一步分為:寄存器-存儲器結構(RM結構)(操作數(shù)可以來自存儲器)寄存器-寄存器結構(RR結構)(所有操作數(shù)都是來自通用寄存器組)也稱為load-store結構,這個名稱強調:只有l(wèi)oad指令和store指令能夠訪問存儲器。,2.1指令集結構的分類,對于不同類型的指令集結構,操作數(shù)的位置、個數(shù)以及操作數(shù)的給出方式(顯式或隱式)也會不同。顯式給出:用指令字中的操作數(shù)字段給出隱式給出:使用事先約定好的存儲單元,2.1指令集結構的分類,例:表達式C=A+B在4種類型指令集結構上的代碼。假設:A、B、C均保存在存儲器單元中,并且不能破壞A和B的值。,2.1指令集結構的分類,通用寄存器結構現(xiàn)代指令集結構的主流在靈活性和提高性能方面有明顯的優(yōu)勢跟其他的CPU內(nèi)部存儲單元一樣,寄存器的訪問速度比存儲器快。對編譯器而言,能更加容易、有效地分配和使用寄存器。寄存器可以用來存放變量。(1)減少對存儲器的訪問,加快程序的執(zhí)行速度;(因為寄存器比存儲器快),2.1指令集結構的分類,(2)用更少的地址位(相對于存儲器地址來說)來對寄存器進行尋址,從而有效地減少程序的目標代碼的大小。根據(jù)ALU指令的操作數(shù)的兩個特征對通用寄存器型指令集結構進一步細分ALU指令的操作數(shù)個數(shù)3個操作數(shù)的指令兩個源操作數(shù)、一個目的操作數(shù)2個操作數(shù)的指令其中一個操作數(shù)既作為源操作數(shù),又作為目的操作數(shù)。,2.1指令集結構的分類,ALU指令中存儲器操作數(shù)的個數(shù)可以是0中的某一個,為0表示沒有存儲器操作數(shù)。,ALU指令中操作數(shù)個數(shù)和存儲器操作數(shù)個數(shù)的典型組合,2.1指令集結構的分類,通用寄存器型指令集結構進一步細分為3種類型寄存器-寄存器型(RR型)寄存器-存儲器型(RM型)存儲器-存儲器型(MM型)3種通用寄存器型指令集結構的優(yōu)缺點表中(m,n)表示指令的n個操作數(shù)中有m個存儲器操作數(shù)。,一種指令集結構如何確定所要訪問的數(shù)據(jù)的地址?當前的指令集結構中所采用的一些操作數(shù)尋址方式:賦值操作Mem:存儲器Regs:寄存器組方括號:表示內(nèi)容Mem:存儲器的內(nèi)容Regs:寄存器的內(nèi)容MemRegsR1:以寄存器R1中的內(nèi)容作為地址的存儲器單元中的內(nèi)容,2.2尋址方式,2.2尋址方式,采用多種尋址方式可以顯著地減少程序的指令條數(shù),但可能增加計算機的實現(xiàn)復雜度以及指令的CPI。,2.2尋址方式,程序所使用的偏移量大小分布十分廣泛主要是因為在存儲器中所保存的數(shù)據(jù)并不是十分集中,需要使用不同的偏移量才能對其進行訪問。較小的偏移量和較大的偏移量均占有相當大的比例,2.2尋址方式,立即數(shù)尋址方式立即數(shù)尋址方式的使用頻度,大約1/4的load指令和ALU指令采用了立即數(shù)尋址。,指令集結構的功能設計確定軟、硬件功能分配,即確定哪些基本功能應該由硬件實現(xiàn),哪些功能由軟件實現(xiàn)比較合適。在確定哪些基本功能用硬件來實現(xiàn)時,主要考慮3個因素:速度、成本、靈活性硬件實現(xiàn)的特點速度快、成本高、靈活性差軟件實現(xiàn)的特點速度慢、價格便宜、靈活性好,2.3指令集結構的功能設計,2.3指令集結構的功能設計,對指令集的基本要求完整性、規(guī)整性、高效率、兼容性完整性:在一個有限可用的存儲空間內(nèi),對于任何可解的問題,編制計算程序時,指令集所提供的指令足夠用。要求指令集功能齊全、使用方便下表為許多指令集結構都包含的一些指令類型前4類屬于通用計算機系統(tǒng)的基本指令對于最后4種類型的操作,不同指令集結構的支持大不相同。,2.3指令集結構的功能設計,2.3指令集結構的功能設計,規(guī)整性:主要包括對稱性和均勻性。對稱性:所有與指令集有關的存儲單元的使用、操作碼的設置等都是對稱的。例如:在存儲單元的使用上,所有通用寄存器都要同等對待。在操作碼的設置上,如果設置了A-B的指令,就應該也設置B-A的指令。均勻性:指對于各種不同的操作數(shù)類型、字長、操作種類和數(shù)據(jù)存儲單元,指令的設置都要同等對待。例如:如果某機器有5種數(shù)據(jù)表示,4種字長,兩種存儲單元,則要設置542=40種同一操作的指令。,2.3指令集結構的功能設計,高效率:指指令的執(zhí)行速度快、使用頻度高。在設計指令集結構時,有兩種截然不同的設計策略。(產(chǎn)生了兩類不同的計算機系統(tǒng))CISC(復雜指令集計算機)增強指令功能,把越來越多的功能交由硬件來實現(xiàn),并且指令的數(shù)量也是越來越多。RISC(精簡指令集計算機)盡可能地把指令集簡化,不僅指令的條數(shù)少,而且指令的功能也比較簡單。,2.3指令集結構的功能設計,CISC結構追求的目標強化指令功能,減少程序的指令條數(shù),以達到提高性能的目的。增強指令功能主要是從以下幾個方面著手:面向目標程序增強指令功能增強運算型指令的功能增強數(shù)據(jù)傳送指令的功能增強程序控制指令的功能豐富的程序控制指令為編程提供了多種選擇。,2.3.1CISC指令集結構的功能設計,2.3指令集結構的功能設計,例如:循環(huán)在程序中占有相當大的比例,所以在指令上提供專門的支持。循環(huán)控制部分通常用3條指令完成:一條加法指令一條比較指令一條分支指令設置循環(huán)控制指令,用一條指令完成上述3條指令的功能。,一般循環(huán)程序的結構,2.3指令集結構的功能設計,面向高級語言的優(yōu)化實現(xiàn)來改進指令集(縮小高級語言與機器語言的語義差距)高級語言與一般的機器語言的語義差距非常大,為高級語言程序的編譯帶來了一些問題。(1)編譯器本身比較復雜。(2)編譯生成的目標代碼比較難以達到很好的優(yōu)化。,2.3指令集結構的功能設計,2.3指令集結構的功能設計,增強對高級語言和編譯器的支持對源程序中各種高級語言語句的使用頻度進行統(tǒng)計與分析,對使用頻度高、執(zhí)行時間長的語句,增強有關指令的功能,加快這些指令的執(zhí)行速度,或者增加專門的指令,可以達到減少目標程序的執(zhí)行時間和減少目標程序長度的目的。增強系統(tǒng)結構的規(guī)整性,減少系統(tǒng)結構中的各種例外情況。(面向高級語言的計算機),2.3指令集結構的功能設計,高級語言計算機間接執(zhí)行高級語言機器高級語言成為機器的匯編語言,這時高級語言和機器語言是一一對應的。用匯編的方法把高級語言源程序翻譯成機器語言程序。直接執(zhí)行高級語言的機器直接把高級語言作為機器語言,直接由固件/硬件對高級語言源程序的語句逐條進行解釋執(zhí)行。這時既不用編譯,也不用匯編。,2.3指令集結構的功能設計,面向操作系統(tǒng)的優(yōu)化實現(xiàn)改進指令集操作系統(tǒng)和計算機系統(tǒng)結構是緊密聯(lián)系的,操作系統(tǒng)的實現(xiàn)在很大程度上取決于系統(tǒng)結構的支持。指令集對操作系統(tǒng)的支持主要有:處理機工作狀態(tài)和訪問方式的切換。進程的管理和切換。存儲管理和信息保護。進程的同步與互斥,信號燈的管理等。支持操作系統(tǒng)的有些指令屬于特權指令,一般用戶程序是不能使用的。,2.3指令集結構的功能設計,CISC指令集結構存在的問題(1979年開始,Patterson等人的研究)各種指令的使用頻度相差懸殊據(jù)統(tǒng)計:只有20的指令使用頻度比較高,占運行時間的80,而其余80的指令只在20的運行時間內(nèi)才會用到。使用頻度高的指令也是最簡單的指令。,2.3.2RISC指令集結構的功能設計,Intel80 x86最常用的10條指令,2.3指令集結構的功能設計,指令集龐大,指令條數(shù)很多,許多指令的功能又很復雜,使得控制器硬件非常復雜。導致的問題:占用了大量的芯片面積(如占用CPU芯片總面積的一半以上),給VLSI設計造成很大的困難;增加了研制時間和成本,容易造成設計錯誤。許多指令由于操作繁雜,其CPI值比較大,執(zhí)行速度慢。采用這些復雜指令有可能使整個程序的執(zhí)行時間反而增加。由于指令功能復雜,規(guī)整性不好,不利于采用流水技術來提高性能。,2.3指令集結構的功能設計,設計RISC機器遵循的原則指令條數(shù)少而簡單。只選取使用頻度很高的指令,在此基礎上補充一些最有用的指令。采用簡單而又統(tǒng)一的指令格式,并減少尋址方式;指令字長都為32位或64位。指令的執(zhí)行在單個機器周期內(nèi)完成。(采用流水線機制)只有l(wèi)oad和store指令才能訪問存儲器,其他指令的操作都是在寄存器之間進行。(即采用load-store結構)大多數(shù)指令都采用硬連邏輯來實現(xiàn)。,2.3指令集結構的功能設計,強調優(yōu)化編譯器的作用,為高級語言程序生成優(yōu)化的代碼。充分利用流水技術來提高性能。早期的RISC微處理器1981年,Berkeley分校的Patterson等人的32位微處理器RISCI:31條指令,指令字長都是32位,78個通用寄存器,時鐘頻率為8MHz;控制部分所占的芯片面積只有約6%。商品化微處理器MC68000和Z8000分別為50%和53%;性能比MC68000和Z8000快34倍。,2.3指令集結構的功能設計,1983年的RISC:指令條數(shù)為39,通用寄存器個數(shù)為138,時鐘頻率為12MHz。后來發(fā)展成了Sun公司的SPARC系列微處理器。1981年,Stanford大學Hennessy等人的MIPS后來發(fā)展成了MIPSRxxx系列微處理器。IBM的801共同特點:采用load-store結構指令字長為32位采用高效的流水技術,2.3指令集結構的功能設計,控制指令是用來改變控制流的。跳轉:當指令是無條件改變控制流時,稱之為跳轉指令。分支:當控制指令是有條件改變控制流時,則稱之為分支指令。能夠改變控制流的指令分支跳轉過程調用過程返回,2.3.3控制指令,2.3指令集結構的功能設計,控制指令的使用頻度(load-store型指令集結構的機器,基準程序為SPECCPU2000),改變控制流的大部分指令是分支指令(條件轉移)。,常用的3種表示分支條件的方法及其優(yōu)缺點,2.3指令集結構的功能設計,轉移目標地址的表示最常用的方法在指令中提供一個偏移量,由該偏移量和程序計數(shù)器(PC)的值相加而得出目標地址。(PC相對尋址)優(yōu)點有效地減少表示該目標地址所需要的位數(shù)。位置無關(代碼可被裝載到主存的任意位置執(zhí)行)。關鍵:確定偏移量字段的長度模擬結果表明:采用48位的偏移量字段(以指令字為單位)就能表示大多數(shù)控制指令的轉移目標地址了。,2.3指令集結構的功能設計,過程調用和返回除了要改變控制流之外,可能還要保存機器狀態(tài),至少也得保存返回地址(放在專用的鏈接寄存器或堆棧中)。過去有些指令集結構提供了專門的保存機制來保存許多寄存器的內(nèi)容。現(xiàn)在較新的指令集結構則要求由編譯器生成load和store指令來保存或恢復寄存器的內(nèi)容。,數(shù)據(jù)表示:計算機硬件能夠直接識別、指令集可以直接調用的數(shù)據(jù)類型。所有數(shù)據(jù)類型中最常用、相對比較簡單、用硬件實現(xiàn)比較容易的幾種。數(shù)據(jù)結構:由軟件進行處理和實現(xiàn)的各種數(shù)據(jù)類型。研究:這些數(shù)據(jù)類型的邏輯結構與物理結構之間的關系,并給出相應的算法。系統(tǒng)結構設計者要解決的問題:如何確定數(shù)據(jù)表示?(軟硬件取舍折中的問題),2.4操作數(shù)的類型和大小,2.4操作數(shù)的類型和大小,表示操作數(shù)類型的方法有兩種由指令中的操作碼指定操作數(shù)的類型。帶標志符的數(shù)據(jù)表示。給數(shù)據(jù)加上標識,由數(shù)據(jù)本身給出操作數(shù)類型。優(yōu)點:簡化指令集,可由硬件自動實現(xiàn)一致性檢查和類型轉換,縮小了機器語言與高級語言的語義差距,簡化編譯器等。缺點:由于需要在執(zhí)行過程中動態(tài)檢測標志符,動態(tài)開銷比較大,所以采用這種方案的機器很少見。操作數(shù)的大?。翰僮鲾?shù)的位數(shù)或字節(jié)數(shù)。主要的大?。鹤止?jié)(8位)、半字(16位)字(32位)、雙字(64位),2.4操作數(shù)的類型和大小,字符:用ASCII碼表示,為一個字節(jié)大小。整數(shù):用二進制補碼表示,其大小可以是字節(jié)、半字或單字。浮點操作數(shù):單精度浮點數(shù)(1個字)、雙精度浮點數(shù)(雙字)。一般都采用IEEE754浮點標準十進制操作數(shù)類型壓縮十進制或二進制編碼十進制(BCD碼):用4位二進制編碼表示數(shù)字09,并將兩個十進制數(shù)字合并到一個字節(jié)中存儲。非壓縮十進制:將十進制數(shù)直接用字符串來表示。,訪問不同操作數(shù)大小的頻度(SPEC基準程序),基準程序對單字和雙字的數(shù)據(jù)訪問具有較高的頻度。一臺32位的機器應該支持8、16、32位整型操作數(shù)以及32位和64位的IEEE754標準的浮點操作數(shù)。,指令由兩部分組成:操作碼、地址碼指令格式的設計確定指令字的編碼方式,包括操作碼字段和地址碼字段的編碼和表示方式。操作碼的編碼比較簡單和直觀Huffman編碼法減少操作碼的平均位數(shù),但所獲得的編碼是變長的,不規(guī)整,不利于硬件處理。固定長度的操作碼保證操作碼的譯碼速度。,2.5指令格式的設計,2.5指令格式的設計,兩種表示尋址方式的方法將尋址方式編碼于操作碼中,由操作碼描述相應操作的尋址方式。適合:處理機采用load-store結構,尋址方式只有很少幾種。設置專門的地址描述符,由地址描述符表示相應操作數(shù)的尋址方式。適合:處理機具有多種尋址方式,且指令有多個操作數(shù)。,2.5指令格式的設計,考慮因素機器中寄存器的個數(shù)和尋址方式的數(shù)目對指令平均字長的影響以及它們對目標代碼大小的影響。所設計的指令格式便于硬件處理,特別是流水實現(xiàn)。指令字長應該是字節(jié)(8位)的整數(shù)倍,而不能是隨意的位數(shù)。指令集的3種編碼格式變長編碼格式、定長編碼格式、混合型編碼格式,2.5指令格式的設計,變長編碼格式當指令集的尋址方式和操作種類很多時,這種編碼格式是最好的。用最少的二進制位來表示目標代碼??赡軙垢鳁l指令的字長和執(zhí)行時間相差很大。,2.5指令格式的設計,定長編碼格式將操作類型和尋址方式一起編碼到操作碼中。當尋址方式和操作類型非常少時,這種編碼格式非常好??梢杂行У亟档妥g碼的復雜度,提高譯碼的速度。大部分RISC的指令集均采用這種編碼格式。,2.5指令格式的設計,混合型編碼格式提供若干種固定的指令字長。以期達到既能夠減少目標代碼長度又能降低譯碼復雜度的目標。,32個64位通用寄存器(GPRs)R0,R1,R31也被稱為整數(shù)寄存器R0的值永遠是032個64位浮點數(shù)寄存器(FPRs)F0,F(xiàn)1,F(xiàn)31,2.6MIPS指令集結構,介紹MIPS64的一個子集,簡稱為MIPS。,2.6.1MIPS的寄存器,2.6MIPS指令集結構,用來存放32個單精度浮點數(shù)(32位),也可以用來存放32個雙精度浮點數(shù)(64位)。存儲單精度浮點數(shù)(32位)時,只用到FPR的一半,其另一半沒用。一些特殊寄存器它們可以與通用寄存器交換數(shù)據(jù)。例如,浮點狀態(tài)寄存器用來保存有關浮點操作結果的信息。,2.6MIPS指令集結構,MIPS的數(shù)據(jù)表示整數(shù)字節(jié)(8位)半字(16位)字(32位)雙字(64位)浮點數(shù)單精度浮點數(shù)(32位)雙精度浮點數(shù)(64位)字節(jié)、半字或者字在裝入64位寄存器時,用零擴展或者用符號位擴展來填充該寄存器的剩余部分。裝入以后,對它們將按照64位整數(shù)的方式進行運算。,2.6.2MIPS的數(shù)據(jù)表示,2.6MIPS指令集結構,立即數(shù)尋址與偏移量尋址立即數(shù)字段和偏移量字段都是16位的。寄存器間接尋址是通過把0作為偏移量來實現(xiàn)的16位絕對尋址是通過把R0(其值永遠為0)作為基址寄存器來完成的MIPS的存儲器是按字節(jié)尋址的,地址為64位所有存儲器訪問都必須是邊界對齊的,2.6.3MIPS的數(shù)據(jù)尋址方式,2.6MIPS指令集結構,尋址方式編碼到操作碼中所有的指令都是32位的操作碼占6位3種指令格式,2.6.4MIPS的指令格式,2.6MIPS指令集結構,I類指令包括所有的load和store指令、立即數(shù)指令、分支指令、寄存器跳轉指令、寄存器鏈接跳轉指令。立即數(shù)字段為16位,用于提供立即數(shù)或偏移量。,2.6MIPS指令集結構,load指令訪存有效地址:Regsrsimmediate從存儲器取來的數(shù)據(jù)放入寄存器rtstore指令訪存有效地址:Regsrsimmediate要存入存儲器的數(shù)據(jù)放在寄存器rt中立即數(shù)指令RegsrtRegsrsopimmediate分支指令轉移目標地址:Regsrsimmediate要判斷的數(shù)據(jù)放在寄存器rt中寄存器跳轉、寄存器跳轉并鏈接轉移目標地址為Regsrs,2.6MIPS指令集結構,R類指令包括ALU指令、專用寄存器讀/寫指令、move指令等。ALU指令RegsrdRegsrsfunctRegsrtfunc為具體的運算操作編碼,2.6MIPS指令集結構,J類指令包括跳轉指令、跳轉并鏈接指令、自陷指令、異常返回指令。在這類指令中,指令字的低26位是偏移量,它與PC值相加形成跳轉的地址。,2.6MIPS指令集結構,MIPS指令可以分為四大類load和storeALU操作分支與跳轉浮點操作符號的意義xny:從y傳送n位到xx,yz:把z傳送到x和y,2.6.5MIPS的操作,2.6MIPS指令集結構,下標:表示字段中具體的位;對于指令和數(shù)據(jù),按從最高位到最低位(即從左到右)的順序依次進行編號,最高位為第0位,次高位為第1位,依此類推。下標可以是一個數(shù)字,也可以是一個范圍。例如:RegsR40:寄存器R4的符號位RegsR456.63:R4的最低字節(jié)Mem:表示主存;按字節(jié)尋址,可以傳輸任意個字節(jié)。上標:用于表示對字段進行復制的次數(shù)。例如:032:一個32位長的全0字段,2.6MIPS指令集結構,符號#:用于兩個字段的拼接,并且可以出現(xiàn)在數(shù)據(jù)傳送的任何一邊。舉例:R8、R10:64位的寄存器,則RegsR832.6332(MemRegsR60)24#MemRegsR6表示的意義是:以R6的內(nèi)容作為地址訪問內(nèi)存,得到的字節(jié)按符號位擴展為32位后存入R8的低32位,R8的高32位(即RegsR80.31)不變。,load和store指令,ALU指令寄存器-寄存器型(RR型)指令或立即數(shù)型算術和邏輯操作:加、減、與、或、異或和移位等,2.6MIPS指令集結構,2.6MIPS指令集結構,R0的值永遠是0,它可以用來合成一些常用的操作。例如:DADDIUR1,R0,#100/給寄存器R1裝入常數(shù)100DADDR1,R0,R2/把寄存器R2中的數(shù)據(jù)傳送到寄存器R1,2.6MIPS指令集結構,由一組跳轉和一組分支指令來實現(xiàn)控制流的改變典型的MIPS控制指令,2.6.6MIPS的控制指令,2.6MIPS指令集結構,2.6MIPS指令集結構,跳轉指令根據(jù)跳轉指令確定目標地址的方式不同以及跳轉時是否鏈接,可以把跳轉指令分成4種。確定目標地址的方式把指令中的26位偏移量左移2位(因為指令字長都是4個字節(jié))后,替換程序計數(shù)器的低28位。間接跳轉:由指令中指定的一個寄存器來給出轉移目標地址。跳轉的兩種類型簡單跳轉:把目標地址送入程序計數(shù)器。跳轉并鏈接:把目標地址送入程序計數(shù)器,把返回地址(即順序下一條指令的地址)放入寄存器R31。,2.6MIPS指令集結構,分支指令(條件轉移)分支條件由指令確定。例如:測試某個寄存器的值是否為零提供一組比較指令,用于比較兩個寄存器的值。例如:“置小于”指令有的分支指令可以直接判斷寄存器內(nèi)容是否為負,或者比較兩個寄存器是否相等。分支的目標地址。由16位帶符號偏移量左移兩位后和PC相加的結果來決定一條浮點條件分支指令:通過測試浮點狀態(tài)寄存器來決定是否進行分支。,2.6MIPS指令集結構,由操作碼指出操作數(shù)是單精度(SP)或雙精度(DP)后綴S:表示操作數(shù)是單精度浮點數(shù)后綴D:表示是雙精度浮點數(shù)浮點操作包括加、減、乘、除,分別有單精度和雙精度指令。浮點數(shù)比較指令根據(jù)比較結果設置浮點狀態(tài)寄存器中的某一位,以便于后面的分支指令BC1T(若真則分支)或BC1F(若假則分支)測試該位,以決定是否進行分支。,2.6.7MIPS的浮點操作,第3章流水線技術張晨曦劉依www.A微信公眾號:arch365,3.1流水線的基本概念3.2流水線的性能指標3.3流水線的相關與沖突3.4流水線的實現(xiàn)3.5向量處理機,工業(yè)生產(chǎn)流水線下面通過一個例子來說明流水線的好處:兩種方案兩種方案的工作過程對比流水線生產(chǎn)過程的抽象描述這種流水工作方式的主要特點,3.1流水線的基本概念,3.1.1什么是流水線,3.1流水線的基本概念,流水線技術把一個重復的過程分解為若干個子過程,每個子過程由專門的功能部件來實現(xiàn)。把多個處理過程在時間上錯開,依次通過各功能段,這樣,每個子過程就可以與其他的子過程并行進行。流水線中的每個子過程及其功能部件稱為流水線的級或段,段與段相互連接形成流水線。流水線的段數(shù)稱為流水線的深度。,3.1流水線的基本概念,指令流水線把指令的解釋過程分解為分析和執(zhí)行兩個子過程,并讓這兩個子過程分別用獨立的分析部件和執(zhí)行部件來實現(xiàn)。理想情況:速度提高一倍4段指令流水線,3.1流水線的基本概念,浮點加法流水線把流水線技術應用于運算的執(zhí)行過程,就形成了運算操作流水線,也稱為部件級流水線。把浮點加法的全過程分解為求階差、對階、尾數(shù)相加、規(guī)格化4個子過程。理想情況:速度提高3倍,時空圖時空圖從時間和空間兩個方面描述了流水線的工作過程。時空圖中,橫坐標代表時間,縱坐標代表流水線的各個段。4段指令流水線的時空圖,3.1流水線的基本概念,流水技術的特點流水線把一個處理過程分解為若干個子過程(段),每個子過程由一個專門的功能部件來實現(xiàn)。流水線中各段的時間應盡可能相等,否則將引起流水線堵塞、斷流。時間長的段將成為流水線的瓶頸。流水線每一個功能部件的后面都要有一個緩沖寄存器(鎖存器),稱為流水寄存器。作用:在相鄰的兩段之間傳送數(shù)據(jù),以保證提供后面要用到的數(shù)據(jù),并把各段的處理工作相互隔離。,3.1流水線的基本概念,流水技術適合于大量重復的時序過程,只有在輸入端不斷地提供任務,才能充分發(fā)揮流水線的效率。流水線需要有通過時間和排空時間。通過時間:第一個任務從進入流水線到流出結果所需的時間。排空時間:最后一個任務從進入流水線到流出結果所需的時間。,3.1流水線的基本概念,從不同的角度和觀點,把流水線分成多種不同的種類。單功能流水線與多功能流水線(按照流水線所完成的功能來分類)單功能流水線:只能完成一種固定功能的流水線。多功能流水線:流水線的各段可以進行不同的連接,以實現(xiàn)不同的功能。例:ASC的多功能流水線,3.1.2流水線的分類,3.1流水線的基本概念,靜態(tài)流水線與動態(tài)流

注意事項

本文(計算機系統(tǒng)結構復習匯總.ppt)為本站會員(zhu****ei)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!