山东理工大学 计算机组成原理,计算机组成原理课程设计--山东理工大学计算机学院.doc...

山东理工大学计算机学院

课 程 设 计

计算机组成原理

班 级

姓 名

学 号

指导教师

二○一一年一月十九日

课程设计任务书及成绩评定

课题名称 基于微程序的复杂模型机设计

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

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值