1.1 計算機結(jié)構(gòu)
圖1 早期馮·諾依曼計算機結(jié)構(gòu)
圖2 以存儲器為中心的計算結(jié)構(gòu)
馮·諾依曼為改善早期計算器手動接線來控制計算的方式,提出了“存儲程序”的概念,將指令以二進制代碼的形式事先輸入計算機的主存儲器,然后按其在存儲器中的首地址執(zhí)行程序的第一條指令,以后就按該程序的規(guī)定順序執(zhí)行其他指令,直至程序執(zhí)行結(jié)束。早期馮·諾依曼計算機結(jié)構(gòu)的特點是以運算器作為核心,數(shù)據(jù)的輸入輸出都是由運算器進行中轉(zhuǎn),為了提高計算機的效率,現(xiàn)代計算機以存儲器作為核心。
1.2 計算機硬件的基本組成
現(xiàn)代計算機將運算器和控制器集成到一個芯片上,合成為 中央處理器 ,簡稱 CPU 。
? 運算器 ,是計算機的運算單元,用于算術(shù)運算和邏輯運算,運算器的核心單元是算術(shù)邏輯單元(ALU)
? 控制器 ,控制器是計算機的指揮中心,有其指揮各部件自動協(xié)調(diào)的進行工作
?存儲器分為主存儲器和輔助存儲器
?主存儲器也被成為內(nèi)存儲器,CPU能直接訪問
?輔助存儲器即外存儲器,協(xié)助主存儲器記憶更多的信息,輔助存儲器的信息需要導(dǎo)入到主存儲器中,才可以被CPU訪問
? 輸入設(shè)備 ,是指將外部信息以計算機能讀懂的方式輸入進來,如鍵盤,鼠標(biāo)等
? 輸出設(shè)備 ,就是將計算機處理的信息以人所能接受的方式輸出出來,比如顯示屏,打印機
CPU包含運算器與控制器,控制器通過控制線來告訴運算器接下來要進行什么樣的運算,另外控制器也會控制主存儲器的讀寫以及輸入輸出設(shè)備的開啟與停止,主存儲器與CPU之間會進行數(shù)據(jù)的交換,數(shù)據(jù)包括需要進行基礎(chǔ)運算的的數(shù)據(jù)以及指令,這些指令會放到控制器中來解析這些指令的含義,并且發(fā)出相應(yīng)的控制信號,I/O設(shè)備也會直接的與主存儲器進行數(shù)據(jù)的交換,這大致就是現(xiàn)代計算機運行的主要步驟。
2.1 中央處理器-CPU
?CPU,即中央處理器,是一臺計算機的運算核心和控制核心。其功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。CPU由運算器、控制器、寄存器、高速緩存及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成
CPU的主要功能
?指令控制。完成取指令、分析指令和執(zhí)行指令的操作,即程序的順序控制
?操作控制。一條指令的功能往往是由若干操作信號的組合來實現(xiàn)的。CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號,把各種操作信號送往相應(yīng)的部件從而控制這些部件按指令的要求進行動作。
?時間控制。對各種操作加以時間控制。時間控制要為每條指令按時間順序提供應(yīng)有的控制信號。
?數(shù)據(jù)加工。對數(shù)據(jù)進行算術(shù)和邏輯運算。
?中斷處理。對計算機運行過程中出現(xiàn)的異常情況和特殊請求進行處理
2.2 運算器組成部分
?ALU算術(shù)邏輯單元(Arithmetic&logical Unit) :是中央處理器(CPU)的執(zhí)行單元,是所有中央處理器的核心組成部分,由"And Gate"(與門)和"Or Gate"(或門)構(gòu)成的算術(shù)邏輯單元,主要功能是進行二位元的算術(shù)運算,如加減乘(不包括整數(shù)除法)?;旧?,在所有現(xiàn)代CPU體系結(jié)構(gòu)中,二進制都以補碼的形式來表示。
?通用寄存器組:用于存放操作數(shù),包括源操作數(shù)、目的操作數(shù)及中間結(jié)果和各種地址信息等。
?暫存寄存器:用于暫存從主存讀來的數(shù)據(jù),這個數(shù)據(jù)不能存放在通用寄存器中,否則會破壞其原有內(nèi)容。
?累加寄存器:它是一個通用寄存器,用于暫時存放ALU運算的結(jié)果信息,用于實現(xiàn)加法運算。
?程序狀態(tài)字寄存器(PSW):保留由算術(shù)邏輯運算指令或測試指令的結(jié)果而建立的各種狀態(tài)信息,如溢出標(biāo)志(OP)、符號標(biāo)志(SF)、零標(biāo)志(ZF)、進位標(biāo)志(CF)等。PSW中的這些位參與并決定微操作的形成。
?移位器:對運算結(jié)果進行移位運算。
?計數(shù)器:控制乘除運算的操作步數(shù)。
2.3 控制器組成部分
?程序計數(shù)器( PC ):用于指出下一條指令在主存中的存放地址。CPU就是根據(jù)PC的內(nèi)容去主存中取指令的。因程序中指令通常是順序執(zhí)行的,所以PC有自增功能。
?指令寄存器(IR):存放當(dāng)前需要執(zhí)行的指令,與CPU內(nèi)部總線相連,指令包括操作碼OP和地址碼Ad。
指令譯碼器(ID):通過譯碼器可知當(dāng)前執(zhí)行的是什么指令,輸入信號為操作碼,輸出信號為微操作信號,將指令轉(zhuǎn)化為對應(yīng)微操作。
?微操作信號發(fā)生器:產(chǎn)生控制整個計算機系統(tǒng)所需的信號,輸入信號是指令譯碼器的輸出結(jié)果,根據(jù)翻譯后的微操作執(zhí)行具體的微操作。微操作信號發(fā)生器會根據(jù)指令譯碼器、時序系統(tǒng)和標(biāo)志位、PSW寄存器的內(nèi)容執(zhí)行微操作。
?時序系統(tǒng):用于產(chǎn)生各種時序信號。
?存儲器地址寄存器(MAR):用于存儲所要訪問的主存單元的地址,一端連接CPU內(nèi)部總線,一端連接地址總線。
?存儲器數(shù)據(jù)寄存器(MDR):用于存儲向主存寫入的信息或從主存讀出的信息,一端連接CPU內(nèi)部總線,一端連接數(shù)據(jù)總線。
一般將運算器和控制器集成到同一個芯片上,稱為中央處理器(CPU)。CPU和主存儲器共同構(gòu)成主機。CPU和內(nèi)存之間通過一組總線相連,總線中有地址、控制和數(shù)據(jù)3組信號線。MAR中的地址信息會直接送到地址線上,用于指向讀/寫操作的主存存儲單元;控制線中有讀/寫信號線,指出數(shù)據(jù)是從CPU寫入主存還是從主存讀出到CPU,根據(jù)是讀操作還是寫操作來控制將MDR中的數(shù)據(jù)是直接送到數(shù)據(jù)線上還是將數(shù)據(jù)線上的數(shù)據(jù)接收到MDR中。
3.1 存儲系統(tǒng)-層****次結(jié)構(gòu)
計算機的存儲系統(tǒng)根據(jù)層次劃分可分為主存,Cache以及輔存
高速緩沖存儲器(Cache):存放正在執(zhí)行的程序段和數(shù)據(jù);容量小,價格高,速度快;集成于CPU
主存:存放運行期間使用的程序和數(shù)據(jù);容量較小,造價較高,速度較快;需要由RAM和ROM制作
輔存:存放暫時不用的數(shù)據(jù)、程序或永久性保存的信息;不能與CPU交換信息,輔存中的內(nèi)容只有調(diào)入主存才可被CPU訪問
主要思想:上一層是下一層的高速緩存,解決速度、容量、成本之間的矛盾
Cache-主存(解決CPU和主存速度不匹配問題):全部由硬件自動完成
主存-輔存(解決存儲系統(tǒng)容量問題):將主存與輔存的一部分通過軟/硬結(jié)合的技術(shù)組成虛擬存儲器,他的更新是由硬件和操作系統(tǒng)進行控制的
3.2 存儲系統(tǒng)-存儲器分類
?按存儲介質(zhì)分類:
半導(dǎo)體存儲器(如:主存、Cache)、磁表面存儲器(如:磁盤、磁帶以及機械硬盤等)、光存儲器(如:光盤)
?按存取方式分類:
隨機存儲器(RAM)(其任何一個存取單元的內(nèi)容都可隨機存取,存取時間與物理位置無關(guān)),順序存取存儲器(SAM)(如:磁帶),直接存取存儲器(DAM)(如:磁盤)(其直接選取信息所在區(qū)域(隨機存取,在區(qū)域內(nèi)順序查找)),相聯(lián)存儲器(CAM)(如:快表)(他是按照內(nèi)容來檢索物理信息)
?按信息的可讀寫性進行分類:
讀/寫存儲器(如:內(nèi)存,硬盤等)(可讀寫),只讀存儲器(ROM)(如:電影使用的光碟)(只可隨機讀入信息,不可寫入,存取方式為隨機存?。?/p>
?按信息的可保存性進行分類:
易失性存儲器(內(nèi)存,Cache),非易失性存儲器(磁盤、光盤)
?按信息讀出后,原信息是否被破壞進行分類:
破壞性讀出(如:DRAM芯片),非破壞性讀出(如:SRAM芯片、磁盤、光盤)
3.3 主存儲器-基本組成
主存儲器是由存儲體、MAR和MDR組成的。現(xiàn)代計算機的主存由半導(dǎo)體集成電路組成。驅(qū)動器、譯碼器和讀寫電路均制作在存儲芯片內(nèi),而MAR和MDR制作在CPU芯片內(nèi)。存儲芯片和CPU芯片可以通過總線連接。
當(dāng)要從主存中讀出某一信息字時,首先由CPU將該字地址送到MAR,經(jīng)地址總線送到主存,然后發(fā)出讀命令。主存接到讀命令之后,得知需要將該地址單元的內(nèi)容讀出,便完成讀操作,將該單元的內(nèi)容讀至數(shù)據(jù)總線上,至于該信息由MDR送到什么地方,由CPU決定。若要向主存存入一個信息字時,首先CPU將該字所在主存單元的地址經(jīng)MAR送到地址總線,并將該信息字送入MDR,然后向主存發(fā)出寫命令,主存接到寫命令后,便將數(shù)據(jù)線上的信息寫入到對應(yīng)地址線指出的主存單元中。
4.1 輸入輸出系統(tǒng)(I/O系統(tǒng))
“I/O”就是“輸入/輸出” (Input/Output) I/O 設(shè)備就是可以將數(shù)據(jù)輸入到計算機,或者可以接收計算機輸出數(shù)據(jù)的外部設(shè)備。
輸入設(shè)備:鍵盤,鼠標(biāo)
輸出設(shè)備:顯示器,打印機
硬盤、光盤:既可輸入、又可輸出的設(shè)備
I/O接口: 又稱I/O控制器( I/O Controller)、設(shè)備控制器,負(fù)責(zé)協(xié)調(diào)主機與外部設(shè)備之間的數(shù)據(jù)傳輸。
I/O接口多種多樣,也會制定相應(yīng)的標(biāo)準(zhǔn),如:用于控制USB設(shè)備的I/O接口、用于控制SATA 3.0硬盤的I/O接口等(I/O控制器就是一塊芯片,常被集成在主板上)。
I/O接口與總線之間主要通過設(shè)備選擇線、數(shù)據(jù)線、命令線和狀態(tài)線進行連接。
設(shè)備選擇線:用來傳送設(shè)備碼的
數(shù)據(jù)線:是I/O設(shè)備與主機之間數(shù)據(jù)代碼的傳送線
命令線:主要是用來傳輸CPU向設(shè)備發(fā)出的各種信號
狀態(tài)線:是將I/O設(shè)備的狀態(tài)向主機報告的信號線
4.2 I/O系統(tǒng)-基本組成
?I/O****硬件
包括外部設(shè)備、I/O接口、I/O總線等。
?I/O****軟件
I/O軟件的主要任務(wù)是,將用戶編制的程序(或數(shù)據(jù))輸入主機內(nèi);將運算結(jié)果輸送給用戶;實現(xiàn)輸入輸出系統(tǒng)與主機的協(xié)調(diào)等。通常采用 I/O 指令和通道指令實現(xiàn) CPU 與I/O設(shè)備的信息交換。
(1)I/O指令 CPU指令的一部分
操作碼+命令碼+設(shè)備碼
(2)通道指令通道能識別的指令
通道程序提前編制好放在主存中;在含有通道的計算機中,CPU執(zhí)行I/O指令對通道發(fā)出命令,由通道執(zhí)行一系列通道指令,代替CPU對I/O設(shè)備進行管理。
4.3 I/O系統(tǒng)-控制方式
程序查詢方式
CPU不斷輪詢檢查I/O控制器中的“狀態(tài)寄存器”,檢測到狀態(tài)為已完成之后,再從數(shù)據(jù)寄存器取出輸入數(shù)據(jù); 在這種情況下,CPU一旦啟動I/O,必須停止現(xiàn)行程序的運行,并在現(xiàn)行程序中插入一段程序。
優(yōu)點:接口設(shè)計簡單、設(shè)備量少。
缺點:CPU在信息傳送過程中要花費很多時間用于查詢和等待,而且在一段時間內(nèi)只能和一臺外設(shè)交換信息,效率大大降低。
程序中斷方式
程序中斷方式引入了中斷機制,程序中斷是指在計算機執(zhí)行現(xiàn)行程序的過程中,出現(xiàn)某些急需處理的異常情況或特殊請求,CPU暫時中止現(xiàn)行程序,而轉(zhuǎn)去對這些異常情況或特殊請求進行處理。處理完畢后CPU自動返回到現(xiàn)行程序的斷點處,繼續(xù)執(zhí)行原程序。
程序中斷方式就是等待鍵盤 I/O時CPU可以先去執(zhí)行其他程序,鍵盤I/O完成后I/O控制器向CPU發(fā)出中斷請求,CPU響應(yīng)中斷請求,并取走輸入數(shù)據(jù)。
這種方式如果對于快速 I/O設(shè)備,如“磁盤”,每準(zhǔn)備好一個字就給CPU發(fā)送一次中斷請求,會導(dǎo)致CPU需要花大量的時間來處理中斷服務(wù)程序,CPU利用率嚴(yán)重下降。
DMA****控制方式
主存與高速I/O設(shè)備之間有一條直接數(shù)據(jù)通路(DMA總線)。由于DMA方式傳送數(shù)據(jù)不需要經(jīng)過CPU,因此不必中斷現(xiàn)行程序,I/O與主機并行工作,程序和傳送并行工作。這種情況下DMA傳送速度快,CPU和外設(shè)并行工作,提高了系統(tǒng)效率。
通道控制方式
有的商用中型機、大型機可能會接上很多的I/0設(shè)備,如果都讓CPU來管理,那么CPU效率過低,這時就引入了通道控制方式。通道可以理解為是“低級版的CPU”,可以識別并執(zhí)行一系列通道指令,通道指令種類、功能通常比較單一,通過IO指令啟動通道,通道執(zhí)行通道指令序列,通道程序放在主存中。
-
控制器
+關(guān)注
關(guān)注
112文章
16393瀏覽量
178475 -
存儲器
+關(guān)注
關(guān)注
38文章
7509瀏覽量
163976 -
二進制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41681 -
計算機
+關(guān)注
關(guān)注
19文章
7513瀏覽量
88173 -
PSW
+關(guān)注
關(guān)注
0文章
9瀏覽量
8254
發(fā)布評論請先 登錄
相關(guān)推薦
評論