计算机组成原理实验三

合集下载

计算机组成原理实验报告

计算机组成原理实验报告

实验一:数字逻辑——交通灯系统设计子实验1:7 段数码管驱动电路设计(1)理解利用真值表的方式设计电路的原理;(2)利用Logisim 真值表自动生成电路的功能,设计一个 7 段数码管显示驱动。

二、实验方案设计7 段数码管显示驱动的设计方案:(1)输入:4 位二进制(2)输出:7 段数码管 7 个输出控制信号(3)电路引脚:(4)实现功能:利用 7 段数码管显示 4 位二进制的 16 进制值(5)设计方法:由于该实验若直接进行硬件设计会比较复杂,而7 段数码管显示的真值表较容易掌握,所以我们选择由真值表自动生成电路的方法完成该实验。

先分析设计 7 段数码管显示驱动的真值表,再利用Logisim 中的“分析组合逻辑电路”功能,将真值表填入,自动生成电路。

(6)真值表的设计:由于是 4输入 7输出,真值表共有 16 行。

7输出对应 7个引脚,所以需要依次对照LED 灯的引脚顺序进行设计,如下图所示(注意LED 的引脚顺序):三、实验步骤(1)在实验平台下载实验框架文件RGLED.circ;(2)在Logisim 中打开RGLED.circ 文件,选择数码管驱动子电路;(3)点击“工程”中的“分析组合逻辑电路”功能,先构建4输入和7输出,再在“真值表”中,将已设计好的真值表的所有数值仔细对照着填入表格中,确认无误后点击“生成电路”,自动生成的电路如下图所示:(4)将子电路封装为如下形式:(5)进行电路测试:·自动测试在数码管驱动测试子电路中进行测试;·平台评测自动测试结果满足实验要求后,再利用记事本打开RGLED.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。

四、实验结果测试与分析(1)自动测试的部分结果如下:(2)平台测试结果如下:综上,本实验测试结果为通过,无故障显示。

本实验的关键点在于:在设计时需要格外注重LED 灯的引脚顺序,保证0-9 数字显示的正确性,设计出正确的真值表。

计算机组成原理实验报告

计算机组成原理实验报告

实验一:脱机运算器实验实验目的:了解AM2901运算器的功能与用法,2片AM2901的级连方式,深化运算器部件的组成、设计、控制与使用等知识。

实验仪器:TEC-2000实验仪实验原理:脱机运算器实验,是让运算器从教学计算机整机中脱离出来,此时它的全部控制与操作均需通过两个12位的微型开关来完成,这就不能执行指令,只能通过开头、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。

实验内容:1、将教学机左下方的5个拨动开关置为1XX10(单步、8位、脱机);先按RESET 按键,再按START按键,进行初始化。

2、按下表所列操作在8位机上进行运算器脱机实验,结果如表所示。

其中D1取为01H,D2取为10H;通过两个12位的红色微型开关向运算器提供控制倍,通过8位数据开关向运算器提供数据(高8位的数据开结果分析:由结果可知,只要按AM2901芯片功能给出其相应的控制信号,即可完成相应的功能。

另AM2901操作周期如下:A、B口数据锁存通用寄存器接收即在下降沿时,A、B口数据锁存器锁存数据,在低电平时通用寄存器接收数据,因此在压START前,ALU输出为结果,压START后,产生高电平到低电平的变化,此时ALU输出的结果存入通用寄存器中,而ALU则输出操作再次被执行的结果,但该结果没有存入通用寄存器中,则下次操作时使用的寄存器值为存入值(表中表现为压START前值)。

实验结论:通过此项实验使我们了解了AM2901运算器的功能与用法,熟悉了2片AM2901的级连方式,以及深化运算器部件的组成、设计、控制与使用等知识,让我们加深了对AM2901运算器各项特性的认知程度。

实验二:控制器部件教学实验实验目的:通过教学计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程后,设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。

达到以下目的:1、理解计算机控制器的功能、组成知识2、学习计算机各类典型指令的执行流程3、对指令格式、寻址方式、指令系统、指令分类等建立总体概念4、学习组合逻辑控制器的设计过程和相关技术实验仪器:TEC-2000教学计算机实验原理:控制器设计是学习计算机总体组成的设计的重要部分,要在TEC-2000教学机上完成实验,要了解以下内容:1、TEC-2000的功能部件及其连接关系;2、TEC-2000的每个功能部件的功能和控制其运行办法;3、TEC-2000支持的指令格式和指令执行流程分组情况;4、TEC-2000中已经设计并正常运行的各类指令的功能、格式和执行流程,也包括控制器设计与实现中的具体线路和控制信号的组成;5、自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。

湖南大学-计算机组成原理实验-实验3-bomblab

湖南大学-计算机组成原理实验-实验3-bomblab

课程名称:计算机组成与结构实验项目名称:bomblab专业班级:姓名:学号:指导教师:完成时间:2016 年 4 月20 日信息科学与工程学院根据以上分析,我们发现,从键盘输入一个值,放到(新)ebp+8进行调用,把他传到esp中,接着,函数再从$0x804a15c这个地址取值,放到中,接着,程序对这两个参数进行函数调用,调用判断字符串是否相等的程序equal进行判断,如果二者相等,则返回值为0,不引爆炸弹,反之,只要二者不相等,则炸弹爆炸。

分析结论:此处的密码存在地址$0x804a15c中,我们只要查看该地址的值,即可完成该题。

打开gdb调试,运行x/s 0x804a15c,查看该处的值故第一题的答案为We have to stand with our North Korean allies.Phase_5内容如下:0x08048db8 <+0>: push %ebp0x08048db9 <+1>: mov %esp,%ebp0x08048dbb <+3>: push %esi0x08048dbc <+4>: push %ebx这是两个调用者保存寄存器,因为接下来的循环中使用到了这两个寄存器的值,所以要进行压栈保存。

0x08048dbd <+5>: sub $0x20,%esp esp-320x08048dc0 <+8>: lea -0x10(%ebp),%eax0x08048dc3 <+11>: mov %eax,0xc(%esp)ebp-160x08048dc7 <+15>: lea -0xc(%ebp),%eaxPhase_6内容如下:0x08048c89 <+0>: push %ebp0x08048c8a <+1>: mov %esp,%ebp 0x08048c8c <+3>: push %edi这<phase_6+93>之前的都表达了什么?其实很简单,就是输入的这1到6的,且相邻两数不相等,且相差值不为好,接下来看<phase_6+93>之后的内容<phase_6+93>~<phase_6+145>,又是一个类似的功能块,操作,不妨仍仿照以上述方法做一次分析。

计算机组成原理 实验三 移位器

计算机组成原理 实验三 移位器

实验报告成绩课程名称计算机组成原理指导教师实验日期院(系) 计算机科学与技术学院专业班级实验地点学生姓名学号同组人实验项目名称实验三移位器一、实验目的和要求实验目的:1.掌握移位器的结构及工作原理;2.掌握层次化设计方法。

实验要求:1.使用层次化设计方法(见1.3),将移位器生成部件。

2.生成部件时,注意引脚不要锁定,直接编译,引脚命名不要重名。

3.注意保存好该实验生成的移位器部件,实验五将调用它。

4.完成详细的实验报告。

二、实验原理设计一个4位二进制数的移位电路,可以实现左移1位、右移1位和直接传送功能。

在LM(左移)的控制下可实现左移1位,空位补0。

在RM(右移)的控制下可实现右移1位,空位补0。

在DM(直送)的控制下可实现直接传送。

三、主要仪器设备1. 操作系统为WINDOWS的计算机一台;2. 数字逻辑与计算机组成原理实验系统一台;3. 两输入与门7408、三输入或门74hc32。

四、实验方法与步骤1.用图形输入法完成移位器逻辑电路输入。

2.管脚锁定:将四位二进制数a3-a0定义在K3-K0上;将4位输出q3-q0定义在LD3-LD0上;将LM定义在K8上,高电位有效;将DM定义在K9上,高电位有效;将RM定义在K10上,高电位有效,完毕后下载。

3.设置K3-K0为任意4位数,在LM、DM、RM的作用下分别观察LD3-LD0的显示,并分析其正确性。

4.生成元件符号。

五、实验结果分析六、实验心得通过本次实验,掌握了移位器的结构以及工作原理;掌握了层次化设计方法。

对后续实验打下坚实的基础。

计算机组成原理实验三运算器

计算机组成原理实验三运算器

实验三:八位运算器组成实验一:实验目的:1:掌握运算器的组成原理、工作原理;2:了解总线数据传输结构;3:熟悉简单的运算器的数据通路与控制信号的关系;4:完成给定数据的算术操作、逻辑操作;二:实验条件:1:PC机一台;2:MAX+PLUSⅡ软件;三:实验内容(一)1:所用到的芯片74181:四位算术逻辑运算单元;74244:收发器(双向的三态缓冲器)74273:八位D触发器;74374:八位D锁存器;74163:八进制计数器;7449:七段译码器2:实验电路图(1)运算器电路图(A)数据输入电路由两个十六进制计数器连接成16*16=256进制的计数器,可以实现八位的输入。

(B)运算功能选择电路由一个十六进制计数器组成,可以实现16种不同运算的选择。

再加上逻辑运算器上的M位和Cn位的选择,一共可以实现16*3=48种运算功能。

内部由一个74163构成。

内部结构:(C)数码管扫描显示电路由一个扫描电路scan和一个七段译码器7449组成,scan 内部是一个二选一的多路复用器。

scan内部结构:(D)运算器电路图(2)波形仿真图(A)输入两个数A=05H,B=0AH,O5H DR1,0AH DR2,并通过经由74181在总线上显示。

(B )对两个数进行各种数学运算和逻辑运算。

加法运算:输出控制:s4s3s2s1=0001,M=0,CN=0 输出使能:ALU_BUS=0 计算结果:05H+0AH=10H四:实验内容(二)给定A,B两个数,设A=05H,B=0AH,完成几种常见的算术运算和逻辑运算画出运算的波形和仿真图(1)逻辑运算:A and B,A or B,取反/A,A⊙B,A⊕B;(2)算术运算:A加B,A加B(带进位),A减B;(3)复合运算:A加B 减((/A)〃B)加B;(/(A⊙B)减(A⊕B)))加1计算(A加B)减((/A)〃B)后需要重新送入数据B,存入R5并且装载到LDDR2中。

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

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

《计算机组成》实验报告实验名称:数据通路组成实验一、实验目的1、掌握时序产生器的组成原理。

2、掌握微程序控制器的组词原理。

3、掌握微指令格式的化简和归并。

二、实验内容(1)按实验要求,连接实验台的数码开关K0—K15 、控制开关、按钮开关、时钟信号源和微程序控制器。

注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线暂不连接。

连线完成后应仔细检查一遍,然后才可加上电源。

(2)观察时序信号用双踪示波器观测时序产生器的输入输出信号:MF,W1—W4,T1—T4。

比较相位关系,画出其波形,并标注测量所得的脉冲宽度。

观察时须将TJ1 接低电平,DB,DZ,DP开关均置0状态,然后按QD按钮,则连续产生T1,T2,T3,T4,W1,W2,W3,W4。

了解启停控制信号的功能,并熟练地使用连接这些控制信号的按钮或开关。

(3)熟习微指令格式的定义,按此定义将控制台指令微程序地8条微指令按十六进制编码,SWA A三个二进制开关地状态来指列于下表。

三种控制台指令地功能由SWC,SWB,SW定(KRD=001B,KWE=010B,PR=010B)。

此表必须在预习时完成。

微指令地址微指令编码微指令地址微指令编码00H 3CH 07H 17H 27H 3FH 3DH 3EH 单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。

用连续方式执行KWE和KRD(将TJ1接地),画出uA0(28C64的地址A0)信号波形,作出解释。

SWA A的状态组合,观察验证三种控制台指令KWE和KRD,PD (4)用P3 和SWC,SWB,SW微地址转移逻辑功能地实现。

(5)熟习05H,10H两条微指令的功能和P2测试的状态(IR4—IR7),用二进制开关设置IR7—IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现。

计算机组成原理实验三报告

计算机组成原理实验三报告

管理学院信息管理与信息系统专业 3 班______组、学号姓名协作者教师评定_____________实验题目_微程序控制器实验__________________1.实验目的与要求:实验目的:(1).理解时序产生器的原理,了解时钟和时序信号的波形。

(2).掌握微程序控制器的功能、组成知识。

(3).掌握微指令格式和各字段功能。

(4).掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。

实验要求:(1).按练习一要求完成测量波形的操作,画出TS1、TS2、TS3、TS4的波形,并测出所用的脉冲Φ的周期。

(2).按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。

(3).实验时,结合读、写微指令流程图,选择存储器地址和数据不断对RAM写入数据,执行时为循环重复执行微指令,直到有P2(CLR)清零信号作用时才停止。

(4)结合实验内容,将数据00H-002H存入存储器6116的00H-002H 单元,,写出实验步骤,并在实验中加以验证。

2.实验方案:(1)按要求在实验仪上接好线,仔细检查正确与否,无误后才接通电源,每次实验都要接一些线,先接线,后打开电源,养成不带电接线的习惯,这样可以避免烧坏实验仪器。

(2)编程写入E2PROM28161)将编程开关(MJ20)置为PROM(编程)状态;2)将STATE UNIT中的STEP置为“STEP”状态,STOP置为“RUN”状态;3)在UA5-UA0开关上置要写的某个微地址(八进制);4)在MK24-MK1开关上置要写的微地址相应的24位微代码,24位开关对应24位显示灯,开关量为“1”灯亮,为“0”灯灭;5)启动时序电路(按动启动按钮START),即将微代码写入到E2PROM2816的相应地址对应的单元中;6)重复(3)~(5)步骤将每一条微指令写入E2PROM2816。

(3)校验1)将编程开关置为READ状态;2)将STEP开关置为“STEP”状态,STOP开关置为“RUN”状态;3)在开关UA5~UA0上置好要读的某个微地址;4)按动START键,启动时序电路,观察显示灯MD24-MD1的状态,检查读出的微代码是否已写入的相同。

计算机组成原理 实验3

计算机组成原理 实验3

实验3通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。

2.掌握通用寄存器的构成和运用。

二、实验要求在掌握了AX、BX运算寄存器的读写操作后,继续完成CX、DX通用寄存器的数据写入与读出。

三、实验原理实验中所用的通用寄存器数据通路如下图所示。

由四片8位字长的74LS574组成CX(R1 R0)、DX(R3 R2)通用寄存器组。

图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通选择。

RXW为寄存器数据写入使能,OP、DI为目的寄存器选择。

DRCK信号为寄存器写脉冲,下降沿有效。

准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。

图2-3-3通用寄存器数据通路四、实验内容五、实验过程 & 实验结果1.寄存器组写操作(1)(2)寄存器组的字写入通过“I/O单元”把CX的地址00打入IR,然后向CX写入2211h,操作步骤如下:按【单拍】按钮通过“I/O单元”把DX的地址02打入IR,然后向DX写入4433h,操作步按【单拍】按钮(3)寄存器组的字节写入通过“I/O单元”把CX的地址00打入IR,然后向CL写入55h,操作步骤按【单拍】按钮按【单拍】按钮K21 K16 K2=000 K21 K6 K2=111在IR保持为“XX00”的条件下,可省略打地址环节,按下流程向CH写入AAh2.寄存器读操作(1)(2)寄存器组字读(3)寄存器组字节读CH。

K7=1K10~K6=00101准双向I/O口实验一、实验目的熟悉与了解准双向I/O口的构成原理。

二、实验要求掌握准双向I/O口的输入/输出特性的运用。

三、实验原理Dais-CMX16+向用户提供的是按准双向原理设计的十六位输入/输出I/O口,当该位为“1”时才能用作输入源,上电或复位(手动态按【返回】键),该十六位I/O口被置位(即为“0FFFFh”)。

通常情况下,在用作输入的时候就不能再有输出定义。

电路结构如图2-3-4所示。

计算机组成原理实验报告精品9篇

计算机组成原理实验报告精品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的累加和。

计算机组成原理实验总报告

计算机组成原理实验总报告

计算机组成原理实验报告班级:0411202学号:2012211xxx姓名: kelory_lee2014年12月7日目录1.实验一Hamming码2.实验二乘法器3.实验三时序部件4.实验四CPU_算术逻辑单元5.实验五CPU_指令译码器6.实验六CPU_微程序控制器7.实验七-八CPU_无流水无cache实验1 Hamming码一.实验目的(1)对容错技术有初步了解,理解掌握海明码的原理(2)掌握海明码的编码以及校验方法二.实验内容(1)先连接JTAG线和USB线(CPU实验时才用接此线),然后接实验箱电源线,最后才可以打开电源。

(切记:不能带电插拔Jtag口,否则会损坏实验设备)(2)安装ByteBlaster:Quartus→tools→>programmer→HardwareSetup(在打开programmer窗口的左上角或从Edit菜单—> HardwareSetup 亦可打开)→选Hardware Settings→点击Add Hardware→Hardware type →Altera ByteBlaster→ok即可;Mode选Jtag。

(3)打开Quartus→tools→programmer→AddFile,将hamming.sof(在C盘的相应目录下)下载到FPGA中。

注意进行programmer时,应在program/configure下的方框中打勾,然后下载。

(4)在实验台上通过模式开关选择FPGA独立调试模式010。

首先输入的8位操作数对应开关SD15~SD8,编码后的hamming码在灯A0~A12上体现。

其次开关SA0是控制位,待校验的13位数据对应SD7~SD0与SA5~SA1。

最后比较的结果在灯R4~R0上体现。

观察实验现象并记录相应数据如对8位数据10101100进行hamming编码和校验。

第一,先手工计算校验位P5~P1=_10111__,编码后的hamming码为__1101001101011。

(计算机组成原理)实验三 微控器实验

(计算机组成原理)实验三 微控器实验
(计算机组成原理)实验三 微控器实验
实验三 微控器实验
❖教材上实验6、7,内容有变动 ❖一、实验目的 ❖二、实验原理 ❖三、实验内容及要求 ❖四、实验步骤
一、实验目的
❖ 掌握时序产生器、微控制器的工作原 理。
❖ 掌握联机方式下,编写、装入、执行 微程序的方法。
❖ 掌握联机方式下,编写、装入、执行 程序的方法。
② 控存地址寄存器CMAR
❖ CMAR功能是:由输入信号SE6#~SE0#控制修改 当前微指令的下址字段M6~M0(即MA6~MA0), 以产生即后继微地址。
❖ CMAR由四片74LS74(2位带清零预置端的寄存器) 和一片74LS245(8位三态缓冲器)连接而成,四 片74LS74的清零端均接CLR开关,预置端则分别 接自输入信号SE6#~SE0#,因为预置端低电平有 效,所以当SEi#=0时,相应的Mi即MAi被置1。
寄存器译码电路
❖ 功能:依据指令的DR和SR字段,将微控器发出的统 一的寄存器控制信号,翻译为具体的不同的寄存器控 制信号。
❖ 输入信号有:
B-DR、DR-B#、SR-B#、SI-B#、SP-B#:来自微 控器单元MAIN CONTROL UNIT。
指令码I3-I0:来自指令寄存器(即SR、DR字段) ❖ 输出信号为:(送至寄存器单元REG UNIT)
D4
D3
D2
D1
③μIR74LS273
D8
D7
D1
D2
D3
D4
D5
D6
74LS74
2D
2Q
A 1CLK 1CD
2CLK 2CD
2SD
1SD
SE3
SE2
D8
T2
74LS74

计算机组成原理实验三

计算机组成原理实验三

上海大学计算机学院《计算机组成原理实验》报告三姓名:学号:教师:时间:机位:报告成绩:实验名称:微指令系统实验一、实验目的:1. 读出系统已有的微指令,并理解其含义。

2. 设计并实现微指令系统。

二、实验原理:系统用了8条地址线,故最多可以放256条微指令。

这个计算机实际上只有36条微指令。

3个6116的“写使能”端由两种控制方式,在手动方式下,它们都接Vcc,所以不能写入,这意味着不能在手动方式下编写微指令;在程序(自动)方式下,由程序控制,可以写入数据——编制微指令。

三、实验内容:1. 观察微指令寄存器地址为11H单元的内容;分析其控制功能;验证该功能是否实现。

2. 编制一条微指令实现“A非”运算后左移一位的值送OUT;把这条微指令放入微程序寄存器的12H单元;验证它的功能是否实现。

(假设A=11H,W=22H)四、实验步骤:1. 观察微指令寄存器地址为11H单元的内容;分析其控制功能;验证该功能是否实现。

①初始化系统(Reset),进入微程序存储器模式(μEM状态),用NX键观察10H和11H地址中原有的微指令。

②因为这条指令要放入11单元,为避免10地址中的指令影响验证11中的指令,把这三个地址都送入FF FF FF指令。

用LS键返回10H地址。

给10H地址打入FF FF FFH。

③按NX进入11H,上面显示FF FE 90,表示A+W直通在输入到A。

④在μpc模式下验证功能,赋初值:μpc (11) pc(00) A(11) W(22) 。

按STEP观察微指令执行的过程。

2. 编制一条微指令实现“A非”运算后左移一位的值送OUT;把这条微指令放入微程序寄存器的12H单元;验证它的功能是否实现。

①该操作对应的微指令编码:由原理图知:“A非”运算对应的控制总线编码为:c2 c1 c0=110;“右移一位的值送数据总线”对应的控制总线编码为:c7 c6 c5=110;“数据总线值打入送OUT寄存器”对应的控制总线编码为:c13=0。

计算机组成原理实验报告_3_不恢复余数阵列除法器

计算机组成原理实验报告_3_不恢复余数阵列除法器

河北大学计算机组成原理实验报告学院年级专业学号姓名实验日期实验地点指导老师实验项目不恢复余数阵列除法器成绩一、实验目的:理解除法器的原理。

二、实验原理:这次实验实现原码不恢复余数法的阵列除法器算法(余数左移除数固定),详细计算过程如下。

例题:X=0.10110,y=0.111,求[x/y]原。

则[x]补=0.10110,[y*]补=0.111,[-y*]补=1.001由于除数被除数都为正,因此最后结果为正,直接在最后的结果加上“+”,商为+0.110,但是由于除数在计算的过程中被逻辑左移了3次,所以要乘以2^-5进行恢复,故余数为0.000 010 000。

原码不恢复余数法原理说明:①符号位单独处理,参加运算的是除数和被除数的绝对值的补码,除数的绝对值用y*表示;②合法的除法运算中,被除数必须小于除数,因此第一次上商肯定是r6=0,否则溢出,停止运算;③原码恢复余数法来源于手算的竖式除法。

若余数为正,表示够减,商上1,左移一位,减去[y*]补,也就是加上[-y*]补;若余数为负,表示不够减,商上0,恢复余数(加上除数),变成减去除数之前的结果,继续左移一位,加上[-y*]补。

④原码不恢复余数法建立在原码恢复余数法的基础之上,假设当前的余数为R。

当余数大于0时,下一步余数是先左移一位再减去除数,即下一步余数应该为R’=2R-y*;当余数小于0时先恢复余数,然后再左移一位再减去除数,假设当前余数为R,那么下一步余数应该为R’=2(R+y*)-y*=2R+y*。

以上两个式子将恢复余数法的步骤定量化了,也就是说,要么左移一位加上y*,要么左移一位减去y*,这就是加减交替的含义。

⑤除数和被除数具有3位尾数的合法的除法,需要逻辑移位3次,上商3+1=4次。

可以设置一个计数器count来控制循环次数,达到3次就停止。

⑥若最后一步为负,表示不够减,商上0,需要恢复余数,即加上除数,否则不需要。

接下来介绍原码不恢复余数阵列除法器①可控加法/减法(CAS)单元原理是利用一个可控加法/减法 CAS 单元所组成的流水阵列来实现的它有四个输出端和四个输入端。

计算机组成原理实验报告3 微程序控制器实验

计算机组成原理实验报告3  微程序控制器实验

实验三微程序控制器实验一.实验目得与要求:实验目得:1.理解时序产生器得原理,了解时钟与时序信号得波形;2.掌握微程序控制器得功能,组成知识;3.掌握微指令格式与各字段功能;4.掌握微程序得编制,写入,观察微程序得运行,学习基本指令得执行流程.实验要求:1.实验前,要求做好实验预习,并复习已经学过得控制信号得作用;2.按练习一要求完成测量波形得操作,画出TS1,TS2,TS3,TS4得波形,并测出所用得脉冲Ф周期。

按练习二得要求输入微指令得二进制代码表,并单步运行五条机器指令. 二.实验方案:按实验图在实验仪上接好线后,仔细检查无误后可接通电源.1.练习一:用联机软件得逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号得方法如下:(1)TATEUNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为“EX EC”状态(向上拨)。

(2) 将SWITCH UNIT中右下角CLR开关置为“1”(向上拨)。

(3)按动“START"按钮,即可产生连续脉冲。

(4)调试"菜单下得“显示逻辑示波器窗口,即可出现测量波形得画面。

(5)探头一端接实验仪左上角得CH1,另一端接STATE UNIT中得Ф插座,即可测出时钟Ф得波形。

(6)探头一端接实验仪左上角得CH2,另一端接STATE UNIT中得TS1插座,即可测出TS1得波形;(7)探头一端接实验仪左上角得CH1,另一端接STA TE UNIT中得TS2插座,即可测出TS2得波形.(8)将红色探头一端接实验仪左上角得CH1,另一端接STATE UNIT中得TS3插座,即可测出TS3得波形。

(9)将红色探头一端接实验仪左上角得CH1,另一端接STATE UNIT中得TS4插座,即可测出TS4得波形。

2.观察微程序控制器得工作原理:①关掉实验仪电源,拔掉前面测时序信号得接线;②编程写入E2PROM 2816A.将编程开关(MJ20)置为PROM(编程)状态;B.将实验板上STA TE UNIT 中得STEP置为STEP状态,STOP置为RUN状态,SWITCHUNIT中CLR开关置为1状态;C.在右上角得SWITCHUNIT中UA5—UA0开关上置表3、2中某个要写得微地址;D.在MK24-MK1开关上置表3、2中要写得微地址后面得24位微代码,24位开关对应24位显示灯,开关置为1时灯亮,为0时灯灭;E.启动时序电路,即将微代码写入到E2PROM 2816得相应地址对应得单元中;F.重复C—E步骤,将表3、2得每一行写入E2PROM 2816。

中山大学计算机组成原理实验单周期CPU设计

中山大学计算机组成原理实验单周期CPU设计

中⼭⼤学计算机组成原理实验单周期CPU设计《计算机组成原理实验》实验报告(实验三)学院名称:数据科学与计算机学院专业(班级):学⽣姓名:学号:时间:2019 年11 ⽉8 ⽇成绩:实验三:单周期CPU设计与实现⼀.实验⽬的(1) 掌握单周期CPU数据通路图的构成、原理及其设计⽅法;(2) 掌握单周期CPU的实现⽅法,代码实现⽅法;(3) 认识和掌握指令与CPU的关系;(4) 掌握测试单周期CPU的⽅法。

⼆.实验内容设计⼀个单周期CPU,该CPU⾄少能实现以下指令功能操作。

指令与格式如下:==> 算术运算指令加“加”运算。

加“加”运算。

==> 逻辑运算指令加“与”运算。

功能:GPR[rt] ←GPR[rs] or zero_extend(immediate)。

==>移位指令==>⽐较指令==> 存储器读/写指令==> 分⽀指令else pc ←pc + 4特别说明:offset是从PC+4地址开始和转移到的指令之间指令条数。

offset符号扩展之后左移2位再相加。

为什么要左移2位?由于跳转到的指令地址肯定是4的倍数(每条指令占4个字节),最低两位是“00”,因此将offset放进指令码中的时候,是右移了2位的,也就是以上说的“指令之间指令条数”。

else pc ←pc + 4(16)bltz rs, offsetelse pc ←pc + 4。

==>跳转指令(17)j addr说明:由于MIPS32的指令代码长度占4个字节,所以指令地址⼆进制数最低2位均为0,将指令地址放进指令代码中时,可省掉!这样,除了最⾼6位操作码外,还有26位可⽤于存放地址,事实上,可存放28位地址,剩下最⾼4位由pc+4最⾼4位拼接上。

==> 停机指令功能:停机;不改变PC的值,PC保持不变。

三.实验原理单周期CPU指的是⼀条指令的执⾏在⼀个时钟周期内完成,然后开始下⼀条指令的执⾏,即⼀条指令⽤⼀个时钟周期完成。

计算机组成原理实验三多功能ALU设计实验

计算机组成原理实验三多功能ALU设计实验
3'b010:LED <= F[23:16];
3'b011:LED <= F[31:24];
default: begin LED[7] <= ZF;LED[0] <= OF;LED[6:1] <= 6'b0;end
endcase
end
endmodule
二、仿真波形
三、电路图
四、引脚配置(约束文件)
//引脚配置
(3)通过本实验,无法得出:slt操作中的“A<B”是对有符号数的比较还是无符号数的比较,这个结论。若A=32’b0,B=32’bFFFF_FFFF,则所得到的答案是F=0000_0001.
这个问题应该再设置一个变量SIGctr信号,控制ALU是执行“带符号整数比较小于置于1”还是“无符号数比较小于置1”功能,当SIGctr=0,则执行“无符号数比较小于置1”,当SIGctr=1,则执行“带符号整数比较小于置1”。
endcase
end
always@(*)
begin
if(F===32'h0000_0000)
ZF<=1;
else
ZF<=0;
end
assign OF=C32^F[31]^A[31]^B[31];
always @(*)
begin
case(F_LED_SW)
3'b000:LED <= F[7:0];
3'b001:LED <= F[15:8];
3'b011: begin A<=32'h7FFF_FFFF; B<=32'h7FFF_FFFF; end
3'b100: begin A<=32'hFFFF_FFFF; B<=32'hFFFF_FFFF; end

计算机组成原理 实验三 硬布线控制器实验

计算机组成原理 实验三 硬布线控制器实验

实验三硬布线控制器实验一、实验目的1. 通过多种方式,查看教学计算机指令的执行步骤、运行结果、各组控制信号在每一个执行步骤中的状态、指令之间的衔接等有关内容。

2. 熟悉教学计算机的指令格式、指令编码、寻址方式和指令功能等内容。

3. 熟悉教学计算机的总体组成和各部件的运行原理,理解控制器部件在计算机整机中的关键作用。

4. 理解和熟悉指令执行步骤的划分方案。

5. 熟悉教学计算机的硬布线控制器各控制命令的控制功能。

二、实验要求1.实验之前要认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等。

2.实验过程中,要仔细进行,防止损坏设备,分析可能的各种现象,判断结果是否正确,记录运行结果。

3. 实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,实验心得体会与收获。

三、实验内容1. 将5个拨动开关置为11101(单节拍、指令来自开关、组合逻辑、16位、联机工作方式),按一下RESET。

在单节拍方式下,每按一次START键,执行一个节拍的功能。

此时教学机反复执行这一条指令,对照指令执行流程图,看节拍发生器的状态输出,能够最方便的查看不同类型的指令的执行步骤的变化与连接关系。

此时无须关心指令的执行功能,因为此时指令得不到正确的操作数据和地址。

2. 使用手拨开关SWH和SWL输入16位指令操作码。

注意:如果是双字指令,则只能拨入高16位,此时运算结果不正确,可忽略。

拍。

例如:使用手拨开关SWH和SWL输入MVRD指令的操作码88H(为B组指令),先按RESET键,再依次按START键,看到节拍发生器的状态输出为:0000-0010-0110-0100。

操作序列1:请把ADD、PUSH、LDRA、CALA指令通过开关送给控制器,利用教学机把各自节拍流程找出来,并写在下表中。

操作序列2:请自行从A、B、C、D四组中各选择若干条指令通过开关送给控制器,利用教学机把各自节拍流程找出来,并写在下表中,表格行数可自行增加。

计算机组成原理实验报告3

计算机组成原理实验报告3

计算机组成原理实验报告3上海⼤学计算机组成原理实验报告三姓名:学号:座位号:上课时间:教师:报告成绩:⼀.实验⽬的1. 读出系统已有的微指令,并理解其含义。

2. 设计并实现微指令系统。

⼆.实验原理1.微指令构造①译码器:前两次实验的每⼀项操作都是通过⼈⼯设置电键ki的位置——Ki编码,然后给出⼀个CK脉冲来完成。

如果有⼀个器件能给出对应与每个操作的ki编码,这个器件就可以代替我们来为操作译码——产⽣控制信号,这个器件就是指令译码器,也叫控制器。

常见的控制器有两种:⽤组合逻辑电路实现控制信号的逻辑电路结构和⽤存储器实现控制信号的微程序结构。

前者将在《在系统编程技术及应⽤》课程中学习。

这⾥学习后者。

②微指令:把⼀个操作的控制总线编码放在⼀个存储单元中,同时给出调⽤这个单元的⽅法(例如:这个单元的地址),则对使⽤者⽽⾔,这个调⽤⽅法等价于控制总线编码本⾝,⼆者都称为微指令(不同场合具体指向不同或没有区别)。

对于操作:“ACH送⼊寄存器A”有ki编码:1111 11110,假定将其存⼊⼀个地址为F3H的随意选取的存储器单元中,且可以⽤“读F3”的⽅式取出这个内容并送上控制总线,则“读F3”和1111 11110是这个操作的微指令,这两个表达形式等价。

③操作序列的形式化表述:同理:把操作“BDH送⼊寄存器W”的ki编码1111 11101存⼊随意选取的FDH地址单元;操作“A-W”的ki编码1111 00111存⼊随意选取的B2H地址单元;操作“直通门D的内容送OUT寄存器”的编码0100 111111存⼊DCH地址单元。

④实验箱的微指令系统:制造⼚的⼯程师根据这个实验箱的功能、部件数量、必须的基本操作等要求,给它安排了24条控制线——控制总线宽度为24。

相应地,每条微指令有24位、微程序存储器的每个地址也必须是24位的存储单元。

于是⼚家把3⽚8位存储器的对应地址并接在⼀起,构成⼀个24位的存储器。

具体连接见下图1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海大学计算机学院
《计算机组成原理实验》报告三
姓名:学号:教师:
时间:机位:报告成绩:
实验名称:微指令系统实验
一、实验目的:1. 读出系统已有的微指令,并理解其含义。

2. 设计并实现微指令系统。

二、实验原理:
系统用了8条地址线,故最多可以放256条微指令。

这个计算机实际上只有36条微指令。

3个6116的“写使能”端由两种控制方式,在手动方式下,它们都
接Vcc,所以不能写入,这意味着不能在手动方式下编写微指令;在程序(自动)
方式下,由程序控制,可以写入数据——编制微指令。

三、实验内容:1. 观察微指令寄存器地址为11H单元的内容;分析其控制功能;验证该功
能是否实现。

2. 编制一条微指令实现“A非”运算后左移一位的值送OUT;把这条微指令放入微程序寄
存器的12H单元;验证它的功能是否实现。

(假设A=11H,W=22H)
四、实验步骤:1. 观察微指令寄存器地址为11H单元的内容;分析其控制功能;验证该功
能是否实现。

①初始化系统(Reset),进入微程序存储器模式(μEM状态),用NX键
观察10H和11H地址中原有的微指令。

②因为这条指令要放入11单元,为避免10地址中的指令影响验证11中的
指令,把这三个地址都送入FF FF FF指令。

用LS键返回10H地址。

给10H
地址打入FF FF FFH。

③按NX进入11H,上面显示FF FE 90,表示A+W直通在输入到A。

④在μpc模式下验证功能,赋初值:μpc (11) pc(00) A(11) W(22) 。

按STEP观察微指令执行的过程。

2. 编制一条微指令实现“A非”运算后左移一位的值送OUT;把这条微指
令放入微程序寄存器的12H单元;验证它的功能是否实现。

①该操作对应的微指令编码:由原理图知:
“A非”运算对应的控制总线编码为:c2 c1 c0=110;
“右移一位的值送数据总线”对应的控制总线编码为:c7 c6 c5=110;
“数据总线值打入送OUT寄存器”对应的控制总线编码为:c13=0。

这操作的微指令编码:c23~c0=1111 1111 1101 1110 1011 1000=FFDED6 H
②给10H和11H地址打入FF FF FFH。

③给12H地址打入FF DE D6。

④在μpc模式下验证功能,赋初值:μpc (12) pc(00) A(11) W(22) 。

按STEP观察微指令执行的过程。

五、实验现象:1. 观察微指令寄存器地址为11H单元的内容;分析其控制功能;验证该功
能是否实现。

OUT;把这条微指令放入微程序寄存器的12H单元;验证它的功能是否实现。

六、数据记录、分析与处理:实验结果和预期的一样。

七、实验结论:1、实现了实现目的,正确的将实验做完。

2、实验结果与上面的一样。

八、建议:暂无。

九、体会:这次的实验主要是通过小键盘实现的,和上两次的实验有所不同,这次的实验完
全没有用到连线,同时也觉得只要掌握了其中的原理做起来其实很简单。

十、思考题:如何给μPC置初值?
答:在μPC模式下,通过小键盘直接输入μPC。

相关文档
最新文档