日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

《计算机组成原理》课程设计报告——TEC-2实验系统——微程序设计

發(fā)布時(shí)間:2024/10/5 windows 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《计算机组成原理》课程设计报告——TEC-2实验系统——微程序设计 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

課程設(shè)計(jì)任務(wù)書:《計(jì)算機(jī)組成原理》課程設(shè)計(jì)任務(wù)書——TEC-2實(shí)驗(yàn)系統(tǒng)——微程序設(shè)計(jì)

一、目的和要求

深入了解計(jì)算機(jī)各種指令的執(zhí)行過程,以及控制器的組成,指令系統(tǒng)微程序設(shè)計(jì)的具體知識(shí),進(jìn)一步理解和掌握動(dòng)態(tài)微程序設(shè)計(jì)的概念;完成微程序控制的特定功能計(jì)算機(jī)的指令系統(tǒng)設(shè)計(jì)和調(diào)試。

二、實(shí)驗(yàn)環(huán)境

1.??? TEC-2機(jī)一臺(tái)

2.??? 電腦一臺(tái)

3.??? TEC-2模擬軟件一套

三、具體內(nèi)容

1、分析TEC-2機(jī)的功能部件組成,分析TEC-2機(jī)支持的指令格式等。

1.TEC-2機(jī)的控制器部件的組成

TEC2機(jī)控制器部件的關(guān)鍵內(nèi)容包括:

(1)由7片S6116隨機(jī)讀寫存儲(chǔ)器芯片組成的56位字長的徽程序控制存儲(chǔ)器,用于存放TEC-2機(jī)的微程序。其內(nèi)容在剛加電時(shí)不定,加電后將首先從2片ROM(LS2716芯片)中讀出固化的、用于實(shí)現(xiàn)53條機(jī)器指令的做程序,經(jīng)組織后寫入這一控制存器,這一過程稱為裝入微碼。裝入完成后,將從監(jiān)控程序的零地扯執(zhí)行指令,完成TEC-2機(jī)的啟動(dòng)過程。這之后,還可以用LDMC指令按規(guī)定的辦法向控制存?zhèn)`器寫入新的微程序,以實(shí)現(xiàn)新的機(jī)器指令。從簡化邏輯框圖上可以看到,控制存儲(chǔ)器的地址為μRA9~O,讀出的信息送微指令流水線寄存器PLR。

(2)做指令寄存器PLR由7片8位的寄存器芯片(6片LS374和1片LS273)組成,用于存放當(dāng)前做指令的內(nèi)容,更具體的說明將在后面給出。

(3)微程序定序器AM2910芯片(其內(nèi)部結(jié)構(gòu)、引腳信號(hào)和運(yùn)行原理等稍候詳細(xì)說明),是做程序控制器中非常關(guān)鍵、也是稍微難懂一點(diǎn)的部分。在學(xué)習(xí)中要正確理解。它的核心功能是依據(jù)機(jī)器的運(yùn)行狀態(tài)與當(dāng)前微指令的有關(guān)內(nèi)容等,正確地形成下一條微指令的地址,以保證微程序按要求的微指令序列關(guān)系自動(dòng)地逐條銜接執(zhí)行。

(4)程序計(jì)數(shù)器PC和當(dāng)前指令地址寄存器IP,是用運(yùn)算器通用寄存器組中的兩個(gè)選定的寄存器R5和R6實(shí)現(xiàn)的,這在圖上見不到。

(5)指令寄存器IR,用于存放當(dāng)前正在執(zhí)行的指令內(nèi)容。

(6)為AM2910提供輸入地址信號(hào)的配套線路,包括

①由兩片S2716ROM芯片組成的MAPROM,它變指令寄存器中的操作碼轉(zhuǎn)換成一段微程序的入口地;

②由片S125和1片S244組成的接收內(nèi)部總線的IB9~O信號(hào)的選擇門電路,它把由水平板上的開關(guān)提供的微指令地址送AM2910的地址輸入端;

③由1片LS125和微指令寄存器的PLR55~48組成的一組地址輸入,把當(dāng)前微指令中的后續(xù)地址B55~46送入AM2910的地址輸入端:請注意,1片LS125(共4位獨(dú)立的輸入和輸出端)分成兩組(每組兩位)分別用于②和③兩項(xiàng)用途。

這三組信號(hào)均為10位寬,且為互斥關(guān)系,分別由AM2910芯片提供的3個(gè)互斥控制信號(hào)/MAP、/VECT和/PL加以選通。

(7)由AM2910芯片的10位地址輸出信號(hào)驅(qū)動(dòng)的配套電路,包括

①由一片LSI75和一片LS374寄存器組構(gòu)成的記億電路,用于保存當(dāng)前微指令的地址,其輸出僅送往顯示燈部分,以顯示當(dāng)前微指令的地址

②由3片LS257(四位的二選一電路)芯片構(gòu)成的微控存的地址選擇形成電路,它實(shí)現(xiàn)在AM2910的10位輸出地址與存儲(chǔ)器地址寄存器的低10位地址之間的選擇,結(jié)果送往微控存的地址輸入端,用于完成微控存單元的讀寫操作;選擇信號(hào)是Smux。

③與此有關(guān)的還有3片計(jì)數(shù)器芯片1s161組成的地址計(jì)數(shù)器電路,其輸出(共10位)通過兩片LS244與剛提到的3片LS257的10位輸出形成“線或"關(guān)系,用計(jì)數(shù)器的一個(gè)輸出端Y11實(shí)現(xiàn)二者之間的選擇,Y11為0時(shí),pRA9pRAO是計(jì)數(shù)器的輸出信號(hào),提供完成裝入微碼過程的微控存的地址,Y11為1時(shí),表明裝入微碼的過程已結(jié)束,微控存的地址uRA9uRA0為3片LS257的輸出信號(hào),以完成機(jī)器指令運(yùn)行過程中的微控存的讀、寫(寫僅用于LDMC指令)操作。

(8)由2片LS2716ROM芯片組成的、固化的微碼保存電路及讀寫控制電路。這是為機(jī)器加電后完成裝入微碼所配備的專用線路,除2片LにS2716外,還有前邊提到的3片LS161芯片(計(jì)數(shù)器),1片LS61芯片,2片LS244、1片Gal20v8、1片LS74、1片LS23和1片LS00.其連接關(guān)系在邏輯線路圖(二)的右下部分。

2、TEC-2機(jī)支持的指令格式

TEC-2機(jī)指令系統(tǒng),采用6位操作碼,故最多支持64條基本指令,其中53條指令已由設(shè)計(jì)者實(shí)現(xiàn),微程序固化在ROM芯片中,其余11條留給實(shí)驗(yàn)人員執(zhí)行實(shí)現(xiàn)。

TEC-2機(jī)的基本指令格式比較固定。從指令長度區(qū)分,有單字指令和雙字指令,用戶也可以實(shí)現(xiàn)三字指令;從操作數(shù)的個(gè)數(shù)區(qū)分,有無操作數(shù)指令、單操作數(shù)指令和雙操作數(shù)指令;從支持的基本尋址方式區(qū)分,有寄存器尋址、寄存器間接尋址、立即數(shù)尋址、變址尋址、相對尋址、絕對尋址和堆棧尋址等方式;從指令功能上看,最常用的指令類型和運(yùn)算是比較齊全的。

為了方便理解和記憶,把TEC-2機(jī)的指令格式歸納為如下形式:

單字指令僅用一個(gè)指令字。

雙字指令用兩個(gè)指令字,此時(shí)第二個(gè)指令字的內(nèi)容可能是立即數(shù)、一個(gè)絕對地址或一個(gè)變址位移量。

第一個(gè)指令字分為三個(gè)主要部分。

最高6位是操作碼。從這個(gè)意義上講,TEC-2機(jī)的基本指令是固定長度的操作碼結(jié)構(gòu)。最多支持64條基本指令。

中間的兩位,即9、8兩位是條件碼,只能把他用作條件轉(zhuǎn)移指令的判斷條件。這兩位的值為00、01、10和11時(shí),分別選擇以處理機(jī)狀態(tài)字中的C、Z、V和S的值作為判斷條件。從這個(gè)意義上講,我們也可以認(rèn)為這兩位是指令的擴(kuò)展操作碼。由于除了條件轉(zhuǎn)移指令之外,其余的指令均不使用這兩位,故我們可以用這兩位擴(kuò)展新的指令,而不會(huì)影響原來的指令功能。

最低的8位有多種用法:

(1)這8位用于給出入/出指令的入/出端口地址。例如,已規(guī)定第一個(gè)串行口地址為80h和81h,第二個(gè)串行口地址為82h和83h。并行口、DMA口等都可以被分配幾個(gè)合理的地址,以實(shí)現(xiàn)入/出接口的各種實(shí)驗(yàn)。

(2)這8位用于給出相對尋址的位移量,其范圍是從-128到+127之間,因此相對地址應(yīng)在當(dāng)前指令地址向前向后總共256個(gè)字的范圍之內(nèi)。實(shí)現(xiàn)相對地址計(jì)算時(shí),這個(gè)位移量的最高位用符號(hào)位,補(bǔ)碼形式,與16位的當(dāng)前指令地址(放在IP寄存器中,即增量前的PC值)相加時(shí),這一符號(hào)位要擴(kuò)展到15~8這高8位上去。

(3)這8位被分為兩個(gè)4位的字段,用于給出的所用的通用寄存器編號(hào)。對雙操作數(shù)指令,這里可是給出目的與源兩個(gè)操作數(shù)所在的寄存器編號(hào)。對單操作數(shù)指令,只用源或目的中的一個(gè)操作數(shù),此時(shí),可能用到某一個(gè)4位字段,另一個(gè)4位字段不用。需要強(qiáng)調(diào)的一點(diǎn)是,寄存器用于給出操作數(shù)、操作數(shù)地址,或用作變址寄存器。

2、使用TEC-2仿真軟件進(jìn)行微指令級(jí)的設(shè)計(jì)和調(diào)試,完成微程序控制的特定功能計(jì)算機(jī)的指令設(shè)計(jì)。

(1)把用絕對地址表示的內(nèi)存單元ADDR1中的內(nèi)容與內(nèi)存單元ADDR2中的內(nèi)容相加,結(jié)果存于內(nèi)存單元ADDR1中。

指令格式:D8××,ADDR1,ADDR2,?? 三字指令(控存入口110H)

功能:??? [ADDR1]=[ADDR1] + [ADDR2]

畫出微指令流程圖

微指令詳細(xì)設(shè)計(jì)

設(shè)計(jì)分析:

根據(jù)指令的功能和指令格式,先讀取地址ADDR1單元內(nèi)容暫時(shí)放置于Q寄存器中,然后把PC指向的地址給AR,然后再讀取地址ADDR2單元內(nèi)容,同時(shí)與Q寄存器內(nèi)容相加,結(jié)果也暫存放在Q寄存器中,此時(shí)進(jìn)行PC-1→AR操作,將PC指向地址的上一個(gè)地址給AR,此時(shí)由于地址寄存器AR中存放的是地址ADDR2,因此只要將Q寄存器內(nèi)容寫入存儲(chǔ)器就可以完成指令功能。此外,微程序中必須實(shí)現(xiàn)兩次PC+1→PC操作,才能確保PC的正確走向。

微程序:

PC→AR,PC+1→PC:?? 0000?? 0E00?? A0B5?? 5402

MEM→AR:??????????? 0000?? 0E00?? 10F0?? 0002

MEM→Q:???????????? 0000??? 0E00?? 00F0?? 0000

PC→AR:? ????????????0000??? 0E00?? 90B0?? 5002

MEM→AR:?????????? ?0000??? 0E00?? 10F0?? 0002

MEM+Q→Q:???????? ??0000??? 0E01?? 00E0?? 0000

PC-1→AR:?????????? ??0000?? 0E00?? 91B0?? 5402

PC+1→PC:????? ???????0000?? 0E00?? B0B0?? 5400

MEM→AR:??????????? 0000?? 0E00?? 10F0?? 0002

Q→MEM,CC#=0: ?????????????? 0029?? 0300?? 1020?? 0010

指令分析:

PC→AR,PC+1→PC: 0000 0E00 A0B5 5402? 程序計(jì)數(shù)器加1,開辟1個(gè)內(nèi)存單元

??? 0???? 0???? ?0???? E????? 0???? ?0???? A??? ?0?? ???B???? 5?? ???5???? ?4?? ??0??? ?2

0000

0000

0000

1110

0000

0000

1010

0000

1011

0101

0101

0100

0000

0010

(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901,即0000

(B3)SB=0,作Am2901,即0000

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:自加1

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B19-B16)A口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為A

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000

(B35)備用位為0

(B36)SC?? ?????CC#始終低電平有效,即SC=000,CC=0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

?

MEM→AR:??????? 0000 0E00 10F0 0002? 將指令地址送AR(ADDR1)

? 0????? 0???? 0????? E???? 0????? 0????? 1???? 0 ?????F ????0????? 0????? 0??? ?0??? ??2

0000

0000

0000

1110

0000

0000

0001

0000

1111

0000

0000

0000

0000

0010

(B2-B0)DC2:地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901,即0000

(B3)SB= 0,作Am2901,即0000

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:未進(jìn)位.,即00

(B15-B12)B口:未使用寄存器,故為0000

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為0

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行D+0

(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處為存儲(chǔ)器讀,故取001

(B34-B32)SST:狀態(tài)位不需進(jìn)行控制,故為000

(B35)備用位為0

(B36)SC? ??????CC#始終低電平有效,即SC=000,CC=0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

[MEM]→Q: 0000 0E00 00F0 0000? 將內(nèi)存單元中的數(shù)據(jù)送入Q寄存器

? 0????? 0????? 0?? ??E?? ??0????? 0 ?????0???? 0 ?????F??? ??0? ???0? ????0??? ??0? ???0

0000

0000

0000

1110

0000

0000

0000

0000

1111

0000

0000

0000

0000

0000

(B2-B0)DC2:寄存器未接收,故DC2為000

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901,即0000

(B3)SB=0,作Am2901,即0000

(B9 B8)SSH:未移位,為00

(B11 B10)SCI:未進(jìn)位,為00

(B15-B12)B口:未使用寄存器,故為0000

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為0

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行D+0

(B30-B28)BI8-6:有返回值,且返回值返回至Q,而Y的輸出選擇為F???? ,故此處為000

(B31 B27 B23)MI0#,REQ,WE#:存儲(chǔ)器讀即取001

(B34-B32)SST:狀態(tài)位不需進(jìn)行控制,故為000

(B35)備用位為0

(B36)SC?? ?????CC#始終低電平有效,即為0000

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行,

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

PC→AR:? ????????????0000??? 0E00?? 90B0 ?5002??? 開辟1個(gè)內(nèi)存單元

? 0????? 0???? 0????? E???? 0????? 0????? 9???? 0 ?????B ????0????? 5????? 0??? ?0??? ??2

0000

0000

0000

1110

0000

0000

1001

0000

1011

0000

0101

0000

0000

0010

(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901,即0000

(B3)SB=0,作Am2901,即0000

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:未移位,即00

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行0+B

(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000

(B35)備用位為0

(B36)SC?? ?????CC#始終低電平有效,即SC=000,CC=0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

MEM→AR:?????????? ?0000? ?0E00? 10F0? 0002 將指令地址送AR(ADDR2)

? 0????? 0???? 0????? E???? 0????? 0????? 1???? 0 ?????F ????0????? 0????? 0??? ?0??? ??2

0000

0000

0000

1110

0000

0000

0001

0000

1111

0000

0000

0000

0000

0010

MEM+Q→Q:???? ??0000 0E01 00E0 0000 完成加法([ADDR1] + [ADDR2]→Q)

? 0????? 0???? 0????? E???? 0????? 1????? 0???? 0 ?????E ????0????? 0????? 0??? ?0??? ??0

0000

0000

0000

1110

0000

0001

0000

0000

1110

0000

0000

0000

0000

0000

(B2-B0)DC2:寄存器未接收,故DC2為000

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901,即0000

(B3)SB=0,作Am2901,即0000

(B9 B8)SSH:未移位,為00

(B11 B10)SCI:未進(jìn)位,為00

(B15-B12)B口:未使用寄存器,故為0000

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為Q

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行D+Q

(B30-B28)BI8-6:有返回值,且返回值返回至Q,而Y的輸出選擇為F???? ,故此處為000

(B31 B27 B23)MI0#,REQ,WE#:存儲(chǔ)器讀即取001

(B34-B32)SST:狀態(tài)位控制,接受ALU的標(biāo)志位輸出值故為001

(B35)備用位為0

(B36)SC?? ?????CC#始終低電平有效,即為0000

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行,

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

PC-1→AR:?????? 0000? 0E00? 91B0 ?5402 將PC指向地址的上一個(gè)地址給AR

? 0????? 0???? 0????? E???? 0????? 0??? ??9???? 1 ?????B ????0????? 5????? 4??? ?0??? ??2

0000

0000

0000

1110

0000

0000

1001

0001

1011

0000

0101

0100

0000

0010

(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901

(B3)SB=0,作Am2901

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:自加1

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B

(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”,即執(zhí)行-1功能

(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000

(B35)備用位為0

(B36)SC?? ?????CC#始終低電平有效,即SC=000,CC=0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

PC+1→PC:?????????? ??0000?? 0E00?? B0B0?? 5400 程序計(jì)數(shù)器加1

? 0????? 0???? 0????? E???? 0????? 0????? B???? 0 ?????B ????0????? 5????? 4??? ?0?? ???0

0000

0000

0000

1110

0000

0000

1011

0000

1011

0000

0101

0100

0000

0000

(B2-B0)DC2:寄存器未接收,故DC2為000

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901

(B3)SB=0,作Am2901

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:自加1

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000

(B35)備用位為0

(B36)SC?? ?????CC#始終低電平有效,即SC=000,CC=0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

MEM→AR:?????? ??0000?? 0E00?? 10F0?? 0002 將指令地址送AR(ADDR1)

? 0????? 0???? 0????? E???? 0????? 0????? 1???? 0 ?????F ????0????? 0????? 0??? ?0??? ??2

0000

0000

0000

1110

0000

0000

0001

0000

1111

0000

0000

0000

0000

0010

Q→MEM,CC#=0:0029 ?0300? 1020 ?0010 將結(jié)果送入ADDR3,低電平有效

? 2????? 9????? 0????? 3???? 0????? 0??? ?1??? ??0????? 2?? ??0????? 0????? 0? ???1?? ??0

0010

1001

0000

0011

0000

0000

0001

0000

0010

0000

0000

0000

0001

0000

(B2-B0)DC2:寄存器未接收,故DC2為000

(B6-B4)DC1:向IB總線發(fā)送運(yùn)算器的指令,故DC1為001

(B7)SA=0,作Am2901

(B3)SB=0,作Am2901

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:未進(jìn)位,即00

(B15-B12)B口:未使用寄存器,故為0000

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為Q

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行0+Q

(B30-B28)BI8-6:沒有返回值,Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處為將Q寄存器中值寫入內(nèi)存單元,故取000

(B34-B32)SST:未用狀態(tài),故為000

(B35)備用位為0

(B36)SC??????? 此處低電平有效,故取SCC為000,SC為0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第3#命令,即為條件轉(zhuǎn)移,低電平有效,有效時(shí),轉(zhuǎn)入下地址

(B55-B44)下地址:此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29

?

?

(2)將一通用寄存器內(nèi)容減去某內(nèi)存單元內(nèi)容,結(jié)果放在另一寄存器中。

指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)雙字指令(控存入口130H)

功能:??? DR=SR-[ADDR]

畫出微指令流程圖

微指令詳細(xì)設(shè)計(jì)

設(shè)計(jì)分析:

根據(jù)指令的功能和指令格式,先讀取地址ADDR單元內(nèi)容暫時(shí)放置于Q寄存器中,然后再讀取內(nèi)存單元中的DATA,同時(shí)與Q寄存器內(nèi)容相減,結(jié)果存放在DR寄存器中。

微程序:

PC→AR,PC+1→PC: ???? ?????? 0000? 0E00? A0B5 ?5402?

當(dāng)前程序計(jì)數(shù)器內(nèi)容送地址寄存器,為讀取操作數(shù)地址做準(zhǔn)備;程序計(jì)數(shù)器指向下一單元地址

MEM→AR:????????????? ???? 0000? 0E00? 10F0?? 0002?

從主存讀取第一個(gè)操作數(shù)地址送AR,為讀取操作數(shù)做準(zhǔn)備

SR - MEM →DR:?? ??????? 0029? 0301? 31D0? ?? 0088?

寄存器SR存放的操作數(shù)減去ADDR單元內(nèi)容,并存入DR

指令分析:

PC→AR,PC+1→PC: 0000? 0E00? A0B5? 5402? 程序計(jì)數(shù)器加1

? 0????? 0????? 0????? E?? ??0????? 0????? A? ???0??? ?B ????5????? 5????? 4? ???0???? ?2

0000

0000

0000

1110

0000

0000

1010

0000

1011

0101

0101

0100

0000

0010

(B2-B0)DC2:在本條微碼中,地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA:為0,作Am2901

(B3)SB:為0,作Am2901

(B9 B8)SSH:未移位

(B11 B10)SCI:未進(jìn)位

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC

(B19-B16)A口:使用了寄存器R5,即程序計(jì)數(shù)器PC

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為A

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:未用狀態(tài),故為000

(B35)備用位為0

(B36)SC??????? 未用條件碼,故為0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

②MEM→AR:?????????????????? 0000? 0E00? 10F0?? 0002? 將指令地址送AR

? 0????? 0????? 0????? E? ???0????? 0?? ??1????? 0???? F?? ???0? ???0?? ???0? ???0???? ?2

0000

0000

0000

1110

0000

0000

0001

0000

1111

0000

0000

0000

0000

0010

(B2-B0)DC2:在本條微碼中,地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA:為0,作Am2901

(B3)SB:為0,作Am2901

(B9 B8)SSH:未移位,即00

(B11 B10)SCI:未進(jìn)位,即00

(B15-B12)B口:未使用寄存器,故為0

(B19-B16)A口:未使用寄存器,故為0

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為0

(B26-B24)MI5-3:運(yùn)算功能選擇為“+S”,即執(zhí)行D+0

(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處為存儲(chǔ)器讀,故取001

(B34-B32)SST:未用狀態(tài),故為000

(B35)備用位為0

(B36)SC??????? 未用條件碼,故為0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行

(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0

③SR - MEM →DR:?? 0029? 0301? 31D0? 0088? 完成減法,最后結(jié)果送寄存器

? 2????? 9????? 0????? 3??? ??0? ???1? ???3????? 0???? D ?????0? ???0????? 0???? 8? ????8

0010

1001

0000

0011

0000

0001

0011

0000

1101

0000

0000

0000

1000

1000

(B2-B0)DC2:在本條微碼中,,寄存器未接收,故DC2為000

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA:用指令給ALU的R端賦值,故為1

(B3)SB:用指令給ALU的S端賦值,故為1

(B9 B8)SSH:未移位

(B11 B10)SCI:未進(jìn)位

(B15-B12)B口:未使用寄存器,故為0000

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為A,即為101

(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處是讀取內(nèi)存單元內(nèi)容,并被SR減,故取001

(B34-B32)SST:由運(yùn)算帶來的狀態(tài)保存,故為001

(B35)備用位為0

(B36)SC???????? 此處低電平有效,故取SCC為000,SC為0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第3#命令,即為條件轉(zhuǎn)移,低電平有效,有效時(shí),轉(zhuǎn)入下地址

(B55-B44)下地址:此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29

?

(3)轉(zhuǎn)移指令。判斷兩個(gè)通用寄存器內(nèi)容是否相等,若不相等則轉(zhuǎn)移到指定絕對地址,否則順序執(zhí)行。

指令格式:E9 DR SR,ADDR? 雙字指令(控存入口150H)

功能:??? if? DR!=SR goto? ADDR? else 順序執(zhí)行。

畫出微指令流程圖

微指令詳細(xì)設(shè)計(jì)

設(shè)計(jì)設(shè)計(jì):

利用指令的CND字段,即IR10~8,令I(lǐng)R10~8=101,即CC=\Z

則當(dāng)DR==SR時(shí)Z=1,微程序不跳轉(zhuǎn),接著執(zhí)行MEM→PC(即ADDR→PC)

而當(dāng)DR!=SR時(shí)Z=0,微程序跳轉(zhuǎn)至A4。

微程序設(shè)計(jì):

DR-SR???????????????? ???????? ?????? 0000 0E01 9190 0088

PC→AR,PC+1→PC,CC#=CND??? ?? 0029 03E0 A0B5 5402

MEM→PC,CC#=0??????????? ??????? 0029 0300 20F0 5000

指令分析:

DR - SR→DR ????????0000? 0E01? 9190? 0088?

SR內(nèi)容減DR內(nèi)容,若相等,則標(biāo)志符Z=1,否則Z=0

??? 0????? 0????? 0???? E??? ?0??? ?1??? ??B???? 1??? ??9????? 0??? ?0?? ???0?? ??8??? ??8

0000

0000

0000

1110

0000

0001

1011

0001

1001

0000

0000

0000

1000

1000

(B2-B0)DC2:在本條微碼中,,寄存器未接收,故DC2為000

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA:用指令給ALU的R端賦值,故為1

(B3)SB:用指令給ALU的S端賦值,故為1

(B9 B8)SSH:未移位

(B11 B10)SCI:未進(jìn)位

(B15-B12)B口:未使用寄存器,故為0000

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為A,S端輸入為B,即為001

(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為F

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:由運(yùn)算帶來的狀態(tài)保存,故為001

(B35)備用位為0

(B36)SC???????? 此處低電平有效,故取SCC為000,SC為0

(B39-B37)SCC???

(B43-B40)CI3-CI0:由于順序執(zhí)行,并未使用下地址,故下地址為0

PC→AR,PC+1→PC,CC#=CND??? ?0029? 03E0? A0B5? 5402

當(dāng)前程序計(jì)數(shù)器內(nèi)容送地址寄存器,條件轉(zhuǎn)移信號(hào)CC#=CND,即判斷Z是否為1,若為0則中斷條件成立;程序計(jì)數(shù)器指向下一單元地址

?? ?2???? 9???? 0????? 3??? ??E???? ?0???? A???? 0???? ?B???? 5???? 5????? 4????? 0???? 2

0010

1001

0000

0011

1110

0000

1010

0000

1011

0101

0101

0100

0000

0010

((B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901

(B3)SB=0,作Am2901

(B9 B8)SSH:未移位

(B11 B10)SCI:自加1

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B19-B16)A口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B

(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為A

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000

(B35)備用位為0

(B36)SC???? 用到IR10-8則SC置0??

(B39-B37)SCC? 題中需要用到IR10-8所以SCC選擇7則為111?

(B43-B40)CI3-CI0:Am2901命令第3#命令,即為條件轉(zhuǎn)移

?? (B55-B44)下地址:由于條件轉(zhuǎn)移,若判斷相等,則順序執(zhí)行,若不相等,則指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29

MEM→PC,CC#=0 ????????0029? 0300? 30F0? 5000

取內(nèi)存單元ADDR中的地址送PC

?? 2? ????9???? ?0???? 3??? ??0????? 0???? 2???? ?0????? F???? 0???? 5????? 0??? ??0???? 0

0010

1001

0000

0011

0000

0000

0010

0000

1111

0000

0101

0000

0000

0000

(B2-B0)DC2:在本條微碼中,,寄存器未接收,故DC2為000

(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000

(B7)SA=0,作Am2901

(B3)SB=0,作Am2901

(B9 B8)SSH:未移位

(B11 B10)SCI:未進(jìn)位

(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101

(B19-B16)A口:未使用寄存器,故為0000

(B22-B20)MI2-0:R端數(shù)據(jù)來自主存(外部),S端為0,即為111

(B26-B24)MI5-3:運(yùn)算功能選擇為“S+R”

(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為A

(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X

(B34-B32)SST:由運(yùn)算帶來的狀態(tài)保存,故為001

(B35)備用位為0

(B36)SC???????? 此處低電平有效,故取SCC為000,SC為0

(B39-B37)SCC???

(B43-B40)CI3-CI0:Am2901命令第3#命令,即為條件轉(zhuǎn)移

(B55-B44)下地址: 此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29

?

3、測試程序設(shè)計(jì)及調(diào)試。

(1)

(一)用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中)

0000?0E00?A0B5?5402?0000?

0E00?10F0?0002?0000?0E00?

00F0?0000?0000?0E00?90B0?

5002?0000?0E00?10F0?0002?

0000?0E01?00E0?0000?0000?

0E00?91B0?5402?0000?0E00?

B0B0?5400?0000?0E00?10F0?

0002?0029?0300?1020?0010

(二)用D命令查看輸入的微碼:

(三)用A命令輸入加載微碼的程序:(將微碼加載到微控存中)

>A800?????????? ;TEC-2機(jī)主存儲(chǔ)器中RAM地址分配為0800H-0FFFH

0800: MOV R1,900 ;微碼在內(nèi)存中的首地址

0802: MOV R2,10? ;共10條微指令

0804: MOV R3,100;微碼在微控存中的首地址,題目規(guī)定為100H

0806: LDMC???? ;加載微碼指令

0807: RET?????? ;返回

0808:

(四)用G命令運(yùn)行加載微碼的程序:

>G800

(五)用A命令輸入程序:

>A820

0820: MOV R0,0023 ;將立即數(shù)23賦給寄存器R0

0822: MOV R1,0020 ;將立即數(shù)20賦給寄存器R1

0824: MOV [A00],R0;將寄存器R0中數(shù)據(jù)賦值給內(nèi)存單元0A00

0826: MOV [A01],R1;將寄存器R0中數(shù)據(jù)賦值給內(nèi)存單元0A01

0828: NOP??????? ;NOP起等待作用,因?yàn)橹噶钫妓膫€(gè)字節(jié),所以用4個(gè)NOP

0829: NOP

082A: NOP

082B: ?RET?????? ;返回\

(六)用E命令輸入新指令:

>E828;因?yàn)榈谝粋€(gè)空操作的地址是0A00所以此處輸入0A01

0828??? 0000:D400? 0000:0A00? 0000:0A01?

(七)用U命令查看輸入的程序:(反編譯觀察操作過程)

>U820?????????????????????????????????????? ;查看

(八)用“G”命令運(yùn)行程序:

>G820?????????????????????????????????????? ;運(yùn)行

(九)用“D”命令查看運(yùn)行結(jié)果:

? 在命令行提示符狀態(tài)下輸入:

?? DA00 (回車)

R

(2)

(一)用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中)

>E900

0900??? 0000:0000? 0000:0E00? 0000:A0B5? 0000:5402? 0000:0000

0905??? 0000:0E00? 0000:10F0? 0000:0002? 0000:0029? 0000:0301

090A??? 0000:31D0? 0000:0088

;將微程序的16進(jìn)制代碼輸入到從900H開始的內(nèi)存單元中

(二)用D命令查看輸入的微碼:

>D900 ??;查看單元內(nèi)容是否正確

(三)用A命令輸入加載微碼的程序:(將微碼加載到微控存中)

>A800

0800: MOV R1,900?????????????????????????? ;微碼在內(nèi)存中的首地址為900H

0802: MOV R2,3??????????????????????? ;微程序一共有9條微指令

0804: MOV R3,130?????????????????????????? ;微碼加載到微控存中的首地址

0806: LDMC????????????????????????????? ;加載微碼指令

0807: RET???????????????????????????????? ;返回

0808:

(四)用G命令運(yùn)行加載微碼的程序:

>G800?????????????????????????????????????? ;執(zhí)行加載微碼程序

(五)用A命令輸入程序:

>A820

0820: MOV R0,0023?????????????????? 將減數(shù)放到通用寄存器R0

0822: MOV R3,0027?????????????????? 將被減數(shù)放到通用寄存器R3

0824: MOV [A00],R0???????????????? 將R0中減數(shù)放到0A00單元

0826: NOP

0827: NOP

0828: RET

0829:

(六)用E命令輸入新指令:

>E826??????????????????????????????????????

;編輯0826開始到0827單元,將新指令輸入,其中SR為R3, DR為R2

0826??? 0000:E023? 0000:0A00

(七)用U命令查看輸入的程序:(反編譯觀察操作過程)

>U820?????????????????????????????????????? ;查看

(八)用“G”命令運(yùn)行程序:

>G820?????????????????????????????????????? ;運(yùn)行

(九)用“D”命令查看運(yùn)行結(jié)果:

? 在命令行提示符狀態(tài)下輸入:

DA00 (回車)

R

(3)

(一)用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中)

>E900

0900??? 0000:0000? 0000:0E01? 0000:9190? 0000:0088? 0000:0029

0905??? 0000:03E0? 0000:A0B5? 0000:5402? 0000:0029? 0000:0300

090A??? 0000:20F0? 0000:5000

(二)用D命令查看輸入的微碼:

(三)用A命令輸入加載微碼的程序:(將微碼加載到微控存中)

>A800

0800: MOV R1,900

0802: MOV R2,3

0804: MOV R3,140

0806: LDMC

0807: RET

0808:

(四)用G命令運(yùn)行加載微碼的程序:

>G800?????????????????????????????????????? ;執(zhí)行加載微碼程序

(五)用A命令輸入程序:

兩數(shù)相等時(shí);

>A820

0820: MOV R1,0026

0822: MOV R2,0026

0824: NOP

0825: NOP

0826: MOV R1,0023

0828: RET

0829:

(六)用E命令輸入新指令:

>E824

0824??? 0000:E512? 0000:0828

(七)用U命令查看輸入的程序:(反編譯觀察操作過程)

>U820

(八)用“G”命令運(yùn)行程序:

>G820

(九)用“D”命令查看運(yùn)行結(jié)果:

? 在命令行提示符狀態(tài)下輸入:

R

(五)*用A命令輸入程序:

兩數(shù)不相等時(shí):

>A820

0820: MOV R1,0025

0822: MOV R2,0024

0824: NOP

0825: NOP

0826: MOV R1,0023

0828: RET

0829:

(六)*用E命令輸入新指令:

>E824

0824??? 0000:E512? 0000:0828

(七)*用U命令查看輸入的程序:(反編譯觀察操作過程)

>U820

(八)用“G”命令運(yùn)行程序:

>G820

(九)用“D”命令查看運(yùn)行結(jié)果:

? 在命令行提示符狀態(tài)下輸入:

R

4、寫出自己在小組中承擔(dān)的任務(wù)及發(fā)揮的作用。

一人獨(dú)立完成

?

四、實(shí)驗(yàn)心得

這個(gè)課程設(shè)計(jì)是對整個(gè)學(xué)期對計(jì)算機(jī)組成原理學(xué)習(xí)的回顧,由于書中內(nèi)容較多,剛開始時(shí),有點(diǎn)云里霧里的感覺。并且由于對微程序控制器的組成和工作原理不了解,導(dǎo)致覺得實(shí)驗(yàn)非常的難,不知從何下手,后來雖然仔細(xì)的看了一遍書,又認(rèn)真聽老師把原理說了一遍,但還是不太知道怎么做,只是大致了解了微程序控制器是如何工作的,后來通過一個(gè)微程序設(shè)計(jì)實(shí)例的講解,才基本上知道了該如何設(shè)計(jì)指令。因?yàn)樵O(shè)計(jì)微碼要求對運(yùn)算器、控制器都要有很深的了解,不僅僅是照著書本上的步驟去做,而是要真真正正去設(shè)計(jì)一些計(jì)算機(jī)能運(yùn)行的最底層的指令,因此,做這個(gè)課程設(shè)計(jì)要在短時(shí)間內(nèi)突擊是很困難的,需要平時(shí)注意聽老師講的細(xì)節(jié)上的問題。比如,AM2901外部數(shù)據(jù)只能從A口進(jìn)入,結(jié)果回存只能通過B口等老師常常強(qiáng)調(diào)的,如果沒有注意,實(shí)驗(yàn)起來就會(huì)很麻煩。設(shè)計(jì)過程中與同學(xué)有不少的交流,遇到難于理解的地方時(shí)就會(huì)相互交流各自的想法。

在之前做微程序控制實(shí)驗(yàn)的時(shí)候,其實(shí)還有一些地方很模糊,比如為什么測試新指令的時(shí)候要輸入一定數(shù)量的NOP空操作,新指令和程序在運(yùn)行時(shí)是怎么聯(lián)系在一起的,下地址字段的意義,等等。但是通過課程設(shè)計(jì),更推動(dòng)了我對這些問題加深了解,對計(jì)算機(jī)的運(yùn)行原理比之前要更加透徹了。從這一次實(shí)驗(yàn)中印證一個(gè)道理只有通過實(shí)踐才能真正的掌握一門知識(shí)。

參考文章

https://blog.csdn.net/qq_43594913/article/details/106735166

http://blog.sina.com.cn/s/blog_6392df880100j7ro.html

https://wenku.baidu.com/view/952dc0f648649b6648d7c1c708a1284ac850059f.html

https://blog.csdn.net/denglaiyou4326/article/details/102433098/

總結(jié)

以上是生活随笔為你收集整理的《计算机组成原理》课程设计报告——TEC-2实验系统——微程序设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。