計算機的五大組成部分
輸入設(shè)備:用于接收輸入
輸出設(shè)備:用于處理輸出
計算器:對輸入數(shù)據(jù)進行處理,然后輸出到輸出設(shè)備。
控制器:控制每個部件的當前的工作狀態(tài)和每個部件的需求。
存儲器:用于存儲指令和數(shù)據(jù)的
補充:馮諾依曼計算機是以計算機為中心的,現(xiàn)代計算機是以存儲器為中心的。

運算器的組成
MQ:乘商寄存器
ACC:累加寄存器
ALU:邏輯控制單元
X:通用寄存器
PSW:程序狀態(tài)寄存器
控制器
CU:控制單元,作用是分析指令,給出控制信號
IR:指令寄存器,存放當前執(zhí)行的指令
PC:存放指令地址
計算機取數(shù)指令
首先從PC讀取到數(shù)據(jù)的地址,然后MAR去存儲器中讀取數(shù)據(jù)放入到MDR中,MDR將讀取到的數(shù)據(jù)放入指令寄存器中,由CU來控制要進行的操作。

編譯語言和解釋語言的區(qū)別
編譯語言可以將:一段的代表編譯成機器碼,可以進行內(nèi)部優(yōu)化。執(zhí)行速度快,同等條件下,對系統(tǒng)要求較低,所以像C/C++語言,Pascal/Object Pascal等都是編譯形語言。
解釋形語言:將每一句代碼對應(yīng)一條機器語言,這樣就無法進行內(nèi)部優(yōu)化了。一般解釋形語言是一些網(wǎng)頁腳本、服務(wù)器腳本和輔助開發(fā)接口,他們對速度要求不高,對不同系統(tǒng)平臺間的兼容性有一定要求的程序則通常使用解釋形語言。比如JAVA,JavaScript,VBScript,Perl和python等。
計算機系統(tǒng)的層次結(jié)構(gòu)
高級語言-->匯編語言-->傳統(tǒng)機器語言:這個過程就是三層
傳統(tǒng)機器語言可以將一串的01代碼再進行拆分成微指令1,微指令2....這樣的形式,所以在傳統(tǒng)機器語言下面還有一層微指令系統(tǒng)。
如果匯編語言直接人工翻譯成傳統(tǒng)的機器語言,很多時候,會存在很多內(nèi)存覆蓋,數(shù)據(jù)丟失等。所以在匯編語言和傳統(tǒng)機器語言之間,增加了一個操作系統(tǒng)來進行控制。

存儲器
主要分為三個部分:地址寄存器,存儲體和數(shù)據(jù)寄存器
地址寄存器:接收外部傳遞過來的地址,這個地址的作用就是定位到存儲體中的某一個存儲單元。存儲單元被定位到之后就會自動的將存儲單元的數(shù)據(jù)輸出到數(shù)據(jù)寄存器中。外部單元再從數(shù)據(jù)寄存器中將它所需要的數(shù)據(jù)取走。這整個過程由時序控制邏輯來控制。
存儲單元
一個存儲單元是由多個存儲元構(gòu)成的。很多個存儲單元就構(gòu)成了一個存儲體。利用譯碼器來決定到底要讀取那個存儲單元的數(shù)據(jù)。
存儲體的容量
容量 = 存儲單元的個數(shù) x 存儲字長(就是每個存儲單元有多少個存儲體)bit
速度
指令耗時 = CPI(執(zhí)行一條指令所需要的時鐘周期數(shù))x CPU時鐘周期