1.1 計算機發展歷程
計算機硬件的發展:
第一代計算機(1946-1957):邏輯元件:電子管、機器語言編程
第二代計算機(1958-1964):邏輯元件:晶體管、開始使用高級語言:
fortran
第三代計算機(1965-1971):邏輯元件:較小規模的集成電路、高級語言迅速發展
第四代計算機(1972至今):邏輯元件:較大規模的集成電路、現代計算機(微處理器、流水線、高速緩存等)
1.2 計算機系統結構層次
計算機系統組成
計算機系統由硬件系統和軟件系統共同構建起來
硬件:有形的物理設備,是計算機系統中實際裝置的總稱
軟件:在硬件上運行的程序和相關的數據及文檔
計算機功能部件
1.輸入設備 :
是指將程序和數據(外部信息)以計算機能識別和接受(讀懂)的方式輸入進來,如鍵盤,鼠標等。
2.輸出設備 :
就是將計算機處理的信息以人所能接受的方式輸出出來,比如顯示屏,打印機。
3.存儲器 :是計算機的存儲部件,用來存放程序和數據
主存儲器的組成:
注:現代計算機常把地址寄存器(MAR) 和數據寄存器(MDR)存在于CPU中
(后續第三章介紹)
地址寄存器(MAR):存放地址,經過地址譯碼后找到所選的存儲單元;
數據寄存器(MDR):用于暫存從存儲器中讀或寫的信息
存儲體:存放二進制信息
時序控制邏輯:產生存儲器操作所需的各種時序信號(讀、寫操作等)
存儲字(word):存儲單元中二進制代碼的組合(可以為n*8bit即 8 16 32 64等)
存儲字長:存儲單元中二進制代碼的位數(長度)
存儲元件:1bit(以dram為例 即為一個柵級電容 只能存儲一為信息)
即:存儲體由多個存儲單元組成,存儲單元由多個存儲元件組成
4.運算器 :是計算機的運算單元,用于算術運算和邏輯運算
運算器的核心單元是算術邏輯單元(ALU)
5.控制器
一般將運算器和控制器集成到同一個芯片上,稱為中央處理器(CPU)
計算機軟件分類
系統軟件:保證計算機系統高效運行的基礎軟件
包括操作系統,數據庫管理系統,語言處理系統(比如編譯器),分布式軟件系統,網絡軟件系統,標準庫系統,服務性系統
應用軟件:解決某個應用領域中的各類問題而編制的程序(app)
包括各種科學計算類程序,工程設計類程序,數據統計與處理程序。
三個級別語言
1)機器語言。又稱二進制代碼語言,需要編程人員記憶每條指令的二進制編碼。
機器語言是計算機唯一可以直接識別和執行的語言。
2)匯編語言。匯編語言用英文單詞或其縮寫代替二進制的指令代碼,更容易為人們記憶和理解。使用匯編語言編輯的程序,必須經過一個稱為匯編程序的系統軟件的翻譯,將其轉換為計算機的機器語言后,才能在計算機的硬件系統上執行。
3)高級語言。高級語言(如C、C++、Java等)是為方便程序設計人員寫出解決問題的處理方案和解題過程的程序。通常高級語言需要經過編譯程序編譯成匯編語言程序,然后經過匯編操作得到機器語言程序,或直接由高級語言程序翻譯成機器語言程序。
高級語言——匯編語言的過程叫做編譯,匯編語言——機器語言的過程叫做匯編,
邊翻譯邊執行的叫做解析。
計算機的工作過程
計算機的工作過程分為以下三個步驟:
1)把程序和數據裝入主存儲器。(loader干的)
2)將源程序轉換成可執行文件。(生成hex文件)
3)從可執行文件的首地址開始逐條執行指令。(上電cpu進行尋指,依次執行)
1.從源程序到可執行文件
1)預處理階段:預處理器(cpp)對源程序中以字符#開頭的命令進行處理,
例如將#include命令后面的.h文件內容插入程序文件。輸出結果是一個以.i 為擴展名的源文件 hello.i。(1.頭文件要展開 2.#define這種定義的字符串要替代下 等操作)
- 編譯階段:編譯器 (ccl) 對預處理后的源程序進行編譯,生成一個匯編語言源程序hello.s。
3)匯編階段:匯編器(as)將 hello.s 翻譯成機器語言指令,把這些指令打包成一個稱為可重定位目標文件的hello.o,它是一種二進制文件,因此在文本編輯器中打開它時會顯示亂碼。
4)鏈接階段:鏈接器(ld〉將多個可重定位目標文件和標準庫函數合并為一個可執行目標文件,或簡稱可執行文件。
本例中,鏈接器將hello.o和標準庫函數prinft所在的可重定位目標模塊prinft.o合并,生成可執行文件 hello。最終生成的可執行文件被保存在輔存上。
PS.link完成后生成hex文件,才是可執行的文件
2.指令執行過程的描述
指令和變量數據存在主存里面
通用過程
先PC將指令地址發送給MAR,MAR根據地址在存儲體中找到指令數據存放在MDR中,之后MDR將指令存放在IR中,取指令結束,之后指令中的操作碼進入CU中,地址碼重復上述取指令步驟,將數據發送到ACC中,執行指令結束。
注意:
1.執行指令階段 CU會根據不同指令把MDR數放在ACC/MQ/X等中
2.區分指令和數據的依據:指令周期的不同階段
1.3 計算機的性能指標
1.機器字長
計算機的位數(機器字長),表示計算機進行一次整數運算(即定點整數運算)所能處理的二進制數據的位數。計算機字長通常選定為字節(8位)的整數倍,通常是2,4,8倍。不同的計算機,字節可能不同
2.數據通路帶寬
數據總線一次所能傳送信息的位數。
3.主存容量
MAR的位數反映存儲單元的個數,如MAR為16位,表示存儲單元為2^16 = 64K;
存儲單元個數*位寬=容量(長×寬)
2^10=1k若MDR為32位,則存儲容量為2^16x32.
4.吞吐量,指系統在單位時間內處理請求的數量 ;從用戶觀點看,它是評價計算機系統性能的綜合參數!
響應時間,指從用戶向計算機發送一個請求,到系統對該請求做出響應并獲得所需結構的等待時間。
CPU時鐘周期。通常為節拍脈沖或T周期,即主頻的倒數,它是CPU中最小的時間單位,每個動作至少需要1個時鐘周期。
主頻(CPU時鐘頻率)。機器內部主時鐘的頻率,是衡量機器速度的重要參數。
CPU周期又稱為機器周期,由多個時鐘周期組成!
指令周期>CPU周期>時鐘周期
CPI(Clock cycle Per Instruction),即執行一條指令所需的時鐘周期數。
CPU執行時間,指運行一個程序所花費的時間。
CPU執行時間 = CPU時鐘周期數/主頻 = (指令條數xCPI)/主頻
CPU的性能取決于三個要素:主頻、CPI 、指令條數
-
二進制
+關注
關注
2文章
795瀏覽量
41645 -
計算機
+關注
關注
19文章
7489瀏覽量
87876 -
機器
+關注
關注
0文章
781瀏覽量
40722
發布評論請先 登錄
相關推薦
評論