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

what‘s the 計算機硬件?

  一套完整的計算機系統分爲計算機硬件、操做系統軟件。python是編程語言,經過語言獲得的是軟件,軟件的最終目的是爲了操控硬件的運行,而直接用軟件操控硬件會形成不少沒必要要的麻煩,因此在軟件和硬件之間還存在着操做系統。既然咱們的最終目的是爲了操控硬件運行以獲得想要的結果,因此咱們首先就得了解在一臺計算機中,它的硬件主要是哪些。python

  計算機硬件主要爲CPU、內存、磁盤、輸入設備和輸出設備。這些都經過一條總線鏈接。編程

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

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

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

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

II.第二步加強:一個cpu中的處理邏輯增多,稱爲多線程或超線程,對用戶來講一個有兩個線程的cpu就至關於兩個cpu,進程是資源單位而線程纔是cpu的執行單位。spa

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

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

 

 

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

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

  寄存器的材質與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橋:鏈接慢速設備。

 

 

 


 

 總結:

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

  應用程序的啓動流程以下:操做系統找到硬盤上的應用軟件,而後CPU取指——解碼——執行文件。軟件自己要運行一個文件,經過操做系統控制硬盤提取文件,這個過程要將CPU從用戶態轉換爲內核態,CPU執行要運行的這個文件的過程當中又將內核態轉換爲用戶態。

相關文章
相關標籤/搜索