组成原理 基于流水线的课设报告.docx

上传人:b****7 文档编号:10174795 上传时间:2023-02-09 格式:DOCX 页数:17 大小:641.90KB
下载 相关 举报
组成原理 基于流水线的课设报告.docx_第1页
第1页 / 共17页
组成原理 基于流水线的课设报告.docx_第2页
第2页 / 共17页
组成原理 基于流水线的课设报告.docx_第3页
第3页 / 共17页
组成原理 基于流水线的课设报告.docx_第4页
第4页 / 共17页
组成原理 基于流水线的课设报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

组成原理 基于流水线的课设报告.docx

《组成原理 基于流水线的课设报告.docx》由会员分享,可在线阅读,更多相关《组成原理 基于流水线的课设报告.docx(17页珍藏版)》请在冰豆网上搜索。

组成原理 基于流水线的课设报告.docx

组成原理基于流水线的课设报告

课程设计报告

课程名称计算机组成原理

课题名称基于流水技术的模型计算机设计

专业计算机科学与技术

班级计算机0803

学号200803010319

姓名吴润周

指导教师陈华光、邓作杰、陈多

2010年7月8日

湖南工程学院

课程设计任务书

 

课程名称计算机组成原理

课题基于流水技术的模型计算机设计

 

专业班级计算机0803

学生姓名吴润周

学号200803010119

指导老师陈华光、邓作杰、陈多

审批陈华光

 

任务书下达日期2010年7月8日

任务完成日期2010年7月16日

 

一、设计内容与设计要求

1.设计内容

流水方式是把一个复杂的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。

由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。

把一条指令分解为“分析”和“执行”两个子过程,这两个子过程分别在执行分析部件和指令执行部件中完成。

在指令分析部件和指令执行部件的输出端各有一个锁存器,可以分别保存指令分析和指令执行的结果,因此,指令分析和指令执行部件可以完全独立并行地工作,而不必等一条指令的“分析”、“执行”子过程都完成之后才送入下一条指令。

分析部件在完成一条指令“分析”并将结果送入指令执行部件的同时,就可以开始分析下一条指令,依次循环。

2.设计要求:

(1)借助于TDN-CM++的内部可编程资源CPLD进行控制器设计,利用TDN-CM++实验箱提供的运筹器,寄存器组,存储器,时序电路,总线,输入输出单元等设计一台(组合逻辑)硬布线控制器的模型计算机,设计包括模型计算机组成的设计,指令系统的设计,并用指定的汇编语言完成调试要求调试成功。

(2)基于流水技术模型机的设计要求(P148)

定义五条机器指令:

LOAD[addr],R0(取数指令,[addr]”->R0)

ADDDR1,DR2,R0(二进制加法指令,DR1+DR2->R0)

MOVR0,DRi(传数指令,R0->DRi)

STORER0,addr(存数指令,R0->[addr])

JMPaddr(无条件转移指令,addr->PC

(3)调试的程序(参考)

地址(H)内容(H)助记符说明

0030LOAD[80],R0[80H]->R0

0180

0200MOVR0,DR1R0->DR1

0303MOVR0,DR2R0->DR2

0410ADDDR1,DR2,R0DR1+DR2->R0

0540STORER0,[82]R0->[82H]

0682

0720JMP0000H->PC

0800

在规定的时间内以小组为单位完成相关的系统功能实现、数据测试和记录并进行适当的分析。

(4)按本任务书的要求,编写《课程设计报告》(Word文档格式)。

并用A4的复印纸打印并装订。

(5)在规定的时间内,请各班学习委员收齐课程设计报告交陈华光老师。

3.分组及安排

第5组,学号除以5取余数,余数为0的同学做基本模型机1、余数为1的同学做复杂模型机1,余数为2的同学做复杂模型机2,余数为3的同学做基于RISC的模型机,余数为4的做流水线模型机,每个组必须独立完成指定的题目,每个同学按要求独立完成课程设计报告。

4.成绩评定

程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。

二、进度安排

第19周-20周,具体安排如下:

星期

时间

班级

内容

地点

第二十周

上午

计算机0801/02/03

任务安排

E-510

下午2.3:

0-6.30

计算机0801

接线

E-510

上午8:

00-12.00

计算机0801

调试

E-510

下午2.3:

0-6.30

计算机0801

系统调试实现

E-510

下午2.3:

0-6.30

计算机0802/0803

接线

E-510

上午8:

00-12.00

计算机0802/0803

调试

E-510

下午2.3:

0-6.30

计算机0802/0803

系统调试实现

E-510

附:

课程设计报告装订顺序:

封面、任务书、目录、正文、评分表、附件(A4大小的图纸及程序清单)。

正文总字数要求在5000字以上(不含程序原代码)。

目录

一、课题的主要功能

1、流水线的主要功能介绍

二、总体设计方案

1、流水模型机的逻辑框图

2、流水模型机的逻辑框图的特点

三、数据格式和指令格式的设计

1、数据格式

2、指令格式

四、CPLD实现原理

五、在实验箱中的运行结果

六、课程设计的收获及体会

七、参考资料

八、计算机科学与技术系课程设计评分表

 

一、课题的主要功能和特点

流水线把一个复杂的过程分解为若干个子过程,每一个子过程与其他的子过程同时进行,由于这种方式与工厂的流水生产相似,因此我们把它称之为流水线工作方式。

标量流水实际上是重叠工作方式的进一步发展。

如果把一条指令的解释过程进一步细分,例如,把分析、执行两个过程分成取指、译码、执行、访存和写回寄存器五个子过程,并用五个子部件分别处理这五个子过程。

这样只需在上一指令的第一子过程处理完毕进入第二子过程处理时,在第一子部件中就开始对第二条指令的第一子过程进行处理。

随着时间推移,这种重叠操作最后可达到五个子部件同时对五条指令的子过程进行操作。

 

上图中如果指令分析部件分析一条指令所用的时间△tl与指令执行部件执行一条指令所用的时间△t2相等,即△tl=△t2=△t,就‘条指令的解释来看还是需要2△t,但是从机器的输出来看,每过△t就有一条指令执行完成。

因此,机器执行指令的速度提高了一倍。

流水线的特点

采用流水线方式的处理机与传统的顺序执行方式相比,具有如下特点:

1.流水线中处理的必要是连续的任务,只有连续不断的提供任务才能发挥流水线的效率。

流水线从开始启动到流出第一个结果需要一个“装入时间”。

但这段时间并不跟顺序执行有什么差别。

2.在流水线每个功能部件的后面都要有一个缓冲寄存器,用于保存本段的执行结果,以保证各部件之间的速度匹配及各部件独立并行运行。

 

二、总体设计方案

1、流水模型机的逻辑框图

流水方式是把一个复杂的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。

由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。

把一条指令分解为“分析”和“执行”两个子过程,这两个子过程分别在执行分析部件和指令执行部件中完成。

在指令分析部件和指令执行部件的输出端各有一个锁存器,可以分别保存指令分析和指令执行的结果,因此,指令分析和指令执行部件可以完全独立并行地工作,而不必等一条指令的“分析”、“执行”子过程都完成之后才送入下一条指令。

分析部件在完成一条指令“分析”并将结果送入指令执行部件的同时,就可以开始分析下一条指令,依次循环。

 

模型机的参考逻辑框图(图1)

图1流水模型计算机逻辑框图

 

2、流水模型机的逻辑框图的特点

基本模型机逻辑框图是以存储器为中心的逻辑框图。

必须等一条指令的“分析”,“执行”字过程都完成菜松如下一条指令。

而流水模型机的逻辑框图分为指令分析部和指令执行部。

指令分析部负责取指,分析译码。

指令执行部执行机器指令。

控制算术逻辑单元的运作,得出结果并存放操作数。

由于在指令分析部和指令执行部的输出端各有一个锁存器,分别保存指令分析和指令执行的结果,因此,指令分析和指令执行部件可以完全独立工作,而不必等下一条指令的“分析”,“执行”字过程都完成菜松如下一条指令。

 

三、数据格式和指令格式的设计

1、数据格式

模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:

6543210

符号

尾数

其中第7位为符号位,相对于十进制数值表示范围是:

-27X27-1。

2、模型机的寻址方式

指令格式采用单字长及双字长两种格式:

单字节指令,寻址方式采用寄存器直接寻址,其格式如下

双单字节指令,指令格式为:

其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:

 

 

MOV、ADD两条指令为单周期执行完成。

STORE、LOAD、JMP三条指令为两周期执行完成。

在STORE、LOAD两条指令里,A为存或取数的直接地址;在JMP指令里,A为转移地址的立即数。

3、指令格式

由于本模型机只有5条指令,故使用单字长指令和双字长指令。

根据要求,指令格式及功能如下:

 

 

四、CPLD实现原理

CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。

是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。

CPLD主要是由可编程逻辑宏单元(MC,MacroCell)围绕中心的可编程互连矩阵单元组成。

其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。

由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。

它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。

几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。

CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。

CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。

 

五、线路连接图

六、程序流程及说明

PC—〉AR—〉ABUS;取指令完成

 

PC—〉ABUS;PC+1;译码,为下一个节拍的预取做准备

将82放到寄存器中,已解决各部件之间的速度不匹配的问题。

完成取址、译码、执行过程,计算机执行从80端口输入数值给R0

将经过计算的数值,重新放到R0中。

方便以后的输出

 

七、课程设计的收获及体会

实验开始的时候不是特别清楚如何着手开始,特别对指令,命令没有概念,还好经过问问题,讨论,尝试,我们开始知道微指令,并着手稍微修改了一下机器指令,以下是我修改的机器指令,有别于例题。

$P0030我们将数据从80端口输入,并送到R0

$P0180

$P0200并将R0的值送到DR1

$P0331我们将数据从80端口输入,并送到R1

$P0480

$P0507并将R1的值送到DR2中

$P0610将DR1和DR2的值相加放到R0中

$P0740将R0的值从82端口输出

$P0882

$P0920返回到00H端口

$P0A00

总的来说机器指令的大概的意思是差不多的,只不过还是大概知道机器指令内容,知道如何编码。

我们主要利用上图内容对所执行的机器指令进行重新编码,完成不同的指令调用。

 

为了更好的了解流水线的工作原理以及更好的完成课设,为此我们了解了一些有关于VHDL语言,在这里我对它了解做一个简单的认知性总结

如下图是我们看到程序的一个主体部分:

它类似于一个c++中的结构体,我们找到有关arcthitecture的有关知识如下,了解到了arcthitecture的基本结构。

Arcthitecture构造体名of实体名is

[定义语句]内部信号、常数、元件、数据类型、函数等的定义

begin

[并行处理语句和block、process、function、procedure]

end构造体名;

其中:

Signal(信号)在程序中可以被赋值(用“<=”),但不立即更新,当进程挂起后。

STD-logic是指一个静态的逻辑变量,这里可以同时定义多个变量。

在begin后面是多个赋值语句,为了更好的理解我们看到我们把上面的程序简化为下面的:

当A、B、C、D中任一信号发生变化时,进程将开始执行,当执行Z<=AandB后,Z的值不会立即变化;同理执行Z<=CandD后Z的值也不会立即变化。

当执行endprocess后,Z的值才开始更新。

为了更好的理解对于Process我把把它看作是一个进程。

在这次的组成原理课设的过程中我感触最多是,学习的很多东西其实并不是单一存在的,而是彼此之间有着深层次的联系。

我们可以通过所学习的了解我们此时需要用到的,比如说,对VHDL的认识很多东西我们其实可以c和c++中找到它的影子。

把它其中的语句设想为函数,结构体,类···这些都有助于我们对它的了解。

在另外一个方面我们看到了专心专注的重要性以及通过不同的方式来判断数据或者是线路的正确性的必要。

在这个课设过程中,我想我们班同学之间的交流也是我能够比较顺利完成一个主要因素。

感谢他们给我很多灵感和思路,特别是和我一组的成员,我们感觉就是因为我们比较默契的配合,使得我们课设搞得比较顺利。

当然有很多人不是我们一组的,但是和他们的交流也使得我对课本基础知识的了解更清晰也更深刻!

在以后的日子我觉得需要保持好对计算机组成原理的兴趣,以使得我对她的了解更为透彻,很感谢老师在本学期对我们的帮助和指导,特别是在课设中对我们的严格要求和无私帮助将是我们生活中宝贵财富。

 

八、参考资料

[1]陈华光.计算机组成原理[M].北京:

机械工业出版社,2004

[2]杨小龙.计算机组成原理与系统结构实验教程[M],西安:

西安电子科技大学出版社,2004

计算机科学与技术系课程设计评分表

课题名称:

8位模型计算机的设计与实现

项目

评价

设计方案的合理性与创造性

设计与调试结果

设计说明书的质量

答辩陈述与回答问题情况

课程设计周表现情况

综合成绩

教师签名:

日期:

 

(注:

1.此页附在课程设计报告之后;2.综合成绩按优、良、中、及格和不及格五级评定。

 

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

当前位置:首页 > PPT模板 > 其它模板

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

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