软件设计师教程---第一章计算机系统知识
一、計算機系統基礎知識
1.計算機的基本組成
| 運算器 | 完成計算機的各種算術和邏輯運算 | 
| 控制器 | 保證程序正確執行,處理異常事件 | 
| 存儲器 | 計算機系統中的記憶設備 | 
| 輸入輸出設備 | 用于輸入原始數據及各種命令和輸出計算機運行結果 | 
| 適配器 | 
2.中央處理單元(CPU)
CPU(Central Processing Unit):負責獲取程序指令、對指令進行譯碼并加以執行
 CPU主要功能
3.CPU的組成
CPU主要由運算器、控制器‘寄存器組和內部總線等部件組成
| 算術邏輯單元(ALU) | 處理數據,實現對數據的算術運算和邏輯運算 | 
| 累計寄存器(AC) | 為ALU提供一個工作區 | 
| 數據緩沖寄存器(DR) | 存儲數據,作為CPU和內存、外部設備之間數據傳送的中轉站和操作速度的緩沖 | 
| 狀態條件寄存器(PSW) | 保存由算術指令和邏輯指令運行或測試的結果建立的各種條件碼內容 | 
| 指令控制邏輯 | 完成取指令、指令譯碼、按指令操作嗎執行、形成下一條地址、執行指令 | 
| 時序控制邏輯 | 為每條指令按時間順序提供應有的控制信號 | 
| 總線邏輯 | 為多個功能部件服務的信息通路的 控制電路 | 
| 中斷控制邏輯 | 用于控制各個組件的中斷請求 | 
| 指令寄存器(IR) | 存儲指令 | 
| 程序計數器(PC) | 暫存指令地址 | 
| 地址寄存器(AR) | 保存當前CPU所訪問的內存單元的地址 | 
| 指令編碼器(ID) | 編譯指令,發出控制信號 | 
3.數據表示
1.關于原碼、反碼、補碼、移碼
原碼反碼補碼移碼轉換規律
1.對于數的符號位為正而言,原碼、反碼、補碼都是一樣的(二進制的原碼)。
 2.對于數的符號位為負而言,反碼為原碼取反,補碼為反碼加一,符號不變!
 3.無論數的符號位為正或者負,移碼值改變其數補碼的符號位,符號位取反!
 4.在補碼中,0有唯一編碼,在原碼和反碼中,0有兩種編碼形式。
2.定位數和浮點數
定位數
- 定點整數—純整數,小數點在最低有效數值位之后。
 - 定點效數—純小數,小數點在最高有效數值位之前。
 
浮點數
- 階符占1位,階碼占8位,數符和尾數占23位。
 
公式:
N=REFN=R^EF N=REF
工業標準IEEE754
當階碼部分的二進制值不全為0也不全為1時,所表示的是規格化的值。
例題
 將十進制數轉換成二進制數
 (176.0625)10=(10110000.0001)2
 第一步,將整數和小數部分分別化為二進制數。
 第二步,將整數部分化為科學計數,以1開頭。例如
 10110000=1.0110000?2710110000=1.0110000 *2^7 10110000=1.0110000?27
 第三步,將2的冪7的7轉為二進制(8位)=00000111,將其變為移碼+127。得到結果10000110。
 第四步,將整數部分化簡的小數去掉頭的1,然后補0到23位
 第五步,結果
 010000110011000000010000000000000 10000110 01100000001000000000000 01000011001100000001000000000000
 第1位:代表符號
 第2~9位:代表2的幾次冪的移碼
 第10~32位:代表小數
注意:
 這里的移碼變換和之前的不同,這里只加127,如果想要靠這里已知的移碼(10000110)只需要改變最高位(符號位),然后加1。
非規格化的值
 當階碼部分的二進制值全為0時,所表示的數是非規格化的。
 其作用主要用于:表示數值0和表示非常接近0的數。
特殊值
 當階碼全為1時,當尾數部分全為0時表示無窮大,當符號位為0時表示正無窮,當符號位為1是表示負無窮。
浮點數的運算
4.校驗碼
1.奇偶校驗碼
- 添加一個檢驗碼,將數據的1相加和為奇數或者偶數。
 
2.海明碼
- 遵循如下規則,若數據位是n位,校驗位是k位
2k?1>=n+k2^k-1>=n+k 2k?1>=n+k - 校驗位 i 在海明碼位的2^i-1的位置,且海明碼與校驗碼的角標相等。
 - 海明碼中的任何一位都是有若干個校驗位來校驗的。
 
3.循環冗余校驗碼
二、計算機體系結構
1.體系結構發展
1.結構與分類
體系結構計算機體系結構--概念結構宏觀分類單處理系統并行處理與多處理系統分布式處理系統微觀分類Flynn分類法馮澤云分類法Handler分類法Kuck分類法計算機組成--邏輯結構計算機實現--物理結構2.指令系統
1.一個處理器支持的指令和指令的字節級編碼稱為其指令集體系結構(Instruction Set Architecture ISA)
| 體系結構觀點分類 | 1 | 操作數在CPU中的存儲方式 | 操作數從主存中取出后保存在什么地方 | 
| 2 | 顯示操作數的數量 | 在典型指令中有多少個顯式命名的操作數 | |
| 3 | 操作數的位置 | 任一個ALU指令的操作數能否放在主存中,如何定位 | |
| 4 | 指令的操作 | 指令集中提供哪些操作 | |
| 5 | 操作數的類型和大小 | ||
| 按暫存機制分類 | 1 | 堆棧 | |
| 2 | 累加器 | ||
| 3 | 寄存器組 | 
2.CISC(Complexr)和RISC(Reduced Instruction Set Computer)
缺點CISC--復雜指令集計算機指令集龐雜 編譯效率較低RISC--精簡指令集計算機關鍵技術重疊寄存器窗口技術優化編譯技術超流水及超標量技術硬布線邏輯與微程序相結合在位程序技術中3.指令流水處理
 1.指令控制方式有順序方式、重疊方式和流水方式。
 2.局部性相關:影響流水線的某段工作推后,不會改變指令緩沖器中預取到的指令內容。
解決方案:后推法和通路法。
 3.全局性相關:會改變指令緩沖器中預取到的指令內容,進而造成流水線的吞吐率和效率下降。
 解決方案:猜測轉移分支、加快和提前形成條件碼、加快短循環程序的處理。
3.陣列處理機、并行處理機和多處理機
并行性包括同時性和并發性。
同時性:多件事件同一時刻發生。
 并發性:多件事件同一時間間隔內連續發生。
1.陣列處理機:通過資源重復實現并行性。
 2.并行處理機
PE為處理單元,CU為控制部件,M為共享存儲器,ICN為互聯網絡
 PEM為局部儲存器
總結
以上是生活随笔為你收集整理的软件设计师教程---第一章计算机系统知识的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 【专栏】8086汇编语言系列教程
 - 下一篇: 使用JRTPLIB收发RTP数据包