輸入輸出(I/O)接口
- I/O系統(tǒng)的工作方式
- 程序控制:CPU使用I/O指令編程控制苦囱,需要不停的查詢I/O系統(tǒng)是否完成指令
- DMA 使用DMA控制器(Direct Memory Access)和CPU共享系統(tǒng)總線譬涡,在進(jìn)行DMA時(shí) CPU放棄系統(tǒng)總線控制器 [處理速度最快,CPU無需介入]
- 程序中斷 當(dāng)I/O系統(tǒng)與設(shè)備交換數(shù)據(jù)時(shí),CPU無需等待數(shù)據(jù)交換桂躏,當(dāng)數(shù)據(jù)交換完成時(shí)I/O系統(tǒng)發(fā)送中斷信號(hào)通知CPU坛吁,CPU保存現(xiàn)場(chǎng)后藻茂,完成I/O系統(tǒng)后續(xù)動(dòng)作后,返回中斷現(xiàn)場(chǎng) [對(duì)突發(fā)時(shí)間做處理]
-
通道 通過通道程序管理I/O系統(tǒng)和控制器裳食,每當(dāng)用戶請(qǐng)求啟動(dòng)外設(shè)時(shí)矛市,會(huì)構(gòu)造通道程序和通道狀態(tài)字
- 字節(jié)多路通道
- 選擇通道
- 數(shù)據(jù)多路通道
- I/O處理機(jī) 相比通道方式,指令更豐富诲祸,有局部存儲(chǔ)器浊吏,適用于大型機(jī)
- 總線原理:從兩個(gè)或兩個(gè)以上源部件傳送信息(指令、數(shù)據(jù)和地址)到一個(gè)或多個(gè)部件的一組傳輸線, 如一根傳輸線僅用于連接 一個(gè)源部件(輸出)和一個(gè)或多個(gè)目的部件(輸入),則不稱為總線
- 總線分類
- CPU與其他芯片位置劃分
- 內(nèi)部總線(適用范圍:CPU內(nèi)部的ALU救氯,寄存器找田,控制部件之間的數(shù)據(jù)通信)
- 外部總線(適用范圍:***CPU與其他組件 ***RAM、ROM和I/O設(shè)備的數(shù)據(jù)通路)
- 功能劃分
- 數(shù)據(jù)總線 傳輸數(shù)據(jù)
- 地址總線 傳輸?shù)刂?/li>
- 控制總線 傳輸控制信號(hào)量
- 工業(yè)標(biāo)準(zhǔn) ISA總線 劃分 98條線着憨,數(shù)據(jù)線16條墩衙,地址線24條,其余是控制線
- 總線在計(jì)算機(jī)的位置
- 機(jī)內(nèi)總線 CPU與其他芯片的連接
- 機(jī)外總線 與外設(shè)相連的接口標(biāo)準(zhǔn)
- 總線擴(kuò)展
- 局部總線 在原有總線規(guī)范成為性能瓶頸時(shí)甲抖,在CPU和ISA之間增加的一級(jí)總線或者是管理層
- 系統(tǒng)總線 插背板之間數(shù)據(jù)通信一組信號(hào)線
- 通信總線 和外設(shè)通信的一組信號(hào)線
- CPU與其他芯片位置劃分
- 總線速度 最終會(huì)成為 性能的瓶頸
-
總線接口
-
串行接口:一次發(fā)送1 bit信息漆改,通信連線少,適合長(zhǎng)距離傳輸准谚,傳輸慢挫剑,控制復(fù)雜
- 同步通信
- 異步通信
- 并行接口:一次發(fā)送多 bit信息(8的倍數(shù)),通信連接多柱衔,高速數(shù)據(jù)傳輸樊破,傳輸快,控制簡(jiǎn)單
-
串行接口:一次發(fā)送1 bit信息漆改,通信連線少,適合長(zhǎng)距離傳輸准谚,傳輸慢挫剑,控制復(fù)雜
- 設(shè)備接口
- SCSI
- 大容量存儲(chǔ)設(shè)備設(shè)備的標(biāo)準(zhǔn)秀存。SCSI設(shè)備彼此獨(dú)立運(yùn)行捶码,相互交互數(shù)據(jù),數(shù)據(jù)以分組方式傳輸或链,最大可以達(dá)到5Gbps(640MB/s)
- ESDI
- IDE
- PCMCIA
- IEEE-1394
- USB
- SCSI
各種體系結(jié)構(gòu)
指令系統(tǒng)
-
復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)
- 指令多
- 指令使用頻率相差懸殊
- 支持多種尋址方式
- 指令長(zhǎng)度不固定
- 大量指令對(duì)存儲(chǔ)器單元中的數(shù)據(jù)直接處理(讀取存儲(chǔ)器的效率很低惫恼,應(yīng)該讀取寄存器)
-
精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)
- CPU 寄存器多
- 選擇頻率高的簡(jiǎn)單指令、使用率搞不復(fù)雜的指令
- 指令長(zhǎng)度固定澳盐、種類少祈纯、尋址種類少
- 較少訪問存儲(chǔ)器、盡可能的放在寄存器
- 大多數(shù)采用Cache叼耙,以及 流水線 組織
流水線技術(shù)
- 采用并行硬件提高性能腕窥,將一個(gè)指令拆分成多個(gè)指令任務(wù),各指令任務(wù)串行執(zhí)行并且由不同機(jī)構(gòu)執(zhí)行筛婉,而不同機(jī)構(gòu)執(zhí)行時(shí)之間可以并行執(zhí)行
- 一般一個(gè)指令分為 取指簇爆、分析癞松、執(zhí)行 三個(gè)任務(wù)
- 如果有100個(gè)指令,取指令1ns入蛆,分析2ns响蓉,執(zhí)行2ns
- 由于第一條指令需要拆分串行運(yùn)行,耗時(shí)為 1+2+2=5ns
- 拆分的指令可以并行執(zhí)行哨毁,任務(wù)中耗時(shí)最長(zhǎng)的是2ns(這就是并行的流水周期)枫甲,在第一個(gè)指令被拆分為3個(gè)子任務(wù)耗時(shí)5ns后,還剩下100-1個(gè)指令扼褪,在最長(zhǎng)的耗時(shí)(100-1)*2ns的情況里想幻,其余的子任務(wù)都會(huì)完成
- (1)標(biāo)量流水處理機(jī) 耗時(shí)為 (1+2+2) + (100-1)*2 = 203ns
- (1)標(biāo)量非流水處理機(jī) 耗時(shí)為 (1+2+2)*100=500ns
- (4)標(biāo)量流水處理機(jī) 耗時(shí)為 (1+2+2) + (100/4-1)*2 = 53ns
- 流水線計(jì)算公式是time=(n*t) + [(k-1)*t] n是子任務(wù)數(shù),t是每個(gè)子任務(wù)耗時(shí)话浇,k是指令個(gè)數(shù)
- 有時(shí)候可能會(huì)使用 周期時(shí)間累加作為第一次取值總耗時(shí)
-
吞吐率TP 單位時(shí)間內(nèi)流水線完成的任務(wù)數(shù)量
- 吞吐率 100/203ns
-
加速比 不使用流水線耗時(shí)與使用流水線的耗時(shí)比
- 加速比 500/203=2.46(感興趣的可以去套下高數(shù)公式)
- 復(fù)雜的流水線計(jì)算使用畫時(shí)空?qǐng)D更快
1335019680_3761.jpg
D7FADF0B-CE9D-4695-9CB5-A0FBE80C6CC4.png
5A68C395-6885-4E08-A73B-0758B2B36CC9.png
51B741AE-E808-4BAF-B738-E27919018D4B.png
- 流水線技術(shù)被破壞的條件(流水線技術(shù)采用的是重疊時(shí)間多執(zhí)行器并行執(zhí)行)
- 轉(zhuǎn)移指令 流水線無法確認(rèn)下一步指令地址
-
共享資源沖突 前后數(shù)據(jù)沖突脏毯,導(dǎo)致指令無法繼續(xù)執(zhí)行,這種大多數(shù)都是局部性的資源沖突凳枝,比如前一條指令還在寫寄存器抄沮,另一條指令已經(jīng)準(zhǔn)備讀寄存器了,解決方法如下
- 推后法 推后相關(guān)read操作岖瑰,等待wait執(zhí)行完成
- 通路法 不將結(jié)果write into storage unit后供read叛买,而是通過專用通路直接讀取,可以加快s剫
-
響應(yīng)中斷
- 精確中斷 立即停止當(dāng)前流水線蹋订,CPU指令變復(fù)雜
- 不精確中斷 封閉流水線指令入口率挣,讓當(dāng)前指令執(zhí)行完成,執(zhí)行中斷處理程序露戒,實(shí)現(xiàn)簡(jiǎn)單
并行處理
- 超標(biāo)量處理機(jī)
- 超級(jí)流水線處理機(jī)
- 超長(zhǎng)指令字處理機(jī)
- 向量處理機(jī)
- 多處理機(jī)系統(tǒng)(MIMD 中高端機(jī)通過高速通信網(wǎng)絡(luò)進(jìn)行通信椒功,相比SIMD 有更高的并行層面)
- 共享存儲(chǔ)器多處理機(jī)
- 分布式存儲(chǔ)器多處理機(jī)
- 大規(guī)模并行處理機(jī)(陣列處理機(jī) MPP 有獨(dú)立主空間 SIMD)
- 對(duì)稱多處理機(jī)(SMP 共享主存空間 通過網(wǎng)絡(luò))
- 緊耦合系統(tǒng) SMP
- 松耦合系統(tǒng) MPP
互聯(lián)網(wǎng)絡(luò)
- ICN 連接計(jì)算機(jī)中各個(gè)處理單元、存儲(chǔ)模塊以及I/O設(shè)備智什,一般結(jié)構(gòu)有
- 總線
- 交叉開關(guān)
- 多級(jí)互聯(lián)網(wǎng)
- 并行處理機(jī)互聯(lián)方法
- 恒等置換 I 相同編號(hào)的輸入輸出地址一致
- 交換置換 E 二進(jìn)制地址編號(hào) 第0位位值不同 的是輸入/輸出
- 方體置換 Cube 二進(jìn)制地址編號(hào) 第k位位值不同 的是輸入/輸出
- 均勻洗牌置換 Shuffle 輸入端二進(jìn)制地址編號(hào) 左移一位得到輸出端二進(jìn)制地址
- 蝶式置換 B 輸入端二進(jìn)制地址編號(hào) 最高位和最低位互換得到輸出端二進(jìn)制地址
- 位置顛倒置換 P 輸入端二進(jìn)制地址編號(hào) 位置順序顛倒得到輸出端二進(jìn)制地址
AF21EACB-C449-4FEA-AC55-A38E26979575.png
- 計(jì)算機(jī)系統(tǒng)由 硬件 和 軟件組成动漾,軟件 又區(qū)分為 系統(tǒng)軟件 和 應(yīng)用軟件
- 計(jì)算機(jī)只能讀懂二進(jìn)制指令,需要通過編譯程序轉(zhuǎn)碼荠锭,然后由指令系統(tǒng)執(zhí)行
- 總線控制線路包括 總線判優(yōu)或仲裁邏輯旱眯、驅(qū)動(dòng)器和中斷邏輯