全文鏈接:https://www.cnblogs.com/nullering/p/9684820.html
一:計算機系統概述
1:計算機發展歷程
2:結構
(1)馮諾依曼機:由運算器,控制器,存儲器,輸入,輸出五部分組成,以運算器為中心
(2)計算機層次結構:應用程序-高級語言-匯編語言-操作系統-指令集架構層-微代碼層-硬件邏輯層
3:分類
單指令單數據流:馮諾依曼體系結構
單指令多數據流:向量處理器
多指令單數據流:不存在
多指令多數據流:多處理器
3:基本概念
機器字長:CPU一次能處理數據的位數,與CPU中寄存器位數有關
存儲字長:存儲器中一個存儲單元(存儲地址)所存儲的二進制代碼位數,與MDR位數有關,數據總線
指令字長:計算機指令字的位數
數據字長,計算機數據存儲所占用的位數
總線寬度:總線上同時能夠傳輸的數據位數,即數據總線的根數
總線帶寬:單位時間內總線上傳輸數據的位數,通常每秒傳輸的字節數來衡量 總線帶寬 = 總線工作頻率* (總線寬度/8)
主存帶寬:數據傳輸率
總線傳輸周期:一次總線操作所需的時間(申請,尋址,傳輸,結束),由若干總線時鍾周期構成
總線時鍾周期:及其時鍾周期
CPU時鍾周期:主拍脈沖或T周期,為主頻的倒數
吞吐量:單位時間內數據輸出數量
響應時間:從事件開始到事件結束的時間
CPU時鍾周期:機器主頻的倒數
CPI:執行一條指令所需的平均時鍾周期
MIPS:每秒百萬條指令
MFLOPS:程序中浮點數的運算次數
二:數制與編碼
進制轉換:
BCD碼:8421碼(加6修正)余3碼,2421碼
ASCII碼:
校檢原理:
碼距:
奇偶校檢碼:
海明校檢碼:
循環冗余碼:
定點數:
無符號數與有符號數
原碼
補碼
反碼
移碼
轉換:
x為正數【x】
x為負數
無論正負【x】補——連同符號位取反加一——>【-x】
運算:
加法
移位運算:邏輯移位(無符號)算術移位()
算術運算:
循環移位
例一:定點數加法運算
假設兩個帶符號整數x , y .用8位補碼表示,x=63 ,y = -31,則x - y 的表示及溢出標識OF是——
解:【x】原 = 0011 1111 ,[y]原 = 1001 1111 ,
【x】補 = 0011 1111 [y]補 = 1110 0001,[-y]補 = 0001 1111
【x-y】 = 【x】補 +【-y】補 = 5EH ,沒有溢出 OF =0
例二:溢出判斷:進位丟棄最高位不一定溢出,超出表示范圍才算溢出,(當最高位進位與符號位進位的值不同是才溢出,可能是正負反轉)
浮點數:
IEEE754標准:
規格化后的短浮點數的真值為:(-1)^s X 1.M X 2^(E-127)
浮點數的加減運算:對階,尾數相加,規格化,舍入,判溢出
溢出:階碼是否超出了表示范圍
注意C語言中運算以補碼表示運算
例一:浮點數加減運算以及溢出判斷
浮點數的階碼和尾數均采用補碼表示,且位數分別為5位和7位(均含2位符號位),數X=2^7 * 29/32
Y = 2^5 * 5/8 ,則用浮點加法計算X + Y 的最終結果為——
解:x = 00,111;00,11101 y= 00 ,101; 00,101
1:對階:小階向大階看起:y = 00,111;00,00101
2:尾數相加 00,11101
+ 00,00101
——————
01,00010
3:規格化:尾數右移一位,階碼加一 01,000;00,10001
4:判溢出:階碼符號位為01 溢出
三:存儲系統
體系結構化層次:
基本概念:
邊界對齊:
大端小端存儲方式:
- 大端:最高字節地址是數據地址(0123存成0123)
- 小端:最低字節地址是數據地址(0123存成3210)
1:存儲器月CPU的鏈接
(1)主存容量擴展:
字擴展:
位擴展:
字位同時擴展:
(2)雙口RAM與多模塊存儲器
雙端口RAM
兩個端口對同一主存:可同時讀,不可同時寫,也不能邊讀邊寫
多提並行存儲器
高位交叉編址:
地位交叉編址:
2:半導體存儲器:
(1)隨機存儲器
DRAM存儲器的刷新
分散刷新:
集中刷新:
異步刷新:
(2)只讀存儲器ROM
MROM(掩膜式只讀存儲器):
PROM(一次可編程只讀存儲器)
EPROM(可編程可擦除)
FlashMermory(閃存存儲器):U盤
固態硬盤
3:Cache
(1)地址映射方式:
全相連:主存字塊標記|字塊內地址
直接映射:
組相連:
(2)替換算法:
隨機
先入先出
最近最少使用(LRU)
最不經常使用(LFU)
(3)寫策略
命中:全寫法 和寫會法
不命中:寫分配法和非寫分配法
4:虛擬存儲器
解決主存容量不足,希望向程序員提供更大的編程空間
頁式虛擬存儲器
轉換:虛擬地址= 虛擬頁號+頁內偏移------->物理頁號+頁內偏移
段式虛擬存儲器
段頁式虛擬存儲器
快表TLB:
頁表,段表放在主存中,收到虛擬地址后先訪問主存,查詢頁表段表進行虛實地址轉換
四:總線
1:基本概念
總線:一組能為多個部件分時共享的公共信息傳送線路
總線特性:機械特性(尺寸,形狀,管腳數),電氣特性(傳輸方向和有效的電平范圍),功能特性(每根傳輸線的功能),時間特性(信號的時序關系)
分類:
按數據傳輸格式:串行總線和並行總線
按總線功能:片內總線,系統總線(數據總線,地址總線,控制總線),通信總線
按時序控制方式:同步總線,異步總線
結構:單總線結構,雙總線結構,三總線結構
性能指標:
總線的傳輸周期(總線周期):一次總線操作所需的時間(包括申請階段、 尋址階段、傳輸階段和結束階段),通常 由若干個總線時鍾周期構成。
總線時鍾周期: 即機器的時鍾周期。
總線的工作頻率:為總線周期的倒數。 實際上指一秒內傳送幾次數據。
總線的時鍾頻率 : 即機器的時鍾頻率,為時鍾周期的倒數。 若時鍾周期為T,則時鍾頻率為1/T。 實際上指一秒內有多少個時鍾周期。
總線寬度:是總線上同時能夠傳輸的數據位數, 通常是指數據總線的根數
總線帶寬:可理解為總線的數據傳輸率,即單位時間內總線上可傳輸 數據的位數
2:總線仲裁
集中仲裁
鏈式查詢
計數器定時查詢
獨立請求
分布式
3:操作和定時
4:總線標准
系統總線標准:ISA,EISA,VESA,PCI,PCI-Express
設備總線標准:IDE,AGP,RS-232C,USB,SCSI
局部總線標准:
五:中央處理器
1:CPU的功能與結構
2:指令執行過程
3:數據通路的功能的基本結構
主存與CPU之間的數據傳送
CPU從主存讀取指令,實現傳送操作的流程及控制信號為:
(PC)→Bus→MAR PCout和MARin有效,現行指令地址→MAR
1→R CU發讀命令(通過控制總線發出,圖中未畫出)
MEM(MAR)→MDR MDRin有效 MDR
MDR→Bus→IR MDRout和IRin有效,現行指令→IR
4:控制器的功能和工作原理
5:指令流水線
六:指令系統
基本概念
數據通路:執行部件間傳送信息的路徑,分為共享通路和專用通路
指令集:一台機器所有指令的集合
RISC(精簡指令集)和CISC(復雜指令集)
指令字長:指令中包含的二進制位數,有等長指令、變長指令。
指令分類
零地址指令:
一地址指令:訪存2次
二地址指令:訪存3次
三地址指令:訪存4次
尋址方式
指令尋址方式:順序尋址,跳躍尋址
操作數尋址方式:
立即數尋址:地址碼字段是操作數本身 MOV AX, 200H
寄存器尋址:地址碼字段是寄存器地址 MOV AX, BX
直接尋址:地址碼字段是內存地址 MOV AX, [200H]
間接尋址:地址碼字段是內存地址的地址 MOV AX, I[200H]
寄存器間接尋址:地址碼字段是存內存地址的寄存器地址 MOV AX, [BX]
相對尋址:操作數地址 + 當前PC的值
基址尋址:操作數地址 + 基址寄存器的值(一段程序中不變) MOV AX, 32[B]
變址尋址:操作數地址 + 變址寄存器的值(隨程序不斷變化) MOV AX, 32[SI]
指令格式:R型指令,I型指令,J型指令
微指令
微指令的編碼方式:目標盡量縮短指令字長
(1)直接編碼方式:無須譯碼,以為代替一個微指令
(2)字段直接編碼:互斥的放在同一字段,留出一個狀態(000)
(3)字段間接編碼
微指令格式
水平型 垂直型
微程序短,速度快 微程序長,速度慢
微指令長,編碼麻煩 微指令端,好編碼
流水線
七:輸入輸出系統
1:IO系統
(1)IO軟件
IO指令:CPU指令的一部分
通道指令
(2)IO硬件:外部設備,設備控制器和接口,IO總線
(3)IO接口
統一編址和獨立編址
(4)IO子系統結構層次
用戶層I/O軟件:實現與用戶交互的接口,用戶可以直接調用在用戶層提供的、與I/O操作有關的庫函數,對設備進行操作。
設備獨立軟件:用於實現用戶程序與設備驅動器的統一接口、設備命令、設備保護以及設備分配與釋放等,同時為設備管理和數據傳送提供必要的存儲空間。
設備驅動程序:與硬件直接相關,負責具體實現系統對設備發出的操作指令,驅動I/O設備工作的驅動程序。
中斷處理程序:用於保護被中斷進程的CPU環境,轉入相應的中斷處理程序進行處理,處理完並恢復被中斷進程的現場后,返回到被中斷進程。
2:IO方式
程序查詢方式
程序中斷方式
中斷:
中斷判優:
中斷隱指令:
關中斷:
保存斷點:
引出中斷服務程序:
DMA方
3:外部設備
輸入設備:鍵盤,鼠標
輸出設備:顯示器,打印機
外存儲器:磁盤,光驅
磁盤存儲器:
記錄密度:道密度(磁盤延半徑方向的磁道數,),位密度(磁道單位長度上能記錄的二進制代碼位數),面密度(位密度與道密度的乘積)
平均存取時間=尋道時間(磁頭移動到目的磁道)+旋轉延遲時間(磁頭固定到所在扇區)+傳輸時間(傳輸數據所花的時間)
數據傳輸率:單位時間內向主機傳送數據的字節數
磁盤陣列:
RAID0:無冗余和無校檢的磁盤陣列,條帶均勻分布
RAID1:以鏡像為冗余方式
RAID2:糾錯海明碼
RAID3:位交叉奇偶校檢
RAID4:塊交叉奇偶校檢
RAID5:無獨立校檢的奇偶校檢
八:專題專解
1:各種實現
程序查詢:純軟件
程序中斷:軟件傳遞+硬件中斷
DMA:純硬件
通道:軟硬件結合
中斷系統:隱指令(硬件)中斷程序(軟件)
時鍾管理:專用統一計數器
地址映射:寄存器+加法器+其他
計算專題: