首頁 > 科技

計算機組成原理——計算機系統的層次結構

2021-08-16 03:10:11

計算機硬體的基本組成

要了解數字計算機的主要組成和工作原理,可從打算盤說起。假設給了一個算盤、一張帶有橫格的紙和一 支筆,要求我們計算y=ax+b-c這樣一個題目。為了 和下面講到的內容做比較,我們不妨按以下方法把使 用算盤進行解題的過程步驟事先用筆詳細地記錄在帶 橫格的紙上。

首先,將橫格紙編上序號,每一行佔一個序號,如1, 2,3,…,n,如表1.5所示。其次,把計算式中給定 的四個數a,b,c和x分別寫到橫格紙的第9,10,11, 12行上,每一行只寫一個數。接著詳細列出給定題目 的解題步驟,而解題步驟也需要記在橫格紙上,每一 步也只寫一行,如下表所示,我們從第1行開始,一 步一步進行計算,最後可得出所要求的結果。

  • 帶橫格且編號的紙
  • 算盤(用於加減乘除)
  • 筆(把原始資料和解題步驟記錄,展示計算結果)
  • 人(大腦,手)

馮諾依曼結構——以運算器為中心

1945年,馮·諾依曼提出了「儲存程式」的概念。以此概念為基礎的各類計算機通稱為馮·諾依曼機。它的特點可歸結如下:

  • 計算機硬體由運算器、儲存器、控制器、輸入裝置和輸出裝置五大部件組成。
  • 指令和資料以同等地位存放於儲存器內,並可按地址尋訪。
  • 指令和資料均用二進位制數表示。
  • 指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作數在儲存器中的位置。
  • 指令在儲存器內按順序存放。通常,指令是順序執行的,在特定條件下,可根據運算結果或根據設定的條件改變執行順序。
  • 機器以運算器為中心,輸入輸出裝置與儲存器間的資料傳送通過運算器完成。

五大功能部件——運算器

運算器就好像是一個由電子線路構成的算盤,示意圖如圖1.3所示。它的主要功能是進行算術運算(如加、減、乘、除)和邏輯運算(如與、或、非)。

運算器的核心是算術邏輯單元(ALU)。運算器還包括若干通用寄存器,用於暫存操作數和中間結果,如累加器(ACC)、乘商寄存器(MQ)、操作數寄存器(X)、變址寄存器(IX)、基址寄存器(BR)等,其中前3個寄存器是必須有的。另 外還有程式狀態字寄存器(PSW),保留各類標誌資訊或CPU狀態資訊,如溢位標誌、進位/借位標誌、零標誌等。

五大功能部件——儲存器

儲存器的功能是存放解題的原始資料和解題步驟(即資料和程式)。指令和資料都以二進位制程式碼的形式儲存在儲存器當中,

那麼它們是怎麼組織存放的呢?

目前通常採用半導體器件製造儲存器,我們知道,一個半導體觸發器由於有0和1兩個狀態,可以記憶一個二進位制程式碼。若一個數用16位二進位制程式碼來表示,那麼就需要有16個觸發器來儲存這個數。通常把這樣的多個觸發器稱為一個儲存單元 (通常取1位元組=8位的偶數倍);儲存器是由許多儲存單元組成的,每個儲存單元都有編號,稱為地址。

向儲存器中存數或者從儲存器中取數,都要按給定的地址來尋找所選的儲存單元,這種存取方式稱為按地址存取方式。存 儲器的結構如圖1.4所示,由多個儲存單元組成的儲存體用於存放二進位制資訊,地址寄存器(MAR)指出需要訪問的地址, 經過地址譯碼後選中要訪問的儲存單元。資料寄存器(MDR)用於暫存要從儲存器中讀出或寫入的資訊,時序控制邏輯用 於產生儲存器操作所需的各種時序訊號。

這個模組的作用是儲存1bit資料。比如上面這個RS型的FF,R 是Reset,輸入1則清零。S是Set,輸入1則儲存1。RS都輸入0 的時候,會一直輸出剛才儲存的內容。

五大功能部件——控制器

控制器用來控制、指揮程式和資料的輸入、運行以及處理運算結果。控制器由程式計數器(PC)、指令寄存器(IR)和控制單元(CU)組成。

計算機進行計算時,指令必須是按一定的順序一條接一條地進行。控制器的基本任務,就是按照計算程式所排的指令序列,先從儲存器取出一條指令放到控制器中,對該指令的操作碼由譯碼器進行分析判別,然後根據指令性質,執行這條指令,進 行相應的操作;接著從儲存器取出第二條指令,再執行這第二條指令;依次類推。PC就是用來存放下一條指令在主存當中 的地址的,每取出一條指令,PC自動加1,從而為取下一條指令做好準備;取出來的指令經過MDR後放入IR,用於分析和判斷;在執行指令實現指令功能的時候,往往不是一步到位的,CU就是用來控制發出一系列微操作命令實現這條指令的功能。

通常把運算器和控制器整合在一起稱為中央處理器,簡稱CPU,而CPU和儲存器一起構成稱為主機,而除此之外輸入輸出 裝置、外存等統稱為外圍裝置,簡稱外設。需要注意的是,MAR與MDR雖然是儲存器的一部分,但在現代計算機中卻是存 在於CPU中的。

五大功能部件——輸入輸出裝置

  • 輸入裝置用來將人們熟悉的資訊形式轉換為機器能識別的資訊形式,常見的有鍵盤、滑鼠等。
  • 輸出裝置可將機器運算結果轉換為人們熟悉的資訊形式,如印表機輸出、顯示器輸出等。

現代計算機組成——儲存器為中心

計算機軟體分類——兩種軟體

  • 系統軟體又稱為系統程式,主要用來管理整個計算機系統,監視服務,使系統資源得到合理排程,高效運行。它包括:標 準程式庫、語言處理程式(如將組合語言翻譯成機器語言的彙編程式或將高階語言翻譯成機器語言的編譯程式)、操作系 統、服務程式(如診斷程式、偵錯程式、排錯程式等)、資料庫管理系統(DBMS)、網路軟體等。
  • 應用軟體又稱為應用程式,它是使用者根據任務需要所編制的各種程式,如科學計算程式、資料處理程式、過程控制程式、事務管理程式等。

計算機軟體分類——三種語言

機器語言

  • 計算機能識別的指令

組合語言

  • 與機器語言一一對應,每一條機器指令都有對應的彙編指令

高階語言

  • 通過編譯器編譯得到彙編/機器語言

計算機工作過程

  • 預處理階段:預處理器(cpp)對源程式中以字元 # 開頭的命令進行處理,例如將#include命令後面的.h檔案內容插入程式檔案。輸出一個以.i為副檔名的原始檔hello.i。
  • 編譯階段:編譯器(ccl)對預處理後的源程式進行編譯,生成一個組合語言源程式hello.s。
  • 彙編階段:彙編器(as)將hello.s翻譯成機器語言指令,把這些指令打包成一個稱為可重定位目標檔案的hello.o,它是一種二進位制檔案。
  • 連結階段:連結器(1d)將多個可重定位目標檔案和標準庫函數合併為一個可執行目標檔案,或簡稱可執行檔案。連結器將hello.o和標準庫函數prinft所在的可重定位目標模組prinft.o合併,生成可執行檔案hello。

計算機工作過程

彙編程式

  • 用於將組合語言翻譯成機器語言

解釋程式

  • 用於將源程式的語句按執行順序翻譯成機器指令並立即執行

編譯程式

  • 將高階語言翻譯成組合語言或機器語言

計算機層次結構

  • 第一級是微程式設計級。這是一個實在的硬體級,它由 機器硬體直接執行微指令。如果某一個應用程式直接用 微指令來編寫,那麼可在這一級上運行應用程式。
  • 第二級是一般機器級,也稱為機器語言級,它由微程式解釋機器指令系統。這一級也是硬體級。
  • 第三級是作業系統級,它由作業系統程式實現。作業系統由機器指令和廣義指令組成,這些廣義指令是操作系 統定義和解釋的軟體指令,所以這一級也稱為混合級。
  • 第四級是組合語言級,這一級由彙編程式支援和執行。 如果應用程式採用組合語言編寫時,則機器必須要有這 一級的功能。
  • 第五級是高階語言級,它是面向使用者的,為方便使用者編 寫應用程式而設定的。這一級由各種高階語言編譯程式 支援和執行。

作者:有出路
連結:https://juejin.cn/post/6995706931922862093
來源:掘金


IT145.com E-mail:sddin#qq.com