- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机硬件课程设计——基于微程序的复杂模型机设计_精品
计算机硬件课程设计
---基于微程序的复杂模型机设计
实验题目:
设计一台有微程序控制的8位模型机,指令系统要求达到10条指令以上。
实验目的:
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台复杂模型计算机,建立一台基本完整的整机。
(2)为其定义至少十条机器指令,并编写相应的微程序,通过联机调试,观察计算机执行指令:从取指令、指令译码、执行指令等过程中数据通路内数据的流动情况,进一步掌握整机概念。
实验设备:
TDN-CM+教学实验系统一套、PC微机一台
实验原理与指令设计:
实验原理:
①数据格式
模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:
7 6 5 4 3 2 1 符号 尾 数 其中,第7位为符号位,数值表示范围是-27 ≤X≤27-1
②机器指令格式
单字节指令寻址方式采用寄存器直接寻址,其格式如下:
7 6 5 4 3 2 1 0 OP-CODE RS RD 双字节指令采用直接寻址,其格式如下
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 OP-CODE RS RD ADDR 其中,OP-CODE为操作码,RS为源寄存器,RD为目标寄存器,并规定:
RS或RD 选定的寄存器 00
01
10 R0
R1
R2 ③微指令格式:
24 23 22 21 20 19 18-16 15-13 12-10 9-7 6-1 S3 S2 S1 S0 M Cn WE,A9,A8 A字段 B字段 C字段 UA5-UA0
其中,A、B、C三个字段的编码方案如下表:
A字段 B字段 C字段 15 14 13 选择 12 11 10 选择 9 8 7 选择 000 NOP 000 NOP 000 NOP 001 LDRi 001 RS-B 001 P1 010 LDDR1 010 BD-B 010 P2 011 LDDR2 011 RI-B 011 P3 100 LDIR 100 299-B 100 P4 101 LOAD 101 ALU-B 101 AR 110 LDAR 110 PC-B 110 LDPC
WE,A9,A8三个字段编码方案如下:
WE A9 A8 功能 0 0 0 INPUT 0 0 1 RAM读 1 0 1 RAM写 1 1 0 LED,写 0 1 1 无 0 1 0 读接口 运算器逻辑功能表
指令设计:
模型机可设计4大类指令共16条,其中包括算术逻辑指令、访存指令、控制转移指令、I/O指令、停机指令。我们设计的十条指令及其操作码与指令格式如下所示:
指令代码 指令格式 功能 IN Rd 0000 xxRd input-Rd MOV Rs,Rd 0001 RsRd Rs-Rd MOV Rd,X 0010 xxRd X X-Rd LOAD Rd,X 0011 xxRd X [X]-Rd ADD Rs,Rd 0100 RsRd Rs+Rd-Rd SUB Rd,X 0101 xxRd X Rd-X-Rd JZ X 0110 xxxx X 若ZF=1,X-PC
若ZF=0,PC+1-PC JMP X 0111 xxxx X X-pc OUT Rs 1000 Rsxx Rs-output STOR Rs,X 1001 Rsxx X Rs-[X]
机器指令的微操作流程图如下
运行微程序
代码编制:
指令代码: 机器指令: IN R0 00 MOV R0,R2 12 MOV R1,0 21 00 NEXT1: LOAD R0,[50] 38 50 ADD R0,R1 41 SUB R2,1 52 01 JZ NEXT2 60 0D JMP NEXT1 70 04 NEXT2: OUT R0 80 STOR R1,[40] 90 40
代码文件名为test.txt,其内容如下:
$P0000 ; IN R0
$P0112 ; MOV R0,R2
$P0221 ; MOV R1,0
$P0300
$P0438 ; LOAD R0,[50]
$P0550
$P0641 ; ADD R0,R1
$P0752 ; SUB R2,1
$P0801
$P0960 ; JZ NEXT2
$P0A0D
$P0B70 ; JMP NEXT1
$P0C04
$P0D80 ; OUT R0
$P0E90
$P0F40 ; STOR R1,[40]
$ ; 00-01
$M0101ED82
文档评论(0)