計算機組成結構必背點
一、計算機硬件組成
計算機的硬件基本系統由五大部分組成:運算器、控制器、存儲器、輸入設備(eg鼠標鍵盤)、輸出設備(eg顯示器);
存儲器分為:內部存儲器、外部存儲器。 內部存儲器即內存,容量小、速度快、臨時存放數據;外部存儲器即硬盤光盤等,容量大,速度慢,長期保存數據;
外設:輸入設備、輸出設備 合并成為外部設備,即外設;
主機:cpu+主存儲器;
中央處理單元即CPU:運算器+控制器+寄存器組(32/64bit)+內存總線 等部件;
運算器功能:算術運算和邏輯運算;由算術邏輯單元ALU、累加寄存器AC(運算結果或源數據的存放區)、數據緩沖寄存器DR、狀態條件寄存器PSW組成。
控制器功能:控制整個CPU工作,包括程序控制、時序控制、操作控制;
控制器組成:指令寄存器IR(暫存CPU執行指令)、程序計數器PC(存放指令執行地址)、地址寄存器AR(保存當前CPU所訪問的內存地址)、指令譯碼器ID(分析指令操作碼)
**從PC里取出指令存放地址,如0x000001,從主存里找到這個地址,按這個地址取出指令,存放到指令寄存器IR里,然后指令譯碼器ID分析指令。(PC--->IR---->ID)
CPU根據不同階段決定取指令還是取數字:取指時取指令, 執行指令時取數據。
二、數據的進制轉換
常見的進制:二進制(符號:0b,表示eg:0b0011)、八進制、十進制、十六進制(包含:0~9,a,b,c,d,e,f,符號:0x或H,表示eg:0x18F或18FH)
R進制轉十進制:位權展開法。 eg:6進制數5043---》十進制=5*63+0*62 +4*61 +3*60 。從最低位開始,每一位乘以R的0,1,2,3...次方。
十進制轉R進制:除余法。十進制數字 依次除以R,記錄余數,直至商為0,。將所有余數從下往上排列成從左至右的順序,即為轉換后的R進制數。
示例:
特殊轉換:二進制、八進制、十六進制轉換。每3位二進制可以轉換為1位八進制數值,每4位二進制可以轉換為1位16進制數值。
eg:(0010 1101)2 轉換成16進制: 0010=2 1101=1*23 +1*22+1*20=13(對應16進制的d)16進制即為 2d
三、數的編碼方式
符號位,0表示正數,1表示負數,eg:+0(0 0000000),-0(1 0000000)
不同碼制的特點:
| 碼制 | 正數 | 負數 |
| 原碼 | 正常二進制表示數,+0 | 正常二進制表示數,-0 |
| 反碼 | 同原碼 | 原碼符號位外,取反 |
| 補碼 | 同原碼 | 反碼末位+1 |
| 移碼 | 補碼符號位取反 | 補碼符號位取反 |
不同字長的取值范圍:
| 碼制 | 定點整數 | 定點小數 | 備注 |
| 原碼 | -(2n-1-1) ~ +(2n-1-1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
整數:去掉符號位,實際數值位長為n-1,再減去-0、+0 小數:把整數范圍整體除以2n-1 |
| 反碼 | -(2n-1-1) ~ +(2n-1-1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
原碼符號位外,取反,其余同上 |
| 補碼 | -2n-1 ~ +(2n-1-1) | -1 ~ +(1-2-(n-1)) | 反碼末位+1,補碼只有一個0 |
| 移碼 | -2n-1 ~ +(2n-1-1) | -1 ~ +(1-2-(n-1)) | 補碼符號位取反,移碼也只有一個0 |
浮點數表示: N=F*2E F為尾數,為帶符號的純小數,影響數值精度;E為階碼,為帶符號的純整數,影響數值范圍。
四、校驗碼
碼距:從A碼到B碼轉換所需要改變的位數。 碼距越大,越有利于糾錯和檢錯。
奇偶校驗碼:在編碼中增加1位校驗位來使編碼中1的個數為奇數(奇校驗)或偶數(偶校驗)。奇偶校驗只能檢出1位錯,無法糾錯。
循環冗余校驗碼CRC:原始報文/多項式(eg:x4+x2+1,除數為10101),求得余數,最終結果為:數據位+校驗位(即余數),計算方式為模二運算:相同為0,不同為1。
海明校驗碼:本質也是利用奇偶性來檢錯和糾錯。方法是在數據位之間的確定位置上插入k個校驗位,通過擴大碼距來實現檢錯和糾錯。
數據位為n位,校驗位為k位,必須滿足2k-1>=n+k。 eg:假設校驗位k是3位,數據位n<=23-1-3 即數據位n<=4。
簡易理解方式,數據所有位編號,在2的0、1、2......次方位插入校驗數據,直到數據的最高位。
檢錯和糾錯原理: 以數據1101為例

第7位=第1位+第2位+第4位、第6位=第2位+第4位、第5位=第1位+第4位、第3位=第1位+第2位===>根據位數編號和來判斷,引用到哪一個校驗位的,即為該位的被校驗位
由上述位數編號可得,r2(第4位)校驗的是I2、I3、I4 (第5、6、7位=0、1、1),r2的值== (與0、1、1異或運算的值)。===>校驗位是由信息位異或來的
若為偶檢驗,r2應為0;若為奇校驗,r2應為1;
若偶校驗接收到的數據為1101101,如圖排列后,校驗位與信息位分別進行一下異或運算:
r2⊕I4⊕I3⊕I2 r2校驗的位數為第5、6、7位,則 r2與這幾位數一起進行異或運算,1⊕1⊕0⊕1=1(不滿足偶校驗結果應全為0)
r1⊕I4⊕I3⊕I1 r1校驗的位數為第3、6、7位,則 r2與這幾位數一起進行異或運算,0⊕1⊕0⊕1=0(滿足偶校驗結果應全為0)
r0⊕I4⊕I2⊕I1 r0校驗的位數為第3、5、7位,則 r2與這幾位數一起進行異或運算,1⊕1⊕1⊕1=0(滿足偶校驗結果應全為0)
將r2r1r0排列為二進制100,即指出第4位出錯。糾錯方法就是將1逆轉為0。偶校驗正確的接收數據為1100101。
五、計算機體系結構分類
SISD: 單指令流單數據流 一個控制器、一個處理器、一個主存模塊,代表為單處理器系統;
SIMD:單指令流多數據流 一個控制器、多個處理器、多個主存模塊,異步執行指令,代表為并行處理機、陣列處理機、超級向量處理機;
MISD:多指令流單數據流 多個控制器、一個處理器、多個主存模塊,不可能存在的;
MIMD:多指令流多數據流 多個控制器、多個處理器、多個主存模塊,作業、人、指令等各級全面并行,代表為多處理機系統、多計算器;
六、指令尋址方式
指令尋址方式:順序尋址、跳躍尋址(不從程序計數器中給,跳躍后按新的指令地址開始順序執行)
指令操作數尋址方式:
立即尋址(指令地址碼字段就存操作數本身)
直接尋址(指令地址碼字段存操作數在主存中的地址)
間接尋址(指令地址碼字段指向的存儲單元中,存儲的是操作數地址)
寄存器尋址(指令地址碼字段指向的是寄存器的編號)
七、流水線相關計算
流水線周期:指令分成不同執行段,執行時間最長的段為流水線周期
流水線執行時間:1條指令總執行時間+(總指令條數-1)*流水線周期
流水線吞吐率:總指令條數/流水線執行時間
流水線加速比:不使用流水線總執行時間/使用流水線總執行時間
超標量流水線技術:常規度為1,大于1就是超標量技術。當度為3時,相當于3條流水線并行執行,即取值、分析、執行每個階段同時處理3條指令。
當題目提到度時,指令條數=總指令條數/度,然后再計算流水線執行時間。

浙公網安備 33010602011771號