日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机基础之硬件

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机基础之硬件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 對于現在人來說,說到計算機大家都不陌生。一般臺式機,大家可以直觀看見的有顯示器、鍵盤、鼠標、主機等。下面就說說硬件都有哪些吧?

??? 計算機硬件(Computer hardware)是指計算機系統中由電子,機械和光電元件等組成的各種物理裝置的總稱。這些物理裝置按系統結構的要求構成一個有機整體為計算機軟件運行提供物質基礎。簡言之,計算機硬件的功能是輸入并存儲程序和數據,以及執行程序把數據加工成可以利用的形式。從外觀上來看,微機由主機箱和外部設備組成。主機箱內主要包括CPU、內存、硬盤、主板、各種擴展卡、電源等;外部設備包括鼠標、鍵盤等。

1、CPU

? ? 中央處理器(CPU,Central Processing Unit)是一塊超大規模的集成電路,是一臺計算機的大腦。它的功能主要是解釋計算機指令以及處理計算機軟件中的數據。

中央處理器主要包括運算器(算術邏輯運算單元,ALU,Arithmetic Logic Unit)和高速緩沖存儲器(Cache)及實現它們之間聯系的數據(Data)、控制及狀態的總線(Bus)。它與內部存儲器(Memory)和輸入/輸出(I/O)設備合稱為電子計算機三大核心部件。

2、內存條

??? 內存條是CPU可通過總線尋址,并進行讀寫操作的電腦部件。內存條在個人電腦歷史上曾經是主內存的擴展。隨著電腦軟、硬件技術不斷更新的要求,存條已成為讀寫內存的整體。我們通常所說電腦內存(RAM)的大小,即是指內存條的總容量內。RAM屬易失性存儲。

3、硬盤

??? 硬盤是電腦主要的存儲媒介之一(ROM),硬盤有固態硬盤(SSD 盤,新式硬盤)、機械硬盤(HDD 傳統硬盤)、混合硬盤(HHD 一塊基于傳統機械硬盤誕生出來的新硬盤)。SSD采用閃存顆粒來存儲,HDD采用磁性碟片來存儲,混合硬盤(HHD: Hybrid Hard Disk)是把磁性硬盤和閃存集成到一起的一種硬盤。絕大多數硬盤都是固定硬盤,被永久性地密封固定在硬盤驅動器中。ROM屬非易失性存儲。

??? 硬盤中數據都存放于一段一段的扇區,即磁道這個圓圈的一小段圓圈,從磁盤讀取一段數據需要經歷尋道時間和延遲時間。平均尋道時間,即機械手臂從一個柱面隨機移動到相鄰的柱面的時間成為尋到時間,找到了磁道就以為著招到了數據所在的那個圈圈,但是還不知道數據具體這個圓圈的具體位置;機械臂到達正確的磁道之后還必須等待旋轉到數據所在的扇區下,這段時間成為延遲時間。

4、主板

??? 電腦機箱主板,又叫主機板(mainboard)、系統版(systemboard)或母板(motherboard);它分為商用主板和工業主板兩種。它安裝在機箱內,是微機最基本的也是最重要的部件之一。主板一般為矩形電路板,上面安裝了組成計算機的主要電路系統,一般有BIOS芯片、I/O控制芯片、鍵和面板控制開關接口、指示燈插接件、擴充插槽、主板及插卡的直流電源供電接插件等元件。

??? 以上介紹的就是計算機硬件的一些情況,當然還有各種擴展卡、電源等都屬于計算機硬件,我們就不一一列舉了。好了,以上我們走馬觀花的大致了解了一下計算機的硬件,下面我們具體講一下:

?

寄存器

???? CPU(處理器)它從內存中去指令-->解碼-->執行然后再取指-->解碼-->執行下一條指令,周而復始,直至整個程序被執行完成。為了提高處理器的運算效率,處理器中有一個組成部分叫寄存器。那么,寄存器呢,它是有限存貯容量的高速存貯部件,可用來暫存指令、數據和地址。

??? 寄存器又分為:數據寄存器,用來儲存整數數字(參考浮點寄存器),在某些簡單/舊的CPU里,特別的數據寄存器是累加器,作為數學計算之用;

??????????????????????? 地址寄存器,持有存儲器地址,以及用來訪問存儲器,在某些簡單/舊的CPU里,特別的地址寄存器是索引寄存器;

??????????????????????? 通用目的寄存器,可以保存數據或地址兩者,也就是說它們二者是結合數據/地址寄存器的功用;

??????????????????? ? ? 浮點寄存器,用來儲存浮點數字;

? ? ? ? ? ? ? ? ? ? ? ? 常數寄存器,用來持有只讀的數值;

??????????????????????? 向量寄存器,用來儲存由向量處理器運行SIMD(Single Instruction,Multiple Data)指令所得到的的數據;

??????????????????????? 特殊目的寄存器,儲存CPU內部的數據,像是程序計數器(或稱為指令指針),堆棧寄存器,以及狀態寄存器(或稱微處理器狀態字組);

??????????????????????? 指令寄存器,儲存現在正在被運行的指令;

??????????????????????? 索引寄存器,在程序運行實用來更改運算對象地址之用;

??????????????????????? 程序狀態字寄存器,程序狀態寄存器PSW是計算機系統的核心部件——運算器的一部分,PSW用來存放兩類信息:一類是體現當前指令執行結果的各種狀態信息,如有無進位(CY位),有無溢出(OV位),結果正負(SF位),結果是否為零(ZF位),奇偶標志位(P位)等;另一類是存放控制信息,如允許中斷(IF位),跟蹤標志(TF位)等。

??? 寄存器的維護,操作系統必須知曉所有的寄存器。在時間多路復用的CPU中,操作系統會經常中止正在運行的某個程序并啟動(或再次啟動)另一個程序。每次停止一個運行著的程序時,操作系統必須保存所有的寄存器,這樣在稍后該程序被再次運行時,可以把這些寄存器重新裝入。

??? 對于處理器設計的演變,下面我從兩幅圖片來展示下。

?

?

?

下圖就是超變量cpu,比流水線更加先進,有多個執行單元,可以同時負責不同的事情,比如看片的同時,聽歌,打游戲。

?

???

內核態與用戶態

??? 除了在嵌入式系統中的非常簡答的CPU之外,多數CPU都有兩種模式,即內核態與用戶態。通常,PSW中有一個二進制位控制這兩種模式。那么,什么是內核態呢?內核態就是擁有資源多的狀態,或者說訪問資源多的狀態,我們也稱之為特權態。

??? 相對來說,用戶態就是非特權態,在此種狀態下訪問的資源將受到限制。如果一個程序運行在特權態,則該程序就可以訪問計算機的任何資源,即它的資源訪問權限不受限制。如果一個程序運行在用戶態,則其資源需求將受到各種限制。

??? 用戶態和內核態的轉換

1)用戶態切換到內核態的3種方式

a. 系統調用

??????? 這是用戶態進程主動要求切換到內核態的一種方式,用戶態進程通過系統調用申請使用操作系統提供的服務程序完成工作,比如前例中fork()實際上就是執行了一個創建新進程的系統調用。而系統調用的機制其核心還是使用了操作系統為用戶特別開放的一個中斷來實現,例如Linux的int 80h中斷。

b. 異常

?? ???? 當CPU在執行運行在用戶態下的程序時,發生了某些事先不可知的異常,這時會觸發由當前運行進程切換到處理此異常的內核相關程序中,也就轉到了內核態,比如缺頁異常。

c. 外圍設備的中斷

?? ???? 當外圍設備完成用戶請求的操作后,會向CPU發出相應的中斷信號,這時CPU會暫停執行下一條即將要執行的指令轉而去執行與中斷信號對應的處理程序,如果先前執行的指令是用戶態下的程序,那么這個轉換的過程自然也就發生了由用戶態到內核態的切換。比如硬盤讀寫操作完成,系統會切換到硬盤讀寫的中斷處理程序中執行后續操作等。

2)具體的切換操作

從觸發方式上看,可以認為存在前述3種不同的類型,但是從最終實際完成由用戶態到內核態的切換操作上來說,涉及的關鍵步驟是完全一致的,沒有任何區別,都相當于執行了一個中斷響應的過程,因為系統調用實際上最終是中斷機制實現的,而異常和中斷的處理機制基本上也是一致的,關于它們的具體區別這里不再贅述。關于中斷處理機制的細節和步驟這里也不做過多分析,涉及到由用戶態切換到內核態的步驟主要包括:

a. 從當前進程的描述符中提取其內核棧的ss0及esp0信息。

b. 使用ss0和esp0指向的內核棧將當前進程的cs,eip,eflags,ss,esp信息保存起來,這個過程也完成了由用戶棧到內核棧的切換過程,同時保存了被暫停執行的程序的下一條指令。

c. 將先前由中斷向量檢索得到的中斷處理程序的cs,eip信息裝入相應的寄存器,開始執行中斷處理程序,這時就轉到了內核態的程序執行了。

多線程與多核芯片

??? 多線程,是指從軟件或者硬件上實現多個線程并發執行的技術。具有多線程能力的計算機因有硬件支持而能夠在同一時間執行多于一個線程,進而提升整體處理性能。具有這種能力的系統包括對稱多處理機、多核心處理器以及芯片級多處理(Chip-level multithreading)或同時多線程(Simultaneous multithreading)處理器。

??? 多核芯片(multicore chips)是指在一枚處理器(chip)中集成兩個或多個完整的計算引擎(內核)。

以下就是兩種處理器對比圖

?

?

存儲器

??? 存儲器工作速度由快到慢排列為:寄存器即L1緩存 > 高速緩存即L2緩存 > 內存(RAM) > 磁盤(ROM)> 磁帶。

??? 還有一類存儲器就是CMOS,它是易失性的,許多計算機利用CMOS存儲器來保持當前時間和日期。CMOS存儲器和遞增時間的電路由一小塊電池驅動,所以,即使計算機沒有加電,時間也仍然可以正確地更新,除此之外CMOS還可以保存配置的參數,但是當電池失效時,相關的配置和時間等都將丟失。

??? 虛擬內存是計算機系統內存管理的一種技術。它使得應用程序為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。目前,大多數操作系統都使用了虛擬內存,如Windows家族的“虛擬內存”;Linux的“交換空間”等。

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

??? I/O設備一般包括兩個部分:設備控制器和設備本身。

控制器:是查找主板上的一塊芯片或一組芯片(硬盤,網卡,聲卡等都需要插到一個口上,這個口連的便是控制器),控制器負責控制連接的設備,它從操作系統接收命令,比如讀硬盤數據,然后就對硬盤設備發起讀請求來讀出內容。

控制器的功能:通常情況下對設備的控制是非常復雜和具體的,控制器的任務就是為操作系統屏蔽這些復雜而具體的工作,提供給操作系統一個簡單而清晰的接口

設備本身:有相對簡單的接口且標準的,這樣大家都可以為其編寫驅動程序了。要想調用設備,必須根據該接口編寫復雜而具體的程序,于是有了控制器提供設備驅動接口給操作系統。必須把設備驅動程序安裝到操作系統中。

總線

???? 總線(Bus),是計算機各種功能部件之間傳送信息的公共通信干線,它是由導線組成的傳輸線束, 按照計算機所傳輸的信息種類,計算機的總線可以劃分為數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。

北橋即PCI橋:連接高速設備

南橋即ISA橋:連接慢速設備

???

?

啟動計算機

??? 計算機按下開機鍵后,首先響應的就是BIOS(BIOS就相當于一個小的操作系統,它有底層的I/O軟件,包括讀鍵盤,寫屏幕,進行磁盤I/O,該程序存放于一非易失性閃存RAM中)。BIOS開始運行,檢測硬件:cpu、內存、硬盤等,并讀取CMOS存儲器中的參數,選擇啟動設備,讀取系統所屬扇區的內容。根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統。然后操作系統詢問BIOS,以獲得配置信息。對于每種設備,系統會檢查其設備驅動程序是否存在,如果沒有,系統則會要求用戶按照設備驅動程序。一旦有了全部的設備驅動程序,操作系統就將它們調入內核。然后初始有關的表格(如進程表),穿件需要的進程,并在每個終端上啟動登錄程序或GUI。最后,恭喜你,計算機啟動成功。

?

?

?

???

?

?

???

?

轉載于:https://www.cnblogs.com/Michael--chen/p/6532920.html

總結

以上是生活随笔為你收集整理的计算机基础之硬件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。