计算机组成原理课程设计(江苏大学最新版)
说明书

《计算机组成原理》课程设计说明书设计题目:简单计算机系统的设计与实现(方案一:系统采用微程序控制方式,主控存合并)目录一.实验目的 (3)二.实验要求及任务 (3)三.数据通路设计 (3)3-1. 数据通路设计分析 (3)3-1-1.逻辑部件的选择 (3)3-1-2.芯片的选择 (3)3-2. 数据通路线路图: (4)四.机器指令与微指令设计 (4)4-1. 存储地址分配 (4)4-2. 机器指令编码 (4)4-3. 微指令周期流程图设计: (5)4-4. 控制电路设计: (5)4-4-1.控点由时序控制还是由微指令控制的选择思路 (5)4-4-2. 控点在哪个时钟周期有效,是否加时间延迟选择思路 (6)4-4-3. 主控存合并引起的控制问题 (6)4-4-4. 各控点的周期流程图、控点信号形式 (8)4-4-5.微指令编码 (8)4-4-6. 控制位逻辑表达式 (9)4-4-7. 控制信号电路图:见附录2 (9)五.电路调试 (9)5-1. 连线方式 (9)5-2. 硬件连线查错方式 (9)5-3. 硬件连线错误与解决方法 (10)5-3-1. 内存某一单元不稳定 (10)5-3-2. PC计数不稳定 (10)5-3-3. 74373锁不住数据 (10)5-3-4. 沿控信号的控制 (10)5-3-5. 数据冲突 (10)5-3-6. 循环累加 (10)5-3-7. 结果时对时错 (11)5-3-8.良好的连线习惯 (11)六. 系统功能扩展 (11)6-1. PC地址计数器进行地址扩展思路 (11)6-2. 二、十进制转换电路思路 (11)七.实验体会................................................................................................... 错误!未定义书签。
.................................................................................................................. 错误!未定义书签。
计算机组成原理课程设计江苏大学版

江苏大学计算机组成原理课程设计报告专业名称:网络工程班级学号:3130610031学生姓名:张杰指导教师:胡广亮设计时间:2013年6月24日—2013年7月2日第一天:熟悉微程序的设计和调试方法一、设计目标1、掌握微程序的设计方法2、熟悉利用调试软件运行、调试微程序的方法二、操作提示1、连接实验设备注意:请在断电状态下连接调试电缆。
2、下载FPGA配置数据从课程网站下载CPU.sof等文件,使用Quartus II Programmer 软件将CPU.sof下载到FPGA。
3、输入微程序利用调试软件将微程序写入控存,微程序如下。
取指令微程序取源操作数为立即数的微程序取目的操作数为寄存器寻址的微程序MOV指令的微程序(目的数寄存器寻址)4、输入调机程序今天的将调机程序就是一条指令:“MOV #0001H, R1”。
首先将指令翻译成机器码,根据指令的编码规则,该指令的编码是:0761 0001。
然后利用调试软件将指令码写入主存,地址从主存的0030H开始。
5、调试微程序。
利用调试软件“Step”按钮控制微指令单步执行,执行结果如图2.3所示2.3 例2.1 MOV指令的单步运行跟踪数据6、分析微程序的执行结果,一般方法如下:首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→031→02D→02E→000,通过调试软件的执行结果图2.3可以看出,该指令微程序的微指令次序是正确的。
如果执行的微指令次序不正确,那就要分析原因,检查BM和NC设置是否正确、检查uAR 的各个输入信号的值是否正确,如IR、NA等。
然后分析指令的运行结果。
理论上本条测试指令执行完后,R1的值应该是0001。
通过调试软件的执行结果图2.3可以看出,指令执行结果是正确的。
如果结果不对,就需要进一步分析每一条微指令。
计算机组成原理课程设计

计算机组成原理课程设计1. 引言计算机组成原理是计算机科学与技术专业中一门重要的基础课程。
通过学习计算机组成原理,可以了解计算机的基本组成结构、工作原理和性能提升方法。
为了更好地掌握和应用所学知识,本文将介绍一项针对计算机组成原理课程的设计任务。
2. 任务描述本次课程设计任务要求设计一个简单的单周期CPU,实现基本的指令执行功能。
具体要求如下:•CPU的指令集包括加载(Load)、存储(Store)和算术逻辑运算(ALU)指令,需要支持整数加法、减法、乘法和除法运算。
•CPU需要具备基本的流水线功能,包括取指(Instruction Fetch)、译码(Decode)、执行(Execute)和写回(Write Back)。
•CPU需要支持基本的寄存器操作,包括寄存器读取(Register Read)和寄存器写入(Register Write)。
•CPU的指令和数据存储器使用单端口RAM,指令和数据的访问都需要经过存储器。
3. 设计思路针对上述需求,我们可以采用以下设计思路:3.1 CPU总体设计•CPU采用单周期结构,即每个指令都在一个时钟周期内完成。
•CPU主要分为指令存储器、数据存储器、寄存器文件和控制逻辑四个部分。
3.2 指令存储器设计•指令存储器采用单端口RAM,每个指令的长度为固定的32位。
•指令存储器需要实现读取指令的功能,每次从内存中读取一个指令。
3.3 数据存储器设计•数据存储器也采用单端口RAM,每个数据的长度为固定的32位。
•数据存储器需要实现读取数据和写入数据的功能,执行指令时需要从存储器中读取数据,计算结果需要写回存储器。
3.4 寄存器文件设计•寄存器文件包含若干个通用寄存器,用于存储指令执行过程中的临时数据。
•寄存器文件需要实现读取寄存器和写入寄存器的功能,执行指令时需要读取和写入寄存器。
3.5 控制逻辑设计•控制逻辑负责根据当前指令的操作码和操作数生成控制信号,控制CPU的工作流程。
计算机组成原理课程设计

计算机组成原理课程设计
计算机组成原理课程设计是计算机科学与技术专业的一门核心课程,其目的是帮助学生更深入地理解计算机的组成原理和工作原理,培养学生分析和设计计算机硬件的能力。
在这个课程设计中,我选择了设计一个简单的单周期CPU。
首先,我会设计CPU的指令集,包括处理器指令的类型、指
令格式、寻址方式等。
然后,根据指令集的要求,设计并实现CPU的控制器,控制指令的执行流程。
接着,我会设计并实
现CPU的数据通路,包括寄存器、ALU、存储器等组件,实
现指令的操作。
在设计过程中,我会遵循计算机组成原理的基本原理和设计原则,如冯·诺伊曼体系结构、指令周期、数据通路和控制单元
的相互协调等。
我会使用硬件描述语言,如VHDL或Verilog,进行设计,通过仿真和验证来测试设计的正确性。
同时,我还会考虑CPU的性能和效率,尽量优化各个部分的设计,以提
高CPU的运行速度和处理能力。
在设计完成后,我还会进行性能测试和功能验证,测试CPU
在不同工作负载下的性能表现,并根据测试结果对设计进行优化。
最后,我会编写报告,详细介绍我的设计思路、实现过程和测试结果,以及可能存在的问题和改进的方向。
通过这个课程设计,我将深入理解计算机组成原理的相关知识,并掌握CPU设计的基本方法和技术。
这对于我今后的学习和
工作都具有重要意义,不仅可以加深我对计算机硬件的理解,
还可以提高我的问题分析和解决能力,为我未来的研究和工作奠定坚实的基础。
JUC2课程设计报告 江苏大学 大二上

JMP 0030H
微指令微程序设计
取源操作数的直接寻址方式的微命令与取目的操作数直接寻址的微命令相同不过地址改为从00C,013,014,015,016为止。
MOV #0101,0040H
源操作数立即寻址的微程序设计
微地址
微指令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
微命令
ORG 0030H
MOV #0041H,R0
PUSH R0
PUSH 0040H
POP (R0)
POP R1
PUSH的微程序设计
微地址
微指令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
微命令
078
03000084
0
0
C
0
0
0
0
0
0
084
SPdec
084
E0080085
7
0
0
0
2
0
0
0
0
085
SPoe,ARce
F3
F4
F5
F6
F7
F8
F9
微命令
051
60030052
3
0
0
0
0
3
0
0
0
052
Soe,DRce
052
00052200
0
0
0
0
1
1
0
0
1
000
ARoe’,DRoe’,WR
(3)
《计算机组成原理》课程设计报告-格式 2

计算机组成原理课程设计
报告
姓名:
班级:
学号:
指导老师:
二〇一一年月日
目录
第一章实训任务概述 (1)
1.1实训目的 (1)
1.2 实训任务 (1)
第二章设计内容 (2)
第三章图表格式 (3)
3.1 图表格式 (3)
第四章个人总结 (4)
4.1 主要结论 (4)
4.2 对实训的认识 (4)
参考文献 (5)
致谢 (6)
第一章实训任务概述
1.1实训目的
通过实训,掌握计算机系统软硬件维护的方法,并能利用所学知识,完成实训内容。
1.2 实训任务
第二章设计内容
第三章图表格式3.1 图表格式
图2-1 论文页面设置图
表2-1 高频感应加热的基本参数
第四章个人总结4.1 主要结论
本文主要……
4.2 对实训的认识
通过本次实训,我学到了……
参考文献
[1] 彭革新,谢胜利,张剑.战术Ad Hoc网络研究[J].现代军事通信,1999:751-755
致谢本文需要感谢……。
计算机组成原理课程设计报告

计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。
本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。
二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。
三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。
控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。
1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。
1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。
2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。
2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。
3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。
3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。
四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。
1.2 编写控制单元的逻辑电路代码。
1.3 编写算术逻辑单元的逻辑电路代码。
1.4 进行仿真验证,确保电路的正确性。
2. 存储器实现2.1 设计主存储器的存储单元。
2.2 设计辅助存储器的存储单元。
2.3 编写存储器的读写操作代码。
2.4 进行存储器的功能测试,确保读写操作的正确性。
3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。
3.2 设计显示器输出设备的接口电路。
3.3 编写输入输出设备的读写操作代码。
3.4 进行输入输出设备的功能测试,确保读写操作的正确性。
五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。
计算机组成原理课程设计

目录1 设计内容及目标 (1)1.1设计题目 (1)1.2设计内容 (1)1.3 设计目标 (1)1.4 设计器材 (1)2 设计原理 (2)2.1 设计思路 (2)2.2 设计工作原理 (2)2.2.1 设计基本原理 (2)2.2.2 机器指令 ................................................................................................................... - 2 -2.2.3 数据通路 ................................................................................................................... - 2 -2.2.4 微指令格式 (3)2.2.5 微程序地址的转移 (4)2.2.6 机器指令的写、读和执行 (4)3 设计步骤 (6)3.1 连接实验线路 (6)3.2 设计机器指令代码及数据 (6)3.3 微程序流程图 (7)3.4 设计微指令二进制代码 (8)3.5 微指令代码装入与检查 (9)3.6 机器指令代码装入与检查 (9)4 实现方法及关键技术 (10)4.1 程序实现方法 (10)4.1.1 单步运行程序 (10)4.1.2 连续运行程序 (10)4.2 实现关键技术 (10)5 设计问题分析 (11)设计总结 (12)1 设计内容及目标本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。
再设计实践中提高应用所学专业知识分析问题和解决问题的能力。
1.1 设计题目基本模型机的设计与实现1.2 设计内容本次设计在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6、分析微程序的执行结果,一般方法如下:
首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序
的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→031→02D→
02E→000,通过调试软件的执行结果图2.3可以看出,该指令微程序的微指令次序是正确的。
江苏大学
计算机组成原理课程设计报告
专业名称:网络工程
班级学号:3130610031
学生姓名:张 杰
指导教师:胡广亮
设计时间:2013年6月24日—2013年7月2日
第一天:熟悉微程序的设计和调试方法
一、设计目标
1、掌握微程序的设计方法
2、熟悉利用调试软件运行、调试微程序的方法
二、操作提示
1、连接实验设备
MOV指令的微程序(目的数寄存器寻址)
4、输入调机程序
今天的将调机程序就是一条指令:“MOV #0001H, R1”。首先将指令翻译成机器码,根
据指令的编码规则,该指令的编码是:0761 0001。然后利用调试软件将指令码写入主存,
地址从主存的0030H开始。
5、调试微程序。
利用调试软件“Step”按钮控制微指令单步执行,执行结果如图2.3所示
第三天双操作数指令的微程序设计与调试
一、设计目标
设计并调试运算指令的微程序。
二、双操作数指令微程序入口地址
指令助记符
指令编码
入口地址(H)
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
MOVsrc, dst
0
0
0
0
0
1
源地址码
目的地址码
031
ADDsrc, dst
0
0
0
0
1
0
源地址码
目的地址码
032
ADDCsrc, dst
0
0
0
0
1
1
源地址码
目的地址码
033
SUBsrc, dst
0
0
0
1
0
0
源地址码
目的地址码
034
SUBBsrc, dst
0
0
0
1
0
1
源地址码
目的地址码
035
CMPsrc, dst
0
0
0
1
1
0
源地址码
目的地址码
036
ANDsrc, dst
0
0
0
1
1
1
源地址码
目的地址码
037
ORsrc, dst
0
0
1
0
0
0
000
CMP
05C
9970006F
TRoe, AND, PSWce,SV
0
06F
AND
060
9980006F
TRoe, OR, PSWce,SV
0
06F
OR
064
9A30006F
TRoe, XOR, PSWce, SV
0
06F
XOR
068
99400000
TRoe, AND, PSWce
0
000
TEST
06F
00000E70
NOP
0
070
回送
四、测试程序、数据及运行结果
1、测试内容:立即寻址,直接寻址,间接寻址,寄存器寻址,寄存器间接寻址
测试程序:MOV(0048H) R1
TEST 0048H R1
AND #0078H (R0)
ADD R1 R0
注意:请在断电状态下连接调试电缆。
2、下载FPGA配置数据
从课程网站下载CPU.sof等文件,使用Quartus II Programmer软件将CPU.sof下载到
FPGA。
3、输入微程序
利用调试软件将微程序写入控存,微程序如下。
取指令微程序
取源操作数为立即数的微程序
取目的操作数为寄存器寻址的微程序
0
源地址码
目的地址码
038
XORsrc, dst
0
0
1
0
0
1
源地址码
目的地址码
039
TESTsrc, dst
0
0
1
0
1
0
源地址码
目的地址码
03A
三、双操作数指令执行微程序
微地址(H)
微指令(H)
微命令
BM
NA
注释
007
00000800
4
044
指令执行入口
048
9870006F
TRoe, ADD, PSWce, SV
了实验的意义。
1、测试内容:立即数寻址、寄存器寻址
测试指令(或程序):MOV #0001H, R1
机器码:
内存地址(H)
机器码(H)
汇编指令
0030
0761 0001
MOV #0001H, R1
运行结果:
第二天取操作数微程序的设计和调试
一、设计目标
设计并调试取操作数的微程序。
二、取操作数微流程
取目的操作数流程:
三、测试程序、数据及运行结果
格式如下:
1、测试内容:间接寻址、寄存器寻址
测试指令(或程序):MOF (0048)R1
机器码:
内存地址(H)机器Biblioteka (H)汇编指令0030
0721 0048 0058 0001
MOF (0048)R1
运行结果:
四、设计中遇到的问题及解决办法
在设计过程中开始对调试程序的运行不熟悉,不是很了解了此程序的运行。在操作过程中,粗心导致了输入机器码的错误,或者是所在位置错误,重新输入解决了此问题。我详细地了解了它的整个过程和对于每一步的分析和验证,对微程序设计有了更深入的了解。
以看出,IB的数据由上一条微指令的结果0000→0031, AR的数据由上一条微指令的结果
0030→0031,说明本条微指令执行结果是正确。
从上面的分析可以看出,要想检查运行结果是否正确,关键是要清楚理论上正确的结果
是什么。这就要求实验者对指令的微程序流程非常清楚,从而达到了理解计算机内部信息流
动过程、掌握计算机工作原理的目的。所以实验者应重视实验数据的分析工作,否则就失去
0
06F
ADD
04C
98B0006F
TRoe, ADDC, PSWce, SV
0
06F
ADDC
050
98F0006F
TRoe, SUB, PSWce, SV
0
06F
SUB
054
9930006F
TRoe, SUBB,PSWce, SV
0
06F
SUBB
058
98C00000
TRoe, CMP, PSWce
如果执行的微指令次序不正确,那就要分析原因,检查BM和NC设置是否正确、检查uAR
的各个输入信号的值是否正确,如IR、NA等。
然后分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0001。通过
调试软件的执行结果图2.3可以看出,指令执行结果是正确的。如果结果不对,就需要进一
步分析每一条微指令。分析的方法是针对微指令的每一条微命令,查看相应微操作前后相关
模块的数据变化是否与指令微流程一致。下面举个例子说明如何分析每条微指令的。
图2.3的微地址为000B(uAR=000B)的控存单元所对应的内容为2008000F,即微指
令为2008000F,所代表的微操作是:PCoe,ARce,即PC的内容送IB、IB的内容送AR,
理论上的正确结果应该是IB=0031,AR=0031;通过图2.3的000B单元微指令的执行结果可