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