




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機系統(tǒng)結構天津商業(yè)大學計算機科學與技術教研室專業(yè)基礎課,學位必/選修課內容多、理論性強、難度較大總結性課程(硬件方面:數(shù)字邏輯、組成原理等,軟件方面:操作系統(tǒng)、匯編語言、數(shù)據(jù)結構等再通過學習《計算機系統(tǒng)結構》建立起計算機系統(tǒng)的完整概念)課程特點第一章計算機系統(tǒng)結構的基本概念(6學時)第二章指令系統(tǒng)的設計(8學時)第三章流水線技術(10學時)第四章向量處理機(4學時)第五章存儲系統(tǒng)(10學時)第六章輸入輸出系統(tǒng)(6學時)第七章多處理機(自學)(8學時)習題課1-3次課程內容與課時分配作業(yè):
每個章節(jié)留若干課后作業(yè)上交;未布置的習題課下盡量全部完成;成績:
平時成績-----出勤率、課堂表現(xiàn)15%作業(yè)成績15%期末考試成績70%課程郵箱:tjcu2012@163.comkey:jsjtxjg作業(yè)與成績計算計算機系統(tǒng)結構教程張晨曦清華大學出版社教學參考書計算機從1946年誕生至今,經(jīng)歷了多次更新?lián)Q代。一般將主要電子器件的使用作為計算機更新?lián)Q代的最突出標志。例如:電子管、晶體管、集成電路、中小規(guī)模IC、超大規(guī)模IC等。實際上,還有一個計算機更新?lián)Q代的重要標志就是系統(tǒng)結構技術的不斷出現(xiàn)與運用。引言:為什么要討論系統(tǒng)結構?第一代:(1946-1954)元器件:電子管、繼電器存儲器、絕緣導線互聯(lián)軟硬件:單個CPU、順序定點計算采用機器語言或匯編語言用CPU程序控制I/O代表機型:ENIAC、IBM701分析:計算機各代的關鍵技術第二代:(1955-1964)元器件:分立式晶體三極管、二極管鐵氧體的磁芯存儲器、印刷電路板軟硬件:單個CPU、變址寄存器、浮點計算多路存儲器、I/O處理機采用高級語言、子程序庫、批處理監(jiān)控程序代表機型:UnivacLARC、CDC1604、IBM7030分析:計算機各代的關鍵技術第三代:(1965-1974)元器件:中小規(guī)模集成電路、多層印刷電路軟硬件:微程序控制、流水線、高速緩存、先行處理機代表機型:IBM360-370系列、CDC6600/7600系列、PDP系列分析:計算機各代的關鍵技術第四代:(1974-1991)元器件:大或超大規(guī)模集成電路、半導體存儲器、軟硬件:各種不同結構的并行計算機出現(xiàn)(采用共享存儲器、分布存儲器、向量硬件等)用于并行處理的多處理OS、專用語言、編譯器,用于并行或分布處理的軟件工具和環(huán)境代表機型:VAX9000、CRAYX-MP、IBM3090V分析:計算機各代的關鍵技術第五代:(1991-至今)元器件:VLSI工藝更加完善的高密度、高速處理機和存儲器芯片軟硬件:大規(guī)模并行處理,采用可擴展的和容許時延的系統(tǒng)結構代表機型:FujitsuVPP500、CRAYMPP、IntelParagon、SUN10000分析:計算機各代的關鍵技術
系統(tǒng)結構的不斷改進、新概念的不斷提出與實現(xiàn)使計算機性能不斷提高。例1:P.H.Enslow比較了1965-1975年共10年的變化:元器件性能10倍計算機系統(tǒng)性能100倍
結論:為什么要討論系統(tǒng)結構?例2:INTEL奔騰系列微機CPU換代Pentium(P5):基于UV兩條指令流水線Pentiummmx(P55):基于mmx技術Pentiumpro:基于動態(tài)執(zhí)行技術PII:基于P55和Ppro技術的結合PIII:基于SSE(數(shù)據(jù)流單指令多數(shù)據(jù)擴展)概念PIV:基于SSE2(雙精度SIMD指令集)
結論:為什么要討論系統(tǒng)結構?
計算機系統(tǒng)結構是從程序和計算機設計的角度來研究計算機本身,以及由計算機組成的各種系統(tǒng)的體系結構和組成科學。ComputerArchitecture計算機系統(tǒng)結構計算機體系結構計算機體系結構學科=系統(tǒng)結構+組成課程介紹從外部來研究計算機系統(tǒng)定性:軟硬兩方面
研究軟、硬件功能分配以及如何最佳、最合理的實現(xiàn)分配給硬件的功能。評價計算機的性能價格比研究內容建立計算機系統(tǒng)的完整概念學習計算機系統(tǒng)的分析方法和設計方法掌握新型計算機系統(tǒng)的基本結構及其工作原理交叉點內容:提高,建立完整概念新內容:流水線、超標量、超流水線處理機、向量處理機、并行處理機、多處理機等學習目的計算機系統(tǒng)結構正處于變革時期軟件—系統(tǒng)結構—組成技術,兩頭發(fā)展快、中間慢非馮計算機正興起系統(tǒng)結構的發(fā)展時期已經(jīng)到來課時安排課內:48學時;課本+補充知識課外:參考書
第一章計算機系統(tǒng)結構的基礎知識天津商業(yè)大學1.1計算機系統(tǒng)結構的基本概念1.2計算機系統(tǒng)的設計
1.3計算機系統(tǒng)的性能評測
1.4計算機系統(tǒng)結構的發(fā)展
1.5計算機系統(tǒng)結構中并行性的發(fā)展
1.1.1計算機系統(tǒng)的層次結構計算機系統(tǒng)=硬件/固件+軟件計算機語言從低級向高級發(fā)展
高一級語言的語句相對于低一級語言來說功能更強,更便于應用,但又都以低級語言為基礎。從計算機語言的角度,把計算機系統(tǒng)按功能劃分成
多級層次結構。每一層以一種語言為特征1.1計算機系統(tǒng)結構的基本概念1.1計算機系統(tǒng)結構的基本概念虛擬機物理機1.1計算機系統(tǒng)結構的基本概念1.1計算機系統(tǒng)結構的基本概念物理機:用硬件/固件實現(xiàn)的機器
(最下面的兩級機器)虛擬機:由軟件實現(xiàn)的機器虛擬機中有些操作可以由硬件或固件實現(xiàn)。固件:具有軟件功能的硬件。
1.1計算機系統(tǒng)結構的基本概念各機器級的實現(xiàn)主要靠翻譯或解釋,或兩者的結合。翻譯:先用轉換程序把高一級機器上的程序轉換為低一級機器上等效的程序,然后再在這低一級機器上運行,實現(xiàn)程序的功能。解釋:對于高一級機器上的程序中的每一條語句或指令,都是轉去執(zhí)行低一級機器上的一段等效程序。執(zhí)行完后,再去高一級機器取下一條語句或指令,再進行解釋執(zhí)行,如此反復,直到解釋執(zhí)行完整個程序。解釋執(zhí)行比編譯后再執(zhí)行所花的時間多,但占用的存儲空間較少。1.1計算機系統(tǒng)結構的基本概念
1.1.2計算機系統(tǒng)結構的定義計算機系統(tǒng)結構的經(jīng)典定義1964年G.M.Amdahl在介紹IBM360系統(tǒng)提出:計算機系統(tǒng)結構是程序員所看到的計算機屬性,即程序員編寫出能在機器上正確運行的程序所必須了解到的概念性結構和功能特性?!嬎銠C系統(tǒng)的外特性1.1計算機系統(tǒng)結構的基本概念外特性
用一個不恰當?shù)谋扔鳎罕热鐒游锏摹跋到y(tǒng)結構”是指什么呢?它的概念性結構和功能特性,就相當于動物的器官組成及其功能特性。如人有胃,胃可以消化食物。至于胃是什么形狀的、又什么組成就不是“系統(tǒng)結構”研究的問題了。系統(tǒng)結構只管到這一層。1.1計算機系統(tǒng)結構的基本概念問題:從計算機系統(tǒng)的多級層次結構出發(fā),不同級的程序員所看到的計算機屬性不一樣的。例如:高級語言程序員:軟件(程序語言、OS、編譯程序)機器語言程序員:硬件(數(shù)據(jù)表示、尋址方式、寄存器定義、指令系統(tǒng)、中斷、輸入輸出)1.1計算機系統(tǒng)結構的基本概念傳統(tǒng)機器存在的差別是高級程序員不需要看見的,對他是透明的。透明性
一種本來存在的事物或屬性,從某個角度看卻好像不存在。通常:計算機系統(tǒng)中,低層機器級的概念性結構和功能特性對高層機器級的程序員來說,基本是透明的。1.1計算機系統(tǒng)結構的基本概念由于從不同層次(級)的程序員看計算機的屬性是不同的,這個屬性就是計算機系統(tǒng)不同層次的界面。定義2:“系統(tǒng)結構”就是指的計算機系統(tǒng)中對各級之間界面的定義,及其上下的功能分配。
——各個機器級都有自己的系統(tǒng)結構。設計者要研究好各級的透明性,進行合理的分析、取舍。1.1計算機系統(tǒng)結構的基本概念討論:G.M.Amdahl列舉的屬性
處理機、存儲系統(tǒng)、I/O方式、中斷機構----機器語言或匯編程序設計者了解的屬性,既有軟件,又有硬件系統(tǒng)結構研究的內容本書——傳統(tǒng)機器級的系統(tǒng)結構軟件與硬(固)件的交界面內容:計算機軟硬件功能的分配以及對機器級界面的確定。1.1計算機系統(tǒng)結構的基本概念
計算機系統(tǒng)結構的實質:
確定計算機系統(tǒng)中軟硬件的界面,界面之上是軟件實現(xiàn)的功能,界面之下是硬件和固件實現(xiàn)的功能。1.1計算機系統(tǒng)結構的基本概念1.1.3計算機組成和計算機實現(xiàn)1、計算機組成計算機系統(tǒng)結構的邏輯實現(xiàn),包括物理機器級內的數(shù)據(jù)流和控制流的組成以及邏輯設計等。任務:系統(tǒng)結構確定了分配各硬件子系統(tǒng)的功能及概念性結構后,研究各組成部分的內部構造和相互聯(lián)系,以實現(xiàn)機器指令級的要求。設計要求:按性價比要求,最佳最合理地把各種設備和部件組合成計算機,而且性能參數(shù)互相匹配。1.1計算機系統(tǒng)結構的基本概念2、計算機實現(xiàn)
計算機組成的物理實現(xiàn)。包括處理機、主存等部件的物理結構,器件的集成度和速度,模塊、插件、底板的劃分與連接,信號傳輸,電源、冷卻及整機裝配技術等。著眼于:器件技術(起主導作用)、微組裝技術。任務:器件的選擇和組裝技術要求:性能價格比要求1.1計算機系統(tǒng)結構的基本概念舉例:
胃的例子:系統(tǒng)結構——外特性,胃具有消化功能;組成——計算機系統(tǒng)結構的內特性:將那些外特性加以“邏輯實現(xiàn)”的基本屬性。比如胃的功能是消化食物——外特性。那怎么消化呢,胃的蠕動、分泌胃酸等操作就是內特性。實現(xiàn)——胃由那些組織,幾條肌肉和神經(jīng)來促使它運動。1.1計算機系統(tǒng)結構的基本概念
例.指令系統(tǒng)的確定(條數(shù)、類型、方式)——系統(tǒng)結構
取指、取操作數(shù)、運算、送結果等具體操作及其排序方式——組成具體電路、器件的設計及裝配技術等——實現(xiàn)1.1計算機系統(tǒng)結構的基本概念
具有相同系統(tǒng)結構的計算機可以采用不同的計算機組成。同一種計算機組成又可以采用多種不同的計算機實現(xiàn)。系列機由同一廠家生產(chǎn)的具有相同系統(tǒng)結構、但具有不同組成和實現(xiàn)的一系列不同型號的機器。例如IBM公司的IBM370系列,Intel公司的x86系列等。1.1計算機系統(tǒng)結構的基本概念1.1.4計算機系統(tǒng)結構的分類常見的計算機系統(tǒng)結構分類法有3種:Flynn分類法馮氏分類法Handler分類法
1.1計算機系統(tǒng)結構的基本概念Flynn分類法按照指令流和數(shù)據(jù)流的多倍性進行分類。指令流:計算機執(zhí)行的指令序列數(shù)據(jù)流:由指令流調用的數(shù)據(jù)序列多倍性:在系統(tǒng)最受限的部件上,同時處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大數(shù)目。1.1計算機系統(tǒng)結構的基本概念把計算機系統(tǒng)的結構分為4類單指令流單數(shù)據(jù)流SISD(SingleInstructionstreamSingleDatastream)單指令流多數(shù)據(jù)流SIMD(SingleInstructionstreamMultipleDatastream)多指令流單數(shù)據(jù)流MISD(MultipleInstructionstreamSingleDatastream)多指令流多數(shù)據(jù)流MIMD(MultipleInstructionstreamMultipleDatastream)
1.1計算機系統(tǒng)結構的基本概念4類計算機的基本結構IS:指令流DS:數(shù)據(jù)流CS:控制流CU:控制部件PU:處理部件MM和SM:存儲器1.1計算機系統(tǒng)結構的基本概念馮氏分類法用系統(tǒng)的最大并行度對計算機進行分類。最大并行度:計算機系統(tǒng)在單位時間內能夠處理的最大的二進制位數(shù)。
用平面直角坐標系中的一個點代表一個計算機系統(tǒng),其橫坐標表示字寬(n位),縱坐標表示一次能同時處理的字數(shù)(m字)。m×n就表示了其最大并行度。
1.1計算機系統(tǒng)結構的基本概念1.1計算機系統(tǒng)結構的基本概念4類不同最大并行度的計算機系統(tǒng)結構字串位串:n=1,m=1。(第一代計算機發(fā)展初期的純串行計算機)字串位并:n>1,m=1。這是傳統(tǒng)的單處理機,同時處理單個字的多個位,如16位、32位等。字并位串:n=1,m>1。同時處理多個字的同一位(位片)。字并位并:n>1,m>1。同時處理多個字的多個位。平均并行度
與最大并行度密切相關的一個指標。取決于系統(tǒng)的運用程度,與應用程序有關。
1.1計算機系統(tǒng)結構的基本概念
假設每個時鐘周期內能同時處理的二進制位數(shù)為Pi,則T個時鐘周期內的平均并行度為:
系統(tǒng)在T個時鐘周期內的平均利用率定義為:1.1計算機系統(tǒng)結構的基本概念Handler分類法根據(jù)并行度和流水線對計算機進行分類。把計算機的硬件結構分成3個層次程序控制部件(PCU)的個數(shù)k算術邏輯部件(ALU)或處理部件(PE)的個數(shù)d每個算術邏輯部件包含基本邏輯線路(ELC)的套數(shù)w1.1計算機系統(tǒng)結構的基本概念用公式表示
t(系統(tǒng)型號)=(k,d,w)進一步改進
t(系統(tǒng)型號)=(k×k’,d×d’,w×w’)k’:宏流水線中程序控制部件的個數(shù)d’:指令流水線中算術邏輯部件的個數(shù)w’:操作流水線中基本邏輯線路的套數(shù)
1.1計算機系統(tǒng)結構的基本概念
例如:Cray-1有1個CPU,12個相當于ALU或PE的處理部件,可以最多實現(xiàn)8級流水線。字長為64位,可以實現(xiàn)1~14位流水線處理。所以Cray-1系統(tǒng)結構可表示為:
t(Cray-1)=(1,12×8,64×(1~14))幾個例子:
t(PDP-11)=(1,1,16)t(IlliacⅣ)=(1,64,64)t(STARAN)=(1,8192,1)t(Cmmp)=(16,1,16)t(PEPE)=(1×3,288,32)t(TI-ASC)=(1,4,64×8)4個定量原理:以經(jīng)常性事件為重點(大概率事件優(yōu)先原理)對經(jīng)常發(fā)生的情況采用優(yōu)化方法的原則進行選擇,以得到更多的總體上的改進。優(yōu)化是指分配更多的資源、達到更高的性能或者分配更多的電能等。優(yōu)先的處理權、資源使用權1.2.1計算機系統(tǒng)設計的定量原理1.2計算機系統(tǒng)的設計1.2計算機系統(tǒng)的設計阿姆達爾(Amdahl)定律系統(tǒng)中某個部件進行改進后,所能獲得的整個系統(tǒng)系能的提高,受限于該部件的執(zhí)行時間占系統(tǒng)中總執(zhí)行時間的百分比。系統(tǒng)性能加速比:改進前后性能或時間的比值。加速比=系統(tǒng)性能改進后系統(tǒng)性能改進前總執(zhí)行時間改進前總執(zhí)行時間改進后=1.2計算機系統(tǒng)的設計加速比依賴于兩個因素(參數(shù))可改進比例(Fe):在改進前的系統(tǒng)中,可改進部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例。它總是小于等于1。例如:一個需運行60秒的程序中有20秒的運算可以加速,那么這個比例就是20/60。部件加速比(Se):可改進部分改進以后性能提高的倍數(shù)。它是改進前所需的執(zhí)行時間與改進后執(zhí)行時間的比。一般情況下部件加速比是大于1的。例如:若系統(tǒng)改進后,可改進部分的執(zhí)行時間是2秒,而改進前其執(zhí)行時間為5秒,則部件加速比為5/2。1.2計算機系統(tǒng)的設計改進后程序的總執(zhí)行時間總執(zhí)行時間改進后=不可改進部分的執(zhí)行時間+
可改進部分改進后的執(zhí)行時間總執(zhí)行時間改進后=(1-可改進比例)×總執(zhí)行時間改進前
+=[(1-可改進比例)+]×總執(zhí)行時間改進前
可改進比例部件加速比可改進比例×總執(zhí)行時間改進前部件加速比1.2計算機系統(tǒng)的設計系統(tǒng)加速比為改進前與改進后總執(zhí)行時間之比加速比=總執(zhí)行時間改進前總執(zhí)行時間改進后=(1-可改進比例)+可改進比例部件加速比11.2計算機系統(tǒng)的設計改進后程序的總執(zhí)行時間TnT0:改進前整個程序的執(zhí)行時間1-Fe:不可改進比例
系統(tǒng)加速比Sn為改進前與改進后總執(zhí)行時間之比:1.2計算機系統(tǒng)的設計
例1.1將計算機系統(tǒng)中某一功能的處理速度加快15倍,但該功能的處理時間僅占整個系統(tǒng)運行時間的40%,則采用此增強功能方法后,能使整個系統(tǒng)的性能提高多少?解由題可知:Fe=40%=0.4Se=15根據(jù)Amdahl定律可知:
采用此增強功能方法后,能使整個系統(tǒng)的性能提高到原來的1.6倍。1.2計算機系統(tǒng)的設計例1.2某計算機系統(tǒng)采用浮點運算部件后,使浮點運算速度提高到原來的25倍,而系統(tǒng)運行某一程序的整體性能提高到原來的4倍,試計算該程序中浮點操作所占的比例。解由題可知:Se=25Sn=4根據(jù)Amdahl定律可知:
由此可得:Fe
=78.1%即程序中浮點操作所占的比例為78.1%。1.2計算機系統(tǒng)的設計Amdahl定律:一種性能改進的遞減規(guī)則如果僅僅對計算任務中的一部分做性能改進,則改進得越多,所得到的總體性能的提升就越有限。重要推論:如果只針對整個任務的一部分進行改進和優(yōu)化,那么所獲得的加速比不超過:1/(1-可改進比例)1.2計算機系統(tǒng)的設計CPU性能公式執(zhí)行一個程序所需的CPU時間CPU時間=執(zhí)行程序所需的時鐘周期數(shù)×時鐘周期時間其中:時鐘周期時間是系統(tǒng)時鐘頻率的倒數(shù)。每條指令執(zhí)行的平均時鐘周期數(shù)CPI
(CyclesPerInstruction)
CPI=執(zhí)行程序所需的時鐘周期數(shù)/IC
IC:所執(zhí)行的指令條數(shù)程序執(zhí)行的CPU時間可以寫成
CPU時間=IC×CPI×時鐘周期時間
1.2計算機系統(tǒng)的設計CPU的性能取決于三個參數(shù)時鐘周期時間:取決于硬件實現(xiàn)技術和計算機組成;CPI:取決于計算機組成和指令系統(tǒng)的結構;IC:取決于指令系統(tǒng)的結構和編譯技術。對CPU性能公式進行進一步細化假設:計算機系統(tǒng)有n種指令,n是指令的種類。CPIi:第i種指令的處理時間;
ICi:在程序中第i種指令出現(xiàn)的次數(shù);則:CPU時鐘周期數(shù)=(CPIi
ICi)ni=11.2計算機系統(tǒng)的設計CPU時間=執(zhí)行程序所需的時鐘周期數(shù)×時鐘周期時間=
(CPIi×ICi)×時鐘周期時間CPI可以表示為:CPI===
其中:(ICi/IC)反映了第i種指令在程序中所占的比例。用于設計方案的評價。i=1n時鐘周期數(shù)IC(CPIi×ICi)i=1nIC(CPIi×)i=1nICiIC1.2計算機系統(tǒng)的設計例1.3
假設FP指令的比例為25%,平均CPI為4。其他指令的平均CPI為1.33。其中,F(xiàn)PSQR占全部指令的比例為2%,CPI為20,現(xiàn)有兩種改進方案,第一種是把FPSQR操作的CPI減至2,第二種是把所有的FP操作的CPI減至2,試比較兩種方案對系統(tǒng)性能的提高程度。解
沒有改進之前,每條指令的平均時鐘周期CPI為:
1.2計算機系統(tǒng)的設計(1)采用第一種方案FPSQR操作的CPI由CPIFPSQR=20減至CPI’FPSQR=2,則整個系統(tǒng)的指令平均時鐘周期數(shù)為:
CPI1=CPI―(CPIFPSQR―CPI’FPSQR)×2%=2―(20―2)×2%=1.64
(2)采用第二種方案所有FP操作的CPI由CPIFP=4減至CPI’FP=2,則整個系統(tǒng)的指令平均時鐘周期數(shù)為:
CPI2=CPI―(CPIFP―CPI’FP)×25%=2―(4―2)×25%=1.5從降低整個系統(tǒng)的指令平均時鐘周期數(shù)的程度來看,第二種方案優(yōu)于第一種方案。1.2計算機系統(tǒng)的設計
例1.4考慮條件分支指令的兩種不同設計方法:(1)CPU1:通過比較指令設置條件碼,然后測試條件碼進行分支。(2)CPU2:在分支指令中包括比較過程。在這兩種CPU中,條件分支指令都占用2個時鐘周期,而所有其它指令占用1個時鐘周期。對于CPU1,執(zhí)行的指令中分支指令占30%;由于每條分支指令之前都需要有比較指令,因此比較指令也占30%。由于CPU1在分支時不需要比較,因此CPU2的時鐘周期時間是CPU1的1.35倍。問:哪一個CPU更快?如果CPU2的時鐘周期時間只是CPU1的1.15倍,哪一個CPU更快呢?1.2計算機系統(tǒng)的設計
解我們不考慮所有系統(tǒng)問題,所以可用CPU性能公式。占用2個時鐘周期的分支指令占總指令的30%,剩下的指令占用1個時鐘周期。所以
CPI1=0.3×2+0.70×1=1.3則CPU1性能為:總CPU時間1=IC1
×1.3×時鐘周期1根據(jù)假設,有:時鐘周期2=1.35×時鐘周期1在CPU2中沒有獨立的比較指令,所以CPU2的程序量為CPU1的70%,分支指令的比例為:1.2計算機系統(tǒng)的設計
30%/70%=42.8%這些分支指令占用2個時鐘周期,而剩下的57.2%的指令占用1個時鐘周期,因此:CPI2=0.428×2+0.572×1=1.428因為CPU2不執(zhí)行比較,故:IC2=0.7×IC1因此CPU2性能為:總CPU時間2=IC2
×CPI2
×時鐘周期2=0.7×IC1
×1.428×(1.35×時鐘周期1)=1.349×IC1
×時鐘周期11.2計算機系統(tǒng)的設計
在這些假設之下,盡管CPU2執(zhí)行指令條數(shù)較少,CPU1因為有著更短的時鐘周期,所以比CPU2快。如果CPU2的時鐘周期時間僅僅是CPU1的1.15倍,則時鐘周期2=1.15×時鐘周期1CPU2的性能為:總CPU時間2=IC2×CPI2
×時鐘周期2
=0.7×IC1
×1.428×(1.15×時鐘周期1)=1.15×IC1
×時鐘周期1因此CPU2由于執(zhí)行更少指令條數(shù),比CPU1運行更快。1.2計算機系統(tǒng)的設計程序的局部性原理程序執(zhí)行時所訪問的存儲器地址分布不是隨機的,而是相對地簇聚。常用的一個經(jīng)驗規(guī)則程序執(zhí)行時間的80%都是在執(zhí)行程序中20%的代碼。程序的時間局部性程序即將用到的信息很可能就是目前正在使用的信息。程序的空間局部性程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。1.2計算機系統(tǒng)的設計計算機系統(tǒng)設計者的任務包括:指令系統(tǒng)的設計、數(shù)據(jù)表示的設計、功能的組織、邏輯設計以及其物理實現(xiàn)等。1.2.2計算機系統(tǒng)設計者的主要任務1.2計算機系統(tǒng)的設計計算機系統(tǒng)設計的要求:確定用戶對計算機系統(tǒng)的功能、價格和性能的要求軟硬件功能分配—平衡取舍系統(tǒng)結構符合今后發(fā)展的要求—生命周期長1.2計算機系統(tǒng)的設計1、確定用戶對計算機系統(tǒng)的功能、價格和性能的要求應用領域
專用/通用?面向科學計算/商用處理?
軟件兼容軟件兼容是指一臺計算機上的程序不加修改就可以搬到另一臺計算機上正常運行。程序設計語言層/二進制目標代碼層?操作系統(tǒng)需求地址空間大小/存儲管理方式/保護方式?標準確定系統(tǒng)中哪些方面要采用標準以及采用什么標準。浮點數(shù)/I/O總線/網(wǎng)絡/程序設計語言特定應用優(yōu)化或軟件兼容1.2計算機系統(tǒng)的設計2、軟硬件功能取舍原則——優(yōu)化原則一:在現(xiàn)有器件和技術條件下,系統(tǒng)要有高的性能價格比;
硬件實現(xiàn):優(yōu)點:速度快、占存少缺點:成本高、靈活性差
軟件實現(xiàn):優(yōu)點:成本低、靈活性好缺點:速度慢、占存大、周期長1.2計算機系統(tǒng)的設計實現(xiàn)費用=設計費用+重復生產(chǎn)費用硬件費用=軟件費用*100結論:大量生產(chǎn),常用功能,硬件實現(xiàn)才適宜;為特殊需要配備硬件:MMX,3Dnow!1.2計算機系統(tǒng)的設計原則二:考慮設計的軟硬件實現(xiàn)復雜度:完成時間與競爭力軟件領域和組成,實現(xiàn)技術發(fā)展較快計算機系統(tǒng)結構變化不大(不應對軟件和組成、實現(xiàn)技術有過多的限制)原則三:對軟件(OS、編譯高級語言)提供更好的硬件支持1.2計算機系統(tǒng)的設計3、計算機系統(tǒng)負荷今后發(fā)展要求延長機器的使用壽命例如:軟件占用越來越多的存儲容量1.5-2倍/年高級語言代替匯編語言---------編譯器支持1.2計算機系統(tǒng)的設計出發(fā)點:多級層次結構“由上往下”(top-down)設計“由下往上”(bottom-up)設計“從中間開始”(middle-out)設計1.2.3計算機系統(tǒng)設計的主要方法——設計思路1.2計算機系統(tǒng)的設計
“由上往下”(top-down)設計自然直觀,從應用開始逐層向下實現(xiàn),并優(yōu)化上層優(yōu)點:面向用戶,效率高適用于專用機的設計缺點:適應性差,周期長軟硬脫節(jié)、分離解決方法:不完全優(yōu)化不專門設計機器級的“選型”1.2計算機系統(tǒng)的設計“由下往上”(bottom-up)設計
根據(jù)器件等情況研制硬件,根據(jù)要求配置軟件各層。優(yōu)點:可設計通用計算機缺點:軟硬件脫節(jié)、效率差;采用這種方法時,軟件技術完全處于被動狀態(tài),這會造成軟件和硬件的脫節(jié),使整個系統(tǒng)的效率降低。(在早期被采用得比較多,現(xiàn)在已經(jīng)很少被采用了)1.2計算機系統(tǒng)的設計“從中間開始”(middle-out)設計
“由上往下”和“由下往上”設計方法的主要缺點軟、硬件設計分離和脫節(jié)解決方法:綜合考慮軟、硬件的分工,從中間開始設計?!爸虚g”:層次結構中的軟硬件的交界面,目前一般是在傳統(tǒng)機器語言機器級與操作系統(tǒng)機器級之間。1.2計算機系統(tǒng)的設計從中間開始設計綜合考慮硬器件和軟件要求,定義好軟硬界面,再同時進行軟硬件設計優(yōu)點:軟硬件功能分配比較合理縮短了研制周期交互式的研制解決了:軟件與硬件分離執(zhí)行時間和吞吐率如何評測一臺計算機的性能,與測試者看問題的角度有關。用戶關心的是:單個程序的執(zhí)行時間(執(zhí)行單個程序所花的時間很少)數(shù)據(jù)處理中心的管理員關心的是:吞吐率(在單位時間里能夠完成的任務很多)1.3計算機系統(tǒng)的性能評測1.3計算機系統(tǒng)的性能評測假設兩臺計算機為X和Y,X比Y快的意思是:
對于給定任務,X的執(zhí)行時間比Y的執(zhí)行時間少。X的性能是Y的n倍:執(zhí)行時間與性能成反比:執(zhí)行時間Y執(zhí)行時間X=nn===執(zhí)行時間Y執(zhí)行時間X性能Y1性能X1性能X性能Y1.3計算機系統(tǒng)的性能評測執(zhí)行時間可以有多種定義:計算機完成某一任務所花費的全部時間,包括磁盤訪問、存儲器訪問、輸入/輸出、操作系統(tǒng)開銷等。CPU時間:CPU執(zhí)行所給定的程序所花費的時間,不包含I/O等待時間以及運行其它程序的時間。用戶CPU時間:用戶程序所耗費的CPU時間。系統(tǒng)CPU時間:用戶程序運行期間操作系統(tǒng)耗費的
CPU時間。1.3計算機系統(tǒng)的性能評測基準測試程序用于測試和比較性能的基準測試程序的最佳選擇是真實應用程序。
(例如編譯器)以前常采用簡化了的程序,例如:核心測試程序:從真實程序中選出的關鍵代碼段構成的小程序。小測試程序:簡單的只有幾十行的小程序。合成的測試程序:人工合成出來的程序。Whetstone與Dhrystone是最流行的合成測試程序。
從測試性能的角度來看,上述測試程序不可信了。1.3計算機系統(tǒng)的性能評測原因:這些程序比較小,具有片面性;系統(tǒng)結構設計者和編譯器的設計者可以“合謀”把他們的機器面向這些測試程序進行優(yōu)化設計,使得該機器顯得性能更高。性能測試的結果除了和采用什么測試程序有關以外,還和在什么條件下進行測試有關?;鶞蕼y試程序設計者對制造商的要求采用同一種編譯器;對同一種語言的程序都采用相同的一組編譯標志。1.3計算機系統(tǒng)的性能評測一個問題:是否允許修改測試程序的源程序三種不同的處理方法:不允許修改;允許修改,但因測試程序很復雜或者很大,幾乎是無法修改。允許修改,只要保證最后輸出的結果相同?;鶞蕼y試程序套件:由各種不同的真實應用程序構成。(能比較全面地反映計算機在各個方面的處理性能)SPEC系列:最成功和最常見的測試程序套件(美國的標準性能測試公司創(chuàng)建)1.3計算機系統(tǒng)的性能評測桌面計算機的基準測試程序套件可以分為兩大類:
處理器性能測試程序,圖形性能測試程序SPEC89:用于測試處理器性能。10個程序(4個整數(shù)程序,6個浮點程序)演化出了4個版本
SPEC92:20個程序
SPEC95:18個程序
SPEC2000:26個程序
SPECCPU2006:29個程序SPECCPU20061.3計算機系統(tǒng)的性能評測整數(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計算機系統(tǒng)的性能評測SPECviewperf:用于測試圖形系統(tǒng)支持OpenGL庫的性能。SPECapc:用于測試圖形密集型應用的性能。性能比較機器A機器B機器CW(1)
W(2)
W(3)
程序11.0010.0020.000.500.9090.999程序21000.0010.0020.000.500.0910.001加權算術平均值Am(1)500.5010.0020.00加權算術平均值Am(2)91.9110.0020.00加權算術平均值Am(3)2.0010.0020.00兩個程序在A、B、C三臺機器上的執(zhí)行時間1.3計算機系統(tǒng)的性能評測如何比較這三臺機器的性能呢?從該表可以得出:執(zhí)行程序1:A機的速度是B機的10倍A機的速度是C機的20倍B機的速度是C機的2倍執(zhí)行程序2:B機的速度是A機的100倍C機的速度是A機的50倍B機的速度是C機的2倍1.3計算機系統(tǒng)的性能評測方法1:總執(zhí)行時間:機器執(zhí)行所有測試程序的總時間平均執(zhí)行時間:各測試程序執(zhí)行時間的算術平均值其中:Ti:第i個測試程序的執(zhí)行時間
n:測試程序組中程序的個數(shù)1.3計算機系統(tǒng)的性能評測加權執(zhí)行時間:各測試程序執(zhí)行時間的加權平均值其中,Wi:第i個測試程序在測試程序組中所占的比重
Ti:該程序的執(zhí)行時間1.3計算機系統(tǒng)的性能評測方法2—調和平均值法(前提:性能是用速度來表示的)其中,Ri:由n個程序組成的工作負荷中執(zhí)行第i個程序的速度
Ri=1/TiTi:第i個程序的執(zhí)行時間加權調和平均值公式(各程序出現(xiàn)比例不同)
1.3計算機系統(tǒng)的性能評測方法3—幾何平均值法:以某臺計算機的性能作為參考標準,其他計算機性能則除以該參考標準而獲得一個比值。
Ri:由n個程序組成的工作負荷中執(zhí)行第i個程序的速度
Ri=1/Ti∏:連乘1.3計算機系統(tǒng)的性能評測加權幾何平均值Gm表示法有一個很好的特性
幾何平均值的比等于比的幾何平均值
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指令系統(tǒng)的發(fā)展兩個發(fā)展方向:復雜指令集計算機CISC精減指令集計算機RISC1.4計算機系統(tǒng)結構的發(fā)展軟件的可移植性:一個軟件可以不經(jīng)修改或者只需少量修改就可以由一臺機器移植到另一臺機器上正確地運行。即同一個軟件可以應用于不同的環(huán)境。差別只是執(zhí)行時間的不同。我們稱這兩臺機器是軟件兼容的。實現(xiàn)可移植性的常用方法統(tǒng)一高級語言,采用系列機,模擬與仿真。1.4.2軟件對系統(tǒng)結構的影響1.4計算機系統(tǒng)結構的發(fā)展1、統(tǒng)一高級語言方法:所有用戶使用同一種高級語言編寫軟件。方法特點:需要特殊的編譯器適用范圍:所有的機器優(yōu)點:實現(xiàn)軟件移植的一種理想的方法缺點:較難實現(xiàn)1.4計算機系統(tǒng)結構的發(fā)展2、系列機方法:統(tǒng)一匯編語言、機器語言
定義:由同一廠家生產(chǎn)的具有相同的系統(tǒng)結構,但具有不同組成和實現(xiàn)的一系列不同型號的機器。較好地解決軟件開發(fā)要求系統(tǒng)結構相對穩(wěn)定與器件、硬件技術迅速發(fā)展的矛盾。適用:計算機系統(tǒng)結構相同系列機系統(tǒng)結構設計要慎重,保證較長時間不變化。但可做必要擴充。`向上(下)兼容:按某檔機器編制的程序,不加修改就能運行于比它高(低)檔的機器。向前(后)兼容:按某個時期投入市場的某種型號機器編制的程序,不加修改地就能運行于在它之前(后)投入市場的機器。1.4計算機系統(tǒng)結構的發(fā)展軟件兼容1.4計算機系統(tǒng)結構的發(fā)展系列機要求:保證向后兼容,力爭做到向上兼容。兼容機:由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結構的計算機。1.4計算機系統(tǒng)結構的發(fā)展3、模擬和仿真問題的提出:不同系統(tǒng)結構機器上的移植——實現(xiàn)另一種系統(tǒng)結構關鍵:在一種系統(tǒng)結構上實現(xiàn)另一種系統(tǒng)結構。從指令集的角度來看,就是要在一種機器上實現(xiàn)另一種機器的指令集。1.4計算機系統(tǒng)結構的發(fā)展模擬用軟件的方法在一臺現(xiàn)有的機器A上實現(xiàn)另一臺機器B的系統(tǒng)結構。A有B的指令系統(tǒng)1.4計算機系統(tǒng)結構的發(fā)展實現(xiàn)方法:用A機器的機器語言解釋實現(xiàn)B機器程序的方法被模擬的——虛擬機模擬用的——宿主機解釋程序——模擬程序模擬程序內容:指令系統(tǒng)、數(shù)據(jù)表示、存儲系統(tǒng)、I/O系統(tǒng)等、形成虛擬機的操作系統(tǒng)缺點:運行速度慢、性能較差1.4計算機系統(tǒng)結構的發(fā)展仿真:少一重解釋(機器語言、微程序)定義:用一臺現(xiàn)有機器上的微程序去解釋實現(xiàn)另一臺機器的指令集。進行仿真的——宿主機被仿真的——目標機解釋微程序——仿真微程序運行速度比模擬方法的快仿真只能在系統(tǒng)結構差距不大的機器之間使用1.4計算機系統(tǒng)結構的發(fā)展推動計算機系統(tǒng)結構不斷發(fā)展的最活躍的因素摩爾定律集成電路芯片上所集成的晶體管數(shù)目每隔18個月就翻一番。計算機的分代主要以器件作為劃分標準。它們在器件、系統(tǒng)結構和軟件技術等方面都有各自的特征。SMP:對稱式共享存儲器多處理機
MPP:大規(guī)模并行處理機MP:多處理機1.4.3器件發(fā)展對系統(tǒng)結構的影響分代器件特征結構特征軟件特征典型實例第一代(1945—1954年)電子管和繼電器存儲程序計算機程序控制I/O機器語言匯編語言普林斯頓ISA,ENIAC,IBM701第二代(1955—1964年)晶體管、磁芯印刷電路浮點數(shù)據(jù)表示尋址技術中斷、I/O處理機高級語言和編譯批處理監(jiān)控系統(tǒng)UnivacLAPC,CDC1604,IBM7030第三代(1965—1974年)SSI和MSI多層印刷電路微程序流水線、Cache先行處理系列機多道程序分時操作系統(tǒng)IBM360/370,CDC6600/7600,DECPDP-8第四代(1975—1990年)LSI和VLSI半導體存儲器向量處理分布式存儲器并行與分布處理Cray-1,IBM3090,DECVAX9000,Convax-1第五代(1991年—)高性能微處理器高密度電路超標量、超流水SMP、MP、MPP機群大規(guī)模、可擴展并行與分布處理SGICrayT3E,IBMSP2,DECAlphaServer84001.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)等并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內進行多種運算或操作。只要在時間上相互重疊,就存在并行性。同時性:兩個或兩個以上的事件在同一時刻發(fā)生。并發(fā)性:兩個或兩個以上的事件在同一時間間隔內發(fā)生。1.5計算機系統(tǒng)結構中并行性的發(fā)展1.5.1并行性的概念1.5計算機系統(tǒng)結構中并行性的發(fā)展從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:字串位串:每次只對一個字的一位進行處理。最基本的串行處理方式,不存在并行性。字串位并:同時對一個字的全部位進行處理,不同字之間是串行的。開始出現(xiàn)并行性。字并位串:同時對許多字的同一位(稱為位片)進行處理。具有較高的并行性。全并行:同時對許多字的全部位或部分位進行處理。最高一級的并行。1.5計算機系統(tǒng)結構中并行性的發(fā)展從執(zhí)行程序的角度來看,并行性等級從低到高可分為:指令內部并行:單條指令中各微操作之間的并行。指令級并行:并行執(zhí)行兩條或兩條以上的指令。線程級并行:并行執(zhí)行兩個或兩個以上的線程。通常是以一個進程內派生的多個線程為調度單位。任務級或過程級并行:并行執(zhí)行兩個或兩個以上的過程或任務(程序段)以子程序或進程為調度單元。作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的作業(yè)或程序。1.5計算機系統(tǒng)結構中并行性的發(fā)展三種途徑:時間重疊引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分,以加快硬件周轉而贏得速度。資源重復引入空間因素,以數(shù)量取勝。通過重復設置硬件資源,大幅度地提高計算機系統(tǒng)的性能。1.5.2提高并行性的技術途徑1.5計算機系統(tǒng)結構中并行性的發(fā)展例如對于解釋指令的五個過程,就分別需要五個專用的部件,即取指令部件(IF)、指令譯碼部件(ID)、指令執(zhí)行部件(EX)、訪問存儲器部件(M)和寫結果部件(WB)。1.5計算機系統(tǒng)結構中并行性的發(fā)展資源共享這是一種軟件方法,它使多個任務按一定時間順序輪流使用同一套硬件設備。1.5計算機系統(tǒng)結構中并行性的發(fā)展系統(tǒng)結構向并行性發(fā)展兩級
單機功能部件級多機更高并行水平不同耦合度的多機:
最低耦合、松散耦合、緊密耦合三類:
分布處理系統(tǒng)同構性多處理機異構性多處理機1.5計算機系統(tǒng)結構中并行性的發(fā)展在發(fā)展高性能單處理機過程中,起主導作用的是時間重疊原理。實現(xiàn)時間重疊的基礎:部件功能專用化把一件工作按功能分割為若干相互聯(lián)系的部分;把每一部分指定給專門的部件完成;然后按時間重疊原理把各部分的執(zhí)行過程在時間上重疊起來,使所有部件依次分工完成一組同樣的工作。1.5.3單機系統(tǒng)中并行性的發(fā)展1.5計算機系統(tǒng)結構中并行性的發(fā)展在單處理機中,資源重復原理的運用也已經(jīng)十分普遍。多體存儲器多操作部件通用部件被分解成若干個專用部件,如加法部件、乘法部件、除法部件、邏輯運算部件等,而且同一種部件也可以重復設置多個。只要指令所需的操作部件空閑,就可以開始執(zhí)行這條指令(如果操作數(shù)已準備好的話)。這實現(xiàn)了指令級并行。1.5計算機系統(tǒng)結構中并行性的發(fā)展陣列處理機(并行處理機)更進一步,設置許多相同的處理單元,讓它們在同一個控制器的指揮下,按照同一條指令的要求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產(chǎn)工作要點概述
- 智能財稅綜合實訓 下篇 課件 智能財稅基礎業(yè)務5 社會共享中級外包實務
- 2025年黨政領導干部黨章黨規(guī)黨紀黨史知識培訓考試題庫及答案(共230題)
- 2025年度商標權轉讓款代付服務協(xié)議
- 上市公司資金管理存款居間
- 實驗動物房裝修合同解除
- 無縫物流操作指南文件匯編
- 電子商務平臺客戶服務提升預案
- 塔式起重機安裝專項施工方案內容
- 有機蔬菜種植要求
- 2025屆小米全球校園招聘啟動(即將筆試)筆試參考題庫附帶答案詳解
- 中小學生校服安全
- 2024年江西建設職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 人教版小學六年級下冊音樂教案全冊
- 16J914-1 公用建筑衛(wèi)生間
- 20CS03-1一體化預制泵站選用與安裝一
- (新湘科版)六年級下冊科學知識點
- 塑膠及噴油件檢驗標準
- 危險品押運資格考試題危險品押運證考試題.doc
- GB 19295-2021 食品安全國家標準 速凍面米與調制食品(高清版)
- QCC品管圈推行步驟說明與實際案例
評論
0/150
提交評論