計算機組成原理——思維導圖

計算機組成原理思維導圖圖片

第一章 計算機系統概論

馮諾依曼型計算機特點

  • 1.計算機由運算器,控制器,存儲器,輸入和輸出設備5部分組成
  • 2.採用存儲程序的方式,程序和數據放在同一個存儲器中,並以二進制表示。
  • 3.指令由操作碼和地址碼組成
  • 4.指令在存儲器中按執行順序存放,由指令計數器(即程序計數器PC)指明要執行的指令所在的儲存單元地址,一般按順序遞增,但可按運算結果或外界條件而改變
  • 5.機器以運算器爲中心,輸入輸出設備與存儲器間的數據傳送都通過運算器

區別以運算器爲中心的計算機還是存儲器的方法

  • 看輸入設備能否直接與存儲器相連,是的話就是以存儲器爲中心

計算機系統

  • 硬件
    • 結構
      • 主機
        • cpu
          • ALU運算器
          • CU控制器
        • 存儲器
          • 主存
          • 輔存
      • I/O
        • 輸入設備
        • 輸出設備
    • 主要技術指標
      • 機器字長
        • CPU一次能處理的數據位數
      • 存儲容量
        • 存儲容量=存儲單元個數×存儲字長
      • 運算速度
        • 單位時間執行指令的平均條數,MIPS
  • 軟件
    • 系統軟件
      • 用來管理整個計算機系統
        • 語言處理程序
        • 操作系統
        • 服務性程序
        • 數據庫管理系統
        • 網絡軟件
    • 應用軟件
      • 按任務需要編製成的各種程序

第三章 運算方法和運算部件

數據的表示方法和轉換

  • 機器數正0負1
    • 符號數值化的帶符號二進制數,稱爲機器數。
  • 真值:符號位加絕對值
  • 餘三碼:在8421碼的基礎上,把每個編碼都加上0011
    • 當兩個餘三碼想加不產生進位時,應從結果中減去0011;產生進位時,應將進位信號送入高位,本位加0011
  • 格雷碼:任何兩個相鄰編碼只有1個二進制位不同,而其餘3個二進制位相同
  • 8421碼
    • 權值從高到低爲8、4、2、1
      • 算術運算時,需對運算結果進行修正。 方法:如果小於、等於(1001)2,不需要修正;否則加6修正

帶符號的二進制數據在計算機中的表示方法及加減法運算

  • 原碼
    • 定義
      • 最高位爲符號位0/1+數值的絕對值形式
    • 特點
      • (1)值+0,-0的原碼分別爲00000、10000,形式不唯一;
      • (2)正數的原碼碼值隨着真值增長而增長
        •  負數的原碼碼值隨着真值增長而減少
          
      • (3)n+1位原碼錶示定點整數範圍-(2n-1)——2n-1
        •  n+1位原碼錶示定點小數範圍 -(1-2-n)——1-2-n
          
    • 運算
      • 絕對值相加減,由數值大小決定運算結果符號
  • 補碼
    • 定義,特點和運算
      • 運算:
        結果不超過機器所能表示範圍時,[X+Y]補=[X]補+[Y]補
        減法運算:
        [X–Y]補=[X+(–Y)]補=[X]補+[–Y]補
      • 結論
        • 負數的補數=模+負數
        • 互爲補數的絕對值相加=模
        • 在補數中,減法運算即加法運算
      • 定義
        • 定義法,即[X]補=2·符號位+X (MOD 2)
        • X爲正數,則符號0+X的絕對值;X爲負數,則X的絕對值取反+1。
      • 特點
        • 數值零的補碼錶示唯一
        • 正數補碼碼值隨着真值增大而增大,負數補碼碼值隨着真值增大而增大
        • n+1位補碼所表示定點整數範圍- 2n——2n-1,n+1位補碼所表示定點小數範圍-1——1-2-n
    • 加法運算邏輯事例
      • 過程
      • 加減法運算的溢出處理
        • 溢出定義
          • 當運算結果超出機器數所能表示的範圍
        • 加減中,可能產生溢出的情況
          • 可能出現溢出
            • 同號數相加
            • 異號數相減
          • 不可能出現溢出
            • 異號數相加
            • 同號數相減
        • 判斷溢出的方法
          • 法一:當符號相同兩數相加,結果符號和加數(或被加數)不相同,則溢出
            • fa,fb表示兩操作數(A,B)的符號位,fs爲結果的符號位
          • 法二:任意符號相加,如果C=Cf,則結果正確,否則溢出;
            • C爲數值最高位的進位,Cf爲符號位的進位
          • 法三:採用雙符號相加,如果fs1=fs2,則結果正確,否則溢出;
            • 運算結果的符號位爲fs2;
            • 多符號位的補碼,叫做變形補碼;
            • 如果採用雙符號位,當數爲小數時,模m=4;當數爲整數時,模m=2的n+2次方
  • 反碼
    • 定義
      • a.定義法,即[X]反=(2-2-n)·符號位+X (MOD 2-2-n)
      • b.X是正數,[X]反=[X]原;X是負數,符號+數值取反。
    • 特點
      • 數值零的反碼錶示不唯一
      • 正數反碼碼值隨着真值增大而增大,負數反碼碼值隨着真值增大而增大
      • n+1位反碼所表示定點整數範圍- (2n-1)——2n-1,n+1位反碼所表示定點小數範圍-(1-2-n)——1-2-n
    • 加減運算特點
      • 在機器數範圍內,反碼運算滿足[X+Y]反=[X]反+[Y]反
        ,[X-Y]反=[X]反+[-Y]反
    • 反碼運算在最高位有進位時,要在最低位+1,此時要多進行一次加法運算,增加了複雜性,又影響了速度,因此很少採用
    • 由於反碼運算是以2-2的-次方爲模,所以,當最高位有進位而丟掉進位(即2)時,要在最低位+/-1
  • 移碼
    • 由來及竅門
      • 爲了從碼值直接判斷對應真值的大小,所以引進移碼
      • [X]補的符號位取反,即得[X]移
    • 特點
      • 最高位是符號位,1表示正,0表示負
      • 數據0有唯一的編碼
      • 移碼碼值隨着真值增大而增大
      • n+1位移碼所表示定點整數範圍- 2n——2n-1, n+1位移碼所表示定點小數範圍-1——1-2-n
      • 計算機中,移碼常用於表示階碼,故只執行加、減運算
      • 計算機中,移碼運算公式需要對結果進行修正
    • 浮點數的階碼運算
      • 移碼定義:[X]移=2的n次方+X
      • 補碼定義:[X]補=2的n+1次方+Y
      • 階碼求和公式
        • [X]移+[Y]補=[X+Y]移 mod2的n+1次方
        • [X]移+[-Y]補=[X-Y]移
        • 判溢方法
          • 雙符號位參加運算,最高符號位恆置0
          • 當結果最高符號位=1則溢出
            • 低位符號=0,則上溢;低位符號=1,則下溢;
          • 當結果最高符號位=0則未溢出
            • 低位符號=0,負數;低位符號=1,正數
        • 說明:如果階碼運算的結果溢出,上述條件不成立。此時,使用雙符號位的階碼加法器,並規定移碼的第二個符號位,即最高符號位恆用0參加加減運算,則溢出條件是結果的最高符號位爲1。此時低位符號爲0時,表明結果上溢;爲1時,表明結果下溢。當最高符號位爲0時,表明沒有溢出,低位符號位爲1,表明結果爲正;爲0時表明結果爲負。
  • 補,反,原,移碼的相互轉換
    • 反碼-》原碼
      • 方法:符號位不變,正數不變,負數數值部分取反。
    • 補碼-》原碼
      • 方法1:正數不變,負數數值部分求反加1。
      • 方法2:串行轉換
        • 從最後開始數,遇到第一個“1”,除第一個“1”不變,前面數字分別取反
    • 移碼-》原碼
      • 方法:移碼轉換爲補碼,再轉換爲原碼
  • 數據從補碼和反碼錶示形式轉換成原碼
    • 自低位開始轉換,從低位向高位,在遇到第一個1之前,保存各位的0不變,第一個1也不變,以後得各位按位取反,最後保持符號位不變,經歷一遍後,即可得到補碼
  • 定點數和浮點數
    • 定點數
      • 小數點固定在某個位置上的數據
        • 32位定點小數、定點整數補碼的範圍
          • 32位定點小數-1~1-2-31
          • 32位定點整數-231~231-1
    • 浮點數
      • 根據IEEE754國際標準,常用的浮點數有兩種格式
        • Nmax=Mmax2的Emax
          Nmin=Mmin
          2的Emax
        • 單精度(32位)=8位階碼+24位尾數
          • 單精度浮點數(32位),階碼8位(含一位符號位),尾數24(含一位符號位),取值範圍:-2的127次方~(1-2的-23次方)*2的127次方
        • 雙精度(64位)=11位階碼+53位尾數
          • 雙精度浮點數(64位),階碼11位(含一位符號位),尾數53位(含一位符號位),取值範圍:-2的1023次方~(1-2的-52次方)*2的1023次方
      • 爲了保證數據精度,尾數通常用規格化形式表示:當R=2,且尾數值不爲0時,其絕對值應大於或等於(0.5)10
        • 左規
        • 右規
      • 小數點位置可以浮動的數據。
      • 表示形式:N = M · RE
      • 計算機中存儲形式
        • Ms+Es+E(n位)+M(m位)
          • 階碼E,一般爲整數,用補碼或者移碼錶示;
          • 尾數M,一般爲規格化的定點小數,用補碼錶示;

二進制乘法運算

  • 定點原碼一位乘法
    • 兩個原碼數相乘,其乘積的符號爲相乘兩數符號的異或值,數值則爲兩數絕對值之積
      • [X·Y]原=[X]原·[Y]原=(X0⊕Y0)|(X1X2..Xn) · (Y1Y2..Yn)
    • 幾點結論
      • 從低到高根據乘數每位0、1決定相加被乘數還是0;
      • 相加數每次左移,最後一起求積;
      • 符號由異或決定
    • 表達式
    • 電路框架
    • 修正
      • 1.在機器內多個數據一般不能同時相加,一次加法操作只能求出兩數之和,因此每每求得一個相加數,就與上次部分積相加
      • 2.人工計算時,相加數逐次向左偏移一位,由於最後的乘積位數是乘數(或被乘數)的兩倍,如按此算法在機器中運算,加法器也需增到兩倍。觀察計算過程很容易發現,在求本次部分積時,前一次部分積的最低位不再參與運算,因此可將其右移一位,相加數可直送而不必偏移,於是用N位加法器就可實現兩個N位數相乘
      • 部分積右移時,乘數寄存器同時右移一位,這樣可以用乘數寄存器的最低位來控制相加數(取被乘數或零),同時乘數寄存器的最高位可接受部分積右移出來的一位,因此,完成乘法運算後,A寄存器中保存乘積的高位部分,乘數寄存器中保存乘積低位部分
    • 例題
    • 控制流程圖
  • 定點補碼一位乘法
    • 表達式
    • [X·Y]補=[X]補·(-Y0+Y1·2-1+….Yn·2-n)
    • 注意:此處爲雙符號位,當最後乘積高位爲負數時,需要補充加上[-|x|]補的操作

二進制除法

  • 加減交替法
    • 當餘數爲正時,商上1,求下一位商的辦法是,餘數左移一位,再減去除數;當餘數爲負時,商上0,求下一位商的辦法是,餘數左移一位,再加上除數。此方法不用恢復餘數,所以又叫不恢復餘數法。但若最後一次上商爲0而又需得到正確餘數,則在這最後扔需恢復餘數

浮點數的運算方法

  • 浮點數的加減法運算
    • 1.對階操作
      • 求出△E,再對小的進行移位
    • 2.尾數的加減運算
    • 3.規格化操作
      • 規則簡化是符號位和數值最高位不同,即00.1xxxx或11.0xxxx
    • 4.舍入
      • 超出表示範圍的高位爲1舍入
    • 5.檢查階碼是否溢出
  • 浮點數的乘除法運算
    • 1.浮點數階碼運算(移碼)
      • 牢記公式
        • [X+Y]移=[X]移+[Y]補
        • [X–Y]移=[X]移+[–Y]補
    • 2.按照一位乘或加減交替除運算
      • 先確定符號,在列式子計算

運算部件

  • ABC寄存器作業
  • 定點運算部件
  • 浮點運算部件
    • 由階碼運算部件和尾數運算部件組成

數據校驗碼

  • 碼距
    • 任意兩個合法碼之間不相同的二進制位數的最小值
      • 要具有差錯能力,則碼距>1
      • 合理增大碼距,就能提高發現錯誤的能力
  • 鑑定方法
    • 有無差錯能力
    • 是否能合理增大碼距
  • 奇偶校驗碼
    • 能發現數據代碼中一位或奇數個位出錯情況的編碼
    • 實現原理是使碼距由1增加到2
      • 步驟1:在字節高位補充一位,即校驗位
      • 步驟2:依據圖3.10電路形成原始數據D8..D1的校驗位值
      • 步驟3:將9位數據寫入主存
      • 步驟4:讀出該數據時,讀取數據D8..D1通過圖3.10判定合法性
    • 電路圖
    • 結論
      • (1)奇偶校驗碼只能發現一位或奇位錯,且不能確定出錯位置
      • (2)奇偶校驗碼的碼距=2
  • 海明校驗碼
    • 海明碼位號和校驗位位號的關係
      • Pi的位置在2的i-1次方,但是除了最高位
    • 筆記
      • 3,5,7||3,6,7||5,6,7
    • 電路圖
    • 海明碼碼距爲4
    • 糾一位錯,查一位錯
      • 2∧r≥k+r+1
    • 糾一位錯,查兩位錯
      • 2∧(r–1)≥k+r
  • 循環冗餘校驗碼(CRC)
    • CRC碼可以發現並糾正信息存儲或傳送過程中連續出現的多位錯誤
    • CRC碼一般是指k位信息碼之後拼接r位校驗碼
    • 模2運算
      • 模2加減
      • 模2乘除
      • 異或邏輯
    • CRC的譯碼與糾錯
      • 更換不同的待測碼字可以證明:餘數與出錯位的對應關係是不變,只與碼制和生成多項式有關

第四章 主存儲器

主存儲器處於全機中心低位

輔助存儲器或稱爲外存儲器,通常用來存放主存的副本和當前不在運行的程序和數據

主存儲器的類型

  • 隨機存儲器RAM
  • 非易失性存儲器

主存儲器的主要技術指標

  • 主存容量
    • 64×8等等
    • 計算機可尋址的最小信息單元是一個存儲字
    • 主存儲器存儲單元的總數
  • 存取速度
    • 由存儲器存取時間和存儲週期表示
  • 存儲器存取時間
    • 啓動一次存儲器操作(讀/寫)到完成該操作所經歷的時間
  • 存儲週期
    • 連續啓動兩次獨立的存儲器操作所間隔的最小時間

主存儲器的基本操作

  • CPU通過使用AR(地址寄存器)和DR(數據寄存器)和主存進行數據傳送
  • 若AR爲K位字長,DR爲n位字長,則允許主存包含2∧k個可尋址單元
  • CPU與主存採取異步工作方式,以ready信號表示一次訪存操作的結束

讀/寫存儲器

  • 隨機存儲器(RAM)按存儲元件在運行中能否長時間保存信息分爲靜態存儲器和動態存儲器
  • 靜態存儲器,利用觸發器保存信息,只要不斷電,信息就不會丟失
    • 電路簡圖
    • MOS靜態存儲結構圖
  • 動態存儲器,利用MOS電容存儲電荷來保存信息,需要不斷給電容充電才能使信息來保存信息
    • 電路簡圖
    • 16K×1位動態存儲器框圖
    • 再生
      • 集中式
      • 分散式
      • 時間小於或等於2ms
      • 行讀出再生

非易失性半導體存儲器

  • 只讀存儲器ROM
    • 只讀不能寫
  • 可編程序的只讀存儲器PROM
    • 一次性寫入
  • 可擦可編程序的只讀存儲器EPROM
    • 可多次寫入、讀出
  • 可電擦可編程序只讀存儲器E2PROM
    • 可多次讀出但寫入次數有限
  • 快擦除讀寫存儲器Flash Memory
    • 重複寫入、讀出

存儲器的組成與控制

  • 存儲器容量擴展
    • 位擴展:用多個存儲器芯片對字長進行擴充
    • 字擴展:增加存儲器中字的數量,提高存儲器的尋址範圍
    • 字位擴展,假設一個存儲器的容量爲M×N位,若使用L×K位存儲器芯片,那麼,這個存儲器共需要(M/L)×(N/K)個存儲器芯片

多體交叉存儲器

  • 提高訪存速度的方式
    • 採用高速器件
    • 採用層次結構
    • 調整主存結構
  • 計算機中大容量的主存可由多個存儲體組成,每個存儲體都具有自己的讀寫線路,地址寄存器和數據寄存器,稱爲"存儲模塊"。這種多模塊存儲器可以實現重疊與交叉存取
  • 第i個模塊M的地址編號應按下式給出:M×j+i
  • 連續地址分佈在相鄰的不同模塊內,而同一模塊內的地址都是不連續的

第五章:指令系統

指令系統的發展

  • 20世紀70年代末人們提出了便於VLSI實現的精簡指令系統計算機,簡稱RISC,同時將指令系統越來越複雜的計算機稱爲複雜指令系統計算機,簡稱CISC

指令格式

  • 結構(操作碼+地址碼)
    • 操作碼
    • 操作數的地址
    • 操作結果的存儲地址
    • 下一條指令的地址
  • 地址碼
    • 零地址指令
    • 一地址指令
      • 尋址範圍 224 = 16 M
        • 2次訪存
    • 二地址指令
      • 尋址範圍 212 = 4 K
        • 4 次訪存
    • 三地址指令
      • 尋址範圍 28 = 256
        • 4 次訪存
    • 多地址指令
      • 尋址範圍 26 = 64
        • 4 次訪存
  • 指令字長
    • 取決因素
      • 操作碼的長度
      • 操作數地址的長度
      • 操作數地址的個數
    • 指令字長 固定
      • 指令字長 = 存儲字長
    • 指令字長 可變
      • 按字節的倍數變化
    • 對準邊界存放
      • 不連續存放數據
      • 按字節編址
        • a.半字地址最低位恆爲0
        • b.字地址最低兩位恆爲0
        • c.雙字地址的最低三位恆爲0
      • 減少訪存次數,浪費存儲空間
    • 不 對 準 邊 界 存 放
      • 連續存放數據
      • 節約存儲器空間,但增加訪存次數,對多字節數據存在調整高 低字節位置的問題
  • 尋址方式
    • 確定本條指令的數據地址
    • 下一條要執行的指令地址的方法
  • 指令操作碼的擴展技術
    • 指令操作碼的長度決定了指令系統中完成不同操作的指令數
    • 若某機器的操作碼長度固定爲K位,則它最多隻能有2^K條不同指令
    • 指令操作碼兩種格式
      • 固定格式
        • 優點:對於簡化硬件設計,減少指令譯碼時間非常有利
        • 缺點:指令少,浪費地址
      • 可變格式(分散地放在字的不同字段)
        • 優點:指令多,縮短指令平均長度,減少程序總位數,增加指令字所能表示的操作信息
        • 缺點:譯碼複雜,控制器的設計難度增大
    • 拓展方法的一個重要原則
      • 使用頻度(即指令在程序中出現概率)高的指令應分配短的操作碼,使用頻度低的指令相應地分配較長的操作碼
  • 指令系統的兼容性
    • 保持系統向上兼容

精簡指令系統計算機(RISC)——用於小型機

複雜指令系統計算機(CISC)——用於大型機

第六章:中央處理器

計算機工作過程

  • 加電——》產生reset信號——》執行程序——》停機——》停電
  • 產生reset信號的任務
    • 任務一:使計算機處於初始狀態
    • 任務二:從PC中取出指令地址
  • 控制器作用是協調並控制計算機各部件執行程序的指令序列

控制器的組成

  • 控制器的功能
    • 取指令
      • 發出指令地址,取出指令的內容
    • 分析指令
      • (1)對操作碼譯碼產生操作相應部件的控制信號
      • (2)根據尋址方式形成操作數地址
    • 執行指令
      • (1)根據分析指令後產生控制信號、操作數地址信號序列,通過CPU及輸入輸出設備的執行實現每條指令的功能
      • (2)結果回送存儲器
      • (3)形成下條指令的地址
    • 控制程序和數據的輸入和結果輸出
    • 對異常情況和某些請求的處理
      • 異常情況的處理:例如算術運算的溢出、數據傳送奇偶錯
      • 某些請求的處理
        • “中斷請求”信號
        • DMA請求信號
  • 控制器的組成
    • 程序計數器(PC)
      • 即地址寄存器,用來存放當前正在執行的指令地址或即將要執行的下一條指令地址
    • 指令寄存器(IR)
      • 用以存放當前正在執行的指令,以便在指令執行過程中控制完成一條指令的全部功能
    • 指令譯碼器或操作碼譯碼器
      • 對指令寄存器中的操作碼進行分析解釋,產生相應的控制信號
    • 脈衝源及啓停線路
      • 脈衝源參數一定評率的脈衝作爲整個機器的時鐘脈衝,是機器週期和工作脈衝的基準信號,在機器剛加電時,還應產生一個總清信號(reset)
    • 時序控制信號形成部件
      • 當程序啓動後,在CLK時鐘作用下,根據當前正在執行的指令的需要,產生相應的時序控制信號,並根據被控制功能部件的反饋信號調整時序控制信號
        • 控制存儲器
        • 微指令寄存器
          • 控制字段+下址
    • 週期概念
      • 指令週期
        • 完成一條指令所需的時間,包括取指令、分析指令、執行指令
      • 機器週期
        • 也稱爲CPU週期,是CPU從內存中讀取一個指令的時間,通常等於取指週期
      • 時鐘週期
        • 稱爲節拍脈衝或T週期,是基準脈衝信號
    • 三條假設
      • 程序是存放在主存中的,當執行完一條指令後才從主存中取下一條指令(非流水線)
      • 指令的長度是固定的,並限制了尋址方式的多樣化
      • 在程序運行前,程序和數據都已存在主存中
  • 指令執行過程(運算器和控制器配合)
    • 組成控制器的基本電路
      • 具有記憶功能的觸發器以及由它組成的寄存器,計數器和存儲單元
      • 沒有記憶功能的門電路及由它組成的加法器,算術邏輯運算單元(ALU)和各種邏輯電路
    • 舉例
      • 加法
        • 取指令——》計算操作數地址——》取操作數——》執行結果並運算送結果
      • 要能看懂時序圖
        • 哪些指令在對應的時間有效
      • 條件轉移指令
        • 取指令——》計算地址
    • 控制器的功能就是按每一條指令的要求產生所需的控制信號
    • 產生控制信號的方法
      • 微程序控制
      • 硬佈線控制

微程序控制計算機的基本工作原理

  • 基本概念
    • 微指令
      • 在微程序控制的計算機中,將由同時發出的控制信號所執行的一組微操作
    • 微命令
      • 將指令分爲若干條微指令,按次序執行這些微指令。組成微指令的操作即微命令
    • 微程序
      • 計算機的程序由指令序列構成,而計算機每條指令的功能均由微指令序列解釋完成,這些微指令序列的集合就叫做微程序
    • 控制存儲器
      • 微程序一般是存放在專門的存儲器中的,由於該存儲器主要存放控制命令(信號)與下一條執行的微指令地址(簡稱下址)
      • 存儲單元內容
        • (1)微指令的控制信號——控制位
        • (2)下條微指令的地址——下址字段
      • 存儲芯片:ROM
    • 執行一條指令實際上就是執行一段存放在控制存儲器中的微程序
  • 實現微程序控制的基本原理
    • 控制信號(23條)
    • 書上P123頁爲加法的過程
    • 微指令格式:控制字段+下址字段
    • 23個控制位,12個下址位——》容量爲4K
    • 取址微指令的操作對所有指令都是相同的,所以是一條公用的微指令,其下址由操作碼譯碼產生
  • 微程序控制器
  • 時序信號及工作脈衝的形成
  • 停機和停電的區別
    • 停機
      • 電壓:穩定
        • 存放內容:保持
          • 重啓PC內容:斷點指令地址
    • 停電
      • 電壓:消失
        • 存放內容:RAM的內容消失
          • 重啓PC內容:第一條指令地址

微程序設計技術

  • 如何縮短微指令字長
    • 直接控制法(容量太小)
      • 編譯方法:每一位代表一個控制信號,直接送往相應的控制點
      • 優點:控制簡單
      • 缺點:微指令字長過大
    • 字段直接編譯法
      • 選出互斥的微指令
      • 每個字段都要留出一個代碼,表示本段不發出任何指令(000)
      • 優點:節省微指令的字長
      • 缺點:增加了額外的硬件開銷
    • 字段間接編譯法
      • 指令之間相互聯繫的情況
      • 舉例:A爲0-7,B爲0-3,如果是直接編譯——3+2=5,如果是間接編譯——3+1=4
      • 編碼方法:在字段直接編譯法中,譯碼輸出端要兼由另一字段中的某些微命令配合解釋
      • 優點:減少了微指令長度
      • 缺點:可能削弱微指令的並行控制能力,同時增加硬件開銷
    • 常熟源字段E(瞭解)
  • 如何減少微指令長度
    • 現行微指令/微地址
      • 現行微指令:當前正在執行的指令
      • 現行微地址:存放現行微指令的控制器存儲單元
    • 後繼微指令/微地址
      • 後繼微指令:下一條要執行的微指令
      • 後繼微地址:存放後繼微指令的控制器存儲單元
    • 增量與下址字段結合產生後繼微指令的方法
      • 下址字段分成:轉移控制字段BCF和轉移地址字段BAF
        • BCF:控制微程序的轉移情況
        • BAF:轉移後的微指令所在地址
      • BAF有兩種情況
        • 與uPC的位數相等——轉移靈活,但增加微指令長度
        • 比uPC短——轉移地址收到限制,但可縮短微指令長度
      • 優點
        • 微指令的下址字段很短,僅用於選擇輸入uPC計數器的某條線路有效
      • 缺點
        • 微程序轉移不靈活,使得微程序在控存中的物理空間分配有困難
    • 多路轉移方式
      • 一條微指令存在多個轉移分支的情況稱爲多路轉移
    • 微中斷
      • 1.微中斷請求信號是由程序中斷請求信號引起的
      • 2.在完成現行指令的微程序後響應該微中斷請求
      • 3.由硬件產生對應微中斷處理程序在控存中的入口地址
  • 如何提高微程序的執行速度
  • 微指令格式
    • 水平型微指令——直接控制,字段編譯(直接、間接)
      • 特點:在一條微指令中定義並並行執行多個微命令
    • 垂直型微指令
      • 特點:不強調實現微指令的並行控制功能
      • 定義:採用微操作碼編譯法,由操作碼規定微指令的功能
  • 微程序控制存儲器
    • 一般採用ROM存儲器
    • 也可採用RAM,爲防止斷電後內容消失,則必須開機後將外存中存放的微程序調入控存RAM,然後才能執行程序。
    • 當前爲了能不斷擴展指令系統,通常採用ROM+RAM
  • 動態微程序設計
    • 定義:能根據用戶要求改變微程序
    • 優點:是計算機能更靈活、有效的適應於各種不同的應用目標
  • 控制存儲器的操作(P136)
    • 串行方式
    • 並行方式——比串行多了微指令寄存器
      • 微週期=max(取微指令時間,執行微指令時間)
      • 由於取微指令、執行微指令同時進行,故對於某些後繼微地址的產生根據處理結果而定的微指令,則延遲一個微週期再取微指令

硬佈線控制的計算機(RISC)——特點快

  • 形成操作控制信號的邏輯框圖(P141)
  • 操作控制信號的產生
    • 取值週期cy1所產生的信號對所有指令都是相同的,即與當前執行的指令無關,邏輯式得到最簡單的形式
    • 通常,同一個控制控制信號在若干條指令的某些週期(或再加上一些條件)中都需要,爲此需要把它們組合起來
    • 同種類型的指令所需要的控制信號大部分是相同的,僅有少量區別
    • 在確定指令的操作碼時(即對具體指令賦予二進制操作碼),爲了便於邏輯表達式的化簡以減少邏輯電路數量,往往給予特別關注
  • 設計組合邏輯電路從而產生需要的控制信號的步驟
    • 1.實際邏輯問題2.真值表3.公式化簡4.邏輯電路圖
  • 設計目標
    • 使用最少的電路元件達到最高的操作速度

流水線工作原理

  • 幾點結論
    • 每條指令的執行時間不變
    • 每條指令處理結果的時間縮短
    • 流水線處理速率最高時=流水線處於滿載的穩定狀態
    • 流水線處理速率最低時=流水線未滿載狀態
    • 爲了滿足在重疊時間段不同指令的機器週期能夠完成指定的操作,將時間段=操作完成的最長時間
    • 爲了保證一個週期內流水線的輸入信號不變,相鄰時間段之間必須設置鎖存器或寄存器
    • 除了指令執行流水線,還有運算操作流水線
  • 相關問題
    • 流水線阻塞(P163-6.15)
      • 數據相關產生
        • 假設第二條指令需要的操作數是第一條指令運算的結果,那麼出現了數據相關
      • 指令執行時間不同產生
      • 程序轉移的影響
      • 異常情況響應中斷

第七章:存儲系統

存儲系統的層次結構

  • cache->主存->輔存

高速緩衝存儲器

  • cache的工作原理
    • 局部性原理
    • 主存地址和cache地址(P166 圖7.2)
    • 塊長
      • 塊長一般取一個主存週期所能調出的信息長度(一般爲16個字)
    • cache的容量和塊的大小是影響cache的效率的重要因素
    • 命中率
      • CPU所要訪問的信息是否在cache中的比率,而將所要訪問的信息不在cache中的比率稱爲失敗率
    • 一致性策略
      • 標誌交換方式(寫回法)
      • 通過式寫入(寫通法)
      • 寫操作直接對主存進行,而不寫入cache
    • cache的存取時間
      • 平均存取時間=h*tc+(1-h)(tc+tm)
    • 最好替換策略
      • 按照被替換的字塊是下一段時間最少使用的,由替換部件實現
  • cache組織
    • 地址映像
      • 直接映像
        • cache中許多空的位置被浪費
        • 主存地址:主存字塊標記+cache字塊地址+字塊內地址
      • 全相聯映像
        • 成本太高而不能採用
        • 主存地址:主存字塊標記+字塊內地址
        • 優點
          • 方式靈活,縮小了塊發生衝突的概率
        • 缺點
          • 增加了標識位位數
          • 增加了尋找主存塊在cache中對應塊的時間
      • 組相聯映像
        • 直接映像和全相聯映像的折衷
        • 主存地址:主存字塊標記+組地址+塊內地址

虛擬存儲器

  • 存儲管理部件(MMU)
    • 現代計算機一般都有輔助存儲器,但具有輔存的存儲系統不一定是虛擬存儲系統
    • 虛擬存儲系統的特點
      • 允許用戶程序用比主存大的多的空間來訪問主存
      • 每次訪存都要進行虛實地址的轉換

第八章:輔助存儲器

半導體存儲器可隨機訪問任一單元,而輔助存儲器一般爲串行訪問存儲器

輔助存儲器的種類

  • 磁表面存儲器
    • 數字式磁記錄
      • 硬盤、軟盤和磁帶
    • 模擬式磁記錄
      • 錄音、錄像設備
  • 光存儲器
    • 光盤

串行存儲器

  • 順序存取存儲器
  • 直接存取存儲器

輔助存儲器的技術指標

  • 存儲密度
    • 定義:單位長度或單位面積磁層表面磁層所存儲的二進制信息量
    • 道密度
      • 沿磁盤半徑方向單位長度的磁道數稱爲道密度,單位爲道/英寸tpi或道/毫米tpmm
    • 位密度或線密度
      • 單位長度磁道所能記錄二進制信息的位數叫位密度或線密度,單位爲位/英寸bpi或位/毫米bpmm
    • 每個磁道所存儲的信息量是一樣的
  • 存儲容量
    • C = n × k × s
  • 尋址時間
    • 平均尋址時間Ta=平均找道時間Ts+平均等待時間Tw
    • 輔存的速度
      • 尋址時間
      • 磁頭讀寫時間
  • 數據傳輸率
    • Dr = D × V
  • 誤碼率
  • 價格

硬磁盤存儲器的類型

  • (1) 固定磁頭和移動磁頭
  • (2) 可換盤和固定盤

磁盤存儲器

  • 溫徹斯特磁盤簡稱溫盤
  • 磁盤存儲器由驅動器(HDD),控制器(HDC)和盤片組成
  • 最外面的同心圓叫0磁道,最裏面的同心圓假設稱爲n磁道
  • 驅動器的定位驅動系統實現快速精準的磁頭定位
  • 主軸系統的作用是帶動盤片按額定轉速穩定旋轉
  • 數據控制系統的作用是控制數據的寫入和讀出,包括尋址,磁頭旋轉,寫電流控制,讀出放大,數據分離
  • 磁盤控制器有兩個方向的接口
    • 與主機的接口
    • 與驅動器(設備)的接口

光盤

  • 採用光存儲技術
    • 利用激光寫入和讀出
    • 第一代光存儲技術
      • 採用非磁性介質
        • 不可擦寫
    • 第二代光存儲技術
      • 採用磁性介質
        • 可擦寫
  • 光盤的存儲原理
    • 只讀型和只寫一次型
      • 熱作用(物理或化學變化)
    • 可擦寫光盤
      • 熱磁效應

第九/十章:輸出輸出(I/O)設備/系統

設備控制器(I/O)的基本功能

  • 實現主機和外部設備之間的數據傳送
  • 實現數據緩衝,以達到主機同外部設備之間的速度匹配
  • 接受主機的命令,提供設備接口的設備,並按照主機的命令控制設備

I/O 編址方式

  • (1) 統一編址:用取數、存數指令
  • (2) 不統一編址:有專門的 I/O 指令

I/O 與主機的連接方式

  • 輻射式連接
    • 每臺設備都配有一套
    • 控制線路和一組信號線
    • 不便於增刪設備
  • 總線連接
    • 便於增刪設備

I/O設備

  • 人機交互設備
    • 鍵盤、鼠標等
  • 計算機信息的駐留設備
    • 硬盤、光盤等
  • 機——機通信設備
    • MODEN等

爲什麼要設置接口?

    1. 實現設備的選擇
    1. 實現數據緩衝達到速度匹配
    1. 實現數據串 並格式轉換
    1. 實現電平轉換
    1. 傳送控制命令
    1. 反映設備的狀態
    • (“忙”、“就緒”、“中斷請求”)

中斷服務程序的流程

  • (1) 保護現場
    • 程序斷點的保護
    • 寄存器內容的保護
  • (2) 中斷服務
    • 對不同的 I/O 設備具有不同內容的設備服務
  • (3) 恢復現場
    • 出棧指令
  • (4) 中斷返回
    • 中斷返回指令

單重中斷和多重中斷

  • 單重 中斷
    • 不允許中斷 現行的 中斷服務程序
  • 多重 中斷
    • 允許級別更高 的中斷源
    • 中斷 現行的 中斷服務程序

DMA 方式

  • 主存和 I/O 之間有一條直接數據通道
  • CPU 和 I/O 並行工作
  • DMA 的三種工作方式
    • (1) CPU暫停方式
    • (2) CPU週期竊取方式
    • (3)直接訪問存儲器
  • DMA 接口功能
    • (1) 向 CPU 申請 DMA 傳送
    • (2) 處理總線 控制權的轉交
    • (3) 管理 系統總線、控制 數據傳送
    • (4) 確定 數據傳送的 首地址和長度,修正 傳送過程中的數據地址和長度
    • (5) DMA 傳送結束時,給出操作完成信號
  • DMA 傳送過程
    • 預處理、數據傳送、後處理

外設接口

  • 設備與主機相連時,必須按照規定的物理互連特性、電氣特性等進行連接,這些特性的技術規範稱爲接口標準
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章