導航:首頁 > 源碼編譯 > 並行編譯系統的功能和結構

並行編譯系統的功能和結構

發布時間:2022-01-31 18:06:34

① 並行處理計算機系統的結構特點

parallel computer system
並行處理計算機
並行處理計算機主要指以下兩種類型的計算機:①能同時執行多條指令或同時處理多個數據項的單中央處理器計算機;②多處理機系統。
並行處理計算機的結構特點
隨著電子器件的發展 ,計算機的處理能力有顯著提高。但是,僅僅依靠器件的進展而達到的速度提高,遠不能滿足現代科學、技術、工程和其他許多領域對高速運算能力的需要。這就要求人們改進計算機結構,採用各種並行處理技術,以便大幅度地提高處理速度和解題能力。
並行處理計算機的結構特點主要表現在兩個方面:①在單處理機內廣泛採用各種並行措施;②由單處理機發展成各種不同耦合度的多處理機系統。並行處理的主要目的是提高系統的處理能力。有些類型的並行處理計算機系統(如多處理機系統)還可以提高系統的可靠性。由於器件的發展,並行處理計算機系統具有較好的性能價格比,而且還有進一步提高的趨勢。

② 一個典型的編譯程序通常由哪些部分組成各部分的主要功能是什麼

通常由七個部分組成。分別是:詞法分析、語法分析、語義分析和中間代碼生成、優化、目標代碼生成以及表格和表格管理、出錯處理。
各自功能是:
1.詞法分析:輸入源程序,對構成源程序的字元串進行掃描和分解,識別出一個個單詞(也稱單詞符號,或簡稱符號)。在詞法分析階段工作所依循的是語言的詞法規則;描述詞法規則的有效工具是正規式和有限自動機。
2.語法分析:在詞法分析的基礎上,根據語言的語法規則,把單詞符號串組成各類語法單位。具體的說,語法分析是在單詞流的基礎上建立一個層次結構——建立語法樹。
3.語義分析和中間代碼生成:語義分析利用語法分析階段確定的層次結構來識別表達式和語句中的操作信息及類型信息;中間代碼生成階段將產生的源程序的一個顯式中間表示,這種中間表示可以看成是某種抽象程序,通常是與平台無關的,(可用三地址碼和四元式表示)。
4.優化:試圖改進中間代碼,以產生執行速度較快的機器代碼。
5.目標代碼生成:生成可重定位的機器代碼或匯編代碼。
6.表格和表格管理:編譯程序在工作過程中需要保持一系列的表格,以登記源程序的各類信息和編譯各階段的進展情況。
7.出錯處理:編譯程序對源程序中的錯誤進行處理,應最大限度地發現源程序中的各種錯誤,准確地指出錯誤的性質和發生錯誤的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,以便進一步發現其他可能的錯誤。通常編譯過程中每個階段都可能檢測出錯誤,其中,絕大多數數錯誤可以在編譯的前三階段檢測出來。且源程序中的錯誤通常分為語法錯誤和語義錯誤兩大類。出錯處理就是為了處理以上的錯誤情況。

③ 計算機的體系結構,組成和實現各自處理哪些方面的問題

電腦的體系結構分為硬體系統和軟體系統兩個部分。
多媒體技術個人電腦的硬體設備包括:
主機:主機是整個電腦的主體,可以說用電腦來工作的時候,工作是在它內部完成的。主機外觀上分為立式和卧式兩種。立式機箱的結構更利於散熱,更受人們歡迎一些。
鍵盤:是電腦中不可缺少的輸入設備,用戶可以通過鍵盤輸入命令和數據,並可通過它控制電腦的運行。常見的鍵盤大多是101或104鍵的,一些較為新穎的104鍵盤往往帶有兩個Windows鍵和一個應用程序鍵,以提高在Win7操作系統上操作電腦的效率。這些鍵可以分為大鍵盤區、編輯鍵區、功能鍵區和小鍵盤區。
顯示器:是電腦基本的輸出設備,是整個電腦硬體系統中不可缺少的部分。我們現在常用的是液晶顯示器,與傳統的陰極射線管顯示器相比,輻射比較低、體積小,耗電少。它利用液晶的特性,通電時排列變得有秩序,使光線容易通過,不通電時排列混亂,阻止光線通過,通過電路控制,顯示圖像。
列印機也是一種常用的輸出設備。因為顯示器上顯示的內容一旦關機就看不見了,也不方便把顯示器搬來搬去給別人閱讀,所以我們還是需要用列印機把自己的工作成果列印出來。
滑鼠:電腦中重要的輸入設備,它能方便地把滑鼠指針准確定位在我們指定的屏幕位置,很方便地完成各種操作。按其工作原理,滑鼠分為機械滑鼠、光電滑鼠和光機滑鼠。目前我們常常用的滑鼠是光電滑鼠。光電滑鼠的下面是兩個平行放置的小光源,這種滑鼠只能在特定的滑鼠墊上移動,光源發出的光經過滑鼠墊反射後由滑鼠接收為移動信號,送入電腦,使屏幕上的滑鼠指針隨之移動。滑鼠指針和滑鼠的移動方向是一致的,移動距離也成比例。光電滑鼠使用時比較靈活,故障率比較低。
音箱:相當於電腦的嘴巴和喉嚨,有了它電腦才能發出悅耳的聲音。音箱的外殼有木質和塑料兩種,兩只音箱一左一右擺放在電腦兩側,與顯示器有一定距離,才能得到立體聲效果。
麥克風:相當於電腦的耳朵,有了它電腦才能把外部的聲音傳送到電腦中,變換成數字波形,輸入到文件或多媒體圖像中。
攝像頭:可以分為數字攝像頭和模擬攝像頭兩大類,數字攝像頭可以直接捕捉影像,通過串口、並口或USB介面傳到電腦里。根據攝像頭的形態,可以分為桌面底座式、高桿式和液晶掛式。攝像頭還可以分為有驅動和無驅動型的攝像頭。
軟體分為系統軟體、應用軟體。
系統軟體是負責管理計算機系統中各種獨立的硬體,使得它們可以協調工作。系統軟體使得計算機使用者和其他軟體將計算機當作一個整體而不需要顧及到底層每個硬體是如何工作的。
操作系統是一管理計算機硬體與軟體資源的程序,同時也是計算機系統的內核與基石。操作系統身負諸如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網路與管理文件系統等基本事務。操作系統也提供一個讓使用者與系統交互的操作介面。目前多媒體個人電腦的主要操作系統是Windows 7。
應用軟體是為了某種特定的用途而被開發的軟體。它可以是一個特定的程序,比如一個圖像瀏覽器。也可以是一組功能聯系緊密,可以互相協作的程序的集合,比如微軟的Office軟體。也可以是一個由眾多獨立程序組成的龐大的軟體系統,比如資料庫管理系統。多媒體個人電腦的應用軟體主要有酷狗音樂、騰訊視頻、PPTV、Office 2007等。

④ 什麼是計算機體系結構中的並行性

並行處理(Parallel Processing)是計算機系統中能同時執行兩個或更多個處理機的一種計算方法。處理機可同時工作於同一程序的不同方面。並行處理的主要目的是節省大型和復雜問題的解決時間。為使用並行處理,首先需要對程序進行並行化處理,也就是說將工作各部分分配到不同處理機中。而主要問題是並行是一個相互依靠性問題,而不能自動實現。此外,並行也不能保證加速。但是一個在 n 個處理機上執行的程序速度可能會是在單一處理機上執行的速度的 n 倍。
計算機體系結構(ComputerArchitecture)是程序員所看到的計算機的屬性,即概念性結構與功能特性。按照計算機系統的多級層次結構,不同級程序員所看到的計算機具有不同的屬性。一般來說,低級機器的屬性對於高層機器程序員基本是透明的,通常所說的計算機體系結構主要指機器語言級機器的系統結構。經典的關於"計算機體系結構(computerarchitecture)"的定義是1964年C.M.Amdahl在介紹IBM360系統時提出的,其具體描述為"計算機體系結構是程序員所看到的計算機的屬性,即概念性結構與功能特性" 。
利用計算機語言進行並行性描述的時候主要有三種方案:
1.語言擴展方案:也就是利用各種語言的庫函數來進行並行性功能的擴展。
2.編譯制導法:也稱為智能編譯,它是隱式並行策略的體現,主要是由並行編譯系統進行程序表示、控制流的分析、相關分析、優化分析和並行化劃分,由相關分析得到方法庫管理方案,由優化分析得到知識庫管理方案,由並行化劃分得到程序重構,從而形成並行程序。
3.新的語言結構法:這是顯式並行策略的體現。也就是建立一種全新的並行語言的體系,而這種並行語言通過編譯就能直接形成並行程序。

⑤ 計算機系統性能評價方面的資料

碩士論文你都不捨得給錢?真不應該.懸賞分:0
Linpack:最早的評測系統計算能力的Benchmark之一,linpack(LINear algebra PACKages)主要功能是解線性方程組和線性最小二乘問題,最早的矩陣大小為100x100,300x300,後來以1000x1000為標准;隨著MPP、CC-NUMA、Cluster等大型並行計算機的出現,不再限定矩陣的規模。Linpack問題在大多數系統上很容易向量化,廠商進行精心優化,提高cache命中率,得到的計算飽和峰值常常是實際應用不可能達到的。

NAS:由美國NASA的NAS(Numerical Aerodynamic Simulation)研究組開發的科學計算性能評價標准,包含8個空氣動力學計算類應用,其中含5個核心程序和3個偽應用,核心應用分別是EP、多重網格求解、共軛梯度方程求解、三維FFT、和整數排序。

開始NAS只是紙上標准,由廠商自行按最優方法編製程序,早期的巨型機和向量機都採用NAS Benchmark。隨著並行機的出現,又有了並行版本NPB,廠商需要針對自己系統的體系結構,在並行粒度、數據結構、通信機制、處理器映射、內存分配、底層優化上下功夫。最近又有了NPB2標准,統一提供MPI語言編制的並行程序。
Perfect:即PERFormance Evatuation for Cost-effective Transformations評測程序,是由HPCG組織開發的用於評測傳統的向量巨型機的標准。

SPLASH:Stanford大學開發的用於評測共享存儲系統性能的測試程序。現在已發展到SPLASH-2,包含7個完整的應用和5個計算核心程序,它們都是科學與工程計算和計算機圖形學方面的並行程序,主要用於評價SMP、CC-NUMA、DSM等共享存儲類體系結構的計算機系統的性能。

ParkBench:用於評價大型可擴展系統的科學計算性能,有Fortran加消息傳遞、HPP多個版本,包括micro-benchmark, Kernel, Compact Application,Compiler四類Benchmark。底層的micro-benchmark用於測量單節點性能,目的是獲取單處理器的有關體系結構和編譯器的基本性能參數,以便更好地理解上層測試的結果。測試內容包括時鍾調用、算術運算、內存帶寬和延遲、通信延遲和帶寬、全局同步操作性能等。核心測試包括矩陣運算、FFT、偏微分方程、NAS核心,和一個I/O Benchmark。簡化應用測試包括氣候模型、計算流體動力學、財務模型、分子動力學、等離子物理、量子化學、水庫模型等。編譯器測試主要是評價HPF編譯器優化的效果。ParkBench很龐大,用於評價計算機系統支持各種具有不同需求的科學計算應用的性能。

⑥ 51單片機內部包含哪些主要功能部件各功能部件的主要作用是什麼

51單片機內部包含的功能組件及作用主要有:

1、cpu主晶元(內部通過匯流排連接擴展的設備)

2、時鍾電路(為單片機提供震盪脈沖)

3、電源電路(為單片機提供電源)

4、內部數據存儲器RAM(包括通用數據寄存器和專用寄存器SFR,主要是數據存儲區。)

5、程序存儲器ROM(主要是存儲程序,51系列有4K內部程序ROM,可以外擴64K。)

6、並行埠4*8位(P0,P1,P2,P3主要是數據交換介面。)

7、串列口(TXD,RXD用於串口通信。)

8、中斷系統(外中斷0,定時計數T0,外中斷1,定時計數T1,串口中斷。)

9、定時/計數器(16位用於外部的計數和定時功能。)

(6)並行編譯系統的功能和結構擴展閱讀

Proteus 自從有了單片機也就有了開發系統,隨著單片機的發展開發系統也在不斷發展。 keil是一種先進的單片機集成開發系統。它代表著匯編語言單片機開發系統的最新發展,首創多項便利技術,將開發的編程、模擬、調試、寫入、加密等所有過程一氣呵成,中間不須任何編譯或匯編。

功能特性

1、可以模擬63K程序空間,接近64K 的16位地址空間。

2、可以模擬64Kxdata 空間,全部64K 的16位地址空間。

3、可以真實模擬全部32 條IO腳。

4、完全兼容keilC51 UV2 調試環境,可以通過UV2 環境進行單步,斷點, 全速等操作。

5、可以使用C51語言或者ASM匯編語言進行調試。

6、可以非常方便地進行所有變數觀察,包括滑鼠取值觀察,即滑鼠放在某 變數上就會立即顯示出它此的值。

7、可選 使用用戶晶振,支持0-40MHZ晶振頻率。

8、片上帶有768位元組的xdata,您可以在模擬時選 使用他們,進行xdata 的模擬。

9、可以模擬雙DPTR 指針。

10、可以模擬去除ALE 信號輸出。

11、自適應300-38400bps 的所有波特率通訊。

12、體積非常細小,非常方便插入到用戶板中.插入時緊貼用戶板,沒有連接電纜,這樣可以有效地減少運行中的干擾,避免模擬時出現莫名其妙的故障。

13、模擬插針採用優質鍍金插針,可以有效地防止日久生銹,選擇優質園腳IC插座,保護模擬插針,同時不會損壞目標板上的插座. 。

14、模擬時監控和用戶代碼分離,不可能產生不能模擬的軟故障。

15、RS-232介面不計成本採用MAX202集成電路,串列通訊穩定可靠,絕非一般三極體的簡易電路可比。

參考資料網路--51單片機

⑦ 計算機體系結構的發展和硬體變化的關系

軟體體系結構最底層的應該是指令集,CPU的結構發展就是更有效,在最短的執行這些指令。從單個程序運算方面,從最初的單條流水線,到亂序指令執行的並行多條流水線,分支預測,分支預測執行,超標量(同周期發射數條指令到後端流水線)都是屬於指令集方面的並行,從386到P4包括AMD ATHLOTON系列都是使用與上述結構相同的架構。IA 64 獨辟蹊徑的有一個叫VLIW的純編譯器完成的流水線,不依賴於硬體結構與上述結構有所不同。但是作為伺服器,響應的不是單條程序,而是非常多同時到達又沒有相關性的交易,每個交易可以被看作是一個相互近似獨立的THREAD,所以伺服器對指令集執行的是執行基於THREAD 的並行,這樣就可以運用虛擬機等技術。在PC 上,P4當年所謂的HYPER THREADING 是利用流水線在不同的THREAD 中做切換,最大限度的使用所有後端流水線的資源。到了多核時代,隨著指令集並行被開發到了盡頭,AMD 和 INTEL 都認為不可能將單核做得更快了,能提到CPU 的唯一途徑是使用THREAD 並行,這就要不同的核之間有通信,而且對程序員的要求很高。在指令集並行年代,程序員不用知道硬體的結構,只需按照串列的思路編寫就行。但到了多核時代,為了更好地運用硬體資源,指令的PC(PROGRAM COUNTER)需要在不同的程序中切換,增加的編寫程序的難度。像CELL 架構本身是個非常強悍的結構,可惜程序別寫過於困難,導致開發費用很大,這也是XBOX360能超過PS3銷量的原因之一。其次,INTEL 宣布的多核X86 通用CPU-GPU LARABEE 基於X86的原因之一就是INTEL 認為雖然他們圖形技術不行,但是基於X86的CPU 更容易使用當前的編譯器,減少程序員的負擔。 以上均為原創,參考PATTERSON 和 HENNESSY 的computer architecture 和 computer orgnization and desgin , 把分為我吧,thanks

⑧ 急!!!!急!!!!!!!!!急!!!!!計算機體系結構這門課所解決的問題以及解決的方法在線等

計算機體系結構(ComputerArchitecture)是程序員所看到的計算機的屬性,即概念性結構與功能特性。按照計算機系統的多級層次結構,不同級程序員所看到的計算機具有不同的屬性。一般來說,低級機器的屬性對於高層機器程序員基本是透明的,通常所說的計算機體系結構主要指機器語言級機器的系統結構。經典的關於「計算機體系結構(computerarchitecture)」的定義是1964年C.M.Amdahl在介紹IBM360系統時提出的,其具體描述為「計算機體系結構是程序員所看到的計算機的屬性,即概念性結構與功能特性」

基本概念
計算機體系結構就是指適當地組織在一起的一系列系統元素的集合,這些系統元素互相配合、相互協作,通過對信息的處理而完成預先定義的目標。通常包含的系統元素有:計算機軟體、計算機硬體、人員、資料庫、文檔和過程。其中,軟體是程序、數據結構和相關文檔的集合,用於實現所需要的邏輯方法、過程或控制;硬體是提供計算能力的電子設備和提供外部世界功能的電子機械設備(例如感測器、馬達、水泵等);人員是硬體和軟體的用戶和操作者;資料庫是通過軟體訪問的大型的、有組織的信息集合;文檔是描述系統使用方法的手冊、表格、圖形及其他描述性信息;過程是一系列步驟,它們定義了每個系統元素的特定使用方法或系統駐留的過程性語境。 計算機體系結構
8種屬性
1•機內數據表示:硬體能直接辨識和操作的數據類型和格式 計算機體系結構
2•定址方式:最小可定址單位、定址方式的種類、地址運算 3•寄存器組織:操作寄存器、變址寄存器、控制寄存器及專用寄存器的定義、數量和使用規則 4•指令系統:機器指令的操作類型、格式、指令間排序和控制機構 5•存儲系統:最小編址單位、編址方式、主存容量、最大可編址空間 6•中斷機構:中斷類型、中斷級別,以及中斷響應方式等 7•輸入輸出結構:輸入輸出的連接方式、處理機/存儲器與輸入輸出設備間的數據交換方式、數據交換過程的控制 8•信息保護:信息保護方式、硬體信息保護機制。
編輯本段發展歷程
計算機系統已經經歷了四個不同的發展階段。 計算機體系結構
第一階段
60年代中期以前,是計算機系統發展的早期時代。在這個時期通用硬體已經相當普遍,軟體卻是為每個具體應用而專門編寫的,大多數人認為軟體開發是無需預先計劃的事情。這時的軟體實際上就是規模較小的程序,程序的編寫者和使用者往往是同一個(或同一組)人。由於規模小,程序編寫起來相當容易,也沒有什麼系統化的方法,對軟體開發工作更沒有進行任何管理。這種個體化的軟體環境,使得軟體設計往往只是在人們頭腦中隱含進行的一個模糊過程,除了程序清單之外,根本沒有其他文檔資料保存下來。
第二階段
從60年代中期到70年代中期,是計算機系統發展的第二代。在這10年中計算機技術有了很大進步。多道程序、多用戶系統引入了人機交互的新概念,開創了計算機應用的新境界,使硬體和軟體的配合上了一個新的層次。實時系統能夠從多個信息源收集、分析和轉換數據,從而使得進程式控制制能以毫秒而不是分鍾來進行。在線存儲技術的進步導致了第一代資料庫管理系統的出現。計算機系統發展的第二代的一個重要特徵是出現了「軟體作坊」,廣泛使用產品軟體。但是,「軟體作坊」基本上仍然沿用早期形成的個體化軟體開發方法。隨著計算機應用的日益普及,軟體數量急劇膨脹。在程序運行時發現的錯誤必須設法改正;用戶有了新的需求時必須相應地修改程序;硬體或操作系統更新時,通常需要修改程序以適應新的環境。上述種種軟體維護工作,以令人吃驚的比例耗費資源。更嚴重的是,許多程序的個體化特性使得它們最終成為不可維護的。「軟體危機」就這樣開始出現了。1968年北大西洋公約組織的計算機科學家在聯邦德國召開國際會議,討論軟體危機課題,在這次會議上正式提出並使用了「軟體工程」這個名詞,一門新興的工程學科就此誕生了。
第三階段
計算機系統發展的第三代從20世紀70年代中期開始,並且跨越了整整10年。在這10年中計算機技術又有了很大進步。分布式系統極大地增加亍計算機系統的復雜性,區域網、廣域網、寬頻數字通信以及對「即時」數據訪問需求的增加,都對軟體開發者提出了更高的要求。但是,在這個時期軟體仍然主要在工業界和學術界應用,個人應用還很少。這個時期的主要特點是出現了微處理器,而且微處理器獲得了廣泛應用。以微處理器為核心的「智能」產品隨處可見,當然,最重要的智能產品是個人計算機。在不到10年的時間里,個人計算機已經成為大眾化的商品。 在計算機系統發展的第四代已經不再看重單台計算機和程序,人們感受到的是硬體和軟體的綜合效果。由復雜操作系統控制的強大的桌面機及區域網和廣域網,與先進的應用軟體相配合,已經成為當前的主流。計算機體系結構已迅速地從集中的主機環境轉變成分布的客戶機/伺服器(或瀏覽器/伺服器)環境。世界范圍的信息網為人們進行廣泛交流和資源的充分共享提供了條件。軟體產業在世界經濟中已經佔有舉足輕重的地位。隨著時代的前進,新的技術也不斷地涌現出來。面向對象技術已經在許多領域迅速地取代了傳統的軟體開發方法。
總結
軟體開發的「第四代技術」改變了軟體界開發計算機程序的方式。專家系統和人工智慧軟體終於從實驗室中走出來進入了實際應用,解決了大量實際問題。應用模糊邏輯的人工神經網路軟體,展現了模式識別與擬人信息處理的美好前景。虛擬現實技術與多媒體系統,使得與用戶的通信可以採用和以前完全不同的方法。遺傳演算法使我們有可能開發出駐留在大型並行生物計算機上的軟體。
編輯本段基本原理
計算機體系結構解決的是計算機系統在總體上、功能上需要解決的問題,它和計算機組成、計算機實現是不同的概念。一種體系結構可能有多種組成,一種組成也可能有多種物理實現。 計算機體系結構
計算機系統結構的邏輯實現,包括機器內部數據流和控制流的組成以及邏輯設計等。其目標是合理地把各種部件、設備組成計算機,以實現特定的系統結構,同時滿足所希望達到的性能價格比。一般而言,計算機組成研究的范圍包括:確定數據通路的寬度、確定各種操作對功能部件的共享程度、確定專用的功能部件、確定功能部件的並行度、設計緩沖和排隊策略、設計控制機構和確定採用何種可靠技術等。計算機組成的物理實現。包括處理機、主存等部件的物理結構,器件的集成度和速度,器件、模塊、插件、底板的劃分與連接,專用器件的設計,信號傳輸技術,電源、冷卻及裝配等技術以及相關的製造工藝和技術。
編輯本段分類
Flynn分類法
1966年,Michael.J.Flynn提出根據指令流、數據流的多倍性(multiplicity)特徵對計算機系統進行分類,定義如下。 •指令流:機器執行的指令序列 計算機體系結構
•數據流:由指令流調用的數據序列,包括輸入數據和中間結果 •多倍性:在系統性能瓶頸部件上同時處於同一執行階段的指令或數據的最大可能個數。 Flynn根據不同的指令流-數據流組織方式把計算機系統分為4類。 1•單指令流單數據流(,SISD) SISD其實就是傳統的順序執行的單處理器計算機,其指令部件每次只對一條指令進行解碼,並只對一個操作部件分配數據。 2•單指令流多數據流(,SIMD) SIMD以並行處理機為代表,結構如圖,並行處理機包括多個重復的處理單元PU1~PUn,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同的數據。 3•多指令流單數據流(,MISD) MISD的結構,它具有n個處理單元,按n條不同指令的要求對同一數據流及其中間結果進行不同的處理。一個處理單元的輸出又作為另一個處理單元的輸入。 4•多指令流多數據流(,MIMD) MIMD的結構,它是指能實現作業、任務、指令等各級全面並行的多機系統,多處理機就屬於MIMD。(2)
馮式分類法
1972年馮澤雲提出用最大並行度來對計算機體系結構進行分類。所謂最大並行度Pm是指計算機系統在單位時間內能夠處理的最大的二進制位數。設每一個時鍾周期△ti內能處理的二進制位數為Pi,則T個時鍾周期內平均並行度為Pa=(∑Pi)/T(其中i為1,2,…,T)。平均並行度取決於系統的運行程度,與應用程序無關,所以,系統在周期T內的平均利用率為μ=Pa/Pm=(∑Pi)/(T*Pm)。用最大並行度對計算機體系結構進行的分類。用平面直角坐標系中的一點表示一個計算機系統,橫坐標表示字寬(N位),即在一個字中同時處理的二進制位數;縱坐標表示位片寬度(M位),即在一個位片中能同時處理的字數,則最大並行度Pm=N*M。 由此得出四種不同的計算機結構: ①字串列、位串列(簡稱WSBS)。其中N=1,M=1。 ②字並行、位串列(簡稱WPBS)。其中N=1,M>1。 ③字串列、位並行(簡稱WSBP)。其中N>1,M=1。 ④字並行、位並行(簡稱WPBP)。其中N>1,M>1。
編輯本段技術革新
計算機體系結構以圖靈機理論為基礎,屬於馮•諾依曼體系結構。本質上,圖靈機理論和馮•諾依曼體系結構是一維串列的,而多核處理器則屬於分布式離散的並行結構,需要解決二者的不匹配問題。 首先,串列的圖靈機模型和物理上分布實現的多核處理器的匹配問題。圖靈機模型意味著串列的編程模型。串列程序很難利用物理上分布實現的多個處理器核獲得性能加速.與此同時,並行編程模型並沒有獲得很好的推廣,僅僅局限在科學計算等有限的領域.研究者應該尋求合適的機制來實現串列的圖靈機模型和物理上分布實現的多核處理器的匹配問題或縮小二者之間的差距,解決「並行程序編程困難,串列程序加速小」的問題。 計算機體系結構
在支持多線程並行應用方面,未來多核處理器應該從如下兩個方向加以考慮。第一是引入新的能夠更好的能夠表示並行性的編程模型。由於新的編程模型支持編程者明確表示程序的並行性,因此可以極大的提升性能。比如Cell處理器提供不同的編程模型用於支持不同的應用。其難點在於如何有效推廣該編程模型以及如何解決兼容性的問題。第二類方向是提供更好的硬體支持以減少並行編程的復雜性。並行程序往往需要利用鎖機制實現對臨界資源的同步、互斥操作,編程者必須慎重確定加鎖的位置,因為保守的加鎖策略限制了程序的性能,而精確的加鎖策略大大增加了編程的復雜度。一些研究在此方面做了有效的探索。比如,SpeculativeLockElision機制允許在沒有沖突的情況下忽略程序執行的鎖操作,因而在降低編程復雜度的同時兼顧了並行程序執行的性能。這樣的機制使得編程者集中精力考慮程序的正確性問題,而無須過多地考慮程序的執行性能。更激進的,(TCC)機制以多個訪存操作(Transaction)為單位考慮數據一致性問題,進一步簡化了並行編程的復雜度。 主流的商業多核處理器主要針對並行應用,如何利用多核加速串列程序仍然是一個值得關注的問題。其關鍵技術在於利用軟體或硬體自動地從串新程序中派生出能夠在多核處理器上並行執行的代碼或線程。多核加速串列程序主要有三種方法,包括並行編譯器、推測多線程以及基於線程的預取機制等。在傳統並行編譯中,編譯器需要花費很大的精力來保證擬劃分線程之間不存在數據依賴關系。編譯時存在大量模糊依賴,尤其是在允許使用指針(如C程序)的情況下,編譯器不得不採用保守策略來保證程序執行的正確性。這大大限制了串列程序可以挖掘的並發程度,也決定了並行編譯器只能在狹窄范圍使用。為解決這些問題,人們提出推測多線程以及基於線程的預取機制等。然而,從這種概念提出到現在為止,這個方向的研究大部分局限於學術界,僅有個別商業化處理器應用了這種技術,並且僅僅局限於特殊的應用領域。我們認為動態優化技術和推測多線程(包括基於線程的預取機制)的結合是未來的可能發展趨勢。 馮•諾依曼體系結構的一維地址空間和多核處理器的多維訪存層次的匹配問題。本質上,馮•諾依曼體系結構採用了一維地址空間。由於不均勻的數據訪問延遲和同一數據在多個處理器核上的不同拷貝導致了數據一致性問題。該領域的研究分為兩大類:一類研究主要是引入新的訪存層次。新的訪存層次可能採用一維分布式實現方式。典型的例子是增加分布式統一編址的寄存器網路。全局統一編址的特性避免了數據一致性地考慮。同時,相比於傳統的大容量cache訪問,寄存器又能提供更快的訪問速度。TRIPS和RAW都有實現了類似得寄存器網路。令另外,新的訪存層次也可以是私有的形式。比如每個處理器和都有自己私有的訪存空間。其好處是更好的劃分了數據存儲空間,已洗局部私有數據沒有必要考慮數據一致性問題。比如Cell處理器為每個SPE核設置了私有的數據緩沖區。另一類研究主要涉及研製新的cache一致性協議。其重要趨勢是放鬆正確性和性能的關系。比如推測Cache協議在數據一致性未得到確認之前就推測執行相關指令,從而減少了長遲訪存操作對流水線的影響。此外,TokenCoherence和TCC也採用了類似的思想。程序的多樣性和單一的體系結構的匹配問題。未來的應用展現出多樣性的特點。一方面,處理器的評估不僅僅局限於性能,也包括可靠性,安全性等其他指標。另一方面,即便考慮僅僅追求性能的提高,不同的應用程序也蘊含了不同層次的並行性。應用的多樣性驅使未來的處理器具有可配置、靈活的體系結構。TRIPS在這方面作了富有成效的探索,比如其處理器核和片上存儲系統均有可配置的能力,從而使得TRIPS能夠同時挖掘指令級並行性、數據級並行性及指令級並行性。 多核和Cell等新型處理結構的出現不僅是處理器架構歷史上具有里程碑式的事件,對傳統以來的計算模式和計算機體系架構也是一種顛覆 2005年,一系列具有深遠影響的計算機體系結構被曝光,有可能為未來十年的計算機體系結構奠定根本性的基礎,至少為處理器乃至整個計算機體系結構做出了象徵性指引。隨著計算密度的提高,處理器和計算機性能的衡量標准和方式在發生變化,從應用的角度講,講究移動和偏向性能兩者已經找到了最令人滿意的結合點,並且有可能引爆手持設備的急劇膨脹。盡管現在手持設備也相對普及,在計算能力、可擴展性以及能耗上,完全起步到一台手持設備應該具備的作用;另一方面,講究性能的伺服器端和桌面端,開始考慮減少電力消耗趕上節約型社會的大潮流。 Cell本身適應這種變化,同樣也是它自己創造了這種變化。因而從它開始就強調了不一樣的設計風格,除了能夠很好地進行多倍擴展外,處理器內部的SPU(SynergisticProcessorUnit協同處理單元)具有很好的擴展性,因而可以同時面對通用和專用的處理,實現處理資源的靈活重構。也就意味著,通過適當的軟體控制,Cell能應付多種類型的處理任務,同時還能夠精簡設計的復雜。

⑨ 軟體系統有哪些部分組成說明其功能並試舉幾個實例

軟體系統
軟體系統(Software Systems)是指由系統軟體、支撐軟體和應用軟體組成的計算機軟體系統,它是計算機系統中由軟體組成的部分。它包括操作系統、語言處理系統、資料庫系統、分布式軟體系統和人機交互系統等。操作系統用於管理計算機的資源和控製程序的運行。語言處理系統是用於處理軟體語言等的軟體,如編譯程序等。資料庫系統是用於支持數據管理和存取的軟體,它包括資料庫、資料庫管理系統等。資料庫是常駐在計算機系統內的一組數據,它們之間的關系用數據模式來定義,並用數據定義語言來描述;資料庫管理系統是使用戶可以把數據作為軸象項進行存取、使用和修改的軟體。分布式軟體系統包括分布式操作系統、分布式程序設計系統、分布式文件系統、分布式資料庫系統等。人機交互系統是提供用戶與計算機系統之間按照一定的約定進行信息交互的軟體系統,可為用戶提供一個友善的人機界面。操作系統的功能包括處理器管理、存儲管理、文件管理、設備管理和作業管理。其主要研究內容包括:操作系統的結構、進程(任務)調度、同步機制、死鎖防止、內存分配、設備分配、並行機制、容錯和恢復機制等。

語言處理系統的功能是各種軟體語言的處理程序,它把用戶用軟體語言書寫的各種源程序轉換成為可為計算機識別和運行的目標程序,從而獲得預期結果。其主要研究內容包括:語言的翻譯技術和翻譯程序的構造方法與工具,此外,它還涉及正文編輯技術、連接編輯技術和裝入技術等。

資料庫系統的主要功能包括資料庫的定義和操縱、共享數據的並發控制、數據的安全和保密等。按數據定義模塊劃分,資料庫系統可分為關系資料庫、層次資料庫和網狀資料庫。按控制方式劃分,可分為集中式資料庫系統、分布式資料庫系統和並行資料庫系統。資料庫系統研究的主要內容包括:資料庫設計、數據模式、數據定義和操作語言、關系資料庫理論、數據完整性和相容性、資料庫恢復與容錯、死鎖控制和防止、數據安全性等。

分布式軟體系統的功能是管理分布式計算機系統資源和控制分布式程序的運行,提供分布式程序設計語言和工具,提供分布式文件系統管理和分布式資料庫管理關系等。分布式軟體系統的主要研究內容包括分布式操作系統和網路操作系統、分布式程序設計、分布式文件系統和分布式資料庫系統。

人機交互系統的主要功能是在人和計算機之間提供一個友善的人機介面。其主要研究內容包括人機交互原理、人機介面分析及規約、認知復雜性理論、數據輸入、顯示和檢索介面、計算機控制介面等。

軟體 系統

分布式軟體系統(Distributed Software Systems)是支持分布式處理的軟體系統,是在由通信網路互聯的多處理機體系結構上執行任務的系統。它包括分布式操作系統、分布式程序設計語言及其編譯(解釋)系統、分布式文件系統和分布式資料庫系統等。

分布式操作系統負責管理分布式處理系統資源和控制分布式程序運行。它和集中式操作系統的區別在於資源管理、進程通信和系統結構等方面。

分布式程序設計語言用於編寫運行於分布式計算機系統上的分布式程序。一個分布式程序由若干個可以獨立執行的程序模塊組成,它們分布於一個分布式處理系統的多台計算機上被同時執行。它與集中式的程序設計語言相比有三個特點:分布性、通信性和穩健性。

分布式文件系統具有執行遠程文件存取的能力,並以透明方式對分布在網路上的文件進行管理和存取。

分布式資料庫系統由分布於多個計算機結點上的若干個資料庫系統組成,它提供有效的存取手段來操縱這些結點上的子資料庫。分布式資料庫在使用上可視為一個完整的資料庫,而實際上它是分布在地理分散的各個結點上。當然,分布在各個結點上的子資料庫在邏輯上是相關的。

⑩ 請問指令系統的作用以及在計算機體系結構中的位置

計算機體系結構」定義是1964年C. M. Amdahl在介紹IBM 360系統時提出:計算機體系結構是機器語言程序員或編譯程序編寫者所看到的外特性。所謂外特性,即概念性結構與功能特性。
基礎概念:
操作系統的基本概念
從資源管理角度看,操作系統具有以下五大功能:
1) 進程管理, 2) 存儲器管理, 3) 設備管理, 4) 文件管理, 5) 作業管理

操作系統的性能指標是:RSA(可靠性、可用性、可維修性)、系統吞吐率、系統響應時間、系統資源利用率、可移植性。
其中,可靠性R(Reliability)指的是系統能發現、診斷和恢復硬體、軟體故障的能力,通常用平均無故障時間MTBF(Mean Time Before Failure)來度量,它指系統能正常工作的時間的平均值。
可維修性S(Serviceability)通常用平均故障修復時間MTRF(Mean Time Repair a Fault)來度量,它是指從故障發生到故障修復所需要的平均時間。
可用行A(Availablity),其計算式為:A = MTBF / (MTBF + MTRF),它是指系統在執行任務的任意時刻能正常工作的概率。
系統吞吐率(Throughput)指的是系統在單位時間內所處理的信息量。
系統響應時間(Response Time)指的是從系統接受數據到輸出結果的時間間隔。
系統資源利用率(Utility)是指系統中各個部件、各種設備的使用程度。
可移植性(Transplantable)是指將一個操作系統從一個硬體環境轉移到另外一個硬體環境仍能正常工作的能力。

傳統機器級以上的所有機器都稱為虛擬機,它們是由軟體實現的機器。軟硬體的功能在邏輯上是等價的,即絕大多部分硬體的功能都可用軟體來實現,反之亦然。
計算機系統結構的外特性,一般應包括以下幾個方面(這也就是我們要分章學習的幾個章節)把這幾個方面弄清了,系統結構也就基本明確了:
(1)指令系統 (2)數據表示 (3)作數的定址方式 (4)寄存器的構成定義 (5)中斷機構和例外條件 (6)存儲體系和管理 (7)I/O結構 (8)機器工作狀態定義和切換 (9)信息保護。
所以在以後的學習中常回頭想想這是系統結構的哪一方面,這對把握全局有好處。
這里提一下計算機系統結構的內部特性,計算機系統結構的內特性就是將那些外特性加以"邏輯實現"的基本屬性。所謂"邏輯實現"就是在邏輯上如何實現這種功能,比如"上帝"給雞設計了一個一定大小的胃,這個胃的功能是消化食物,這就是雞系統的某一外特性,那怎麼消化呢,就要通過雞喙吃進食物和砂石,再通過胃的蠕動、依靠砂石的研磨來消化食物,這里的吃和蠕動等操作就是內特性。
還有一個就是計算機實現,也就是計算機組成的物理實現。它主要著眼於器件技術和微組裝技術。拿上面的例子來說,這個胃由哪些組織組成幾條肌肉和神經來促使它運動就是"雞實現"。
據此我們可以分清計算機系統的外特性、內特性以及物理實現之間的關系。 在所有系統結構的特性中,指令系統的外特性是最關鍵的。因此,計算機系統結構有時就簡稱為指令集系統結構。我們這門課注重學習的是計算機的系統結構,傳統的講,就是處在硬體和軟體之間介面的描述,也就是外特性。
這些不恰當的比喻只是幫助理解,不可強求對應,不然會有損科學的嚴密性。
計算機系統結構的分類
按"流"分類的方法,這是Flynn教授提出的按指令流和數據流的多倍性概念進行分類的方法。共有四大類,即:(S-single 單一的 I-instruction 指令 M-multiple 多倍的 D-data 數據)
SISD 單指令流單數據流,傳統的單處理機屬於SISD計算機。
SIMD 單指令流多數據流,並行處理機是SIMD計算機的典型代表。我國的YH-I型是此類計算機型。
MISD 多指令流單數據流,實際上不存在,但也有學者認為存在。
MIMD 多指令流多數據流,包括了大多數多處理機及多計算機系統。我國的YH-II型計算機是這種類型的計算機。
一般將標量流水機視為SISD類型,把向量流水機視為SIMD類型。
按"並行級"和"流水線"分類:這是在計算機系統中的三個子系統級別上按並行程度及流水線處理程度進行分類的方法。
--------------------------------------------------------------------------------
二、計算機系統的設計准則
1.只加速使用頻率高的部件
這是最重要也是最廣泛採用的計算機設計准則。因為加快處理頻繁出現事件對系統的影響遠比加速處理很少出現事件的影響要大。
2.阿姆達爾(Amdahl)定律
這個定律就是一個公式:即
應會運用此公式做一些計算或分析,所以要記住並理解其意義。
3.程序訪問的局部性規律
程序訪問的局部性主要反映在時間和空間局部性兩個方面,時間局部性是指程序中近期被訪問的信息項可能馬上將被再次訪問,空間局部性指那些在訪問地址上相鄰近的信息項很可能被一起訪問。
三、計算機系統結構的發展
馮·諾依曼計算機的主要特點是:存儲程序方式;指令串列執行,並由控制器加以集中控制;單元定長的一維線性空間的存儲器;使用低級機器語言,數據以二進製表示;單處理機結構,以運算器為中心。
改進後的馮·諾依曼計算機使其從原來的以運算器為中心演變為以存儲器為中心。 從系統結構上講,主要是通過各種並行處理手段高提高計算機系統性能。
軟體、應用和器件對系統結構發展的影響
軟體應具有可兼容性,即可移植性。為了實現軟體的可移植性,可用以下方法:
模擬:用軟體方法在一台現有的計算機上實現另一台計算機的指令系統,這種用實際存在的機器語言解釋實現軟體移植的方法就是模擬。
模擬:用A機(宿主機)中的一段微程序來解釋實現B機(目標機)指令系統中每一條指令而實現B機指令系統的方法稱模擬,它是有部份硬體參與解釋過程的。
一般將兩種方法混合作用,對於使用頻率高的指令用模擬方法,而對於頻率低而且難於模擬實現的指令使用模擬的方法加以實現。
採用系列機的方法,可以這么說,系列機的系統結構都是一致的,如我們使用的INTEL 的80X86微機系列及其兼容機,系統結構都是一致的,當然在發展過程中它的系統結構可以得到了新的擴充,比如原來的586機器不支持MMX多媒體擴展指令集,但是後來的晶元中擴充了這些指令,使指令系統集擴大,但它們仍是同一系列的機器。這種系列機的方法主要是為了軟體兼容。如上面的擴展指令,將使得以後針對這些指令優化的軟體不能在以前的機子上運行(或不能發揮相應功能)導致向前兼容性不佳。但重要的是保證做到向後兼容,也就是在按某個時期推到市場上的該檔機上編制的軟體能不加修改地在它之後投入市場的機器上運行。
在系列機上,軟體的可稱植性是通過各檔機器使用相同的高級語言、匯編語言和機器語言,但使用不同的微程序來實現的。
統一標準的高級語言
採用與機器型號無關的高級程序設計語言標准如FORTRAN、COBOL等,這種方法提供了在不同硬體平台、不同操作系統之間的可移植性。
開放系統:是指一種獨立於廠商,且遵循有關國際標准而建立的,具有系統可移植性、交互操作性,從而能允許用戶自主選擇具體實現技術和多廠商產品渠道的系統集成技術的系統。
應用需求對系統結構發展的影響
計算機應用對系統結構不斷提出的基本要求是高的運算速度、大的存儲容量和大的I/O吞吐率。(我們要更快的主板CPU和內存、我們要更大的硬碟我們要更大的顯示器更多的色彩更高的刷新頻率...這就是需求)
計算機應用從最初的科學計算向更高級的更復雜的應用發展,經歷了從數據處理、信息處理、知識處理以及智能處理這四級逐步上升的階段。
器件對系統結構發展的影響
由於技術的進步,器件的性能價格比迅速提高,晶元的功能越來越強,從而使系統結構的性能從較高的大型機向小型機乃至微機下移。
綜上所述:
軟體是促使計算機系統結構發展的最重要的因素(沒有軟體,機器就不能運行,所以為了能方便地使用現有軟體,就必須考慮系統結構的設計。軟體最重要)
應用需求是促使計算機系統結構發展的最根本的動力(機器是給人用的,我們追求更快更好,機器就要做得更快更好。所以需求最根本)

閱讀全文

與並行編譯系統的功能和結構相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26