- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
计算机硬件课程设计
复杂模型机设计
PAGE
PAGE10
目录
一、程序设计……………………2…………
1、设计目的………….2……………
2、设计内容…………..….2……………
二、设计原理………………….….2…………
1、机器指令系统设计……………….2……………
2、微操作流程图设计………………5……………
3、微程序设计………6……………
三、验证程序 6
四、心得体会 9
…………
…………
一、程序设计
1、实验目的:
搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
2、设计内容
确定设计目标:确定所设计计算机的功能和用途。
确定指令系统:确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
确定总体结构与数据通路:总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。4)设计指令执行流程:数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度。5)确定微程序地址:根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。
根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中7)组装、调试:在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。
二、设计原理
1、机器指令系
数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
符号
尾
数
指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指和停机指令。
算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
D7 D6 D5 D4
D7 D6 D5 D4
D3 D2
rs
D1 D0
OP-CODE
rd
其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
rs
rs或rd00
01
10
选定的寄存器
R0R1R2
9条算术逻辑指令的名称、功能和具体格式见表
访存指令及转移指令
模型机设计2条访存指令――存数(STA)和取数(LDA),2条转移指令――无条件转移(JMP)和结果为零或有进位转移指令(BZC),这4条指令长度为2个字节,其指令格式为:
D7 D6
D7 D6
D5D4
D3 D2
D1 D0
0 0
M
OP-CODE
D
rd
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为偏移量(正负均可),M为寻址模式,其定义如下:
寻址模式M
有效地址E
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(RI)+D
RI变址寻址
11
E=(PC)+D
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
D7 D6 D5 D4
D7 D6 D5 D4
D3
addr
D2
D1 D0
OP-CODE
rd
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。
停机指令
指令格式如下:
D7 D6 D5
D7 D6 D5 D4
D3 D2
00
D1 D0
00
OP-CODE
HALT指令用于实现停机操作。
、所设计的机器指令列表
RAM地址
助记符
指令码
说明
OX00
INR0
00000000
INPUT
R0
OX01
INCR0
00010000
R0+1-R0
OX02
MOVR0,R1
00100001
R0-R1
OX03
LOADX,R2
00110010
INPUT-R0
OX04
00100101
地址为25的内存单元
OX05
SUBR1,R0
01000
文档评论(0)