本節內容:計算機硬體系統的元件。
計算機的核心元件:CPU、記憶體、主機板、硬碟、顯示卡、顯示器和鍵盤。
計算機的結構演進馮·諾依曼,以儲存為中心的計算機體系結構,現代計算機體系結構。
計算機系統的五個層次:第 0 層微指令、第 1 層機器語言指令集、第 2 層作業系統、第 3 層組合語言、第 4 層高階語言。
在本節中,我們將介紹計算機的硬體元件,並對計算機有乙個全面的了解。 在接下來的課程中,我們將重點介紹計算機的各種硬體。 學習如何通過計算機軟體控制計算機各種硬體的工作。
計算機硬體組成
圖 1-9 計算機配置。
圖 1-9 顯示了計算機的硬體組成。 在學習程式設計之前,我們需要澄清乙個概念:計算機系統分為硬體系統和軟體系統。 計算機硬體由CPU、記憶體、主機板、磁碟、IO輸入輸出裝置等一系列硬體組成。 計算機沒有智慧型,就沒有生命。 計算機軟體是由程式設計師編寫的資料和指令組成的可執行程式,包括作業系統、基礎軟體和應用軟體。 計算機在程式設計師編寫的控制指令下執行並完成預定任務。 在本節中,我們將熟悉計算機的硬體元件和功能。 在第二部分:十六位編譯在本章中,我們將學習如何通過編寫程式指令來控制 8086 計算機的 CPU、記憶體、磁碟、鍵盤、顯示器、印表機和其他元件的執行。 我們完成這部分的學習後,就會對計算機操作的原理有深刻的理解,這對我們以後的學習有很大的幫助。
下面我們將分別介紹計算機的主要部件。
●cpu
CPU相當於計算機的大腦。
CPU的作用是什麼?
第乙個功能是控制計算機的各個部分工作。
第二個角色是執行算術和邏輯運算。
第三個作用是資料交換。
我們將在第 6 章 8086 CPU 暫存器本章詳細介紹了 CPU 暫存器。
母板
主機板是計算機各個部件的載體。 主機板通過插槽和匯流排將 CPU 連線到外部元件。 我們可以在主機板上看到的連線各個插槽的印刷電路是匯流排。 匯流排又分為資料匯流排、位址匯流排和控制匯流排。 本章內容“1.5節巴士”。我們將在本節中更詳細地介紹。
如圖1-10所示,CPU插槽位於主機板中央,CPU通過匯流排與主機板上其他硬體裝置的插槽連線。
記憶
儲存器是儲存資料和指令的地方,由數千個暫存器組成。 記憶體通過主機板上的記憶體模組插槽連線到 CPU。 記憶體儲存空間的大小以位元組為單位,每個位元組都有乙個位址號。 我們將在“1.第三節 基本概念”。詳細解釋了記憶的概念。 記憶體讀取和寫入資料的速度相對較快。 記憶體是計算機中僅次於CPU的最重要部分。 記憶體越大,計算機可以同時處理的資料就越多。 記憶力將成為我們未來學習內容的重點。 我們將在第七章 8086 定址方法詳細介紹了 8086 計算機。
硬碟
硬碟是外部儲存裝置,也稱為磁碟。 資料通常以檔案的形式儲存,由硬碟中的磁頭讀取和寫入。 硬碟儲存資料的容量遠大於記憶體,成本低,但讀寫資料的速度相對較慢。 第 13 章 磁碟檔案管理和應用程式在章節中,我們將詳細解釋 8086 計算機磁碟檔案的操作。
顯示卡
顯示卡稱為 GPU,是用於通過螢幕顯示資料的元件。 早期的圖形通過主機板上的乙個單獨的插槽連線到CPU。 現在,由於VLSI積體電路的發展,一些CPU製造商已經將顯示卡整合到CPU中,這稱為整合顯示卡。 顯示卡有自己獨立的儲存空間,稱為視訊記憶體。 視訊記憶體分為RAM動態儲存和ROM靜態儲存兩部分。 我們將要在螢幕上顯示的資料寫入到視訊記憶體的RAM動態儲存空間中,然後就可以顯示在螢幕上了。 視訊記憶體的ROM靜態儲存空間儲存顯示卡的IO驅動。 視訊記憶體越大,同時儲存的資料越多,顯示卡的效能越高,螢幕顯示越流暢。 我們將在第 16 章 輸入和輸出中斷本章詳細介紹了 8086 計算機圖形驅動程式的實現。
圖1-10 電腦主機板電路圖
顯示
顯示器是顯示卡用來顯示資料的標準輸出裝置。 作為程式設計師,我們需要學習純圖形裝置的驅動程式,而不需要關心顯示器的物理特性。
光碟機
光碟機是一種用於讀寫光碟的外部輸入輸出裝置,隨著行動硬碟裝置的飛速發展。 今天的計算機使用相對較少。
鍵盤
鍵盤是我們用於人機互動的裝置,是計算機的標準輸入裝置。 鍵盤上的按鍵分為字元鍵、功能鍵和控制鍵。 每個按鈕對應乙個掃瞄碼。 當我們按下字元鍵時,會生成乙個密碼,並獲得乙個掃瞄碼和乙個 ASCII 碼,指示按下哪個鍵及其對應的字元。 功能鍵 F1 和 F12 的 ASCII 碼為 0。 Ctrl、Alt、Shift、CAPS 和 Numlock 鍵都是控制鍵,按下 control 鍵,就會在鍵盤鍵狀態位元組對應的標誌位置 1 處,當我們得到鍵盤狀態位元組時,我們就知道是否按了以及按哪個控制鍵。 我們將在下面看到詳細資訊第 16 章 輸入和輸出中斷在各章中進行了更詳細的解釋。
鼠
滑鼠是另一種用於人機互動的輸入裝置,實際上相當於乙個簡化的鍵盤。 早期,滑鼠只有乙個按鈕,後來發展為左右兩個按鈕。 今天,滑鼠左右按鈕的中間還有乙個滾輪,用於操縱視窗的滾動條。 我們將在Windows 程式設計課程中詳細介紹了滑鼠裝置的操作。
其他裝置
機箱是電腦的外殼,包括控制電腦開機的按鈕,通過連線線連線到主機板的相應插槽。
電源裝置是給計算機供電的外部裝置,包括主機板的電源聯結器和其他外部裝置的獨立電源聯結器。
早期,網絡卡和音效卡裝置是獨立的外部裝置,通過主機板插槽連線到CPU,網絡卡控制計算機連線到外部Internet。 音效卡控制聲音的輸入和輸出。 如今的計算機通常將音效卡和網絡卡整合到主機板中,而不是使用單獨的裝置。
還有一些其他外部裝置,如掃瞄器、印表機等。 關於我們將使用的印表機裝置第15章 資料傳輸方式跟第 16 章 輸入和輸出中斷在本章中有詳細描述。
總結。 CPU是計算機系統的核心,CPU內部的控制單元控制著計算機外部裝置的執行。 CPU 內部的算術邏輯運算單元執行算術邏輯運算。 CPU 中的暫存器執行資料儲存、命令控制、狀態記錄和定址等操作。
CPU通過主機板的匯流排連線到主機板插座上的外部裝置,通過控制匯流排傳輸控制命令來控制外部裝置的執行。 資料通過資料匯流排傳輸到外部裝置。 通過位址匯流排獲取外部裝置的埠位址。 CPU還可以通過指定的埠位址讀取外部裝置的狀態暫存器,獲取外部裝置的當前狀態資訊。
記憶體是計算機中除 CPU 之外最重要的部分。 記憶體是一組連續的線性儲存空間(以位元組為單位),每個位元組都有乙個位址號。 計算機和外部裝置之間的資料傳輸,程式的載入和執行,都離不開記憶體。 如果要在記憶體中讀取和寫入資料和指令,則必須找到記憶體中資料或指令的確切位址。 因此,正確的定址是讀寫儲存器資料和程式控制的關鍵。
鍵盤是計算機人機互動的標準輸入裝置。 顯示卡和螢幕是計算機人機互動的標準輸出裝置。
此外,我們常用的輸出裝置之一是印表機裝置。 我們將計算機的 I/O 裝置稱為計算機的 I/O 裝置。 我們將在第 16 章 輸入和輸出中斷這些裝置的驅動程式在章節中有詳細描述。
簡而言之,計算機由許多硬體裝置和軟體組成,我們稱之為計算機系統。 程式設計師通過編寫計算機軟體和傳送控制命令來控制計算機的執行。
提示。 有些讀者可能是初學者,對上述內容中提到的一些概念仍然比較陌生。 沒關係,我們將在接下來的章節中詳細解釋這些概念,以及它們的實現原則和過程。 當我們在了解了具體內容後再回到上面的內容時,應該會更加熟悉。
典型的馮氏。 諾依曼結構式:(巴貝奇的分析機器原理)。
圖1-11 馮。 諾依曼結構式
圖 1-11 所示的馮·諾依曼結構實際上是巴貝奇解析機的繼承者。 有三個關鍵元件:輸入裝置、輸出裝置和記憶體。 中間有乙個運算器,它功能是算術運算和邏輯運算。 此外,還有乙個控制器,控制器的作用是控制計算機的各個部分工作。
讓我們看一下馮·諾依曼結構的工作流程。 我們使用黑色實線作為資料線,藍色虛線作為控制線。
我們先來看看資料傳輸過程
資料首先由輸入裝置輸入。
輸入資料後,資料被輸入到運算器中進行算術邏輯運算。
在執行算術邏輯運算時,運算器和儲存器之間存在資料交換。 例如,從記憶體中讀取運算元,或者將計算的臨時結果儲存在記憶體中。
輸出資料。 有兩種情況,一種是運算器計算結果並直接輸出。 第二種是取出儲存在記憶體中的結果並輸出。
我們來看一下控制命令的傳輸過程:
控制器向輸入裝置傳送控制命令。
控制器向輸出裝置傳送控制命令。
控制器向運算器傳送控制指令。
控制器向記憶體傳送指令。
接下來,讓我們看一下以儲存為中心的計算架構。
以儲存為中心的計算機體系結構
圖 1-12 以記憶體為中心的計算機結構。
圖1-12所示為以儲存為中心的計算結構,分為三個資料指令傳輸過程。 諾依曼結構增加了乙個反饋過程。 它的部分是 和 von。 諾依曼結構的主要組成部分是相同的,有輸入裝置、輸出裝置控制器、儲存器和運算器。 只是它的工作流程發生了變化。
我們先來看一下控制過程:
控制器向輸入裝置傳送控制命令。
控制器向輸出裝置傳送控制命令。
控制器向運算器傳送控制指令。
控制器向記憶體傳送指令。
馮·諾依曼結構沒有變化。
讓我們看一下資料傳輸過程:
首先,從輸入裝置輸入資料。
然後,資料從輸入裝置進入儲存器。
儲存器將資料(指令)饋送到控制器中。
運算器可以對記憶體執行雙向讀/寫操作。
資料由儲存器饋入輸出裝置,結果輸出。
讓我們再看一下反饋過程:
當控制器通過控制命令操作輸入裝置、輸出裝置、儲存器和運算器時,裝置將裝置狀態返回給控制器,以確定錯誤的原因和下一步該怎麼做。
與馮·諾依曼結構相比,以儲存為中心的計算機體系結構有哪些優勢?
在馮·諾依曼結構中,如果工作流程是錯誤的(它的任何部分都可能出錯),我們不知道。 如果有反饋資訊,那麼我們可以一目了然地知道問題出在哪裡,是輸入裝置還是輸出裝置。 這是一項重要的改進。
此外,採用以儲存為中心的計算機結構,傳輸資料和指令的過程更加簡潔高效。 儲存器中的資料被饋入運算器,儲存器中的指令被饋送到控制器中。
注意。 乙個新的問題出現了,我們如何知道哪些是資料,哪些是指令?如果我們在編寫程式時按照指定的編碼格式對指令和資料進行編寫和標註,並將片段儲存在不同的區域,這個問題就可以輕鬆解決。 這就是我們後來編寫程式時所做的。
現代計算機體系結構
如圖1-13所示,現代計算機的結構類似於以儲存為中心的結構,包括IO輸入和輸出裝置。 CPU內部有乙個控制單元和乙個邏輯算術單元,後跟乙個主儲存器。
現代計算機體系結構類似於以記憶體為中心的計算機體系結構工作流,包括在 CPU、主記憶體和外部 IO 裝置之間移動的資料、命令和反饋資訊的傳輸,這裡不再贅述。
5級計算機系統
如圖1-14所示,請參見圖1-14
第 0 層微指令:是物理邏輯電路,不是普通使用者編寫的程式指令,屬於商業秘密。
第 1 層機器語言指令集:在處理器內部固化,進行移動、加法、乘法等操作,每種機器語言可分成若干條微指令執行。
第 2 層作業系統:能夠理解使用者發出的互動式命令,例如執行程式、顯示目錄等。 作業系統被轉換為機器程式碼並在第 1 層執行。
第 3 層組合語言:在作業系統之上實現大規模軟體實際開發的轉換層。 彙編指令被翻譯成機器語言並由作業系統執行。
圖1-14 多級計算機系統
第 4 層高階語言C++、C、J**A、Python等高階語言首先由編譯器翻譯成C,然後翻譯成組合語言,最後翻譯成機器語言,由作業系統執行。 其他應用程式指令碼的應用程式語言由該語言的直譯器解釋為 C 語言並直接執行。
注意。 組合語言很特殊。 組合語言程式可以在作業系統上執行,也可以繞過作業系統,直接控制硬體。 我們將在第 16 章 輸入和輸出中斷在本章中詳細解釋。
提示。 我們在C語言階段將發明一種新的高階語言,並編寫乙個簡單的編譯器和直譯器,以在我們自己的 \tron 虛擬機器上執行。 當我們完成這個專案時,我們將對計算機和計算機軟體的工作原理有非常深刻的了解。
實踐。 1.自己組裝一台PC,熟悉PC的各個元件。 組裝了 PC 的學生可以忽略它。
2. 寫下計算機系統的 5 個虛擬機器層,並解釋用於處理不同虛擬機器層的翻譯技術。
3. 為什麼程式設計師不能使用微指令來編寫應用程式?
4、如果自己組裝PC,需要購買哪些零件,需要注意哪些細節?如果您不明白,可以線上檢視資訊或詢問賣家的客服。
5. 馮·諾依曼計算機的特點是什麼?
6、請畫出主機結構圖,說明各部件的作用是什麼
7. 組合語言是否真的作系統翻譯成機器語言?請具體說明。
摘自程式設計大師系列教材《x86組合語言基礎課程》!