计算机组成原理专周报告.docx

上传人:b****5 文档编号:4314257 上传时间:2022-11-29 格式:DOCX 页数:10 大小:21.85KB
下载 相关 举报
计算机组成原理专周报告.docx_第1页
第1页 / 共10页
计算机组成原理专周报告.docx_第2页
第2页 / 共10页
计算机组成原理专周报告.docx_第3页
第3页 / 共10页
计算机组成原理专周报告.docx_第4页
第4页 / 共10页
计算机组成原理专周报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

计算机组成原理专周报告.docx

《计算机组成原理专周报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理专周报告.docx(10页珍藏版)》请在冰豆网上搜索。

计算机组成原理专周报告.docx

计算机组成原理专周报告

实验报告

课程名称计算机组成原理专周

班级1305012

姓名李鑫

学号23

指导教师倪继烈

时间:

2015.12.21-

计算机工程系

《计算机组成原理专周》实验报告

实验名称

12条指令的计算机实现

实验时间

学生姓名

李鑫

班级

1305012

学号

23

指导教师

倪继烈’

批阅教师

成绩

实验目的:

1、学习模型机总体结构

CP226模型机包括了一个标准CPU所具备所有部件,这些部件包括:

运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。

其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。

微程序控制部分也可以用组合逻辑控制来代替。

2、学习模型机寻址方式

模型机的寻址方式分五种:

累加器寻址:

操作数为累加器A,例如“CPLA”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。

寄存器寻址:

参与运算的数据在R0-R3的寄存器中,例如“ADDA,R0”指令是将寄存器R0的值加上累加器A的值,再存入累加器A中。

寄存器间接寻址:

参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,如“MOVA,@R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。

存储器直接寻址:

参与运算的数据在存储器EM中,数据的地址为指令的操作数。

例如“ANDA,40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。

立即数寻址:

参与运算的数据为指令的操作数。

例如“SUBA,#10H”是从累加器A中减去立即数10H,结果存入累加器A。

3、学习模型机指令集

模型机的缺省的指令集分几大类:

算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。

1.了解模型机的组成及工作原理。

2.掌握模型机的指令格式、寻址方式、指令流程及工作过程。

3.设计和实现10条以上基本计算机指令的实现。

实验环境:

Windos环境、DICE-CP226实验环境

摘要

《计算机组成原理》系统地介绍了计算机的基本组成原理和内部工作机制。

《计算机组成原理》共分8章,主要内容分成两个部分:

第1、2章介绍了计算机的基础知识;第3~8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。

此次模型机为8位机,根据指令类型的不同,可以有0到2个操作数。

指令的最低两位用来选择寄存器,在微程序控制方式中,用指令吗作为微地址来寻址,找到该指令的微程序。

并完成下面相关操作

本次设计将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

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

本系统使用两种外部设备,一种是二进制代码开关(DATAUNIT),它作为输入设备;另一种是发光二极管(BUSUNIT上的一组发光二极管),它作为输出设备。

例如:

输入时,二进制开关数据送到数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。

输出时,将输出数据送到数据总线BUS上,驱动发光二极管显示。

此次课设主要完成六条机器指令:

IN(输入)、ADD(二进制加法)、SUB(存数)、INC(地址加1)、OUT(输出)、JMP(无条件转移)。

我们先对指令进行了分析,根据数据通路图画出了每个微程序的流程图,根据微程序地址转移电路计算出每个微程序的起始地址,根据起始地址对每一条微指令编码,编码之前我们必须弄清每条微指令由那些信号控制,并且要了解信号的“1”、“0”代表什么。

对每一条微指令编码后将微指令写入到实验箱中,此外我们也要对控制台操作微程序进行编码。

根据实验接线图接线检查无误后,使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。

使用RP启动程序。

单步运行程序检查实验结果。

时间进度安排

顺序

阶段日期

计划完成内容

备注

1

第1天(12月21日)

阅读资料、系统分析设计

2

第2天(12月22日)

系统分析设计、微程序编制

3

第3-4天(12月23-24日)

微程序输入、调试及运行

4

第5天(12月25日)

基本模型机运行验收、答辩

5

第6-7天(12月26日-27日)

撰写课程设计说明书

实验内容:

1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:

设计题目、设计目的、设备器材、设计原理、设计内容、设计步骤、实现方法及关键技术、遇到的问题及解决方法、设计总结等。

一般不应少于3000字。

2.在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码表等图表进行说明。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.设计总结部分主要写本人设计期间所做工作简介、得到了哪些设计成果、以及自己的设计体会,包括通过课程设计有何收获,程序有哪些不足之处,哪里遇到了困难,解决的办法,以及今后的目标。

4.课程设计说明书手写或打印均可,具体要求如下:

手写时要用统一的课程设计用纸格式,用黑或蓝黑墨水工整书写;

打印时采用A4纸,页边距均为20mm,目录、各章标题(如:

2设计原理及内容)和设计总结等部分的标题用小三号黑体,上下各空1行,居中书写;一级节标题(如:

2.1设计原理)采用黑体四号字,二级节标题(如:

2.1.1数据通路)采用黑体小四号字,左对齐书写。

正文采用宋体小四号字,行间距18磅,每个自然段首行缩进2个字。

图和表的要有编号和标题,如:

图2.1数据通路图;表1.1机器指令表。

图题与表题采用宋体五号字。

表格内和插图中的文字一般用宋体五号字,在保证清楚的前提下也可用更小号的字体。

英文字体和数字采用TimeNewRoman字体,与中文混排的英文字号应与周围的汉字大小一致。

页码用五号字,在每页底端居中放置。

5.课程设计说明书装订顺序为:

封面、任务书、成绩评定表、设计小组任务分配及自评、目录、正文、设计总结。

在左侧用订书钉装订,不要使用塑料夹。

6.设计小组任务分配及自评处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。

包括该同学主要完成了哪些任务,课程设计期间的表现和态度如何,组长自己的评语由小组其他成员集体讨论后写出。

拟定指令系统

确定总体结构

安排时序

拟定指令操作流程和微命令序列

形成控制逻辑

实现十二条指令:

MOVA,#II

ADDA,#II

RLA

JZMM

JMPMM

INA

RRA

RLCA

RRCA

JCMM

Call

Ret

改进时序电路:

当指令执行完毕后,提前结束后续空闲节拍。

增设CPU周期(例如:

取指令周期、执行指令周期等)。

增设控制台命令(例如:

程序输入、程序校验、程序运行等命令),

方便用户程序输入与校验。

增设存数指令(例如:

MOVMM,A)。

增加中断功能(例如:

INT、RETI)。

不采用系统提供的ALU,自己重新设计ALU部件。

设计原理:

本次设计将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

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

本系统使用两种外部设备,一种是二进制代码开关(DATAUNIT),它作为输入设备;另一种是发光二极管(BUSUNIT上的一组发光二极管),它作为输出设备。

例如:

输入时,二进制开关数据送到数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。

输出时,将输出数据送到数据总线BUS上,驱动发光二极管显示。

器件原理图:

数据通路图:

模型机微指令集:

实验步骤及实验结果记录:

拟定指令系统

13条指令的计算机微操作序列表

(1)

节拍

微操作

微操作控制信号

MOV·T0

PC→EM→IR

EMRD、PCOE、IREN

MOV·T1

PC→EM→A

EMRD、PCOE、EMEN、AEN

MOV·T2

空操作

无信号

MOV·T3

空操作

无信号

ADD·T0

(同MOV)

EMRD、PCOE、IREN

ADD·T1

PC→EM→W

EMRD、PCOE、EMEN、WEN

ADD·T2

A+W→A

DOE、AEN

JMP·T0

(同MOV)

EMRD、PCOE、IREN

JMP·T1

PC→EM→PC

EMRD、PCOE、EMEN、ELP

13条指令的计算机微操作序列表

(2)

节拍

微操作

微操作控制信号

RL·T0

PC→EM→IR

EMRD、PCOE、IREN

RL·T1

A左移→A

LOE、FEN、AEN

RL·T2

空操作

无信号

RL·T3

空操作

无信号

JZ·T0

(同MOV)

EMRD、PCOE、IREN

JZ·T1

PC→EM→PC

EMRD、PCOE、EMEN、ELP

JZ·T2

空操作

JZ·T0

空操作

13条指令的计算机微操作序列表(3)

节拍

微操作

微操作控制信号

CALL·T0

PC→EM→IR

EMRD、PCOE、IREN

CALL·T1

PC→MAR

PCOE(PC+1)、PCOED、MAREN

CALL·T2

PC→ST

PCOED、STEN

CALL·T3

MAR→EM→PC

EMRD、EMEN、ELP、MAROE

RET·T0

(同MOV)

EMRD、PCOE、IREN

RET·T1

ST→PC

STOE、ELP

IN·T0

(同MOV)

EMRD、PCOE、IREN

IN·T1

IN→A

INOE、AEN

IN.T2

空操作

13条指令的计算机微操作序列表(4)

节拍

微操作

微操作控制信号

RR·T0

PC→EM→IR

EMRD、PCOE、IREN

RR·T1

A右移→A

ROE、AEN、FEN

RR·T2

空操作

无信号

RR·T3

空操作

无信号

13条指令的计算机的未操作表

组合逻辑控制计算与实现:

微操作控制信号逻辑表达式:

EMRD=T0+T1·(MOV+ADD+JMP)+T3·CALL

PCOE=T0+T1·(MOV+ADD+JMP+CALL)

IREN=T0

EMEN=T1·(MOV+ADD+JMP)+T3·CALL

AEN=T1·(MOV+RL+RLC+IN+RR+RRC)+T2·ADD

WEN=T1·ADD

DOE=T2·ADD

ELP=T1·(JMP+RET)+T3·CALL

LOE=T1·(RL+RLC)

FEN=T1·(RL++RLC+RR+RRC)+T2·ADD

PCOED=T1·CALL+T2·CALL

MAREN=T1·(CALL)

MAROE=T3·CALL

STEN=T2·CALL

STOE=T1·RET

ROE=T1·(RR+RRC)

指令测试代码:

DB7CH,00H;MOVA,#00H

DB1CH,01H;ADDA,#01H

DB0D4H;RLA

DB0A4H,09H;JZ09H

DB0ACH,04H;JMP04H

DB0BCH,11H;CALL11H

DB7CH,0FFH;MOVA,#0FFH

DB1CH,02H;ADDA,#02H,CF=1

DB0A0H,19H;JC19H

;子程序

DB7CH,80H;MOVA,#80H

DB0D0H;RRA

DB0A4H,0BH;JZ0BH

DB0ACH,12H;JMP12H

DB0CCH;RET

DB7CH,0FFH;MOVA,#FFH

DB1CH,02H;ADDA,#02H

DB0DCH;RLCA

DB1CH,0FDH;ADDA,#0FDH产生cf进位

DB0D8H;RRCA

DB0C0H;IN输入一个数显示出来

DB0ACH,21H;JMP021H

END

DICE-CP226上的电路设计:

程序代码加载后的运行效果图:

实验结果及分析

1运行结果

根据指令,流水灯达到了预期的效果,实现了左移后跳转向右移动。

当in输入的时候,累加器的值会随输入值变动

运行结果与预期结果相符。

2遇到的问题

在画流程图的时候,INC操作出现错误;

由于没有充分理解控制台微程序造成写机器指令时出现错误,在设计新的控制信号时影响到之前的信号,产生错误结果;

运行程序时出现问题,程序无法正常运行。

3解决办法

检验线路的连接,发现“MA”的线接错了,纠正过来;

在老师的帮助下以及经过组内同学的研究讨论成功解决;

由于没有充分理解控制台微程序造成写机器指令时出现错误;

实验总结:

微机的最基础语言--汇编语言的一个最基础最古老的计算机语言。

而事物总是越基础越重要,在重大的编程项目中应用最广泛,因为就我个人的理解,汇编是对寄存的地址,以及数据单元进行最直接的修改,而在某些时候,这种方法是的最有效,也是最可靠的,事物总有两面性,有优点,自然缺点也不少,最重要的一点就是汇编语言很复杂,对某个数据进行修改时,本来很简单一个操作会用比较烦琐的语句来解决,而这些语句本身在执行和操作的过程中,占用大量的时间和成本。

在一些讲求效率的场合,并不可取,所以可以适当取舍它。

但是计算机组成原理又不得不和汇编语言打交道。

完成了对存储器进行读写,并在给定目标和条件下进行位扩展和字扩展的实践设计以完成目标任务。

在布线的时候发现由于输入端口不够使用,我们就可以使用左上角的转盘输入增大输入端口数。

我们首先向存储器当中写入一个数值,然后再操作读取改地址信号,测试程序设计正确性。

让我们了解了isis7这个软件,也让我们能够用软件模拟硬件,让我知道任何实验都是一个工程,而一个大工程大项目都是由这些小工程形成的,实验的目的在于提高我的动手能力和意识,开阔了我的思维,让我知道实验中一个小小的符号错误都会导致无法运行,实验中一定要认真仔细,注意每个小的细节,养成良好的习惯。

主要参考资料(文献):

计算机组成原理实验指导书与课程设计指导书

计算机组成原理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1