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