以下完全為個人總結(jié)——若發(fā)現(xiàn)問題請下方評論,定回
I/O
- 主機(jī)主頻 50MHz (50M個時鐘周期)/s
- CPI m (m個時鐘周期)/每執(zhí)行一條指令
- MIPS 50M/m (主機(jī)每秒執(zhí)行的指令數(shù))
- 外設(shè)數(shù)據(jù)傳輸率 nB/s
- 總線帶寬 32位或以32位傳輸 即每傳輸32位的數(shù)據(jù)請求一次
- (nB/s)/4B=n/4 (每秒發(fā)出的請求次數(shù))--4B即上面的32位
- 交換塊16B或數(shù)據(jù)16B,則傳輸一次需 16/n s,那么一秒鐘傳輸n/16次
- 求占cpu時間百分比時,若用時鐘周期來求,則分母可由cpu主頻得知50M個時鐘周期,分子具體情況具體求。
- 關(guān)于終端屏蔽,根據(jù)屏蔽字得到的優(yōu)先級,在運(yùn)行過程中起作用,而計(jì)算機(jī)的實(shí)際啟動順序仍按照硬件優(yōu)先次序進(jìn)行(即中斷響應(yīng)優(yōu)先級),只不過啟動后各中斷會根據(jù)屏蔽字優(yōu)先級進(jìn)行搶占處理(即中斷處理優(yōu)先級)。
- 程序查詢方式-中斷方式-DMA方式比較
DMA方式對CPU的占用最少,即對CPU的影響是最小的,其次中斷方式,次之程序查詢 - 中斷處理流程
(中斷隱指令部分,硬件直接實(shí)現(xiàn),并非指令無操作碼)
關(guān)中斷-保存斷點(diǎn)-引出中斷服務(wù)程序(取出終端程序入口地址送至pc)
(中斷服務(wù)程序內(nèi)部)
保存現(xiàn)場和屏蔽字-開中斷-執(zhí)行中斷服務(wù)程序-關(guān)中斷-恢復(fù)現(xiàn)場和屏蔽字-中斷返回,開中斷 - VRAM容量(顯存容量)
VRAM容量=分辨率 * 灰度級 * 幀頻 ,例如 1280 * 1080 * 24bit * 85(Hz) - 顏色數(shù) 256=2^8 即8位灰度級
-
磁盤結(jié)構(gòu)
單片盤片

立體3D結(jié)構(gòu)
存儲容量=磁頭數(shù) × 磁道(柱面)數(shù) × 每道扇區(qū)數(shù) × 每扇區(qū)字節(jié)數(shù)
數(shù)據(jù)傳輸率Dr=磁盤轉(zhuǎn)數(shù)r/s * 每條磁道容量 N個字節(jié) 即 Dr=r * N;
面密度=位密度(單位磁道長度記錄二進(jìn)制代碼位數(shù))* 道密度(半徑方向單位長度的磁道數(shù));
- 若磁盤 120r/s 則 平均查詢扇區(qū)時間為(1/120)/2 (存取一個扇區(qū)的平均延遲)即旋轉(zhuǎn)半周的時間;
- 讀一個扇區(qū)中數(shù)據(jù)所用時間=找磁道的時間+找扇區(qū)的時間+磁頭掃過一個扇區(qū)的時間;
找磁道的時間:一般選磁頭在磁盤半徑方向移動1/2個半徑所用的時間的平均值;
找扇區(qū)時間:一般選用磁盤旋轉(zhuǎn)半周所用的時間為平均值;
磁頭掃過一個扇區(qū)時間:磁盤轉(zhuǎn)一圈的時間/磁盤的扇區(qū)數(shù); - 磁盤陣列 -通過同時使用多個磁盤提高傳輸率,通過并行存儲提高數(shù)據(jù)吞吐量,通過鏡像提高安全性,通過數(shù)據(jù)校驗(yàn)提供容錯能力
總線
- 半同步通信總線(擁有同步通信及異步通信的特點(diǎn))
異步總線中引入時鐘信號,其就緒及應(yīng)答信號皆在時鐘的上升沿或下降沿有效,不受其他時間的信號干擾;例如 PCI總線; - 分類: 時序上 同步/異步 數(shù)據(jù)傳輸格式 并行/串行
- 通信總線也稱外部總線
- 猝發(fā)傳送(突發(fā)傳送)
一個總線周期內(nèi),傳送存儲地址連續(xù)的多個數(shù)據(jù)字; - 單總線 雙總線 三總線
單總線并不是只有一根信號線可分為(地址、數(shù)據(jù)、控制)
-系統(tǒng)總線
-主存總線、I/O總線
-主存總線、I/O總線、DMA總線 - 總線帶寬=總線頻率*總線寬度;
- 總線頻率=總線時鐘頻率/(一個總線周期中的時鐘周期數(shù));
- 總線寬度 - 總線位寬,通常指數(shù)據(jù)總線的根數(shù)
- 總線時鐘周期=1/總線時鐘頻率;
- 總線仲裁 -集中/分布式
鏈?zhǔn)?- 三根控制線 BS BR BG
計(jì)數(shù)器定時查詢 - n個設(shè)備需要 (ceil)logn+2 根設(shè)備地址線
獨(dú)立請求 - 2n+1控制線
分布式即自己分別處理自己的模塊,最后通過博弈選出最終模塊 - 同步定時 - 統(tǒng)一的時鐘信號
- 異步定時 - 無統(tǒng)一時鐘 用握手信號實(shí)現(xiàn)定時與控制
不互鎖、半互鎖、全互鎖
區(qū)分:發(fā)出信號后是否必須等待回應(yīng)才能繼續(xù); - 總線標(biāo)準(zhǔn)
ISA EISA VESA PCI PCI-Express
USB(Universal Serial Bus)總線 (通用串行總線)
AGP(加速圖形接口)
局部總線 -VESA PCI AGP
CPU
- 運(yùn)算器 - 數(shù)據(jù)加工處理的中心
ALU、暫存寄存器、ACC、通用寄存器、PSW、移位器、計(jì)數(shù)器(CT) - 控制器
PC、IR、MAR、MDR、指令譯碼器、時序系統(tǒng)、微操作信號發(fā)生器 - IR MAR MDR對用戶透明
- 機(jī)器字長 - CPU一次能處理數(shù)據(jù)的位數(shù)
- PC的位數(shù) - 取決于存儲器容量
計(jì)算機(jī)內(nèi)存容量大小 由地址總線決定
MAR位數(shù)和PC相同 - 指令周期 - 取出一條指令并執(zhí)行完的全部時間
取指周期 + 間址周期+執(zhí)行周期+中斷周期 (并不是每個指令周期都有中斷周期)
對應(yīng)四個機(jī)器周期 - 一個指令周期 - n個機(jī)器周期(也稱cpu周期) - n * m個時鐘周期
- 時鐘周期 - 計(jì)算機(jī)運(yùn)行的最基本的時序單位
- 指令 即機(jī)器指令(完成一個獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作);
- 機(jī)器周期通常由存取周期確定 (即計(jì)算機(jī)完成一個基本操作的時間)
- 存儲器進(jìn)行一次讀或?qū)憺榇鎯ζ髟L問時間,連續(xù)兩次獨(dú)立的讀或?qū)懰枳疃虝r間為存取周期(主存周期)
- 指令字長一般為存儲字長的整數(shù)倍(即n * 存儲字長),n=1 時則等于機(jī)器周期
- 指令字長與機(jī)器字長沒關(guān)系,它取決于操作碼長度,操作數(shù)地址長度,和操作數(shù)地址的個數(shù);
- 中斷周期中的入棧操作是sp-1,向低地址增加;
- 單指令周期/多指令周期/流水線
單 - 串行 固定時鐘周期
多 - 串行 不固定時鐘周期
流 - 一種并行方案 - 硬布線控制器 - 組合邏輯控制器 執(zhí)行速度快但不可修改
- CPU數(shù)據(jù)通路結(jié)構(gòu)三種 (CPU內(nèi)部(各寄存器及運(yùn)算部件之間)與系統(tǒng)總線(計(jì)算機(jī)內(nèi)各功能部件)不同)
CPU內(nèi)部單總線、CPU內(nèi)部三總線、專用數(shù)據(jù)通路 - 單總線CPU中ALU僅有一個輸入端與總線相連,另一輸入端通過暫存器與總線相連
- CU - 控制單元
其輸出結(jié)果受到 IR、時序系統(tǒng)、執(zhí)行單元反饋標(biāo)志 影響 - 三態(tài)門 -控制其所在通路的連接與斷開
基本的微操作
取指周期
PC->MAR //pc中取地址送入MAR
1->R //主存讀操作
M(MAR)->MDR //主存將讀取到數(shù)據(jù)(指令)送入MDR
MDR->IR //MDR將指令送入IR
OP(IR)->CU //操作碼譯碼后送入控制單元
PC+1->PC //PC自增
微程序中需增加
Ad(CMDR)->CMAR
OP(IR)->CMAR
間址周期(即從得到的位地址的數(shù)據(jù)進(jìn)行求值例如((X))的值)
Ad(IR)->MAR
1->R
M(MAR)->MDR
執(zhí)行部分視情況而定
結(jié)束后得到的結(jié)果有兩種情況
1-送入主存
ACC->MDR
**MDR->M(MAR)**
2-送入累加器
(R2)->ACC //左邊作為數(shù)據(jù)送入寄存器時都要加()
- 通過ALU進(jìn)行+1操作的PC
要考慮總線的占用問題,且使所用時鐘周期最少

pic
PC->MAR 1->R PC->R1
M(MAR)->MDR R1+1->R2
MDR->IR OP(IR)->CU
R2->PC
- 微程序控制器 - 存儲邏輯實(shí)現(xiàn) - 易于擴(kuò)充修改但執(zhí)行慢
- 一條機(jī)器指令 - 一個微程序 - n個微指令 - n * m微操作(微命令與微操作一一對應(yīng)是其控制信號)
- 一條微指令 - n微命令
- 操作控制字段即操作控制信號
- 順序控制字段 下條微指令地址
- 微周期類似指令周期讀取微指令并執(zhí)行完所需的時間
- 主存 - 存數(shù)據(jù)及程序,CPU外部,RAM實(shí)現(xiàn);
- 控存 - 存微程序,CPU內(nèi)部,ROM實(shí)現(xiàn);
- 微程序結(jié)構(gòu)及功能對程序員透明
- 微程序入口地址由機(jī)器指令操作碼字段形成
- 微指令編碼方式
直接編碼/字段直接編碼/字段間接編碼方式 - 微指令格式 - 水平型/垂直型
水平 - 操作控制字段+判斷測試字段+后繼地址段
微程序短 執(zhí)行速度快,但微指令長 編寫麻煩
垂直 - 微操作碼+目的地址+源地址
微指令短,便于編寫,但微程序長執(zhí)行慢,工作效率低 - μPC與PC 不同 一個是微程序中的,一個是外部的寄存器中的不可取代
- 指令流水線
注意:并非流水段越多,指令執(zhí)行越快, 流水段緩沖的開銷及流水段間邏輯控制會隨著增多而變復(fù)雜,
1)順序執(zhí)行 (n為指令數(shù),前三個把段數(shù)作為3來算的)
T=3nt
2)一次重疊
T=(1+2n)t
3)二次重疊
T=(2+n)t
4)。。。
。。。。(n個指令 n-1重疊)
T=(k+n-1)t (k為指令的段數(shù)) - 相關(guān)的問題
結(jié)構(gòu)相關(guān)(資源沖突)
解決方案: 暫停一個時鐘周期 / 令設(shè)置存儲器執(zhí)行
數(shù)據(jù)相關(guān)(數(shù)據(jù)沖突)
解決方案:暫停幾個時鐘周期 / (不通過寄存器直接用ALU數(shù)據(jù)為輸入計(jì)算)數(shù)據(jù)旁路 / 編譯器調(diào)整指令順序
控制相關(guān)(控制沖突)
解決方案:動態(tài)預(yù)測 / 加快提前形成條件碼 / 提高轉(zhuǎn)移方向的猜準(zhǔn)率 - 流水線吞吐率
TP=n/(n+k-1)t; - 流水線加速比
S=T0/Tk=knt/(k+n-1)t; - 流水線效率
E=T0/Tk=(1/k) * S; - 超標(biāo)量流水線
每個時鐘周期并發(fā)多條獨(dú)立指令,并行操作,不能調(diào)整執(zhí)行順序
例如: 采用度為4的超標(biāo)量流水線處理機(jī),執(zhí)行20條指令,直接當(dāng)作度為一執(zhí)行20/4條指令來算 - 超流水線
一個時鐘周期一個功能部件使用多次 - 超長指令字
超長的指令字,需要多個處理部件; - IF ID EX WB
取指 譯碼 執(zhí)行 寫回
在流水線中 上一條的IF沒執(zhí)行完下一條指令不可以進(jìn)行IF - 數(shù)據(jù)相關(guān)幾種具體情況
RAR (read after read) 沒什么影響
RAW(read after write)
指的是 應(yīng)該上一條指令對該變量的寫結(jié)束后下一條指令才能對其進(jìn)行讀,不然獨(dú)到的數(shù)據(jù)就是錯的,發(fā)生了數(shù)據(jù)相關(guān),即沖突;
WAR(write after read)
指的是 應(yīng)該會上條指令寫操作之后在進(jìn)行讀,不然讀到的是錯誤的信息
WAW(write after write)
指令系統(tǒng)
- 指令 (機(jī)器指令)- 計(jì)算機(jī)運(yùn)行的最小功能單位,計(jì)算機(jī)的語言系統(tǒng)
- 指令字長一般為存儲字長的整數(shù)倍(即n * 存儲字長),n=1 時則等于機(jī)器周期
- 指令字長與機(jī)器字長沒關(guān)系,它取決于操作碼長度,操作數(shù)地址長度,和操作數(shù)地址的個數(shù)
- 單字長、半字長、雙字長指令
指的是指令長度與機(jī)器字長的長度程倍數(shù)關(guān)系時的叫法 - 定長指令結(jié)構(gòu)/變長指令結(jié)構(gòu)
- 指令基本格式 - 操作碼字段 | 地址碼字段
0地址 OP
一地址 OP+A1(既為源也為目的)
也可為隱含約定目的地址 即有兩個操作數(shù),另一個操作數(shù)來自ACC
二地址 OP+A1(源操作數(shù))+A2(目的操作數(shù)-(保存結(jié)果))
三地址 OP+A1(源操作數(shù))+A2(目的操作數(shù))+A3(保存結(jié)果)
四地址 OP+A1(源操作數(shù))+A2(目的操作數(shù))+A3(保存結(jié)果)+A4(下址-下條指令地址) - 定長操作碼指令格式
n位操作碼 最大能表示2^n條指令 -
擴(kuò)展操作碼指令格式
Point:
不允許短碼是長碼的前綴
各指令操作碼不重復(fù)
一般使用頻率高的分配短碼,使用頻率低的分配長碼,減少指令譯碼分析時間
一言難盡,上圖
擴(kuò)展操作碼技術(shù) - 尋址方式
指令尋址/數(shù)據(jù)尋址
指令尋址
1)順序?qū)ぶ?- 即PC+1方式
2)跳躍尋址 - JMP類指令直接修改PC下一跳地址 -受PSW及操作數(shù)控制,且目的地址分絕對地址/相對地址
數(shù)據(jù)尋址
指令格式 - 操作碼 + 尋址特征 + 形式地址A (以下用#來指代尋址特征的位置,A形式地址,EA有效地址)
尋址特征指明屬于哪種尋址方式
1)隱含尋址
ADD+#+A
主存中A地址中操作數(shù)送入ALU,同時ACC中的作為第二操作數(shù)也送入ALU
優(yōu)點(diǎn):有利于縮短指令字長; 缺點(diǎn):需增加存儲操作數(shù)或隱含地址硬件;
2)立即(數(shù))尋址
則A即為操作數(shù)本身,稱為立即數(shù)(補(bǔ)碼存放)
優(yōu)點(diǎn):執(zhí)行階段不訪問主存;缺點(diǎn):A的位數(shù)限制立即數(shù)的范圍;
3)直接尋址
OP+#+A
A=EA
優(yōu)點(diǎn):簡單,一次訪存,缺點(diǎn):A的位數(shù)決定了尋址范圍,且不易修改;
4)間接尋址
OP+#+A, A->EA(第一次讀得到A的有效地址) ,Get(EA)(從有效地址中取得操作數(shù))(一次間址,兩次訪存)
OP+#+A1,A1->A2,A2->EA Get(EA)(兩次間址)
優(yōu)點(diǎn): 可擴(kuò)大尋址范圍;缺點(diǎn):要進(jìn)行多次訪存;
5)寄存器尋址
OP+#+Ri
EA=Ri
優(yōu)點(diǎn):不訪存,地址碼長度小,速度快,支持向量矩陣運(yùn)算;缺點(diǎn):寄存器數(shù)量有限,價格貴;
6)寄存器間接尋址
OP+#+Ri ,EA=(Ri),Get(EA)
特點(diǎn):比間接尋址快,但需要訪存,從Ri得到EA,后從主存取操作數(shù);
7)相對尋址
OP+#+A,EA=PC+A
優(yōu)點(diǎn):操作數(shù)地址不固定隨PC變化,便于程序浮動,廣泛用于轉(zhuǎn)移指令;
JMP A 若CPU從存儲器中取出nB指令則PC+n+A;
8)基址尋址(面向操作系統(tǒng))
OP+#+A,BR+A->EA
OP+#+R0+A,R0+A->EA
BR(專用寄存器,基址)
R0(通用寄存器,基址)
基址不變,A變化
優(yōu)點(diǎn):可擴(kuò)大尋址范圍,利于多道程序設(shè)計(jì),數(shù)據(jù)分配存儲空間,編制浮動程序;
9)變址尋址(用戶設(shè)計(jì))
OP+#+A,IX+A->EA
IX(變址寄存器)
A不變,IX改變
優(yōu)點(diǎn):可擴(kuò)大尋址范圍,適合編制循環(huán)程序,處理數(shù)組問題;
10)堆棧尋址
存儲區(qū)中讀/寫單元地址,由特定寄存器給出SP(堆棧指針);
硬堆棧 - 寄存器堆棧
軟堆棧 - 主存中劃出的區(qū)域
此種形式指令大多為無操作數(shù)指令,隱含使用了SP;
16位補(bǔ)碼表示范圍 - 指令操作數(shù)的地址制定方式 - 大端方式/小端方式
即給出的地址為操作數(shù)的最高/最低有效字節(jié)地址 - 數(shù)據(jù)或指令的存放方式
邊界對其/邊界不對齊
邊界對其相對邊界不對其是一種空間換時間的思想 - CISC/RISC
CISC(Complex Instruction-Set computer)
指令系統(tǒng)復(fù)雜,龐大,數(shù)目多200以上
指令長度、格式、尋址方式、使用頻度、執(zhí)行時間 不固定
大多數(shù)需要多個時鐘周期
大多為微程序控制器
RISC(Reduced Instruction-Set Computer)
使用使用頻率高的簡單指令,復(fù)雜的通過簡單進(jìn)行組合
指令長度固定,格式種類及尋址方式少
只有Load/Store指令訪存
CPU中通用寄存器多
采用流水線技術(shù),大部分一個時鐘周期內(nèi)完成,
硬布線為主
Compare CISC/RISC
1)CISC大多采用微程序控制,控存占CPU50%以上
RISC采用組合邏輯控制,硬布線邏輯占CPU10%左右
2)RISC 更能提高運(yùn)算速度,指令數(shù)、尋址方式、指令格式種類少,流水線技術(shù),通用寄存器多,運(yùn)行速度快
3)RISC便于設(shè)計(jì)簡單快速可靠性高
4)有利于編譯程序代碼優(yōu)化
存儲系統(tǒng)
- 層次分類 - 主存(內(nèi)存) - 輔存(外存) - Cache(高速緩沖存儲器 - 于CPU與主存間)
注意:CD-ROM不屬于ROM,順序訪問方式 - RAM(隨機(jī)存儲器 易失性存儲器)
讀寫方便,使用靈活,主要用于主存、Cache (分靜態(tài) - 觸發(fā)器原理 ,動態(tài) - 電容充電原理),斷電后信息丟失 - ROM(只讀存儲器 非易失性存儲器)
只讀,可與RAM共同作為主存一部分,斷電后信息仍存在 - 串行訪問存儲器
需按照物理位置的先后順序進(jìn)行尋址,存取速度慢 - 存儲器容量
存儲字?jǐn)?shù)(存儲器的地址空間大小) * 字長(一次存取操作的數(shù)據(jù)量)
存儲速度(帶寬):數(shù)據(jù)傳輸率=數(shù)據(jù)的寬度/存儲周期 - 多級存儲結(jié)構(gòu)
CPU - Cache - 主存 - 輔存(磁盤 - 磁帶/光盤) - 主存與Cache間數(shù)據(jù)調(diào)動由硬件自動完成,對所有程序員透明
- 主存輔存間數(shù)據(jù)調(diào)動對應(yīng)用程序員透明,由硬件與操作系統(tǒng)共同完成
- 半導(dǎo)體隨機(jī)存儲器
- 74138譯碼器又稱為3/8譯碼器
- 存儲元 - 存放一個二進(jìn)制位的物理器件 - 存儲器的最基本構(gòu)件
- SRAM(Static -RAM - 易失性半導(dǎo)體存儲器)
存取速度快、繼承地功耗大,一般組成Cache - DRAM(Dynamic - RAM,易失性,需要刷新)
易集成,價位低,容量大,功耗低,速度慢,一般用來組成大容量主存
讀出時為破壞性讀出 ,采用傳兩次地址策略,所以計(jì)算時地址線復(fù)用即需要除二 - DRAM刷新方式
集中刷新: 一個刷新周期內(nèi),一段時間專門來刷新,為訪存死區(qū);
優(yōu)點(diǎn):讀寫操作不受刷新影響,系統(tǒng)存取速度較高;
缺點(diǎn):死區(qū)不能訪問存儲器
分散刷新:把每行的刷新分散到各個工作周期中;
優(yōu)點(diǎn):無死區(qū);
缺點(diǎn):增加了存取周期長度,降低了整體速度;
異步刷新: 利用邏輯電路的請求間隔;
特點(diǎn):前兩種方法結(jié)合,即可縮短死時間,有充分利用最大刷新間隔為2ms的特點(diǎn);
注意:刷新對CP透明 ,刷新單位為行,只需要行地址,無需輸出,不需選片,所有芯片同時被刷新 - 存儲器讀寫周期
point:讀周期與讀出時間不同,讀周期總是大于讀出時間
讀操作時(WE|)為高電平;
寫操作時 片選信號(CS|) (WE|)為低電平;(取反符號不會打,把杠打在邊上了) - 只讀存儲器(ROM)
結(jié)構(gòu)簡單,位密度比可讀寫存儲器高,有非易失性,可靠性高;
類型:
MROM - 不可修改出廠定好
PROM - 一次可編程只讀
EPRPM - 可擦除可編程(擦除時全部擦除,再編程)
E2PROM - 電擦除
Flash Memory - 價格便宜集成度高,擦除重寫速度快,且寫比讀要慢
SSD - 讀寫快,低功耗,價格貴

