導航:首頁 > 廢水知識 > 計算機組成原理回寫有什麼用

計算機組成原理回寫有什麼用

發布時間:2022-12-10 06:08:24

⑴ pop在計算機組成原理中有什麼用

pop在計算機組成原理中的作用:
op是opamplifier的縮寫,指運算放大器。運算放大器簡稱運放是具有很高放大倍數的電路單元。在實際電路中,通常結合反饋網路共同組成某種功能模塊。

⑵ 計算機組成原理,

計算機組成原理
這門學科告訴你什麼是計算機。
首先,我們可以把計算機分解成最原始的部件——晶體管。晶體管是一種半導體材料,其最重要的作用就是半導:可以通過電流的變化,實現電路的切換。比如計算機最基礎的與或非運算,都可以通過晶體管組成的電子元件實現。而通過晶體管的電位差不同,就可以體現"二進制數據",即0和1。再加上電容和電阻,就能把這種二進制數據臨時保存起來。
綜合這些特性,大牛們發現把晶體管用作精密的數學計算,可以極大的提高運算的效率。比如我有2個電容,分別是充滿電和沒有電,對他們同時釋放電信號,電容就會把其中的電子放出來,經過特定的邏輯電路,如與門,得到了0的結果。要計算1+1,實際上也是類似的原理。我先設計一個加法電路,把若干電容組合成的"數字"流過這個電路,把結果存入目標電容,就得到了結果。大規模的復雜運算以此類推。
最早期的計算機真的就是用許多結晶體管實現的復雜電路結構,通過控制輸入電流得到希望的輸出結果。後來人們發現,這種計算可以用某些形式抽象成多種指令,不用針對每次計算設計復雜的電路,只要調用指令就可以實現任何一種計算組合,於是誕生了cpu。只有cpu,每次都要自己配置輸入信號,實在太痛苦,就做了紙帶輸入給計算機。後來又發現紙帶還是很麻煩,於是發明了輸入終端和對應的存儲設備。後來又發現很多數據要臨時保存起來,供連續計算使用,於是發明了內存。再後來pc的發展經歷了無數次的變革,讓計算機一步步到了今天的地步,也就是你現在看到的這樣。
其中的歷程非常曲折,也許有機構能夠把他們全部組織成一本漫長的歷史,但個人肯定是無能為力的。

操作系統
綜上所述,計算機發展到一定程度,什麼東西都靠人工也未免太累了。
比如通過輸入設備組織指令給cpu去計算,你希望能夠找一個快速的輸入設備(比如鍵盤),在能看到結果的地方輸入(比如屏幕),然後再用很方便的方式提交給cpu(比如按鍵或者指令),讓cpu去算好了,再把結果展示出來(比如屏幕)。
理想很美好,但是這么復雜的流程,人工管理起來不還是很麻煩嗎?除非我構造一個設備,把這些所有設備都管理起來,於是主板就誕生了。

現在主板解決了我們大量的問題,但是我發覺我的需求還遠遠不夠!
我希望我寫過的程序能在任何一台機上運行。
我希望我能邊聽音樂邊幹活——即同一時間可以運行多個程序。
我希望別人寫的傻×東西不要影響到我的工作——即多任務控制。
我希望計算機裡面的各種資源都能得到良好的組織,更快的訪問。
我希望我的用戶界面更好看,使用更方便,功能更強大!
我是個小白用戶,啥都不懂,別跟我扯這些有的沒的,我就像隨便操作兩下就能達到我想要的!
如果這些需求全部都做在主板bios裡面,那將是一場災難!除非bios經過極大的調整和改動,劃分出一大塊區域存放操作系統,並且完成復雜的體系結構改革。
計算機發展到這種程度,早就已經有很多的機構和廠商介入其中,試圖從中漁利。他們當然不會求著計算機標准委員會和主板生產廠商去做所謂的主板改革,而是編寫自己的程序——操作系統,來解決這些所有的問題。

而操作系統問世之後,一方面接管了主板對於系統資源的管理,加入了自己的中間層——驅動程序,另一方面又充分發揮了人機交互的介面——gui界面,成為了計算機必不可少的組成部分。
操作系統通過bios引導,即作為應用程序開始運行。我們知道程序的本質上就是在cpu上運行種種指令,比如操作系統需要把硬碟上的模塊放入內存,實際上就是運行了一系列復雜的cpu指令,cpu指令通過主板bus(實際上就是傳遞指令的電路)發送指令給硬碟(比如從哪個扇區偏移多少讀多少數據),硬碟再通過晶元組轉動磁頭,把數據讀到緩存中,完成後給cpu發送一個信號(即中斷),cpu收到這個信號,就在寄存器中定址該信號對應的地址(即我們說的中斷向量表),運行該地址中的指令,發現該指令是發送拷貝指令給主板晶元組,主板就會在cpu的指導下不斷的發送信號,告訴硬碟緩存放電,再把接收的電信號存到指定的內存位置去,如此反復,直到完成cpu的一系列指令為止。
操作系統說白了,就是這樣通過種種cpu指令,實現自身的所有功能。
當然這些指令也不是一條條寫進去的,而是通過編程語言完成人類較容易識別的邏輯,然後再通過編譯器把這些邏輯翻譯成cpu指令,這就涉及編譯原理的東西了。

既然操作系統對硬體的訪問都是通過cpu指令來完成的,那為什麼大家都感覺是操作掌管了硬體呢?這就涉及操作系統最本質的功能之一:對系統資源的管控了。
我們運行的所有程序,實際上都是操作系統幫我們運行的。操作系統背後進行了很多的工作,如虛擬地址空間的分配,cpu分時調度,硬體中斷信號的響應等。這樣對於硬體資源的訪問,也是通過操作系統安排的。比如操作系統會通過把短時間內硬碟讀寫合並成順序的方式,以提高磁頭的利用率,降低磁頭轉向的時間。再比如對內存地址的訪問也是由操作系統管控的,某個程序中的內存地址具體落到內存條的哪個位置,還是硬碟中的虛擬內存,就看操作系統的心情了。

至此,操作系統和硬體的交互也介紹的差不多了,更詳細的東西建議參考操作系統相關的書籍吧,比如《深入理解計算機系統》,《linux內核設計與實現》,《unix環境高級編程》之類的。

數據結構
數據結構的作用,就是為了提高硬體利用率。
比如操作系統需要查找用戶應用程序"office"在硬碟的哪個位置,盲目的搜索一遍硬碟肯定是低效的,這時候搞個b+樹作為索引,搜索office這個單詞就很快,然後就能很快的定位office這個應用程序的文件信息,再找到文件信息中對應的磁碟位置了。

數據結構的東西找本《演算法導論》,《數據結構與演算法分析》之類的看吧。

計算機網路
計算機網路分為3塊:
1. 硬體
網卡,網線,交換機這些,用來處理數據的。
2. 協議
數據在網路中通信如何組織?如何識別?如何保證數據的正確性?
這2塊我就不多說了。

3. 操作系統
這就是如何把計算機網路和操作系統結合起來的問題了。
對於操作系統來說,網卡也是一種硬體資源。但是網路不單只是一種硬體,而是一種媒體入口。比如操作系統管理硬碟,當然不是簡單的記一下硬碟有多大,然後一切操作都交給硬碟晶元去做,更多的需要組織硬碟的扇區,分區,記錄文件和扇區/偏移的關系等等。
操作系統對於網路來說也是如此,要記錄自身在網路的標識(ip),可被他人訪問的入口(port),以及對方的信息(remote ip/port)。連接,斷開,數據確認等操作也是由協議控制。
傳遞自身消息給對方,類似訪問硬碟一樣把內存中的數據傳遞給網卡緩存,再發消息給網卡讓網卡去傳數據,而是否發送成功這些保證不再由硬體中斷信號反饋,而是通過網路協議完成。接收對方消息,也是接收到網卡中斷,再把數據從網卡緩存移動到內存中,再通過協議給予對方反饋。

⑶ 計算機組成原理-03-計算機的組成(一)

匯流排(Bus)是計算機各種功能部件之間傳送信息的公共通信干線,它是cpu、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件通過匯流排相連接,外部設備通過相應的介面電路再與匯流排相連接,從而形成了計算機硬體系統。

假設沒有匯流排這種設計,計算機設備都是分散連接的,如下圖:

此時如果新增了一個輸入設備2,此時需要分別連接存儲器、控制器、運算器,設備一多線路就會十分復雜。

有了匯流排之後,設備直接連接匯流排,使得計算機內部結構變得十分清晰,設備的添加和卸載也變得容易。

系統中多個設備或模塊可能同時申請對匯流排的使用權,為避免產生匯流排沖突,需由匯流排仲裁機構合理地控制和管理系統中需要佔用匯流排的申請者,在多個申請者同時提出匯流排請求時,以一定的優先演算法仲裁哪個應獲得對匯流排的使用權。

匯流排授權信號BG串列地從一個I/O介面傳送到下一個I/O介面。假如BG到達的介面無匯流排請求,則繼續往下查詢;假如BG到達的介面有匯流排請求,BG信號便不再往下查詢,該I/O介面獲得了匯流排控制權。離中央仲裁器最近的設備具有最高優先順序,通過介面的優先順序排隊電路來實現。

好處:只用很少幾根線就能按一定優先次序實現匯流排仲裁,很容易擴充設備。

壞處:對詢問鏈的電路故障很敏感,如果第i個設備的介面中有關鏈的電路有故障,那麼第i個以後的設備都不能進行工作。查詢鏈的優先順序是固定的,如果優先順序高的設備出現頻繁的請求時,優先順序較低的設備可能長期不能使用匯流排。

匯流排上的任一設備要求使用匯流排時,通過BR線發出匯流排請求。中央仲裁器接到請求信號以後,在BS線為「0」的情況下讓計數器開始計數,計數值通過一組地址線發向各設備。每個設備介面都有一個設備地址判別電路,當地址線上的計數值與請求匯流排的設備地址相一致時,該設備 置「1」BS線,獲得了匯流排使用權,此時中止計數查詢。

每次計數可以從「0」開始,也可以從中止點開始。如果從「0」開始,各設備的優先次序與鏈式查詢法相同,優先順序的順序是固定的。如果從中止點開始,則每個設備使用匯流排的優先順序相等。

計數器的初值也可用程序來設置,這可以方便地改變優先次序,但這種靈活性是以增加線數為代價的。

每一個共享匯流排的設備均有一對匯流排請求線BRi和匯流排授權線BGi。當設備要求使用匯流排時,便發出該設備的請求信號。中央仲裁器中的排隊電路決定首先響應哪個設備的請求,給設備以授權信號BGi。

獨立請求方式的優點:響應時間快,確定優先響應的設備所花費的時間少,用不著一個設備接一個設備地查詢。其次,對優先次序的控制相當靈活,可以預先固定也可以通過程序來改變優先次序;還可以用屏蔽(禁止)某個請求的辦法,不響應來自無效設備的請求。

缺點:設備連線多,匯流排控制復雜。

滑鼠、鍵盤、掃描儀、顯示器等。

CPU和IO設備的速度是不一致的

提供低速設備通知CPU的一種非同步的方式,CPU可以高速運轉同時兼顧低速設備的響應。

當外圍IO設備准備就緒時,向CPU發送中斷信號,CPU內部有專門的電路響應中斷信號,CPU收到中斷信號後就會中斷當前工作轉為處理外圍設備的工作。待工作完成後,CPU載入之前的工作,繼續處理。

當主存與IO設備交換信息時,不需要中斷CPU,可以提高CPU的效率。一般計算機的硬碟與顯卡都有DMA設備。

利用了局部性原理,在CPU和主存之間增加了一層速度快(容量小)的Cache,目的是為了解決主存速度不足的問題。

將程序經常訪問的內存置換到高速緩存即可。

利用了局部性原理,在主存之外增加輔助存儲器,目的是解決主存容量不足的問題。

將程序當前使用的數據載入到主存,不使用的數據載入到輔存。

RAM(隨機存取存儲器:Random Access Memory)

RAM通過電容存儲數據,必須隔一段時間刷新一次

如果掉電,那麼一段時間後將丟失所有數據

32位系統主存大小為:2^32 =4×2^30 =4𝐺𝐵

64位系統主存大小為:2^64 = 234 × 2^30 = 2^34𝐺𝐵

表面是可磁化的硬磁特性材料

移動磁頭徑向運動讀取磁軌信息

先來先服務演算法 :按順序訪問進程的磁軌讀寫需求

最短尋道時間優先:與磁頭當前位置有關,優先訪問離磁頭最近的磁軌

掃描演算法(電梯演算法) :每次只往一個方向移動,到達一個方向需要服務的盡頭再反方向移動

循環掃描演算法:每次只往一個方向移動,到盡頭後回到初始位繼續掃描

在存儲器的層次結構中,高速緩存在CPU和主存之間,主要是為了解決CPU和主存速度不匹配的問題。

在往下看之前,先了解下下面的概念:

高速緩存的結構和主存類似,但是主存的容量是遠大於緩存的容量。

緩存中存儲的數據是主存中的一份復制,當CPU需要的數據在緩存中,直接從緩存里拿,當CPU需要的數據不在緩存中,則需要從主存里拿。

所以就有了兩個量化指標:

命中率 :命中緩存的次數佔CPU訪問次數的比例

訪問效率 :訪問緩存時間和訪問緩存-主存平均時間之比

當CPU所需要的數據不在高速緩存中時,就需要從主存載入數據到高速緩存。一般有四種替換策略。

隨機選取高速緩存中的一個位置再替換

把高速緩存看做是一個先進先出的隊列,優先替換最先進入隊列的字塊

優先淘汰最不經常使用的字塊,需要額外的空間記錄字塊的使用頻率

優先淘汰一段時間內沒有使用的字塊

有多種實現方法,一般使用雙向鏈表,把當前訪問節點置於鏈表前面(保證鏈表頭部節點是最近使用的)

⑷ 學計算機組成原理有什麼作用

計算機組成原理是計算機專業的核心主幹課之一,是在我國開設最早的一門必修專業課程,也是學習計算機的其它後續課(如微機系統與介面、計算機系統結構、操作系統等)的重要的專業基礎課。它在先導與後續課程之間起著承上啟下和繼往開來的作用。也是從事計算機設計、開發、應用與維護等工作的基礎。

計算機組成原理主要討論計算機單機系統的組成原理及其內部工作機制,包括各大部件的工作原理、邏輯實現、設計方法及其互連構成計算機整機的技術。主要強調計算機的基本原理、基本知識和基本技巧的訓練。

(4)計算機組成原理回寫有什麼用擴展閱讀:

計算機組成原理內容介紹:

《計算機組成原理》系統地介紹了計算機的基本組成原理和內部工作機制。《計算機組成原理》共分8章,主要內容分成兩個部分第1、2章介紹了計算機的基礎知識;第3~8章介紹了計算機的各子系統(包括運算器、存儲器、控制器、外部設備和輸入輸出子系統等)的基本組成原理、設計方法、相互關系以及各子系統互相連接構成整機系統的技術。

《計算機組成原理》講述了計算機的一般原理,並注意到與實際應用相結合。全書內容由淺入深,每章之後均附有習題,便於自學。

⑸ 計算機組成原理是什麼

計算機組成原理是什麼

計算機組成指的是系統結構的邏輯實現,包括機器機內的數據流和控制流的組成及邏輯設計等。計算機由什麼組成的,有什麼原理呢?下面我為大家分析一下!

【計算機性能指標】

計算機的性能指標主要是CPU性能指標、存儲器性能指標和I/O吞吐率。

處理機字長:是指處理機運算器中一次能夠完成二進制運算的位數。

匯流排寬度:一般指CPU中運算器與存儲器之間進行互連的內部匯流排二進制位數。

存儲器帶寬:單位時間內從存儲器讀出事物二進制數信息量,一般用位元組數/秒錶示。

主頻/時鍾周期:CPU的工作節拍受主時鍾控制,主時鍾不斷產生固定頻率的時鍾,主時鍾的頻率(f)叫CPU的主頻。主頻的倒數稱為CPU的周期(T)。

CPI:表示每條指令周期數,即執行一般程序所佔用的CPU時間,

CPU執行時間=CPU時鍾周期數*CPU時鍾周期

MIPS:表示平均每秒執行多少百萬條定點指令數,

FLOPS:表示每秒執行浮點操作的次數,用來衡量機器浮點操作的性能。

FLOPS=程序中的浮點操作次數/程序執行時間(s)

【定點數的表示和運算】

一個定點數由符號位和數值域兩部分組成。按小數點位置不同,定點數有純小數和純整數兩種表示方法。在定點計算機中,兩個原碼表示的數相乘的運算規則是:乘積的符號位由兩數的符號位按異或運算得到,而乘積的數值部分則是兩個正數相乘之積。兩個原碼表示的數相除時,商的符號位由兩數的符號按位相加求得,商的數值部分由兩數的數值部分相除求得。

【算數邏輯單元ALU】

為運算器構造的簡單性,運算方法中算數運算通常採用補碼加、減法,原碼乘除法或補碼乘除法。為了運算器的高速性和控制的簡單性,採用了先行進位、陣列乘除法、流水線等並行技術措施。ALU不僅具有多種算術運算和邏輯運算的功能,而且具有先行進位邏輯,從而能實現高速運算。

【存儲器的分類】

按存儲介質,用半導體器件組成的存儲器稱為半導體存儲器,用磁性材料做成的存儲器稱為磁表面存儲器;作為存儲介質的基本要求,必須有兩個明顯區別的物理狀態,分別用來表示二進制的代碼0和1。另一方面,存儲器的存取速度又取決於這種物理狀態的改變速度。

按存取方式,存儲器中任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的位置無關的存儲器稱為隨機存儲器,存儲器只能按某種順序來存取,即存取時間和存儲單元的物理位置有關的存儲器稱為順序存儲器;半導體存儲器是隨機存儲器,RAM和ROM都是採用隨機存取的方式進行信息訪問,磁帶存儲器是順序存儲器。

按信息易失性,斷電後信息消失的存儲器稱為易失性存儲器,斷電後仍能保存信息的存儲器稱為非易失性存儲器;半導體讀寫存儲器RAM是易失性存儲器,ROM是非易失性存儲器,磁性材料做成的存儲器是非易失性存儲器。

按存儲內容可變性,有些半導體存儲器存儲的內容是固定不變的,即只能讀出而不能寫入,這種半導體存儲器稱為只讀存儲器(ROM),既能讀出又能寫入的半導體存儲器稱為隨機讀寫存儲器(RAM);

按系統中的作用,可分為內部存儲器、外部存儲器;又可分為主存儲器、高速緩沖存儲器、輔助存儲器、控制存儲器;半導體存儲器是內部存儲器,磁碟是外部存儲器,又是輔助存儲器。

【存儲器的層次化結構】

目前在計算機系統中,通常採用多級存儲器體系結構,即使用高級緩沖存儲器(cache)、主存儲器和外存儲器。CPU能直接訪問的存儲器稱為內存儲器,它包括cache和主存儲器。CPU不能直接訪問外存儲器,外存儲器的信息必須調入內存儲器後才能為CPU進行處理。cache是計算機系統中的一個高速小容量半導體存儲器,在計算機中利用cache來高速存取指令和數據。cache的工作原理基於程序運行中具有的空間局部性和時間局部性特徵。cache能高速地向CPU提供指令和數據,從而加快了程序的執行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內的全部功能由硬體實現,因而對程序員是透明的。與主存容量相比。cache的容量很小,它保存的內容只是主存內容的一個子集,且cache與主存的數據交換是以塊為單位。主存儲器是計算機系統的主要存儲器,由MOS半導體存儲器組成,用來存放計算機運行期間的大量程序和數據,能和cache交換數據和指令。外存儲器是大容量輔助存儲器,通常用來存放系統程序和大型數據文件及資料庫。

存儲器的技術指標有存儲容量、存取時間、存儲周期、存儲器帶寬。存取時間、存儲周期、存儲器帶寬三個概念反映了主存的速度指標。

存取時間:指一次讀操作命令發出到該操作完成,將數據讀出到數據匯流排上所經歷的時間。通常取寫操作時間等於讀操作時間,故稱為存儲器存取時間,存取時間又稱存儲器訪問時間。

存儲周期:指連續兩次讀操作所需間隔的最小時間。通常,存儲周期略大於存取時間。

“位(bit)”是電子計算機中最小的數據單位,每一位的狀態只能是0或1。8個二進制位構成一個“位元組(Byte)”,位元組是儲存空間的基本計量單位,一個位元組可以儲存一個英文字母,2個位元組可以儲存一個漢子。“字”由若干位元組構成,字的位數叫作字長,不同檔次的機器有不同的字長。存儲器的基本單位位元組的長度是8 bit。表示主存容量的常用單位位元組B,是基本單位。此外還有KB、MB、GB、TB。一個雙穩態半導體電路或一個CMOS晶體管或磁性材料的存儲元,均可以存儲一位二進制代碼。這個二進制代碼位是存儲器中最小的存儲單位,稱為存儲位元。

所有的SRAM的特徵是用一個鎖存器(觸發器)作為存儲元,觸發器具有兩個穩定的狀態,只要直流供電電源一直加在這個記憶電路上,它就無限期地保持記憶的1或0狀態;如果電源斷電,那麼存儲的數據(1或0)就會丟失。SRAM是易失性存儲器。半導體靜態存儲器 SRAM 的存儲原理是依靠雙穩態電路。SRAM存儲器的存儲元是一個觸發器,它具有兩個穩定的狀態。SRAM的優點是存取速度快,但存儲容量不如DRAM大。動態MOS隨機讀寫存儲器DRAM的存儲容量極大,通常用作計算機的主存儲器。主存也可以用SRAM實現,只是成本高。與SRAM相比,DRAM成本低、功耗低,但需要刷新。動態RAM存儲信息依靠的是電容。DRAM存儲器的存儲元是由一個MOS晶體管和電容器組成的記憶電路,其中MOS晶體管作為開關使用,而所存儲的信息1或0則是由電容器上的電荷量來體現--當電容器充滿電荷時,代表儲存了1,當電容器放電沒有電荷時,代表存儲了0。讀出過程也是刷新過程。輸入緩沖期與輸出緩沖器總是互鎖的。這是因為讀操作和寫操作是互斥的,不會同時發生。與SRAM不同的是:DRAM增加了行地址鎖存器和列地址鎖存器,增加了刷新計數器和相應的控制電路。DRAM比SRAM集成度更高。DRAM讀出後必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數器的長度等於行地址鎖存器。DRAM存儲位元是基於電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的信息。DRAM是易失性存儲器。一次讀操作會自動地刷新選中行中的所有存儲位元。然而通常情況下,人們不能准確地預知讀操作出現的頻率,因此無法阻止數據丟失。在這種情況下,必須對DRAM進行定期刷新。DRAM使用電容存儲,所以必須隔一段時間刷新(refresh)一次,如果存儲單元沒有被刷新,存儲的信息就會丟失。DRAM存儲器有讀周期、寫周期和刷新周期,刷新周期比讀/寫周期有更高的優先權。DRAM存儲器需要逐行進行定時刷新,以使不因存儲信息的電容漏電而造成信息丟失。另外,DRAM晶元的讀出是一種破壞性讀出,因此在讀取之後要立即按讀出信息予以充電再生。動態MOS隨機讀寫存儲器DRAM的存儲容量極大,通常用作計算機的主存儲器。SRAM和DRAM都是隨機讀寫存儲器,它們的特點是數據可讀可寫。ROM叫作只讀存儲器,在它工作時只能讀出,不能寫入,其中存儲的原始數據必須在它工作以前寫入。FLASH叫作快閃記憶體存儲器,是高密度非易失性的讀/寫存儲器,高密度意味著它具有巨大比特數目的存儲容量,非易失性意味著存放的數據在沒有電源的情況下可以長期保存。FLASH存儲元是在EPROM存儲元基礎上發展起來的。快閃記憶體存儲器有三個主要的基本操作,它們是編程操作、讀取操作和擦除操作。可編程ROM有PROM、EPROM、EEPROM。其中,PROM是一次性編程。EPROM叫作光擦除可編程只讀存儲器,它的存儲內容可以根據需要寫入,當需要更新時將原存儲內容抹去,再寫入新的內容。EEPROM叫作電擦除可編程只讀存儲器,其儲存元是一個具有兩個柵極的NMOS管,這種存儲器在出廠時,存儲器內容為全“1”狀態。使用時,可根據要求把某些存儲元寫“0”。EPROM是可改寫的,但它不能用作為隨機存儲器用。

【主存儲器與CPU的連接】

主儲存器和CPU之間增加cache的目的是解決CPU和主存之間的`速度匹配問題。程序和數據存儲在主存中,主存通常採用多體交叉存儲器,以提高訪問速度。cache是一個高速緩沖存儲器,用以彌補主存和CPU速度上的差異。指令部件本身又構成一個流水線,它由取指令、指令解碼、計算操作數地址、取操作數等幾個過程段組成。指令隊伍是一個先進先出(FIFO)的寄存器棧,用於存放經過解碼的指令和取來的操作數。它也是由若干個過程段組成的流水線。執行部件可以具有多個算數邏輯運算部件,這些部件本身又用流水線方式構成。為了使存儲器的存取時間能與流水線的其他各過程段的速度匹配,一般採用多體交叉存儲器。執行段的速度匹配問題,通常採用並行的運算部件以及部件流水線的工作方式來解決。一般採用的方法包括:將執行部件分為定點執行部件和浮點執行部件兩個可並行執行的部分,分別處理定點運算指令和浮點運算指令;在浮點執行部件中,又有浮點加法部件和浮點乘/除部件,它們也可以同時執行不同的指令;浮點運算部件都以流水線方式工作。所謂資源相關,是指多條指令進入流水線後在同一機器時鍾周期內爭用同一個功能部件所發生的沖突。在一個程序中,如果必須等前一條指令 執行完畢後,才能執行後一條指令,那麼這兩條指令就是數據相關的。為了解決數據相關沖突,流水CPU的運算器中特意設置若干運算結果緩沖寄存器,暫時保留運算結果,以便於後繼指令直接使用,這稱為“向前”或定向傳送技術。控制相關沖突是由轉移指令引起的。當執行轉移指令時,依據轉移條件的產生結果,可能為順序取下條指令;也可能轉移到新的目標地址取指令,從而使流水線發生斷流。為了減小轉移指令對流水線性能的影響,常採用以下兩種轉移處理技術:由編譯程序重排指令序列來實現的延遲轉移法、硬體方法來實現的轉移預測法。

【雙口RAM和多模塊存儲器】

雙埠存儲器採用空間並行技術,能進行高速讀/寫操作。雙埠存儲器提供了兩個相互獨立的讀寫電路,可以對存儲器中任意位置上的數據進行獨立的存取操作。事實上雙埠存儲器也可以由DRAM構成。當兩個埠的地址不相同時,在兩個埠上進行讀寫操作,一定不會發生沖突。當兩個埠同時存取存儲器同一存儲單元時,便發生沖突。總之,當兩個埠均為開放狀態且存取地址相同時,發生讀寫沖突。

一個由若干模塊組成的主存儲器是線性編址的,這些地址在各模塊中的安排方式有兩種:一種是順序方式,一種是交叉方式。從定性分析,對連續字的成塊傳送,交叉方式的存儲器可以實現多模塊流水式並行存取,大大提高存儲器的帶寬,由於CPU的速度比主存快,假如能同時從主存取出n條指令,這必然會提高機器的運行速度。多模塊交叉存儲器是一種並行存儲器結構。

【高速緩沖存儲器(cache)】

cache是一種高速緩沖存儲器,是為了解決CPU和主存之間速度不匹配而採用的一項重要技術。其原理基於程序運行中具有的空間局部性和時間局部性特徵。cache能高速地向CPU提供指令和數據,從而加快了程序的執行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內的全部功能由硬體實現,因而對程序員是透明的。當前隨著半導體器件集成度的進一步提高,cache已放入到CPU中,其工作速度接近於CPU的速度,從而能組成兩級以上的cache系統。cache除包含SRAM外,還要有控制邏輯。若cache在CPU晶元外,它的控制邏輯一般與主存控制邏輯合成在一起,成為主存/cache控制器;若cache在CPU內,則由CPU提供它的控制邏輯。CPU與cache之間的數據交換是以字為單位,而cache與主存之間的數據交換是以塊為單位。一個塊由若干字組成,是定長的。當CPU讀取內存中一個字時,便發出此字的內存地址到cache和主存。此時cache控制邏輯依據地址判斷此字是否在cache中:若是,此字立即傳送給CPU;若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數據塊從主存讀出送到cache中。從CPU看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近cache的讀出時間。為了達到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應占很高的比例,即cache的命中率應接近於1.由於程序訪問的局部性,實現這個目標是可能的。運算器由算數邏輯單元(ALU)、通用寄存器、數據緩沖寄存器DR和狀態條件寄存器PSW組成,它是數據加工處理部件。運算器接受控制器的命令而進行動作,即運算器所進行的全部操作都是由控制器發出的控制信號來指揮的,所以它是執行部件。運算器有兩個主要功能:(1)執行所有的算數運算;(2)執行所有的邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。通常,一個算數操作產生一個運算結果,而一個邏輯操作則產生一個判決。

與主存容量相比,cache的容量很小,它保存的內容只是主存內容的一個子集,且cache與主存的數據交換是以塊為單位。為了把主存塊放到cache中,必須應用某種方法把主存地址定為到cache中,稱做地址映射。“映射”的物理含義是確定位置的對應關系,並用硬體來實現。這樣當CPU訪問存儲器時,它所給出的一個字的內存地址會自動變換成cache的地址。由於採用硬體,這個地址變換過程很快,軟體人員絲毫感覺不到cache的存在,這種特性成為cache的透明性。地址映射方式有全相聯方式、直接方式和組相聯方式三種。在全相聯映射中,將主存中一個塊的地址(塊號)與塊的內容(字)一起存於cache的行中,其中塊地址存於cache行的標記部分中。這種帶全部塊地址一起保存的方法,可使主存的一個塊直接拷貝到cache中的任意一行上。全相聯映射方式的檢索過程:CPU訪存指令指定了一個內存地址(包括主存和cache),為了快速檢,指令中的塊號與cache中所有行的標記同時在比較器中進行比較。如果塊號命中,則按字地址從cache中讀取一個字;如果塊號未命中,則按內存地址從主存中讀取這個字。在全相聯cache中,全部標記用一個相聯存儲器來實現,全部數據用一個普通RAM來實現。全相聯方式的主要缺點是比較器電路難於設計和實現,因此只適合於小容量cache採用。直接映射方式也是一種多對一的映射關系,但一個主存塊只能拷貝到cache的一個特定行位置上去。直接映射方式的優點是硬體簡單,成本低。缺點是每個主存塊只有一個固定的行位置可存放,如果塊號相距m整數倍的兩個塊存於同一cache行時,就要發生沖突。發生沖突時就要將原先存入的行換出去,但很可能過一段時間又要換入。頻繁的置換會使cache的效率下降。因此直接映射方式適合於需要大容量cache的場合,更多的行數可以減小沖突的機會。採用直接映射時,cache無需考慮替換問題。從存放位置的靈活性和命中率來看,全相聯映射方式為優;從比較器電路簡單及硬體投資來說,直接映射方式為佳。組相聯映射方式將cache分成u組,每組v行,主存塊存放到哪個組是固定的,至於存到該組哪一行是靈活的。組相聯映射方式的比較器電路容易設計和實現,而塊在組中的排放又有一定的靈活性,使沖突減少。全相聯映射方式和組相聯映射方式速度較低,通常適合於小容量cache。

cache工作原理要求它盡量保存最新數據。當一個新的主存塊需要拷貝到cache,而允許存放此塊的行位置都被其他主存塊占滿時,就要產生替換。對直接映射方式來說,因一個主存塊只有一個特定的行位置可存放,所以只要把此特定位置上的原主存塊換出cache即可。對全相聯和組相聯cache來說,就要允許存放新主存塊的若干特定行中選取一行換出。cache的替換全部靠硬體實現。

如何選取就涉及替換策略,又稱替換演算法,硬體實現的常用演算法主要有以下三種:1)近期最少使用(LRU)演算法:將近期內長久未被訪問的行換出;2)最不經常使用(LFU)演算法:將一段時間內被訪問次數最少的那行數據換出;3)隨機替換:實際上是不要什麼演算法,從特定的行位置中隨機地選出一行換出即可。在Cache替換演算法中,近期最少使用法比較正確地利用了程序訪存局部性原理,替換出近期用得最少的存儲塊,命中率較高,是一種比較好的替換演算法;隨機法是隨機地確定替換的存儲單元,先進先出法是替換最早調入的存儲單元,它們都沒有根據程序訪存局部性原理,命中率較低;而後進先出法不是cache所使用的替換演算法,此法在堆棧存儲結構中使用。

【虛擬存儲器】

常用的虛擬存儲系統由主存-輔存兩級存儲器組成,其中輔存是大容量的磁表面存儲器。在虛擬存儲器中,主存的內容只是輔存的一部分內容。虛擬存儲系統是為了提高存儲系統的性能價格比而構造的分層存儲體系,力圖使存儲系統的性能接近高速存儲器,而價格和容量接近低速存儲器。虛擬存儲利用了程序運行時的局部性原理把最近常用的信息塊從相對慢速而大容量的存儲器調入相對高速而小容量的存儲器。虛擬存儲主要是解決存儲容量問題,另外還包括存儲管理、主存分配和存儲保護等方面。虛存所依賴的輔存與CPU之間不存在直接的數據通路,當主存不命中時只能通過調頁解決,CPU最終還是要訪問主存。虛存管理由軟體(操作系統)和硬體共同完成,由於軟體的介入,虛存對實現存儲管理的系統程序員不透明,而只對應用程序員透明(段式和段頁式管理對應用程序員“半透明”)。主存未命中時系統的性能損失要遠大於cache未命中時的損失。

【虛擬內存管理】

虛存機制也要解決一些關鍵問題:(1)調度問題:決定哪些程序和數據應被調入主存;(2)地址映射問題:在訪問主存時把虛地址變為主存物理地址,在訪問輔存時把虛地址變為輔存的物理地址,以便換頁;(3)替換問題:解決哪些程序和數據應被調出主存;虛擬存儲器的替換演算法與cache的替換演算法類似,有FIFO演算法、LRU演算法、LFU演算法,虛擬存儲器的替換有操作系統的支持(4)更新問題:確保主存和輔存的一致性。虛擬存儲器分為頁式、段式、段頁式三種。

頁式虛擬存儲系統中,虛地址空間被分成等長大小的頁,稱為邏輯頁;主存空間也被分成同樣大小的頁,稱為物理頁。相應地,虛地址分為兩個欄位:高欄位為邏輯頁號,低欄位為頁內地址(偏移量);實存地址也分為兩個欄位:高欄位為物理頁號,低欄位為頁內地址。通過頁表可以把虛地址(邏輯地址)轉換成物理地址。在大多數系統中,每個進程對應一個頁表。現代的中央處理機通常有專門的硬體支持地址變換。每個進程所需的頁數並不固定,所以頁表的長度是可變的,因此通常的實現方法是把頁表的基地址保存在寄存器中,而頁表本身則放在主存中。由於虛地址空間可以很大,因而每個進程的頁表有可能非常長。由於頁表通常在主存中,因而即使邏輯頁已經在主存中,也要至少訪問兩次物理存儲器才能實現一次訪存,這將使虛擬存儲器的存取時間加倍。為了避免對主存訪問次數的增多,可以對頁表本身實行二級緩存,把頁表中的最活躍部分存放在高速存儲器中。這個專用於頁表緩存的高速存儲部件通常稱為轉換後援緩沖器(TLB),又稱快表。而保存在主存中的完整頁表則稱為慢表。快表的作用是加快地址轉換。TLB的作用和與主存與CPU之間的cache作用相似,通常由相聯存儲器實現,容量比慢表小得多,存儲慢表中部分信息的副本,可以完成硬體高速檢索操作。地址轉換時,根據邏輯頁號同時查快表和慢表,當在快表中有此邏輯號時,就能很快地找到對應的物理頁號。根據程序的局部性原理,多數虛擬存儲器訪問都將通過TLB進行,從而有效降低訪存的時間延遲。由於TLB的緩沖過程與cache的緩沖過程是獨立的,所以在每次存儲器訪問過程中有可能要經歷多次變換。

;
閱讀全文

與計算機組成原理回寫有什麼用相關的資料

熱點內容
液相用溶劑過濾器 瀏覽:674
納濾水導電率 瀏覽:128
反滲透每小時2噸 瀏覽:162
做一個純凈水工廠需要多少錢 瀏覽:381
最終幻想4回憶技能有什麼用 瀏覽:487
污水提升器采通 瀏覽:397
反滲透和不發滲透凈水器有什麼區別 瀏覽:757
提升泵的揚程 瀏覽:294
澤德提升泵合肥經銷商 瀏覽:929
飲水機後蓋漏水了怎麼辦 瀏覽:953
小型電動提升器 瀏覽:246
半透膜和細胞膜區別 瀏覽:187
廢水拖把池 瀏覽:859
十四五期間城鎮污水處理如何提質增效 瀏覽:915
怎麼測試空氣凈化器的好壞 瀏覽:519
提升泵是幹嘛的 瀏覽:744
布油做蒸餾起沫咋辦 瀏覽:252
廣州工業油煙凈化器一般多少錢 瀏覽:204
喜哆哆空氣凈化器效果怎麼樣 瀏覽:424
油煙凈化器油盒在什麼位置 瀏覽:582