計算機組成原理基本概念匯總


      計算機組成原理是計算機科目中偏向於硬件的,我真的沒學好。唯一做的好的筆記還是比較完整的。哈哈。這門課真的是博大精深。如今把組成原理的基本知識點與大家分享。希望大家在這門課的學習中少走彎路。

計算機系統概論

把以軟件為主實現的機器稱為虛擬機器。把由硬件和固件實現的機器稱為實際機器。
高級語言的翻譯程序有編譯程序和解釋程序兩種。


計算機系統的層次結構從低到高:
(1)微程序機器(第0級)、
(2)傳統機器(第1級)、
(3)操作系統機器(第2級)、
(4)匯編語言機器(第3級)、
(5)高級語言機器(第4級)、
(6)應用語言機器(第5級)。

在計算機技術中,一種本來存在的事物或屬性。從某種角度看卻好像不存在,稱為透明性。
一個完整的計算機系統由硬件和軟件兩大部分組成。
計算機硬件由運算器、控制器、存儲器、輸入設備和輸出設備五大部分組成。


存儲器由內存(cache,主存(ROM,RAM))和輔存組成。
主機由CPU(控制器、運算器、cache)和內存組成。
輔存又叫外存。輔存中的信息既能夠讀出又能夠寫入,所以輔存是輸入輸出設備。


輸入設備、輸出設備和輔助存儲器都位於主機之外,稱為外圍設備。簡稱外設。因為外設的作用是完畢輸入輸出操作,所以外設又稱IO設備。


系統總線包含地址總線、數據總線、控制總線。
運算器由ALU(核心)、GR、PSW寄存器組成。
控制器由PC、IR、指令譯碼器、時序產生器和操作控制器組成。


系統軟件包含:

(1)語言處理程序、
(2)操作系統、
(3)服務性程序、
(4)數據庫管理系統。




邏輯等價性:軟件和硬件在邏輯功能上是等效的,同一功能既能夠用軟件也能夠用硬件或固件實現。從原理上講,軟件實現的功能全然能夠用硬件或固件完畢。相同,硬件實現的邏輯功能也能夠用軟件完畢。
用硬件實現的功能有較高的運行速度,成本也相對較高,並且硬件也不易更改。靈活性也較差。通常硬件實現一些最主要的功能。軟件實現一些比較復雜的功能。
運算方法和運算器

符號位相加向前產生的進位要丟掉。
正溢:兩個正數相加,若運算結果大於機器所能表示的最大正數。
負溢:兩個負數相加,若運算結果小於機器所能表示的最小負數。
定點數(定點整數、定點小數)推斷溢出方法:

單符號位法。在同符號數相加時,結果的符號位與被加數和加數的符號位相異時才發生溢出。
進位推斷法。當符號位向前產生的進位值與尾數最高位向前產生的進位值相異時才發生溢出。
雙符號位法。將數的兩個符號位都看作是數的一部分參與運算,運算結果的最高符號位向前產生的進位要丟掉。若運算結果的雙符號位同樣,即00,11時。表示結果沒有發生溢出。若運算結果的雙符號位不同。即01,10時。運算結果發生溢出。

01表示正溢,10表示負溢。



原碼一位乘法:兩個n位小數相乘,要進行n次加、n次右移。
 邏輯非就是按位求反。(注意邏輯非的符號)
邏輯加就是邏輯或。

(注意有兩種符號)
邏輯乘就是邏輯與。

(注意有兩種符號)
碼距:依據隨意兩個合法碼之間至少有幾個二進制位不同樣而確定的。若隨意兩個合法碼之間僅有一位不同,則碼距為1.
合理增大碼距。就能提高發現錯誤的能力。
奇偶校驗碼是一種開銷最小,能發現數據中一位出錯情況的編碼,經常使用於存儲器的讀寫檢查。
實現原理:在每組代碼代碼中添加一個冗余位,使碼距由1到2.假設合法編碼中有奇數個位發生了錯誤,則該編碼成為非法編碼。

添加的冗余位稱為奇偶校驗位。



奇偶校驗碼僅僅能發現一位錯或奇數個位錯,但不能確定是哪一位。因此沒有糾錯能力。不能發現偶數個位錯。

存儲系統

存儲器用來存放程序和數據。
存儲元(存儲位元)能夠存儲一位二進制代碼。這個二進制代碼是存儲器中最小的存儲單元。


若干個存儲位元組成一個存儲單元,一個存儲單元能夠存儲一個機器字或一個字節。存放一個機器字的存儲單元是字存儲單元。存放一個字節的存儲單元是字節存儲單元。相應的存儲單元地址稱為字地址和字節地址。
存儲器分類:

按存儲介質分:半導體存儲器(主存)、磁表面存儲器(磁盤)、光盤存儲器(CD)。


按存取方式分:隨機存儲器(半導體存儲器)、順序存儲器(磁帶)、半順序存儲器(磁盤)。
按讀寫功能分:僅僅讀存儲器(ROM)、讀寫存儲器(RAM)。


半導體存儲器按讀寫功能分:ROM、RAM
按信息的可保存性分:易失性存儲器(RAM)、非易失性存儲器(ROM)。


按在計算機中的作用分:主存、緩存、輔存、控制存儲器

存儲層次設計的主要根據是程序的局部性原理。包含時間局部性和空間局部性。


三級存儲層次:cache、主存、輔存。


RAM按在執行中是否能長時間保存信息分SRAM和DRAM。(注意:當掉電時。存儲的信息都消失,是易失性存儲器。


SRAM利用雙穩態觸發器保存信息,僅僅要不斷電,信息不會丟失。
DRAM利用電容存儲電荷保存信息,要定期給電容充電才干保存信息。


SRAM速度快。可是集成度低,功耗大。DRAM相反。
MROM:掩膜式ROM
PROM:可編程ROM
EPROM:紫外線擦除可編程ROM
EEPROM:電擦除可編程ROM
半導體存儲器的容量擴展方法:字擴展法、位擴展法、字位擴展法
位擴展法:用多個存儲器芯片對字長進行擴充。
字擴展法:添加存儲器中的字的數量。
快速存儲器有雙portRAM(按地址訪問)、多模塊交叉存儲器(按地址訪問)、相聯存儲器(按內容訪問)。都能夠提高CPU和主存之間的傳輸數據速率。
雙portRAM同一存儲器有兩組相互獨立的讀寫控制電路。

因為並行的獨立操作。因此是一種快速存儲器。
多模塊交叉存儲器實現流水式並行存取提高存儲器帶寬。(各模塊並行操作。)
存儲器模塊的兩種組織方式:順序方式、交叉方式。
相聯存儲器的基本原理是把存儲單元所存內容的某一部分作為檢索項,去檢索該存儲器,把符合的存儲單元內容讀入讀出。
cache從功能上看,是主存的緩沖存儲器,由快速的SRAM組成。所有功能由硬件實現。Cache對系統程序猿和應用程序猿都是透明的。


CPU和cache之間的數據交換以字為單位,cache和主存之間數據交換以塊為單位。
重點:cache的工作過程。每當給出一個主存地址進行訪存時,都必須通過主存—cache地址映像變換機構推斷該訪問字是否已在cache中。假設在cache中(cache命中),則地址映像變換機構將主存地址變換成cache地址去訪問cache;假設不在cache中(cache不命中),則產生cache塊失效,此時就須要從訪問主存的通路中把塊調入cache。並直接送往處理機。假設cache已經裝不進了,則發生cache塊沖突,就須要使用對應的替換算法調出塊,並改動地址映像表。
在有cache的主存系統中都採用多模塊交叉存儲器。


cache訪存的優先級高於通道和CPU。
cache性能參數計算!


cache和主存的地址映像變換(理解)

全相聯映像(硬件自己主動完畢):主存中的任一塊能夠被放置到cache中的隨意一個位置。沖突概率最低。Cache空間利用率最高。
直接映像(硬件自己主動完畢):主存中的每一塊僅僅能映像到cache的唯一一個位置。把主存空間按cache的空間分成區。沖突概率非常高。Cache空間利用率非常低。
組相聯映像:組間直接映像、組內全相聯。
指令系統

指令系統性能要求

完備性
有效性
規整性
兼容性

依照指令地址碼個數不同,分為零地址指令、一地址指令、二地址指令、三地址指令
操作碼的位數決定了不同功能指令的多少。位數越多,所能表示的操作功能越豐富。
指令的操作碼兩種編碼格式:等長操作碼、變長操作碼(哈夫曼編碼、擴展操作碼)
尋址方式是指尋找指令或操作數有效地址的方式方法。
指令的尋址方式(簡單)   數據的尋址方式(復雜)
指令的尋址方式

順序尋址方式:當運行一段程序時。要運行的下一條指令便是程序其中正在運行指令的下一條(PC)。
跳躍尋址方式

操作數的尋址方式

隱含尋址
馬上尋址
寄存器直接尋址
寄存器間接尋址
直接尋址
間接尋址
相對尋址
基址尋址
變址尋址
自己主動增量減量尋址
堆棧尋址




隱含尋址:有些類型的指令不是明顯給出操作數的地址,而是隱含地由累加器給出操作數。
馬上尋址:指令的形式地址給出的是操作數本身。
寄存器直接尋址:理解
寄存器間接尋址:寄存器的內容為操作數在主存中的有效地址,由寄存器的內容訪存所得到的內容才是真正的操作數。

(和寄存器直接尋址比較。寄存器直接尋址的操作數在寄存器中;寄存器間接尋址的操作數在內存中。)
直接尋址:理解
間接尋址:理解
相對尋址:相對於PC而言的。操作數在主存中的有效地址等於PC的內容加上指令中的位移量。
基址尋址:對於基址寄存器而言的。

操作數在主存中的有效地址等於基址寄存器的內容加上指令中的位移量。
變址尋址:對於變址寄存器而言的。操作數在主存中的有效地址等於變址寄存器的內容加上指令中的位移量。


CISC大多數採用微程序控制。

CISC中的各種指令的使用頻度相當懸殊。最常使用的是一些比較簡單的指令,僅占指令總數的20%,但在程序中出現的頻度卻占80%,這意味着由硬件支持的指令約有80%是非常少使用的。
RISC通過精簡指令系統來簡化控制器設計。添加片內寄存器和快速緩存的容量,以及添加浮點運算部件和採用流水線技術提高處理器性能。
RISC以硬連線控制為主。


退耦的CISC/RISC既不採用純RISC。也不採用經典的CISC,而是採用混合式的CISC/RISC體系結構。
在指令系統的發展過程中出現過兩種截然不同的方向,即CISC和RISC,他們都具有各自的優缺點。隨着退耦CISC/RISC和后RISC出現,關於RISC和CISC兩種體系結構性能好壞已經在非常大程度上平息下來了,兩者都從對方陣營參考了非常多概念和技術,兩種技術逐漸交融,結構上的差別也逐漸模糊。


中央處理器

程序一旦裝入內存,中央處理器就能自己主動地、逐條地取指令、分析指令和運行指令。
CPU基本功能:

指令控制
操作控制
時間控制
數據加工(這是最主要的功能)

CPU基本組成

控制器
運算器
Cache。有指令cache和數據cache

CPU中的主要寄存器

PC。

程序計數器、指令地址寄存器、指令指針。
IR。指令寄存器。
AR。

數據地址寄存器
GR。

通用寄存器
PSW。狀態字寄存器

CPU取指令時,將PC的內容送入指令cache,經地址譯碼后選中對應的存儲單元。取出一條指令並將取出的指令代碼送往IR,同一時候自己主動改動PC的值形成下一條指令的地址。
指令寄存器的作用是保存當前正在運行的一條指令。當解釋一條指令時。首先依據PC的值從指令cache中取出一條指令,並將其送往IR。在這條指令運行的過程中。指令寄存器的內容始終保持不變。直到有新的指令被取出並送往IR為止。
指令譯碼器用來完畢對指令寄存器中的操作碼字段進行譯碼。
AR保存當前CPU所訪問的數據cache單元的地址。
產生控制信號並建立正確數據通路的部件叫做操作控制器。依據指令的操作碼和時序信號,產生各種具有時間標志的操作控制信號。以建立正確的數據通路。
操作控制信號的形成方法:

微程序設計方法(微程序控制器)
組合邏輯設計方法(硬連線控制器)

時序產生器產生一組時序信號,及一系列的節拍電位信號和節拍脈沖信號。

作用就是對各種操作控制信號實施時間上的控制。
指令周期是指從CPU送出取指令地址到取出本條指令並運行完成所花的時間。


取出和運行不論什么一條指令所需的最短時間為兩個CPU周期。


CPU周期又叫機器周期,由若干個時鍾周期組成。

時鍾周期通常又稱節拍脈沖周期或T周期,是處理操作的最基本單位。
用方框圖語言表示指令周期。

一個方框表示一個CPU周期。
在同樣的CPU結構上解釋指令,全部指令的取值周期是同樣的。
從時間上看,取指令事件發生在指令周期的第一個CPU周期內。即發生在取值周期,而取數據事件發生在取值周期之后的幾個CPU周期內。即發生在運行周期。



從空間上看,假設取出的代碼是指令,一定送往指令寄存器。假設取出的代碼是數據,則一定送往通用寄存器或地址寄存器。

時序信號最主要的體制是電位—脈沖制。
一個節拍電位表示一個CPU周期的時間,包括若干個節拍脈沖。
實現時序控制所需的時序信號,主要包括節拍電位和節拍脈沖。它們構成了CPU的時序系統。


形成控制不同操作序列時序信號的方法。稱為控制器的控制方式。
控制器的控制方式:

同步控制方式
異步控制方式
聯合控制方式
人工控制方式


同步控制方式又稱固定時序控制方式。基本思想是:選取部件中最長的操作時間作為統一的CPU周期時間,使全部的部件都能在一個CPU周期內啟動並完畢操作,同一時候,以最復雜指令所需的CPU周期數為標准作為全部指令的解釋時間。即指令中全部指令的解釋具有同樣的CPU周期數和時鍾周期數。
異步控制方式又稱可變時序控制方式。基本思想是:系統不設立統一的CPU周期數和時鍾周期數。各部件按本身的速度須要占用時間。
微程序控制基本思想:把操作控制信號編成所謂的“微指令”,存放到一個僅僅讀存儲器里。

當機器執行時。一條一條讀出這些微指令,從而產生全機所須要的各種操作控制信號,控制對應的執行部件完畢規定的操作。
控制部件與運行部件的聯系有兩種,一種是通過控制線,一種是通過狀態線。
微命令:控制部件通過控制線發往運行部件的各種控制命令。
微操作:運行部件在微命令的控制下所進行的操作。


微操作分為相容性和相斥性。


在機器的一個CPU周期內,一組實現一定操作功能的微命令的組合,構成一條微指令。
在一個CPU周期內完畢的操作功能由一條微指令來實現。


微指令組成


操作控制字段
順序控制字段:P字段和直接微地址組成

一條機器指令的功能是由若干條微指令組成的序列來實現的。這個微指令序列又叫微程序。
確定微地址方法:

計數器方式
多路轉移方式(用組合邏輯方法設計)

微程序控制器組成

控制存儲器
微指令寄存器(微地址寄存器、微命令寄存器)
地址轉移邏輯

控制存儲器存放指令系統的全部微程序,是僅僅讀存儲器。


微指令寄存器用來存放控制存儲器讀出的一條微指令信息。當中,微地址寄存器決定將要訪問的下一條微指令的微地址。

微命令寄存器保存一條微命令的操作控制字段和P字段。
機器指令和微指令關系:

一條機器指令的功能由若干條微指令組成的序列來實現。
機器指令存放在內存中。微指令固化在控制存儲器中。
每個CPU周期相應一條微指令。



微命令的編碼方法:

直接表示法
編碼表示法(注意:僅僅能表示2的n次減一)
混合表示法

微指令格式:

水平型微指令
垂直型微指令

水平型微指令:在一個CPU周期內,一次能定義並運行多個並行操作微命令的微指令。
垂直型微指令:每條垂直型微指令僅僅能完畢一個操作。僅僅包括一個或兩個微操作。
用垂直型微指令編寫的微程序比用水平型微指令編寫的微程序要長的多。是採用較長的微程序去換取較短的微指令結構。
水平型微指令運行一條指令的時間短,垂直型微指令運行的時間長。
微程序設計技術:

靜態微程序設計
動態微程序設計

微程序控制器的控制功能是在控制存儲器和微指令寄存器直接控制下實現的。而硬連線控制器則由邏輯門組合實現的(門電路、觸發器)。


並行性的兩重含義:

同一時候性
並發性

顆粒度用來衡量軟件進程所含計算量的大小。最簡單的方法是用程序段的指令條數來表示。


顆粒度的大小分為

細粒度:小於500
中粒度:500~2000
粗粒度:大於2000

並行性的等級划分(按顆粒度大小不同):

作業級
任務級
例行程序或子程序級
循環和迭代級
語句和指令級

層次越高的並行處理的粒度就越粗;低層次上的並行處理粒度較細。


並行處理技術:

時間並行
空間並行
時間並行+空間並行

指令的解釋方式:

順序解釋方式
流水解釋方式

流水線的三個階段:

建立
滿載
排空

流水解釋的三種相關:

資源相關
數據相關
控制相關

56.計算吞吐率、加速比、效率。


總線結構

總線不不過一組傳輸線,還包含一套管理信息傳輸的規則(協議)。
總線的特性:

物理特性
功能特性
電氣特性
時間特性

地址總線的寬度指明了總線可以直接訪問存儲器的地址空間范圍。
數據總線的寬度指明了訪問一次存儲器或外設時可以交換數據的位數。
總線相對於CPU的位置分為:

內部總線
外部總線

外部總線按功用划分:

局部總線
系統總線
通信總線

總線按功能划分為:

地址總線
數據總線
控制總線

按總線在微機中的位置分:

機內總線
機外總線

按數據在總線中傳輸位數分:

串行總線
並行總線

總線按信息傳送方向分:

單向總線
雙向總線

輸入輸出系統

輸入輸出系統包含:

輸入輸出設備
設備控制器
輸入輸出操作有關的軟硬件

為事件服務的程序稱為中斷服務程序或中斷處理程序。
中斷是一個過程,是CPU在執行當前程序的過程中因硬件或軟件的原因插入了還有一段程序執行的過程。硬件原因引起的中斷是不可預測的,隨機的。

而軟中斷是事先安排的。
凡是能引起中斷的設備或事件都是中斷源。
中斷源向中斷系統發出請求中斷的申請,稱中斷請求。
中斷過程的4個階段:

中斷請求
中斷響應
中斷處理
中斷返回

在處理某級中的某個中斷請求時,與它同級的或比它低級的中斷請求是不能中斷它的處理的,僅僅有比它高級的中斷請求才干中斷其處理過程。

等響應和處理完后。再繼續處理原先的那個中斷請求。
沒有獲得同意的中斷請求稱為中斷被屏蔽。
鼠標和鍵盤以中斷方式連接。


github主頁:https://github.com/chenyufeng1991  。歡迎大家訪問!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM