1. 程式人生 > >計算機基礎系列之計算機硬件

計算機基礎系列之計算機硬件

機械臂 增強 操作系統 材質 要求 驅動程序 編程語言 cmos ima

what‘s the 計算機硬件?

  一套完整的計算機系統分為計算機硬件、操作系統軟件。python是編程語言,通過語言得到的是軟件,軟件的最終目的是為了操控硬件的運行,而直接用軟件操控硬件會造成很多不必要的麻煩,所以在軟件和硬件之間還存在著操作系統。既然我們的最終目的是為了操控硬件運行以得到想要的結果,所以我們首先就得了解在一臺計算機中,它的硬件主要是哪些。

  計算機硬件主要為CPU、內存、磁盤、輸入設備和輸出設備。這些都通過一條總線連接。

  CPU是計算機的大腦,任何軟件的執行最終都要轉化為CPU執行。因為CPU執行指令很快而訪問內存以得到指令或數據的時間相對要久,所以,CPU內部有一個寄存器,用來保存關鍵變量和臨時數據,最重要的寄存器是程序狀態字寄存器(Program Status Word,PSW)。

  一般情況下的CPU只有兩種狀態——內核態用戶態操作系統運行時處於內核態,在內核態情況下,整個系統的硬件都可以被調用。用戶程序在運行時處於用戶態,在用戶態情況下硬件無法被操作,而用戶程序在運行中肯定是需要對硬件進行操作的例如對文件的讀取,所以用戶態和內核態之間必須做到能夠切換,此時用戶程序使用系統調用,系統調用是一個特別的過程調用指令,該指令具有從用戶態切換到內核態的特別能力。

  moore定律指出,芯片中的晶體管數量每18個月翻一倍,隨著晶體管數量的增多,功能就會更強大。

I.第一步增強:在cpu芯片中加入更大的緩存,一級緩存L1,用和cpu相同的材質制成,cpu訪問它沒有時延

II.第二步增強:一個cpu中的處理邏輯增多,稱為多線程或超線程,對用戶來說一個有兩個線程的cpu就相當於兩個cpu,進程是資源單位而線程才是cpu的執行單位。

多線程運行cpu保持兩個不同的線程狀態,可以在納秒級的時間內來回切換,速度快到你看到的結果是並發的,偽並行的,然而多線程不提供真正的並行處理,一個cpu同一時刻只能處理一個進程(一個進程中至少一個線程)

III.第三步增強:除了多線程,還出現了包含2個或者4個完整處理器的cpu芯片,如下圖。要使用這類多核芯片肯定需要有多處理操作系統

技術分享技術分享

  計算機中第二重要的是儲存器。儲存器的選擇主要看三個因素:速度、容量和價錢。但是要做到每個都最優目前是不可能的,存儲器系統的分層結構如下圖所示技術分享

頂層的存儲器速度較高,容量較小,與底層的存儲器相比每位的成本較高,其差別往往是十億數量級的。

  寄存器的材質與CPU相同,所以它的讀寫速度能做到與CPU一樣快,是最高效的存儲器。L1緩存指的就是寄存器。

  高速緩存即L2緩存,最常用的高速緩存一般都放在CPU內或者非常接近CPU的位置。當某個程序需要讀一個存儲字時,高速緩存硬件檢查所需要的高速緩存行是否在高速緩存中。如果是,則稱為高速緩存命中,緩存滿足了請求,就不需要通過總線把訪問請求送往主存(內存)。

  內存是存儲器系統的主力。內存是易失性存儲,斷電後數據就全部消失。可以理解為電腦進程開的太多使得運行變慢時,重啟就可以解決問題。因為重啟意味著一次斷電的行為,進程會因為RAM數據消失而被迫結束,所以電腦變得流暢起來。

  EEPROM(Electrically Erasable PROM,電可擦除可編程ROM)和閃存(flash memory)也是非易失性的,不過重寫時花費的時間比寫入RAM要多。在便攜式電子設備中中,閃存通常作為存儲媒介。閃存是數碼相機中的膠卷,是便攜式音譯播放器的磁盤,還應用於固態硬盤。閃存在速度上介於RAM和磁盤之間,但與磁盤不同的是,閃存擦除的次數過多,就被磨損了。

  另外還有一種特別與眾不同的存儲器叫CMOS,它是易失性的許多計算機利用CMOS存儲器來保持當前時間和日期。CMOS存儲器和遞增時間的電路由一小塊電池驅動,所以,即使計算機沒有加電,時間也仍然可以正確地更新,除此之外CMOS還可以保存配置的參數,因為它耗電非常少。

  磁盤是一種機械裝置,在磁盤中有一個或多個金屬盤片,它們以5400,7200或10800rpm(RPM =revolutions per minute 每分鐘多少轉 )的速度旋轉。因為磁盤旋轉速度相對而言較慢,所以它的讀寫速度就較慢。每個磁頭可以讀取一段換新區域,稱為磁道把一個戈丁手臂位置上所以的磁道合起來,組成一個柱面每個磁道劃成若幹扇區,扇區典型的值是512字節,數據都存放於一段一段的扇區,即磁道這個圓圈的一小段圓圈,從磁盤讀取一段數據需要經歷尋道時間和延遲時間,找到了磁道就意味著找到了數據所在的那個圈圈,但是還不知道數據具體這個圓圈的具體位置,機械手臂從一個柱面隨機移動到相鄰的柱面的時間成為尋到時間機械臂到達正確的磁道之後還必須等待旋轉到數據所在的扇區下,這段時間成為延遲時間。

  虛擬內存的作用是可以使計算機運行大於物理內存的程序,方法是將正在使用的程序放入內存取執行,而暫時不需要執行的程序放到磁盤的某塊地方,這塊地方成為虛擬內存。

  磁帶在價錢相同的情況下比硬盤擁有更高的存儲容量,雖然速度低於磁盤,但是因其大容量,在地震水災火災時可移動性強等特性,常被用來做備份。

  隨著處理器和存儲器速度越來越快,單總線很難處理總線的交通流量了,於是出現了下圖的多總線模式,他們處理I/O設備及cpu到存儲器的速度都更快。北橋即PCI橋:連接高速設備;南橋即ISA橋:連接慢速設備。

技術分享


總結:

  計算機的啟動流程如下:1、計算機加電;2、BIOS開始運行,檢測硬件:cpu、內存、硬盤等;3、BIOS讀取CMOS存儲器中的參數,選擇啟動設備;4、從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512字節,前446為引導信息,後64為分區信息,最後兩個為標誌位);5、根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統;6、然後操作系統詢問BIOS,以獲得配置信息。對於每種設備,系統會檢查其設備驅動程序是否存在,如果沒有,系統則會要求用戶按照設備驅動程序。一旦有了全部的設備驅動程序,操作系統就將它們調入內核。然後初始有關的表格(如進程表),穿件需要的進程,並在每個終端上啟動登錄程序或GUI。

  應用程序的啟動流程如下:操作系統找到硬盤上的應用軟件,然後CPU取指——解碼——執行文件。軟件本身要運行一個文件,通過操作系統控制硬盤提取文件,這個過程要將CPU從用戶態轉換為內核態,CPU執行要運行的這個文件的過程中又將內核態轉換為用戶態。

計算機基礎系列之計算機硬件