計(jì)算機(jī)學(xué)院-課件-《計(jì)算機(jī)組成原理》課程設(shè)計(jì) - 17屆示例_第1頁
計(jì)算機(jī)學(xué)院-課件-《計(jì)算機(jī)組成原理》課程設(shè)計(jì) - 17屆示例_第2頁
計(jì)算機(jī)學(xué)院-課件-《計(jì)算機(jī)組成原理》課程設(shè)計(jì) - 17屆示例_第3頁
計(jì)算機(jī)學(xué)院-課件-《計(jì)算機(jī)組成原理》課程設(shè)計(jì) - 17屆示例_第4頁
計(jì)算機(jī)學(xué)院-課件-《計(jì)算機(jī)組成原理》課程設(shè)計(jì) - 17屆示例_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《計(jì)算機(jī)組成原理》

課程設(shè)計(jì)報(bào)告

學(xué)院:智能制造學(xué)部

專業(yè):電子信息工程(信息安全)

班級(jí):______________________

學(xué)號(hào):______________________

姓名:______________________

指導(dǎo)老師:杭維穎_________

日期:年月日

20-20學(xué)年第一學(xué)期

1

模型計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

綜合運(yùn)用所學(xué)計(jì)算機(jī)組成原理知識(shí),設(shè)計(jì)并實(shí)現(xiàn)較為完整的計(jì)算機(jī)。

二、實(shí)驗(yàn)設(shè)備

PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。

三、實(shí)驗(yàn)原理

模型計(jì)算機(jī)的數(shù)據(jù)格式及指令系統(tǒng)。

1.數(shù)據(jù)格式

模型機(jī)規(guī)定采用定點(diǎn)補(bǔ)碼表示法表示數(shù)據(jù),字長(zhǎng)為B位,8位全用來表示數(shù)據(jù)(最高位

不表示符號(hào)),數(shù)值表示范圍是:OWXW*—1。

2.指令設(shè)計(jì)

模型機(jī)設(shè)計(jì)三大類指令共十五條,其中包括運(yùn)算類指令、控制轉(zhuǎn)移類指令,數(shù)據(jù)傳送類

指令。運(yùn)算類指令包含三種運(yùn)算,算術(shù)運(yùn)算、邏輯運(yùn)算和移位運(yùn)算,設(shè)計(jì)有6條運(yùn)算類指令,

分別為:ADD、AND、INC、SUB、OR、RR,所有運(yùn)算類指令都為單字節(jié),尋址方式采用寄存器

直接尋址。控制轉(zhuǎn)移類指令有三條HLT、JMP、BZC,用以控制程序的分支和轉(zhuǎn)移,其中HLT

為單字節(jié)指令,JMP和BZC為雙字節(jié)指令。數(shù)據(jù)傳送類指令有IN、OUT、MOV、LDKLAD、STA

共6條,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存儲(chǔ)器之間的數(shù)據(jù)交換,除MOV

指令為單字節(jié)指令外,其余均為雙字節(jié)指令。

3.指令格式

所有單字節(jié)指令(ADD、AND、INC、SUB、OR、RR、HLT和MOV)格式如下:

76543210

OP-CODERSRD

其中,OP-CODE為操作碼,RS為源寄存器,RD為目的寄存器,并規(guī)定:

RS或RD選定的寄存器

00R0

01R1

10R2

11R3

2

151和OUT的指令格式為:

7654

32(1)10(1)7—0(2)

(1)

OP-CODERSRDP

其中括號(hào)中的1表示指令的第一字節(jié),2表示指令的第二字節(jié),OP-CODE為操作內(nèi),RS

為源寄存器,RD為目的寄存器,P為I/O端口號(hào),占用一個(gè)字節(jié),系統(tǒng)的I/O地址譯碼原理

見圖6T(在地址總線單元)。

YwNAoY0

MYhNoY1

YNP—2

即)

艙oY

YND—

"OY3

A7A2DA—

小YN

BG2

Y2T0NA

A

*G2YN

22A

Y23N

圖6-1I/O地址譯碼原理圖

由于用的是地址總線的高兩位進(jìn)行譯碼,"0地址空間被分為四個(gè)區(qū),如表6-1所示:

表6-1I/O地址空間分配

A7A6選定地址空間

00IOYO00-3F

01I0Y140-7F

10I0Y280-BF

11I0Y3CO-FF

4.指令系統(tǒng)

本模型機(jī)共有15條基本指令,表6-3列出了各條指令的格式、匯編符號(hào)、指令功能。

表6-3指令描述

3

助記特號(hào)指令格式指令功能

MOVRD,RS0100RSRDRS―?RD

ADDRD,RS0000RSRDRD+RS—?RD

SUBRD,RS1000RSRDRD-RS—?RD

ANDRD,RS0001RSHDRDARS-?RD

ORRD,RS1001RSRDRDVRS-?RD

RRRD,RS1010RSRDRS右環(huán)移一?RD

INCRDOil1—RDRDi1―?RD

LADMD,RD1100MRDDE―?RD

STAMD,RS1101MRDDRD―?E

JMPMD1110MDE―?PC

當(dāng)或時(shí),

ISZCMD1111M**I)FCFZ=1

E―?PC

INRD,P0010**RDP[P]—?RD

OUTP,RS0011RS**PRS―?CP]

LIHRD,1)O11U**KU1)1)-?KI)

HALT0101****停機(jī)

四、實(shí)驗(yàn)步驟

1.按圖6-6連接實(shí)驗(yàn)線路,仔細(xì)檢查接線后打開實(shí)驗(yàn)箱電源。

2.寫入實(shí)驗(yàn)程序,棄進(jìn)行校驗(yàn),手動(dòng)寫入

1)手動(dòng)寫入和校驗(yàn)微程序

(1)手動(dòng)寫入微程序

①將時(shí)序與操作臺(tái)單元的開關(guān)KK1置為‘停止'檔,KK3置為'編程'檔,KK4置為'控

存'檔,KK5置為'置數(shù)’檔。

②使用CON單元的SD05——SDOO給出微地址,【N單元給出低8位應(yīng)寫入的數(shù)據(jù),連

續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的低8位。

③將時(shí)序與操作臺(tái)單元的開關(guān)KK5置為‘加1'檔。

④IN單元給出中8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作價(jià)的開關(guān)ST,將IN單

元的數(shù)據(jù)寫到該單元的中8位。IN單元給出高8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操

作臺(tái)的開關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的高8位。

⑤重復(fù)①、②、③、④四步,將表6-5的微代碼寫入2816芯片中。

(2)手動(dòng)校驗(yàn)微程序

①將時(shí)序與操作臺(tái)單元的開關(guān)KK1置為'停止'檔.KK3置為'校驗(yàn)'檔,KK4置為‘控

存’檔,KK5置為,置數(shù)’檔。

4

②使用CON單元的SD05——SDOO給出微地址,連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,

MC單元的指數(shù)據(jù)指示燈M7——M0顯示該單元的低8位。

③將時(shí)序與操作臺(tái)單元的開關(guān)KK5置為‘加1'檔。

④連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,MC單元的指數(shù)據(jù)指示燈M15——M8顯示該

單元的中8位,MC單元的指數(shù)據(jù)指示燈M23一一M16顯示該單元的高8位。

⑤重復(fù)①、②、③、④四步,完成對(duì)微代碼的校驗(yàn)。如果校驗(yàn)出微代碼寫入錯(cuò)誤,重

新寫入、校驗(yàn),直至確認(rèn)微指令的輸入無誤為止。

2)手動(dòng)寫入機(jī)器程序

①將時(shí)序與操作臺(tái)單元的開關(guān)KK1置為‘停止'檔,KK3置為‘編程'檔,KK4置為‘主

存'檔,KK5置為‘置數(shù)’檔。

②使用CON單元的SD7一—SDO給出地址,IN單元給出該單元應(yīng)寫入的數(shù)據(jù),連續(xù)兩

次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,將N單元的數(shù)據(jù)寫到該存儲(chǔ)器單元。

③將時(shí)序與操作臺(tái)單元的開關(guān)KK5置為‘加1'檔。

④IN單元給出下一地址(地址自動(dòng)加1)應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)

的開關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元中。然后地址會(huì)又自加1,只需在IN單元輸入后續(xù)

地址的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,即可完成對(duì)該單元的寫入。⑤亦可重

復(fù)①、②兩步,將所有機(jī)器指令寫入主存芯片中。

(1)手動(dòng)校驗(yàn)機(jī)器程序

①將時(shí)序與操作臺(tái)單元的開關(guān)KK1置為‘停止'檔,KK3置為'校驗(yàn)'檔,KK4置為'主

存'檔,KK5置為‘置數(shù)’檔。

②使用CON單元的SD7——SDO給出地址,連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,CPU

內(nèi)總線的指數(shù)據(jù)指示燈D7——DO品示該單元的數(shù)據(jù)。

③將時(shí)序與操作臺(tái)單元的開關(guān)KK5置為‘加1'檔。

④連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,地址自動(dòng)加1,CPU內(nèi)總線的指數(shù)據(jù)指示燈

D7一—1)0顯示該單元的數(shù)據(jù)。此后每?jī)纱伟磩?dòng)時(shí)序與操作臺(tái)的開關(guān)ST,地址自動(dòng)加1,CPU

內(nèi)總線的指數(shù)據(jù)指示燈1)7一一D0顯示該單元的數(shù)據(jù),繼續(xù)進(jìn)行該操作,直至完成校驗(yàn),如

發(fā)現(xiàn)錯(cuò)誤,則返回寫入,然后校驗(yàn),直至確認(rèn)輸入的所有指令準(zhǔn)確無誤。

⑤亦可重復(fù)①、②兩步,完成對(duì)指令碼的校驗(yàn)。如果校驗(yàn)出指令碼寫入錯(cuò)誤,重新寫

入、校驗(yàn),直至確認(rèn)指令的輸入無誤為止。

5

時(shí)序與操作臺(tái)單元設(shè)單元ALU®單元

ALU_B[]ALU_B

_o_JIN7;-----------------

|-O-[]CLK00*-o>1

J**

**

LDA------o-1*

--C-LDAINO-o

JLDB

-O-Q301IZLDB_~O~-----o-OUT7

*-a

??

**

S3r--O—-----o-4S3*

*-o/

??OUTO

?*

D7

so--o-——°-L_so*一)

?

*

DO—

LDR3

i-o-nFZ*

*

r-O—o-FC

LDRO

R3B---ROJ

L-O-nF7II

PfR3_B---R0B

L

.F

RiO--TILDRi

LDO-JLDSP

)sDplr

LD:二

P<,rLP<1>

P?

LJT

<3B>jP<3>

RS

一c

_BRS_B

RDBRD_B

RI

SPB一cRI_B

__

SRSP_B

?u

E5,

:SE5

:f

Sm一

O-USEOIR單元

LDc

IRn_O--QLDIR

u

n

H-oO--LOAD

TO--JLDAR

L

O[LDPC?7

L??

O-QPC_B二

地址總線

Y」

10YOk>-RDPC&AR中-元

1—1L-o-MEM單元

I0Y1-o_WR

XA7—O-A7

*--O-?

?*?CPU內(nèi)總線

■?

XAO--O--O--AO

D7

XD7XD7D71

??

??*

??*

XDOXDODO

數(shù)據(jù)總線

圖6—6實(shí)驗(yàn)接線圖

6

3)運(yùn)行程序

將時(shí)序與操作臺(tái)單元的開關(guān)KK1、KK3置為‘運(yùn)行'檔,按動(dòng)CON單元的總清按鈕CLR,

將使程序計(jì)數(shù)器PC、地址寄存器AR和微程序地址為00H,程序可以從頭開始運(yùn)行,暫存器

A、B,指令寄存器IR和3T單元也會(huì)被清零。

將時(shí)序與操作臺(tái)單元的開關(guān)KK2置為‘單步'檔,每按動(dòng)一次ST按鈕,即可單步運(yùn)行

一條微指令,對(duì)照微程序流程圖,觀察微地址顯示燈是否和流程一致。每運(yùn)行完一條微指令,

觀測(cè)一次數(shù)據(jù)總線和地址總線,對(duì)照數(shù)據(jù)通路圖,分析總線上的數(shù)據(jù)是否正確。

當(dāng)模型機(jī)執(zhí)行完OUT指令后,檢查OUT單元顯示的數(shù)是否正確,按下CON單元的總清按

鈕CLR,改變IN單元的值,再次執(zhí)行機(jī)器程序,從OUT單元顯示的數(shù)判別程序執(zhí)行是否正

確。

五、總體設(shè)計(jì)

本模型機(jī)的數(shù)據(jù)通路框圖如圖6-2所示。

---------T:xx

」_——.IOYO

㈤跖;I0Y1

AR=xx地址譯碼:1。丫2

--------------------I0Y3

INTA#

IINTR

I0Y2I0Y3

MEM=

82538259

A=xxXX

4IIf7tf

MR#MW#IOR#IOW#IOR#IOW#

R1_B*R2_B#R3_B#T3IOR#IOYOIOW#I0Y1

IR=xxJ

R0=R1=R2=R3=OUT=

xxxxXXxx13LDIRrxx

控制器MR#MW#IOP#IOW#

I

IMTA#

日L

控制信號(hào)IMTR

圖6—2數(shù)據(jù)通路框圖

和前面的實(shí)驗(yàn)相比,復(fù)雜模型機(jī)實(shí)驗(yàn)指令多,尋址方式多,只用一種測(cè)試已不能滿足設(shè)

計(jì)要求,為此指令譯碼電路需要重新設(shè)計(jì)。如圖6-3所示在IR單元的IMSDEC中實(shí)現(xiàn)。

7

P<1>

T4T4SE3

I⑹I⑺

P<3>Cx>

T4

FZ

FC

圖6-3指令譯碼原理圖

本實(shí)驗(yàn)中要用到四個(gè)通用寄存器R3…R0,而對(duì)寄存器的選擇是通過指令的低四位,為

此還得設(shè)計(jì)一個(gè)寄存器譯碼電路,在IR單元的REGDEC-GAL16V8)中實(shí)現(xiàn),如圖6-4所示。

74139

Y10N

l[0]

A1Y11N

1[1]

B1Y12N

A2Y13N

B2Y20N

—CG1NY21N

G2NY22N

RDB

Y23N

2:4DECODER

74139J

Y10N

l[2l

A1Y11ND-

?⑶

B1Y12N0-

A2Y13N

B2Y20N

G1NY21N

號(hào)IG2NY22N

Y23N

2:4DECODER

圖6-4寄存器譯碼原理圖

8

根據(jù)機(jī)器指令系統(tǒng)要求,設(shè)計(jì)微程序流程圖及確定微地址,如圖6-5所示。

按照系統(tǒng)建議的微指令格式,見表6-4,參照微指令流程圖,將每條微指令代碼化,

譯成二進(jìn)制代碼表,見表6-5,并將二進(jìn)制代碼表轉(zhuǎn)換為聯(lián)機(jī)操作時(shí)的十六進(jìn)制格式文件

表6-4微指令格式

232221201918-1514-1211-98-65-0

M23CNWRRDI0MS3-S0A字段B字段C字段UA5-UA0

表6-5二進(jìn)制代碼表

地址十六進(jìn)制表示高五位S3-S0A字段B字段C字段UA5-UA0

00000001000000000000000000000001

01006D43000000000110110101000011

03107070000100000111000001110000

0400240500000000()()1()01100()000101

0504B201000001001011001000000001

06002407000000000010011000000111

07013201000000010011001000000001

0810600900010()000110()00000001001

09183001000110000011000000000001

0A106010000100000110000000010000

0B000001000000000000000000000001

0C103001000100000011000000000001

0D200601001000000000001100000001

0E005341000000000101001101000001

0F0000CB000000000000000011001011

1028040100101()00()()00010000000001

11103001000100000011000000000001

9

1206B201000001101Oil001000000001

13002414000000000010on000010100

1405B2()1()000()1011on001000000001

15002416000000000010on000010110

1601B201000000011Oil001000000001

17002418000000000010on000011000

1802B201000000101on()01000000001

IB005341000000000101001101000001

IC1010ID000100000001000000011101

ID10608C000100000110000010001100

IE1060IF000100000110()00000011111

IF101020000100000001000000100000

2010608C000100000110000010001100

28101029000100000001000000101001

290()282A000000000010100()00101010

2A04E22B000001001110001000101011

2B04928C000001001001001010001100

2C10102D000100000001000000101101

2D002C2E000000000010110000101110

2E04E22F000001001110001000101111

2F04928C000001001001001010001100

30001604000000000001Oil000000100

310()1606()000()0000()01Oil000000110

32006D48000000000110110101001000

33006D4A000000000110110101001010

34003401000000000Oil010000000001

350()0035()00000000000()0()000110101

36006051000000000110110101010001

37001612000000000001Oil000010010

38001613000000000001on000010011

39001615000000000001Oil000010101

3A001617000000000001Oil000010111

3B000001000000000000000000000001

3C006D5C000000000110110101011100

3D006D5E000000000110110101011110

3E006D68000000000110110101101000

3F006D6C000000000110110101101100

10

01)

操作數(shù)準(zhǔn)備

ADDANDINOUTMOVLDIRR保留宜接間接變址相對(duì)

I3D,J31,J32,133

PC->ARPC->AR

RD->ARD->ARS->RD

函PC加1PC加1

6

——

5

就A加BA與B10->Rl)Rs->i(|

-〉RD_》而吁用心加

六、指令系統(tǒng)的設(shè)計(jì)

方案一:編程實(shí)現(xiàn)8位數(shù)的X+Y-Z的計(jì)算并顯示輸出的程序

(1)程序設(shè)計(jì)及說明:

地址內(nèi)容助記符說明

0000000000100001START:IN,RI,P(IOYO)從IN單元讀入計(jì)數(shù)初值,并

0000000100000000送入到R1寄存器中

0000001000100010IN,R2,P(IOYO)從IN單元讀入計(jì)數(shù)初值,并

UUUUU011OUUOUUUU送入到R2寄存靜中

0000010000100011IN,R3,P(IOYO)從IN單元讀入計(jì)數(shù)初值,并

0000010100000000送入到R3寄存器中

0000011000001001ADD,R2,RI將R1和R2的數(shù)據(jù)相加,并

送到R1寄存器中

0000011110000111SUB,RI,R3將R1和R3的數(shù)據(jù)相加,并

送到R3寄存器中

0000100000110100OUTRI,輸出R1寄存器中的數(shù)據(jù)

0000100101000000P(IOY1)

0000101000111100OUTR3,輸出R3寄存器中的數(shù)據(jù)

0000101101000000P(IOY1)

說明:通過IN指令,將數(shù)據(jù)傳入寄存器中,然后通過邏輯運(yùn)算單元ALU,進(jìn)行數(shù)

據(jù)的加減操作,最后再將數(shù)據(jù)傳回寄存器中,然后輸出寄存器中的數(shù)據(jù)。

A

舉l

t

?

[■---

“000000。。_oo|o?ooo1

二的T.h9'\LUJ1。)

Ob。。DOC|

…100000000

Vy/ooo0O01o。3|000Io入,QFr______

1'iI(loYo)

v/COcoOOIIoooO00co

ooocIoO。”。oo(|"島『,R一

1a(Tfo)N—

。⑹cocooooO

J/C/O。。O||Q00t>0/oc|

LTADD2《/°o/,j

/cfDOO7(11

x/o000f006J

05(1O'lOO1—玲cq.&F(7oYn\

I,\1<io1n\

^6。。0foo|ofot>aooOI

/0(00。II(>06

C/。。00C0

方案一的程序設(shè)計(jì)圖

12

(2)輸入的數(shù)據(jù):

(94)16=(10010100)2fR1

(08)16=(00001000)2-R2

(17)16=(00010111)2fR3

(3)微程序設(shè)計(jì)及說明:

1.微程序流程圖

00

2.二進(jìn)制代碼表

地址十六進(jìn)制表示高五位S3-S0A字段B字段C字段UA5-UAO

00000001000000000000000000000001

01006D43000000000110110101000011

03107070000100000111000001110000

0400

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論