当前位置:文档之家› 计算机组成原理课程设计报告及代码之复杂模型机设计剖析

计算机组成原理课程设计报告及代码之复杂模型机设计剖析

课程设计报告

课程名称:计算机组成原理

题目名称:复杂模型机设计

专业名称:计算机科学与技术

班级: 2013240203

学生姓名:李俊

同组同学:丰翔王兆宇

学号:201324020311

指导教师:兰勇

完成时间: 2016年1月8 日

目录

一、课程设计概述 (3)

1.1 课程设计的教学目的 (3)

1.2 课程设计任务和基本要求 (3)

1.3 设计原理 (3)

二、规定项目的实验验证 (4)

2.1 设计原理 (4)

2.2 操作步骤 (10)

三、指定应用项目的设计与实现 (14)

3.1设计任务 (14)

3.2任务分析以及解决方案 (14)

四、收获和体会 (15)

4.1 我的收获与体会 (15)

一、课程设计概述

1.1 课程设计的教学目的

本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的方法,进一步加深对计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。在设计实践中提高应用所学专业知识分析问题和解决问题的能力。

1.2 课程设计任务和基本要求

本课程设计以TD—CMA计算机组成原理教学实验系统为平台完成。

1. 按给定的数据格式和指令系统,理解微程序控制器的设计原理。

2. 设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的微指

令代码。

3. 连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程和结

果。

4. 将微程序控制器模块与运算器模块、存储器模块联机,组成一台模型计算机。

5. 用微程序控制器控制模型机的数据通路。

6. 通过在模型机上运行有机器指令组成的简单程序,掌握机器指令与微指令的

关系,建立计算机的整机概念,掌握计算机的控制机制。

7. 按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,

按照模型机数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程序,装载代码到TD—CMA实验系统并运行,实现应用要求。

1.3 设计原理

在部件实验中,我们是人为用二进制开关来模拟一些控制信号完成数据通

路的控制。而在本课程设计中,数据通路的控制由微程序控制器来完成。计算机从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令的列来完成,即一条机器指令对应一个微程序。

二、规定项目的实验验证

2.1 设计原理

机器指令格式:$P XX XX 机器指令标志、十六进制地址、机器指令代码微指令格式:$M XX XXXXXX 微指令标志、十六进制地址、微指令代码

微指令代码格式

CN代表进位

WR、RD代表向MEM单元写和读

IOM代表向IN或OUT单元读写

S3-S0代表不同的运算

A指定目的地址

B指定原地址

C代表P测试或指定目的地址为PC指针

M5-M0代表下一个微指令的地址(一共6位,所以最大值为3F)

WR、RD、IOM的功能

S3~S0以及CN的功能

ABC字段以及功能

寻址模式

RS、RD的表示

一般D表示立即数;P表示地址

复杂模型机数据流图

微指令格式如表3所示,当微指令格式确定之后,下一步就是确定后续微指令地

当微指令格式确定之后,下一步就是确定后续微指令址通常的方法是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试,这些微地址确定以后,就可以在一个“微地址表”中将分支微地址填入相应的分支微地址单元,避免以后的设计中因重复使用而造成错误,对于其他位置按照数据通路可画出机器指令的微程序流程图如图2所示,当拟定“取值”微指令时,该微指令的判别测试字段为P(1)测试,由于取值指令是所有微程序都是用的公用微序,因此P(1)测试结果出现多路分支,本机使用指令寄存器的前四位(IR7-IR4)作为测试条件,

出现5路分支,占用5个固定的微地址单元。控制台操作作为P(4)测试,它以控制台开关SWB 、SWA 作为测试条件,出现了3路分支,占用3个固定的微地址单元,当分支地址单元固定后,其余每条微指令各占用控存一个微地址单元,随意填写即可。

注意:微程序流程图上的单元地址为八进制。指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到缓存,然后在传送到指令寄存器中。

NOP

PC->AR PC++

MEM->IR

P<1>

SUB OR DEC LDI HALT ROL 保留TEST OUT IN AND ADD 直接间接变址相对寻址

RD->A RS->B A+B->RD RD->A

RS->B A&B->RD PC->AR PC++MEM->AR IO->RD PC->AR PC++

MEM->AR

RS->IO NOP

PC->AR PC++

PC->AR PC++

MEM->B RD->A A-B RD->A RS->B A-B->RD RD->A RS->B A|B->RD PC->AR PC++PC->AR PC++PC->AR PC++PC->AR PC++

MEM->A MEM->AR MEM->A MEM->A

MEM->AR MEM->A RI->B PC->B

MEM->AR

A+B->AR

A+B->AR

P<2>

STA LAD JMP JNZ

MEM->RD RD->MEM A->PC NOP

P<3>A->PC

NOP

RD->A NOP

01

03

30

303132333435383B 3C 3D 3E 3F

1C 1E 282C

2D

2E

A+B->A

A+B->A 1D

1F 292A 2B

2F

0C

0C 0C

0B

0B

1B

0405

0607

0809

0A 10

2122

3501

131415

16

2001010101010118010101

MEM->RD RD->A A-1->RD A<<1->RD 01

1112

微程序流程图

(用visio 画的,电子版的可以放大查看,纸质版的另附一张图)

当全部微程序设计完毕后,应将每条微指令代码化,表4即为将图2微程流

表4二进制微代码表

本设计的机器指令程序及相应的汇编程序如下:

微指令

2.2 操作步骤

实验连线图

1.连线:按实验连线图进行连线。

2. 测试:在联机软件CMA中打开综合性实验的数据通路图,并进行测试3.编写程序:采用联机读/写程序

按下面规定格式,用联机软件在CMPP中建立将机器指令及微指令的二进制代码编辑成十六进制的*.TXT文档,并用联机软件的转储功能将该格式文件装载到实验系统中。

测试程序及微指令代码:

4.运行程序

联机运行:联机运行程序时,进入CMA软件界面,装在机器指令及微指令后,选择【实验】→【综合性实验】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。

三、指定应用项目的设计与实现

3.1设计任务

1、基本模型机设计与实现;

2、在基本模型机设计的基础上设计一台复杂模型机

3.2任务分析以及解决方案

任务分析:本实验完成了逻辑与、左移、算术加、减运算、直接寻址、间接寻址、变址寻址、test指令并用JNZ、JMP指令实现跳转。同时涉及到输入输出数据和将寄存器中的内容输入到内存中等知识点。

解决方案:

1. 从in单元读入一个数,读入R1。

2. 立即数0FH送R0

3. R0&R1与运算得到R1的低四位,输出R1的值

4. 通过变址寻址找到地址为64H单元的数据存入R3,且输出R3

5. R1=R1+R3,输出R1。

6. 通过间接寻址找到67H单元的数据62H,将62H中的数据存入R3,输出R3

7. R1=R1-R3,输出R1

8. 将R1左移一位

9. 输出R1

10. R1--

11.Test R1,00,通过JNZ跳转至第9步

12.跳转至START

四、收获和体会

4.1 我的收获与体会(李俊)

通过本次课程设计,对计算机的基本组成,部件的设计,部件间的连接,微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论课程的理解。

通过自己对一系列微程序的编写,对程序执行的流程以及指令之间的跳转有了更深的理解,能够根据流程图和机器指令写出相应的微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对各种指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能。最后感谢老师和同组同学的帮助。

相关主题
文本预览
相关文档 最新文档