计算机基础与应用教程计算机硬件,计算机基础系列一:计算机硬件
1、編程語言的作用及與操作系統和硬件的關系
一個完整的計算機系統包括硬件、操作系統、軟件(即程序員開發的各種軟件)三部分組成。
各程序員開發的軟件若直接調用計算機的硬件,如硬盤讀取、音頻播放等,則軟件不僅編寫復雜同時影響開發效率,因此程序員開發的軟件需通過計算機操作系統間接調用計算機各硬件。如下圖:
?即編寫各種計算機軟件的編程語言可看作程序員與計算機溝通的介質,程序員通過編程語言編寫軟件從而達到控制計算機的目的。
2、計算機硬件
計算機硬件(Computer hardware)是指計算機系統中由電子,機械和光電元件等組成的各種物理裝置的總稱。簡言之,計算機硬件是構成計算機的物質基礎,是計算機系統的核心。從外觀上來看,微機由主機箱和外部設備組成。
根據計算機之父馮·諾依曼的劃分,計算機由運算器、控制器、存儲器、輸入設備、輸出設備五部分組成。通常把運算器與控制器合稱為中央處理器(Central Processing Unit,CPU)。
其中:
CPU是計算機的核心,負責計算機的運算及程序控制;
存儲器是計算機的記憶設備,用來存放程序和數據
輸入設備是計算機接收外部信息和數據的設備。常用輸入設備有:鍵盤、鼠標、掃描儀等
輸入設備是輸出計算機處理后的數據。常用的輸出設備有:顯示器、打印機等
在計算機中,計算機各硬件是通過各類總線連接在一起的。
2.1處理器(cpu)
CPU是計算機的核心,負責處理計算機的各種邏輯運算和程序控制等。CPU處理的流程是:從內存讀取指令->解析指令->執行指令,執行完之后繼續從內存讀取指令->解析指令->執行指令,知道所有的程序被執行完畢。
由于CPU的讀寫速度遠大于內存的讀寫速度,為最大限度發揮CPU的效率,將CPU的一些常用指令集存入一個能夠快速讀寫設備中,即寄存器。
寄存器的讀寫速度介于CPU和內存之間。
(計算機處理應用程序流程圖)
寄存器分類:
1) 通用寄存器:用來保存變量和臨時結果
2) 程序計數器:保存將要取出的下一條指令的內存地址。在指令取出后,程序計數器就被更新以便執行后期的指令
3)堆棧指針寄存器:它指向內存中當前棧的頂端。該棧包含已經進入但是還沒有退出的每個過程中的一個框架。在一個過程的堆棧框架中保存了有關的輸入參數、局部變量以及那些沒有保存在寄存器中的臨時變量
4)程序狀態字寄存器(Program Status Word, PSW),這個寄存器包含了條碼位(由比較指令設置)、CPU優先級、模式(用戶態或內核態),以及各種其他控制位。
3、內核態與用戶態
由于需要限制不同的程序之間的訪問能力, 防止他們獲取別的程序的內存數據, 或者獲取外圍設備的數據, 并發送到網絡,因此CPU劃分出兩個權限等級 --?用戶態?和?內核態
在程序狀態字寄存器中與一個二進制位用來控制CPU的模式,
內核態: 當CPU在內核態運行時,CPU可以執行指令集中所有的指令,很明顯,所有的指令中包含了使用硬件的所有功能,(操作系統在內核態下運行,從而可以訪問整個硬件)
用戶態: 用戶程序在用戶態下運行,僅僅只能執行cpu整個指令集的一個子集,該子集中不包含操作硬件功能的部分,因此,一般情況下,在用戶態中有關I/O和內存保護(操作系統占用的內存是受保護的,不能被別的程序占用)
內核態與用戶態的切換:
用戶態程序發出使用操作系統的需求(使用硬件設備)
->用戶程序啟用系統調用
->寄存器執行指令
->CPU切換到內核態
->啟用操作系統獲得服務
->操作系統重置CPU為用戶態并返回系統調用結果
4、存儲器
存儲器(Memory)是計算機中用于保存信息的記憶設備。廣義概念中只要能保存二進制數據的都可以是存儲器。
常用存儲器有:
寄存器即L1緩存:用與cpu相同材質制造,與cpu一樣快,因而cpu訪問它無時延。
高速緩存即L2緩存:主要由硬件控制高速緩存的存取,最常用的高速緩存行放置在cpu內部或者非常接近cpu的高速緩存中。當某個程序需要讀一個存儲字時,高速緩存硬件檢查所需要的高速緩存行是否在高速緩存中。如果是,則稱為高速緩存命中,緩存滿足了請求,就不需要通過總線把訪問請求送往主存(內存),這畢竟是慢的。高速緩存的命中通常需要兩個時鐘周期。
L1與L2的差別在于對cpu對L1的訪問無時間延遲,而對L2的訪問則有1-2個時鐘周期(即1-2ns)的延遲。
內存(RAM):既能讀取也能寫入的存儲器,存儲速度快,斷電后數據全部消失
EEPROM(Electrically Erasable PROM,電可擦除可編程ROM):具有非易私性,擦除和重寫。不過重寫時花費的時間比寫入RAM要多。
閃存(flash memory):具有非易私性,閃存通常作為存儲媒介,多應用于固態硬盤。閃存在速度上介于RAM和磁盤之間,但與磁盤不同的是,閃存擦除的次數過多,就被磨損了
只讀存儲器(ROM):儲的內容是固定不變的,只能讀出而不能寫入的半導體存儲器。通常用于BIOS中。
CMOS存儲器:易失性,多用來存儲計算機bios的設置,如當前時間日期、系統啟動盤信息等。
Bios電池:用于CMOS存儲器供電
磁盤:磁盤結構如下圖:
(常見計算機硬盤結構)
(磁盤結構圖)
磁盤上的一些列的同心圓上,是一連串的2進制位(稱為bit位),為了統計便,8個bit稱為一個字節bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我們平時所說的磁盤容量最終指的就是磁盤能寫多少個2進制位。
每個磁頭可以讀取一段換新區域,稱為磁道
把一個戈丁手臂位置上所以的磁道合起來,組成一個柱面
每個磁道劃成若干扇區,扇區典型的值是512字節
磁盤存儲的基本單位是一個二進制位,讀寫的基本單位是扇區
操作系統中磁盤文件存儲管理的最小單位叫:“塊(block)”,一般一個塊為8個扇區
數據都存放于一段一段的扇區,即磁道這個圓圈的一小段圓圈,從磁盤讀取一段數據需要經歷尋道時間和延遲時間
平均尋道時間:機械手臂從一個柱面隨機移動到相鄰的柱面的時間成為尋到時間,找到了磁道就以為著招到了數據所在的那個圈圈,但是還不知道數據具體這個圓圈的具體位置
平均延遲時間:機械臂到達正確的磁道之后還必須等待旋轉到數據所在的扇區下,這段時間成為延遲時間
6、虛擬內存與MMU
虛擬內存:虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間)。在CPU中將正在使用的程序放入內存去執行,而暫時不需要執行的程序放到磁盤的某塊地方,這塊地方成為虛擬內存。
MMU即存儲器管理單元(Memory Management Unit):是CPU中負責在虛擬內存中將不需要執行的磁盤程序快速映射到內存地址的部件
磁帶:在價錢相同的情況下比硬盤擁有更高的存儲容量,雖然速度低于磁盤,但是因其大容量,在地震水災火災時可移動性強等特性,常被用來做備份。(常見于大型數據庫系統中)
7、設備驅動與控制器
設備驅動:即設備驅動程序,是一種可以使計算機和設備通信的特殊程序。相當于硬件的接口,操作系統只有通過這個接口,才能控制硬件設備的工作,假如某設備的驅動程序未能正確安裝,便不能正常工作,是硬件和系統之間的橋梁。
控制器:是計算機的指揮中心,負責決定執行程序的順序,給出執行指令時機器各部件需要的操作控制命令. 主要功能:從內存中取出一條指令,并指出下一條指令在內存中位置,對指令進行譯碼或測試,并產生相應的操作控制信號,以便啟動規定的動作;指揮并控制CPU、內存和輸入/輸出設備之間數據流動的方向。
8、總線與南橋和北橋
總線(Bus):是計算機各種功能部件之間傳送信息的公共通信干線,它是由導線組成的傳輸線束。總線是一種內部結構,它是cpu、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件通過總線相連接,外部設備通過相應的接口電路再與總線相連接,從而形成了計算機硬件系統。在計算機系統中,各個部件之間傳送信息的公共通路叫總線,微型計算機是以總線結構來連接各個功能部件的。
北橋即PCI橋:是電腦主板芯片組中的一枚。北橋被用來處理高速信號、通常處理CPU(處理器)、RAM(內存)和南橋芯片之間的通信。
南橋即ISA橋:連接慢速設備,南橋芯片主要是負責I/O接口等一些外設接口的控制、IDE設備的控制及附加功能等。
9、操作系統的啟動流程
啟動流程
1)?????? 計算機加電
2)?????? BIOS開始運行,檢測硬件:cpu、內存、硬盤等
3)?????? BIOS讀取CMOS存儲器中的參數,選擇啟動設備
4)?????? 從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512字節,前446為引導信息,后64為分區信息,最后兩個為標志位)
5)?????? 根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統
6)?????? 然后操作系統詢問BIOS,以獲得配置信息。對于每種設備,系統會檢查其設備驅動程序是否存在,如果沒有,系統則會要求用戶按照設備驅動程序。一旦有了全部的設備驅動程序,操作系統就將它們調入內核。然后初始有關的表格(如進程表),穿件需要的進程,并在每個終端上啟動登錄程序或GUI
10、應用程序的啟動流程
1)?????? 啟動應用程序
2)?????? 應用程序將需求發送操作系統
3)?????? CPU從內存中讀取指令、解析指令、執行指令
4)?????? 操作系統輸出CPU執行結果
來源:https://www.cnblogs.com/hedeyong/p/6875017.html
總結
以上是生活随笔為你收集整理的计算机基础与应用教程计算机硬件,计算机基础系列一:计算机硬件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机算法音乐专业,音乐信号分析算法的乐
- 下一篇: 游戏设计与计算机,RPG游戏设计与实现-