文档库 最新最全的文档下载
当前位置:文档库 › 计组实验

计组实验

计组实验
计组实验

四川大学计算机学院、软件学院

实验报告

学号:_2013141462183_ 姓名:方正专业:计算机科学与技术班级:_6班_第 12 周控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重

编辑完成后需进行校验,以确保编辑的正确。以校验00H 单元为例,对于控制存

2. 对微控器进行读写操作,分两种情况:手动读写和联机读写。

如$M 1F 112233,表示微指令的地址为

33H(低),本次实验的微程序如下,其中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。

1.熟悉了微程序控制器的工作流程,

2.对微程序的编写写入及运行有了一个更清晰的了解,

3.要多动手实践,对计算机组成有更深的认识。

计组实验报告

计算机组成原理实验报告 实验1:VERILOG 设计基础 专业班级:14级计算机二班 学号:14048001 姓名:杨娜 学号:14048003 姓名:周蓉 实验地点:理工楼901 实验时间:2016年5月14日

实验十VGA显示控制器的设计 一、实验目的 1、学习VERILOG的基本语法和编程规则 2、掌握通用寄存器等常用基本数字模块的VERILOG描述和基本设计方法 3、理解带使能控制和异步清零的8位寄存器的设计原理 4、掌握使用VERILOG设计和验证带使能控制和异步清零的8位寄存器的方法 5、掌握移位寄存器的设计方法 二、实验任务 1、设计一个带使能控制和异步清零的8位寄存器REG8X,实现8位输入的锁存,在时钟的上升沿处得到一个8位的输出和一个8位的反向输出,将结果显示在发光二极管。 模块的端口描述如下: 模块的参考物理结构如下: R7 R6 R i R 0 7 6 i 0 带使能控制和异步清零的8位寄存器 模块的使用注意事项

1.数据源D(7..0)一直加在寄存器的数据输入端; 2.周期性的时钟信号Clock一直加在寄存器的时钟输入端 3.使能信号Enable控制寄存器是否接受数据。当Enable = '0'时,寄存器不 接受数据,保持原来的状态不变;当Enable = '1'时,在时钟信号Clock正 跳变时,寄存器接受并保存当时D(7..0)的数据; 4.本寄存器其它方面的功能与上述的寄存器相同。 完成的参考电路图如下:dout=q 2、设计一个有左、右移位功能的8位寄存器REGSHIFT8,并仿真验证。

三、实验内容 1、通过输入数据先进行计算,并通过实验进行验证REG8X。 (1)、将清零信号Resetn(sw17)设为0,将输入信号D(sw7~sw0)设为10101010,观察输出信号Q(ledr7~ledr0)和Qb(ledg7~ledg0),观察并记录输出。 (2)、将清零信号Resetn(sw17)设为1,在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (3)、将输入信号D(sw7~sw0)设为01010101,观察并记录输出。 (4)、在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (5)、自行完善设计表格,观察并记录测试输出。 实验数据表 2、通过输入数据先进行计算,并通过实验进行验证REGSHIFT8。 (1)、测试清零信号Resetn (2)、测试移位功能 (3)、测试寄存功能 (4)、自行设计表格观察并记录测试输出。 实验数据表

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

杭电计组实验1-全加器设计实验

杭电计组实验1-全加器设计实验 杭州电子科技大学计算机学院实验报告实验项目:实验1-全加器设计实验课程名称:计算机组成原理与系统结构课程设计姓名: 学号: 同组姓名: 学号: 实验位置(机号): 自己的笔记本实验日期: 指导教师: 实验内容(算法、程序、步骤和方法)一、实验目的(1),学习ISE工具软件的使用及仿真方法(2)学习FPGA程序的下载方法(3)熟悉Nexys3实验板(4)掌握运用VerilogHDL进行结构描述与建模的技巧和方法(5)掌握二进制全加器的原理和设计方法二、实验仪器ISE工具软件三、步骤、方法(1)启动XilinxISE 软件,选择File-NewProject,输入工程名,默认选择后,点击Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程。 (2)在工程管理区的任意位置右击,选择NewSource命令。弹出NewSourceWizard对话框,选择VerilogModule,并输入Verilog文件名shiyan1,点击Next按钮进入下一步,点击Finish完成创建。 (3)编辑程序源代码,然后编译,综合;选择Synthesize--XST项中的CheckSyntax右击选择Run命令,并查看RTL视图;如果编译出错,则需要修改程序代码,直至正确。 (4)在工程管理区将View类型设置成Simulation,在任意位置右击,选择NewSource命令,选择VerilogTestFixture选项。输入文件名shiyan1_test,点击Next,点击Finish,完成。编写激励代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。 (5)由于实验一并未链接实验板,所以后面的链接实验板的步骤此处没有。 操作过程及结果一、操作过程实验过程和描述: moduleshiyan1(A,B,C,F,Ci);inputA,B,C;outputF,Ci;wireA,B,C,F,Ci;wi reS1,S2,S3;xorXU1(F,A,B,C),XU2(S1,A,B);andAU1(S2,A,B),AU2(S3,S1,C);or OU1(Ci,S2,S3);endmodule仿真代码 moduleshiyan1_test;//InputsregA;regB;regC;//OutputswireF;wireCi;/ /InstantiatetheUnitUnderTest(UUT)shiyan1uut(.A(A),.B(B),.C(C),.F(F),. Ci(Ci));initialbegin//InitializeInputsA=0;B=0;C=0;//Wait100nsforgloba lresettofinish#100;//AddstimulushereA=0;B=0;C=0;#100A=0;B=0;C=1;#100A =0;B=1;C=0;#100A=0;B=1;C=1;#100A=1;B=0;C=0;#100A=1;B=0;C=1;#100A=1;B= 1;C=0;#100A=1;B=1;C=1;EndRTL图 二、结果 思考题: ((1)根据查看顶层模块RTL的最外层的输入输出接口,和实验指导书式(14.1)所示电路相比,该电路图的输入输出引脚和这个加法器的引脚图式是相符合的。 ((2))尝试使用数据流描述方式现实现

计组实验二实验报告-80868088指令系统

HUNAN UNIVERSITY 课程实习报告 题目: 8086/8088指令系统 学生姓名 学生学号 专业班级计算机科学与技术2班 指导老师 完成日期2013年4月21日

一、实验目的 利用debug工具的e和u功能找出8086/8088指令系统的指令格式中各种操作吗编码对应的指令功能,得到8086/8088操作吗从00~FF所对应的的汇编指令的名字。并加以分析总结,形成你的关于8086/8088指令系统操作码编码方法的实验报告。 二、实验过程 1、编写C++程序,生成debug的输入文件(shuru.txt) 2、将shuru.txt复制到debug的根目录下,在debug界面输入如下指令“debug out.txt”,在debug的根目录下,生成了输出文本文件out.txt。 打开out.txt,对256条记录进行整理,如下所示。 3、固定前两位为00,将第二字节从00变为ff,观察汇编指令变化。编写C++程序如下: 4、将shuru2.txt复制到debug的根目录下,在debug界面输入如下指令“debug out2.txt”,在debug的根目录下,生成了输出文本文件out2.txt。

打开out2.txt,对256条记录进行分析。 三、256条记录 指令码汇编指令 ------------------------------------------------------------- 0B76:0100 0000 ADD [BX+SI],AL 0B76:0100 0100 ADD [BX+SI],AX 0B76:0100 0200 ADD AL,[BX+SI] 0B76:0100 0300 ADD AX,[BX+SI] 0B76:0100 0400 ADD AL,00 0B76:0100 050000 ADD AX,0000 0B76:0100 06 PUSH ES 0B76:0100 07 POP ES 0B76:0100 0800 OR [BX+SI],AL 0B76:0100 0900 OR [BX+SI],AX 0B76:0100 0A00 OR AL,[BX+SI] 0B76:0100 0B00 OR AX,[BX+SI] 0B76:0100 0C00 OR AL,00 0B76:0100 0D0000 OR AX,0000 0B76:0100 0E PUSH CS 0B76:0100 0F DB 0F 0B76:0100 1000 ADC [BX+SI],AL 0B76:0100 1100 ADC [BX+SI],AX 0B76:0100 1200 ADC AL,[BX+SI] 0B76:0100 1300 ADC AX,[BX+SI] 0B76:0100 1400 ADC AL,00 0B76:0100 150000 ADC AX,0000 0B76:0100 16 PUSH SS 0B76:0100 17 POP SS 0B76:0100 1800 SBB [BX+SI],AL 0B76:0100 1900 SBB [BX+SI],AX 0B76:0100 1A00 SBB AL,[BX+SI] 0B76:0100 1B00 SBB AX,[BX+SI] 0B76:0100 1C00 SBB AL,00 0B76:0100 1D0000 SBB AX,0000 0B76:0100 1E PUSH DS 0B76:0100 1F POP DS 0B76:0100 2000 AND [BX+SI],AL 0B76:0100 2100 AND [BX+SI],AX 0B76:0100 2200 AND AL,[BX+SI] 0B76:0100 2300 AND AX,[BX+SI] 0B76:0100 2400 AND AL,00 0B76:0100 250000 AND AX,0000

杭电计组实验报告10

计组实验十 老师:包健 一、源代码测试模块代码: module Top( inputinclk, inputmem_clk, inputrst, outputreg[7:0] LED, input [3:0] SW ); wireclk; MyButtonmb( .clk_100MHz(mem_clk), .BTN(inclk), .BTN_Out(clk) ); wire [31:0] ALU_F; wire [31:0] M_R_Data; wire ZF; wire OF; wire [31:0]PC; My_I_CPUmy_i_cpu( .clk(clk), .mem_clk(mem_clk), .rst(rst), .ALU_F(ALU_F), .M_R_Data(M_R_Data), .ZFF(ZF), .OF(OF), .PC_out(PC) ); always@(*) begin case(SW) 4'd0:LED=ALU_F[7:0]; 4'd1:LED=ALU_F[15:8]; 4'd2:LED=ALU_F[23:16]; 4'd3:LED=ALU_F[31:24]; 4'd4:LED=M_R_Data[7:0];

4'd5:LED=M_R_Data[15:8]; 4'd6:LED=M_R_Data[23:16]; 4'd7:LED=M_R_Data[31:24]; 4'd8:LED={ZF,6'd0,OF}; 4'd12:LED=PC[7:0]; 4'd13:LED=PC[15:8]; 4'd14:LED=PC[23:16]; 4'd15:LED=PC[31:24]; default:LED=8'b0000_0000; endcase end endmodule 顶层模块代码: moduleMy_I_CPU( inputclk, inputmem_clk, inputrst, output [31:0] ALU_F, output [31:0] M_R_Data, output ZFF, output OF, output [31:0]PC_out ); //wire clk_n = ~clk; wire[31:0] codes; wire [31:0]PC_new; reg [31:0]PC; Inst_Fetch1 inst_fetch( .PC(PC), .rst(rst), .clk(clk), .Inst_codes(codes), .PC_new(PC_new) ); wire[5:0] OP; wire[5:0] func;

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

计组实验二

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称静态随机存储器实验 班级 学号 姓名 同组人员无 实验日期 2016.5.10

一、实验目的与要求 (一)实验目的: 掌握静态随机存储RAM工作特性及数据的读写方法 实验要求: 1.实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务; 2.应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室; 3.实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容; 4.实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要上交老师。 二、实验逻辑原理图与分析 2.1 画实验逻辑原理图 D7 - - - - - - - - - - - - - -D0 O E C S D7- - - - - - - - - - - - - - D0 R D A10—A8 A7- - - - - - - - - - - - -A0 WE 读写译码 74LS273 74LS245 IN单元AD7 | AD0

2.2 逻辑原理图分析 1、存储器数据线接至数据总线,数据总线上接有8个LED 灯显示D7—D0 的内容。地址线接至地址总线,地址总线上接有8 个LED 灯显示A7—A0 的内容,地址由地址锁存器(74LS273,位于PC&AR单元)给出。 2、数据开关(位于IN单元)经一个三态门(74LS245)连至数据总线,分时给出地址和数据。地址寄存器为8位,接入6116的地址A7—A0,6116 的高三位地址A10—A8 接地,所以其实际容量为256 字节。 3、实验箱中所有单元的时序都连接至时序控制台操作,CRL都连接至CON 按钮。实验时T3由时序单元给出,其余信号由CON单元的二进制开关模拟给出,其中,IOM应为低,RD、WR高有效,MR、MW低有效,LDAR高有效。 三、数据通路图及分析(画出数据通路图并作出分析) 数据总线 ×××××××× OE# CE# ××××××××WR# MEM单元 A1 A8 ××××××××RD# ×××××××× AR单元 ≥1 ×××××××× IN单元

计组实验报告.

武汉大学计算机学院计算机科学与技术专业 CPU设计实验报告 实验名称:开放式实验CPU设计课题名称: 计算机组成原理 班级: 指导教师:徐爱萍 组长: 组员: 二零一五年三月

目录 目录 (1) 1 实验环境 (2) 1.1 Quartus Ⅱ介绍 (2) 1.2 硬件描述语言(VHDL) (3) 1.3实验的主要成果 (3) 2 实验要求 (5) 2. 1 指令格式要求 (5) 2. 2 指令流程及微信号序列分析 (6) 2.2.1 ADD指令分析 (6) 2.2.2 ADC指令分析 (7) 2.2.3 SUB指令分析 (7) 2.2.4 SBC指令分析 (7) 2.2.5 INC指令分析 (7) 2.2.6 DEC指令分析 (8) 2.2.7 SHL指令分析 (8) 2.2.8 SHR指令分析 (8) 2.2.9 MOVR指令分析 (8) 2.2.10 MOVD指令分析 (9) 2.2.11 LDRR指令分析 (9) 2.2.12 STRR指令分析 (10) 2.2.13 JMP指令分析 (10) 2.2.14 JRC指令分析 (11) 2.2.15 JRZ指令分析 (11) 2.2.16 JRS指令分析 (11) 2.2.17 CLC指令分析 (11) 2.2.18 STC指令分析 (11) 3.部件仿真实验 (11) 3.1 八个通用寄存器设计与仿真 (11) 3.1.1 设计代码 (11) 3.1.2 RTL连接图 (17) 3.1.3 仿真过程 (17) 3.2算术逻辑单元设计与仿真 (18) 3.2.1 设计代码 (18) 3.2.2 RTL连接图 (21) 3.2.3 仿真过程 (22) 4. CPU设计 (23) 4.1取指设计 (23) 4.2指令译码的设计 (25) 4.3执行部分设计 (28) 4.4存储器部分设计 (31) 4.5通用寄存器组设计 (32)

计组实验报告--部分

2、设计报告 2、1实验方法 本实验要完成的工作主要包括: 1、指令系统的设计 2、利用VHDL语言完成实验CPU的设计,包括通用寄存器的设计、取值部分设计、指令译 码设计、执行设计、存储器设计、程序包设计和顶层设计设计 3、在Quatus II 平台上进行仿真,并下载到TEC-CA教学实验箱上进行调试。 这三大部分为并行关系,只有在完成上一部分的基础上才能继续进行下一步,而第二大部分可以同时并行进行。 实验的主要流程图为图2.1所示。 图2.1

在指令系统和CPU逻辑设计时,主要的方法是先根据老师给的指令要求,确定CPU所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个CPU的逻辑结构图。 2、2总体说明 2.2.1 CPU组成部件 实验CPU由5部分组成:取指部分instru_fetch、指令译码部分decoder_unit、执行部分exe_unit、存储器部分memory_unit和通用寄存器组fegile.另外,还有一个程序包exe_cpu_components,将各底层设计实体作为元件存储,供各设计实体使用。顶层设计实体exe_cpu完成5个组成部分的链接。 GR(8位,4个寄存器),ALU(8位),时序节拍发生器timer,AR(8位),IR(8位),PC(8位)、PC(8位),RAM(8位),组合期间T1,T2,T3。逻辑控制器件controller,地址总线(8位),数据总线(8位)。 2、2、2整机原理实验图

图2.2.1 图2.2.2

计组实验一

实验报告

一.实验目的 熟悉存储器和总线的硬件电,掌握静态随机存储器 RAM 工作特性及数据的读写方法。了解与实验相关的各控制信号的意义,了解三态门在共享总线上所起的隔离作用,了解锁存器的作用及地址锁存的意义。 二.实验要求 按照实验步骤完成实验项目,实现对存储器的访问。 三.实验原理 实验所用的静态存储器由一片6116(2K×8bit)构成(位于MEM 单元),如图1所示。6116有三个控制线:CS(片选线)、OE(读线)、WE(写线),其功能如表1所示,当片选有效(CS=0)时,OE=0 时进行读操作,WE=0 时进行写操作,本实验将CS 常接地。 (图一) 由于存储器(MEM)最终是要挂接到CPU 上,所以其还需要一个读写控制逻辑,使得CPU 能控制MEM 的读写,实验中的读写控制逻辑如图2 所示,由于T3 的参与,可以保证MEM 的写脉宽与T3 一致,T3 由时序单元的TS3 给出(时序单元的介绍见第三章3.3 系统实验单元电路中6.时序与操作台单元部分)。IOM 用来选择是对I/O 还是对MEM 进行读写操作,RD=1 时为读,WR=1 时为写。 (图2)

实验原理图如图3所示,存储器数据线接至数据总线,数据总线上接有8 个LED 灯显示 D7…D0 的内容。地址线接至地址总线,地址总线上接有8 个LED 灯显示A7…A0 的内容,地址由地址锁存器(74LS273,位于PC&AR 单元)给出。数据开关(位于IN 单元)经一个三态门(74LS245)连至数据总线,分时给出地址和数据。地址寄存器为8 位,接入6116 的地址A7…A0,6116 的高三位地址A10…A8 接地,所以其实际容量为256 字节。 图3 存储器实验原理图 实验箱中所有单元的时序都连接至时序与操作台单元,CLR 都连接至CON 单元的CLR 按钮。实验时T3 由时序单元给出,其余信号由CON 单元的二进制开关模拟给出,其中IOM 应为低(即MEM 操作),RD、WR 高有效,MR 和MW 低有效,LDAR 高有效。 四,实验步骤

计算机组成原理--实验二算术逻辑运算实验

实验二算术逻辑运算实验 一、实验目的 (1)了解运算器芯片(74LS181)的逻辑功能。 (2)掌握运算器数据的载入、读取方法,掌握运算器工作模式的设置。 (3)观察在不同工作模式下数据运算的规则。 二、实验原理 1.运算器芯片(74LS181)的逻辑功能 74LS181是一种数据宽度为4个二进制位的多功能运算器芯片,封装在壳中,封装形式如图2-3所示。 5V A1 B1 A2 B2 A3 B3 Cn4 F3 BO A0 S3 S2 S1 S0 Cn M F0 F1 F2 GND 图 2-3 74LS181封装图 主要引脚有: (1)A0—A3:第一组操作数据输入端。 (2)B0—B3:第二组操作数据输入端。 (3)F0—F3:操作结果数据输入端。 (4)F0—F3:操作功能控制端。 (5):低端进位接收端。

(6):高端进位输出端。 (7)M:算数/逻辑功能控制端。 芯片的逻辑功能见表2-1.从表中可以看到当控制端S0—S3为1001、M为0、 为1时,操作结果数据输出端F0—F3上的数据等于第一组操作数据输入端A0—A3上的数据加第二组操作数据输入端B0—B3上的数据。当S0—S3、M、 上控制信号电平不同时,74LS181芯片完成不同功能的逻辑运算操作或算数运算操作。在加法运算操作时,、进位信号低电平有效;减法运算操作时,、 借位信号高电平有效;而逻辑运算操作时,、进位信号无意义。 2.运算器实验逻辑电路 试验台运算器实验逻辑电路中,两片74LS181芯片构成一个长度为8位的运算器,两片74LS181分别作为第一操作数据寄存器和第二操作数据寄存器,一片74LS254作为操作结果数据输出缓冲器,逻辑结构如图2-4所示。途中算术运算操作时的进位Cy判别进位指示电路;判零Zi和零标志电路指示电路,将在实验三中使用。 第一操作数据由B-DA1(BUS TO DATA1)负脉冲控制信号送入名为DA1的第一操作数据寄存器,第二操作数据由B-DA2(BUS TO DATA2)负脉冲控制信号送入名为DA2的第二操作数据寄存器。74LS181的运算结果数据由(ALU TO BUS)低电平控制信号送总线。S0—S3、M芯片模式控制信号同时与两片74LS181的S0—S3、M端相连,保证二者以同一工作模式工作。实验电路的低端进位接收端Ci与低4位74LS181的相连,用于接收外部进位信号。低4为74LS181的与高4位74LS181的上相连,实现高、低4位之间进位信号的传递。高4位之间进位信号的传递。高4位74LS181的送进位Cy判别和进位指示电路。 表2-1 74LS181 芯片逻辑功能表

计算机组成原理实验1

计算机组成原理实验日志 实验题目: 运算器组成实验 实验目的: (1)了解运算器的组成结构; (2)掌握运算器的工作原理; (3)学习运算器的设计方法; (4)掌握简单运算器的数据传输通路; (5)验证运算功能发生器 74LS181 的组合功能。 实验主要步骤: (1)(按图 1.1-2 连接实验电路并检查无误。图中将学生需要连接的信 号线用小圆圈标明 (其他实验相同,不再说明 )。 图 1.1-2 算术逻辑实验接线图 (2)打开电源开关。 (3)用输入开关向暂存器DR1 置数。 ①拨动输入开关,形成二进制数01100101(或其他数值 )。(数据显示:灯亮为0,灭为 1)。 ②使SWITCH UNIT 单元中的开关SW-B=0( 打开数据输入三态门) 、ALU-B=1( 关闭 ALU 输入三态门 )、LDDR1=1 、LDDR2=0 。 ③按动微动开关 KK2( 产生 T4),则将二进制数01100101置入 DR1 中。 (4)用输入开关向暂存器DR2 置数。

①拨动输入开关,形成二进制数10100111(或其他数值 )。 ②SW-B=0、ALU-B=1 保持不变,改变L DDR1 、LDDR2 ,使 LDDR1=0 、LDDR2=1 。 ③按动微动开关 KK2( 产生 T4),则将二进制数10100111置入 DR2 中。 (5)检验 DR1 和 DR2 中存的数是否正确。 ①关闭数据输入三态门(SW-B=1),打开 ALU 输出三态门 (ALU-B=0) ,并使 LDDR1=0 、LDDR2=0 ,关闭寄存器。 ②置 S3、S2、S1、S0、M 为 1、1、1、1、1,总线显示灯显示 DR1 中的数。 ③置 S3、S2、S1、S0、M 为 1、0、1、0、1,总线显示灯显示 DR2 中的数。 (6)改变运算器的功能设置,观察运算器的输出。 ①SW-B=1、ALU-B=0 保持不变。 ②按表 1.1-2 置 S3、S2、 S1、S0、M 、Cn 的数值,并观察总线显示灯显示的结果。 例如: 置S3、S2、S1、 S0、M 、 Cn 为 1、0、0、1、0、1,运算器进行加法运算。 置S3、S2、S1、 S0、M 、 Cn 为 0、1、1、0、0、0,运算器进行减法运算。 (7)验证 74LS181 的算术运算和逻辑运算功能(采用正逻辑 )。 ①在给定 DR1=65、 DR2=A7 的情况下,改变运算器的功能设置,观察运算器的输出,并将该输出填入表 1.1-2 中。 ②参考表 1.1-1 给出的 74LS181 的逻辑功能表,验证 74LS181 的算术运算和逻辑运算功能 (采用正逻辑 ),且与理论分析进行比较和验证。 实验结果: DR1 置入 DR1 置入01H 02H 加法,总线显示03H 减法,总线显示01H 心得体会: 通过本次实验初步了解了实验器材,加法原理和操作。

计组-实验二报告

管理学院信息管理与信息系统专业 3 班______组、 学号姓名协作者 教师评定_____________ 实验题目_半导体存储器原理实验_______________________ 1.实验目的与要求: 实验目的: (1)掌握静态存储器的工作特性及使用方法。 (2)掌握半导体随机存储器如何存储和读取数据。 实验要求: 实验前,要求先做好实验预习,了解实验电路的概况,然后按练习一和练习二的要求完成相应的操作,并填写表2.1各控制端的状态及记录表2.2的写入和读出操作过程,最后总结实验中遇到的问题。 2.实验方案: (1)半导体静态随机存储器实验连线:按要求在实验仪上接好线,仔细检查正确与否,无误后才接通电源,每次实验都要接一些线,先接线,后打开电源,养成不带电接线的习惯,这样可以避免烧坏实验仪器。 (2)向存储单元写入数据:先将表2.2的地址和内容转化为二进制,然后向存储器单元里先写第一个单元的地址、然后向第一个地址,再写第二个地址,然后向第二个地址单元写内容,就这样不断循环操作,直到做完。 (3)读出存储单元内容: 依次读出表中各地址单元的内容,观察各单元中的内容与写入内容是否一致。 (4)检验结果: 若结果一致,读写操作顺利完成。 3.实验结果和数据处理: (1)填写表2.1各控制端的状态。如下图所示: 表2.1

(2)记录表2.2的写入和读出操作过程。 (1)设置输入控制端的开关状态:将实验仪左下方“INPUTDEVICE”中的8位数据开关D7—D0设置为00000000。 (2)写地址操作。SW-B=0, LDAR=1, CE=1, WE=0/1, 设置好各类数据后,按一下微动开关START即可。最后,关闭AR地址寄存器的存数控制信号:LDAR=0。完成写地址操作。 (3)写内容操作。SW-B=0, LDAR=0, CE=0, WE=1, 输入好各项数据后,按一下微动开关START即可。最后,关闭片选信号和写命令信号:CE=1, WE=0。存储器写命令操作完毕。 (4)读内容操作。首先完成写地址操作(参照(2)),再做读内容操作。读内容操作:SW-B=1, LDAR=0, CE=0, WE=0。不需要脉冲,即不要按微动开关START。此时地址的内容通过”BUS UNIT”中数据显示灯B7-B0显示出来。 (5)注意先写第一个地址,然后读出第一个地址单元的内容。再写第二个地址,然后读出第二个地址单元的内容,就这样不断循环操作即可读出各地址单元的内容。 (6)依次读出表中各地址单元的内容,观察各单元中的内容与写入内容是否一致。 (7)结果一致,读写操作顺利完成。 4.结论 (1)存储器的工作特性及使用方法是先做写地址操作,将数据写入地址寄存器AR里,再对存储器的地址单元进行写内容操作写入相关数据,最后再读出地址单元的内容。半导体随机存储器是用来存取和读取数据的,6116型RAM存储器是可写和可读的,每次把数据存入地址,可做相应的操作把数据读出。但是断电时会把数据清空的,即不具有断电保护性。 (2)SW-B和CE是低电平有效, LDAR、WE是高电平有效 (3)做写地址和写内容时都要脉冲信号,而读内容时不需要脉冲信号。 (4)写操作完成后要关闭LDAR,否则输入的数据会把原来AR地址寄存器的数据冲刷掉,造成数据错误。

计组实验报告2016

电 子 科 技 大 学 实验报告

(一) 一实验名称:8位算术逻辑运算实验 二实验学时:4学时 三实验内容、目的和实验原理: 实验目的: 1. 掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2. 掌握模型机运算器的数据传送通路组成原理。 3. 验证74LS181的组合功能。 4. 按给定数据,完成实验指导书中的算术/逻辑运算。 实验原理: 1. 运算器由两片74LS181以并/串形式构成8位字长的ALU。 2. 运算器的输出经过一个三态门(74LS245)和数据总线相连。 3. 运算器的两个数据输入端分别由两个锁存器(74LS273)锁存。 4. 锁存器的输入连至数据总线,数据开关(INPUT DEVICE)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连。 5. 数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内容。 四实验器材(设备、元器件) 1. DVCC实验机一台 五实验步骤: 连接线路,仔细检查核对后接通电源。 用二进制数据开关KD0-KD7向DR1和DR2寄存器置入8位运算数据。 检验DR1和DR2置入的数据是否正确。 验证74LS181的算术和逻辑运算功能。 填写实验报告表3-1中的空白数据。

六实验数据及结果分析(包括各种截图:实验过程截图、界面截图、操作截图、运算结果截图): 七实验结论、心得体会和改进建议:

实验结论: 1. S3、S2、S1、S0、M、Cn、LDDR1、LDDR2、ALU-B、SW-B均为电平信号,与"SWITCH UNIT"中的二进制开关对应相接,用于模拟产生电平控制信号。开关状态打上去是高电平,打下来是低电平。 2. 数据开关输入数据时,要打开SW-B,关闭ALU-B 心得体会: 1. 通过这次实验我掌握了算术逻辑运算器单元ALU(74LS181)工作原理。 2. 通过这次实验我掌握了模型机运算器的数据传送通路组成原理。 3. 通过这次实验我验证了74LS181的组合功能。

西电计组实验报告

计算机组成原理 实验报告 班级: **** 学号: ***** 姓名: ** 地点: *** 时间: ***

计算机组成原理与体系结构课程设计实验报告 基本模型机设计与实现 一.实验目的 1.深入理解基本模型计算机的功能、组成知识; 2.深入学习计算机各类典型指令的执行流程; 3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM 的配置方法。 4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。 5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。 6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。 二.实验原理 1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 2.指令格式 (1)指令格式 采用寄存器直接寻址方式,其格式如下: 其中, 其中IN RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

1,存储器读操作(KRD ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“0 0”时,可对RAM 连续手动读入操作。 2,存储器写操作(KWE ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“0 1”时,可对RAM 连续手动写操作。 3、启动程序(RP ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。 根据以上要求设计数据通路框图,如图5-1所示。 表6-1 24位微代码定义: 表6-2 A 、B 、C 各字段功能说明: 24(1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。 (2) S3、S2、Sl 、S0:由微程序控制器输出的ALU 操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。 (3) M :微程序控制输出的ALU 操作方式选择信号端。M =0执行算术操作;M =l 执行逻辑操作。 (4)Cn :微程序控制器输出的进位标志信号,Cn =0表示ALU 运算时最低位有进位,Cn =1则表示无进位。 (5)WE :微程序控制器输出的RAM 控制信号。当/CE =0时,如WE =0为存储器读;如WE =1为存储器写。 (6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B 、RAM 、LED 的选通控制信号。(7) A 字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。 (8) B 字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。 (9) C 字段(9、8、7)——译码后产生分支判断测试信号P(1)~P(4)和LDPC 信号。 系统涉及到的微程序流程见图6-2。当执行“取指令”微指令时,该微指令的判断测试字段为P(1)测试。由于“取 图6-1 数据通路框图

[笔记]杭电计组实验3-多功能ALU设计实验

[笔记]杭电计组实验3-多功能ALU设计实验杭州电子科技大学计算机学院 实验报告 实验项目: 课程名称:计算机组成原理与系统结构课程设计 姓名: 学号: 同组姓名: 学号: 实验位置(机号): 实验日期: 指导教师: 一、实验目的 (1)学习多功能ALU的工作原理,掌握运算器的设计方法。 (2)掌握运用Verilog HDL进行数据流描述与建模的技巧和方法,掌握运算器的设计方 法。 二、实验仪器 实验 ISE工具软件 内容三、步骤、方法 (算(1)启动Xilinx ISE软件,选择File->New Project,输入工程名 shiyan2,默认选择后,点法、击Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程。程(2)在工程管理区的任意位置右击,选择New Source命令。弹出New Source Wizard对序、话框,选择Verilog Module,并输入Verilog 文件名shiyan3,点击Next按钮进入下一步,点步骤击Finish完成创建。

和方(3)编辑程序源代码,然后编译,综合;选择Synthesize--XST项中的Check Syntax右击法) 选择Run命令,并查看RTL视图;如果编译出错,则需要修改程序代码,直至正确。 (4)在工程管理区将View类型设置成Simulation,在任意位置右击,选择New Source命 令,选择Verilog Test Fixture选项,输入实验名shiyan3_test。点击Next,点击Finish,完成。 编写激励代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至 正确。 (5)由于实验三并未链接实验板,所以后面的链接实验板的步骤此处没有。 一,操作过程 实验过程和描述: module shiyan3(ALU_OP,AB_SW,OF,ZF,F); reg [31:0]A,B; input [2:0]ALU_OP; input [2:0]AB_SW; 操作 wire OF; 过程 reg ZF; 及结reg [31:0]F; 果output OF; output ZF; output F; reg C32; always@(*) begin case(AB_SW)

计组实验5中断实验

综合实验报告 ( 2013 -- 2014年度第一学期) 名称:计算机组成原理综合实验题目:综合实验 院系:计算机系 班级: 学号: 学生姓名: 指导教师: 设计周数: 成绩: 日期:年月

一、目的与要求 (1)掌握中断在计算机系统中的作用; (2)了解可以响应中断请求的条件和时刻,响应中断的过程和实现方案;理解使用中断隐指令的必要性; (3)了解中断处理的完整过程,开中断、关中断操作的作用,保存现场信息和恢复现场信息必须确保完整完成的含义和可行措施; (4)掌握确定中断向量、设计中断处理程序的操作步骤和实现方法; 二、实验正文 1.实验内容 (1)读懂教材中有关中断的概念、中断响应和中断处理的内容,了解这些功能在教学计算机中是如何体现的; (2)如果所用的教学计算机的基本指令集合中尚未实现中断隐指令、与处理中断有关的EI、DI和IRET三条指令,则需要首先实现中断隐指令和扩展这三 条指令;如果在基本指令集中已经实现了上述内容,则直接跳过这一实验步骤。 (3)确定中断向量表地址。这个向量表是以XXX4为首地址的一段内存区(为每一个中断保留4个字的空间),用于存放对应每一个中断源的中断处理程序 的首地址,要在中断隐指令中把这里的选定的一个地址传送到程序计数器PC中, 之后就进入响应中断处理程序的执行过程。常用的可行方案是在这里保存一条转 移指令,实现依据不同的中断源转移到不同的中断处理程序。教学机设置了3个 中断源并为每个中断源分配了不同的优先级,则3个中断程序入口地址分别为16 进制的XXX4、XXX8和XXXC。 (4)设计对应每一个中断的处理程序,例如显示对应各自中断优先级的一个数字符,重复显示80或160次。 (5)设计一个死循环程序并执行,例如反复显示大写英文字母M。在这个程序运行过程中,通过按用作为中断请求源的3个不同按钮,则屏幕上会显示不 同的字符序列,可以清楚地看到中断嵌套的运行情况。 例如在主程序运行时,屏幕上显示字母M,随时按下哪一个中断源按钮(例如中间位置的一个,对应中断优先级2),会立即进入相应的中断处理过程(屏幕 上显示字符2);在执行某一个级别(例如2级)的中断处理的过程中,当按下更 低级别(例如1级,右面位置的那个)的中断源按钮时,这个中断请求不会得到 响应(屏幕上仍显示字符2,而不是字符1);当按下的是更高级别(例如3级, 左面位置的那个)的中断源按钮时,这个中断请求会立即得到响应(屏幕上将变 为显示字符3,而不再是字符2);当3级中断处理程序执行结束之后(80或160 个字符3显示完成),则会返回到原来尚未完成的2级中断处理过程(屏幕上继续 显示字符2);当2级中断处理程序执行结束之后,则返回主程序,屏幕上又开始 重复显示字母M。

相关文档