一、計(jì)算機(jī)組成與體系結(jié)構(gòu)
1.1、數(shù)據(jù)的表示
1.1.1、進(jìn)制的轉(zhuǎn)化
-
二進(jìn)制<->十進(jìn)制
-
二進(jìn)制轉(zhuǎn)十進(jìn)制
-
按權(quán)展開
- image-20211002132745461
-
-
十進(jìn)制轉(zhuǎn)二進(jìn)制
-
短除法
- image-20211002132753705
-
-
-
二進(jìn)制轉(zhuǎn)八進(jìn)制
-
三位為一組進(jìn)行轉(zhuǎn)換
- image-20211002132759966
-
-
二進(jìn)制轉(zhuǎn)十六進(jìn)制
-
四位數(shù)為一組進(jìn)行轉(zhuǎn)換
- image-20211002132808027
-
1.1.2、編碼問題
-
案例
- image-20211002132815118
-
原碼
-
最高位表示符號位
-
正數(shù)
- 0
-
負(fù)數(shù)
- 1
-
-
缺點(diǎn)
- 不能直接進(jìn)行數(shù)據(jù)運(yùn)算
-
取值范圍
-
- 反碼
- 變換方式
-
正數(shù)
- 不變
-
負(fù)數(shù)
- 符號位不動
- 其余位置取反
-
取值范圍
-
- 變換方式
-
補(bǔ)碼
-
變換方式
-
正數(shù)
- 不變
-
負(fù)數(shù)
- 在反碼的基礎(chǔ)上加一
-
-
取值范圍
-
- 移碼
- 在補(bǔ)碼的基礎(chǔ)上將符號位取反
1.1.3、浮點(diǎn)數(shù)運(yùn)算
-
表示方式
- image-20211002132845498
-
計(jì)算方式
- image-20211002132924720
-
對階
- 全部向最高位對階
- 尾數(shù)計(jì)算
- 然后如果不滿足M屬于1-9之間的數(shù),則將M格式化為1-9之間的數(shù)
1.2、計(jì)算機(jī)的結(jié)構(gòu)
1.2.1、主機(jī)
主存儲器
-
CPU
-
運(yùn)算器
- 算術(shù)邏輯單元ALU
- 累加寄存器AC
- 數(shù)據(jù)緩沖寄存器DR
- 狀態(tài)條件寄存器PSW
-
控制器
- 程序計(jì)數(shù)器PC
- 指令寄存器IR
- 指令譯碼器
- 時(shí)序部件
-
1.3、Flynn分類法
-
SISD
- 在以前的電腦上有,現(xiàn)在的電腦是都沒有了
- 在一些單片機(jī)中存在這樣的結(jié)構(gòu)
-
SIMD
-
代表
- ==陣列處理機(jī)==
-
-
MISD
- 實(shí)際上不存在
-
MIMD
- 現(xiàn)在的服務(wù)器基本都是這種

1.4、CISC和RISC
-
CISC
- 定制的計(jì)算機(jī)的指令集
- 比較具有針對性
-
RISC
精簡指令集
普適性更高
-
只保留了基本的指令
- 復(fù)雜的指令則由精簡的指令組合而成
更加適合流水線

1.5、流水線技術(shù)
-
概念
image-20211002132947589 -
流水線周期
- 執(zhí)行時(shí)間最長的一段
-
流水線計(jì)算公式
1條指令執(zhí)行時(shí)間+ (指令條數(shù)-1)* 流水線周期
-
①理論公式
-
(t1 + t2+t3+...+tk)=(n-1)* △t
- k為流水線的段數(shù)
- △t : 流水線周期
- n: 執(zhí)行的指令條數(shù)
-
-
②實(shí)際公式
- (k +n-1)*△t
-
例題
- image-20211002132955234
-
流水線的吞吐率
Though Put rate ,TP
單位時(shí)間內(nèi)流水線所完成的任務(wù)數(shù)量或者輸出的結(jié)果數(shù)量
-
吞吐率公式
- image-20211002133054659
-
流水線最大吞吐率
- image-20211002133058665
- 在不考慮流水線創(chuàng)建時(shí)間的情況下理論最大吞吐率
-
流水線的加速比
完成同一任務(wù),不使用流水線所用的時(shí)間與使用流水線所用的時(shí)間之比成為流水線的加速比
-
公式
- image-20211002133105241
-
流水線的效率
流水線的設(shè)備利用率。在時(shí)空圖上,流水線按的效率定義為n個(gè)任務(wù)占用的時(shí)空圖與k個(gè)流水段總的時(shí)空區(qū)比
-
公式
- image-20211002133109831
-
例題
- image-20211002133113692
1.6、存儲系統(tǒng)
存儲速度
- image-20211002133118752
catch
- image-20211002133123394
- image-20211002133130261
局部性原理
-
時(shí)間局部性
如果一個(gè)信息項(xiàng)正在被訪問,那么在近期它很可能還會被再次訪問。
-
例如
- 程序循環(huán)、堆棧等是產(chǎn)生時(shí)間局部性的原因。
-
空間局部性
空間局部性是一旦一個(gè)指令一個(gè)存儲單元被訪問,那么它附近的單元也將很快被訪問
-
例如
- 數(shù)組的相鄰空間
-
工作集理論
工作集是進(jìn)程運(yùn)行時(shí)被頻繁訪問的頁面集合
-
解釋
- 就是將被頻繁訪問的集合打包起來,這樣就可以整體的訪問這個(gè)集合,從而減少訪問的次數(shù)和時(shí)間
主存
-
分類
-
隨機(jī)存儲器
-
分類
DRAM(Dynamic RAM,動態(tài)的RAM )
SDRAM
SRAM(Static RAM,靜態(tài)的RAM)
-
特點(diǎn)
- 數(shù)據(jù)斷電丟失
-
-
只讀存儲器
-
分類
MROM(Mask ROM,掩模式ROM)
-
PROM
-
Programmable ROM
- 一次可編程ROM
-
-
EPROM
-
Erasable PROM
- 可擦除的PROM
-
-
閃速存儲器
-
flash memory
- 閃存
-
-
特點(diǎn)
- 數(shù)據(jù)斷電保留
-
-
-
編址
-
image-20211002133148490
- 8代表有八個(gè)地址空間
- *4 表示每個(gè)地址空間存儲了4個(gè)比特的信息
-
如果要用8*4的存儲器組成每個(gè)空間擁有8個(gè)比特信息的存儲空間,則將兩個(gè)存儲器拼起來
-
image-20211002133158825
- 地址仍然是8個(gè)
- 但是每個(gè)地址的容量已經(jīng)由4變成了8
-
-
同理16*4 的存儲空間也存在
- image-20211002133204974
-
出題
- image-20211002133209999
-
磁盤結(jié)構(gòu)與參數(shù)
-
結(jié)構(gòu)
- image-20211002133216312
- image-20211002133222221
-
概述
- image-20211002133228166
-
例題
- image-20211002133232250
1.7、總線系統(tǒng)
根據(jù)位置分為三類
內(nèi)部總線
-
系統(tǒng)總線
- 數(shù)據(jù)總線
- 我們平常說的系統(tǒng)是32位的還是64位的就是值得數(shù)據(jù)總線
- 總線的寬度是32位的,一次能夠傳輸?shù)臄?shù)據(jù)就是三十二個(gè)比特位
- 地址總線
- 代表地址空間是2的32次方也就是4G
- 也即是說我們?nèi)绻玫降南到y(tǒng)是32位的,那么他能夠管理的系統(tǒng)空間就是4G
- 數(shù)據(jù)總線
-
控制總線
- 用來傳送各種控制信號的總線。
- 外部總線
1.8、可靠性
串聯(lián)系統(tǒng)與并聯(lián)系統(tǒng)
-
問題
- 給一個(gè)串并聯(lián)在一起的模型計(jì)算出可靠度
-
串聯(lián)模型
- image-20211002133241146
- 可靠的概率是所有的子系統(tǒng)的可靠性的概率乘積
-
并聯(lián)模型
- image-20211002133246020
模冗余系統(tǒng)與混合系統(tǒng)
-
模冗余系統(tǒng)(幾乎不考)
- image-20211002133249924
-
混合系統(tǒng)
1.9、校驗(yàn)碼
-
基礎(chǔ)概念
- image-20211002133327661
差錯(cuò)控制
循環(huán)校驗(yàn)碼(CRC)
- image-20211002133331995
所謂的模2除法是二進(jìn)制數(shù)字之間的計(jì)算,就是將被除數(shù)和除數(shù)進(jìn)行異或相除,如上圖左邊的除法
-
例題
- image-20211002133340987
-
解題方法
-
先根據(jù)多項(xiàng)式生成對象的除數(shù)
- 11011
然后根據(jù)除數(shù)的個(gè)數(shù) - 1 在原文信息后邊補(bǔ)0生成被除數(shù)
-
用被除數(shù)除以除數(shù)得到余數(shù)
- 即為校驗(yàn)碼
用校驗(yàn)碼將之前我們補(bǔ)在原信息后邊的0替換掉就是使用CRC編碼之后生成的信息
-
海明校驗(yàn)碼
- image-20211002133348048
-
校驗(yàn)碼存在的位置
- 2的N次方的位置
-
校驗(yàn)位的位數(shù)和信息位的位數(shù)的關(guān)系必須滿足
- r:為校驗(yàn)碼的個(gè)數(shù)
x:為信息的個(gè)數(shù)
- r:為校驗(yàn)碼的個(gè)數(shù)
技巧型快速生成海明碼
注意: 技巧型的思路適合學(xué)過海明校驗(yàn)碼的人來增加解題速度,但是不太適合完全不知道海明校驗(yàn)碼的人來學(xué)習(xí)
糾錯(cuò)編碼——hamming Code 漢明碼(海明碼)的快速手算方法_嗶哩嗶哩_bilibili
生成

思路如下
-
先看一下原信息的位數(shù) (10101101)是8位,根據(jù)公式image-20211017091905904
可以算出校驗(yàn)位是4位, 信息位加上校驗(yàn)位總共是12個(gè)位置
- 然后畫出一個(gè)三行12列的表格,
- 第一列從大到小寫上1-12,
- 第二列將校驗(yàn)位空出來,其他位置寫上原信息
- 因?yàn)槲覀兊男r?yàn)碼總共有4位,所以第二行原信息中為1 的那一列中的第一行信息轉(zhuǎn)化成4位二進(jìn)制數(shù), 如果第二行的信息為0,則第一行不進(jìn)行轉(zhuǎn)換 不變
- 例如:將3轉(zhuǎn)化為 0011
- 5 不變
- 6轉(zhuǎn)化為 0110 等等
- 例如:將3轉(zhuǎn)化為 0011
- 然后將所有的二進(jìn)制數(shù)寫在右側(cè)一個(gè)單獨(dú)區(qū)域(不明白的看圖),對二進(jìn)制數(shù)進(jìn)行異或操作,得到一個(gè)4位 的二進(jìn)制數(shù)
- 該二進(jìn)制數(shù)就是海明校驗(yàn)碼,注意順序是從右到左排列的,分別在將四個(gè)校驗(yàn)碼填寫到相應(yīng)的位置就得到了處理后的信息
這套方法運(yùn)用熟練之后就可以只寫兩行,然后計(jì)算出二進(jìn)制數(shù)之后直接寫在右側(cè)計(jì)算異或的區(qū)域
海明碼方向校驗(yàn)原信息

解題方式
-
還是畫一個(gè)表格,然后將有1的位置轉(zhuǎn)化為二進(jìn)制位
- image-20211017094321574
-
做異或運(yùn)算
- image-20211017094405063
- 異或得到的結(jié)果如果是0000 說明是正確的
- 但是我們獲取到的結(jié)果是0110 ,說明信息是錯(cuò)誤的,將0110 轉(zhuǎn)化為10進(jìn)制位之后得到 6 說明第六位是錯(cuò)誤的
-
糾錯(cuò)
- image-20211017094634445



































