组成原理实验总结报告

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

图2-3-11 十六位指令总线数据通路

2、指令寄存器IR偶字节打入

3、指令寄存器IR奇字节打入

4、指令寄存器IR取指与散转

七、实验感想

图2-4-1 运算器数据通路

BX的写控制由O2~O0编码定义,通过按【单拍】钮完成运算源的三、运算器功能编码

①若运算控制位设为(M S2 S1 S0=1111)则F=AH,即AH内容送到数据总线。

②若运算控制位设为(M S2 S1 S0=1000)则F=BH,即BH内容送到数据总线。

(6)奇字节逻辑运算

令M S2 S1 S0(K15 K13~K11=1101),为逻辑与,FUN及总线显示AH逻辑与BH的结果。

令M S2 S1 S0(K15 K13~K11=1100),为逻辑或,FUN及总线显示AH逻辑或BH的结果。

五、实验结果

示例1 算术运算

1、字算术运算

(1)字写操作(置数操作)

(2)字读操作(运算寄存器AX和BX内容送总线)

(3)字逻辑运算

2、字节算术运算

(1)偶字节写(置数操作)

(2)偶字节读操作(运算寄存器AL和BL内容送总线)

(3)偶字节减法运算(不带进位加)

示例2 逻辑运算

1、字逻辑运算

(1)字写操作(置数操作)

(2)字读操作(运算寄存器AX 和BX 内容送总线)

(3)字逻辑运算

2、字节逻辑运算

(1)偶字节写操作(置数操作)

(2)偶字节读操作(运算寄存器AL和BL内容送数据总线)

(3)偶字节逻辑运算

(4)奇字写操作(置数操作)

(6)奇字节逻辑运算

六、实验思考

验证表下表ALU运算器编码表所列的运算功能。

在给定AX=6655h、BX=AA77h的情况下,改变运算器的功能设置,观察运算器的输出,填入下页表格中,并和理论分析进行比较、验证。

表2.4.2 ALU运算器真值表

K15K13K12K11

AX BX运算结果运算控制运算表达式

M S2S1S0

带进位算术加A+B+C00006655AA77FUN=( 10CC )带借位算术减A-B-C00016655AA77FUN=( BBDE )

带进位左移RLC A00106655AA77FUN=( CCAA )

带进位右移RRC A0011FUN=( 332A )算术加A+B0100FUN=( 10CC )

算术减A-B0101FUN=( BBDE )

左移RL A0110FUN=(CCAA)

计算机组成原理实验指导书

“计算机组成原理” 实验指导书 伟丰编写 2014年12月

实验一算术逻辑运算实验 一、实验目的 1、掌握简单运算器的组成以及数据传送通路。 2、验证运算功能发生器(74LS181)的组合功能。 二、实验容 运用算术逻辑运算器进行算术运算和逻辑运算。 三、实验仪器 1、ZY15Comp12BB计算机组成原理教学实验箱一台 2、排线若干 四、实验原理 实验中所用的运算器数据通路如图1-1所示。其中运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的两个数据输入端分别由两个锁存器(74LS273)锁存,锁存器的输入连至数据总线,数据输入开关(INPUT)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连。运算器的输出经过一个三态门(74LS245)和数据总线相连。数据显示灯已和数据总线(“DATA BUS”)相连,用来显示数据总线容。

图1-l 运算器数据通路图 图1-2中已将实验需要连接的控制信号用箭头标明(其他实验相同,不再说明)。其中除T4为脉冲信号,其它均为电平控制信号。实验电路中的控制时序信号均已部连至相应时序信号引出端,进行实验时,还需将S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU_G、SW_G 各电平控制信号与“SWITCH”单元中的二进制数据开关进行跳线连接,其中ALU_G、SW_G 为低电平有效,LDDR1、LDDR2为高电平有效。按动微动开关PULSE,即可获得实验所需的单脉冲。 五、实验步骤 l、按图1-2连接实验线路,仔细检查无误后,接通电源。(图中箭头表示需要接线的地方, 2、用INPUT UNIT的二进制数据开关向寄存器DR1和DR2置数,数据开关的容可以用与开关对应的指示灯来观察,灯亮表示开关量为“1”,灯灭表示开关量为“0”。以向DR1中置入11000001(C1H)和向DR2中置入01000011(43H)为例,具体操作步骤如下:首先使各个控制电平的初始状态为:CLR=1,LDDR1=0,LDDR2=0,ALU_G=1,SW_G=1,S3 S2 S1 S0 M CN=111111,并将CONTROL UNIT的开关SP05打在“NORM”状态,然后按下图所示步骤进行。

计算机组成原理实验报告

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 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.操作方法与实验步骤

编译原理实验报告语法分析程序的设计

编译原理实验报告语法分析程序的设计 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

实验5语法分析程序的设计(2) 一、实验目的 通过设计、编制、调试一个典型的语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析,进一步掌握常用的语法分析中算法优先分析方法。 二、实验内容 设计一个文法的算法优先分析程序,判断特定表达式的正确性。 三、实验要求 1、给出文法如下: G[E] E->T|E+T; T->F|T*F; F->i|(E); +*()i + * ( ) i 21)直接存放,2)为优先关系建立优先函数,这里由学生自己选择一种方式; 1、给出算符优先分析算法如下: k:=1; S[k]:=‘#’; REPEAT 把下一个输入符号读进a中; IF S[k]∈V T THEN j:=k ELSE j:=k-1; WHILE S[j] a DO BEGIN

REPEAT Q:=S[j]; IF S[j-1]∈V T THEN j:=j-1 ELSE j:=j-2 UNTIL S[j] Q 把S[j+1]…S[k]归约为某个N; k:=j+1; S[k]:=N; END OF WHILE; IF S[j] a OR S[j] a THEN BEGIN k:=k+1;S[k]:=a END ELSE ERROR UNTIL a=‘#’ 1、根据给出算法,利用适当的数据结构实现算符优先分析程序; 2、利用算符优先分析程序完成下列功能: 1)手工将测试的表达式写入文本文件,每个表达式写一行,用“;”表示结束; 2)读入文本文件中的表达式; 3)调用实验2中的词法分析程序搜索单词; 4)把单词送入算法优先分析程序,判断表达式是否正确(是否是给出文法的语言),若错误,应给出错误信息; 5)完成上述功能,有余力的同学可以对正确的表达式计算出结果。四、实验环境 PC微机 DOS操作系统或 Windows 操作系统 Turbo C 程序集成环境或 Visual C++ 程序集成环境 五、实验步骤

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __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位全加器 ?实验目的 ?掌握全加器的原理及其设计方法。 ?熟悉组成原理虚拟教学平台的使用。 ?实验设备 与非门(3片)、异或门(2片)、开关若干、指示灯若干 ?实验原理 1位二进制加法器单元有三个输入量:两个二进制数Ai,Bi和低位传来的进位信号Ci,两个输出量:本位和输出Si以及向高位的进位输出C(i+1),这种考虑了全部三个输入量的加法单元称为全加器。来实验要求利用基本门搭建一个全加器,并完成全加器真值表。 ?实验步骤 各门电路芯片引脚显示于组件信息栏。 1. 测从组件信息栏中添加所需组件到实验流程面板中,按照图1.1所示搭建实验。 图1.1 组合逻辑电路实验流程图

2. 打开电源开关,按表1设置开关的值,完成表1-1。 表1-1 实验2 算术逻辑运算实验 ?实验目的 ?了解运算器的组成结构 ?掌握运算器的工作原理 ?掌握简单运算器的组成以及数据传送通路 ?验证运算功能发生器(74LS181)的组合功能 ?实验设备 74LS181(2片),74LS273(2片), 74LS245(2片),开关若干,灯泡若干,单脉冲一片 ?实验原理 实验中所用的运算器数据通路图如图2.1所示,实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。 ?74LS181:完成加法运算 ?74LS273:输入端接数据开关,输出端181。在收到上升沿的时钟信号前181和其 输出数据线之间是隔断的。在收到上升沿信号后,其将输出端的数据将传到181, 同时,作为触发器,其也将输入的数据进行保存。因此,通过增加该芯片,可以通 过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181 芯片的不同引脚之中 ?74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后

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

计算机组成原理实验报告 一、实验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、

编译原理实验报告

编译原理实验报告 班级 姓名: 学号: 自我评定:

实验一词法分析程序实现 一、实验目的与要求 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。 二、实验内容 根据教学要求并结合学生自己的兴趣和具体情况,从具有代表性的高级程序设计语言的各类典型单词中,选取一个适当大小的子集。例如,可以完成无符号常数这一类典型单词的识别后,再完成一个尽可能兼顾到各种常数、关键字、标识符和各种运算符的扫描器的设计和实现。 输入:由符合或不符合所规定的单词类别结构的各类单词组成的源程序。 输出:把单词的字符形式的表示翻译成编译器的内部表示,即确定单词串的输出形式。例如,所输出的每一单词均按形如(CLASS,VALUE)的二元式编码。对于变量和常数,CLASS字段为相应的类别码;VALUE字段则是该标识符、常数的具体值或在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串;常数表登记项中则存放该常数的二进制形式)。对于关键字和运算符,采用一词一类的编码形式;由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。另外,为便于查看由词法分析程序所输出的单词串,要求在CLASS字段上放置单词类别的助记符。 三、实现方法与环境 词法分析是编译程序的第一个处理阶段,可以通过两种途径来构造词法分析程序。其一是根据对语言中各类单词的某种描述或定义(如BNF),用手工的方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应的状态矩阵,该状态矩阵同控制程序便组成了编译器的词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序的另外一种途径是所谓的词法分析程序的自动生成,即首先用正规式对语言中的各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程序所应进行的语义处理工作,然后由一个所谓词法分析程序的构造程序对上述信息进行加工。如美国BELL实验室研制的LEX就是一个被广泛使用的词法分析程序的自动生成工具。 总的来说,开发一种新语言时,由于它的单词符号在不停地修改,采用LEX等工具生成的词法分析程序比较易于修改和维护。一旦一种语言确定了,则采用手工编写词法分析程序效率更高。 四、实验设计 1)题目1:试用手工编码方式构造识别以下给定单词的某一语言的词法分析程序。 语言中具有的单词包括五个有代表性的关键字begin、end、if、then、else;标识符;整型常数;六种关系运算符;一个赋值符和四个算术运算符。参考实现方法简述如下。 单词的分类:构造上述语言中的各类单词符号及其分类码表。 表I 语言中的各类单词符号及其分类码表 单词符号类别编码类别码的助记符单词值

北京科技大学编译原理实验报告

编译原理实验报告 学院: 计算机与通信工程学院专业: 计算机科学与技术 班级: 学号: 姓名: 实验成绩:

词法分析 一、实验目的 设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。 二、实验要求 2.1 待分析的简单的词法 (1)关键字: begin if then while do end 所有的关键字都是小写。 (2)运算符和界符 := + - * / < <= <> > >= = ; ( ) # (3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义: ID = letter (letter | digit)* NUM = digit digit* (4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。 2.2 各种单词符号对应的种别码: 输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 例如:对源程序begin x:=9: if x>9 then x:=2*x+1/3; end #的源文件,经过词法分析后输出如下序列: (1,begin)(10,x)(18,:=)(11,9)(26,;)(2,if)…… 三、词法分析程序的算法思想: 算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。 3.1 主程序示意图:

3.2词法分析程序流程图: 四、词法分析程序的C++语言程序源代码: #include"stdio.h" #include"stdlib.h" #include"string.h" #define _KEY_WORD_END "waiting for your expanding" typedef struct 开始 变量初始化 是否文件结束? 返回 拼数 Syn=11 返回 拼字符串 是否是关键字? Syn 为对应关键字的单词种别码 Syn=10 给不同的符号相同的 Syn 值 报错 是 否 数字 字母 是 否 运算符, 界符等 其他

计算机组成原理实验

计算机组成原理上机实验指导

一、实验准备和实验注意事项 1.本课程实验使用专门的TDN-CM++计算机组成原理教学实验设备,使用前后均应仔细检查主机板,防止导线、元件等物品落入装置内导致线路短路、元件损坏。 2.完成本实验的方法是先找到实验板上相应的丝印字及其对应的引出排针,将排针用电缆线连接起来,连接时要注意电缆线的方向,不能反向连接;如果实验装置中引出排针上已表明两针相连,表明两根引出线内部已经连接起来,此时可以只使用一根线连接。 3.为了弄清计算机各部件的工作原理,前面几个实验的控制信号由开关单元“SWITCH UNIT”模拟输入;只有在模型机实验中才真正由控制器对指令译码产生控制信号。在每个实验开始时需将所有的开关置为初始状态“1”。 4.本实验装置的发光二极管的指示灯亮时表示信号为“0”,灯灭时表示信号为“1”。 5.实验接线图中带有圆圈的连线为实验中要接的线。 6.电源关闭后,不能立即重新开启,关闭与重启之间至少应有30秒间隔。 7.电源线应放置在机内专用线盒中。 8.保证设备的整洁。

二、实验设备的数据通路结构 利用本实验装置构造的模型机的数据通路结构框图如下图。其中各单元内部已经连接好,单元之间可能已经连接好,其它一些单元之间的连线需要根据实验目的用排线连接。 图0-2 模型机数据通路结构框图

实验一运算器实验:算术逻辑运算实验 一.实验目的 1.了解运算器的组成结构; 2.掌握运算器的工作原理; 3.掌握简单运算器的数据传送通路。 4.验证运算功能发生器(74LSl81)的组合功能。 二.实验设备 TDN-CM++计算机组成原理教学实验系统一台,排线若干。 三.实验原理 实验中所用的运算器数据通路如图1-l所示。其中两片74LSl81以串行方式构成8位字长的ALU,ALU的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-B控制,控制运算器运算的结果能否送往总线,低电平有效。 为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。要将数据总线上的数据锁存到DR1、DR2中,锁存器的控制端LDDR1和LDDR2必须为高电平,同时由T4脉冲到来。 数据开关(“INPUT DEVICE”)用来给出参与运算的数据,经过三态门(74LS245)后送入数据总线,三态门由SW-B控制,低电平有效。数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线上的内容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 ALU运算所需的电平控制信号S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B均由“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDRl、LDDR2为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

编译原理实验报告二

编译原理实验报告 题目构造识别字符串的自动机学院 专业 班级 学号 学生姓名 指导教师 西安思源学院教务处制 二〇一年

实验二构造识别符号串的自动机 一、实验目的 1 掌握形式语言与自动机的概念 2 了解正规集及有穷自动机的关系 3 能构造识别相应符号串的自动机 4 能构造词法分析程序所识别的各类单词的自动机 二、实验环境 Microsoft Visual C++ 6.0 三、实验内容 1 用高级语言编写程序:该程序能接受C++所有的标识符。 2 用高级语言编写程序:该程序能接受C++所有的常数(整数和定点小数)。 3 用高级语言编写程序:该程序能接受C++的所有保留字。 4 用高级语言编写程序:该程序能接受C++的所有界符、运算符。 四、设计说明 void main() { void find_word(); void show_all(); void Input(); Input(); cout<<"运行结果如下"<'||ch[i]=='('||ch[i]==')') { c[t]=ch[i]; t++; k++; j++; } else if(ch[i]==' '||ch[i]=='\t') { b[k]=' ';

计算机组成原理实验报告

计算机组成原理实验报告 ——微程序控制器实验 一.实验目的: 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

编译原理实验报告总结

学年第学期《编译原理》实验报告 学院(系):计算机科学与工程学院 班级:11303070A 学号:11303070*** 姓名:无名氏 指导教师:保密式 时间:2016 年7 月

目录 1.实验目的 (1) 2.实验内容及要求 (1) 3.实验方案设计 (1) 3.1 编译系统原理介绍 (1) 3.1.1 编译程序介绍 (2) 3.1.2 对所写编译程序的源语言的描述 (2) 3.2 词法分析程序的设计 (3) 3.3 语法分析程序设计 (4) 3.4 语义分析和中间代码生成程序的设计 (4) 4. 结果及测试分析 (4) 4.1软件运行环境及限制 (4) 4.2测试数据说明 (5) 4.3运行结果及功能说明 (5) 5.总结及心得体会 (7)

1.实验目的 根据Sample语言或者自定义的某种语言,设计该语言的编译前端。包括词法分析,语法分析、语义分析及中间代码生成部分。 2.实验内容及要求 (1)词法分析器 输入源程序,输出对应的token表,符号表和词法错误信息。按规则拼单词,并转换成二元形式;滤掉空白符,跳过注释、换行符及一些无用的符号;进行行列计数,用于指出出错的行列号,并复制出错部分;列表打印源程序;发现并定位词法错误; (2)语法分析器 输入token串,通过语法分析,寻找其中的语法错误。要求能实现Sample 语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while语句、do while语句等。 (3)语义分析和中间代码生成 输入token串,进行语义分析,修改符号表,寻找其中的语义错误,并生 成中间代码。要求能实现Sample语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while 语句、do while语句等。 实验要求:功能相对完善,有输入、输出描述,有测试数据,并介绍不足。3.实验方案设计 3.1 编译系统原理介绍 编译器逐行扫描高级语言程序源程序,编译的过程如下: (1).词法分析 识别关键字、字面量、标识符(变量名、数据名)、运算符、注释行(给人看的,一般不处理)、特殊符号(续行、语句结束、数组)等六类符号,分别归类等待处理。 (2).语法分析 一个语句看作一串记号(Token)流,由语法分析器进行处理。按照语言的文法检查判定是否是合乎语法的句子。如果是合法句子就以内部格式保存,否则报错。直至检查完整个程序。 (3).语义分析 语义分析器对各句子的语法做检查:运算符两边类型是否相兼容;该做哪些类型转换(例如,实数向整数赋值要"取整");控制转移是否到不该去的地方;是

计算机组成原理实验指导书

计算机组成原理 实验报告 学号: 姓名: 提交日期: 成绩: 计算机组成原理实验报告 Computer Organization Lab Reports ______________________________________________________________________________ 班级: ____ 姓名:____学号:_____ 实验日期:____

一.实验目的 1. 熟悉Dais-CMX16+达爱思教仪的各部分功能和使用方法。 2. 掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制的组合功能。了解运算器的工作原理。 3. 完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。 ______________________________________________________________________________二.实验环境 Dais-CMX16+达爱思教仪 ______________________________________________________________________________三.实验原理 实验中所用的运算器数据通路如图1-1所示。ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。 图1-1 运算器数据通路 图1-1中,AXW、BXW在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的负脉冲把总线上的数据打入,实现AXW、BXW写入操作。 表1-1 ALU运算器编码表 算术运算逻辑运算 M M13 M12 M11 功能M M13 M12 M11 功能 M S2 S1 S0 M S2 S1 S0 0 0 0 0 A+B+C 1 0 0 0 读B 0 0 0 1 A—B —C 1 0 0 1 非A 0 0 1 0 RLC 1 0 1 0 A-1

编译原理词法分析实验报告

词法分析器实验报告 一、实验目的 选择一种编程语言实现简单的词法分析程序,设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。 二、实验要求 待分析的简单的词法 (1)关键字: begin if then while do end 所有的关键字都是小写。 (2)运算符和界符 : = + - * / < <= <> > >= = ; ( ) # (3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义: ID = letter (letter | digit)* NUM = digit digit* (4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。 各种单词符号对应的种别码: 表各种单词符号对应的种别码 词法分析程序的功能: 输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 例如:对源程序begin x:=9: if x>9 then x:=2*x+1/3; end #的源文件,经过词法分析后输出如下序列: (1,begin)(10,x)(18,:=)(11,9)(26,;)(2,if)…… 三、词法分析程序的算法思想: 算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是根

据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。 主程序示意图: 主程序示意图如图3-1所示。其中初始包括以下两个方面: ⑴关键字表的初值。 关键字作为特殊标识符处理,把它们预先安排在一张表格中(称为关键字表),当扫描程序识别出标识符时,查关键字表。如能查到匹配的单词,则该单词为关键字,否则为一般标识符。关键字表为一个字符串数组,其描述如下: Char *rwtab[6] = {“begin”, “if”, “then”, “while”, “do”, “end”,}; 图3-1 (2)程序中需要用到的主要变量为syn,token和sum 扫描子程序的算法思想: 首先设置3个变量:①token用来存放构成单词符号的字符串;②sum用来整型单词;③syn 用来存放单词符号的种别码。扫描子程序主要部分流程如图3-2所示。

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

实验一监控程序与汇编实验 实验时间:第周星期年月日节实验室:实验台: (以上部分由学生填写,如有遗漏,后果由学生本人自负) 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个存储字的内容(如图所示);

编 译 原 理 实 验 报 告

编译原理实验报告 课程:编译原理 系别:计算机系 班级:11网络 姓名:王佳明 学号:110912049 教师:刘老师 实验小组:第二组 1

实验一熟悉C程序开发环境、进行简单程序的调试 实验目的: 1、初步了解vc++6.0环境; 2、熟悉掌握调试c程序的步骤: 实验内容: 1、输入下列程序,练习Turbo C 程序的编辑、编译、运行。 #include main() { printf(“Programming is fun.\n”); } 2、分析程序,预测其运行结果,并上机检测你的预测。 #include main() { printf(“*\n”); printf(“* * *\n”); printf(“* * * * *\n”); printf(“* * * * * * *\n”); } 3、下面是一个加法程序,程序运行时等待用户从键盘输入两个整数,然后求出它们的和并输出。观察运行结果(程序输出),上机验证该程序。 #include main() { int a,b,c; printf(“Please input a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; printf(“%d+%d=%d\n”,a,b,c); } 2

实验二词法分析器 一、实验目的: 设计、编制、调试一个词法分析子程序-识别单词,加深对词法分析原理的理解。 二、实验要求: 1.对给定的程序通过词法分析器弄够识别一个个单词符号,并以二元式(单词种别码,单词符号的属性值)显示。而本程序则是通过对给定路径的文件的分析后以单词符号和文字提示显示。 2.本程序自行规定: (1)关键字"begin","end","if","then","else","while","write","read", "do", "call","const","char","until","procedure","repeat" (2)运算符:"+","-","*","/","=" (3)界符:"{","}","[","]",";",",",".","(",")",":" (4)其他标记如字符串,表示以字母开头的标识符。 (5)空格、回车、换行符跳过。 在屏幕上显示如下: ( 1 , 无符号整数) ( begin , 关键字) ( if , 关键字) ( +, 运算符) ( ;, 界符) ( a , 普通标识符) 三、使用环境: Windows下的visual c++6.0; 四、调试程序: 1.举例说明文件位置:f:、、11.txt目标程序如下: begin x:=9 if x>0 then x:=x+1; while a:=0 do 3

计算机组成原理实验指导书

计算机组成原理实验指导书 山东财经大学

第一节计算机组成原理常用部件实验 一、实验目的 1、掌握计算机组成原理常用部件的结构原理。 2、掌握常用部件的设计过程。 3、熟悉常用部件的功能与应用。 4、掌握常用部件的测试方法。 5、熟悉组成原理实验台和图形输入法软件的使用方法。 二、计算机组成原理中的常用部件 计算机组成原理中的常用部件通常指的是:加法器、数据选择器、译码器、寄存器和计数器等,这些常用部件均为运算器、总线、控制器、存储系统及数据通路的组成部分。熟练掌握常用部件对后续实验将有极大帮助。 三、实验系统置分调模式时,ispLSI1032E的输入、输出资源连接示意图 图1为本实验系统中ispLSI1032E的输入输出资源连接示意图。 ●输入开关:K15-8和K7-0共2组; ●发光管显示:LED15-8、LED7-0共2组; ●时钟脉冲:连续时钟和单脉冲2个; ●复位输入:RET2为ispLSI1032E的复位输入按键。 凡实验系统置分调模式时,以上输入、输出资源可任意编程使用。 图1 ispLSI1032E与输入、输出资源的连接示意图 四、常用部件实验 实验1 数据选择器 1、实验内容及说明 数据选择器是指从多路数据输入中选择一路作为输出,本实验要求设计一个三选一的数据选择器。图2所示为三路数据选择器的框图,图中:A= a3a2a1a0,B=b3b2b1b0,C=c3c2c1c0,E=e3e2e1e0。

2、实验步骤 (1)原理图输入:根据图3电路,采用图形输入法在计算机上完成实验电路的原理图输入。 (2)管脚定义:根据图1中的管脚连接示意图完成原理图中输入、输出管脚的定义。 其中a3a2a1a0定义在k15-k12(33-30),b3b2b1b0定义在k11-k8(29-26),c3c2c1c0定义在k7-k4(60-57),e3e2e1e0定义在LED3-LED0(79-76)。 图3 数据选择器原理图 (3)原理图编译、适配和下载:将实验系统中的模式开关(K23)置于分调模式;在图形输入软件环境中选择ispLSI1032E器件,进行原理图的编译和适配,无误后完成下载。 (4)数据选择器的调试:使用输入开关在数据选择器输入端预置任意数值,然后使AE、BE、CE 分别有效(高电平有效,即开关向上),观察输出E的值是否和相应的输入值相同。 (5)生成元件符号,以备以后使用。 实验2 寄存器 1、实验内容及说明 本实验要求设计一个8位的寄存器,其中d7—d0、q7—q0分别为寄存器的输入和输出,cp为寄存器的时钟脉冲。 图4为8位寄存器的框图。 图5电路为8位寄存器的线路原理图。

编译原理实验报告一

实验一词法分析程序实现 一、实验目得与要求 通过编写与调试一个词法分析程序,掌握在对程序设计语言得源程序进行扫描得过程中,将字符流形式得源程序转化为一个由各类单词符号组成得流得词法分析方法 二、实验内容 基本实验题目:若某一程序设计语言中得单词包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符与四个算术运算符,试构造能识别这些单词得词法分析程序(各类单词得分类码参见表I)。 表I语言中得各类单词符号及其分类码表 输入:由符合与不符合所规定得单词类别结构得各类单词组成得源程序文件。 输出:把所识别出得每一单词均按形如(CLASS,VALUE)得二元式形式输出,并将结果放到某个文件中。对于标识符与无符号常数,CLASS字段为相应得类别码得助记符;V AL UE字段则就是该标识符、常数得具体值;对于关键字与运算符,采用一词一类得编码形式,仅需在二元式得CLASS字段上放置相应单词得类别码得助记符,V ALUE字段则为“空". 三、实现方法与环境 词法分析就是编译程序得第一个处理阶段,可以通过两种途径来构造词法分析程序.其一就是根据对语言中各类单词得某种描述或定义(如BNF),用手工得方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应得状态矩阵,该状态矩阵连同控制程序一起便组成了编译器得词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序得另外一种途径就是所谓得词法分析程序得自动生成,即首先用正规式对语言中得各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程

计算机组成原理实验指导书

SAC-T3D 计算机组成原理教学实验仪 实验指导书 电气与信息学院

SAC-T3D 计算机组成原理教学实验仪 实验指导书 电气与信息学院

目录 第一章概述 (1) 第二章实验部分 (3) 实验一时序电路组成、控制原理实验 (3) 实验二运算器组成实验 (6) 实验三半导体存贮器原理实验 (10) 实验四数据通路实验 (14) 实验五微程序控制器实验 (17)

第一章概述 SAC—T3C计算机组成原理实验仪是根据理工科院校计算机组成原理课程大纲的要求和计算机教学迅速发展的需要,在吸收了国内外先进教学成果的基础上设计定型的。 系统采用模块化组合结构,为大学本科、专科、成人高校等层次的《计算机组成原理》、《计算机组成与结构》、《逻辑设计》,等课程提供了实验条件。 整个系统由运算器电路、存贮器电路、数据通路电路、时序发生器电路、微程序控制器电路、模拟输入逻辑开关、脉冲发生电路、电平脉冲测试电路等组成。 由于系统的模块化,学生可通过一系列积木式实验,对CPU 内部的运算功能、控制功能、总线结构、指令系统的设计和微指令的实现以及CPU内部如何工作有直观、深刻的认识。在各项分实验的基础上,通过自己设计并实现一台模型机的运行。从而对计算机的原理、结构,从部件到分系统,直到整机有一个形象的、生动的、本质的认识。有利于培养学生的动手能力,创造性分析问题和解决问题的能力。 SAC-T3C计算机实验仪布局框图如图1。 其中存贮器、运算器及数据通路、时序、微程序控制电路将在今后逐一详细介绍和使用。前四个实验UMBIN和UMAOUT之间的扁平通信线不用插。 作为辅助电路主要有:脉冲电平测试电路用来进行电平测试和脉冲测试,脉冲产生电路用来产生单拍脉冲和连续脉冲,单拍脉冲输出为P和/P常用作实验中的单拍脉冲信号源。连续脉冲输出为Q1、Q2、Q3、Q4其中Q1~Q4为倍频关系,频率决定于晶体频率,如晶体频率为2M,Q1~Q4分别为1MHZ、500KHZ、250KHZ、125KHZ,在实验中可任选一频率作为时序电路中H的连续脉冲输入。

相关文档
最新文档