版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
建構(gòu)Beta計算機(jī)
6.004-Fall200210/29/0L15-BuildingaBeta1
中央處理單元的設(shè)計取舍
最大效能:以每秒可執(zhí)行的指令數(shù)來衡量
最小成本:以電路的大小來衡量
最佳效能/價錢:以MIPS(每秒百萬指令)與大小的來比例來衡量.
在重視能量消耗的應(yīng)用中,MIPS/瓦特也很重要.
6.004-Fall200210/29/0L15-BuildingaBeta2
效能之量測
每秒百萬指令
時脈頻率(百萬赫)
ClockFrequency(MHz)
MIPS=
C.P.L
每指令所需時脈數(shù)
推進(jìn)效能…
今天:1時脈/指令
下次:以管路技術(shù)來達(dá)成更多百萬赫
下下次:修正不同的管路技術(shù)問題
6.004-Fall200210/29/0L15-BuildingaBeta3
Beta指令集
操作類別:Reg[Rc]<-Reg[Ra]opReg[Rb]
11xxxx|RcIRa]rteraiC(signed;以操作碼區(qū)分的指令類
另小
操作類別:Reg[Rc]-Reg[Ra]opSXT(C)
兩種格式共享的操作碼(OPCODE):OP
ADDSUBMUL*DIV*"optionalOPC
CMPEQCMPLECMPLT
ANDORXORMEM
SHLSHRSRATransferofControl
31xxxx|RcRaiteraiC(signed)
LD:RegNc]-Ver[Reg[Ra]*SXT(C)]
ST:MeT[Reg[Ra]+SXT(C?—Reg(Rc]
Reg(Rc]—PCM;PC4-Reg[Ra:
BEQ:Reg[Rc]—PC+4;if司T:nenPC—PCWSXT(C)
BNEReg(^cj4-PC+4;-RegfRaW)tnenPC-nc+4WSXT《C)
LOR:^eg[Rc]1Vem(PC+4+4'SXT(C)]
O.UUH--ran乙uu/Iu/“/uLIO—ouiiuiiiyaoeia4
達(dá)成方法:累進(jìn)功能法
每個指令是由一個簡單的功能組件成來達(dá)成的.我們將試著實(shí)現(xiàn)各個指令類別
的數(shù)據(jù)路徑,然后再將它們合并(使用解多任務(wù)器等).
步驟:我們的組件百寶袋:
1.操作類指令bI緩存器匹
2.存取類指令
3.跳躍與分流類指令、口解多任務(wù)器
4.例外
父三7“黑盒子”運(yùn)算邏輯單元
5.合并數(shù)據(jù)路徑
RA1RA2
WA
Register
inctruoUon
;eMemory
(3-port)D
RD2內(nèi)存
6.004-Fall200210/29/0L15-BuildingaBeta5
多端口緩存器檔案
6.004-Fall200210/29/0L15-BuildingaBeta6
緩存器檔案之時序
兩組組合邏輯式讀取端口,一組時脈控制式寫入埠
WE__________________L___3______
)000播XX施必XXX二DWWX
WDXXXXXXXXXXXX施政CMD000綸XXXX
%
如果(舉例來說)WA=RA1,將會如何???
RD1會讀取“舊的"Reg[RA1]之值,一直到下一個時脈邊緣為止!
6.004-Fall200210/29/0L15-BuildingaBeta7
起始點(diǎn):ALU操作
32?位(4-字節(jié))ADD指令:
1oooodooi0王001d0001dooooooooooa
OpCodeRcRa◎(unused)
對BETA而言,表示Reg[R4]—Reg[R2]+Reg[R3]
首先,硬件必需能夠:
?讀取下一個32?位指令
?指令譯碼(DECODE):ADD,SUB,XOR,等等
?從緩存器檔案進(jìn)行讀取(READ)(Ra,Rb)之操作;
?執(zhí)行(PERFORM)指定的操作;
?將結(jié)果寫回(WRITE)緩存器檔案(Rc).
6.004-Fall200210/29/0L15-BuildingaBeta8
指令取得/譯碼
?使用計數(shù)器來取得(FETCH)下一個指令:
程序計數(shù)器(PC)
?使用PC來當(dāng)作內(nèi)存地址
?力口4到PC,然后在時脈結(jié)束時加載新的值
?從內(nèi)存取得指令
o直接使用某些指令字段(緩存器編號,
16■位之常數(shù))
o使用<31:26>位來產(chǎn)生控制訊號
INSTRUCTION
WORD
FIELDS
CONTROLSIGNALS
6.004-F;L15-BuildingaBeta9
ALU操作之?dāng)?shù)據(jù)路徑
6.0..daBeta10
ALU操作(常數(shù)存在時)
6.004-Fall200210/29/0L15-BuildingaBeta11
“加載'指令
6.004-Fall200210/29/0L15-BuildingaBeta12
“儲存”指令
6.004-Fall200210/29/0L15-BuildingaBeta13
“跳躍”(JMP)指令
6.004-Fall200210/29/0L15-BuildingaBeta14
BEQ/BNE(當(dāng)相等/不等時,則跳躍)指令
6.004-Fall200210/29/0L15-BuildingaBeta15
“加載相對地址”指令
rteraiC(sigred;
LDR:Reg[Rc]-Mem[PC+4+4*SXT(C)]
等等,“加載相對地址”指令有什么好處呢???我認(rèn)為
?程序代碼是單純的,舉例來說,它們是只讀的,并且存在一個“程序”內(nèi)存區(qū);
?但數(shù)據(jù)是可讀/寫的,而使用以下方法之一來儲存
?存在堆棧(STACK)中(內(nèi)部);或
?在某些外部變數(shù)中;或,______________
?存在一個外部的儲存堆棧(HEAP)./c:x=x?i:
所以,為什么一個指令要設(shè)計成可以加載“靠近”這個血wxO)
指令的數(shù)據(jù)呢???LDR(clr:
LDR(clzrrl)
當(dāng)數(shù)據(jù)是“地址“及“其它較大的常數(shù)”時MULCxO,xl,xO)
ST(xOzX)
6.004-Fall200210/29/0L15-BuildingaBeta16
“加載相對地址”(LDR)指令
RcliteralC(signed)
ICR—Mcm[R:444.4e6XT(C)]
Incruoton
Memory
向LDR:Reg[Rc]—Mem[PC+4+4*SXT(C)]
?)<15:1產(chǎn)廠、Rc:<2S21>
4:【一
Register
ControlLogic
Epc
RA
EA二
B
itvAu
m,
m
<E
6.004-Fall200210/29/0L15-BuildingaBeta17
例外處理
計劃::
?中斷正在執(zhí)行的程序
?呼叫例外處理(像是一個過程調(diào)用)
?返回并繼續(xù)執(zhí)行.
我們希望有可修復(fù)的中斷以達(dá)成
?由中央處理器(CPU)或系統(tǒng)產(chǎn)生的同步化事件
錯誤(例如,不合法的指令,除數(shù)為0,不合法的內(nèi)存地址)
捕捉及系統(tǒng)呼叫(例如,從外圍讀取一個字符)
?由I/O所產(chǎn)生的異步化事件
(例如,鍵盤鍵入,收到封包,磁盤傳輸完成)
關(guān)鍵:對于被中斷程序的透明度.
?這對異步化中斷是最難的
6.004-Fall200210/29/0L15-BuildingaBeta18
實(shí)施方法…
例外如何運(yùn)作:
?不要執(zhí)行現(xiàn)在的指令
-取而代之的,假裝有一個“強(qiáng)制”的過程調(diào)用
?儲存現(xiàn)在的程序計數(shù)(PC)(事實(shí)上是現(xiàn)在的PC+4)
?用例外向量載入PC
?同步化例外是0x4,異步化例外是0x8
問題:要把現(xiàn)在的PC+4存到哪呢?
?我們的方法:保留一個緩存器(R30,也稱XP)
?禁止使用者程序使用XP.為什么?
例子:DIV指令并未實(shí)施不合法的操作:
PUSH(XP)
取得指令于Mem[Reg[XP]-4]
LD(R31,A,R0)檢查DIV操作碼,找到緩存器號碼
LD(R31,B,R1)用軟件來執(zhí)行這個操作,填入結(jié)果緩存器
DIV(R0,R1,R2)
POP(XP)
ST(R2,C,R31)
JMP(XP)
6.004-Fall200210/29/0L15-BuildingaBeta19
例外
BadOpcode:Reg[XP]-PC+4;PC-“川Op”
Other:Reg[XP]-PC+4;PC-“Xadr”
intirucftcn
(30
—
X
u
H
力
幺
/
力
?;
6.004-Fall200210/29/0L15-BuildingaBeta20
控制邏輯
*Or
39今%3
ALUFNF(op)F(op)y———*——
WERF1110111i11
ffSEL0111——————
WbSEL112—000200
WR0001000000
RA25EL0—1——————
PC5EL00002Z?1:0Z?0:1034
ASEL0000——
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 患者分級護(hù)理制度
- 建材客戶歸屬判定制度
- 幼兒園消防安全動火作業(yè)制度
- 西安財經(jīng)大學(xué)《譯學(xué)研究前沿》2023-2024學(xué)年第二學(xué)期期末試卷
- 華北科技學(xué)院《三維造型設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林體育學(xué)院《知識產(chǎn)權(quán)法經(jīng)典著作選讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江師范大學(xué)行知學(xué)院《管理學(xué)原理與方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘肅農(nóng)業(yè)大學(xué)《動畫原畫創(chuàng)作與角色設(shè)定》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建船政交通職業(yè)學(xué)院《分子生物學(xué)(Ⅰ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 滄州幼兒師范高等??茖W(xué)?!睹窈桨踩到y(tǒng)工程含實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 【高一】【秋季上】【期中】家長會《揚(yáng)帆啟航共育未來》【課件】
- 江蘇省專升本2025年食品科學(xué)與工程食品化學(xué)測試試卷(含答案)
- 產(chǎn)品設(shè)計規(guī)格書編制模板
- 《零碳校園評價方法》
- 急診PDCA課件教學(xué)課件
- 2025-2030手術(shù)機(jī)器人醫(yī)生培訓(xùn)體系構(gòu)建與醫(yī)院采購決策影響因素報告
- 呼倫貝爾市縣域經(jīng)濟(jì)發(fā)展的困境與突破路徑研究
- 中遠(yuǎn)海運(yùn)博鰲有限公司東嶼島旅游度假區(qū)招聘筆試題庫2025
- 2025年本科院校圖書館招聘面試題
- 2025-2026學(xué)年人教版(2024)初中生物八年級上冊教學(xué)計劃及進(jìn)度表
- 項(xiàng)目物資退庫管理辦法
評論
0/150
提交評論