计组课设实验报告
计组实验报告6

2.微指令格式
表7-1-1
M25
M24
M23
M22
M21
中断
M19
M18
M17
M16
M15
M14
M13
M12
M11
M10
M9
M8
C
B
A
AR
保留位
PX3
A9
A8
CE
LOAD
CN
M
S0
S1
S2
S3
PX2
LDAR
M7
M6
M5
M4
M3
M2
8
7
6
5
4
3
M1
M0
LDPC
LDIR
LDDR2
LDDR1
LDR0
WE
UA0
【读】
C
N
0
3
0
0
X
X
按【读】命令键,进入微程序读状态,左边第3位
起显示03(区域号)、00(微地址)、XX(该微程序单元的内容),光标闪动移至第7位
55
C
N
0
3
0
0
5
5
按55H键,将内容写入03区域00H单元
计算机组成原理课程设计实验报告

计算机组成原理课程设计实验报告(1-3)山东大学计算机组成原理课程设计实验一------利用ispEXPERT SYSTEM软件设计四位全加器(一)实验环境:windows 98上的ispEXPERTSYSTEM(二)实验目的:熟悉ispEXPERTSYSTEM的初步使用(三)实验要求:用门电路设计一个一位二进制全加器。
二个加数为a,b,地位进位ci,向高位进位co.进而使用层次化设计思想设计一个四位全加器。
(四)实验步骤:4.1创建新项目4.1.1启动ISPEXPERTSYSTEM。
在windows下,选Lattice Semiconductor 项的ispEXPERTSYSTEM Project Navigator.4.1.2.建立新项目:选择菜单 File选择New Project键入项目名D:\EXP1\wuyupeng.syn4.1.3项目命名:用鼠标双击Untitled。
在 Title 文本框中输入“EXP1 Project”, 并选 OK。
4.2 选择器件:双击ispLSIispLSI5384V-125LB388,你会看到Choose Device 对话框 ( 如下图所示)在 Choose Device 窗口中选择 ispLSI1000 项按动器件目录中的滚动条,直到找到并选中器件 ispLSI 1032E-70LJ84揿 OK 按钮,选择这个器件(各种参数的设置)4.3设计输入:首先设计一个一位全加器,然后以这个器件作为本地器件来使用设计一个四位全加器4.3.1设计一个一位全加器:4.3.1.1原理图命名:选中Source下的NEW选项选中Schematic(确认按OK)输入文件名ADD.SCH进入原理图编辑窗口。
4.3.1.2 在图纸上添加器件:根据逻辑电路知识可知:s=a b ci; co=a*b+(a)*ci;接下来就是根据逻辑原理选择相信的器件来完成逻辑电路的设计,具体方法是:选择Add菜单下的Symbol)然后在各种库中选择所需要的器件4.3.1.3 添加连线:选择Add菜单下的wire项,进入画线状态,单击左键定义连线的左端,将光标移至线的另一端,在此单击左键即可定义这根线。
计组实验报告(共10篇)

计组实验报告(共10篇)计组实验报告计算机组成原理实验报告一一、算术逻辑运算器1. 实验目的与要求:目的:①掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
②掌握简单运算器的数据传输通道。
③验算由74LS181等组合逻辑电路组成的运输功能发生器运输功能。
④能够按给定数据,完成实验指定的算术/逻辑运算。
要求:完成实验接线和所有练习题操作。
实验前,要求做好实验预习,掌握运算器的数据传送通道和ALU 的特性,并熟悉本实验中所用的模拟开关的作用和使用方法。
实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
实验完成后,要求每个学生写出实验报告。
2. 实验方案:1.两片74LS181(每片4位)以并/串联形式构成字长为8为的运算器。
2.8为运算器的输出经过一个输入双向三态门(74LS245)与数据总线相连,运算器的两个数据输入端分别与两个8位寄存器(74LS273)DR1和DR2的输出端相连,DR1和DR2寄存器是用于保存参加运算的数据和运算的结果。
寄存器的输入端于数据总线相连。
3.8位数据D7~D0(在“INPUT DEVICE”中)用来产生参与运算的数据,并经过一个输出三态门(74LS245)与数据总线相连。
数据显示灯(BUS UNIT)已与数据总线相连,用来显示数据总线上所内容。
4.S3、S2、S1、S0是运算选择控制端,由它们决定运算器执行哪一种运算(16种算术运算或16种逻辑运算)。
5.M是算术/逻辑运算选择,M=0时,执行算术运算,M=1时,执行逻辑运算。
6.Cn是算术运算的进位控制端,Cn=0(低电平),表示有进位,运算时相当于在最低位上加进位1,Cn=1(高电平),表示无进位。
逻辑运算与进位无关。
7.ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。
低电平有效。
计算机组成原理实验报告精品9篇

计算机组成原理实验报告课程名称计算机组成原理实验学院计算机专业班级学号学生姓名指导教师20年月日实验一:基础汇编语言程序设计实验1实验目的●学习和了解TEC-XP+教学实验监控命令的用法;●学习和了解TEC-XP+教学实验系统的指令系统;●学习简单的TEC-XP+教学实验系统汇编程序设计。
2实验设备及器材●工作良好的PC机;●TEC-XP+教学实验系统和仿真终端软件PCEC。
3实验说明和原理实验原理在于汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查看、显示、修改寄存器、存储器等硬件内容。
实验箱正如一集成的开发板,而我们正是通过基础的汇编语言对开发板进行使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录,实验箱与PC端的通讯。
4实验内容1)学习联机使用TEC-XP+教学实验系统和仿真终端软件PCEC;2)学习使用WINDOWS界面的串口通讯软件;3)使用监控程序的R命令显示/修改寄存器内容、D命令显示存储内容、E命令修改存储内容;4)使用A命令写一小段汇编程序,U命令反汇编输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
5实验步骤1)准备一台串口工作良好的PC机器;2)将TEC-XP+放在实验台上,打开实验箱的盖子,确定电源处于断开状态;3)将黑色的电源线一段接220V交流电源,另一端插在TEC-XP+实验箱的电源插座里;4)取出通讯线,将通讯线的9芯插头接在TEC-XP+实验箱上的串口"COM1"或"COM2"上,另一端接到PC机的串口上;5)将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),6)控制开关的功能在开关上、下方有标识;开关拨向上方表示"1",拨向下方表示"0","X"表示任意,其他实验相同;7)打开电源,船型开关盒5V电源指示灯亮;8)在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为"1"或"2",其他的设置一般不用改动,直接回车即可; (8)按一下"RESET"按键,再按一下"START"按键,主机上显示:6实验截图及思考题【例3】计算1到10的累加和。
计组实验-运算器实验

计算机组成原理实验课程实验报告实验名称运算器实验
实验二运算器
一.实验目的
了解简单运算器的数据传输通路。
验证运算功能发生器的组合功能。
掌握算术逻辑运算加、减、与的工作原理。
二.实验环境
Quartus 2 9.1
三.实验基本原理及步骤
算术逻辑单元运算器ALU181根据74LS181的功能,用VHDL硬件描述语言编辑而成,构成8位字长的ALU。
参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,S[3..0]的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk(图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,C N为低位的进位位;
F[7..0]为输出结果,C O为运算后的输出进位位。
两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入,ALU功能如表所示。
四.仿真及软件设计
Vhd编程(非自己写,粘贴了群里文件):
将编程存为器件以及定制74373b,如图
bdf电路图:
五.实验结果分析及回答问题(或测试环境及测试结果)实验问题:
发现是
后来将IN[7…0]改为IN[7..0]
运行成功
仿真结果:
经检验结果正确:。
计组课程设计报告_图文

《计算机组成原理》课程设计报告年级专业班级:完成日期: 2015.12.51.引言1.1 实验目的1)在掌握传统的、顺序执行的CPU工作原理基础上,理解掌握流水CPU的工作原理;2)掌握流水线的设计思路和方法,尤其是对结构相关、数据相关和控制相关的解决思路;3)理解硬件设计流程,熟悉掌握指令系统的设计方法,并设计简单的指令系统;4)理解和掌握基于VHDL语言和TEC-CA硬件平台设计模型机的方法,并藉此掌握工程设计的思路和方法。
1.2 实验要求1)基本设计要求参考《16位5级流水无cache实验CPU课程设计实验要求》文档及其VHDL 代码,在理解其思想和方法的基础上,将其改造成8位的5级流水无cache的实验CPU,包括对指令系统、数据通路、各流水段模块、存储器模块等方面的改造。
利用VHDL语言编程实现,并在TEC-CA平台上进行仿真测试。
为方便起见,后续16位5级流水无cache实验CPU简记为ExpCPU-16,而8位的则记为ExpCPU-8。
对于存储器模块的改造,参考《计算机组成原理》课程综合实验的方法,独立设计一块8位的RAM。
要求测试减法的溢出标志位,如测试192-(-96)或者-192-96的溢出标志位。
2)额外设计要求时间允许的情况下,进行一些额外的、探索性的改造,可用于加分。
例如:(1)利用TEC-CA平台上的16位RAM来存放8位的指令和数据;(2)实现一条JRS指令,以便在符号标志位S=1时跳转。
需要改写ID段的控制信息,并改写IF段;(3)实现一条CMPJ DR,SR,offset指令,当比较的两个数相等时,跳转到目标地址PC+1+offset;(4)可以探索从外部输入指令,而不是初始化时将指令“写死”在RAM中;(5)此5段流水模块之间,并没有明显地加上流水寄存器,可以考虑在不同模块间加上流水寄存器;(6)探索5段流水带cache的CPU的设计。
1.3 实验设备本课程综合设计中,需要用到的实验设备如下:1)PC两台;2)TEC-CA硬件实验箱一个;3)Quartus II软件平台一个;4)DebugController软件一个;5)JTAG连接线。
计算机组成课程设计报告

目录第一章实训任务概述 (1)1.1实训目的 (1)1.2 实训任务 (1)第二章课程设计结果 (2)2.1 指令的执行流程 (2)2.2 位扩展和字扩展 (5)2.3设计计算机运算器 (6)2.4计算机的硬件系统 (7)2.5运算器的组成及设计实验 (10)第三章个人总结 (12)3.1 主要结论 (12)3.2 对实训的认识 (12)参考文献 (13)致谢 (14)第一章实训任务概述1.1实训目的掌握计算机系统中指令操作和微指令取指令和执行指令流程;掌握各种计算机运算方法以及设计就按机运算器,了解指令系统;掌握存储芯片的位扩展和字扩展;了解计算机硬件系统。
1.2 实训任务1参考给出的或者课本上的计算机的硬件(应有中断功能)组成,写出完成下面给定的指令格式的指令的执行流程;(1)累加器内容完成“异或”运算“异或”指令的指令格式(2)把一个内存单元中的内容读到所选择的一个累加器中。
,其指令格式如下:助记符机器指令码说明STA addr 0010 0000 ××××R0 [addr]2要求用128K×16位的SRAM芯片设计512K×16位的存储器,SRAM芯片有两个控制端:当CS 有效时该片选中。
当W/R=1时执行读操作,当W/R=0时执行写操作。
用64K×16位的EPROM芯片组成128K×16位的只读存储器。
试问:(1)数据寄存器多少位?(2)地址寄存器多少位?(3)共需多少片EPROM? 画出此存储器组成框图。
3设计计算机运算器(包括逻辑框图与指令系统,以及各指令的微程序流程图)4了解计算机的硬件系统。
就计算机的某些硬件组成部分,说明对其认识。
5运算器的组成及设计实验:(1)验证74181的功能;(2)按指定数据完成算术运算。
两组16位数相加:AAAAH+5556H6写出“个人小结”。
第二章课程设计结果2.1 指令的执行流程(1)(2)(3)2.2 位扩展和字扩展(1)存储器的总容量为:512K×16位(SRAM)+128K×16位(EPROM)= 640K×16位(数据字长16位) 由此可知,数据寄存器16位(2)因为1024K>640K>512K,即1024K=220 所以地址寄存器20位。
计组实验报告3

第二章TH—union+教学计算机实验内容2.4 实验机操作系统(监控程序)实验一、实验目的1.学习TH—union+教学实验计算机的联机工作方式2.学习TH—union+教学实验计算机监控命令的使用方法3.学习TH—union+教学实验计算机简单的汇编程序设计方法二、实验要求1.实验之前认真预习,熟悉TH—union+教学实验计算机的监控命令,熟悉实验机的指令系统。
2.实验过程中,小心操作,认真记录。
特别在串行通信连线时,必须断电操作。
分析可能遇到的各种现象,判断结果是否正确。
3.实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结构,自己在这次实验的心得体会与收获。
三、实验步骤1.准备PC机和TH—union+实验机,确定电源处于断开状态,用9芯插头串行通信线连接TH—union+实验机和PC机。
2.连通两台机器电源。
3.设置TH—union+实验机工作方式:将6个拨动开关置于正确位置,实现“分立电路CPU的16位机联机工作、使用微程序控制器并从内存读指令”的状态。
4.在PC机上启动操作终端软件PCEC16.EXE。
5.练习TH—union+实验机各种监控命令的使用,掌握其功能。
6.编写汇编程序段、实现任务要求的功能。
四、实验例题【例】1.计算1+2+3+……+10的和,将结果保存在通用寄存器R2中。
要求:1)用“A”命令输入汇编源程序2)用“P”命令单步执行、并行观察相应寄存器内容的变化3)用“G”命令执行程序后,用“R”命令查看R2的内容4)用“U”命令查看原程序清单【例】2.设计程序,将以下内存单元的内容相加并将结果送R8寄存器以及21A5H所指向的存储单元中。
【例】3.设计一个程序,从键盘上接收一个字符并在屏幕上输出显示该字符。
【例】4.设计一个程序,用次数控制在终端屏幕上输出‘0’到‘9’十个字符。
思考:输出‘A’到‘Z’26个字符【例】5.从键盘上连续打入多个‘0’到‘9’的数字符并在屏幕上显示,遇到非数字字符结束输入过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机组成原理与系统结构》课程设计
实
验
报
告
课题:两个16位二进制数加法计算
班级:
成员:
完成日期:2013年10月11日
一:课程设计步骤
1.确定设计目标
综合考虑实验条件及自身能力水平,以及设计功能的可靠性和实用性,我们小组决定将设计目标定为“两个16位二进制数相加”。
分两次分别输入两个加数的低八位和高八位,输出两个16位二进制数相加的结果。
2.确定指令系统
(1)数据格式
8位,其格式如下:
(2
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
①算术逻辑指令
设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
②I/O指令
输入(1N
其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“INPUT DEVICE”中的数码块作为输入设备。
③访问指令及转移指令
模型机设计两条访问指令,即存数(STA)、取数(LDA),两条颛臾指令,即。
D为位移量(正负均可),
本模式机规定变址寄存器RI指定为寄存器R2
④停机指令
HALT
(3)指令系统
在这次模型机设计中,为了实现两个16位二进制数相加的功能,我们一共使用了XOR(新设计指令),ADC,INC,LDA,STA,JMP,BZC,IN,OUT,HALT共10个机器指
3.总体结构和数据通路:
总体结构和数据通路图请参见附录1。
4.微程序流程图:
微程序流程图请参见附录2。
5.机器码及微程序:
机器码及微程序请参见附录3。
二.课程设计总结
这门课程是一门对综合能力和基础知识要求非常高的课程。
成功完成实验内容,需要熟悉《汇编语言》,《计算机组成原理》,《离散数学》和《数字逻辑》各
门课程的基础知识,并且要加以拓展和熟练运用,这对我们整个小组来说是一个不小的挑战。
实验刚刚开始的阶段,我们参考了高年级同学的实验报告和设计过程,起初觉得束手无策,很多内容都不知道其中的含义和思考及设计的过程。
不过从第一节课开始,陈老师指导我们一步步地完成整个设计过程,每节课对应设计中的一个步骤,化整为零,个个击破,实验进行的过程中,随着进度的加深,我们的信心也越来越饱满,渐渐看到了整体的思路和方向。
出现问题时,我们首先进行小组讨论,小组讨论无法解决的问题,我们选择向更有经验和基础知识更加牢固的同学请教,再无法解决时,便向老师求助,陈老师在整个实验过程中提供了非常大的帮助。
整个实验过程中,除了对设计步骤和各种图表工具的陌生带来的困难以外,最大的困难来自于实验硬件条件给出的限制。
对于只有三个寄存器的实验电路箱来说,分别进行高八位,低八位的输入,相加和输出就已经是个挑战,而更大的挑战在于,怎样储存和取出进位数字。
我们知道,如果产生了进位,那么进位的数字将存储在CF专用寄存器中,但是CF寄存器内保存的数据十分的“脆弱”,稍有不慎,除了加法计算之外,其他的很多操作,只要是经过ALU加法器原件的操作,都有可能改变其中存储的数据。
一度让我们觉得无从下手,甚至怀疑自己一开始设计的目标功能就是错误的,根本无法实现的。
但是后来,我们想到了利用主存来存储进位的想法,翻看教材和上网查阅各种资料之后,我们失望得发现,CF寄存器是一个特殊的专用寄存器,无法向其他寄存器一样将数据随意存取,只会在进行带进位加(ADC)时,才会被带入到存储计算结果的寄存器中。
这给了我们一个启发,我们想到了先将一个寄存器清零(使用我们新设计的XOR指令),然后用这个寄存器自身和自身带进位加的方式将进位数字取出,然后将该寄存器的数据传入到主存中,通过这一特殊的方式,就实现了“将CF寄存器中的数据放入主存”这一原来看似不可能完成的任务。
解决这个问题的过程中,我们充分体会到了团队协作和创新思维的重要性,明白了一个看似困难重重几乎不可能完成的任务,只要勤于思考善于动手,也能通过自己的努力去实现。
我们觉得这一体会是本次试验过程中,除了知识之外最大的收获。
三.小组成员各自的任务和完成情况
张三:小组核心成员和组长,拥有扎实的计算机组成原理和汇编语言基础,负责确定设计目标,核心程序的编写以及微程序、机器指令的转化,完成实验的理论基础框架。
出色地完成了程序设计的任务,为最终的上机实践提供了保障。
李四:协调整个团队的合作,在遇到困难时查阅书籍和网上资料,对新的理论知识和操作技术进行吸收和消化,整理记录实验中各项设计笔记,完成实验报告的整合和撰写。
王五:心思细致缜密,动手能力强,实践经验丰富,负责实验箱的检验,调试和接线部分。
四.实验中的不足
最后一节课进行最终的上机实践检验时,我们遇到了意料之外的问题和困难。
在前一节课中,我们利用已有的程序对试验箱进行了检验和调试,最终确定试验箱可以正常工作。
但是在最后一节课中,首先,我们没有拿到上一节课已经经过检验确定可以正常工作的实验箱,这时我们心中已经有了一丝隐忧,担心因为实验箱存在问题而导致实验无法正常进行,而在有限的时间内,对复杂的实验箱接线全部推倒重来,又是时间不允许的做法。
我们抱着试一试的心态将实验箱与计算机连接,使用已有的程序进行检验,所幸实验箱运行正常。
接着我们满怀希望地载入了自己编写的微程序和机器指令,但是运行之后出现了问题,第一步输入就无法正常工作,虽然INPUT原件中的数据正常显示为我们输入的数据,但是R0和R1寄存器中的数据始终不发生任何变化,我们想到了两个原因:一是硬件问题,可能是实验箱的接线出现问题或者实验箱与计算机的连接出现问题;二是我们自己设计的程序存在问题。
但是当我们尝试第二次的时候,更奇怪的现象出现了:载入程序之后,进行运行时,第一次点击单步执行之后,计算机中的“CMPP”程序就出现了无响应卡死的情况。
我们关闭程序和实验箱,重新进行连接和载入之后,再次尝试还是同样的情况。
第三次,我们重启了计算机,再次重复上一次的步骤,并且加入了检查载入程序是否出错这一步骤,但是还是无法正常运行。
反复尝试多次之后,结果还是和以前一样,要么是寄存器数据不发生变化,要么是“CMPP”程序卡死无响应。
进行到这里,我们怀疑是实验箱或者计算机存在问题。
由于反复尝试连接和
载入运行耗费了大量的时间,我们决定更换实验设备再进行尝试。
我们使用了后面一排无人使用和管理的实验箱,并且打开了旁边的另外两台电脑,此时我们一共有两台实验箱和三台电脑可以使用了。
我们不停更换实验箱和电脑,三台电脑两台实验箱,一共六种组合方式,我们每种组合都尝试过不下三次,进行了近20次的实验之后,得到了以下几种结果:
1.机箱和计算机无法连接,显示“通讯串口发生错误”;
2.机箱和计算机可以成功连接,但是运行“CMPP”程序是频繁出现卡死无响应的情况;
3.机箱和计算机可以成功连接,“CMPP”程序可以打开运行,但是载入程序之后第一次单步执行便死机,无法继续下面的执行步骤;
4.机箱和计算机可以成功连接,“CMPP”程序可以打开运行,载入程序之后可以正常进行单步执行,但是寄存器中的数据不发生变化,第一步输入就无法正常运行;
5.机箱计算机可以成功连接,“CMPP”程序打开,载入和运行一切正常,输入的数据成功送入寄存器R0和R1,但是进行某些步骤时,“CMPP”程序出现卡死无响应,在程序正常运行到一半时,不得不被迫中断退出。
我们小组对出现的以上五种情况进行了分析,其中出现过数据可以正常输入的情况,说明程序本身在输入方面不会存在问题,但是这种可以正常输入的情况之出现了一次,之后便再也没有出现过,中断了我们继续检验后续步骤的操作。
就在这种不断尝试不断受挫的过程中,下课时间到了,我们遗憾地放弃了实验。
我们认为最大的可能性是机箱和计算机存在不同程度的偶然性问题,所以才会出现如此多种不一样的状况,而当这些偶然性问题某一次运气很好,都没有出现,或者出现的数目最少的时候,我们成功进行了输入,但就在此时,新的问题又再一次出现,让我们失去了继续验证下去的机会。
虽然我们对实验没有成功进行的主要原因归咎于硬件设备的问题,但是我们也没有彻底排除理论设计时就可能存在某些未发现的错误。
但是用纸笔对理论设计进行各种分析讨论之后也没有找到问题出在什么地方,由于时间和条件的限制,我们的实验最后没有圆满完成,也没有查出真正的问题所在,这是本次实验中一个不完美的地方。
我们小组对实验器材可能存在的问题表示遗憾,但是也愿意承认我们的理论设计有潜在的出错隐
患,对于实验没有完美结束也愿意承担一定的责任,还希望老师能够谅解我们的不足之处。
附录:
附录1:总体结构和数据通路图
SW-G
附录2:微程序流程图
附录3:
微程序:(新设计指令部分)$M 0100ED82
$M 0200C05A
$M 1A00222C
$M 2C00262D
$M 2D681B41。