第一章、計算機組成與體系結構

liheihei發表於2023-05-08

第一節.資料的表示

 

二進位制轉十進位制:權值相加。即一個二進位制數為1010.1,轉為十進位制為:

$$
第一章、計算機組成與體系結構
小數點左邊從0開始冪,小數點右邊就是-1

 

十六進位制轉十進位制:同樣的,權值相加。即一個十六進位制為100121,轉為十進位制為:

$$
第一章、計算機組成與體系結構
十進位制轉二進位制:整數位用短除法,除二取餘,直到餘數為0,然後將餘數由上往下按順序排列;小數位乘以2,每乘一次就取它的整數位<span class="md-tab"> <span class="md-plain">( 整數位為零時就取零),直至小數位為零,然後將取得的整數位由上往下排列即可。

 

 

十進位制轉十六進位制:同上一樣的,把除2和乘2換成除16和乘16

 

原碼反碼補碼移碼

1.原碼:將一個十進位制數轉換為二進位制數,並且該二進位制數的首位表示正負,0表示正,1表示負,不足八位的就在符號位(首位)與二進位制數中間用零填充。如-1的原碼就是10000001

2.反碼:原碼在計算機中進行加減不能得到正確的答案,而反碼的加減則符合事實,正數的反碼為本身,負數的反碼為其原碼除符號位(首位)不變外全部取反,即零變為一,一變為零

3.補碼:正數的補碼與原碼相同,負數的補碼即為其反碼加一

4.移碼:將正數和負數的補碼首位取反,其餘位不改變

5.各自數值表示範圍:

 

浮點數運算:

1.浮點數的概念:浮點數即科學計數法,如

$$
第一章、計算機組成與體系結構
 
2.計算機中浮點數的運算:當兩個指數不等的浮點數相加時,計算機會把低階浮點數的指數轉化為高階浮點數的指數,如:
$$
第一章、計算機組成與體系結構
$$

然後結果格式化(即透過指數的轉化保證尾數必須為非零的一位數)如:

$$
第一章、計算機組成與體系結構
 
第二節.中央處理器(CPU)

CPU由運算器和控制器組成

 

運算器(ALU)包括:

1.累加暫存器(AC):專門存放算術或邏輯運算的一個運算元和運算結果的暫存器。能進行加,減,讀出,移位,求補等操作。是運算器的 主要部分。

2.程式狀態暫存器(PSW):該部件用來存放兩類資訊,一類是體現當前指令執行結果的各種狀態資訊(條件碼),如有無進位,有無溢位,結 果正負,資訊是否為零等;另一類是存放控制資訊,如允許中斷,跟蹤標誌等。

控制器包括:

1.程式計數器(PC):程式計數器中存放的是下一條指令的地址。由於多數情況下程式是順序執行的,所以程式計數器設計成自動加一的裝 置。當出現轉移指令時,就需重填程式計數器。

2.指令暫存器(IR):中央處理器正在執行的操作碼錶存放在這裡,即當前正在執行的所有指令

3.指令譯碼器:將操作碼解碼,告訴中央處理器該做什麼。

4.時序部件

注:CPU的定址方式出了直接定址以外還有多種定址方式,目的是為了在效率和方便性上找一個平衡

CPU根據週期指令的不同階段來區分記憶體中以二進位制編碼形式存放的指令和資料

指令最先進入到資料暫存器暫存起來,然後再拿到指令暫存器中,再交給指令編譯器來解碼進而運算,而這一過程一結束,就會迅速提取程式計數器中的下一條指令,所以,程式計數器中儲存的始終是暫未執行的,下一條指令的“地址”

 

第三節.計算機體系結構分類(Flynn)

1.單指令流單資料流(SISD):其實就是傳統順序執行的單處理計數機,其指令部件每次只對一條指令進行譯碼,並只對一個操作部件分配 資料。

2.單指令流多資料流(SIMD):以並行處理機為代表,並行處理機包括多個重複的處理單元,由單一指令部件控制,按照同一指令流的要求 為它們分配各自所需的不同資料

3.多指令流單資料流(MISD):具有n個處理單元,按n條不同指令的要求對同一資料流及其中間結果進行不同的處理。一個處理單元的輸出 又作為另一個處理單元的輸出。只有理論意義而無例項

4.多指令流多資料流(MIMD):是指能實現作業、任務、指令等各級全面並行的多機系統。多個處理機,能進行多工處理。

 

 

第四節.CISC和RISC

複雜指令集架構(CISC):是當前CPU的主流架構之一,一些主流廠商。比如:AMD、Intel一直沿用CISC

簡單指令集架構(RISC):可以理解為是CISC的反向操作,通常有20多個簡化的指令集,指令長度固定,並透過專門的load和store進 行記憶體定址;指令長度固定、指令種類儘量少;定址方式單一,多暫存器定址;增加暫存器數目以減少訪 問次數;用硬佈線電路實現指令解碼,快速完成指令譯碼。

 

 

第五節.流水線

流水線的基本概念:

1、指令執行的流程:取指----分析----執行。注:指令執行可能有多步,據題意回答

2、流水線的概念:流水線是指在程式執行時多條指令重疊進行操作的一種並處理實現技術。各種部件同時處理是針對不同指令而言 的,他們可以同時為多條指令的不同部分進行工作,以提高個部分的利用率和指令的平均執行速度

注:流水線不可提高單條指令的執行速度

流水線週期及流水線執行時間計算:

1、流水線週期計算:流水線週期為執行時間最長的一段

2、流水線執行時間計算:

(1)、理論公式:1條指令完整執行的時間+(指令條數-1)*流水線週期

(2)、實際公式:一個完整指令的步驟數+(指令條數-1)*流水線週期

注:計算時優先用理論公式,選項中沒有該答案時再採用實際公式

流水線吞吐率計算

1、概念:是指在單位時間內流水線所完成的任務數量或輸出的結果數量,因此流水線的吞吐率為一個流水級時間的倒數即最長流 水級時間的倒數

如果各段流水的操作時間不同,則流水線的吞吐率是最長流水段時間的倒數

最大吞吐率取決於流水線中最慢一段所需的時間

如果流水線出現斷流,加速比會明顯下降

要使加速比和效率最大化應該對流水線各級採用相同的執行時間

流水線採用非同步控制並不會給流水線效能帶來改善,反而會增加控制電路的複雜性

2、計算公式:TP=指令條數/流水線執行時間

3、流水線最大吞吐率計算公式:1/&;其中&是流水線週期

流水線的加速比:

1、概念:完成同樣一批任務,不使用流水線所用的時間與使用流水線所用的時間之比稱為流水線的加速比

2、計算公式:

$$<br>S=\frac{不使用流水線執行時間}{使用流水線執行時間}<br>$$</div> <br><p class="md-end-block md-p"><span class="md-plain">案例:

 

 


流水線加速比越大越好

流水線效率:

 

$$

 

注:所有步驟花費時間相等的指令執行的效率最高

 

第六節.層次化儲存器結構

 

注:記憶體儲存外存的部分內容,cache儲存記憶體的部分內容,CPU只處理cache中的指令,cache的作用是精簡記憶體中重複出現的指 令,提高CPU的執行效率,使得計算機的運算速度得到極大的提升;此外,結構中由上至下,速度越來越慢,但容量越來越大

第七節.快取記憶體(cache)

1.cache的功能:提高CPU輸入輸出的速率,突破馮諾依曼瓶頸,即CPU與儲存器系統間資料傳送寬頻限制,在程式執行過程中, Cache與主存的地址對映是由硬體自動完成的

2.與cache相關的計算:如果以h代表對cache的訪問命中率,t1表示cache的週期時間,t2表示主儲存器週期時間,以讀操作為例,使 用“chche+主儲存器”的系統的平均週期為t3,則:

$$、
第一章、計算機組成與體系結構
其中,(1-h)又稱為失效率(未命中率)。

 

注:CPU會在cache中尋找它需要的資料,如果不能找到,CPU就將前往記憶體中尋找,而cache的訪問命中率就是CPU需要的資料在 cache中被找到的比例,未能找到的資料CPU將前往記憶體中進行再次尋找

3.記憶體與cache地址對映的三種方式:分別是直接映像、全相連映像,組相連映像

注:這三種對映方式都是計算機硬體自動完成的,不是軟體

4.替換演算法:替換演算法的目的是使cache獲得儘可能高的命中率,有以下四種:隨機替換演算法、先進先出演算法、近期最少使用演算法、優 化替換演算法

注:現代的計算機cache系統是分為了三個級別的,訪問時先從第一層開始訪問,直至三個級別的cache都被訪問完全時才 會訪問記憶體

5.虛擬儲存器:即CPU在給出需要訪問的記憶體地址時,給出的並不是真正的實體地址,而是實體地址的抽象,虛擬儲存器是由主存-輔存 兩級儲存器組成

影響Cache命中率的因素有:容量、替換演算法、其組織方式等

第八節.主存

主存的分類

1.隨機存取儲存器(RAM):斷電後所有資料都將清除

有兩類RAM分別是:靜態的(SRAM)和動態的(DRAM),靜態的比動態的速度更快,價格也貴。

靜態的(SRAM)用來作為高速緩衝儲存器(Cache),動態的(DRAM)用來作為主存及圖形系統的幀緩衝區

SRAM將每個位儲存在一個雙隱態的儲存器單元中,DRAM將每個位儲存為對一個電容的充電,由於電容非常小,在 10~100ms時間內會失去電荷,所以需要週期性地重新整理充電以保持資訊

2.只讀儲存器(ROM):斷電後仍然能夠儲存資訊

主存的編址:

1.概念:主存的編址就是把許多塊晶片組成相應的儲存器

注:一般表示方式如下圖,其中左圖一中的8表示它有8個地址空間,4表示每一個地址空間儲存了4位的資訊,而兩個圖一則可以 拼接為圖二,兩個圖二可以拼接為圖三

第一章、計算機組成與體系結構

2.編址相關計算:

例題 :地址編號從80000H到BFFFFH且按位元組編址的記憶體容量為()KB,若用16K * 4 bit的儲存器晶片構成該記憶體,共需()片。

A.128 B.256 C.512 D.1024

A.8 B.16 C.32 D.64

解題方法:

1,看單位H,是十六進位制。

  1. 十六進位制中,B表示11,F表示15

  2. 記憶體容量= 後 - 前 + 1

BFFFF - 80000 + 1 = 11 FFFF- 80000 +1= 3 FFFF + 1 = 40000H byte

(1)轉十進位制==》

$$第一章、計算機組成與體系結構
(2)轉KB: 2的8次方 * 2的10次方 = 2的8次方KB = 256KB 。

 

 

第二個空: 16K * 4bit = 2的4次方 * 2的10次方 * 2的2次方 = 2的16次方

256KB = 256 * 8 bit

求塊數: (256 * 8 bit )/ (16K * 4bit )= 16 * 2 =32塊

因此,選BC

第九節.磁碟結構與引數

盤面用來儲存資料(存於磁軌)

磁頭用來讀取資料

存取時間=尋道時間+等待時間(平均定位時間+轉動延遲)

注:尋道時間是指磁頭移動到磁軌所需的時間;等待時間為等待讀寫的扇區轉到磁頭下方所用的時間。

第一章、計算機組成與體系結構

第一章、計算機組成與體系結構

第一章、計算機組成與體系結構

第十節.匯流排

概念:匯流排是連線計算機有關部件的一組訊號線,是計算機用來傳送資訊程式碼的公共通道。

根據匯流排所處的位置不同,匯流排通常被分為3種型別:

1.內部匯流排:微機內部的,各個外圍晶片與處理器直接的匯流排,屬於晶片級別

2.系統匯流排:即為各個插線板與系統之間的匯流排;其中系統匯流排又包括以下三種匯流排:

(1)資料匯流排:如32位,64位等一次效能夠傳輸的位

(2)地址匯流排:假設該計算機的地址匯流排為32位,那就代表它的地址空間為2^32個位元組

(3)控制匯流排:傳送相應的控制訊號的匯流排

3.外部匯流排:即微機和外部裝置的匯流排

注:匯流排上的多個部件之間只能分時向匯流排傳送資料,但可以同時從匯流排接收資料

單行匯流排控制簡單,擴充方便,但同一時刻只能在兩個裝置之間傳輸,使系統總體資料傳輸的效率和速度受到限制

並行匯流排適合近距離高速資料傳輸

序列匯流排適合長距離資料傳輸

專用匯流排在設計上可以與連線裝置實現最佳匹配

第十一節.系統可靠性分析與設計

串聯絡統

1.串聯絡統的結構:只要一個子系統失效,則整改系統都將失效

第一章、計算機組成與體系結構

2.串聯絡統可靠性的計算:即各個串聯子系統可靠性相乘,如上圖,其中R為可靠性,此外,1-可靠性即為失效率,而總的失效率即 為串聯各個部件的失效率作和(近似計算)

並聯系統

1.並聯系統的結構:少數子系統失效將不會影響整個結果

第一章、計算機組成與體系結構

2.並聯系統可靠性的計算:透過計算失效率來求得可靠性,即各個子系統的失效率相乘,再由1減去它,即可得到系統可靠性

模冗餘系統與混合系統

第十二節.差錯控制---CRC與海明效驗碼

檢錯與糾錯:

1.檢錯:將錯誤檢查出來

2.糾錯:將錯誤檢查出來的同時並糾正

碼距及其作用:

1.碼距的概念:指整個編碼系統中任意兩個碼字的最小距離。如A變化X個位得到B,則X就為碼距,如:若使用2位長度的二進位制編 碼,若以A=11,B=00為例,A,B之間的最小碼距為2

2.碼距的作用:增大碼距能夠起到檢錯的作用。因為資料在傳輸的過程中如果鏈路出現了問題,那麼將會使得接收到的二進位制數發生 變化;若碼距過小,則很可能造成資訊的混淆,增大碼距就使得被改變的二進位制數混淆資訊的機率極大的降低;若碼距 再進行增大,則能夠起到糾錯的作用,因為資料鏈路出錯的機率比較低,只能造成傳輸中極少二進位制數的改變,我們 可以根據該傳輸失真的二進位制數中大部分二進位制數的構成來進行推斷,推斷出結果就達到了糾錯的目的。

注:在一個碼組內為了檢測e個誤碼,要求最小碼距d應滿足:d>=e+1

在一個碼組內為了糾正t個誤碼,要求最小碼距d應該滿足:d>=2t+1

奇偶效驗碼(PCC):

概念:根據被傳輸的一組二進位制程式碼的數位中“1”的個數是奇數或偶數來進行校驗。採用奇數的稱為奇校驗,反之,稱為偶校驗。

(1).水平奇偶效驗碼:對每一個資料的編碼新增校驗位,使資訊位與校驗位處於同一行.

(2).垂直奇偶效驗碼:把資料分成若干組,一組資料排成一行,再加一行校驗碼. 針對每一行列採用 奇校驗 或 偶校驗 例: 有32位資料 10100101 00110110 11001100 10101011

第一章、計算機組成與體系結構

(3):水平垂直奇偶校驗碼:同時用水平校驗和垂直校驗

海明校驗碼:

漢明碼也是利用奇偶性來校驗資料的,它是一種多重奇偶校驗檢錯系統,它透過在資料位之間插入k個校驗位,來擴大碼距,從而實現檢錯 和糾錯.

 

迴圈冗餘效驗碼(CRC):

這是一種可以檢錯但不能糾錯的效驗碼

奇偶校驗碼(PCC)只能校驗一位錯誤,迴圈冗餘校驗碼(CRC)的檢錯能力更強,可以檢出多位錯誤。

1.CRC的概念:在對資訊進行編碼的時候在其尾部加入一些校驗資訊,讓編碼後的資料能夠與迴圈校驗碼的生成多項式相除餘數為 零,若不為零則說明傳輸過程出現了錯誤,其中,原碼加上(增添在右方)校驗資訊加(做加法)上餘數所得的碼即為CRC

注(1):生成多項式是一個二進位制數,如"X^4+X^3+X+1",這個生成多項式實際上就是二進位制數11011;在相除時,需在原碼後方新增 一些0,新增的0的個數等於生成多項式的位數減去1,增加的0即為校驗資訊。

注(2):二進位制的除法與算術除法相似,唯一不同的是所得除數在作減法時,減得的值要取絕對值,即0-1=1;這樣使得整個除法運算 中不存在借位。

第十三節.輸入與輸出系統

需要CPU參與:

無條件傳送:外設總是準備好的,無條件,隨時接收和提供資料

程式查詢方式:CPU利用程式來查詢外設的狀態,準備好了再傳資料

中斷方式:CPU不等待,也不執行程式查詢外設的狀態,而是由外設準備好後向CPU發出中斷請求

不需要CPU參與:

DMA方式(直接記憶體儲存方式):資料的傳輸是在主存和外設之間進行,不需要CPU的干預,實際操作是由DMA硬體直接執行完成

通道方式和外圍處理機方式:更近一步減輕CPU對I/O操作的控制,更進一步提高了CPU的工作效率,但是以增加更多硬體為代價

 

相關文章