計算機系統(tǒng)簡述

一. 計算機概述

1.1 計算機發(fā)展的4個階段

  • 電子管計算機 - 晶體管計算機 - 集成電路計算機 - 超大規(guī)模集成電路計算機
  • 趨勢: 集成度越來越高, 空間占用越來越小, 功耗越來越低, 運行速度越來遠快,操作越來越簡單,交互越來越方便

1.2 計算機的分類

  • 超級計算機 - 大型計算機 - 迷你計算機(服務(wù)器) - 工作站 - 微型計算機
  • 趨勢:體積越來越小,性能越來越低

1.3 計算機體系與結(jié)構(gòu)

  • 馮諾依曼體系:將計算機指令和數(shù)據(jù)一起存儲的計算機設(shè)計概念結(jié)構(gòu),把程序存儲起來,設(shè)計了通用電路,摒棄了之前修改程序需要重新設(shè)計電路的缺點
    組成:存儲器+控制器+運算器+輸入設(shè)備+輸出設(shè)備
    對應(yīng):硬盤(包含內(nèi)存、寄存器和緩存) + CPU(包含控制器和運算器) + 鍵盤 + 屏幕

1.4 計算機的計算單位

  • Bit - Byte - KB - MB - GB - TB - EB
  • 硬盤廠商制造的硬盤,是以10進制為單位,而計算機是以2進制為單位。 所以制造商的500G硬盤500 * 1000^3 等于465G的465 * 1024^3

1.5 計算機的字符與編碼集

  • GB2312(只支持漢字) - GBK(只支持更多的漢字) - Unicode(萬國碼,支持世界上所有的字符)
  • UTF-8:一種變長的Unicode編碼方案,使用1-6個字節(jié)來存儲 UTF-16 UTF-32,使用的字節(jié)數(shù)和UTF-8不一樣而已

二. 計算機的組成

2.1 計算機的總線

2.1.1 總線的作用

總線: 為了解決不同設(shè)備間的通信問題

2.1.2 總線的分類
  • 片內(nèi)總線:芯片內(nèi)部的總線,負責寄存器與寄存器,寄存器與控制器與運算器的通信
  • 系統(tǒng)總線:連接CPU 內(nèi)存 硬盤 USB 聲卡 顯卡 等設(shè)備的一條總線,分為3類
    1.數(shù)據(jù)總線:用來傳遞數(shù)據(jù),一般和CPU位數(shù)相同(32位、64位)
    2.地址總線:指定源數(shù)據(jù)或目的數(shù)據(jù)在內(nèi)存中的地址,用來尋址的,如果地址總線位數(shù)=n,那么計算機的尋址范圍為0~2^n .例如32位系統(tǒng)的地址總線也是32位,所以它最多容納2^32=4G的尋址范圍,也就是內(nèi)存最大也就是4G,多了也用不上。
    3.控制總線:控制總線是用來發(fā)出各種控制信號的傳輸線,控制信號經(jīng)由控制總線從一個組件發(fā)給另外一個組件
2.1.3 總線的仲裁
  • 總線仲裁的原因: 多個設(shè)備同時請求占用資源的時候,需要仲裁器來解決總線使用權(quán)的沖突問題
  • 仲裁的方式:
    1.鏈式查詢:優(yōu)先級高的設(shè)備先獲取到使用權(quán)
    2.計時器定時查詢
    3.獨立請求

2.2 計算機的輸入輸出設(shè)備

2.2.1 計算機的輸入輸出設(shè)備
  • 字符輸入設(shè)備: 鍵盤等
  • 圖像輸入設(shè)備: 鼠標 掃描儀等
  • 圖像輸出設(shè)備: 顯示器 打印機 投影儀等
2.2.2 輸入輸出接口的通用設(shè)計
  • 數(shù)據(jù)線: 是I/O設(shè)備與主機進行數(shù)據(jù)交換的傳送線
  • 狀態(tài)線: I/O設(shè)備向主機報告的信號線, 是否正常連接,是否被占用等
  • 命令線: CPU向I/O設(shè)備發(fā)送命令的信號線
  • 設(shè)備選擇線: 對連在總線上的設(shè)備進行選擇
2.2.3 CPU與I/O設(shè)備的通信
  • 程序中斷:當外圍I/O設(shè)備就緒時,向CUP發(fā)出中斷信號,CPU有專門的電路響應(yīng)中斷信號
  • DMA(直接儲存器訪問): DMA作為一個中間件, 能減少外圍設(shè)備對CPU的中斷, 提升效率

2.3 計算機的存儲器

2.3.1 存儲器的類型
按照存儲方式分類
  • 半導體存儲器:內(nèi)存、U盤、硬盤
  • 磁存儲器: 磁帶、磁盤
按存取方式分類
  • RAM(隨機存儲器)
  • 串行存儲器
  • ROM(只讀存儲器)
2.3.2 存儲器的層次結(jié)構(gòu)

CUP和三級緩存的底層原理:局部性原理。
局部性原理:CPU訪問存儲器時,無論是存取指令還是存取數(shù)據(jù),所有的訪問單元都趨于聚集在一個較小的連續(xù)區(qū)域內(nèi)。
iOS的OC的方法查找緩存也用的是此原理。

  • 緩存:寄存器 高速緩存等
  • 主存:內(nèi)存
  • 輔存:硬盤 U盤等
2.3.3 計算機的主存儲器和輔助存儲器
  • 主存儲器:內(nèi)存條,RAM,通過電容存儲數(shù)據(jù),必須隔一段時間刷新一次,如果掉電,將會丟失所有數(shù)據(jù)
  • 輔助存儲器:磁盤,表面是可磁化的硬磁特性材料,通過磁頭徑向運動(沿半徑方向運動)來讀取磁道信息
    有4種讀取方式分別為:
    1.先來先服務(wù)算法: 根據(jù)數(shù)據(jù)的請求時間順序,按照隊列來讀取
    2.最短尋道時間優(yōu)先算法:與當前磁頭位置有關(guān),優(yōu)先訪問離磁頭最近的磁道
    3.掃描算法(電梯算法):每次只往一個方向運動,到達一個方向所需要服務(wù)的盡頭再反方向運動
    4.循環(huán)掃描算法:和電梯算法相似,到達一個方向所需要服務(wù)的盡頭不是反方向運動,而是從頭開始
2.3.4 計算機的高速緩存
  • 目的:解決CPU和主存的速度不匹配的問題
  • 高速緩存的工作原理:局部性原理
  • 高速緩存的替換策略:
    1.隨機算法: 隨機找一個位置將最新的數(shù)據(jù)塞入
    2.先進先出算法(FIFO): 找到最老的數(shù)據(jù),將最新的數(shù)據(jù)替換老數(shù)據(jù)
    3.最不經(jīng)常使用算法(LFU):淘汰最不經(jīng)常使用的數(shù)據(jù),需要一個額外的空間來記錄數(shù)據(jù)的使用次數(shù)
    4.最近最少使用算法(LRU):優(yōu)先淘汰掉一段時間內(nèi)未使用的數(shù)據(jù),一般使用雙向鏈表實現(xiàn),把當前訪問結(jié)點放在鏈表頭部,保證頭部結(jié)點是最近使用的。

2.4 計算機的指令系統(tǒng)

2.4.1 機器指令的形式

操作碼字段+地址碼字段

  • 三地址指令: addr1 op addr2 = addr3
  • 二地址指令: addr1 op addr2 = addr1
  • 一地址指令: addr1 自增等操作
  • 零地址指令:中斷 空操作 停機操作等
2.4.2 機器指令的操作類型
  • 數(shù)據(jù)傳輸類型
    寄存器之間、寄存器與存儲單元、存儲單元之間傳輸
    數(shù)據(jù)讀寫、交換地址數(shù)據(jù)
  • 算數(shù)邏輯操作類型
    加減乘除運算
    與或非運算
  • 移位操作類型
    左移 右移
  • 控制指令類型
    等待指令、停機指令、中斷指令等
2.4.3 機器指令的尋址方式
  • 指令尋址
    1.順序?qū)ぶ罚耗J的方式
    2.跳躍尋址:call jmp等匯編指令
  • 數(shù)據(jù)尋址
    1.立即尋址:能直接拿到操作數(shù)的
    2.直接尋址:通過地址拿到操作數(shù)的
    3.間接尋址:需要多次訪問地址拿到操作數(shù),例如void **
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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