教材:《計(jì)算機(jī)組成原理(第六版)》白中英等著
概述
電子計(jì)算機(jī)分類
- 電子模擬計(jì)算機(jī)
- 電子數(shù)字計(jì)算機(jī)=電腦
- 專用計(jì)算機(jī):如嵌入式
- 通用計(jì)算機(jī)
- 超級(jí)計(jì)算機(jī)
- 大型機(jī)
- 服務(wù)器
- PC機(jī)
- 單片機(jī)
- 多核機(jī) 多于一個(gè)處理器的芯片
計(jì)算機(jī)的發(fā)展歷史
第一代:電子管計(jì)算機(jī) 數(shù)據(jù)處理機(jī) ENIAC EDVAC 馮·諾伊曼結(jié)構(gòu)
第二代:晶體管計(jì)算機(jī) 工業(yè)控制機(jī)
第三代:中小規(guī)模集成電路計(jì)算機(jī) 小型計(jì)算機(jī)
第四代:大規(guī)模和超大規(guī)模集成電路計(jì)算機(jī)微型計(jì)算機(jī)
第五代:巨大規(guī)模集成電路計(jì)算機(jī) 單片計(jì)算機(jī)
存儲(chǔ)器發(fā)展過(guò)程
鐵磁體環(huán)
半導(dǎo)體存儲(chǔ)器
微處理器發(fā)展歷史
摩爾定律
計(jì)算機(jī)的性能指標(biāo)(重點(diǎn))
吞吐量:整體性能
響應(yīng)時(shí)間:CPU執(zhí)行時(shí)間+等待時(shí)間
- cpu執(zhí)行時(shí)間=時(shí)鐘周期數(shù)*時(shí)鐘周期=指令條數(shù) ? C P I ? *CPI* ?CPI?時(shí)鐘周期
- CPU時(shí)間=用戶CPU時(shí)間+系統(tǒng)CPU時(shí)間
處理機(jī)字長(zhǎng)=機(jī)器字長(zhǎng):運(yùn)算器一次整數(shù)運(yùn)算處理的二進(jìn)制位數(shù)
總線寬度:cpu中運(yùn)算器與存儲(chǔ)器之間互連的內(nèi)部總線二進(jìn)制位數(shù)
存儲(chǔ)器容量
存儲(chǔ)器帶寬:?jiǎn)挝粫r(shí)間內(nèi)從存儲(chǔ)器讀出的二進(jìn)制數(shù)信息量,單位字節(jié)數(shù)/s
主頻:cpu工作頻率
時(shí)鐘周期:1/f,單位微秒
CPI(cycle per instruction)每條指令周期數(shù):執(zhí)行一條指令需要的平均時(shí)鐘周期數(shù)
IPS(instructions per second)每秒執(zhí)行指令數(shù):MIPS:每秒執(zhí)行百萬(wàn)條(million)定點(diǎn)指令數(shù)
FLOPS(floating-point operation per second):每秒執(zhí)行浮點(diǎn)操作次數(shù)
硬件組成
實(shí)際電腦:
主板
CPU
GPU(顯卡)
內(nèi)存
硬盤
網(wǎng)卡
散熱器、風(fēng)扇
電源
抽象術(shù)語(yǔ):
- 運(yùn)算器(alu):算術(shù)運(yùn)算和邏輯運(yùn)算,長(zhǎng)度一般是8-64
- 控制器:指令:操作碼+地址碼->指令系統(tǒng)
取指周期+執(zhí)行周期
指令控制,時(shí)序控制,總線控制,終端控制 - 存儲(chǔ)器:由觸發(fā)器構(gòu)成,包括外存和內(nèi)存
- 馮 諾依曼結(jié)構(gòu)
- 哈佛結(jié)構(gòu)
- 輸入輸出設(shè)備:需要適配器
- 總線
單位
位bit(b)
字節(jié)Byte(B)=8b
字word:8~64位,即1-8字節(jié)
數(shù)據(jù)的表示&運(yùn)算
數(shù)據(jù)
數(shù)值數(shù)據(jù)
定點(diǎn)數(shù)
符號(hào)Xn | 尾數(shù)Xn-1 ~ X0 |
---|
整數(shù)表示范圍:
0
≤
∣
x
∣
≤
2
n
?
1
0\le |x|\le 2^n-1
0≤∣x∣≤2n?1
純小數(shù)表示范圍:
0
≤
∣
x
∣
≤
1
?
2
?
n
0\le |x|\le 1-2^{-n}
0≤∣x∣≤1?2?n
浮點(diǎn)數(shù)
階符E | 階碼 | 數(shù)符M | 尾數(shù) |
---|
規(guī)格化浮點(diǎn)數(shù):
尾數(shù)最高有效位為1,即0.1xxxx
原碼:正數(shù)0.1xx 負(fù)數(shù)1.1xxx
補(bǔ)碼:正數(shù)0.1xx 負(fù)數(shù)1.0xx
IEEE754
float(重點(diǎn)) 32位
( ? 1 ) S ? ( 1. M ) ? 2 E ? 127 (-1)^S*(1.M)*2^{E-127} (?1)S?(1.M)?2E?127
數(shù)符S | 階碼E(移碼) | 尾數(shù)M(原碼) |
---|---|---|
1位 | 8位:0-255 | 23位(實(shí)際表示24位) |
數(shù)符:0正1負(fù),表整個(gè)數(shù)的正負(fù)
階碼:E-127,真實(shí)表示范圍為-127~128
尾數(shù):隱含了首位的1,多存一位
正常范圍:
1<=E<=254,真實(shí)范圍是-126~127
因此數(shù)據(jù)表示范圍是1e-38~1e38
尾數(shù)精度達(dá)不到階碼這么高
特殊情況:
E=0,M!=0,非規(guī)格化小數(shù),隱藏位變?yōu)椋?.M)
E=0,M=0,正負(fù)0
E=255,M!=0,NaN
E=255,M=0,
±
∞
\pm \infin
±∞
double 64位
數(shù)符S | 階碼E(移碼) | 尾數(shù)M(原碼) |
---|---|---|
1位 | 11位:0-1024 | 52位(實(shí)際表示53位) |
十進(jìn)制數(shù)串
要指明起址和長(zhǎng)度
- 壓縮的十進(jìn)制數(shù)串 每個(gè)數(shù)位占半字節(jié),用BCD碼或ASCII碼的低四位表示,正負(fù)號(hào)用冗余值中的相關(guān)值表示,如正C負(fù)D。數(shù)位加符號(hào)位之和必須是偶數(shù),不為偶數(shù)需在最前面補(bǔ)零。
- 前分割數(shù)字串:
符號(hào)位:+ 2B - 2D
符號(hào)數(shù)據(jù)
字符
ascii碼,8位,最高位是校驗(yàn)位
漢字(不考)
編碼方式
原碼
符號(hào)位 0正 1負(fù)
反碼
正數(shù)和原碼相同
負(fù)數(shù)將符號(hào)位以外的數(shù)位取反
補(bǔ)碼
正數(shù)和原碼相同
負(fù)數(shù)將符號(hào)位以外的數(shù)位取反再+1
考研速算:固定符號(hào)位,從右向左看第一個(gè)1不變,在它之前的數(shù)位取反
移碼
常用于表示浮點(diǎn)數(shù)的階碼 +2^k
移碼的符號(hào)位和上面的相反
校驗(yàn)碼
奇偶校驗(yàn):
奇數(shù)個(gè)1異或=1
偶數(shù)個(gè)1異或=0
優(yōu)點(diǎn):開(kāi)銷小,常用于檢驗(yàn)一個(gè)字節(jié)長(zhǎng)的數(shù)據(jù)
常用于:存儲(chǔ)器讀寫校驗(yàn)、按字節(jié)傳輸過(guò)程中的數(shù)據(jù)校驗(yàn),計(jì)算機(jī)網(wǎng)絡(luò)
缺點(diǎn):只能監(jiān)測(cè)奇數(shù)或偶數(shù)個(gè)錯(cuò)誤,無(wú)法定位錯(cuò)誤位置
定點(diǎn)加減法(重點(diǎn))
- 補(bǔ)碼加法:
x補(bǔ)+y補(bǔ)=(x+y)補(bǔ) mod 2^(n+1)
符號(hào)位要參與運(yùn)算,溢出要舍棄 - 補(bǔ)碼減法:
(x-y)補(bǔ)=x補(bǔ)-y補(bǔ)=x補(bǔ)+(-y)補(bǔ)
溢出判斷
上溢,下溢
雙符號(hào)位(變形補(bǔ)碼):不同表示溢出,最高位始終表示正確的符號(hào)
標(biāo)志位
階碼溢出
加法器
- 半加器
- 全加器
N位行波進(jìn)位補(bǔ)碼加法器(雙高位判別)
need to be reviewed
定點(diǎn)運(yùn)算器的構(gòu)成(重點(diǎn))
ALU(74181)+陣列乘除器+寄存器+多路開(kāi)關(guān)+三態(tài)緩沖器+數(shù)據(jù)總線
后續(xù)復(fù)
ALU 算數(shù)邏輯運(yùn)算單元(待學(xué)習(xí))
基本構(gòu)成是全加器
串行4個(gè)FA,構(gòu)成4位ALU
需要先行進(jìn)位發(fā)生器(CLA,Lookahead Carry Adder)
16位ALU需要片內(nèi)先行進(jìn)位,片間串行進(jìn)位
單總線結(jié)構(gòu)
把兩個(gè)操作數(shù)輸入到ALU需要兩次,完成ALU計(jì)算任務(wù)需要三次串行選通操作
雙總線結(jié)構(gòu)
把兩個(gè)操作數(shù)輸入到ALU需要1次,完成ALU計(jì)算任務(wù)需要2次串行選通操作
三總線結(jié)構(gòu)
完成ALU計(jì)算任務(wù)需要1次串行選通操作
浮點(diǎn)數(shù)加減
(都是在補(bǔ)碼下的)
- 0操作數(shù)檢查
- 對(duì)階:小向大看齊,階碼增大,尾數(shù)右移(右規(guī))
- 尾數(shù)求和
- 規(guī)格化:
向左規(guī)格化:00.0xxx或11.1xxx 不符合規(guī)格化,左移尾數(shù),階碼減小
向右規(guī)格化,01.xxx或10.xxx 符號(hào)位不等,階碼+1,尾數(shù)右移,01補(bǔ)0,10補(bǔ)1 - 舍入處理:對(duì)階或右規(guī)時(shí)尾數(shù)右移,低位被舍棄,需要舍入處理
- 四舍五入
- 朝0舍入
- 朝正無(wú)窮舍入
- 朝負(fù)無(wú)窮舍入
- 溢出處理:右規(guī)之后看階碼是否溢出
浮點(diǎn)運(yùn)算流水線
實(shí)現(xiàn)時(shí)間并行性
流水線中各段的時(shí)間應(yīng)該盡量相等
有裝入時(shí)間和排空時(shí)間
具有k級(jí)過(guò)程段的流水線處理n個(gè)任務(wù)需要的時(shí)鐘周期數(shù)為k+n-1
加速比:
n
?
k
k
+
n
?
1
\frac{n*k}{k+n-1}
k+n?1n?k?
存儲(chǔ)器
馮諾依曼架構(gòu)以運(yùn)算器為中心
以存儲(chǔ)器為中心的計(jì)算機(jī)架構(gòu)
分類
按存儲(chǔ)介質(zhì)
- 磁性材料:磁芯,磁帶,磁盤
- 光存儲(chǔ)器:光盤
- 半導(dǎo)體存儲(chǔ)器:雙極性,mos型(ram,rom)
- 其他:紙帶
存取方式
- 隨機(jī) RAM random access memory
- SRAM 靜態(tài) static ->cache 更快,更貴
- DRAM 動(dòng)態(tài) dynamic->內(nèi)存 一段時(shí)間必須刷新一次
- 順序
- 串行訪問(wèn)存儲(chǔ)器SAS(serial access storage)
- 順序存取存儲(chǔ)器SAM (sequential access memory)磁帶
- 直接存取存儲(chǔ)器DAM (direct access memory)磁盤
- 串行訪問(wèn)存儲(chǔ)器SAS(serial access storage)
讀寫功能
- 只讀存儲(chǔ)器ROM(read only memory)(也可隨機(jī)訪問(wèn))
以前BIOS存在ROM上,現(xiàn)在在Flash上 - 隨機(jī)訪問(wèn)存儲(chǔ)器RAM=讀寫存儲(chǔ)器
信息的保存性
- 永久 rom
- 非永久 ram
在計(jì)算機(jī)中的作用
- 主存 memory:RAM,ROM
- 輔存 storage:磁盤,固態(tài),光盤
- 緩存 cache
- 控制存儲(chǔ)器(存放微程序)
存儲(chǔ)系統(tǒng)
cpu內(nèi):寄存器 多級(jí)cache
主板內(nèi):主存
主板外:磁盤 光盤
離線:磁帶
端模式(不考)
大端:高字節(jié)放低地址端
小端:低字節(jié)放低地址端(常用)
ROM(read only memory)(也可隨機(jī)訪問(wèn))
非易失性,訪問(wèn)速度比RAM慢
在運(yùn)行過(guò)程中只讀,更新方式實(shí)際上是編程
分類
- 掩膜型 MROM masked
一次性的,廠家寫入 - 可編程PROM programmable
- 可擦除可編程EPROM 用紫外線擦除
- 電可擦除可編程EEPROM
以上都不可在線改寫內(nèi)容
- 閃速存儲(chǔ)器(閃存)Flash ROM 可在線改寫內(nèi)容
- NAND 與非門 非線性閃存 非隨機(jī)訪問(wèn) 性能均衡 SD卡,U盤,SSD,容易壞
- NOR 或非門 線性閃存 接近傳統(tǒng)ROM 放BIOS 可隨機(jī)讀出任意地址,讀取速度高,寫入慢
RAM
SRAM 靜態(tài)隨機(jī)存取存儲(chǔ)器(重點(diǎn))
用鎖存器作為存儲(chǔ)元
雙譯碼方式
讀周期:地址線有效->片選&讀出使能有效->讀出數(shù)據(jù)->撤銷片選&使能->地址線改變
寫周期:地址線有效->片選&讀出使能有效->寫入數(shù)據(jù)->撤銷片選&使能->地址線改變
用作高速緩存 cache
DRAM 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(重點(diǎn))
元件簡(jiǎn)化,會(huì)漏電,需要刷新,讀出是破壞性的,需要刷新。需要額外的電路支持。
有刷新計(jì)數(shù)器,行地址鎖存器,列地址鎖存器,行、列使能端,讀寫使能端
分時(shí)傳送地址碼
讀周期:地址線傳行地址->行選通信號(hào)將其打入行地址鎖存器->地址線傳列地址->列選通信號(hào)將其打入列地址鎖存器->行列地址譯碼&讀出使能有效->讀出數(shù)據(jù)
寫周期:地址線傳行地址->行選通信號(hào)將其打入行地址鎖存器->地址線傳列地址->列選通信號(hào)將其打入列地址鎖存器->行列地址譯碼&寫入使能有效->寫入數(shù)據(jù)
刷新策略:
周期性刷新和讀寫操作交替進(jìn)行,通過(guò)2選1多路開(kāi)關(guān)實(shí)現(xiàn)
有片內(nèi)刷新計(jì)數(shù)器自動(dòng)生成地址來(lái)刷新
- 集中式刷新:一個(gè)刷新周期內(nèi),前一半正常讀寫,后一半集中刷新
- 分散式刷新:每一行的刷新操作被均勻分配的刷新周期內(nèi),逐行刷新
新型DRAM:
-
同步 SDRAM synchronous
-
快速頁(yè)模式 FPM DRAM Fast Page Mode DRAM
根據(jù)局部性原理實(shí)現(xiàn)
允許在選定行的情況下,對(duì)每個(gè)列地址快速讀寫 -
高速緩沖 Cached CDRAM
在DRAM里放一個(gè)小容量的SRAM(cache),存放最后一次訪問(wèn)數(shù)據(jù)
更快的存儲(chǔ)可以給較慢的作緩存 -
雙倍速率 DDR DRAM double data rate
在時(shí)鐘上升沿和下降沿都能傳輸數(shù)據(jù)
擴(kuò)展
芯片數(shù)=要求容量/單片容量
注意DRAM的擴(kuò)展,地址線只需要SRAM的一半,因?yàn)榉謺r(shí)復(fù)用
位擴(kuò)展
字?jǐn)?shù)夠,但位數(shù)不夠,不滿足字長(zhǎng)。
地址線、控制線公用,數(shù)據(jù)線分高x位和低x位分別與兩片IO端相連接,兩片同時(shí)工作
畫圖
字?jǐn)U展
位數(shù)夠,擴(kuò)充容量。地址總線和數(shù)據(jù)總線公用,讀寫信號(hào)線公用,由地址總線的高位譯碼產(chǎn)生片選信號(hào),讓各個(gè)芯片分時(shí)工作
畫邏輯框圖
字位擴(kuò)展
并行存儲(chǔ)器(不考)
時(shí)間:多模塊交叉存儲(chǔ)器
空間:雙端口存儲(chǔ)器
- 雙端口存儲(chǔ)器
兩組獨(dú)立的讀寫控制電路,無(wú)沖突讀寫控制,busy控制端防止寫沖突 - 多模塊交叉存儲(chǔ)器
線性編址- 順序方式
- 交叉方式 √
多模塊流水式并行處理
τ = T / m \tau=T/m τ=T/m
cache(重點(diǎn))
程序的局部性原理,多級(jí)cache
SRAM+控制邏輯(cpu提供,或主存/cache控制器提供)
命中率h
平均訪問(wèn)時(shí)間ta
訪問(wèn)效率e=tc/ta
cpu與cache 以字為單位傳輸
cache與主存 以塊為單位傳輸
cache與主存的映射方式:
主存塊對(duì)應(yīng)cache行、槽
直接映射
主存塊映射到cache的固定行中
主存標(biāo)記(塊群號(hào)) | cache槽號(hào) | 塊內(nèi)地址 |
---|
全相聯(lián)映射
主存塊映射到cache的任意行中
塊號(hào) | 塊內(nèi)地址 |
---|
訪問(wèn)內(nèi)存單元時(shí)先查cache中有無(wú)塊號(hào),如果miss則去內(nèi)存里找
n路-組相聯(lián)映射
主存塊映射到cache的固定組的任意行中
標(biāo)記 | 組號(hào) | 塊內(nèi)地址 |
---|
減少查找次數(shù),但命中率低
失靶率和命中時(shí)間成負(fù)相關(guān)
替換策略
FIFO
LRU 計(jì)數(shù)器 命中行清零,其他+1
LFU 計(jì)數(shù)器 調(diào)出最小計(jì)數(shù)器的行,清零
隨機(jī)替換Random
寫策略
寫回法:調(diào)出時(shí)才寫回
全寫法:分為WTWA和WTNWA法
寫一次法
虛擬存儲(chǔ)器(操作系統(tǒng)考了,不考)
固態(tài)硬盤SSD(考研考,不考)
指令系統(tǒng)
本節(jié)可在 匯編語(yǔ)言&微機(jī)原理 課程繼續(xù)學(xué)習(xí)
指令集體系架構(gòu)ISA(instruction set architecture)
指令集是存儲(chǔ)在cpu內(nèi)部,對(duì)cpu運(yùn)算進(jìn)行指導(dǎo)的硬程序
- CISC Complex Instruction set architecture 復(fù)雜指令集
指令數(shù)目多,字長(zhǎng)不固定,一條指令包含很多內(nèi)容,微程序控制 - RISC reduced Instruction set architecture 精簡(jiǎn)指令集
指令數(shù)目少,字長(zhǎng)固定,硬布線控制
常見(jiàn):
x86-16,x86-32(IA32),x86-64(x64)
IA64
MIPS,ARM,RISC-V,PowerPC
高級(jí)語(yǔ)言(宏指令)
匯編語(yǔ)言
機(jī)器指令——指令 √
微程序
偽指令
微命令
微操作
完備性,有效性,規(guī)整性,兼容性
指令格式
指令=指令字=包含一條指令的機(jī)器字
操作碼字段OP | 地址碼字段A |
---|
地址碼
三地址指令 A3是結(jié)果地址 通常三個(gè)都是通用寄存器里的地址
OP | A1 | A2 | A3 |
---|
二地址指令(常見(jiàn)) A1既是操作數(shù)又是存放結(jié)果的地址
OP | A1 | A2 |
---|
SS存儲(chǔ)器-存儲(chǔ)器
RS寄存器-存儲(chǔ)器
RR寄存器-寄存器
一地址指令 指定一個(gè)操作數(shù),另一個(gè)隱含,結(jié)果隱含
OP | A1 |
---|
零地址指令 無(wú)需操作數(shù)或隱含在寄存器中,如HALT信號(hào),return,clear
OP | 空 |
---|
為了保證等長(zhǎng),操作碼會(huì)占用消失的地址碼長(zhǎng)度,但實(shí)際上指令也沒(méi)有那么多,高位可能會(huì)占一些無(wú)意義的東西
操作數(shù)類型:
- 地址數(shù)據(jù)
- 數(shù)值數(shù)據(jù)
- 字符數(shù)據(jù)
- 邏輯數(shù)據(jù)
指令字長(zhǎng)度
一個(gè)指令的位數(shù)
單字長(zhǎng)指令:指令字長(zhǎng)度=機(jī)器字長(zhǎng)
半字長(zhǎng)指令
雙字長(zhǎng)指令
多字長(zhǎng)指令
等長(zhǎng)指令字結(jié)構(gòu)(現(xiàn)代多用)
變長(zhǎng)指令字結(jié)構(gòu)
取值-》譯碼-》取操作數(shù)-》執(zhí)行-》存結(jié)果-》下一條指令
典型指令:
數(shù)據(jù)傳送
算術(shù)運(yùn)算
邏輯運(yùn)算
程序控制
輸入輸出
字符串處理
特權(quán)
其他
尋址方式
指令尋址
順序?qū)ぶ?/h5>
程序計(jì)數(shù)器PC累加
跳躍尋址
數(shù)據(jù)尋址
OP | 變址X | 間址I | 形式地址A(偏移量) |
---|
如果無(wú)間址和變址,則形式地址就是有效地址
如果有,需要地址變換,這就是尋址過(guò)程
隱含尋址
隱含了累加器作為目的寄存器
立即尋址
地址字段給的是操作數(shù)本身,立即數(shù)
直接尋址(絕對(duì)尋址)
不需要變換直接尋址
間接尋址
間址I=0 直接尋址
間址I=1 間接尋址 兩次訪存
寄存器尋址
- 寄存器直接尋址
- 寄存器間接尋址 寄存器里的東西不是操作數(shù)而是內(nèi)存地址
偏移尋址
直接尋址+寄存器間接尋址
相對(duì)尋址 PC
基址尋址 基址寄存器
變址尋址 變址寄存器
段尋址
堆棧尋址
寄存器堆棧
存儲(chǔ)器堆棧
中央處理器CPU(central processing unit)
功能:指令控制,操作控制,時(shí)間控制,數(shù)據(jù)加工
包含
- 運(yùn)算器:ALU(Arithmetic Logic Unit)算數(shù)邏輯單元+通用寄存器+數(shù)據(jù)緩沖寄存器DR+程序狀態(tài)字寄存器PSWR
- 控制器:程序計(jì)數(shù)器PC+指令寄存器IR+指令譯碼器+時(shí)序產(chǎn)生器+操作控制器OC
- 外部邏輯功能部件集成:浮點(diǎn)運(yùn)算器,cache,總線仲裁器
cache包括地址寄存器AR,數(shù)存,指存
從cache的指存中取指令(取哪條是從程序計(jì)數(shù)器PC中通過(guò)地址總線ABUS取出指令地址,PC++),送到控制器的指令寄存器IR,指令分為操作碼和地址碼,把操作碼送給指令譯碼器,把地址碼通過(guò)地址總線送給地址寄存器AR,同時(shí)譯碼成功,時(shí)序發(fā)生器和操作控制器產(chǎn)生控制信號(hào),通過(guò)數(shù)據(jù)總線DBUS在cache的數(shù)存中取數(shù)據(jù)放到運(yùn)算器的數(shù)據(jù)打入ALU,ALU計(jì)算出結(jié)果放入數(shù)據(jù)緩沖寄存器,之后送到相應(yīng)的地方,檢測(cè)異常,處理異常,處理中斷,進(jìn)入下一條指令
寄存器:
數(shù)據(jù)緩沖寄存器DR 用來(lái)暫時(shí)存放ALU的運(yùn)算結(jié)果
指令寄存器IR 用來(lái)保存從指存中讀出的數(shù)據(jù)
程序計(jì)數(shù)器PC program counter=指令計(jì)數(shù)器
數(shù)據(jù)地址寄存器AR 保存當(dāng)前訪問(wèn)數(shù)存的地址
通用寄存器 有64個(gè),為ALU提供工作區(qū)
程序狀態(tài)字寄存器PSWR program state word register
操作控制器
硬布線
微程序
指令周期(重點(diǎn))
指令周期由若干機(jī)器周期=CPU周期組成,機(jī)器周期又由時(shí)鐘周期(節(jié)拍)組成
指令周期可能包含取指周期,間址周期,執(zhí)行周期,中斷周期(最全版)
單CPU周期:在一個(gè)時(shí)鐘周期內(nèi)完成指令所有工作
多CPU周期:√
取指,間址,執(zhí)行,中斷
MOV
MOV R0,R1 是RR指令
- 取指需要一個(gè)CPU周期
從指存中取指
PC++
對(duì)指令操作碼進(jìn)行譯碼 - 執(zhí)行需要一個(gè)CPU周期
- 控制信號(hào)控制R1作為源寄存器,R0作為目標(biāo)寄存器
- ALU傳送,計(jì)算
- ALU將結(jié)果輸出到數(shù)據(jù)總線上
- 打入數(shù)據(jù)緩沖寄存器
- DR打入目標(biāo)寄存器R0
LAD
LAD R1,6
RS,三個(gè)CPU周期,一次訪問(wèn)指存,一次訪問(wèn)數(shù)存
ADD
ADD R1,R2
RR 兩個(gè)cpu周期
STO
STO R2,(R3)
RS 三個(gè)CPU周期
JMP
JMP 101
1個(gè)CPU周期
AND
AND R1,R3
用方框圖表示指令周期
操作控制器
有時(shí)鐘,控制單元CU,標(biāo)志,指令寄存器
硬布線
邏輯電路
微程序控制器(重點(diǎn))
微指令:操作控制+順序控制,字長(zhǎng)可為32位
每位代表一個(gè)微命令
微程序控制器:控制存儲(chǔ)器+微指令寄存器(微地址寄存器+微命令寄存器)+地址轉(zhuǎn)移邏輯
好東西
直接表示法
編碼表示法
混合表示法
微地址的形成方式
多路轉(zhuǎn)移方式
計(jì)數(shù)器法方式
微指令格式
水平型微指令
垂直型微指令
流水cpu
并行的三種:時(shí)間、空間、兩個(gè)都(超標(biāo)量流水線)
組成:
指令流水線(指令部件)
指令隊(duì)列
運(yùn)算流水線(執(zhí)行部件)
n條指令需要時(shí)間:t=4+n-1
流水線分類:
算術(shù)流水線
處理機(jī)流水線(宏流水線)
指令流水線
主要問(wèn)題:
資源相關(guān)
數(shù)據(jù)相關(guān):寫后讀,讀后寫,寫后寫
控制相關(guān)
為減小轉(zhuǎn)移指令的影響,常用兩種技術(shù):延遲轉(zhuǎn)移法,轉(zhuǎn)移預(yù)測(cè)法
總線
分時(shí),共享
總線由適配器(接口,adapter)構(gòu)成
常見(jiàn):ISA,EISA,VESA(video electronics standard association),PCI(Peripheral Component Interconnect,“外圍器件互聯(lián)”),PCI-E(pci-express),AGP(Accelerated Graphics Port,圖形加速端口),RS-322,USB(Universal Serial Bus,通用串行總線),SCSI(small computer system interface),SATA(serial advanced technology attachment)
總線功能:傳輸指令,數(shù)據(jù),io操作
接口功能:控制、緩沖、狀態(tài)、轉(zhuǎn)換、整理、程序中斷
分類
片內(nèi)總線(cpu內(nèi))
系統(tǒng)總線(cpu外部,主板內(nèi))
通信總線(io總線)
結(jié)構(gòu)(重點(diǎn))
橋,具有緩沖、轉(zhuǎn)換、控制功能的邏輯電路
地址線、數(shù)據(jù)線、控制線
單總線
一根總線連cpu,內(nèi)存和io設(shè)備
雙總線
cpu和主存專門一套(系統(tǒng)總線)
三總線
在雙總線系統(tǒng)上增加IO總線
cpu總線-北橋-pci總線-南橋-isa總線(比較老舊的版本了,現(xiàn)在也不用了)
傳送方式:
串行(pcie),并行(pci),分時(shí)傳送
性能指標(biāo)
總線寬度:數(shù)據(jù)線的根數(shù)
總線帶寬:數(shù)據(jù)傳輸速率 MBps million Byte per second
時(shí)鐘:同步、異步
總線復(fù)用:地址線與數(shù)據(jù)線是否復(fù)用
信號(hào)線數(shù)
總線控制方式:鏈?zhǔn)?、?jì)數(shù)、獨(dú)立
總線仲裁(重點(diǎn))
集中式仲裁
鏈?zhǔn)讲樵兎椒ǎ壕栈ㄦ湶樵?,?jì)數(shù)器定時(shí)查詢,獨(dú)立請(qǐng)求方式
分布式仲裁
以優(yōu)先級(jí)仲裁策略為基礎(chǔ),多個(gè)仲裁器競(jìng)爭(zhēng)使用總線,獲勝的仲裁號(hào)保留在仲裁總線上
總線定時(shí)
信息傳送過(guò)程分為五個(gè)階段:請(qǐng)求總線,總線仲裁,尋址,信息傳送,狀態(tài)返回
定時(shí):事件出現(xiàn)在總線上的時(shí)序關(guān)系
- 同步定時(shí)
- 異步定時(shí) 典型的是網(wǎng)絡(luò)傳輸 TCP/IP
非互鎖,半互鎖,全互鎖(三次握手,網(wǎng)絡(luò))
總線數(shù)據(jù)傳送模式
- 讀寫操作
- 塊傳送操作
- 寫后讀,讀-修改-寫操作
- 廣播、廣集操作
外圍設(shè)備
磁盤(機(jī)械硬盤)
存儲(chǔ)介質(zhì),驅(qū)動(dòng)裝置,控制電路
磁頭:可移動(dòng)、固定(一個(gè)磁道對(duì)應(yīng)一個(gè)磁頭)
盤片:可換、固定
溫徹斯特盤(溫盤)是一種可移動(dòng)磁頭固定盤片的磁盤機(jī)
盤面(一個(gè)磁盤有兩面),磁道,扇區(qū),柱面,塊block/簇bluster
一個(gè)扇區(qū):頭空+序標(biāo)+數(shù)據(jù)+校驗(yàn)字+尾空、
T=尋道時(shí)間+旋轉(zhuǎn)等待時(shí)間+數(shù)據(jù)傳輸時(shí)間
Ta=Ts+1/2r+b/rN
數(shù)據(jù)傳輸率Dr=旋轉(zhuǎn)速度*磁道容量 (字節(jié)/秒)
地址格式
臺(tái)號(hào) | 柱面號(hào)(磁道號(hào)) | 盤面號(hào)(磁頭號(hào)) | 扇區(qū)號(hào) |
---|
性能指標(biāo)
存儲(chǔ)密度:道密度,位密度,面密度
存儲(chǔ)容量:面密度+記錄面數(shù)
注意:磁盤的單位進(jìn)制是1000而不是2e10
磁盤陣列RAID(redundant arrays of independent disks)
獨(dú)立磁盤冗余陣列
0:數(shù)據(jù)分布在陣列所有的磁盤上,速度快,不安全
1:備份,利用率50%,可靠性高
5:奇偶校驗(yàn)塊分布在各個(gè)盤中
不考的:
2:海明校驗(yàn)法,冗余盤存校驗(yàn)碼
3:奇偶校驗(yàn)盤(一個(gè))
4:奇偶校驗(yàn)盤(一個(gè))
6:冗余分布在所有磁盤上,數(shù)據(jù)以塊交叉方式存放
7:帶cache
光盤和磁光盤
顯示設(shè)備
CRT,LCD,等離子體
輸入輸出系統(tǒng)
統(tǒng)一編址方式,IO獨(dú)立編址方式
IO接口與外設(shè)之間的數(shù)據(jù)傳送方式:
- 無(wú)條件傳送方式
- 應(yīng)答方式(異步傳送方式)網(wǎng)絡(luò)中常見(jiàn)
- 同步傳送方式(和cpu時(shí)鐘周期同步)
cpu與IO接口之間的傳送方式
- 無(wú)條件傳送方式
- 程序查詢方式(輪詢)
- 程序中斷方式
- 直接內(nèi)存訪問(wèn)方式(DMA)
- 通道方式
常用IO標(biāo)準(zhǔn)接口:SCSI,IEEE1394
程序查詢方式
置1或置0,測(cè)試設(shè)備的狀態(tài),傳送數(shù)據(jù)
程序查詢接口:設(shè)備選擇電路,數(shù)據(jù)緩沖寄存器,設(shè)備狀態(tài)標(biāo)志
限制:cpu在查詢時(shí)不能做其他工作&不能實(shí)時(shí)數(shù)據(jù)交換,可能造成丟失
程序中斷方式
外圍設(shè)備主動(dòng)告訴cpu中斷
中斷源:握手聯(lián)絡(luò),故障處理,實(shí)時(shí)處理,程序調(diào)度,軟中斷(打斷點(diǎn))
響應(yīng)中斷時(shí)機(jī):在cpu執(zhí)行當(dāng)前指令完畢后轉(zhuǎn)入公操作
斷點(diǎn)保護(hù)
原子操作:開(kāi)中斷和關(guān)中斷問(wèn)題
單級(jí)中斷:串行排隊(duì)鏈法
多級(jí)中斷:掛起入棧
DMA方式(direct memory access)
通過(guò)硬件實(shí)現(xiàn)主存與IO設(shè)備的直接數(shù)據(jù)傳送,數(shù)據(jù)交換不經(jīng)過(guò)CPU而在內(nèi)存和設(shè)備之間進(jìn)行,不需要保護(hù)現(xiàn)場(chǎng)
需要在主存中有專用緩沖器
在數(shù)據(jù)傳輸前后需要用中斷對(duì)緩沖器和DMA控制器進(jìn)行預(yù)處理和后處理
- 成組連續(xù)傳送方式=cpu暫停方式
- 周期挪用方式(cpu暫停工作一個(gè)周期)
- DMA和cpu交替訪問(wèn)內(nèi)存工作方式
選擇型和多路型DMA控制器
以上三種方法都需要CPU的介入,都需要接口硬件支持文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-482167.html
通道方式
一種特殊的處理機(jī)
選擇通道
多路通道文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482167.html
到了這里,關(guān)于計(jì)算機(jī)組成原理 期末提綱的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!