第一章 計算機系統概論
馮諾依曼型計算機特點
- 計算機由運算器,控制器,存儲器,輸入和輸出設備5部分組成
- 採用存儲程序的方式,程序和數據放在同一個存儲器中,並以二進制表示。(這也是其與哈佛結構的區別所在)
- 指令由操作碼和地址碼組成
- 指令在存儲器中按執行順序存放,由指令計數器(即程序計數器PC)指明要執行的指令所在的儲存單元地址,一般按順序遞增,但可按運算結果或外界條件而改變
- 機器以運算器爲中心,輸入輸出設備與存儲器間的數據傳送都通過運算器
區別以運算器爲中心的計算機還是存儲器的方法
看輸入設備能否直接與存儲器相連,是的話就是以存儲器爲中心
計算機系統
- 硬件
- 主機
- CPU:運算器與控制器
- 存儲器
- I/O設備
- 輸入設備
- 輸出設備
- 主機
- 軟件
- 系統軟件:用來管理整個計算機系統
- 應用軟件:按任務需要編製成的各種程序
第三章 運算方法和運算部件
數據的表示方法和轉換
-
機器數正0負1
符號數值化的帶符號二進制數,稱爲機器數。
-
真值:符號位加絕對值
-
餘三碼:在8421碼的基礎上,把每個編碼都加上0011
當兩個餘三碼想加不產生進位時,應從結果中減去0011;產生進位時,應將進位信號送入高位,本位加0011 -
格雷碼:任何兩個相鄰編碼只有1個二進制位不同,而其餘3個二進制位相同
-
8421碼
權值從高到低爲8、4、2、1
算術運算時,需對運算結果進行修正
方法:如果小於、等於(1001)2,不需要修正;否則加6修正
帶符號的二進制數據在計算機中的表示方法及加減法運算
-
原碼
1. 定義:最高位爲符號位0/1+數值的絕對值形式
2. 特點
(1) 值+0,-0的原碼分別爲00000、10000,形式不唯一;
(2)正數的原碼碼值隨着真值增長而增長,負數的原碼碼值隨着真值增長而減少
(3)位原碼錶示定點整數範圍
3. 運算:絕對值相加減,由數值大小決定運算結果符號 -
補碼
1. 運算:
(1)結果不超過機器所能表示範圍時,[X+Y]補=[X]補+[Y]補
(2)減法運算:[X–Y]補=[X+(–Y)]補=[X]補+[–Y]補
2. 結論
(1)負數的補數=模+負數
(2)互爲補數的絕對值相加=模
(3)在補數中,減法運算即加法運算
3. 定義
(1)定義法,即[X]補=2·符號位+X (MOD 2)
(2)X爲正數,則符號0+X的絕對值;X爲負數,則X的絕對值取反+1。
4. 特點
(1)數值零的補碼錶示唯一
(2)正數補碼碼值隨着真值增大而增大,負數補碼碼值隨着真值增大而增大
(3)位補碼所表示定點整數範圍,位補碼所表示定點小數範圍 -
反碼
-
移碼
- 移碼與補碼的表示範圍相同,
- 一個真值的移碼和補碼僅僅相差一個符號位。無論正負。
- 移碼保持了數據原有的大小順序,移碼大真值就大,移碼小,真值就小。
補,反,原,移碼的相互轉換
-
原碼:正數是其二進制本身;負數是符號位爲1,數值部分取X絕對值的二進制。
-
反碼:正數的反碼和原碼相同;負數是符號位爲1,其它位是原碼取反。
-
補碼:正數的補碼和原碼,反碼相同;負數是符號位爲1,其它位是原碼取反,未位加1。或者從最後開始數,遇到第一個“1”,除第一個“1”不變,前面數字分別取反
-
移碼:將符號位取反的補碼(不區分正負)
-
反碼-》原碼
方法:符號位不變,正數不變,負數數值部分取反。 -
補碼-》原碼
方法1:正數不變,負數數值部分求反加1。
方法2:串行轉換 -
移碼-》原碼
方法:移碼轉換爲補碼,再轉換爲原碼 -
數據從補碼和反碼錶示形式轉換成原碼:
自低位開始轉換,從低位向高位,在遇到第一個1之前,保存各位的0不變,第一個1也不變,以後得各位按位取反,最後保持符號位不變,經歷一遍後,即可得到補碼
定點數和浮點數
-
定點數:小數點固定在某個位置上的數據
-
浮點數:根據IEEE754國際標準,常用的浮點數有兩種格式
1. 單精度(32位)=8位階碼+24位尾數
單精度浮點數(32位),階碼8位(含一位符號位),尾數24(含一位符號位),取值範圍:-2的127次方~(1-2的-23次方)*2的127次方
2. 雙精度(64位)=11位階碼+53位尾數
雙精度浮點數(64位),階碼11位(含一位符號位),尾數53位(含一位符號位),取值範圍:-2的1023次方~(1-2的-52次方)*2的1023次方 -
爲了保證數據精度,尾數通常用規格化形式表示:當R=2,且尾數值不爲0時,其絕對值應大於或等於(0.5)10
-
浮點數加法:對階,尾數相加減,規格化操作(規則簡化是符號位和數值最高位不同,即00.1xxxx或11.0xxxx),舍入,檢查階碼溢出。
二進制乘法原理
-
x = -1011,y = 0101,求(x-y)補
解:[x]原=1,1011,[x]補=1,0101
[y]原=0,0101,[y]補=0,0101,[-y]補=1,1011
[x-y]補=1,0101+1,1011=1,0000
-
原碼乘法的原理:操作數絕對值相乘,符號單獨處理(由兩原碼符號位異或決定,相同爲0,不同爲1)
-
浮點數:階碼決定取值範圍,尾數決定精度
第四章 主存儲器
主存儲器處於全機中心低位
輔助存儲器或稱爲外存儲器,通常用來存放主存的副本和當前不在運行的程序和數據
主存儲器的主要技術指標
- 主存容量:主存儲器存儲單元的總數
- 存取速度:由存儲器存取時間和存儲週期表示
- 存儲器存取時間:啓動一次存儲器操作(讀/寫)到完成該操作所經歷的時間
- 存儲週期:連續啓動兩次獨立的存儲器操作所間隔的最小時間
存儲器相關概念
- 一個16K×8位的存儲器,其地址線14條和數據線8條
- 控制存儲器存放的是微程序
- 虛擬存儲器管理的目的是:擴大程序空間
- 靜態RAM存儲單元採用觸發器電路存儲信息
- 動態RAM存儲單元採用電容存儲信息
- Cache一般採用靜態RAM實現
- Cache命中率h因素-程序行爲,塊大小,Cache容量和組織方式
存儲器的組成與控制
存儲器容量擴展
- 位擴展:用多個存儲器芯片對字長進行擴充:
- 字擴展:增加存儲器中字的數量,提高存儲器的尋址範圍
- 字位擴展,假設一個存儲器的容量爲M×N位,若使用L×K位存儲器芯片,那麼,這個存儲器共需要(M/L)×(N/K)個存儲器芯片
存儲器的主要性能比較
三級存儲體系,兩級存儲層次
cache的命中率
第五章:指令系統
精簡指令系統計算機(RISC)——用於小型機
複雜指令系統計算機(CISC)——用於大型機
20世紀70年代末人們提出了便於VLSI實現的精簡指令系統計算機,簡稱RISC,同時將指令系統越來越複雜的計算機稱爲複雜指令系統計算機,簡稱CISC
- 指令系統採用不同尋址方式的目的是:縮短指令長度,擴大尋址空間,提高編程靈活
性 - RISC三要素:1. 有限的簡單的指令集 2. CPU配備大量寄存器 3. 強調對指令流水線 的優化( RISC機器一定是流水CPU)
- 不需要訪存的是立即尋址,在指令的地址字段中,直接指出操作數本身的尋址方式, 稱爲立即尋址
指令分類-按照功能分類
- 數據傳送指令:存數取數指令,傳送指令,成組傳送,字節交換,清累加器AC,堆棧指令等。
- 算術邏輯運算指令:實現數據信息的加工,代碼的轉換、判斷等
- 程序控制指令:控制指令的轉向
- I/O指令:
- 其他指令:PSW的置位、復位,測試指令,堆棧指令,特權指令,停機指令,控制檯指令等。
指令分類-按照操作碼分類
字和雙字是所佔的內存位不一樣,字16位,雙字32位,不同的類型數字採用不同的指令了。簡單說單字長指令操作16位內存數據,如整數,字等:;數字指令操作32位內存數據,如雙整,雙字,實數等
單字長一般是16位,雙字長一般是32位,三字長一般爲48位。
指令分類-按照地址碼分類
第六章:中央處理器
- CPU組成:控制器,運算器,存儲器
- CPU是計算機的中央處理部件,具有指令控制、操作控制、時間控制、數據加工等基本功能
- CPU中至少要有如下六類寄存器:指令寄存器、程序計數器、地址寄存器、數據緩衝寄存器、通用寄存器、狀態條件寄存器
各種寄存器的作用
控制器的組成與作用
- 控制器的功能
- 取指令:發出指令地址,取出指令的內容
- 分析指令
- 執行指令:
- 控制程序和數據的輸入和結果輸出
- 中斷處理和相應特殊請求 - 控制器的組成
- 指令部件:程序計數器,指令寄存器,指令譯碼器或操作碼譯碼器
- 操作控制部件:操作控制器
- 時序部件:時序控制信號形成部件 - 週期概念:
- 指令週期:完成一條指令所需的時間,包括取指令、分析指令、執行指令
- 機器週期:也稱爲CPU週期,是CPU從內存中讀取一個指令的時間,通常等於取指週期
- 時鐘週期:稱爲節拍脈衝或T週期,是基準脈衝信號
微程序控制計算機的基本工作原理
- 微指令:在微程序控制的計算機中,將由同時發出的控制信號所執行的一組微操作
- 微命令:將指令分爲若干條微指令,按次序執行這些微指令。組成微指令的操作即微命令
- 微程序:計算機的程序由指令序列構成,而計算機每條指令的功能均由微指令序列解釋完成,這些微指令序列的集合就叫做微程序
微命令–》微指令–》微程序 A–》B表示由A組成B
控制部件通過控制線向執行部件發出各種控制命令,通常這種控制命令叫做微命令,是最小單位,組成微指令,而執行部件接受微命令後所執行的操作就叫做微操作。
在機器的一個CPU週期中,一組實現一定操作功能的微命令的組合,構成一條微指令
事實上一條機器指令的功能是由許多條微指令組成的序列來實現的。這個微指令序列通常叫做微程序。
- 控制存儲器:微程序一般是存放在專門的存儲器中的,由於該存儲器主要存放控制命令(信號)與下一條執行的微指令地址(簡稱下址)
- 存儲單元內容
(1)微指令的控制信號——控制位
(2)下條微指令的地址——下址字段 - 執行一條指令實際上就是執行一段存放在控制存儲器中的微程序
微程序設計技術
-
如何縮短微指令字長
- 直接控制法(容量太小):每一位代表一個控制信號,直接送往相應的控制點
- 字段直接編譯法:選出互斥的微指令,每個字段都要留出一個代碼,表示本段不發出任何指令(000)
- 字段間接編譯法:指令之間相互聯繫的情況,譯碼輸出端要兼由另一字段中的某些微命令配合解釋
- 常熟源字段E(瞭解) -
微指令格式:
-
水平型微指令:採用長格式,一條微指令能控制數據通路中多個功能部件並行操作。其一般格式如下:
控制字段 判別測試字段 下地址字段。 -
垂直型微指令:採用短格式,一條微指令只能控制一兩種操作。
-
水平型微指令與垂直型微指令的比較:
(1)水平型微指令並行操作能力強,指令高效,快速,靈活,垂直型微指令則較差。
(2)水平型微指令執行一條指令時間短,垂直型微指令執行時間長。
(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。
(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。
總結:水平型微指令一指多用,長度雖長但並行性高,速度快,夠靈活;垂直型微指令單指單用,長度雖短但效率低,並行性差,指令數多。
-
第七章 總線系統
介紹總線的基本概念,總線的連接方式,總線接口,總線的仲裁、定時及事務類型,PCI、ISA等總線。
總線的概念
- 總線是構成計算機系統的互聯機構,是多個系統功能部件之間進行數據傳送的公共通路。
- 總線帶寬:指總線本身所能達到的最高傳輸速率。
單處理器的總線類型:
- 內部總線:CPU芯片內部連接各寄存器及運算器等部件之間的總線。速度極高
- 系統總線:CPU同計算機系統的其他高速功能部件,如存儲器、通道等互連的總線。包括地址、數據和控制信號線,電源線等,速度較快
- I/O總線:多臺計算機之間,或計算機與一些I/O設備之間的連接總線。一般包括數據線和控制線。速度較低
總線上信息傳送過程的五個階段:
請求總線→總線仲裁→尋址→信息傳送→狀態返回
集中式仲裁
由中央仲裁器(總線控制部件)對主方的總線請求信號(BR)進行裁決,並送出總線授
權信號(BG)。BS是總線狀態(是否忙), 也寫作BB。
(1) 計數器定時查詢方式
在BS=0時,請求總線的設備,若其地址與計數值一致時, BS置“1”,獲得了總線使
用權,並中止計數查詢。
(2) 獨立請求方式
每個設備均有一對BR和BG線,通過自身的BRi線請求,由中央仲裁器經判優發出
BGi以使優先設備獲得總線使用權。
(3) 鏈式查詢方式BG按優先級由高至低依次傳送的總線查詢方式
分佈式仲裁
分佈式仲裁:以優先級仲裁策略爲基礎,主方它們有總線請求時,把各自惟一的仲裁
號發送到共享的仲裁總線上,由各自的仲裁器比較,留大撤小,獲勝者的仲裁號保留
在仲裁總線上。
總線結構
總線結構 :
1)數據傳送總線: 由地址線、數據線、控制線組成。
2)仲裁總線: 包括總線請求線和總線授權線。
3)中斷和同步總線:用於處理帶優先級的中斷操作,包括中斷請求線和中斷認可 線。 4)公用線:包括時鐘信號線、電源線、地線、系統復位線以及加電或斷電的時序信號
線等。
最後:其他的重要概念
- 程序中斷處理過程:中斷源的中斷請求,中斷響應,中斷處理,中斷返回
- DMA方式傳輸數據時,每傳送一個數據,就要佔用一個存儲週期
- 溢出判定:
- 單符號位的判溢 :兩操作數同號且和數的符號與操作數的符號不同
- 雙符號位的判溢: 01/10
- 動態RAM存儲信息依靠的是:電容電荷
- 半導體存儲器分爲:動態存儲器&靜態存儲器
- 微指令格式 :控制字段+下址字段
- 指令格式:操作碼+地址碼
- 總線:內部總線,系統總線,I/O總線
- 提出中斷請求的條件是 : 外設工作完成和系統允許時