軟件設(shè)計(jì)師筆記-計(jì)算機(jī)組成與結(jié)構(gòu)體系

一、計(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)算
    • 取值范圍

-(2^{n-1}-1)到2^{n-1}-1

  • 反碼
    • 變換方式
      • 正數(shù)

        • 不變
      • 負(fù)數(shù)

        • 符號位不動
        • 其余位置取反
      • 取值范圍

-(2^{n-1}-1)到2^{n-1}-1

  • 補(bǔ)碼

    • 變換方式

      • 正數(shù)

        • 不變
      • 負(fù)數(shù)

        • 在反碼的基礎(chǔ)上加一
    • 取值范圍

-2^{n-1}到2^{n-1}-1

  • 移碼
    • 在補(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ù)器基本都是這種
Flynn分類法

1.4、CISC和RISC

  • CISC

    • 定制的計(jì)算機(jī)的指令集
    • 比較具有針對性
  • RISC

    • 精簡指令集

    • 普適性更高

    • 只保留了基本的指令

      • 復(fù)雜的指令則由精簡的指令組合而成
  • 更加適合流水線

image-20211002132941467

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ù)位置分為三類

  1. 內(nèi)部總線

  2. 系統(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
  3. 控制總線

    • 用來傳送各種控制信號的總線。
    • 外部總線

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ù)

2^r >= x + r + 1

技巧型快速生成海明碼

注意: 技巧型的思路適合學(xué)過海明校驗(yàn)碼的人來增加解題速度,但是不太適合完全不知道海明校驗(yàn)碼的人來學(xué)習(xí)

糾錯(cuò)編碼——hamming Code 漢明碼(海明碼)的快速手算方法_嗶哩嗶哩_bilibili

生成

image-20211017091649280

思路如下

  1. 先看一下原信息的位數(shù) (10101101)是8位,根據(jù)公式
    image-20211017091905904

    可以算出校驗(yàn)位是4位, 信息位加上校驗(yàn)位總共是12個(gè)位置

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

這套方法運(yùn)用熟練之后就可以只寫兩行,然后計(jì)算出二進(jìn)制數(shù)之后直接寫在右側(cè)計(jì)算異或的區(qū)域

海明碼方向校驗(yàn)原信息

image-20211017094002376

解題方式

  1. 還是畫一個(gè)表格,然后將有1的位置轉(zhuǎn)化為二進(jìn)制位

    1. image-20211017094321574
  2. 做異或運(yùn)算

    1. image-20211017094405063
    2. 異或得到的結(jié)果如果是0000 說明是正確的
    3. 但是我們獲取到的結(jié)果是0110 ,說明信息是錯(cuò)誤的,將0110 轉(zhuǎn)化為10進(jìn)制位之后得到 6 說明第六位是錯(cuò)誤的
  3. 糾錯(cuò)

    1. image-20211017094634445
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容