中級軟體設計師計算機系統知識點速查
計算機系統
- 計算機的基本硬體由:計算器,控制器,儲存器,輸入裝置和輸出裝置
- 中央處理單元(cpu):運算器+控制器
Cpu
- 負責獲取程式指令,對
指令
進行譯碼
並加以執行
Cpu作用
- 程式控制:指控制程式中指令的執行順序
- 操作控制:控制部件按指令的要求進行動作
- 時間控制:對各種操作實施時間上的定時
- 資料處理:對資料進行算術運算和邏輯運算
- 例題
Cpu控制器
- 控制器不僅保證程式正確執行,還要能夠處理異常事件。
- 例題
在CPU的暫存器中,
指令暫存器
對使用者來說是完全透明
的
計算機的基本單位
-
位(位元):
bit
b
-
位元組:
btye
B
1 B = 8 bit
1KB = 1024B = 2^10B
1MB = 1024KB =2^20B
1GB = 1024MB =2^30B
1TB = 1024GB = 2^40B -
最小的資料單位:b
-
最小的儲存單位: byte
主頻
理解:主頻是機器內部主時鐘的頻率,主頻越高,完成指令的一個執行步驟所用的時間就越短,速度越快。比如跳繩,跳的越快(即頻率越高),那麼完成一次所用的時間就越短。
單位:Hz,常見的有1.8GHz,2.4GHz
CPU時鐘週期
理解:跟上面的主頻對應,CPU時鐘週期是一個時間單位,即一個週期的時長
計算:CPU時鐘週期=1/主頻
單位:s(秒)(ms,μs等)
CPI
理解:我們藉助英文全稱理解,全稱為:Clock cycle Per Instructions,即一條指令所需要的時鐘週期數。需要注意的是這個是需要的時鐘週期數,不是時鐘週期。
計算:CPI = 程式所需時鐘週期數 / 程式所含指令數(把週期數平分為n份,n為指令數,即求得每條指令所需要時鐘週期數,這裡計算的是平均值,一般情況下均計算平均值)
單位:週期數/每條指令(根據算式得的,一般沒要求,這裡為了幫助理解)
MIPS
理解:同樣藉助英文全稱,Million Instructions Per Second,即每秒執行多少百萬條指令。通俗即一秒之內可以跑多少百萬條指令。
計算:MIPS = 指令條數 / (執行時間*10^6) (除以10^6為了求得有多少百萬條指令)
推導:執行時間 = CPI * 指令條數 * 時鐘週期 = CPI * 指令條數 * (1/主頻)(這裡需要理解透徹CPI到底是什麼意思)代入上式可得:MIPS = 主頻 / (10^6 * CPI)
進位制
2進位制(B)
- 由0,1表示的數字
- 比如:001=1 * 2^0=1 ;110=0 * 2^0 +1 * 2^1+1 * 2^2 = 6
8進位制(O)
- 由0~7表示的數字
- 比如:57=7 * 8^0 +5 * 8 ^ 1=47;
16進位制(H)
- 0~9 , A~F 表示
進位制轉換
-
二進位制轉八進位制
-
從後往前按照每三位進行劃分 10 001 110 分別對應八進位制的 2 1 6 即每一段是 2^2 2^1 2^0
-
二進位制轉十六進位制:10001110
從後往前按照每三位進行劃分 1000 1110 分別對應十六進位制的 8 E
-
小數變二進位制
乘二取餘數
-
例題
原碼、反碼、補碼、移碼
在計算機用一個數的最高位存放符號, 正數為0, 負數為1.
-
真值
因為第一位是符號位,所以機器數的形式值就不等於真正的數值。例如上面的有符號數 10000011,其最高位1代表負,其真正數值是 -3 而不是形式值131(10000011轉換成十進位制等於131)。所以,為區別起見,將帶符號位的機器數對應的真正數值稱為機器數的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1
-
原碼
原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
範圍:-(2(n-1)-1)~(2(n-1)-1)
-
反碼
正數的反碼是其本身
負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
範圍:-(2(n-1)-1)~(2(n-1)-1)
-
補碼
正數的補碼就是其本身
負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]補
[-1] = [10000001]原 = [11111110]反 = [11111111]補
範圍:-2^(n-1) ~ 2^(n-1)
-
移碼
-
例題
注意:對於負數來說,補碼的補碼是原碼!
1.
補碼
,移碼
裡正負零
是相同
的
機器字長為n時各種碼制的帶符號數的範圍
- 例題
浮點數運算
- 例題
兩個浮點數階碼不一致,先對階,小對大,尾數右移n位(n為階碼差的絕對值)
定址
掌握前五個就可以
直接定址最快,暫存器間接定址其次,直接定址最慢
校驗碼
奇偶校驗碼
只能檢錯,不能糾錯
只能檢查出奇數位出錯的編碼,不能檢查出偶數位出錯的編碼
海明碼
碼距=2,有檢錯能力
碼距>=3,既有檢錯能力,又有糾錯能力
公式很重要
迴圈冗餘校驗碼
記住模2運算和碼距是2,只能檢查到錯誤
差錯控制
在一個碼組內為了檢測e個誤碼,要求最小碼距d應該滿足:d>=e+1
在一個碼組內為了糾正t個誤碼,要求最小碼距d應該滿足:d>=2*t+1
RISA和CISA
流水線公式
取指 -> 分析 -> 執行
-
使用流水線前指令執行情況
取指 1 2 3 分析 1 2 3 執行 1 2 3 -
使用流水線後指令執行情況
取指 1 2 3 分析 1 2 3 執行 1 2 3
流水線計算
-
流水線週期為執行時間最長的一段
-
流水線計算公式為
1條指令執行時間+(指令條數-1)*流水線週期(最長時間段)
理論公式:(t¹+t²+t³+…+tⁿ)+(x-1)∆
實踐公式:(n+x-1)*∆其中n為一個工程需要幾道工序,即把所有的工序時長都按照流水線週期看待,則整體完成時間就是第一個程式的三道工序加上剩下程式的最後一道工序。(剩下程式的第一二道工序已經在第一個程式執行時完成了)
-
例題
吞吐率計算
TP=指令條數 / 流水線執行時間
最大吞吐率 TPmax = 1 / ∆t ∆t為週期時間 意思就是忽略第一個程式建立的時間,看作一個週期執行一個程式,即為最大吞吐率
- 例題
加速比
S = 不使用流水線執行之間 / 使用流水線執行時間
流水線的效率
-
指流水線的裝置利用率
E = n個任務佔用的時空區 / k個流水段的總時空區
通俗來說就是在時空圖上,任務執行的所佔的大小與總區域大小的比值
儲存器
RAM和ROM的區別
ROM和RAM都是一種儲存技術,只是兩者原理不同,RAM為隨機儲存,掉電不會儲存資料,而ROM可以在掉電的情況下,依然儲存原有的資料。ROM和RAM指的都是半導體儲存器。本來的含義是:ROM是Read Only Memory的意思,也就是說這種儲存器只能讀,不能寫。而RAM是Random Access Memory的縮寫。
快閃記憶體
快閃記憶體介於EPRM和EEPROM之間,類似於EEPROM,也可以使用電訊號進行資訊的擦除。以塊為單位
,刪除資訊快,斷電後資訊不會丟失,代替ROM,不能代替主存
虛擬儲存器
由主存和輔存組成
cup兩特性
空間區域性性:cpu訪問一個地址單元后,之後可能會訪問與這個地址單元相鄰的地質單元。
時間區域性性:cpu訪問一個地址單元后,之後可能還會訪問這個地址單元
快取記憶體
Cache與主存地址的對映是由硬體自動完成的。
替換演算法瞭解即可,效能分析可以記一下。
注意:影象不是
線性
的
中斷
-
中斷向量可提供
中斷服務程式的入口地址
-
為了便於實現
多級中斷巢狀
使用堆疊
來保護斷點和現場最有效 (堆疊:後進先出) -
中斷響應時間:從發出中斷請求開始到中斷處理結束
-
儲存現場:返回去繼續執行源程式
輸入輸出IO裝置
記憶體與介面地址的編址方法
-
獨立編址
記憶體地址與介面地址完全時兩個獨立的兩個地址空間,訪問資料所用指令也不同,用於介面的指令用於介面的讀寫,其餘的指令全部用於記憶體
-
統一編址
記憶體單元和介面共用地址空間,優點是原則上用於記憶體的指令全部可以用於介面
中斷優先值控制
優先響應最高階的中斷源
中斷巢狀(堆疊)
直接儲存器存取方式(DMA)
資料直接在記憶體與I/O裝置間的直接成塊傳送,即在記憶體與I/O裝置之間傳送一個數據塊的過程中,不需要CPU的任何干涉,在傳送資料時要佔用資料匯流排
CPU與外設之間交換資料的方式有直接程式控制方式、中斷方式、直接儲存器存取和通道控制方式。
(1)程式傳送方式:包括無條件傳送和程式查詢傳送。無條件傳送不查詢外設狀態,認為外設已經準備就緒,直接與外設傳送資料。程式查詢傳送在執行輸入輸出前,要先查詢介面中狀態暫存器的狀態。
(2)中斷方式:當外設作好傳送準備後,主動向CPU請求中斷,CPU響應中斷後在中斷處理程式中與外設交換資料。若外設未準備好,CPU可以執行其他程式,從而提高了CPU的利用率。
(3)DMA傳送方式:DMA方式是一種由專門的硬體電路執行I/O的資料傳送方式,它可以讓外設介面直接與記憶體進行高速的資料傳送,而不必經過CPU。這種專門的硬體電路稱為DMA控制器,簡稱DMAC。
匯流排
-
內部匯流排
-
系統匯流排
-
資料匯流排
每條傳輸線一次只能傳輸1位二進位制資料。eg: 8根資料線一次可傳送一個8位二進位制資料(即一個位元組)。
-
地址匯流排
地址匯流排決定了cpu所能訪問的最大記憶體空間的大小。10根地址線能訪問的最大的記憶體為1024位二進位制資料(1024個記憶體單元)(1B)
-
控制匯流排
-
常見的系統匯流排
ISA EISA PCI
-
對稱加密和非對稱加密
講解視訊看這裡
加密演算法
對稱加密演算法(共享金鑰加密演算法)
DES
3DES
RC-5
IDEA
AES
RC$
非對稱加密演算法
RSA
ECC
DSA
總結
- 公開金鑰加密(public-key cryptography),也稱為非對稱加密(asymmetric cryptography),一種密碼學演算法型別,在這種密碼學方法中,需要一對金鑰,一個是私人金鑰,另一個則是公開金鑰。
- 常見的公鑰加密演算法有:
RSA
、ElGamal
、揹包演算法
、Rabin
(RSA的特例)、迪菲-赫爾曼金鑰交換協議中的公鑰加密演算法、橢圓曲線加密演算法(Elliptic Curve Cryptography, ECC);DSA
數字簽名(又稱公鑰數字簽名),將摘要資訊用傳送者的私鑰加密,接收者只有用傳送者的公鑰才能解密被加密的摘要資訊,也是屬於公開金鑰加密演算法。
- 常見的公鑰加密演算法有:
- 對稱加密演算法
DES
AFS
IDEA
RC4
- DES是典型的私鑰加密體制,屬於對稱加密,不屬於公開祕鑰加密
- 摘要演算法、
-
無論輸入的訊息有多長,計算出來的訊息摘要的長度總是固定的。例如應用
MD5
演算法摘要的訊息有128
個位元位,用SHA-1
演算法摘要的訊息最終有160
個位元位的輸出,SHA-1 的變體
可以產生192
個位元位和256
個位元位的訊息摘要。一般認為,摘要的最終輸出越長,該摘要演算法就越安全。 -
MD5
、SHA系列
-
無論輸入的訊息有多長,計算出來的訊息摘要的長度總是固定的。例如應用
- 使用hash函式對摘要進行加密
- MD5摘要演算法
- SHA-1安全雜湊演算法
資訊保安的基本概述
5要素
-
機密性:確保資訊不會暴露給修改給未授權的例項或程序。
-
完整性:只有得到允許才能修改資料,並能夠判別出資料是否被修改。
-
可用性:得到授權的實體在需要時可訪問資料。
-
可控性:得到授權的的實體在需要時可訪問資料。
-
可審查:對出現的安全問題提供查詢的依據和手段。
安全威協
可靠性公式
- 串聯絡統
- 並聯系統
總結
- 例題
計算機可靠度
總結:
題目數量:7~9道
考試佔比:7~9分
考試難度:從總體來看是比較大的