1. 程式人生 > 實用技巧 >計算機組成與體系結構

計算機組成與體系結構

計算機組成與體系結構


資料的表示

進位制轉換

R進位制轉十進位制使用按權展開法

十進位制轉R進位制使用短除法

二進位制轉八進位制/十六進位制:轉八進位制從後往前每次去三位,轉十六進位制每次取四位,不足補零

編碼

原碼:一個數的二進位制表達,一共八位,最高位是符號位(0是正數,1是負數)
反碼:正數和原碼相同,負數符號位相同其他位按位取反。
補碼:正數和原碼相同,負數在反碼的基礎上+1
移碼:在浮點運算的階碼計算才會用到,在補碼的基礎上將首位取反

數值表示範圍:

整數
原碼 -(2n-1-1)~2n-1-1
反碼 -(2n-1-1)~2n-1-1
補碼 -2n-1~2n-1-1*(因為(+0= - 0))

浮點數運算
浮點數表示(科學計數法):
N=M*Re
M是尾數,e是指數,R是基數。

計算過程:①對階(低階換成高階)→②尾數計算→③結果格式化(確保尾數的第一個位置0<X<10)

計算機結構

CPU包括:運算器(進行運算)和控制器(控制CPU的互動)

運算器包括

①算術邏輯單元ALU
②累加暫存器AC:通用暫存器,儲存計算的值
③資料緩中暫存器DR:對記憶體儲器進行讀寫操作的時候,用來暫存資料
④狀態條件暫存器PSW:儲存運算過程中的相關標誌位

控制器包括

①程式計數器PC:獲取下一指令地址
②指令暫存器IR
③指令譯碼器
④時序部件

Flynn分類法

按指令流和資料流分類:


CISC與RISC


流水線技術

概念:

在程式執行時多條指令重疊進行操作的一種準並行處理實現技術。各種部件同時處理是針對不同指令而言的,它們可同時為多條指令的不同部分進行工作,以提高各部件的利用率和指令的平均執行速度。

具體步驟:→取指→分析→執行→


流水線技術總時間計算

流水線週期為執行時間最長的一段
流水線計算公式為:

    1條指令的執行時間+(指令條數-1)*流水線週期

	理論公式:(t1+t2+……+tk)+(n-1)*∆t
	實踐公式:(k+n-1)*∆t
	可以用流水線來理解,流水線上產品的移動速度是按耗時最長的工序走的。其他工序可能完成了要等會兒所以流水線週期和每個部分的耗時就變成了執行時間最長的一個工序時長

care:考試的時候先算理論公式,如果沒有再計算實踐公式。

流水線吞吐率(TP)概念

單位時間內流水線所完成的任務數量或輸出的結果數量

流水線吞吐率計算:

	TP=指令條數/流水線執行時間

流水線最大吞吐率(理想狀態下,忽略啟動的影響):

	TPMAX=lim_(n→∞)⁡〖(n/(k+n−1)∆t)^n 〗=1/∆t

流水線的加速比概念

完成同樣一批任務,不使用流水線所用的時間與使用流水線所用的時間之比。

S=不使用流水線執行時間/使用流水線執行時間

流水線的效率概念

流水線的裝置利用率。在時空圖上,流水線的效率定義為n個任務佔用的時空區與k個流水段總的時空區之比

E=n個任務佔用的時空區/k個流水段的總的時空區=T0/kTk
T0=(t0+t1+……+tn)xn
Tk根據時空圖

儲存系統

層次化儲存結構


care:暫存器容量小,速度快,容量和速度相對取反。

Cache概念

提高CPU資料輸入和輸出的速率,CPU與儲存系統間資料傳送頻寬限制。

在計算機的儲存系統體系中,Cache是訪問速度最快的層次
使用Cache提升系統性能的的依據是區域性性原理

計算同時使用Cache+主儲存器系統的平均週期

T3=hXT1+(1-h)T2
T1:Cache的週期時間。
T2:主儲存器週期時間。
h:對Cache的訪問命中率

區域性性原理:

某個時間段集中的訪問某個空間的特性。
時間區域性性:重複訪問一個空間
空間區域性性:訪問一個空間的時候,下一個指令會訪問他臨近的空間
工作集理論:工作集是程序執行時被頻繁訪問的頁面集合

儲存器


隨機儲存器特點:斷點則丟失資訊(eg:記憶體)

主存-編制

n*m位儲存器:有n個儲存空間,每個儲存空間有m個bit位容量

磁碟結構與引數

存取時間三尋道時間+等待時間(平均定位時間+轉動延遲)

注意:尋道時間是指磁頭移動到磁軌所需的時間;等待時間為等待讀寫的扇區轉到磁頭下方所用的時間。


匯流排系統

根據匯流排所在位置的不同分類為

內部匯流排(晶片範圍)
系統匯流排(外掛板範圍):資料匯流排(傳輸資料)、地址匯流排、控制匯流排
外部匯流排(連線外設範圍)

可靠性

串聯絡統與並聯系統

串聯絡統:元件中一個失效全部失效
可靠度:R=R1xR2x……xRn
失效率:X=X1xX2x……Xn

並聯系統:一個失效其他還能執行
可靠度:R=1-(1-R1)x(1-R2)x……x(1-Rn)
失效率:1-R

模冗餘系統

混合系統

Rx(1-(1-R)3)x(1-(1-R)2)  

校驗碼

碼距

整個編碼系統中任意兩個碼字的最小距離,一個碼字要改變幾位才能變為另外一個碼字

eg:
    用1位長度的二進位制編碼,如A=1,B=0,AB之間的最小碼距是1,如果A→B的時候發生了錯誤變成0,系統無法檢錯。
    用2位長度的二進位制編碼,如A=11,B=00,AB之間的最小碼距是2,如果A→B發生了錯誤,變成了01,系統可以查錯,但是因為不知道是A還是B錯,所以無法糾錯
    用三位則可以同時實現糾錯和檢錯

碼距、檢錯、糾錯的關係

在一個碼組內為了檢測e個誤碼,要求最小碼距>e+1
在一個碼組內為了糾正t個誤碼,要求最小碼距>2t+1

迴圈校驗碼CRC

只能檢錯,不能糾錯
在尾部加入校驗位,讓編碼後的資料能夠與迴圈校驗碼的生成多項式相除餘數為0

他的除法是使用模2除法(異或運算)

具體題目解法:
	將題目中的多項式轉換為對應二進位制,在原始報文後面加上多項式長度-1個0,進行模2除法,將最後餘數替換一次修改報文後面的0。

海明校驗碼

校驗位在整個資訊編碼2n

eg:


參考

軟體設計師考試教程