文档库 最新最全的文档下载
当前位置:文档库 › 组成原理实验报告

组成原理实验报告

组成原理实验报告
组成原理实验报告

科目:计算机组成原理学院:计算机科学与技术

实验一 Hamming码

1.实验步骤

(1)、先连接JTAG线和USB线,然后接实验箱电源线,最后才可以打开电源。(切记:不能带电插拔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。

2.观察实验和记录数据

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

(2).开关SA0是控制位,待校验的13位数据对应SD7~SD0与SA5~SA1。(3).比较的结果在灯R4~R0上体现。

如对8位数据10101100进行hamming编码和校验。

1、先手工计算校验位P5~P1=_10111_,编码后的hamming码为_1101001101011__。

2、拨动开关SD15~SD8输入10101100,观察灯A0~A12=_1101011001011__,看是否与自己手工计算的hamming码相符。

3、输入待校验的13位数据,假设输入1111001101011。拨动开关SA0为1开始校验,拨动SD7~SD0, SA5~SA1。观察灯R4~R0=_11011__,也就是校验结果的值。

4、比较编码后的hamming码和校验的hamming码,发现第_D7位数据错误,手工计算S=__00000__,和3中观察到的R4~R0是否相符。

5、可以输入其他位错误的校验数据观察结果值S是否正确。

6、1~5做完后,重新输入新的8位数据做实验,并填写表。

3.实验心得

通过这次实验,我们对海明码和容错技术有了初步的了解,掌握了海明码的编码技术以及海明码的校验方法。对海明码的实现原理进行了更深的学习及理解,它通过在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位的值发生变化,使得海明码成为较好的校验方法。对海明码有了全面的了解。

实验二乘法器

1.实验步骤

(1)如果未安装ByteBlaster,参照实验一的配置文件的安装。

(2)连接JTAG和USB通信线,打开电源。

(3)打开Quartus->tools->programmer,将booth_multiplier.sof下载到FPGA中。注意进行programmer时,应在program/configure下的方框中打勾,然后下载。

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

(5)将短路子DZ3短接且短路子DZ4断开,使FPGA-CPU所需要的时钟使用正单脉冲时钟。

2.实验现象

本实验实现4位数的Booth乘法(有符号数乘法)。

输入输出规则对应如下:

1、输入的4位被乘数(multiplicand)md3~md0对应开关SD11~SD8。

2、输入的4位乘数(multiplier)mr3~mr0对应开关SD3~SD0。

3、按单脉冲按钮,输入脉冲,也即节拍。

4、乘积product(8位)p7~p0对应灯A8~A1,辅助位A0。

5、当计算结束时,final信号为1,对应灯R7。

一共需要0~8九个小步骤计算出结果。本实验也是通过九个小步骤实现的,通过按单脉冲按钮输入脉冲,观察积寄存器的变化,掌握booth乘法器的原理。

1、拨动开关SD11~SD8输入4位被乘数(md3~md0)0010,SD3~SD0输入4位乘数(mr3~mr0)1101。

2、按动单脉冲按钮,输入脉冲,对照表2.5观察积寄存器即灯A8~A0的变化情况,当灯R7亮时,说明计算结束,灯A8~A1为最后相乘结果。

进行新的乘法运算时,或者说当上一次运算结束即灯R7亮时,输入新的被乘数、乘数(拨动开关),然后按动单脉冲开关即可观察正确的寄存器结果。

3.实验心得

在这次实验中,对booth算法进行了更深的学习和理解,并把它用在了实际应用中。对乘法器和booth乘法器的原理有了全面的学习研究以及实践。在实验中,因为最初对booth算法的不熟悉和不理解,造成了一些错误,最后在实验指导书的帮助下,成功完成了实验。总之,通过这次实验,我们学到了很多,对以后的学习很有帮助。

4.思考题

1、试述Booth乘法器的原理,即为什么可以用相邻两位的差来决定加减操作。

答:以前乘法器的第一步是根据乘数的最低位来决定是否将被乘数加到中间结果积,而Booth算法则是根据乘数的相邻2位来决定操作,第一步根据相邻2位的4种情况来进行加或减操作,第二步仍然是将积寄存器右移。

实验三时序部件实验

1.实验步骤

1、如果未安装(设置好)ByteBlaster,参照实验一的配置文件的安装。

2、连接JTAG,并按下并口转接口的A按钮,打开电源。

3、实验台上通过模式开关选择FPGA独立调试模式010。

2.实验现象

(一)输入输出规则

1、主频φ对应A15(当φ为1时A15亮(大约1秒),当φ为0时A15灭),D

触发器的输出对应A14,R-S触发器的输出对应A13;

2、节拍信号T4~T1对应A7~A4,节拍信号T4’~T1’对应A3~A0。

根据维持阻塞的原理可知,在T

1~T

4

的任何期间启动控制逻辑,只有在

T 1~T

4

结束后,下一次循环开始时,才开始输出T

1

’~T

4

’;同理,停机时,

T 1’~T

4

’之间任何期间停机,只有在T

1

’~T

4

’本次循环结束时,才停止输

出。通过拨动启动和停机信号体会维持阻塞的作用。

3、CLR上电复位信号对应按实验台上的CPU复位按钮所产生的负脉冲。启动

信号对应开关SD8,开关SD8的初始状态的为1(朝上)。需要产生负启动脉冲时,首先将开关SD8拨动向下,然后再将开关SD8拨动向上。停止信号对应开关SD9,开关SD9的初始状态的为1(朝上)。需要产生负停止脉冲时,首先将开关SD9拨动向下,然后再将开关SD9拨动向上。

(二)实验步骤及现象结果记录

1、将短路子DZ3断开且短路子DZ4短接,在使FPGA-CPU所需要的时钟使用

连续时钟。并且将短路子DZ5短接,同时将DZ6~DZ8中的其他短路子断开,选择8MHz连续时钟作为启停逻辑电路的时钟。

2、打开Quartus->tools->programmer,将circuit.sof下载到FPGA中。注

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

3、启停电路下载完成之后,首先按下CPU复位键,此时实验现象为停机状态;

然后进行启动操作,在需要产生负启动脉冲时,使SD8开关执行1-0-1的操作;最后执行停止操作,在需要产生负启动脉冲时,使SD9开关执行1-0-1

的操作。

通过拨动启动和停机信号可以体会到维持阻塞的作用。

4、观察现象结果,并把现象及结果值记录到上面表3.1中。

为了方便记录,以表格形式即是:

表3.1 启停逻辑电路信息记录表:

3.实验心得

通过这次时序部件实验,我们加深理解了计算机控制器中时序控制部件的基本组成和工作原理,通过我们在实验室中的实习操作,掌握了启停逻辑电路、节拍脉冲发生器的工作原理及设计方法。对启停逻辑电路、节拍脉冲发生器等电路的结构特点也有了一定的了解。对实验器材的操作也更加熟练。

实验四 CPU算术逻辑单元实验

1.实验步骤和结果现象观察

1)实验台设置成FPGA-CPU独立调试模块;

REGSEL=0,CLKSEL=1,FDSEL=0.使用实验平台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开;

(2)将设计在Quartus II 下输入,在编译后下载到TEC-CA上的FPGA中;(3)输入A这个数:Sel=0(SA4),write=1(SA5),A数(SD15~SD0),按一下单脉冲按钮(单脉冲按钮),使之存入A寄存器;

(4)输入B这个数:Sel=1(SA4),write=1(SA5),B数(SD15~SD0),按一下单脉冲按钮(单脉冲按钮),使之存入B寄存器;

(5)输入功能码OP[210](SA2~SA0),按一下单脉冲按钮(单脉冲按钮);(6)观察16位运算结果result(A15~A0)及Z、C指示灯;

(7)重复实验步骤(3)--(6)对以下4组数据进行表4.1的8种运算,把运算结果及标志位填写在表4.2中:

A、对第一组数据进行8种运算,A为0xAAAA,B为0x5555;

B、对第一组数据进行8种运算,A为0xFFFF,B为0x0000;

C、对第一组数据进行8种运算,A为0x0000,B为0xFFFF;

D、对第一组数据进行8种运算,A为0x8950,B为0x9863;

表4.2 算术逻辑单元实验

2.节拍发生器实验现象

(一)输入输出规则

实验中的节拍序列发生器是一个8相节拍序列发生器波形图,如图3.8

所示。输出对应A7~A0灯(φ8~φ1)。

(二)实验步骤及现象

1、将短路子DZ3短接且短路子DZ4断开,使节拍序列发生器所需要的时钟使

用正单脉冲时钟。

2、打开Quartus->tools->programmer,将sequence.sof下载到FPGA中。注

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

3、按动单脉冲按钮,记录A7~A0灯的值(φ8~φ1),并绘制成时序波形图,,01111111 10111111 11011111 11101111

11110111 11111011 11111101 11111110

clock

?

1

?

2

?

3

?

4

?

5

?

6

?

7

?

8

3.实验心得

通过这次CPU算数逻辑单元实验,我们掌握了简单运算器的数据传送通路的原理,并验证了运算器的组合功能。其中,算术逻辑部件的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作。在实验过程中,对实验原理的不熟悉,让我们的实验困难了许多。我们由理论知识和指导书中的提示及要求,所以能够较顺利的完成。

实验五 CPU指令译码器实验

1.实验步骤及现象

(1)接上JTAG线和电源线,有一分二并口的请保证A按钮按下,打开实验箱电源;

(2)实验台设置成FPGA-CPU独立调试模块;REGSEL=0,CLKSEL=1,FDSEL=0.使用实验平台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开;(3)将设计在Quartus II 下输入,在编译后下载到TEC-CA上的FPGA中;

(4)拨动实验台上的开关SD

5~SD

,改变IR[15..12]、进位标志C和结果为0

标志位Z,观察指示灯R

10~R

显示的控制信号,并填写表6-28和表6-29。

2.实验心得

通过这次实验,我们学习理解了指令译码器的原理及其重要性。指令译码器作为计算机控制器中最重要的部分,其重要性是可想而知的。这次实验只是对译码器的一个简单的应用。在实验过程中,我们遇到了一些困难,但在老师和指导书

的帮助下,成功完成了实验。

实验六 CPU微程序控制实验

1.实验步骤

(1)实验台设置成FPGA-CPU独立调试模式,REGSEL=0、CLKSEL=1、FDSEL=0.

使用实验台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开;(2)将设计在Quartus II 下输入,编译后下载到TEC-CA上的FPGA中;(3)按复位键后,拨动实验台上的开关SD5~SD0,改变IR[15…12]、进位标志C和结果为0标志Z,观察指示灯R15~R0、A4~A0、A12~A8、A14和A15显示的信号,追踪每条指令的执行过程并把相应数据填在表6-1中。

(4)观察每条指令的执行过程,每个节拍进行的微操作和微操作控制信号。

表6-1 当C=0;Z=0时候各个指令执行的过程及各微指令的执行情况

2.实验心得

这次实验是关于CPU微程序控制的,在此次实验中,我们理解了微程序控制器的控制原理,并进一步掌握指令流程和功能。了解掌握了微程序控制器的设

计思路和方法。这次实验的完成,对我们以后的学习和实践有很大的帮助。

实验七八 CPU实验_无流水无cache

1.实验步骤

(1)Test1(EX1.TXT):8位×8位乘法运算

第一个测试程序,R0=25,R1=6,结果(150)存放在R3中。源代码见EX1.txt。

1、将实验台模式开关置为101,为单片机控制FPGA-CPU模式。

2、在Quartus下将实验7.1里面的cpu0.sof下载到FPGA中。

3、打开debugcontroller,执行File─>Rule Open命令,打开规则文件cpu.txt。

4、在debugcontroller中,执行file—>Code Open命令,打开伪汇编文件。

5、在debugcontroller中,执行build—>Comple Code命令,将EX1.txt编译得到目标二进制文件,显示在机器代码窗口中。

6、在debugcontroller中,执行Build—>Upload BIN命令,将目标二进制代码写入实验台上底存储器中。为了检查是否正确写入,执行Build—>Download RAM 命令,将存储器中的代码读回,(从0开始,本例中写入18个words,所以从0到17),以做比较。

7、在debugcontroller中,利用Debug菜单中的命令调试程序。

8、观察并记录每执行完一字机器指令后DataBus、AddrBus、Rx各寄存器的数据,并注意观察执行一字机器指令和一条机器指令的周期长短。

表格记录数据:

ADDR 存储器地址线数据线地址

线寄存器数据

A15—A0 D15—D0 R15—R0 0x000000081000000

0x001000081000000

0x002000100190000

0x003000281100019

0x004000300060019

0x005000481200019

0x006000500000019

0x007000691300019

0x008000700080019

0x009000881400019

0x00a000900010019

0x00b000a02410019

0x00c000b46010019

0x00d000c46010019

0x00e000d0a000019 0x00f000e0b100019 0x010000f08300032 0x011001047f70032 0x012001140ff1900

截图

计算机组成原理实验报告

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 09级 姓名:张文绮学号: 091150022 实验课程:计算机组成原理 实验室号:___田405 实验设备号: 43 实验时间:2010.12.19 指导教师签字:成绩: 实验一算术逻辑运算实验 1.实验目的和要求 1. 熟悉简单运算器的数据传送通路; 2. 验证4位运算功能发生器功能(74LS181)的组合功能。 2.实验原理 实验中所用到的运算器数据通路如图1-1所示。其中运算器由两片74181

以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74373)锁存,锁存器的输入连接至数据总线,数据开关INPUT DEVICE用来给出参与运算的数据,并经过一个三态门(74245)和数据总线相连,数据显示灯“BUS UNIT”已和数据总线相连,用来显示数据总线内容。 图1-2中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。由于实验电路中的时序信号均已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT 的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平控制有效,LDDR1,LDDR2为高电平有效。 3.主要仪器设备(实验用的软硬件环境) ZYE1603B计算机组成原理教学实验系统一台,排线若干。 4.操作方法与实验步骤

编译原理实验报告实验一编写词法分析程序

编译原理实验报告实验名称:实验一编写词法分析程序 实验类型:验证型实验 指导教师:何中胜 专业班级:13软件四 姓名:丁越 学号: 电子邮箱: 实验地点:秋白楼B720 实验成绩: 日期:2016年3 月18 日

一、实验目的 通过设计、调试词法分析程序,实现从源程序中分出各种单词的方法;熟悉词法分析 程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。确定词法分析器的输出形式及标识符与关键字的区分方法。加深对课堂教学的理解;提高词法分析方法的实践能力。通过本实验,应达到以下目标: 1、掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。 2、掌握词法分析的实现方法。 3、上机调试编出的词法分析程序。 二、实验过程 以编写PASCAL子集的词法分析程序为例 1.理论部分 (1)主程序设计考虑 主程序的说明部分为各种表格和变量安排空间。 数组 k为关键字表,每个数组元素存放一个关键字。采用定长的方式,较短的关键字 后面补空格。 P数组存放分界符。为了简单起见,分界符、算术运算符和关系运算符都放在 p表中 (编程时,还应建立算术运算符表和关系运算符表,并且各有类号),合并成一类。 id和ci数组分别存放标识符和常数。 instring数组为输入源程序的单词缓存。 outtoken记录为输出内部表示缓存。 还有一些为造表填表设置的变量。 主程序开始后,先以人工方式输入关键字,造 k表;再输入分界符等造p表。 主程序的工作部分设计成便于调试的循环结构。每个循环处理一个单词;接收键盘上 送来的一个单词;调用词法分析过程;输出每个单词的内部码。 ⑵词法分析过程考虑 将词法分析程序设计成独立一遍扫描源程序的结构。其流程图见图1-1。 图1-1 该过程取名为 lexical,它根据输入单词的第一个字符(有时还需读第二个字符),判断单词类,产生类号:以字符 k表示关键字;i表示标识符;c表示常数;p表示分界符;s表示运算符(编程时类号分别为 1,2,3,4,5)。 对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表中已有 该元素,则记录其在表中的位置,如未出现过,将标识符按顺序填入数组id中,将常数 变为二进制形式存入数组中 ci中,并记录其在表中的位置。 lexical过程中嵌有两个小过程:一个名为getchar,其功能为从instring中按顺序取出一个字符,并将其指针pint加1;另一个名为error,当出现错误时,调用这个过程, 输出错误编号。 2.实践部分

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __11503080109____ 姓名 __张致远_________ 专业 __软件工程_______ 学院 _计算机科学与工程 二0一六年四月二十三实验一基本运算器实验报告

一、实验名称 基本运算器实验 二、完成学生:张致远班级115030801 学号11503080109 三、实验目的 1.了解运算器的组成结构。 2.掌握运算器的工作原理。 四、实验原理: 两片74LS181 芯片以并/串形式构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出到外部。 两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。 为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。 总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4 为脉冲信号,其它均为电平信号。 由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效。 对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。 运算结果表

电路实验报告1--叠加原理

电路实验报告1-叠加原理的验证 所属栏目:电路实验- 实验报告示例发布时间:2010-3-11 实验三叠加原理的验证 一、实验目的 验证线性电路叠加原理的正确性,加深对线性电路的叠加性和齐次性的认识和理解。 二、原理说明 叠加原理指出:在有多个独立源共同作用下的线性电路中,通过每一个元件的电流或其两端的电压,可以看成是由每一个独立源单独作用时在该元件上所产生的电流或电压的代数和。 线性电路的齐次性是指当激励信号(某独立源的值)增加或减小K 倍时,电路的响应(即在电路中各电阻元件上所建立的电流和电压值)也将增加或减小K倍。 三、实验设备 高性能电工技术实验装置DGJ-01:直流稳压电压、直流数字电压表、直流数字电流表、叠加原理实验电路板DGJ-03。 四、实验步骤 1.用实验装置上的DGJ-03线路, 按照实验指导书上的图3-1,将两路稳压电源的输出分别调节为12V和6V,接入图中的U1和U2处。 2.通过调节开关K1和K2,分别将电源同时作用和单独作用在电路中,完成如下表格。 表3-1

3.将U2的数值调到12V,重复以上测量,并记录在表3-1的最后一行中。 4.将R3(330 )换成二极管IN4007,继续测量并填入表3-2中。 表3-2 五、实验数据处理和分析 对图3-1的线性电路进行理论分析,利用回路电流法或节点电压法列出电路方程,借助计算机进行方程求解,或直接用EWB软件对电路分析计算,得出的电压、电流的数据与测量值基本相符。验证了测量数据的准确性。电压表和电流表的测量有一定的误差,都在可允许的误差范围内。 验证叠加定理:以I1为例,U1单独作用时,I1a=8.693mA,,U2单独作用时,I1b=-1.198mA,I1a+I1b=7.495mA,U1和U2共同作用时,测量值为7.556mA,因此叠加性得以验证。2U2单独作用时,测量值为-2.395mA,而2*I1b=-2.396mA,因此齐次性得以验证。其他的支路电流和电压也可类似验证叠加定理的准确性。 对于含有二极管的非线性电路,表2中的数据不符合叠加性和齐次性。 六、思考题 1.电源单独作用时,将另外一出开关投向短路侧,不能直接将电压源短接置零。 2.电阻改为二极管后,叠加原理不成立。

华中科技大学附属协和医院计算机组成原理历年考研真题汇编完整版

华中科技大学附属协和医院计算机组成原理历年考研真题汇编 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

目 录 说明:计算机组成原理科目代码更换频繁,2016年科目代码是961,本书以此为准。 华中科技大学附属协和医院 961计算机组成原理历年考研真题汇编 最新资料,WORD 格式,可编辑修改!

华中理工大学1999硕士入学计算机组成原理真题 一、填空(每空1分,共20分) 1.计算机中数值数据表示长采用的格式有______和______两种。 2.已知十进制数,则相应的二进制数X=______,[X]补=______。 3.若X=-0.X1X2……Xn,则[X]原=______,[-X]补=______。 4.主机与外部设备之间以软件方式控制信息交换的方式有______ 和______。 5.主存储器最小的存取单位是______,而磁盘存储器的最小存取单位是______。 6.一条机器指令的处理过程,宏观上可分作______和______过程。 7.I/O接口按数据传送的宽度可分为______和______两类。 8.总线的控制方式可分为两类,即______和______。 9.多级中断常分为______和______多级中断。 10.DMA控制器含两种类型,一类是______,另一类是______。 二、计算(10分) 1.已知X=-0.01010,Y=0.10101,根据补码不恢复余数除法求[X]补÷[Y]补。(要求完整写出计算过程) 2.若存储芯片容量为128K×8位,求 (1)访问该芯片需要多少位地址 (2)假定该芯片在存储器中首地址为A0000H,求地址应为多少? 三、判断下列各题正误,并说明理由(15分) 1.ALU就是运算器。 2.不使用74182芯片,仅使用16片74181芯片就能构成64位ALU。 3.设置高速缓冲存储器的主要目的是提高存储系统的速度。 4.时序产生器是产生控制信号的部件。 5.所谓记录方式就是磁表面存储器的记忆方式。 四、简答题(16分) 1.冯·诺依曼型计算机的设计思想是什么? 2.CPU对主存进行读写操作,应该分别给出哪些信息? 3.计算机硬件组织由哪几大功能部件组成? 4.半导体只读存储器可分作哪几种类型? 五、论述题(21分) 1.论述磁表面存储器的读写操作原理。 2.试述采用直接表示法微指令的特点。 3.试述微程序控制器设计所采用的技术及设计思想。 六、下图给出了补码加法器,图中A0,B0分别为两个操作数的符号位,A1,B1分别为操作数的最高有效,要求: 1.增加能实现减法运算的逻辑电路,并说明加,减法是任何被控制实现的。 2.增加以变形补码进行运算,并且具有溢出检测功能的逻辑电路。 图4 七、绘出CPU与存储系统的连接框图。并说明CPU访问内存的读写操作原理(注内存包含主存与Cache)

计算机组成原理实验报告(运算器组成、存储器)

计算机组成原理实验报告 一、实验1 Quartus Ⅱ的使用 一.实验目的 掌握Quartus Ⅱ的基本使用方法。 了解74138(3:8)译码器、74244、74273的功能。 利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。 二.实验任务 熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。 新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138的原理图与仿真图 74244的原理图与仿真图

1. 4.74273的原理图与仿真图、

实验2 运算器组成实验 一、实验目的 1.掌握算术逻辑运算单元(ALU)的工作原理。 2.熟悉简单运算器的数据传送通路。 3.验证4位运算器(74181)的组合功能。 4.按给定数据,完成几种指定的算术和逻辑运算。 二、实验电路 附录中的图示出了本实验所用的运算器数据通路图。8位字长的ALU由2片74181构成。2片74273构成两个操作数寄存器DR1和DR2,用来保存参与运算的数据。DR1接ALU的A数据输入端口,DR2接ALU的B数据输入端口,ALU的数据输出通过三态门74244发送到数据总线BUS7-BUS0上。参与运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或DR2暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了T4是脉冲信号外,其他均为电位信号。nC0,nALU-BUS,nSW-BUS均为低电平有效。 三、实验任务 按所示实验电路,输入原理图,建立.bdf文件。 四.实验原理图及仿真图 给DR1存入01010101,给DR2存入10101010,然后利用ALU的直通功能,检查DR1、

叠加原理 实验报告范文(含数据处理)

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 叠加原理实验报告范文 一、实验目的 验证线性电路叠加原理的正确性,加深对线性电路的叠加性和齐次性的认识和理解。 二、原理说明 叠加原理指出:在有多个独立源共同作用下的线性电路中,通过每一个元件的电流或其两端的电压,可以看成是由每一个独立源单独作用时在该元件上所产生的电流或电压的代数和。 线性电路的齐次性是指当激励信号(某独立源的值)增加或减小K倍时,电路的响应(即在电路中各电阻元件上所建立的电流和电压值)也将增加或减小K倍。 三、实验设备 高性能电工技术实验装置DGJ-01:直流稳压电压、直流数字电压表、直流数字电流表、叠加原理实验电路板DGJ-03。 四、实验步骤 1.用实验装置上的DGJ-03线路,按照实验指导书上的图3-1,将两路稳压电源的输出分别调节为12V和6V,接入图中的U1和U2处。 2.通过调节开关K1和K2,分别将电源同时作用和单独作用在电路中,完成如下表格。 表3-1

3.将U2的数值调到12V,重复以上测量,并记录在表3-1的最后一行中。 4.将R3(330 )换成二极管IN4007,继续测量并填入表3-2中。 表3-2 五、实验数据处理和分析 对图3-1的线性电路进行理论分析,利用回路电流法或节点电压法列出电路方程,借助计算机进行方程求解,或直接用EWB软件对电路分析计算,得出的电压、电流的数据与测量值基本相符。验证了测量数据的准确性。电压表和电流表的测量有一定的误差,都在可允许的误差范围内。 验证叠加定理:以I1为例,U1单独作用时,I1a=8.693mA,,U2单独作用时, I1b=-1.198mA,I1a+I1b=7.495mA,U1和U2共同作用时,测量值为7.556mA,因此叠加性得以验证。2U2单独作用时,测量值为-2.395mA,而2*I1b=-2.396mA,因此齐次性得以验证。其他的支路电流和电压也可类似验证叠加定理的准确性。 对于含有二极管的非线性电路,表2中的数据不符合叠加性和齐次性。

华中科技大学计算机组成原理慕课答案

一、单项选择题 1、下列说法中,错误的是( B ) A.固件功能类似软件,形态类似硬件 B.寄存器的数据位对微程序级用户透明 C.软件与硬件具有逻辑功能的等效性 D.计算机系统层次结构中,微程序属于硬件级 2、完整的计算机系统通常包括( A ) A.硬件系统与软件系统 B.运算器、控制器、存储器 C.主机、外部设备 D.主机和应用软件 3、CPU地址线数量与下列哪项指标密切相关( B ) A.运算精确度 B.内存容量 C.存储数据位 D.运算速度 4、下列属于冯?诺依曼计算机的核心思想是( C ) A.采用补码 B.采用总线 C.存储程序和程序控制 D.存储器按地址访问 5、计算机中表示地址时使用( A )

A.无符号数 B.反码 C.补码 D.原码 6、当-1 < x < 0 时,[x] 补=(C ) A. x B.1-x C.2+x D.2-x 7、假设寄存器为8 位,用补码形式存储机器数,包括一位符号位, 那么十进制数一25 在寄存器中的十六进制形式表示为( C ) A.99H B.67H C.E7H D.E6H 8、如果某系统15*4=112 成立,则系统采用的进制是( C ) A.9 B.8 C.6 D.7 9、某十六进制浮点数A3D00000中最高8 位是阶码(含 1 位阶符),尾数是最低24 位(含1 位数符),若阶码和尾数均采用补码,则该浮

点数的十进制真值是( A ) A.-0.375 ×2^(-93) B.-0.375 ×2^(-35) C. -0.625 ×2^(-93) D.0.625 ×2^(-35) 10、存储器中地址号分别为1000#、1001#、1002#、1003 的4 个连续存储单元,分别保存的字节数据是1A、2B、3C、4D,如果数据字长为32 位, 存储器采用的是小端对齐模式,则这4 个存储单元存储的数据值应被解析为( A ) A.4D3C2B1A B.A1B2C3D4 C.D4C3B2A1 D.1A2B2C3D 11、字长8 位的某二进制补码整数为11011010,则该数的标准移码是(B ) A.11011010 B.01011010 C.00111010 D.10111010 12、对于IEEE754格式的浮点数,下列描述正确的是( D ) A.阶码和尾数都用补码表示 B.阶码用移码表示,尾数用补码表示

电路基础实验报告

基尔霍夫定律和叠加定理的验证 组长:曹波组员:袁怡潘依林王群梁泽宇郑勋 一、实验目的 通过本次实验验证基尔霍夫电流定律和电压定律加深对“节点电流代数和”及“回路电压代数和”的概念的理解;通过实验验证叠加定理,加深对线性电路中可加性的认识。 二、实验原理 ①基尔霍夫节点电流定律[KCL]:在集总电路中,任何时刻,对任一结点,所有流出结点的支路电流的代数和恒等于0。 ②基尔霍夫回路电压定律[KVL]:在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于0。 ③叠加定理:在线性电阻电路中,某处电压或电流都是电路中各个独立电源单独作用时,在该处分别产生的电压或电流的叠加。 三、实验准备 ①仪器准备 1.0~30V可调直流稳压电源 2.±15V直流稳压电源 3.200mA可调恒流源 4.电阻 5.交直流电压电流表 6.实验电路板 7.导线

②实验电路图设计简图 四、实验步骤及内容 1、启动仪器总电源,连通整个电路,分别用导线给电路中加上直流电压U1=15v,U2=10v。 2、先大致计算好电路中的电流和电压,同时调好各电表量程。 3、依次用直流电压表测出电阻电压U AB、U BE、U ED,并记录好电压表读数。 4、再换用电流表分别测出支路电流I1、I2、I3,并记录好电流读数。 5、然后断开电压U2,用直流电压表测出电阻电压U、BE,用电流表分别测出支路电流I、1并记录好电压表读数。 6、然后断开电压U1,接通电压U2,用直流电压表测出电阻电压U、、BE,用电流表分别测出支路电流I、、1并记录好电压表读数。 7、实验完毕,将各器材整理并收拾好,放回原处。 实验过程辑录 图1 测出U AB= 图2 测出电压U BE=

《编译原理》课程实验报告(词法分析)完整版

《编译原理》课程实验报告 题目词法分析 专业计算机 指导教师签名 华东理工大学信息学院计算机系 2013年4月10日

一.实验序号:《编译原理》第一次实验 二.实验题目:词法分析 三.实验日期:2013.3.27-2013.4.10 四.实验环境(操作系统,开发语言) 操作系统:Windows 开发语言:C 五.实验要求 ●修改词法: 1)将标识符的词法改为“以大写字母或小写字母开头,后面可以跟大写字母 或小写字母或数字或下划线”。 把while ((isalpha(buffer))||(isdigit(buffer)))改成while ((isalpha(buffer))||(isdigit(buffer))||buffer==’_’) 2)将<条件>中的表示相等关系的单词“=”改为“= =” char *relation[6]={"<","<=","=",">",">=","<>"}; 把其中的=改成==即可 3)将原来无小数的数改为可以有小数的数 把while (isdigit(buffer))改成while (isdigit(buffer)||buffer==’.’) ●用C语言开发词法分析程序。读入用PL/0语言编写的测试用例源程序, 将识别出的一个个单词组成单词流依序同时输出到屏幕和文件中。 六.实验步骤 1)根据修改词法后的PL/0语言编写测试用例源程序。 2)用C语言编写词法分析程序。读入PL/0语言的测试用例源程序,进行 词法分析,将识别出的一个个单词组成单词流依序同时输出到屏幕和文 件中。 3)设立断点,单步运行词法分析程序,依次单个输出单词。分析和理解词 法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。 七.实验结果(测试用例源程序,运行结果部分截图,词法分析函数主要部分源程序 PL0程序: const a=6,b=81; var x,y; procEdure p; procedure q; x:=2; begin

计算机组成原理实验报告

计算机组成原理实验报告 ——微程序控制器实验 一.实验目的: 1.能瞧懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及执 行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程与相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器与地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序与数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 其中高八位为下地址字段、其余各位为控制字段、 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址、 下地址的形成由下地址字段及控制字段中的CI3—SCC控制、当为顺序执行时,下地址字段不起作用、下地址为当前微指令地址加1;当为转移指令(CI3—0=0011)时,由控制信号SCC 提供转移条件,由下地址字段提供转移地址、 2)控制字段 控制字段用以向各部件发送控制信号,使各部件能协调工作。 控制字段中各控制信号有如下几类: ①对运算器部件为了完成数据运算与传送功能,微指令向其提供了24位的控制信号,包括:4位的A、B口地址,用于选择读写的通用积存器3组3位的控制码I8-I6、 I5-I3、I2-I6,用于选择结果处置方案、运算功能、数据来源。 3组共7位控制信号控制配合的两片GAL20V8 3位SST,用于控制记忆的状态标志位 2位SCI,用于控制产生运算器低位的进位输入信号 2位SSH,用于控制产生运算器最高,最地位(与积存器)移位输入信号 ②对内存储器I/O与接口部件,控制器主要向它们提供读写操作用到的全部控制信号,共3位,即MRW

实验二 电路原理图的绘制实验报告

实验二电路原理图的绘制实验报告 一、实验目的 (1)掌握设计项目的建立和管理; (2)掌握原理图图纸参数的设置、原理图环境参数的设置; (3)掌握元器件库的装载,学会元器件、电源、接地、网络标号、总线、输入/输出端口、节点等电路元素的选取、放置等操作; (4)掌握电路元素的参数修改方法。 二、实验原理 1、创建一个新的项目文件。 在Altium Designer 10中,根据不同的设计主要有三种形式的项目文件,分别是:PCB项目文件,文件后缀为PrjPCB;FPGA项目文件,文件后缀为PrjFPG;库文件,根据电路原理图和印制电路板图设计的不同,其后缀有SchLib和PcbLib 两种。在我们实验中均建立一个PCB项目文件。 (1)执行菜单命令“文件\工程\PCB Project”,建立一个空的项目文件后的项目工作面板; (2)执行菜单命令“File\Save Project”,保存文件。 2、新建原理图文件 (1)执行菜单命令“File\New\Schematic”,在刚才建立的项目中新建原理图,默认的文件名为Sheet1.SchDoc。 (2)执行菜单命令“File\Save Project”,保存文件。 3、设置原理图选项 (1)图纸参数设定:执行菜单命令“设计\文档选项”,系统弹出文档选项对话框,在此对话框的“方块电路选项”标签页设置图纸参数。 (2)填写图纸设计信息:执行菜单命令“设计\文档选项”,系统弹出文档选项对话框,在此对话框的“参数”标签页设置图纸参数。 (3)原理图环境参数设置:执行菜单命令“工具\设置原理图参数”,系统将弹出“喜好”对话框,在此对话框的左边树状图中选择原理图选项,此选项组中有12个选项卡,它们分别是原理图参数选项、图形编辑参数选项、编译器选项、导线分割选项、默认的初始值选项和软件参数选项等,分别用于设置原理图绘制过程中的各类功能选项。

编译原理课程设计词法分析(有代码)

《编译原理》课程 实验报告 题目词法分析 专业计算机科学与技术 班级2013级计双班 学号2013708033 姓名刘畅 指导老师郑瑶 石河子大学信息学院计算机系 2014 年11 月20 日

一. 实验序号:《编译原理》词法分析实验 二. 实验题目:词法分析 三. 实验日期: 2014年11月20日 四. 实验环境(操作系统,开发语言) 操作系统:Windows 开发语言:C 五. 实验要求 1)将标识符的词法改为“以大写字母或小写字母开头或下划线开头,后面 可以跟大写字母或小写字母或数字或下划线”。 2)将<条件>中的表示相等关系的单词“=”改为“= =”;增加用于识别自增、 自减、关系运算符、逻辑运算符及逗号运算符的相关语句。 3)将原来无小数的数改为可以识别整数和小数的数。 4)增加识别字符常量和字符串常量的识别。 5)或按C语言要求编写一个完整的用于识别C语言中各类单词的词法分析 程序。 六. 实验步骤 1)用PL/0语言编写测试用例源程序。用C语言编写词法分析程序。 2)运行词法分析程序,读入PL/0语言的测试用例源程序,进行词法分析。 3)设立断点,单步运行词法分析程序,依次单个输出单词。分析和理解词 法分析程序,解释词法分析程序中的数据和变量变化的原因和输出结果。 4)根据上述“实验要求”修改词法分析程序,同时也应修改PL/0语言测试 用例源程序中的相应的单词。 5)运行修改后的词法分析程序,读入修改后的PL/0语言测试用例源程序, 进行词法分析。 七. 实验结果(测试用例源程序,运行结果截图) 测试用例源程序: const c1=5.61,c2=20,c3='S',c4="abc"; var num1,num2,count,sum1,sum2; procedure func1; var y1,y2; begin y1:=1; y2:=x2 end;

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

实验一监控程序与汇编实验 实验时间:第周星期年月日节实验室:实验台: (以上部分由学生填写,如有遗漏,后果由学生本人自负) 1、实验目的 1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。 2)了解汇编语言的语句与机器语言的指令之间的对应关系,学习用汇编语言设计程序的过程和方法。 3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。 2、实验平台 硬件平台:清华大学TEC-XP实验箱的MACH部分 软件平台:监控程序、PC端指令集仿真软件 3、实验要求 1)学习联机使用TEC-XP 教学实验系统和仿真终端软件; 2)使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容; 3)使用A 命令写一小段汇编程序,使用U命令观察汇编码与机器码之间的关系,用G 命令连续运行该程序,用T命令单步运行并观察程序单步执行情况。 **代码不得写到0000——1FFF的地址单元中,如有违反将被取消当堂成绩 4、操作步骤及实验内容 1)实验箱功能开关设置及联机操作: 1. 将实验箱COM1口与PC机相连; 2. 设置功能状态开关为00110; 3. 于PC端运行; 4. 按RESET,START键,若PC端出现如下输出(如图所示),则操作成功; 图 2)仿真软件相关操作: 1. 在项目文件夹找到并启动; 图

2. 点击文件-启动监控程序; 图 4.若PC端出现如下输出(如图所示),则操作成功; 图 3)理解下列监控命令功能: A、U、G、R、E、D、T 1. A命令:完成指令汇编操作,把产生的指令代码放入对应的内存单元中,可连 续输入。不输入指令直接回车,则结束A命令(如图所示); 图 2. U命令:从相应的地址反汇编15条指令,并将结果显示在终端屏幕上(如图所 示); 图 注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。 3. G命令:从指定(或默认)的地址运行一个用户程序(如图所示); 图 4. R命令:显示、修改寄存器内容,当R命令不带参数时,显示全部寄存器和状 态寄存器的值(如图所示); 图 5. E命令:从指定(或默认)地址逐字显示每个内存字的内容,并等待用户打入 一个新的数值存回原内存单元(如图所示); 图 6. D命令:从指定(或默认)地址开始显示内存120个存储字的内容(如图所示);

电路原理图设计及Hspice实验报告

电子科技大学成都学院 (微电子技术系) 实验报告书 课程名称:电路原理图设计及Hspice 学号: 姓名: 教师: 年06月15日 实验一基本电路图的Hspice仿真 实验时间:同组人员: 一、实验目的 1.学习用Cadence软件画电路图。 2.用Cadence软件导出所需的电路仿真网表。 3.对反相器电路进行仿真,研究该反相器电路的特点。 二、实验仪器设备 Hspice软件、Cadence软件、服务器、电脑 三、实验原理和内容 激励源:直流源、交流小信号源。 瞬态源:正弦、脉冲、指数、分线段性和单频调频源等几种形式。 分析类型:分析类型语句由定义电路分析类型的描述语句和一些控制语句组成,如直流分析(.OP)、交流小信号分析(.AC)、瞬态分析(.TRAN)等分析语句,以及初始状态设置(.IC)、选择项设置(.OPTIONS)等控制语句。这类语句以一个“.”开头,故也称为点语句。其位置可以在标题语句之间的任何地方,习惯上写在电路描述语句之后。 基本原理:(1)当UI=UIL=0V时,UGS1=0,因此V1管截止,而此时|UGS2|> |UTP|,所以V2导通,且导通内阻很低,所以UO=UOH≈UDD,即输出电平. (2)当UI=UIH=UDD时,UGS1=UDD>UTN,V1导通,而UGS2=0<|UTP|,因此V2截止。此时UO=UOL≈0,即输出为低电平。可见,CMOS反相器实现了逻辑非的功能. 四、实验步骤

1.打开Cadence软件,画出CMOS反相器电路图,导出反相器的HSPICE网表文件。 2.修改网表,仿真出图。 3.修改网表,做电路的瞬态仿真,观察输出变化,观察波形,并做说明。 4.对5个首尾连接的反相器组成的振荡器进行波形仿真。 5.分析仿真结果,得出结论。 五、实验数据 输入输出仿真: 网表: * lab2c - simple inverter .options list node post .model pch pmos .model nch nmos *.tran 200p 20n .dc vin 0 5 1m sweep data=w .print v(1) v(2) .param wp=10u wn=10u .data w wp wn 10u 10u 20u 10u 40u 10u 40u 5u .enddata vcc vcc 0 5 vin in 0 2.5 *pulse .2 4.8 2n 1n 1n 5n 20n cload out 0 .75p m1 vcc in out vcc pch l=1u w=wp m2 out in 0 0 nch l=1u w=wn .alter vcc vcc 0 3 .end 图像: 瞬态仿真: 网表: * lab2c - simple inverter .options list node post .model pch pmos .model nch nmos .tran 200p 20n .print tran v(1) v(2) vcc vcc 0 5 vin in 0 2.5 pulse .2 4.8 2n 1n 1n 5n 20n cload out 0 .75p m1 vcc in out vcc pch l=1u w=20u

编译原理-课程设计报告-简单编译器实现-精品

课程设计 题目:简单编译器实现 学院:信息工程学院计算机系专业:计算机科学与技术班级:计科1103班 组长: 小组成员: 指导教师: 2014 年12 月19 日

目录 1 概述 (3) 1.1源、目标语言简介 (3) 1.2实现平台与运行平台简介 (3) 1.3其它 (4) 2简单词法分析器的设计与实现 (4) 2.1 基础理论说明 (4) 2.2 需求分析 (4) 2.3 概要设计 (5) 2.4 详细设计 (5) 2.5 测试数据与结果 (7) 2.6 心得体会 (7) 3 简单语法分析器设计与实现 (8) 3.1 基础理论说明 (8) 3.2 需求分析 (8) 3.3 概要设计 (8) 3.4 详细设计 (8) 3.5 测试数据与结果 (9) 3.6 心得体会 (10) 4 中间代码产生器的设计与实现 (10) 4.1 基础理论说明 (10) 4.2 需求分析 (10) 4.3 概要设计 (10) 4.4 详细设计 (11) 4.5 测试数据与结果 (12) 4.6 心得体会 (12) 附录: (14) 附录A:主要源程序与系统截图 (14) 附录B:任务分配表及个人完成的程序模块 (33) 附录C:小组讨论与研发记录 (34)

编译程序的工作过程一般可以分为五个阶段:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成。每一个阶段在功能上是相对独立的,它一方面从上一个阶段获取分析的结果来进行分析,另一方面由将结果传递给下一个阶段。由编译程序的五个阶段就对应了编译系统的结构。 其中词法分析器利用超前搜索、状态转换等方法,将源程序转化成为一个一个的单词符号二元式。一般程序语言的单词符号包括关键字、运算符、常数、标识符和界符。语法分析器将这些单词符号作为输入,对它进行语法分析。语法分析分为两种方法:自上而下分析法和自下而上分析法。针对不同程序语言的语法规则可以采取不同的分析方法,当然两种方法也可以同时使用。语法分析器把语法单元作为输入供语义分析器使用。一般的语义分析器主要采用的是语法制导方法,即在语法分析的同时进行语法分析,并产生一定的语义动作,来生成中间代码。上面三个过程可以与硬件无关,而接下来的优化器和目标代码生成器是针对某一种处理器而言的。代码优化是将语义分析生成的中间代码进行优化,产生执行效率更高的代码。目标代码生成器最终生成可以在某种机器上运行的机器语言或者汇编语言。在整个编译过程中还包括对表格的操作和对错误的处理,这些也都是非常重要的环节。 1.1源、目标语言简介 使用C语言做简单语法分析器,C语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言 1.2实现平台与运行平台简介 在win32环境下进行编译,Win32是指Microsoft Windows操作系统的32位环境,是目前使用最多的操作系统。 实验环境:需要TC、VC++ 6.0等开发工具作为本次试验的环境。

计算机组成原理实验报告

实验一8位程序计数器PC[7:0]的设计 实验要求: 1.分别用图形方式和V erilog HDL语言设计8位程序计数器,计数器带有复位,计数,转移功能。 2.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用图形方式设计实现8位程序计数器,用到了两个74LS161四位十六进制计数器,主要步骤是两个四位十六进制计数器的串联,低四位计数器的进位端RCO连到高四位计数器的进位使能端ENT,然后连上reset、clk、ir[7:0]、t[1:0]、pc[7:0]、rco等输入输出信号,最后加上转移控制逻辑即可。注意两个十六进制计数器是同步的,具体参见PC_8bit.gdf文件。 2.编译通过,建立波形仿真文件,设置输入信号参数。注意在一张图中同时实现复位(reset低位有效)、计数、转移功能,最后加上一些文字注释即可,具体参见PC_8bit.scf文件。 3.用V erilog HDL语言设计实现8位程序计数器。在已经实现.gdf文件的基础上使用库函数形式是很容易编写出.v文件的,不过学生选择了行为描述方式实现,因为后者更具有通用性,依次实现8位程序计数器的复位、计数、转移功能即可,具体参见PC_8bit.v文件。 4.编译仿真类似上述步骤2。 实验小结: 1.这是计算机组成原理的第一个实验,比较简单,按照实验要求即可完成实验。通果这次实验,我对Max+Plus软件的使用方法和V erilog HDL语言编程复习了一遍,为后面的实验打好基础。 实验二CPU运行时序逻辑的设计 实验要求: 1.用V erilog HDL 语言设计三周期时序逻辑电路,要求带复位功能,t[2:0]在非法错误状态下能自动恢复。(比如说110恢复到001)。 2.具体要求参见1_部件实验内容.doc说明文件。 实验实现: 1.用V erilog HDL 语言设计实现带复位和纠错功能的三周期时序逻辑电路。输入clk外部时钟信号和reset复位信号(低位有效),输出ck内部时钟信号和三周期信号t[2:0]。利用两级3位移位式分频逻辑实现,具体参见cycle_3.v文件。 2.编译通过,建立波形仿真文件,设置clk外部时钟信号和reset复位信号,Simulate 即可输出实验要求中显示的波形。 实验小结: 1.刚做这个实验的时候不知道CPU运行时序逻辑设计的真实用途,在进一步学习了计算机组成原理的理论知识,做cpu4实验后才知道是用来由外部时钟信号clk产生内部时钟信号ck以及三周期信号t[2:0]的。刚完成本次实验的时候未添加三周期信号t[2:0]的自动功能,后来完成cpu4后补上了。 实验三静态存储器的设计与读写验证 实验要求: 1.设计一个SRAM存储器,地址和数据都是8位,存储容量是256个字节。 2.采用异步的时序逻辑设计方式,数据是双向的,输入输出不寄存,存储器的地址也不寄存。 3.具体要求参见1_部件实验内容.doc说明文件。 实验实现:

电路分析 等效电源定理 实验报告

电路分析等效电源定理实验报告 一、实验名称 等效电源定理 二、实验目的 1. 验证戴维宁定理和诺顿定理的正确性,加深对该定理的理解。 2. 掌握测量有源二端网络等效参数的一般方法。 三、原理说明 1. 任何一个线性含源网络,如果仅研究其中一条支路的电压和电流,则可将电路的其余部分看作是一个有源二端网络(或称为含源一端口网络)。 戴维宁定理指出:任何一个线性有源网络,总可以用一个电压源与一个电阻的串联来等效代替,此电压源的电动势Us等于这个有源二端网络的开路电压Uoc,其等效内阻R0等于该网络中所有独立源均置零(理想电压源视为短接,理想电流源视为开路)时的等效电阻。 诺顿定理指出:任何一个线性有源网络,总可以用一个电流源与一个电阻的并联组合来等效代替,此电流源的电流Is等于这个有源二端网络的短路电流I SC,其等效内阻R0定义同戴维宁定理。 Uoc(Us)和R0或者I SC(I S)和R0称为有源二端网络的等效参数。 2. 有源二端网络等效参数的测量方法 (1) 开路电压的测量 在有源二端网络输出端开路时,用电压表直接测其输出端的开路电压Uoc。 (2)短路电流的测量 在有源二端网络输出端短路,用电流表测其短路电流Isc。 (3)等效内阻R0的测量 Uoc R0=── Isc 如果二端网络的内阻很小,若将其输出端口短路,则易损坏其内部元件,因此不宜用此法。

五、实验内容 被测有源二端网络如图5-1(a)所示,即HE-12挂箱中“戴维宁定理/诺顿定理”线路。 (a) (b) 图5-1 1. 用开路电压、短路电流法测定戴维宁等效电路的Uoc、R0。 按图5-1(a)接入稳压电源Us=12V和恒流源Is=10mA,不接入R L。测出U O c和Isc,并计算出R0(测U OC时,不接入mA表。),并记录于表1。 表1 实验数据表一 2. 负载实验 按图5-1(a)接入可调电阻箱R L。按表2所示阻值改变R L阻值,测量有源二端网络的外特性曲线,并记录于表2。 表2 实验数据表二 3. 验证戴维宁定理 把恒压源移去,代之用导线连接原接恒压源处;把恒流源移去,这时,A、B两点间的电阻即为R0,然后令其与直流稳压电源(调到步骤“1”时所测得的开路电压Uoc之值)相串联,如图5-1(b)所示,仿照步骤“2”测其外特性,对戴氏定理进行验证,数据记录于表3。 表3 实验数据表三 4. 验证诺顿定理 在图5-1(a)中把理想电流源及理想电压源移开,并在电路接理想电压源处用导线短接(即相当于使两电源置零了),这时,A、B两点的等效电阻值即为诺顿定理中R0,然后令

相关文档