cpu設計模型機學時市公開課一等獎省賽課獲獎課件_第1頁
cpu設計模型機學時市公開課一等獎省賽課獲獎課件_第2頁
cpu設計模型機學時市公開課一等獎省賽課獲獎課件_第3頁
cpu設計模型機學時市公開課一等獎省賽課獲獎課件_第4頁
cpu設計模型機學時市公開課一等獎省賽課獲獎課件_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第六節模型機設計設計步驟:確定指令系統確定總體結構安排時序確定指令流程和微命令序列。形成控制邏輯格式、尋址方式、指令類型設置存放器、ALU、數據通路設置畫流程圖(存放器傳送級)列操作時間表組:列邏輯式,形成邏輯電路微:按微指令格式編寫微程序周期、定時脈沖設置cpu設計模型機學時第1頁指令系統設計設計模型機總體結構設計組合邏輯控制器設計微程序控制器設計指令格式尋址方式存放器指令類型運算部件數據通路結構時序指令流程與微命令序列控制邏輯時序微指令格式微程序編制cpu設計模型機學時第2頁3.6.1指令系統1.指令格式指令字長16位,采取存放器型尋址,指令中給出存放器號。(主存容量為64K×16位,主存地址16位)cpu設計模型機學時第3頁雙操作數指令格式:4633操作碼

存放器號

尋址方式

存放器號

尋址方式目地址源地址單操作數指令格式:操作碼(可擴展)存放器號尋址方式43333目地址轉移指令格式:151211986543210轉移地址轉移條件操作碼存放器號尋址方式方式N′Z′V′C′cpu設計模型機學時第4頁CPU可編程訪問存放器:尋址方式編碼助記符定義2.尋址方式存放器尋址通用存放器R、指令計數器PC、堆棧指針SP、程序狀態字PSW000RR內容為操作數存放器間址001(R)R內容為操作數地址自減型存放器間址010-(R)-(SP)(R)-1為操作數地址(SP)-1為棧頂地址cpu設計模型機學時第5頁尋址方式編碼助記符定義101(PC)+(R)+d為有效地址(R)為操作數地址,馬上/自增型存放器間址011(R)+訪問后(R)+1(SP)+(SP)為棧頂地址,出棧后(SP)+1(PC)為馬上數地址,取數后(PC)+1變址X(R)X(PC)(PC)+d為有效地址跳步110SKP跳過下條指令執行cpu設計模型機學時第6頁操作碼助記符含義3.指令類型用于數傳、堆棧、I/O操作0000MOV傳送0001ADD加0101EOR異或雙操作數指令0110COM求反1011SR右移單操作數指令1100JMP轉移1100RST返回1101JSR轉子cpu設計模型機學時第7頁00000

543210轉移地址無條件轉JMP寄尋方式N′Z′V′C′00001

無進位轉(C=0)00010

無溢出轉(V=0)00100

數非零轉(Z=0)0

1000

數為正轉(N=0)1000

1

有進位轉(C=1)1

001

0

有溢出轉(V=1)101

00

數為零轉(Z=1)1

1

000

數為負轉(N=1)條件滿足,轉轉移地址;條件不滿足,次序執行。cpu設計模型機學時第8頁隱含約定:轉子時返回地址壓棧保留程序入口

RST

SP

(SP)+

JSR寄尋方式N′Z′V′C′5432103.6.2CPU總體結構1.存放器設置(1)可編程存放器(16位)通用存放器:R0(000)、R1(001)R2(010)、R3(011)cpu設計模型機學時第9頁允許中止(開中止)

(可擴展)INZVC43210暫存器C(2)非編程存放器(16位)堆棧指針:SP(100)指令計數器:PC(111)程序狀態字:PSW(101):暫存來自主存源地址或源數據。暫存器D:暫存來自主存目標地址或目標數。指令存放器IR地址存放器MAR數據存放器MDR:存放現行指令。實現CPU與主存接口cpu設計模型機學時第10頁SN741814片SN741821片2.算邏部件設置ALU選擇數據起源選擇器A選擇器B移位器:實現直送、左移、右移、字節交換3.數據通路結構為了使數據傳送控制簡單、集中,采取以ALU為中心總線結構。(1)組成包含四個部分:ALU部件、存放器組、內總線、CPU與系統總線連接(16位)cpu設計模型機學時第11頁R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯(2)特點ALU為內部數據傳送通路中心;存放器采取內總線采取單向數據總線(16位);分立結構;cpu設計模型機學時第12頁與系統總線連接經過MAR、MDR實現。MDR輸入輸出至DB輸出至ALUB門輸出從內總線輸入從DB輸入(打入)(置入)R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第13頁4.各類信息傳送路徑M(1)指令信息置入DBIR(2)地址信息R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第14頁1)指令地址2)指令地址加1PC打入AALU移內MARPCAALU移內PCC0打入R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第15頁3)轉移地址存放器尋址:R0打入BALU移內PC存放器間址:R0打入BALU移內MARABMDB置入MDRB移、內PCALUR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第16頁4)操作數地址存放器間址:R0打入BALU移內MARR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第17頁變址:R0PCAALU移內MARABMDB移內CMMDRBALUALUCAB移內MARR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第18頁(3)數據信息1)RR:R0打入BALU移內R1DBMDBMDRB移、內R2ALU2)RM:R0打入BALU內MDR3)MR:MR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第19頁4)MM:M(源)R0MDRDB內I/OALU5)RI/O:打入DBMDR內CALU(計算目地址)DBMCALU內MDR(目)R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第20頁DBDBDMA方式:I/O6)I/OR打入I/OMDR內R0ALU7)I/OMMR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第21頁5.微命令設置(1)數據通路操作:ALU功效選擇:ALU輸入選擇:輸出移位選擇:結果分配:R0A、R0B、S3S2S1S0、M、C0不移、左移、CPR0、CPC、CPMAR、R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第22頁(2)訪M、I/O操作:讀R地址使能EMAR寫W置入MDRSMDR,1MAR向AB送地址000MDR與DB斷開,MAR與AB斷開R=1讀W=1寫置入IRSIRR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內總線CR3DMARMDRIRPCSPPSWABDB控制邏輯cpu設計模型機學時第23頁3.6.3組合邏輯控制器設計1.時序系統(1)工作周期取指周期FT用于指令正常執行設置6個觸發器分別作為各周期狀態標志源周期ST目周期DT執行周期ET中止周期ITDMA周期DMAT用于I/O傳送控制1工作周期開始0工作周期結束在整個指令周期中,任何時候必須、且只能有一個工作周期狀態標志為“1”。cpu設計模型機學時第24頁1)取指周期FT從M取出指令并譯碼;公操作修改PC。3)目周期DT4)執行周期ET取指結束時,按操作碼和尋址方式(R/非R尋址)轉對應工作周期。按尋址方式(非R尋址)形成源地址,從M取出源操作數,暫存于C。2)源周期ST按尋址方式(非R尋址)形成目地址,或從M取出目操作數,暫存于D。按操作碼完成對應操作(傳送、運算、取轉移地址送入PC、返回地址壓棧保留);后續指令地址送入MAR。cpu設計模型機學時第25頁5)中止周期IT關中止、保留斷點和PSW、轉服務程序入口。由硬件完成1)時鐘周期時間:IT指CPU響應中止請求后,到執行中止服務程序前。6)DMA周期DMAT一次從M讀出,并經數據通路傳送操作;或一次數據通路傳送操作;或一次向M寫入操作DMAT指CPU響應DMA請求后,到傳送完一次數據。DMA控制器接管總線權,控制直傳。(2)時鐘周期(節拍)T1微秒完成一步操作:模型機以訪存時間作為一步操作時間。一個總線周期等于一個時鐘周期,可依據需要擴展。由硬件完成cpu設計模型機學時第26頁2)時鐘周期數:每個工作周期第一拍T=0,每開始一個新節拍T計數,工作周期結束時T清0。一個工作周期中時鐘數可變。用計數器T控制節拍數每個時鐘結束時設置一個脈沖。(3)工作脈沖P1μSTP打入存放器進行時序轉換(周期狀態設置/去除時鐘T計數/去除)將計數值譯碼,可產生節拍電位。cpu設計模型機學時第27頁2.控制流程(工作周期轉換)FT雙單轉SRSTDRDTETDMATDMA請求?中止請求?ITSRDRYNYNcpu設計模型機學時第28頁3.指令流程圖與操作時間表(1)取指周期FT確定指令流程:初始化時置入FT,確定各工作周期中每拍完成詳細操作(存放器傳送級)。列操作時間表:列出每一步操作所需微命令及產生條件。1)進入FT方式FTSRDCQQ總清1程序正常運行時同時打入FT。1FTCPFTcpu設計模型機學時第29頁2)流程圖1STFT0:PC+1PCMIR3)操作時間表FT0:電位型微命令脈沖型微命令MIREMAR,R,SIRPC+1PCPCA,A+1,DMCPPC1DT1ET或或CPFT(P)CPST(P)CPDT(P)CPET(P)CPT(P)工作周期中,每拍結束時發CPT;工作周期結束時,5個時序打入命令都發。轉換cpu設計模型機學時第30頁(2)傳送指令FT0:PC+1PCMIR,1)流程圖例1:MOVR0,R1;源數ET0:R1R0PCMARET1:例2:MOV(R0),(R1);FT0:MIR,PC+1PCST0:R1MARST1:MMDRCDT0:R0MAR目地址ET0:CMDRET1:MDRMET2:PCMAR例3:MOVX(R0),X(R1);FT0:MIRPC+1PCcpu設計模型機學時第31頁形地取源操作數,暫存于C,需5步。PC+1PCST0:PCMARDT1:MMDRCDT0:CMDR源數ET0:C+R1MARET1:MDRMET2:PCMARPC+1PC例3:MOVX(R0),X(R1);FT0:MIRMMDRCST1:ST2:ST3:ST4:PCMARMMDRD形地PC+1PCDT2:DT3:D+R0MAR目地址取目地址,暫存于MAR,需4步。源數送存放器,需3步。cpu設計模型機學時第32頁FT0:MIR2)操作時間表例:MOV(R1),(SP)+;SPMARMMDRCPC+1PCCPPCST0:SP+1SPEMARRSMDRMDRB輸出BDMCPCSPAA+1DMCPSPEMARPCAA+1RSIRDM1STCPFT(P)CPET(P)CPT(P)DMCPMAR輸出ASPAT+1CPT(P)T+1CPT(P)ST1:ST2:1DTCPFT(P)CPET(P)CPT(P)cpu設計模型機學時第33頁ET1:MDRMPCMARET2:EMARWT+1CPT(P)DMCPMAR輸出APCA1FTCPFT(P)CPET(P)CPT(P)DT0:R1MARDMCPMAR輸出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMDRCB輸出BDMCPMDRCPT(P)cpu設計模型機學時第34頁(3)雙操作數指令取目數,暫存于D。例:ADDX(R1),(PC)+;FT0:MIR,PC+1PC馬上數ST0:PCMARST1:MMDRCST2:PC+1PCDT0:PCMARDT1:MMDRDDT2:PC+1PC形式地址DT3:D+R1MARDT4:MMDRD目數ET0:C+DMDRET1:MDRMET2:PCMARcpu設計模型機學時第35頁(4)單操作數指令FT0:MIR,例:COM-(R0);DT0:R0-1R0、MARDT1:MMDRDET0:ET1:MDRMET2:PCMARPC+1PCDMDR(5)轉移-返回指令無條件轉移SKPR(R)(R)+按R指示從M取轉移地址,修改R。(SP)+X(PC)執行再下條指令。從R取轉移地址。按R指示從M取轉移地址。從堆棧取返回地址,修改SP。以PC內容為基準轉移。(RST)cpu設計模型機學時第36頁FT0:MIR,例1:JMPR0;SP+1SP、MARMMDRPCET0:ET1:SPMARET2:R0PCPC+1PC無條件轉子:R(R)(R)+(SP)+(PC)+入口在R中例2:RST(SP)+;FT0:MIR,PC+1PCET0:、MAR例3:JMPX(PC);FT0:MIR,PC+1PCET0:PCMARET1:MMDRC位移量ET2:PC+CPC、MAR(5)轉子指令入口在M中入口在堆棧中cpu設計模型機學時第37頁SP-1SPMDRMST1:PCMDR歸納微命令,綜合化簡條件,用組合邏輯電路實現。讀令R=在ST形成子程序入口;在ET保留返回地址,并轉子程序入口。ST0:、MAR例:JSR(R2);FT0:MIR,PC+1PCET0:R2MARET1:MMDRC子程序入口CPC、MAR返回地址壓棧ET2:ET3:4.控制邏輯例:FT0+MOV(ST1+ST4+……)CPPC=FT0+……P+MOV(ST2+DT2)XP+……cpu設計模型機學時第38頁同時控制,用統一微指令周期控制各條微指令執行。P3.6.4微程序控制器設計微指令周期微指令打入μIR二級時序:控制數據通路操作結果打入目地,讀取后續微指令后續微地址打入μAR時鐘周期1.時序系統cpu設計模型機學時第39頁2.微指令編碼方法(1)直接控制法例.某微指令微命令按位給出。不需譯碼,產生微命令速度快;信息表示效率低。C0RW111C0=0進位初值為01進位初值為1R=0不讀1讀0不寫1寫W=微指令中通常只有個別位采取直接控制法。cpu設計模型機學時第40頁(2)分段直接編譯法例.對加法器輸入端進行控制。微命令由字段編碼直接給出。000不發命令微指令中設置AI字段,控制加法器輸入選擇。加法器ABR、CD、ER、CD、FAI3010CA100FB…001RA010CA011DB011DB?微命令分組標準:同類操作中互斥微命令放同一字段。不能同時出現CDcpu設計模型機學時第41頁操作唯一;加法器A輸入端控制命令放AI字段,B輸入端控制命令放BI字段。加法器ABR、CD、ER、CD、F000不發命令010CA100EA001RA011DACDAIBI33010CA000不發命令010CB100FB001RB011DB011DBAI:BI:一條微指令能同時提供若干微命令,便于組織各種操作。編碼較簡單;cpu設計模型機學時第42頁(3)分段間接編譯法例.微命令由本字段編碼和其它字段解釋共同給出。C=CA1)設置解釋位或解釋字段解釋位1A為某類命令0A為常數2)分類編譯按功效類型將微指令分類,分別安排各類微指令格式和字段編碼,并設置區分標志。cpu設計模型機學時第43頁(4)其它編碼方法1)微指令譯碼與機器指令譯碼復合控制例.機器指令

存放器號

存放器傳A微指令譯碼器譯碼器001RAR1A門cpu設計模型機學時第44頁例.2)微地址參加解釋004微地址指令操作碼(1)微程序入口地址形成微指令取指標志變址標志0113.微地址形成方式微程序入口功效轉移1)一級功效轉移各操作碼位置、位數固定,一次轉換成功。入口地址=頁號,操作碼cpu設計模型機學時第45頁例.機器指令10F(8位)入口地址=000FHCM機器指令210(8位)入口地址=0010H000F0010無條件轉微地址1微地址1微程序1無條件轉微地址2微地址2微程序2功效轉移功效轉移0頁cpu設計模型機學時第46頁2)二級功效轉移各類指令操作碼位置、位數不固定,分類轉:需兩次轉換。指令類型標志區分指令類型功效轉:指令操作碼區分操作類型cpu設計模型機學時第47頁3)用可編程邏輯陣列PLA實現功效轉移入口地址1PLAIR入口地址2(2)后續微地址形成1)增量方式以次序執行為主,輔以各種常規轉移方式。cpu設計模型機學時第48頁次序:現行微地址+1。跳步:現行微地址+2。無條件轉移:現行微指令給出轉移微地址。CMAA+1A+2BB條件轉移:現行微指令給出轉移微地址和轉移條件。B轉移條件CC(條件滿足)(條件不滿足)轉微子程序:現行微指令給出微子程序入口。轉移條件CDD微子程序返回微主程序:現行微指令給出存放器號。A+1RRcpu設計模型機學時第49頁微指令給定后續微地址高位部分2)斷定方式由直接給定和測試斷定相結合形成微地址。給定部分斷定條件指明后續微地址低位部分形成方式例.微指令D(給定)A(條件)2位位數可變微地址10位,約定:A=0110微地址低4位為操作碼,D給定高位;微地址低3位為機器指令目尋址方式微地址低3位為機器指令源尋址方式6711編碼,D給定高位;編碼,D給定高位。716路分支8路分支8路分支cpu設計模型機學時第50頁4.模型機微指令格式按數據通路各段操作劃分字段,同類操作中互斥微命令放同一字段。(1)格式數據通路操作輔助操作AIBISMC0SZOEMARRWSTSC33522311124次序控制訪存操作(2)各字段功效1)數據通路操作AI:A輸入選擇000無輸入001

RiA010

CA011

DA100

PCAR0~R3、SP、PCcpu設計模型機學時第51頁AIBISMC0SZOEMARRWSTSC33522311124BI:B輸入選擇000無輸入001

RiB010

CB011

DB100

MDRBSM:ALU功效選擇S3S2S1S0M

C0:初始進位選擇S:移位選擇ZO:結果分配001

CPRiR0~R3、PSWR0~R3、SP、PC、PSW2)訪存操作EMAR、R、W

3)輔助操作00無操作01開中止10關中止11

SIR

cpu設計模型機學時第52頁AIBISMC0SZOEMARRWSTSC335223111244)次序控制增量斷定0000次序執行9種

指明微地址形成方式SC:0001無條件轉移0010按操作碼分支0111轉微子程序1000返回微主程序增量

斷定

增量

5.微程序編制(1)編寫次序cpu設計模型機學時第53頁按指令執行次序編寫:取機器指令SC=0000功效轉移執行按操作碼編碼次序,逐層分類編寫:MOV指令、雙操作數指令、單操作數指令、轉移指令(2)實現分支將同類斷定依據所對應微地址放在對應微地址形成表中,用SC字段選取。(見教材P161~P163)次序執行現行微地址+1SC=0001無條件轉現行微指令給出轉移微地址SC=0111轉微子程序現行微指令給出微子程序入口SC=1000返回微主程序從存放器取返回微地址cpu設計模型機學時第54頁微地址形成表:SC=0010按操作碼分支(4路)表內單元地址SC=0011(斷定依據):MOV執行要求操作后轉取指入口雙單元內容(微地址)單JMP/JSR03H取源數、目地0CH取源數、目數24H取目數按J、PC分支3FH按操作碼DR分支(24路)進入執行DRMOV06HDRMOV0AH雙單3DHcpu設計模型機學時第55頁SC=0100SC=01101)取指微指令代真從60H開始按J、PC分支(4路)40H46H次序/轉移地址PCSC=0101按源尋址方式分支(7路)4DH5EH按目尋址方式分支(3)微指令實例AIBISMC0SZOEMARRWSTSC33522311124MIR:微地址00000000000000000000110110000cpu設計模型機學時第56頁AIBISMC0SZOEMARRWSTSC3352231112400微地址01100000100100100111000000000PC+1PC:按操作碼分支:微地址020000000000000000000000000102)機器指令微程序實現例:MOVR1,(R0);按流程寫出微地址0102034C4E4F

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論