計算機的存儲器採用分級方式
① 計算機系統:存儲器分級
計算機系統中,存儲器的分級策略是為了適應多樣化的存儲需求。我們希望存儲器能夠快速、小型、大容量、低能耗、散熱良好且數據斷電不丟失。然而,現實中我們難以滿足所有這些需求,因此需要對存儲器進行分級。
舉例來說,即便光速極快,信號的傳輸速度依然受限於實際距離。例如,一個1GHz的CPU,其一個時鍾周期為1/10億秒,而光速為每秒30億厘米,因此在CPU的一個時鍾周期內,光只能前進30厘米。這表明,信號傳輸速度遠不及光速。
存儲器分級策略旨在根據數據的使用頻率,將數據存儲在不同級別的存儲器中。高頻使用的數據通常存儲在離CPU最近、速度最快、成本最高的存儲器中,而使用頻率較低的數據則存儲在離CPU更遠、成本更低的存儲器中。
存儲器通常分為以下幾個等級:
寄存器:寄存器位於CPU內部,緊鄰CPU的控制單元和邏輯計算單元,其速度最快,成本最高,數量有限。寄存器主要用於存儲一定位元組的數據,並要求在半個CPU時鍾周期內完成讀寫操作。若寄存器速度過慢,可能影響指令執行。
L1-Cache:L1-Cache位於CPU內部,與寄存器相比,它位於CPU核心更遠,但成本更低。L1-Cache大小通常在幾十Kb到幾百Kb之間,讀寫速度在2~4個CPU時鍾周期。
L2-Cache:L2-Cache同樣位於CPU內部,距離CPU核心更遠。它大小比L1-Cache更大,具體大小取決於CPU型號,有2M或其他大小。讀寫速度在10~20個CPU周期。
L3-Cache:L3-Cache也位於CPU內部,與L2-Cache相比,距離CPU更遠。它的大小通常比L2-Cache更大,讀寫速度在20~60個CPU周期。L3-Cache大小取決於CPU型號,例如i9 CPU可能具有16MB L3 Cache。
內存:內存主要由半導體硅組成,位於主板上。由於其與CPU的距離較遠,需要通過匯流排與CPU連接。內存成本較低,但體積較大。個人電腦內存可達16G,而伺服器內存可能達到幾個TB。內存讀寫速度在200~300個CPU周期之間。
SSD和硬碟:SSD固態硬碟結構類似內存,但斷電後數據仍然保存。內存、寄存器、緩存斷電後數據消失。SSD讀寫速度比內存快10~1000倍,而硬碟速度比內存慢100萬倍左右。由於速度較慢,硬碟現在已被SSD逐漸取代。
當CPU需要內存中的數據時,首先在寄存器中查找;若未找到,則在L1-Cache中查找;若未找到,則在L2-Cache中查找;若仍未找到,則在L3-Cache中查找;最後,如果數據仍未找到,才在內存中查找。這是三級緩存的查找流程。
不同級別的緩存能夠顯著提升數據訪問速度,減少CPU對內存的訪問頻率。CPU內部緩存的層次結構如圖所示。現代CPU通常包含多個核心,每個核心有自己的L1 Cache和L2 Cache,而L3 Cache則由多個核心共享。緩存層次結構有助於減少數據訪問延遲。
外部存儲設備如內存、SSD和硬碟共同構成存儲器的金字塔結構。從上到下,存儲設備的容量增加而訪問速度降低。每個設備的訪問延遲如表所示。CPU訪問L1 Cache的速度比訪問內存快100倍,這就是為何CPU內部會有L1~L3 Cache的原因,以減少對內存的訪問。
內存從讀取到緩存的單位稱為CPU Cache Line(緩存塊),其大小可以通過CPU-Z查看。例如,我的電腦L1 Cache Line大小為32位元組,意味著一次載入數據的大小為32位元組。
緩存條目結構通常採用Key-Value存儲方式,Key為內存地址,Value為內存地址中存儲的值。一種簡單的方案是設計一個具有兩列的緩存條目。當CPU讀取到內存地址時,增加一個條目;當查詢內存地址的數據時,遍歷每個條目,檢查內存地址是否相同。這種方法效率低下,因為需要遍歷所有條目。
為快速確定內存地址所在緩存條目,可以使用數學方法映射內存地址。例如,有1000個內存地址和10個緩存條目,可以將內存地址整除以10,得到緩存條目編號。這種方法使獲取內存地址的緩存條目變得快速。
為了提高指令執行速度,CPU會將內存中的指令預讀到L1-Cache中。由於L1-Cache讀寫速度較快,可以與CPU執行速度相匹配。數據緩存和指令緩存需要分區,因為數據緩存可能覆蓋指令緩存,導致嚴重後果。
緩存的命中率是指在緩存中找到所需數據的概率。L1緩存的命中率約為80%,L1/L2/L3緩存的總命中率約為95%。CPU緩存設計合理,95%的內存讀取可從緩存中獲取數據。程序語言逐漸取消了直接操作寄存器的語法,因為緩存保證了高命中率,額外的優化意義不大且容易出錯。
訪問二維數組時,應遵循內存布局順序進行遍歷。順序訪問數組元素可以充分利用CPU緩存特性,提高代碼性能。當訪問array[0][0]元素時,CPU會連續載入64位元組大小的數據到緩存中。跳躍式訪問數據元素可能導致緩存利用率較低,性能下降。
提升指令緩存命中率的關鍵在於按照內存布局順序執行指令。先排序再遍歷數組速度更快,因為排序後數組元素從小到大排列,分支預測器能夠更有效地預測指令路徑,提高命中率。
多核CPU存在緩存命中率問題,因為線程可能在不同核心間切換。優化策略是將線程綁定到同一核心上執行,以提高L1和L2緩存的命中率。
在緩存滿載後,需要使用緩存置換演算法決定哪些數據需要被替換。緩存置換問題涉及選擇最優數據替換策略以保持緩存性能。
存儲器分級策略通過合理分配不同級別的緩存資源,顯著提升了數據訪問速度和CPU性能。理解緩存的工作原理和優化策略對於設計高效計算機系統至關重要。
② 求計算機組成原理試題及答案
1.在向現代計算機的發展過程中,最具有代表性的計算機有哪幾個?
答:中國古代提花機和提花機、巴貝奇分析機、帕斯卡的加法器、萊布尼茨的乘法器
2.成為現代計算機應具備哪些功能?P5-9,P32-33.
答:(1)具有適合工作原件的內動力(內動力)(2)具有內程序執行機制(內程序)(3)具有與內程序相適應的數據和程序存儲與表示形式(存儲)(4)可以實現系統運行中的自我管理()
3.簡述I/O介面的功能
1.設備選擇2.數據緩沖與鎖存,以實現外部設備與計算機之間的速度匹配3.數據格式轉換。如串並轉換,數據寬度轉換等4.信號特性匹配5.接收CPU的控制命令,監視外設的工作狀態
4.簡述匯流排介面的功能有哪些;
數據緩存、數據轉換、狀態設置、控制、程序中斷
5.為什麼I/O匯流排均採用串列匯流排的形式,而不是採用系統匯流排那樣的並行匯流排形式?並以USB串列匯流排為例,都採用了哪些技術措施?
答:並行匯流排的每個數據位都需單獨一條傳輸線,所有數據位同時進行傳輸,會造成干擾,數據容易丟失;而串列匯流排的數據傳輸是在一條線路上按位進行,抗干擾性強,數據不易丟失;為了規避並行匯流排在高速下的串擾和同步問題,I/O匯流排均採用串列匯流排的形式。USB:熱插拔,差分信號傳輸以及雙絞線
6.根據三原色原理,由三種顏色的顏料就可以配出任意色彩,為什麼彩色噴墨列印機需要6種顏色的墨盒?
三種顏色雖然可以混合出大部分顏色,但其色彩表現能力很差,其色域的寬廣度和人眼的要求更是相差甚遠,例如用這3種顏色混合出來的黑色實際上只是一種比較深的色彩,並不是純正的黑色,於是人們又在3色墨盒的基礎上加入了黑色墨盒,這樣一來就成為了4色墨盒,現在市場上的四色列印機就是使用這4種墨盒。但是四色列印機的表現色彩還不夠豐富,其色彩還原能力還是無法和沖印的相片相比,達不到人們對彩色相片的要求。於是人們又在4色墨盒的基礎上增加了淡品紅和淡青色的墨盒,使列印機成為六色列印機。
7.簡述I/O過程中,程序查詢控制方式的特點與不足之處是什麼?
(1)I/O過程地程序直接控制。特點:I/O過程完全處於CPU指令控制下,即外部設備地有關操作都要由CPU指令直接指定。在典形情況下,I/O操作在CPU寄存器與外部設備的數據緩沖寄存器間進行,I/O設備不直接訪問主存。由兩種方式,分別是無條件傳送控制和程序控制。不足:CUP進行I/O控制的工作效率很低。這種控制方式只適合與預知和預先估計到的I/O事件,但在實際中,多數世家是非尋常和非預期的。無法發現和處理一些無法預估的事件和系統異常。而且這種查詢方式只能允許CPU與外設串列工作,會出現CPU資源不能被充分利用,不能及時處理緊急事件兩種情況。
(2)I/O過程的程序中斷控制。特點,提高了計算機的工作效率。不足:可能丟失數據。
(3)I/O數據傳送的DMA控制。適合高速大批量數據傳送,可以保證高速傳輸時不丟失數據。特點:提高了CPU的利用率,DMA的響應可以在指令周期的任何一個機器周期結束時進行。DMA主要用於需要大批量數據傳送的系統中,可以提高數據吞吐量。不足:只能實現簡單的數據傳送,隨著系統配置的I/O設備的不斷增加,輸入輸出操作日益繁忙,為此要求CPU不斷地對各個DMA進行預置,增加了CPU地負擔。
(4)I/O過程的通道控制。為了減輕CPU地負擔,I/O控制部件又把諸如選設備,切換,啟動,終止以及數碼校驗等功能也接過來,進而形成I/O通道,實現輸入輸出操作地較全面管理。通道具有更強地獨立處理數據輸入輸出地功能,有了簡單地通道指令,可以在一定的硬體基礎上利用通道程序實現對I/O地控制,更多的免去CPU地介入,並且能同時控制多台同類型或不同類型地設備,使系統並行性更高。通道結構地彈性比較大,可以根據需要加以簡化或增強。特點:具有讀寫指令,可以執行通道程序。CPU通過簡單的輸入輸出指令控制通道工作。通道和設備採用中斷方式與CPU聯系。不足:對硬體的要求較高,開銷大。
8.什麼是機器數?它的表示形式都有哪些?為什麼需要這么多種形式?
答:一個數在機器內的表示形式稱為機器數,這個數本身的值稱為該機器數的真值。它的表示形式有:原碼、反碼、補碼、移碼。為了解決機器內負數的符號位參加運算的問題。
9.磁碟和光碟相對的優缺點分別是什麼?磁光碟是如何對他們的優缺點進行綜合的?
答:磁碟是一種具有存儲容量大、信息保存時間長、讀出時不需要再生等特點的輔助存儲器。磁碟相對光碟的優點是既可以讀又可以寫,缺點是記錄密度小。光碟具有記錄密度高,成本低廉,存儲容量大,體積小等技術特點。光碟相對磁碟的優點是記錄密度高,缺點是只能讀不能寫。磁光碟的存儲介質是由光磁材料做成的易於垂直磁化的磁性薄膜,它兼有磁碟和光碟兩方面的優點,磁光 盤既可以讀又可以寫,而且它的記錄密度很大。
10.計算機控制器的功能有哪些?分別是由什麼對應的部件實現的?
定序、( 定時 )和發送操作控制信號。分別對應指令計數器,時序節拍發生器,操作控制部件
11.簡述匯流排通信中,主從雙方之間的時序控制方式有哪幾種?分別適用於什麼樣的情形?
(1)同步通信。特點是模塊之間的配合簡單一致,採用了公共時鍾,每個部件什麼時候發送或接受信息都有統一的時鍾規定,因此有較高的傳輸效率。
(2)非同步通信。雙方的操作不依賴基於共同時鍾的時間標准,而是一方的操作依賴於另一方的操作,形成一種「請求-應答」方式,採用的通信協議稱為握手協議。
(3)半同步通信。特點是用系統時鍾同步,但對慢速設備可延長傳輸數據的周期。適用於系統工作速度不高,但又包含了許多速度差異較大的設備的簡單系統。
(4)分離式通信。基本思想是將一個傳輸周期分解為兩個子周期。特點是每個模塊佔用匯流排使用權都必須提出申請。各模塊在准備數據的過程中都不佔用匯流排,匯流排可以接受其他模塊的請求。匯流排被佔用時都在做有效工作,從而實現了在多個主、從模塊間進行交叉重疊並行式傳送。這種控制方式比較復雜,一般普通微型計機系統很少採用。
12.計算機體系結構發展的目標是什麼?採取的技術路線是什麼?對馮.諾依曼計算機體系結構改進的具體措施都有哪些?P67-69
答:計算機體系結構發展的目標是並行與共享。採取的技術路線是:在實現以存儲器為中心的過程中,形成分時操作系統、中斷控制技術、DMA控制技術等;採用指令流水線實現指令執行的並行與共享;使用處理器級的並行性技術。對馮諾依曼體系結構的改進有:(1)從以運算器為中心到以存儲器為中心。(2)指令執行的並行與共享。(3)處理器並行與共享。
13.算盤和算籌與現代計算機的差距主要體現在哪些方面?在向現代計算機的發展過程中,最具有代表性的計算機有哪幾個?進步的標致分別是什麼?成為現代計算機應具備哪些功能?P5-9,P32-33.
答:算盤和算籌主要由人——外動力進行撥珠、布籌,不具有內動力;且算盤和算籌的計算程序由人腦下達,不能 自動計算,不具有內程序。最具代表性的計算機有巴貝奇分析機、帕斯卡加法器、圖靈計算機、阿塔納索夫電子數字計算機、馮·諾依曼電子計算機等。進步的標志分別是具有了內程序;具有了內動力;將計算過程分解成簡單動作並進行機械化;採用真空管的電子數字計算機,並提出計算機的四條原則;以運算器為核心,採用二進製表示數據和指令,指令在存儲器中按執行順序存放。成為現代計算機應具備哪些功能:(1)具有適合工作原件的內動力(2)具有內程序執行機制具有與內程序相適應的數據和程序存儲與表示形式(4)可以實現系統運行中的自我管理
14.1多媒體界面技術需要哪些設備?
全屏幕及全運動的視頻圖像、高清晰全電視信號及高速真彩色圖形的顯示設備和攝像設備,高保真度的音響,以及與語音識別器、語言合成器等
14.2.隨著計算機輸入輸出設備的進步,相應地帶來了一系列人機交互界面技術,簡述不同的人機交互界面要求有什麼相應的輸入輸出設備才能實現?
1.符號界面:輸入設備:鍵盤。 輸出設備:列印機,顯示器。
2.圖形界面:輸入設備:光筆,圖形輸入板,滑鼠器,掃描儀,操作桿,跟蹤器。 輸出設備:平板顯示器,掃描儀顯示器。
3.多媒體界面:輸入設備:麥克風,掃描儀,數碼相機。 輸出設備:音響,投影儀,顯示器。
4.虛擬現實技術:輸入設備:數據手套。 輸出設備:頭盔式顯示器。
15.計算機的存儲器為什麼實現分級存儲的方式?一般分為幾級?各級之間的關系是什麼?P60,P136-137.
答:存儲器實現分級存儲的方式是為了解決速度不匹配以及主存容量不足的問題。一般分為3級:輔助存儲器、
主存儲器、高速緩沖寄存器。各級之間的關系是:輔助存儲器作為主存儲器的後援;主存儲器可以與CPU 通信,也可以作為Cache的後援;Cache存儲CPU最常使用的信息。
16.計算機的存儲器為什麼實現分級存儲的方式?一般分為幾級?各級之間的關系是什麼?P60,P136-137.
答:存儲器實現分級存儲的方式是為了解決速度不匹配以及主存容量不足的問題。一般分為3級:輔助存儲器、
主存儲器、高速緩沖寄存器。各級之間的關系是:輔助存儲器作為主存儲器的後援;主存儲器可以與CPU 通信,也可以作為Cache的後援;Cache存儲CPU最常使用的信息。
17.在中斷處理的過程中,執行中斷服務前後為什麼需要保護和恢復現場和斷點,現場和斷點的具體內容是什麼?存放在什麼地方了?用的是什麼指令?
因為CPU執行完中斷服務程序,要返回原來的斷點執行,還需要有一個當初的執行環境。為此,在保存斷點時,也要保護現場;在返回斷點時,先恢復現場。
現場是指中斷響應之時,CPU所執行程序的當前狀態和中間結果。
斷點是指中斷響應之前即將要執行的指令的地址,即程序計數器PC中的內容。
斷點存放在程序計數器中。現場狀態存入存儲器內固定的指定單元。
調用CALL指令、PUSH指令,將下一條指令的所在地址入棧。
18.簡述I/O介面的功能。P201-203.
(1)設備選擇,即通過地址解碼選擇要操作的設備。
(2)數據緩沖與鎖存,以實現外部設備與計算機之間的速度匹配。
(3)數據格式轉換。如串-並轉換、數據寬度轉換。
(4)信號特性匹配。當計算機的信號電平與外部設備的信號電平不同時,實現匹配變換。
(5)接收CPU的控制命令,監視外設的工作狀態。
19.I/O介面需要具備數據格式轉換和信號特性匹配功能的起因是什麼?P203
答:由於並行傳輸的抗干擾性不好,容易出現錯誤,所以I/O匯流排採用串列方式,而系統匯流排採用的是並行方式,故I/O介面需要進行數據格式轉換。I/O匯流排採用串列方式,信息傳輸遠,信號衰減速度就會很快,且易受到干擾,計算機的信號電平與外設的信號電平不同,故I/O介面需 要具備信號特性匹配功能。
20.計算機的內動力和內程序分別是由誰首先解決的?是用什麼方法解決的?
答:內動力是由帕斯卡首先解決的;帕斯卡發明了帕斯卡加法器,它的內部是一系列齒輪組成的裝置,內動力非常簡單,就是使用了鍾表中的發條。內程序是由巴貝奇首先解決的;巴貝奇從提花機中得到靈感,發明了差分機,進而提出了巴貝奇分析機,按工廠模式將分析機分為5部分:倉庫、作坊、控制機構、印刷廠、穿孔卡片。
21.中斷和DMA方式分別適合於什麼類型的外設?
答:中斷適合於需要CPU與外設在大部分時間並行工作,只有少部分時間用於相互交換信息,從而提高CPU資源利用率的外設,例如:鍵盤、列印機等。DMA方式只能控制速度較快、類型單一的外設,它適合於與存儲器之間的數據進行直接傳遞的外設。
22.激光列印機的工作過程主要經歷了哪幾個步驟?P246
答:第一步:要列印的圖案經過「曝光」形成靜電潛影。
第二步:帶負電荷的碳粉在電壓作用下,吸附在硒鼓有正電荷的區域,這個過程叫做「顯影」。
第三步:再施以反向的靜電電荷,把碳粉吸附到紙上,這個過程稱為「轉印」。
第四步:加電輥熔化碳粉,將碳粉固化在紙上,這個過程叫做「定影」
同為三匯流排結構,試分析它們的主要區別在什麼地方?
答:(1)中三級匯流排結構分別是局部匯流排、系統匯流排、擴展匯流排。一般用於I/O設備性能相差不大的情況。
(2)中三級匯流排結構分別是主存匯流排,I/O匯流排和DMA匯流排。其中主存與高速外設連接的I/O介面之間有一條DMA匯流排,提高了高速設備和主存之間的數據傳輸。