天天看點

計算機組成原理(一)計算機系統概述本文概要計算機系統概述

本文概要

文章主要為記錄《計算機組成原理》的學習過程,側重于對書中難點的了解

以簡單的邏輯關系描述整本書,不陷于書中繁雜的知識點中,關鍵在于對計算機的系統性了解

  • 參考書籍 - 計算機組成原理

本文目錄

  1. 計算機系統概述
  2. 計算機系統組成概念圖
  3. 指令集體系結構

計算機系統概述

  1. 計算機由馮諾依曼結構發展演變而來,在計算機的發展過程中,計算機的性能大幅提升,計算機系統的複雜性也越加複雜
  2. 這個時候,計算機的 設計,制造,維修,使用等等環節,需要大量的人員參與,也就是分工協作,現如今,計算機的晶片,主機闆,記憶體等硬體生産都誕生了許多大型企業,維修誕生了曾經大街小巷裡維修電腦的小店,使用誕生了代表秃頭界的程式員們。
  3. 關于計算機的東西很多且大部分技術含量很高,關于計算機的學習,從計算機原型出發,主要了解一些重要概念,掌握計算機系統的整體性概念,能夠從大的角度分析和考慮問題

計算機系統組成概念圖

計算機組成原理主要内容是關于 指令集體系結構和微體系結構層次
  1. 上圖的整體代表了計算機在本書中的層次劃分,計算機的網絡部分作為現如今計算機的重要部分,對于計算機網絡的部分将不會作為重要内容出現在在計算機組成原理中
  2. 從一個簡單的需求開始,計算圓周率 π \pi π,這個屬于應用(需求,問題)
  3. 采用一個算法,解決這個需求

    1 1 2 + 1 2 2 + 1 3 2 . . . + 1 n 2 = π 2 6 \frac{1}{1^2} + \frac{1}{2^2} + \frac{1}{3^2}... +\frac{1}{n^2} = \frac{\pi^2}{6} 121​+221​+321​...+n21​=6π2​

  4. 程式設計,将算法實作,這裡的n越大, π \pi π 的值越接近,因為逼近無窮
    import math
    	a = [1/i**2 for i in range(100000000) if i]
    	b = sum(a)
    	pi = round(math.sqrt(b*6), 20)
               
  5. 作業系統(虛拟機),經過一系列的編譯與翻譯後,作業系統及軟體幫助完成這一步驟,為了運作該程式,作業系統還負責為這段程式配置設定計算資源和存儲資源
  6. 到了指令集體系結構,處于計算機軟硬體的交界處,負責将程式進一步翻譯,轉化為計算機能夠了解的機器語言
  7. 微體系結構,作為硬體部分,是真實處理該程式的部分
  8. 以下層次就不再進行了解

指令集體系結構

指令集體系結構,我的了解就是一本中英詞典,裡面規定了中英文對照的規則,例如 mother 對應 母親
  • 對于大多數人來說,指令集體系結構是很難接觸到的,我覺得兩類程式員可能會接觸到,一類是作業系統開發者,一類是嵌入式開發者
  • 更多細節關注後續文章

指令執行與計算機性能評價

馮諾依曼結構模型機

  1. 該模型機是對計算機功能子產品的一種劃分,也是現代計算機的結構雛形
  2. 從某種程度上,模型機分為存儲器,控制器,寄存器,算術部件
  3. 各部件圍繞着資料進行協作,因為計算機就是為了處理資料而誕生的
  4. 寄存器,暫時性的存儲器件,就像開商場一樣,商場從供貨商進貨,把貨放在倉庫,展覽區的貨物賣完了,售貨員就去倉庫取,倉庫的功能就與寄存器很相似
  5. 而控制器就像一個總經理一樣,管理着整個商場,維持商場的正常運作

指令的執行流程

  1. 一條指令從點選運作到傳回結果經曆了哪些過程
  2. 應用程式建立程序,交給作業系統進行操控
  3. 作業系統将所有任務進行排隊處理,
  4. 當排到該任務時,CPU 運作該指令,處理後傳回
  5. 作業系統接受到CPU的處理結果後,再将結果傳回應用程式
作業系統也是一個軟體,同樣需要占用CPU計算資源
  1. 這裡将時間劃分為兩部分,一部分是CPU時間,包含(使用者CPU時間)CPU執行該指令的時間,和(系統CPU)CPU運作作業系統的時間
  2. 另一部分是其他時間,是該指令加入排隊的時間,以及進行排隊的時間(其他指令的運作時間)

繼續閱讀