01 基礎知識-計算機硬件
阿新 • • 發佈:2017-09-10
程序安裝 int word 基礎 分鐘 超線程 cmos 終端 方法
CPU: CPU是計算機的大腦,它從內存中取指令->解碼->執行,然後重復該步驟,直至整個程序被執行完成。 cpu內部都有一些用來保存關鍵變量和零時數據的寄存器 寄存器分類:
存儲器 存儲器系統采用如上圖的分層結構,頂層的存儲器速度較高,容量較小,與底層的存儲器相比每位的成本較高,其差別往往是十億數量級的 寄存器即L1緩存 用於CPU相同材質制造,與CPU一樣快,因而CPU訪問它無延時,典型容量是:在32位CPU中位32*32,在64位CPU中為64*64,在兩種情況下容量均<1KB. 高速緩存即L2緩存: 主要有硬件控制高速緩存的存取,內存中有高速緩存行按照0~64字節為行0,64~127為行1。。。最常用的高速緩存行放置在CPU內部或者非常接近CPU的高速緩存中。當某個程序需要讀取一個存儲字時,高速緩存硬件檢查所需要的高速緩存行是否在高速緩存中,如果是,則成為高速緩存命中,緩存滿足了請求,就不需要通過總線把訪問請求送往主存(內存),這畢竟是慢的。高速緩存的命中通常需要兩個時鐘周期。高速緩存未命中,就必須訪問內存,這需要付出大量的時間代價,由於高速緩存價格昂貴,所以其大小有限,有些機器具有兩級甚至三級高速緩存,每一級高速緩存比前一級慢但容量大。 主存(內存): 再往下一層是主存,此乃存儲器系統的助理,主存通常稱為隨機訪問存儲RAM,就是我們通常所說的內存,容量一直在不斷攀升,所有不能再高速緩存中找到的,都會到主存中找,主存是易失性存儲,斷點後數據全部消失。 非易失性隨機訪問存儲ROM(Read Only Memory,ROM) 在電源切斷之後,非易失性存儲的內容並不會求生,ROM只讀存儲器在工廠中就被編程完畢,然後再也不能修改。ROM速度快切便宜,在有些計算機中,用於啟動計算機的引導加載模塊局存在ROM中,另一些I/O卡也采用ROM處理底層設備的控制 EEPROM(Electrically Erasable PROM, 電可擦除可編程ROM)和 閃存(flash memory)也是非易失性的,但是與ROM相反,他們可以擦除和重寫。不過重寫花費的時間比寫入RAM要多。在編寫式電子設備中,閃存通常作為擦除媒介。閃存是數碼相機中的膠卷,是便攜式音譯播放器的磁盤,還應用於固態硬盤。閃存在速度上介於RAM和磁盤之間,但與磁盤不同的是,閃存擦除的次數過多,就被磨損了。 還有一類存儲就是 CMOS,他是易失性的,許多計算機利用CMOS存儲器來保持當前世界和日期。CMOS存儲器和遞增時間的電路有一小塊電池驅動,所以即使計算機沒有加電,時間也仍然可以正確的更新,除此之外CMOS還可以保存配置的參數,比如,哪一個是啟動磁盤等,之所以采用CMOS是應為它耗電量非常少,一塊工廠原裝電池往往能使用若幹年,但是電池失效時,相關配置和時間等都將丟失
磁盤 磁盤低速的原因是因為它一種機械裝置,在磁盤中有一個或多個金屬盤片,它們以5400,7200或10800rpm(RPM =revolutions per minute 每分鐘多少轉 )的速度旋轉。從邊緣開始有一個機械臂懸在盤面上,這類似於老式黑膠唱片機上的拾音臂。信息卸載磁盤上的一些列的同心圓上,是一連串的2進制位(稱為bit位),為了統計方法,8個bit稱為一個字節bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我們平時所說的磁盤容量最終指的就是磁盤能寫多少個2進制位。 每個磁頭可以讀取一段換新區域,稱為磁道 把一個戈丁手臂位置上所以的磁道合起來,組成一個柱面 每個磁道劃成若幹扇區,扇區典型的值是512字節 數據都存放於一段一段的扇區,即磁道這個圓圈的一小段圓圈,從磁盤讀取一段數據需要經歷尋道時間和延遲時間 平均尋道時間 機械手臂從一個柱面隨機移動到相鄰的柱面的時間為尋道時間,找到了磁道就以為找到了數據鎖定在哪個圈圈,但是還不走到數據具體這個圓圈的具體位置 平均延遲時間 機械臂叨叨正確的磁道之後還必須等待旋轉到數據所在的扇區下,這段時間為延遲時間 虛擬內存 許多計算機支持虛擬內存機制,該機制使計算機可以運行大於物理內存的程序,方法是將正在使用的程序放入內存去執行,而暫時不需要執行的程序放到磁盤的某塊地方,這塊地方為虛擬內存,在linux中為swap,這種機制的核心在於快速地映射內存地址,由CPU中的一個部件負責,陳偉存儲器管理單元(Memory Management Unit MMU) PS:從一個程序切換到另外一個程序,稱為上下文切換(context switch),緩存和MMU的出現提升了系統的姓名,尤其是上下文切換
IO設備 CPU和存儲器並不是操作系統唯一需要管理的資源,I/O設備也是非常重要的一環。 I/O設備一般包括兩個部分:設備控制器和設備本身。 控制器:是查找主板上的一塊芯片或一組芯片,控制器負責控制連接的設備,它從操作系統接收命令,比如讀硬盤數據,然後就對硬盤設備發起讀請求來讀取內存 控制器的功能:通常情況下對設備的控制是非常復雜和具體的,控制器的任務就是為操作系統屏蔽這些復雜而具體的工作,提供給操作系統一個簡單而清晰的接口 設備本身:有相對簡單的接口切標準的,這樣大家都可以為其編寫驅動程序了。要想調用設備,必須根據該接口編寫復雜而具體的程序,於是有了控制器提供設備驅動接口給操作系統。必須把設備驅動程序安裝到操作系統中
總線 北橋即PCI橋:連接高速設備 南橋即ISA橋:連接慢速設備
啟動計算機流程
---恢復內容開始---
計算機抽象模型: cpu、內存以及I/O設備都是由一條系統總線(bus)連接起來並通過總線與其他設備通訊 現在計算機的結果更復雜,包括多重總線CPU: CPU是計算機的大腦,它從內存中取指令->解碼->執行,然後重復該步驟,直至整個程序被執行完成。 cpu內部都有一些用來保存關鍵變量和零時數據的寄存器 寄存器分類:
- 通用寄存器,用來保存變量和臨時結果
- 程序計數器,它保存了將要取出的下一條指令的內存地址。在指令取出後,程序計數器就被更新以便執行後期指令
- 堆棧指針,它指向內存中當前棧的頂端。該棧包含已經進入但是還沒有退出的每個過程中的一個框架。在一個過程的堆棧框架中保存了有關的輸入參數、局部變量以及那些沒有保存在寄存器中的臨時變量
- 程序狀態字寄存器(Program Status Word,PSW),這個寄存器包含了條碼位(由筆記指令設置)、CPU優先級、模式(用戶態或內核態),以及各種其他控制位。用戶通常讀入整個PSW,但是只對其中少量的字段寫入。在系統調用和I/O中,PSW非常重要
- 最開始取值、解碼、執行這三個過程是同時進行的,意味著任何一個過程旺財都需要等待其余兩個過程執行完畢,浪費時間
- 後來被設計成了流水線式設計,即執行指令n時,可以對指令n+1解碼,並且可以讀取指令n+2,完全是一套流水線
- 超變量cpu,比流水線更加先進,有多個執行單元,可以同時負責不同的事情,比如看片的同時,聽歌,打遊戲。 兩個或更多的指令被同時取出、解碼並裝入一個保持緩沖區中,直至它們都執行完畢。只有有一個執行單元空閑,就檢查保持緩沖區是否還有可處理的指令
- 第一步增強:在CPU芯片加入更大的緩存,一級緩存L1,用和CPU相同的材質制成,CPU訪問它沒有延時
- 第二步增強:一個CPU中處理邏輯增多,Intel公司首次提出,稱為多線程(multithreading)或超線程(hyperthreading),對用戶來說一個有兩個線程的CPU就相當於兩個cpu,我們後面要學習的進程和線程的知識就是起源於這裏,進程是資源單位而線程才是cpu的執行單位。 多線程運行CPU保兩個不同的線程狀態,可以在納秒級的時間內來回切換,熟讀快到你看到的結果是並發的,偽並行的,然而多線程不提供真正的並行處理,一個cpu同一時只能處理一個進程(一個進程中至少一個線程)
- 第三步增強:除了多線程,還出現了包含2個或4個完整處理器的CPU芯片,如下圖。要使用這類多核心芯片肯定需要有多處理操作系統
存儲器 存儲器系統采用如上圖的分層結構,頂層的存儲器速度較高,容量較小,與底層的存儲器相比每位的成本較高,其差別往往是十億數量級的 寄存器即L1緩存 用於CPU相同材質制造,與CPU一樣快,因而CPU訪問它無延時,典型容量是:在32位CPU中位32*32,在64位CPU中為64*64,在兩種情況下容量均<1KB. 高速緩存即L2緩存: 主要有硬件控制高速緩存的存取,內存中有高速緩存行按照0~64字節為行0,64~127為行1。。。最常用的高速緩存行放置在CPU內部或者非常接近CPU的高速緩存中。當某個程序需要讀取一個存儲字時,高速緩存硬件檢查所需要的高速緩存行是否在高速緩存中,如果是,則成為高速緩存命中,緩存滿足了請求,就不需要通過總線把訪問請求送往主存(內存),這畢竟是慢的。高速緩存的命中通常需要兩個時鐘周期。高速緩存未命中,就必須訪問內存,這需要付出大量的時間代價,由於高速緩存價格昂貴,所以其大小有限,有些機器具有兩級甚至三級高速緩存,每一級高速緩存比前一級慢但容量大。 主存(內存): 再往下一層是主存,此乃存儲器系統的助理,主存通常稱為隨機訪問存儲RAM,就是我們通常所說的內存,容量一直在不斷攀升,所有不能再高速緩存中找到的,都會到主存中找,主存是易失性存儲,斷點後數據全部消失。 非易失性隨機訪問存儲ROM(Read Only Memory,ROM) 在電源切斷之後,非易失性存儲的內容並不會求生,ROM只讀存儲器在工廠中就被編程完畢,然後再也不能修改。ROM速度快切便宜,在有些計算機中,用於啟動計算機的引導加載模塊局存在ROM中,另一些I/O卡也采用ROM處理底層設備的控制 EEPROM(Electrically Erasable PROM, 電可擦除可編程ROM)和 閃存(flash memory)也是非易失性的,但是與ROM相反,他們可以擦除和重寫。不過重寫花費的時間比寫入RAM要多。在編寫式電子設備中,閃存通常作為擦除媒介。閃存是數碼相機中的膠卷,是便攜式音譯播放器的磁盤,還應用於固態硬盤。閃存在速度上介於RAM和磁盤之間,但與磁盤不同的是,閃存擦除的次數過多,就被磨損了。 還有一類存儲就是 CMOS,他是易失性的,許多計算機利用CMOS存儲器來保持當前世界和日期。CMOS存儲器和遞增時間的電路有一小塊電池驅動,所以即使計算機沒有加電,時間也仍然可以正確的更新,除此之外CMOS還可以保存配置的參數,比如,哪一個是啟動磁盤等,之所以采用CMOS是應為它耗電量非常少,一塊工廠原裝電池往往能使用若幹年,但是電池失效時,相關配置和時間等都將丟失
磁盤 磁盤低速的原因是因為它一種機械裝置,在磁盤中有一個或多個金屬盤片,它們以5400,7200或10800rpm(RPM =revolutions per minute 每分鐘多少轉 )的速度旋轉。從邊緣開始有一個機械臂懸在盤面上,這類似於老式黑膠唱片機上的拾音臂。信息卸載磁盤上的一些列的同心圓上,是一連串的2進制位(稱為bit位),為了統計方法,8個bit稱為一個字節bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我們平時所說的磁盤容量最終指的就是磁盤能寫多少個2進制位。 每個磁頭可以讀取一段換新區域,稱為磁道 把一個戈丁手臂位置上所以的磁道合起來,組成一個柱面 每個磁道劃成若幹扇區,扇區典型的值是512字節 數據都存放於一段一段的扇區,即磁道這個圓圈的一小段圓圈,從磁盤讀取一段數據需要經歷尋道時間和延遲時間 平均尋道時間 機械手臂從一個柱面隨機移動到相鄰的柱面的時間為尋道時間,找到了磁道就以為找到了數據鎖定在哪個圈圈,但是還不走到數據具體這個圓圈的具體位置 平均延遲時間 機械臂叨叨正確的磁道之後還必須等待旋轉到數據所在的扇區下,這段時間為延遲時間 虛擬內存 許多計算機支持虛擬內存機制,該機制使計算機可以運行大於物理內存的程序,方法是將正在使用的程序放入內存去執行,而暫時不需要執行的程序放到磁盤的某塊地方,這塊地方為虛擬內存,在linux中為swap,這種機制的核心在於快速地映射內存地址,由CPU中的一個部件負責,陳偉存儲器管理單元(Memory Management Unit MMU) PS:從一個程序切換到另外一個程序,稱為上下文切換(context switch),緩存和MMU的出現提升了系統的姓名,尤其是上下文切換
IO設備 CPU和存儲器並不是操作系統唯一需要管理的資源,I/O設備也是非常重要的一環。 I/O設備一般包括兩個部分:設備控制器和設備本身。 控制器:是查找主板上的一塊芯片或一組芯片,控制器負責控制連接的設備,它從操作系統接收命令,比如讀硬盤數據,然後就對硬盤設備發起讀請求來讀取內存 控制器的功能:通常情況下對設備的控制是非常復雜和具體的,控制器的任務就是為操作系統屏蔽這些復雜而具體的工作,提供給操作系統一個簡單而清晰的接口 設備本身:有相對簡單的接口切標準的,這樣大家都可以為其編寫驅動程序了。要想調用設備,必須根據該接口編寫復雜而具體的程序,於是有了控制器提供設備驅動接口給操作系統。必須把設備驅動程序安裝到操作系統中
總線 北橋即PCI橋:連接高速設備 南橋即ISA橋:連接慢速設備
啟動計算機流程
- 計算機加電
- BIOS開始運行,檢測硬件:CPU、內存、硬盤等
- BIOS讀取CMOS存儲中的參數,選擇啟動設備
- 從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512字節,前446為引導信息,後64為分區信息,最後兩個為標誌位)
- 根據分區信息讀入BootLoader啟動裝載模塊,啟動操作系統
- 然後操作系統詢問BIOS,以獲取配置信息。對於每種設備,系統會檢測其設備驅動程序是否存在,如果沒有,系統則會要求用戶安裝設備驅動程序。一旦有了全部的設備驅動程序,操作系統就將它們調入內核。然後初始化有=關的表格(如進程表),創建需要的進程,並在每個終端上啟動登錄程序或GUI
---恢復內容結束---
01 基礎知識-計算機硬件