系統架構設計專業技能 · 計算機組成與結構
現在的一切都是為將來的夢想編織翅膀,讓夢想在現實中展翅高飛。
Now everything is for the future of dream weaving wings, let the dream fly in reality.
系統架構設計高級技能 · 計算機組成與結構
一、計算機結構
- 1.1 cpu組成
- 1.2 馮·諾依曼結構與哈佛結構
- 1.3 嵌入式芯片
二、存儲結構
- 2.1 層次化存儲結構
- 2.2 Cache
- 2.3 主存編址
- 2.4 磁盤管理
- 2.5 磁盤調度
三、數據傳輸控制方式
四、總線
五、CISC與RISC
六、流水線
七、校驗碼
- 7.1 奇偶校驗
- 7.2 循環校驗碼CRC

一、計算機結構

1.1 CPU 組成
-
運算器
① 算術邏輯單元ALU:數據的算術運算和邏輯運算
② 累加寄存器AC:通用寄存器, 為ALU提供一個工作區, 用于暫存數據
③ 數據緩沖寄存器DR:寫內存時,暫存指令或數據
④ 狀態條件寄存器PSW:存狀態標志與控制標志 (爭議:也有將其歸為控制器的)
-
控制器
① 程序計數器PC:存儲下一條要執行指令的地址
② 指令寄存器IR:存儲即將執行的指令
③ 指令譯碼器ID:對指令中的操作碼字段進行分析解釋
④ 時序部件:提供時序控制信號
1.2 馮·諾依曼結構與哈佛結構
-
馮·諾依曼結構
馮·諾依曼結構也稱普林斯頓結構,是一種將程序指令存儲器和數據存儲器合并在一 起的存儲器結構。特點:
(1) 一般用于PC處理器,如I3,I5,I7處理器
(2) 指令與數據存儲器合并在一起
(3) 指令與數據都通過相同的數據總線傳輸 -
哈佛結構
哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構。哈佛結構是一種并 行體系結構,它的主要特點是將程序和數據存儲在不同的存儲空間中,即程序存儲 器和數據存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問。特點:
(1) 一般用于嵌入式系統處理器(DSP) 數字信號處理(DSP, Digital Signal Processing)
(2) 指令與數據分開存儲,可以并行讀取,有較高數據的吞吐率
(3) 有4條總線:指令和數據的數據總線與地址總線
1.3 嵌入式芯片

二、存儲系統
2.1 層次化存儲結構

2.2 Cache
-
Cache的功能:提高CPU數據輸入輸出的速率, 突破馮·諾依曼瓶頸, 即CPU與存儲系統間數據傳送帶寬限制。
-
在計算機的存儲系統體系中, Cache是訪問速度最快的層次。
-
Cache對程序員來說是透明的。
-
使用Cache改善系統性能的依據是程序的局部性原理。
時間局部性
空間局部性 -
時間局部性:
指程序中的某條指令一旦執行,不久以后該指令可能再次執行,典型原因是由于程序中存在著大量的循環操作。
-
空間局部性:
指一旦程序訪問了某個存儲單元,不久以后,其附近的存儲單元也將被訪問,即程序在一段時間內所訪問的地址可能集中在一定的范圍內,其典型情況是程序順序執行。
-
工作集理論:
工作集是進程運行時被頻繁訪問的頁面集合。
例:
inti, j, s=0, n=10000;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
s+=j;
printf("結果為:%d", s) ;
如果以h代表對Cache的訪問命中率, t1表示Cache的周期時間, t2表示主存儲器周期時間, 以讀操作為例, 使用“Cache + 主存儲器” 的系統的平均周期為t3,則:
t3 = h x t1+(1 - h) × t2
其中,(1 - h)又稱為失效率(未命中率)
2.3 主存編址
-
存儲單元
存儲單元個數 = 最大地址-最小地址 + 1
-
編址內容
按字編址:存儲體的存儲單元是字存儲單元,即最小尋址單位是一個字 按字節編址:存儲體的存儲單元是字節存儲單元,即最小尋址單位是一個字節。 -
總容量 = 存儲單元個數 * 編址內容
-
根據存儲器所要求的容量和選定的存儲芯片的容量,就可以計算出所需芯片的總數,即:
總片數 = 總容量 / 每片的容量

2.4 磁盤管理

存取時間 = 尋道時間 + 等待時間
尋道時間 是指磁頭移動到磁道所需的時間;
等待時間 為等待讀寫的扇區轉到磁頭下方所用的時間。

讀取磁盤數據的時間應包括以下三個部分:
(1) 找磁道的時間
(2) 找塊(扇區的時間,即旋轉延遲時間
(3) 傳輸時間
-
疑問??:
存取時間 = 尋道時間 + 等待時間(平均定位時間 + 轉動延遲)這個公式我認為有問題。 我認為應是:存取時間=尋道時間+轉動延遲+存(或取)磁盤扇區內容的時間; 如果是上面講的對的,該怎么理解,如果是錯的,錯在哪里? -
平均存取時間(Average Access Time) ,是指磁頭找到指定數據的平均時間。
平均存取時間是指磁頭找到指定數據的平均時間。通常它是硬盤平均尋道時間和平均潛伏時間(等待時間)之和。平均存取時間最能代表硬盤找到某一數據所用的時間,數值越小越好。 -
平均訪問時間 = 平均尋道時間 + 平均等待時間
2.5 磁盤調度

- 先來先服務(FCFS)
- 最短尋道時間優先(SSTF)
- 掃描算法(SCAN)
- 循環掃描(CSCAN)算法


三、數據傳輸控制方式

四、總線
- 一條總線同一時刻僅允許一個設備發送,但允許多個設備接收。所以總線是半雙工模式
- 半雙工與全雙工
- 串行總線與并行總線
總線的分類:
-
數據總線(DataBus,DB) : 在CPU與RAM之間來回傳送需要處理或是需要儲存的數據。
-
地址總線(Address Bus, AB) : 用來指定在RAM (Random Access Memory)之中儲存的數據的地址。
-
控制總線(Control Bus,CB): 將微處理器控單元(Control Unit))的信號,傳送到周邊設備。
五、CISC與RISC

六、流水線
- 相關參數計算:流水線執行時間計算、流水線吞吐率、流水線加速比等。
- 流水線是指在程序執行時多條指令重疊進行操作的一種準并行處理實現技術。
各種部件同時處理是針對不同指令而言的,它們可同時為多條指令的不同部分進行工作,以提高各部件的利用率和指令的平均執行速度。




流水線加速比計算:

七、校驗碼

7.1 奇偶校驗
-
奇偶校驗碼的編碼方法是:
由若干位有效信息(如一個字節),再加上一個二進制位(校驗位)組成校驗碼。 -
奇校驗:
整個校驗碼(有效信息位和校驗位)中“1”的個數為奇數。 -
偶校驗:
整個校驗碼(有效信息位和校驗位)中“1”的個數為偶數。 -
奇偶校驗,可檢查1位的錯誤,不可糾錯。
7.2 循環校驗碼CRC
CRC校驗, 可檢錯, 不可糾錯。
循環冗余校驗(CRC, Cyclic Redundancy Check)
-
CRC的編碼方法是:在k位信息碼之后拼接r位校驗碼。應用CRC碼的關鍵是如何從k位信息位簡便地得到r位校驗位(編碼),以及如何從k+r位信息碼判斷是否出錯。
-
循環冗余校驗碼編碼規律如下:
①把待編碼的N位有效信息表示為多項式M(X);
②把M(X)左移K位,得到M(X)×XK,這樣空出了K位,以便拼裝K位余數(即校驗位);
③選取一個K+1位的產生多項式G(X),對M(X)×XK做模2除;
④把左移K位以后的有效信息與余數R(X) 做模2加減, 拼接為CRC碼, 此時的CRC碼共有N+K位。 -
把接收到的CRC碼用約定的生成多項式G(X) 去除, 如果正確, 則余數為0; 如果某一位出錯,
則余數不為0。不同的位數出錯其余數不同,余數和出錯位序號之間有唯一的對應關系。
什么是模2除法,它和普通的除法有何區別?
模2除法是指在做除法運算的過程中不計其進位的除法。
例如,10111對110進行模2除法為:


原文鏈接:https://blog.csdn.net/weixin_30197685/article/details/132784518

浙公網安備 33010602011771號