山东理工大学计算机学院
课 程 设 计
计算机组成原理
班 级
姓 名
学 号
指导教师
二○一一年一月十九日
课程设计任务书及成绩评定
课题名称 基于微程序的复杂模型机设计
I、 题目的目的和要求:
经过一系列硬件课程的学习及相关实验之后,做一个综合的系统性设计,这在硬件方面是一个提高,可进一步培养实践能力。
搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
II、 设计进度及完成情况
日 期
内 容
III、 主要参考文献及资料
学科部主任 李业德
Ⅵ、成绩评定:
设计成绩: (教师填写)
指导老师: (签字)
二○ 年 月 日
目录
第一章 硬件课程设计目的1
第二章 硬件课程设计内容1
第三章 指令系统列表1
第四章 微操作及其流程图2
第五章 验证程序5
第六章 微程序列表5
第七章 心得体会6
第一章 硬件课程设计目的
经过一系列硬件课程的学习及相关实验之后,做一个综合的系统性设计,这在硬件方面是一个提高,可进一步培养实践能力。
第二章 硬件课程设计内容
搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
第三章 指令系统列表
采用的一般指令格式为:
7 4
3 2
1 0
OP-CODE
RS
RD
DATA/ADDR
模型机的指令系统:
指令名称
操作码
指令功能
输入(IN)
0000
将数据输入寄存器R0
移数(MOV1)
0001
MOV REG,REG,寄存器直接寻址
加法(ADD)
0011
R0+R1→R0,加法运算
移数(MOV2)
0100
MOV DATA,REG立即数直接寻址
自增(INC)
0110
R0+1→R0,R0自增
无条件跳转(JMP)
0111
ADDR→PC,执行指定的机器指令
输出(OUT)
1010
在LED上输出R0
取数(MOV3)
1011
相对寻址,目标地址PC+Disp,将结果存入R0
循环右移(RRC)
1101
对R0中的数右移一位存入R0
停机指令(HALT)
1110
执行结束
第四章 微操作及其流程图
本指令系统中所有指令及其对应微操作对应如下:
IN R0:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③INPUT→R0。
MOV R0,R1:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③R0→R1。
IN R0:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③INPUT→R0。
ADD R0,R1:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③R0→DR1;④R1→DR2;⑤[DR1]+[DR2]→R1。
MOV R0,2C:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③PC→AR,PC+1→PC;④RAM→BUS,BUS→R0。
INC R0:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③R0→DR1;④[DR1]+1→R0。
JMP P1:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③PC→AR,PC+1→PC;④RAM→BUS,BUS→PC。
P1:OUT R0:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③R0→OUTPUT。
MOV R0,[PC+22]:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③PC→AR,PC+1→PC;④RAM→BUS,BUS→DR1;⑤PC→DR2;⑥[DR1]+[DR2]→AR;⑦RAM→BUS,BUS→R0。
RCR R0:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③(229)右移→229;④229→R0。
HALT:
①PC→AR,PC+1→PC;②RAM→BUS,BUS→IR;③0→RUN。
微操作流程图见下页:
微操作流程图:
第五章 验证程序
IN R0
MOV R0,R1
IN R0
ADD R0,R1
MOV R0,2C
INC R0
JMP P1
P1:OUT R0
MOV R0,[PC+22]
RRC R0
HALT
第六章 微程序列表
机器指令及微程序列表如下:
机器指令
微指令
$P0000
$P0111
$P0220
$P0331
$P0440
$P052C
$P0660
$P0770
$P080A
$P0AA0
$P0BB0
$P0C22
$P0DD0
$P0EE0
$M00018001
$M0101ED82
$M0200C050
$M10001001
$M11019201
$M12001001
$M1301A20A
$M0A01B40B
$M0B959A01
$M1401EDA1
$M21009001
$M1601A40C
$M0C05814D
$M0D019B41
$M1701ED8E
$M0E00D181
$M1A070201
$M1B01ED8F
$M0F00A022
$M2201BC23
$M2395EA21
$M1D31822E
$M2E29882F
$M2F019801
$M1E01801E
第七章 心得体会
硬件课程设计,从开始到完成总共两天时间,但这两天时间里的每一分每一秒感觉都是新的,因为一直在进步,一直在收获,到最后完成的时候我真真正正的有一种畅快的感觉。
第一天早上刚拿到设计要求的时候非常茫然,完全不知道该做什么,如何入手,虽然学过组原也做过简单的实验,但现在要理论联系实际的时候困难就接踵而至了。没办法,先从插线开始。然而,插完线之后又开始不知所措了。中午回去把组原书和微机接口还有实验手册都翻了出来,仔细读了下相关部分,终于摸到一些门道了。于是下午开始对照书上的一个测试程序开始逐行解读,并修改了由于入口地址变化而影响的微指令,最后测试通过。这是一个转折,这种自顶向下的学习方法让我很高效地了解了该做什么,怎么做。于是我开始有目的地编写机器指令和微指令。当然过程中还是遇到了很多问题,这些问题最后通过问老师得以很好的解决。最后我们组终于靠自己完成了课设,这让我们都感到很欣慰,因为我们坚持到了最后,完成了所有的任务,也巩固了以前学过的知识。这是我们最大的收获。
经历了两天时间的绞尽脑汁,终于完成了本次硬件课程设计内容。
虽然曾经在相关课程中学到了与课程设计有关的内容,但是在此之前并没有机会将理论知识付诸实践。初上手的时候感觉非常茫然,不知该如何下手,但是在老师的悉心指导和同学们之间的热烈讨论,让任务的进行渐渐有了方向,找到了理论和实践相结合的关键所在。随着起初的疑惑一个个得到了老师耐心的解答,在加上我和石磊的不断研究和尝试,设计的思路渐渐清晰,课程设计的进展速度越来越快,终于比规定的时间提前了半天完成。虽然在整个过程中经历了不少挫折,但是最后的成功带来的喜悦和收获让我觉得一切努力都是值得的。
八、附录
1.微指令格式:
WE
A9
A8
功能
0
0
0
读INPUT
0
0
1
读RAM
1
0
1
写RAM
1
1
0
写OUTPUT
0
1
1
无
0
1
0
读接口芯片端口
299移位控制功能表
299-b
s1
s0
m
功能
0
0
0
任意
保持
0
1
0
0
循环右移
0
1
0
1
带进位循环右移
0
0
1
0
循环左移
0
0
1
1
带进位循环左移
任意
1
1
任意
装数
2.模型机数据通路图
14
展开阅读全文