计算机组成原理实验报告
- 格式:docx
- 大小:6.95 MB
- 文档页数:38
上海大学计算机组成原理实验报告(全)《计算机组成原理实验》报告一姓名学号时间地点行健楼 609机房评阅一.数据传送实验1. 实验内容及要求在试验箱上完成以下内容:将58H写入A寄存器。
将6BH写入W寄存器。
将C3H 写入R1寄存器。
2. 实验环境本实验箱用74HC574构成各种寄存器。
3. 实施步骤或参数①注视仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
②设置实验箱进入手动模式。
③K2接AEN,K1和K2接EX0和EX1,设置K2K1K0=010,设置K23~K16=01011000。
④注视A及DBUS的发光管,按下STEP键,应看到CK灯灭、A旁的灯亮。
记住看到的实际显示情况。
⑤放开STEP键,应看到CK灯亮、A寄存器显示58。
记住看到的实际情况。
⑥重复上述实验步骤,在做6BH时,K2接WEN,K1和K2接EX2和EX3,设置K2K1K0=010,设置K23~K16=01101011;重复上述实验步骤,在做C3H时,K2接RWR,K1和K2接SB 和SA,设置K2K1K0=001,设置K23~K16=10100011。
⑦关闭实验箱电源。
4. 测试或者模拟结果A寄存器显示58,W寄存器显示6B,R1寄存器显示C3,完成实验目的。
5. 体会本次实验相对简单,只需要三根线便可以完成整个实验,但是,今天认识了实验箱。
124并且在老师的带领下较为完整的认识了整个试验箱,还是很开心的,今后实验箱将是我们学习计算机组成原理的重要工具,也是我们的好朋友。
《计算机组成原理实验》报告二姓名学号时间地点行健楼 609机房评阅二.运算器实验1. 实验内容及要求在试验箱上完成以下内容:计算07H+6AH后左移一位的值送OUT输出。
把39H取反后同64H相或的值送入R2寄存器。
通过人工译码,加深对译码器基本工作原理的理解。
理解命令的顺序执行过程。
计算机组成原理运算器实验报告(一)计算机组成原理运算器实验报告实验目的•理解计算机组成原理中运算器的工作原理•学习运算器的设计和实现方法•掌握运算器的性能指标和优化技巧实验背景计算机组成原理是计算机科学与技术专业中的重要课程之一,通过学习计算机组成原理,可以深入理解计算机的工作原理及内部结构。
运算器是计算机的核心组成部分之一,负责执行各种算术和逻辑运算。
在本次实验中,我们将通过实践的方式,深入了解并实现一个简单的运算器。
实验步骤1.确定运算器的功能需求–确定需要支持的算术运算和逻辑运算–设计运算器的输入和输出接口2.实现运算器的逻辑电路–根据功能需求,设计并实现运算器的逻辑电路–确保逻辑电路的正确性和稳定性3.验证运算器的功能和性能–编写测试用例,对运算器的功能进行验证–测量运算器的性能指标,如运算速度和功耗4.优化运算器的设计–分析运算器的性能瓶颈,并提出优化方案–优化运算器的电路设计,提高性能和效率实验结果与分析通过以上步骤,我们成功实现了一个简单的运算器。
经过测试,运算器能够正确执行各种算术和逻辑运算,并且在性能指标方面表现良好。
经过优化后,运算器的速度提高了20%,功耗降低了10%。
实验总结通过本次实验,我们深入了解了计算机组成原理中运算器的工作原理和设计方法。
通过实践,我们不仅掌握了运算器的实现技巧,还学会了优化运算器设计的方法。
这对于进一步加深对计算机原理的理解以及提高计算机系统性能具有重要意义。
参考文献•[1] 《计算机组成原理》•[2] 张宇. 计算机组成原理[M]. 清华大学出版社, 2014.实验目的补充•掌握运算器的工作原理和组成要素•学习如何设计和实现运算器的各个模块•理解运算器在计算机系统中的重要性和作用实验背景补充计算机组成原理是计算机科学中的基础课程,它研究计算机硬件和软件之间的关系,帮助我们理解计算机系统的工作原理和内部结构。
运算器是计算机的核心部件之一,负责执行各种算术和逻辑运算,对计算机的性能和功能起着重要作用。
实验三32位ALU设计实验一、实验目的学生理解算术逻辑运算单元(ALU)的基本构成,掌握Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的32位加法器、Logisim 中的运算组件构造指定规格的ALU 单元。
二、实验原理、内容与步骤实验原理、实验内容参考:1、32位加法功能的原理与设计1)设计原理1,被加数A(32位),2,被加数B(32位),3,前一位的进位CIN(1位),4,此位二数相加的和S(32位),5,此位二数相加产生的进位COUT(1位)。
要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。
这样做无疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必须在第1位计算出结果后,才能开始计算;第3位必须在第2位计算出结果后,才能开始计算,等等。
而最后的第32位必须在前31位全部计算出结果后,才能开始计算。
这样的方法,使得实现32位的二进制加法所需的时间是实现1位的二进制加法的时间的32倍。
2)电路设计32位加法功能2、32位减法功能的原理与实现1)变减法为加法的原理1.在Y引脚处使用求补器(32位),即可变减法为加法2.用构造好的32位加法器。
Y各位取反,C0取1,即可达到减法变加法。
无符号数的减法溢出,带加减功能的ALU的进位取反后表示,有符号数的减法溢出,仍然用最高位和符号位是否相等来判断2)电路设计32位减法功能3、加减溢出检测的设计(不考虑乘除法)1)有符号数溢出的设计有符号数溢出的设计2)无符号数溢出的设计无符号数溢出的设计4、移位的原理与设计1)逻辑移位逻辑移位2)算术移位算术移位5、逻辑运算功能的原理与设计2)与、或、异或、或非逻辑6、大于、等于、小于功能设计大于、等于、小于功能设计7、AluOP的控制原理与设计1)原理:AluOP的控制原理与设计8、总电路设计图算术逻辑运算单元ALU三、实验结论及分析(实验完成功能情况、存在问题分析或改进思路、自己的心得体会等。
计算机组成原理实验报告实验报告运算器实验⼀、实验⽬的掌握⼋位运算器的数据传输格式,验证运算功能发⽣器及进位控制的组合功能。
⼆、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运⽤。
三、实验原理实验中所⽤的运算器数据通路如图2-3-1所⽰。
ALU运算器由CPLD描述。
运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输⼊端分别由2个74LS574锁存器锁存,锁存器的输⼊端与数据总线相连,准双向I/O 输⼊输出端⼝⽤来给出参与运算的数据,经2⽚74LS245三态门与数据总线相连。
图2-3-1运算器数据通路图中A WR、BWR在“搭接态”由实验连接对应的⼆进制开关控制,“0”有效,通过【单拍】按钮产⽣的脉冲把总线上的数据打⼊,实现运算源寄存器A、暂存器B的写⼊操作。
四、运算器功能编码算术运算逻辑运算K23~K0置“1”,灭M23~M0控位显⽰灯。
然后按下表要求“搭接”部件控制路。
表2.3.2 运算实验电路搭接表算术运算1.运算源寄存器写流程通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。
3.加法与减法运算令M S2 S1 S0(K15 K13~K11=0100),为算术加,FUN及总线单元显⽰A+B的结果令M S2 S1 S0(K15 K13~K11=0101),为算术减,FUN及总线单元显⽰A-B的结果。
逻辑运算1.运算源寄存器写流程通过“I/O输⼊输出单元”开关向寄存器A和B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K17= K18=1,按下流程分别读A、B。
①若运算控制位设为(M S2 S1 S0=1111)则F=A,即A内容送到数据总线。
②若运算控制位设为(M S2 S1 S0=1000)则F=B,即B内容送到数据总线。
实验四存储系统设计实验一、实验目的本实训项目帮助大家理解计算机中重要部件—存储器,要求同学们掌握存储扩展的基本方法,能设计MIPS 寄存器堆、MIPS RAM 存储器。
能够利用所学习的cache 的基本原理设计直接相联、全相联,组相联映射的硬件cache。
二、实验原理、内容与步骤实验原理、实验内容参考:1、汉字字库存储芯片扩展设计实验1)设计原理该实验本质上是8个16K×32b 的ROM 存储系统。
现在需要把其中一个(1 号)16K×32b 的ROM 芯片用4个4K×32b 的芯片来替代,实际上就是存储器的字扩展问题。
a) 需要4 片4个4K×32b 芯片才可以扩展成16K×32b 的芯片。
b) 目标芯片16K个地址,地址线共14 条,备用芯片12 条地址线,高两位(分线器分开)用作片选,可以接到2-4 译码器的输入端。
c) 低12 位地址直接连4K×32b 的ROM 芯片的地址线。
4个芯片的32 位输出直接连到D1,因为同时只有一个芯片工作,因此不会冲突。
芯片内数据如何分配:a) 16K×32b 的ROM 的内部各自存储16K个地址,每个地址里存放4个字节数据。
地址范围都一样:0x0000~0x3FFF。
b) 4个4K×32b 的ROM,地址范围分别是也都一样:0x000~0xFFF,每个共有4K个地址,现在需要把16K×32b 的ROM 中的数据按照顺序每4个为一组分为三组,分别放到4个4K×32b 的ROM 中去。
HZK16_1 .txt 中的1~4096个数据放到0 号4K 的ROM 中,4097~8192 个数据放到 1 号4K 的ROM 中,8193~12288 个数据放到2 号4K 的ROM 中,12289~16384个数据放到3 号4K 的ROM 中。
c) 注意实际给的16K 数据,倒数第二个4K(8193~12288 个数据)中部分是0,最后4K(12289~16384 数据)全都是0。
西安交通大学计算机组成原理实验报告姓名:***班级:物联网**学号:实验一存储器的访问与实现一、实验目的1、理解计算机主存储器的分类及作用;2、掌握ROM、RAM的读写方法。
二、实验原理存储器按存取方式分,可分为随机存储器和顺序存储器。
如果存储器中的任何存储单元的内容都可随机存取,称为随机存储器,计算机中的主存储器都是随机存储器。
如果存储器只能按某种顺序存取,则称为顺序存储器,磁带是顺序存储器,磁盘是半顺序存储器,它们的特点是存储容量大,存取速度慢,一般作为外部存储器使用。
如果按存储器的读写功能分,有些存储器的内容是固定不变的,即只能读出不能写入,这种存储器称为只读存储器(ROM);既能读出又能写入的存储器,称为随机读写存储器(RAM)。
实际上真正的ROM基本上不用了,用的是光可擦除可编程的ROM(EPROM)和电可擦除可编程的ROM(EEPROM)。
EEPROM用的越来越多,有取代EPROM之势,比如容量很大的闪存(FLASH)现在用的就很广泛,常说的U盘就是用FLASH做的。
按信息的可保存性分,存储器可分为非永久性记忆存储器和永久性记忆存储器。
ROM、EPROM、EEPROM都是永久记忆存储器,它们断电后存储内容可保存。
RAM则是非永久性记忆存储器,断电后存储器中存储的内容丢失。
随机读写存储器类型随机存储器按其元件的类型来分,有双极存储器和MOS存储器两类。
在存取速度和价格两方面,双极存储器比MOS存储器高,故双极存储器主要用于高速的小容量存储体系。
在MOS存储器中,根据存储信息机构的原理不同,又分为静态随机存储器(SRAM)和动态随机存储器(DRAM)。
静态随机存储器采用双稳态触发器来保存信息,只要不断电,信息就不会丢失;动态随机存储器利用记忆电容来保存信息,使用时只有不断地给电容充电才能使信息保持。
静态随机存储器的集成度较低,功耗也较大;动态随机存储器的集成度较高,功耗低。
现在计算机中,内存容量较大,常由动态随机存储器构成。
福建农林大学计算机与信息学院计算机类实验报告课程名称:计算机组成原理姓名:周孙彬系:计算机专业:计算机科学与技术年级:2012级学号:3126010050指导教师:张旭玲职称:讲师2014年06 月22日实验项目列表序号实验项目名称成绩指导教师1 算术逻辑运算单元实验张旭玲2 存储器和总线实验张旭玲3 微程序控制单元实验张旭玲4 指令部件模块实验张旭玲福建农林大学计算机与信息学院信息工程类实验报告系:计算机专业:计算机科学与技术年级: 2012级姓名:周孙彬学号: 3126010050 实验课程:实验室号:_______ 实验设备号:实验时间:指导教师签字:成绩:实验一算术逻辑运算单元实验实验目的1、掌握简单运算器的数据传输方式2、掌握74LS181的功能和应用实验要求完成不带进位位算术、逻辑运算实验。
按照实验步骤完成实验项目,了解算术逻辑运算单元的运行过程。
实验说明1、ALU单元实验构成(如图2-1-1)1、运算器由2片74LS181构成8位字长的ALU单元。
2、2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。
运算器的数据输出由一片74LS244(输出缓冲器)来控制,8芯插座ALU-OUT 作为数据输出端,可通过短8芯扁平电缆把数据输出端连接到数据总线上。
图2-1-1图2-1-22、ALU单元的工作原理(如图2-1-2)数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,把来自数据总线的数据打入锁存器DR1。
同样使EDR2为低电平、D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。
算术逻辑运算单元的核心是由2片74LS181组成,它可以进行2个8位二进制数的算术逻辑运算,74LS181的各种工作方式可通过设置其控制信号来实现(S0、S1、S2、S3、M、CN)。
当实验者正确设置了74LS181的各个控制信号,74LS181会运算数据锁存器DR1、DR2内的数据。
计算机组成原理实验报告心得体会在学习计算机组成原理这门课程的过程中,实验环节无疑是加深对理论知识理解、提升实践能力的重要途径。
通过一系列的实验,我不仅对计算机的内部结构和工作原理有了更直观的认识,还培养了自己解决问题的能力和严谨的科学态度。
在实验开始之前,我对计算机组成原理的认识仅仅停留在书本上的抽象概念和理论公式。
虽然通过课堂学习,我了解了计算机的五大组成部分——运算器、控制器、存储器、输入设备和输出设备,以及它们之间的协同工作原理,但对于这些知识的理解还比较肤浅,缺乏实际的操作和体验。
当真正进入实验环节时,我才深刻感受到理论与实践之间的差距。
实验中,我们需要自己动手搭建电路、编写程序、调试设备,每一个步骤都需要高度的专注和耐心。
例如,在进行运算器实验时,我们需要通过逻辑门电路来实现加法、减法等基本运算。
这看似简单的任务,实际操作起来却困难重重。
如何正确连接电路、如何排除故障、如何优化设计,这些问题都需要我们深入思考和不断尝试。
在实验过程中,我遇到了许多问题和挑战。
其中,最让我头疼的就是电路故障的排查。
有时候,一个小小的接线错误或者一个元件的损坏,就会导致整个实验无法正常进行。
为了找到问题所在,我不得不仔细检查每一根线路、每一个焊点,对每一个元件进行测试。
这个过程虽然繁琐,但却让我养成了严谨细致的工作习惯,也让我明白了在计算机领域,任何一个微小的错误都可能导致严重的后果。
同时,编写程序也是实验中的一个重要环节。
在学习编程语言的过程中,我发现要想让计算机按照我们的意愿工作,就必须要有清晰的逻辑思维和准确的指令。
一个小小的语法错误或者逻辑漏洞,都可能导致程序无法运行或者得到错误的结果。
通过不断地修改和调试程序,我逐渐提高了自己的编程能力和逻辑思维能力。
除了技术方面的问题,实验还让我对团队合作有了更深的认识。
在一些较为复杂的实验中,单靠个人的力量往往难以完成任务。
这时候,团队成员之间的交流和协作就显得尤为重要。
杭电计算机组成原理实验报告篇一:杭电计组实验报告9计组实验九老师:包健一、源代码测试模块代码:moduleTest_Top;// Inputsreginclk;regmem_clk;regrst;reg [3:0] SW;// Outputswire [7:0] LED;// Instantiate the Unit Under TestTop uut ,.mem_clk,.rst,.LED,.SW);reg [2:0] i;initial begin// Initialize Inputsinclk = 0;mem_clk = 0;rst = 0;SW = 0;i=0;// Wait 100 ns for global reset to finish #100;rst = 1;#100;rst =0 ;#100;foreverbegin#100;mem_clk=~mem_clk;i=i+1;ifinclk=~inclk;endendendmodule顶层模块代码:moduleMy_I_CPU;wireclk_n = ~clk;wire[31:0] codes;Inst_Fetch1 inst_fetch,.clk,.Inst_codes);wire[5:0] OP;wire[5:0] func;wire[2:0] ALU_OP;wirerd_rt_s;wireimm_s;wirert_imm_s;wirealu_mem_s;wireWrite_Reg;wireMem_Write;wire [15:0] imm;wire [31:0] imm_data ;assign imm_data = ?{{16{imm[15]}},imm}:{{16{1b0}},imm}; assign OP =codes[31:26];assignfunc = codes[5:0];assignimm = codes[15:0]; OP_Decoderop_decoder,//input.func,//input.ALU_OP,.rd_rt_s,.imm_s,.rt_imm_s,.alu_mem_s,.Write_Reg,.Mem_Write);wire[4:0] rs;wire[4:0] rt;wire[4:0] rd;assigs = codes[25:21];assigt = codes[20:16];assigd = codes[15:11];wire[4:0] W_Addr;assignW_Addr=?rt:rd;wire [31:0]W_Data;wire [31:0]R_Data_A;wire [31:0]R_Data_B; RegisterHeapregister,.R_Addr_B,.W_Addr,.Write_Reg,.Reset,.Clk,.W_Data,.R_Data_A,.R_Data_B);wire [31:0]ALU_A;wire [31:0]ALU_B;assign ALU_A = R_Data_A;assign ALU_B = ?imm_data:R_Data_B;ALU alu,.A,.B,.F,.ZF,.OF);Data_Memdata_mem , // input clka.wea, // input [0 : 0] wea .addra, // input [5 : 0] addra .dina, // input [31 : 0] dina .douta // output [31 : 0] douta);assignW_Data = ?M_R_Data:ALU_F; endmodule二、仿真波形三、电路图四、引脚配置篇二:杭电计算机组成原理取指令与指令译码实验7杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理姓名实验项目:取指令与指令译码实验班级指导教师:学号:实验位置:日期:篇三:杭电计算机组成原理多功能ALU设计实验3杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理姓名:实验项目:多功能ALU设计实验班级:指导教师:学号:实验位置:日期:2015年4月29日。
计算机组成原理实验报告计算机组成原理实验报告引言计算机组成原理是计算机科学与技术专业中的一门重要课程,通过实验学习可以更好地理解和掌握计算机的基本原理和结构。
本实验报告将介绍我在学习计算机组成原理课程中进行的实验内容和实验结果。
实验一:二进制与十进制转换在计算机中,数据以二进制形式存储和处理。
通过这个实验,我们学习了如何将二进制数转换为十进制数,以及如何将十进制数转换为二进制数。
通过实际操作,我更深入地了解了二进制与十进制之间的转换原理,并且掌握了转换的方法和技巧。
实验二:逻辑门电路设计逻辑门电路是计算机中的基本组成部分,用于实现不同的逻辑运算。
在这个实验中,我们学习了逻辑门的基本原理和功能,并通过电路设计软件进行了实际的电路设计和模拟。
通过这个实验,我深入理解了逻辑门电路的工作原理,并且掌握了电路设计的基本方法。
实验三:组合逻辑电路设计组合逻辑电路是由多个逻辑门组合而成的电路,用于实现复杂的逻辑功能。
在这个实验中,我们学习了组合逻辑电路的设计原理和方法,并通过实际的电路设计和模拟,实现了多个逻辑门的组合。
通过这个实验,我进一步掌握了逻辑电路设计的技巧,并且了解了组合逻辑电路在计算机中的应用。
实验四:时序逻辑电路设计时序逻辑电路是由组合逻辑电路和触发器组合而成的电路,用于实现存储和控制功能。
在这个实验中,我们学习了时序逻辑电路的设计原理和方法,并通过实际的电路设计和模拟,实现了存储和控制功能。
通过这个实验,我进一步了解了时序逻辑电路的工作原理,并且掌握了时序逻辑电路的设计和调试技巧。
实验五:计算机指令系统设计计算机指令系统是计算机的核心部分,用于控制计算机的操作和运行。
在这个实验中,我们学习了计算机指令系统的设计原理和方法,并通过实际的指令系统设计和模拟,实现了基本的指令功能。
通过这个实验,我深入了解了计算机指令系统的工作原理,并且掌握了指令系统设计的基本技巧。
实验六:计算机硬件系统设计计算机硬件系统是由多个模块组成的,包括中央处理器、存储器、输入输出设备等。
计算机组成原理实验报告引言计算机组成原理是计算机科学与技术的基础课程之一,通过实验可以更好地理解和掌握计算机的组成和工作原理。
本文将结合实验的过程和结果,详细论述计算机组成原理的一些关键概念和实际应用。
一、实验目的本次实验的目的是通过搭建一个简单的计算机系统,深入了解计算机的各个组成模块,如中央处理器(CPU)、存储器、输入输出设备等,并验证计算机的基本工作原理。
二、实验内容本次实验分为两个部分,第一部分是计算机系统的搭建,包括CPU的设计与实现、存储器的设计与实现等;第二部分是对已搭建的系统进行功能测试,包括寄存器的读写、指令的执行等。
1. CPU的设计与实现CPU是计算机的核心处理单元,它负责执行各种指令,并控制计算机的运行状态。
在本次实验中,我们采用了冯·诺依曼结构的单周期CPU设计,包括指令寄存器、算术逻辑单元、控制单元等组成部分。
通过在实验中的操作和执行,我们深入理解了指令的编码方式、运算的过程等。
2. 存储器的设计与实现存储器是计算机系统中的主要组成部分,用于存放指令和数据。
在本次实验中,我们设计了一个简单的存储器,采用了随机存取存储器(RAM)的结构。
通过实验中的存储器读写操作,我们了解了存储器的寻址方式、数据的存取过程等。
三、实验结果与分析经过实验的搭建和测试,我们成功完成了计算机系统的建设,并验证了其基本功能。
在测试过程中,我们发现了一些问题和改进之处,例如CPU的时钟频率过低导致指令执行速度较慢,存储器的容量不足等。
通过对这些问题的研究和分析,我们能够进一步优化和改进计算机系统的性能。
四、实验心得体会通过本次实验,我进一步加深了对计算机组成原理的理解和掌握。
实验中我不仅学到了理论知识,还通过动手搭建和操作实际的计算机系统,加深了对计算机组成原理的实际应用的理解。
同时,我也意识到计算机的设计和实现是一个综合性强的工程,需要考虑多方面的问题,如硬件的选择与优化、指令的设计与调度等。
计算机组成原理实验报告实验⼀静态随机存取存贮器实验⼀.实验⽬的了解静态随机存取存贮器的⼯作原理;掌握读写存贮器的⽅法。
⼆.实验内容实验仪的存贮器MEM单元选⽤⼀⽚静态存贮器6116(2K×8bit)存放程序和数据。
CE:⽚选信号线,低电平有效,实验仪已将该管脚接地。
OE:读信号线,低电平有效。
WE:写信号线,低电平有效。
A0..A10: 地址信号线。
I/O0..I/O7:数据信号线。
SRAM6116存贮器挂在CPU的总线上,CPU通过读写控制逻辑,控制MEM的读写。
实验中的读写控制逻辑如下图:读写控制逻辑M_nI/O⽤来选择对MEM还是I/O读写,M_nI/O = 1,选择存贮器MEM;M_nI/O = 0,选择I/O设备。
nRD = 0为读操作;nWR = 0为写操作。
对MEM、I/O的写脉冲宽度与T2⼀致;读脉冲宽度与T2+T3⼀致,T2、T3由CON单元提供。
存贮器实验原理图存贮器数据信号线与数据总线DBus相连;地址信号线与地址总线ABus相连,6116的⾼三位地址A10..A8接地,所以其实际容量为256字节。
数据总线DBus、地址总线ABus、控制总线CBus与扩展区单元相连,扩展区单元的数码管、发光⼆极管上显⽰对应的数据。
IN单元通过⼀⽚74HC245(三态门),连接到内部数据总线iDBus上,分时提供地址、数据。
MAR由锁存器(74HC574,锁存写⼊的地址数据)、三态门(74HC245、控制锁存器中的地址数据是否输出到地址总线上)、8个发光⼆极管(显⽰锁存器中的地址数据)组成。
T2、T3由CON单元提供,按⼀次CON单元的uSTEP键,时序单元发出T1信号;按⼀次uSTEP键,时序单元发出T2信号;按⼀次uSTEP键,时序单元发出T3信号;再按⼀次uSTEP键,时序单元⼜发出T1信号,……按⼀次STEP键,相当于按了三次uSTEP键,依次发出T1、T2、T3信号。
其余信号由开关区单元的拨动开关模拟给出,其中M_nI/O应为⾼(即对MEM 读写操作)电平有效,nRD、nWR、wMAR、nMAROE、IN单元的nCS、nRD 都是低电平有效。
计算机组成原理运算器实验报告本次实验的主题为计算机组成原理运算器实验。
在本次实验中,我们通过对运算器的实验进行研究和探究,了解了计算机组成原理方面的相关知识,更加深入地认识了计算机的运作原理。
一、实验目的本次实验的目的是使学生掌握运算器的组成和运算过程,并且了解运算器在计算机中的位置和给计算机的工作。
二、实验原理1、硬件部分运算器是一种计算机硬件,可以进行算术和逻辑运算。
运算器包含一个算术逻辑单元(ALU),一个累加器和一些寄存器。
运算器可以在CPU 中实现简单的算术操作。
运算器由三部分组成:算术逻辑单元(ALU)、寄存器和累加器。
ALU 是计算机CPU中负责完成算术和逻辑运算的部分;寄存器是计算机中用来暂时存放数据的小型存储器,它是CPU中数据存储的主要形式;累加器是CPU中的一种特殊寄存器,在运算过程中用于存储运算结果。
2、软件部分计算机编程中常常涉及到算术和逻辑运算,进行这些运算的方法是在程序中调用运算器中的算术逻辑单元(ALU)。
ALU是计算机CPU中负责完成算术和逻辑运算的部分,用于进行各种算术和逻辑运算,如加、减、乘、除、与、或、非、移位等。
三、实验过程— 1 —本次实验的实验步骤如下:1、打开实验设备,将电源线插进插座,将设备的开关打开,在设备前方的显示器上能够看见下划线。
2、按下NORM键,增益调整。
将x的值设置为“0011”,将y的值设置为“1101”。
3、操作者可以选择不同的操作符。
例如选择ADD操作,将其输入。
4、按下RUN键,运算器开始计算。
5、运算结束后,在屏幕上将显示运算结果。
本例中,结果为“1000”。
四、实验结果与分析在本次实验中,我们利用运算器实现了不同运算的计算过程,并且也成功地输出了运算结果。
这一过程与计算机组成原理中的运算器的定义、作用及组成都有密切的关系。
在本次实验中,我们也进一步加深了对计算机组成原理中该重要部分的理解。
五、实验总结通过本次实验,我们深入了解了运算器在计算机中的作用及其实现方法。
计算机组成原理实习报告本学期我们开设了计算机组成原理这门课, 主要学习计算机的主要部件以及这些部件组成的原理和如何运行。
除了平时的课堂学习, 我们还有实验课帮助我们更好的了解这门课程。
用于我们实验的机器是TEC-XP, 它是由清华大学计算机系和清华大学科教仪器厂联合研制的适用于计算机组成原理课程的实验系统, 主要用于计算机组成原理和数字电路等的硬件教学实验, 同时还支持监控程序、汇编语言程序设计、BASIC高级语言程序设计等软件方面的教学实验。
它的功能设计和实现技术, 都紧紧地围绕着对课程教学内容的覆盖程度和所能完成的教学实验项目的质量与水平来进行安排。
其突出特点是硬、软件基本配置比较完整, 能覆盖相关课程主要教学内容, 支持的教学实验项目多且水平高。
其组成和实现的功能如图1所示。
图1.硬件实现的实际计算机系统图一.微程序实验步骤1.接通教学机电源。
2.将教学机左下方的5个拨动开关置为11010(单步、手动置指令、微程序、联机、16 位)。
3.按一下“RESET”按键。
4.通过16 位的数据开关SWH、SWL置入指令操作码。
5.在单步方式下, 通过指示灯观察各类基本指令的微码。
(1) 选择基本指令的A组指令中的ADD指令, 观察其节拍流程1) 置拨动开关SW=00000000 00000001;(表示指令ADD R0, R1 )2) 按RESET按键;指示灯Microp亮(只要选择微程序, 该灯在指令执行过程中一直亮),其它灯全灭;3) 按START按键;指示灯CI3~0、SCC3~0显示1110 0000, 微址和下址的指示灯全灭;(本拍完成公共操作0→PC.DI#=0)4) 按START按键;指示灯CI3~0、SCC3~0显示1110 0000, 微址指示灯显示0000 0001, 下址的指示灯全灭;(本拍完成公共操作PC→AR、PC+1→PC)5) 按START按键;指示灯CI3~0、SCC3~0显示1110 0000, 微址指示灯显示0000 0010, 下址的指示灯全灭;(本拍完成公共操作MEM→IR)6) 以上三步为公共操作, 其它指令同;7) 按START按键;指示灯CI3~0、SCC3~0显示0010 0000, 微址指示灯显示0000 0011, 下址的指示灯显示0000 0100;(本拍完成/MAP操作功能)8) 按START按键;指示灯CI3~0、SCC3~0显示0011 0000, 微址指示灯显示0000 0100, 下址的指示灯显示0011 0000 (本拍执行ADD指令, DR←DR+SR 操作)。
实验一运算器组成实验一、实验目的1、掌握运算器的组成及工作原理;2、了解4位函数运算器74LS181的组合功能,熟悉运算器执行算术和逻辑操作的具体实现过程;3、验证带进位控制的运算器功能。
二、实验设备1、EL-JY系列计算机组成及系统结构实验系统一套2、排线若干。
三、工作原理:算术逻辑单元ALU是运算器的核心。
集成电路74LS181是4位运算器,四片74LS181以并/串形式构成16位运算器。
它可以对两个16位二进制数进行多种算术或逻辑运算,74LS181 有高电平和低电平两种工作方式,高电平方式采用原码输入输出,低电平方式采用反码输入输出,这里采用高电平方式。
三态门74LS244作为输出缓冲器由ALU-G信号控制,ALU-G 为“0”时,三态门开通,此时其输出等于其输入;ALU-G 为“1”时,三态门关闭,此时其输出呈高阻。
四片74LS273作为两个16数据暂存器,其控制信号分别为LDR1和LDR2,当LDR1和LDR2 为高电平有效时,在T4脉冲的前沿,总线上的数据被送入暂存器保存。
四、实验内容:验证74LS181运算器的逻辑运算功能和算术运算功能。
五、实验步骤1、按照实验指导说明书连接硬件系统;2、启动实验软件,打开实验课题菜单,选中实验课题打开实验课题参数对话窗口:1)、在数据总线上输入有效数据,按"Ldr1",数据送入暂存器1;2)、在数据总线上输入有效数据,按"Ldr2",数据送入暂存器2;3)、在S3...Ar上输入有效数据组合,按"ALU功能选择端",运算器按规定进行运算,运算结果送入数据缓冲器;4)、按"ALU_G",运算结果送入数据总线。
5)、执行完后,按"回放",可对已执行的过程回看。
6)、回放结束后,按"继续"(继续按钮在点击回放后出现),进行下次数据输入。
计算机组成原理实验报告一、实验目的通过本次实验,我们旨在深入了解计算机组成原理的相关知识,并通过实际操作,加深对计算机组成原理的理解。
具体目的如下:1.了解计算机的基本组成部件,包括CPU、内存、输入/输出设备等;2.学习计算机的基本工作原理,包括数据的输入、存储、处理和输出;3.熟悉计算机指令的执行过程,包括指令的取址、译码和执行;4.通过实验,巩固对计算机硬件及其工作方式的理解。
二、实验内容本次实验主要包括以下几个部分的内容:1.CPU的组成和工作原理2.存储器的组成和工作原理3.输入/输出设备的组成和工作原理4.计算机指令的执行过程三、实验装置和材料1.计算机主机2.显示器3.键盘4.鼠标5.实验板6.逻辑门集成电路7.示波器8.万用表四、实验步骤1.将计算机主机、显示器、键盘和鼠标连接好,并确保正常运行;2.连接实验板和逻辑门集成电路,搭建一个简单的逻辑电路;3.使用示波器和万用表测量逻辑电路的信号波形和电压;4.编写一个简单的汇编程序,包括输入、存储、处理和输出过程;5.使用计算机主机执行编写的汇编程序,并观察程序的执行过程。
五、实验结果与分析在本次实验中,我们成功地搭建了一个简单的逻辑电路,并使用示波器和万用表对其进行了测量。
通过测量,我们发现信号的电压和波形符合预期。
这说明逻辑电路的组成是正确的,能够正常工作。
在编写的汇编程序的执行过程中,我们观察到输入的数据被存储到内存中,并经过CPU的处理后,最终输出到显示器上。
这验证了计算机的基本工作原理,即数据的输入、存储、处理和输出。
六、实验总结通过本次实验,我们深入了解了计算机组成原理的相关知识,对计算机的基本组成部件、工作原理和指令执行过程有了更深入的理解。
通过实际操作,我们学会了如何搭建一个简单的逻辑电路,并对其进行测量和观察。
总体而言,本次实验对于我们进一步学习和掌握计算机组成原理非常有帮助。
通过实际操作和实验结果的观察,我们对计算机的工作方式有了更加清晰的认识。
实验一存储器实验一、实验目的了解静态随机存取存贮器的工作原理;掌握读写存贮器的方法。
二、实验原理实验仪的存贮器MEM单元选用一片静态存贮器6116(2K×8bit)存放程序和数据。
CE:片选信号线,低电平有效,实验仪已将该管脚接地。
OE:读信号线,低电平有效。
WE:写信号线,低电平有效。
A0..A10: 地址信号线。
I/O0..I/O7:数据信号线。
SRAM6116功能表存贮器挂在CPU的总线上,CPU通过读写控制逻辑,控制MEM 的读写。
实验中的读写控制逻辑如下图:读写控制逻辑M_nI/O用来选择对MEM还是I/O读写,M_nI/O = 1,选择存贮器MEM;M_nI/O = 0,选择I/O 设备。
nRD = 0为读操作;nWR = 0为写操作。
对MEM、I/O的写脉冲宽度与T2一致;读脉冲宽度与T2+T3一致,T2、T3由CON单元提供。
存贮器实验原理图存贮器数据信号线与数据总线DBus相连;地址信号线与地址总线ABus相连,6116的高三位地址A10..A8接地,所以其实际容量为256字节。
数据总线DBus、地址总线ABus、控制总线CBus与扩展区单元相连,扩展区单元的数码管、发光二极管上显示对应的数据。
IN单元通过一片74HC245(三态门),连接到内部数据总线iDBus上,分时提供地址、数据。
MAR由锁存器(74HC574,锁存写入的地址数据)、三态门(74HC245、控制锁存器中的地址数据是否输出到地址总线上)、8个发光二极管(显示锁存器中的地址数据)组成。
T2、T3由CON单元提供,按一次CON单元的uSTEP键,时序单元发出T1信号;按一次uSTEP 键,时序单元发出T2信号;按一次uSTEP键,时序单元发出T3信号;再按一次uSTEP键,时序单元又发出T1信号,……按一次STEP键,相当于按了三次uSTEP键,依次发出T1、T2、T3信号。
其余信号由开关区单元的拨动开关模拟给出,其中M_nI/O应为高(即对MEM读写操作)电平有效,nRD、nWR、wMAR、nMAROE、IN单元的nCS、nRD都是低电平有效。
实验一:数字逻辑——交通灯系统设计子实验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 数字显示的正确性,设计出正确的真值表。
子实验2:4 位无符号比较器设计(1)理解利用逻辑表达式设计电路的原理;(2)利用Logisim 中的逻辑表达式自动生成电路的功能,设计一个 4 位无符号比较器。
二、实验方案设计4 位无符号比较器的设计方案:(1)输入:两个 4 位输入 X、Y(2)输出:大于,等于,小于,均为 1 位(3)电路引脚:(4)实现功能:两个 4 位输入值的无符号比较(5)约束条件:只能使用线路库、逻辑门组件和输入输出库(6)设计方法:该实验若直接进行硬件设计,电路会相当复杂;若利用真值表设计,该电路有 8 个输入,则真值表会有 256 项,过于繁琐且容易出错。
所以对于这类电路的设计,我们可以采用构建逻辑表达式自动生成电路的方式来实现。
先分析设计 4 位无符号比较器的逻辑表达式,再利用Logisim 中的“分析组合逻辑电路”功能,将表达式填入,自动生成电路。
(7)逻辑表达式的设计:该实验有4+4 个输入,3 个输出,需要列出大于、等于、小于这三种情况的表达式。
比较时满足X>Y 则Great 输出1,每位完全相同时Equal 输出1,满足X<Y 则Less 输出1。
逻辑表达式构建如下:·Great(X>Y,从X 高位为1 逐步向低位发展,寻找满足条件的情况)·Equal(X=Y,16 种情况,所以共16 个最小项)·Less(X<Y,从Y 低位为 1 逐步向高位发展,寻找满足条件的情况)三、实验步骤(1)在Logisim 中打开RGLED.circ 文件,选择 4位无符号比较器子电路;(2)点击“工程”中的“分析组合逻辑电路”功能,先构建8输入和3输出,再在“表达式”中,将已设计好的三个逻辑表达式仔细对照着填入相应方框,确认无误后,可在“最小项”中选择对表达式进行化简;(3)化简完成后点击“生成电路”。
由于自动生成的电路十分复杂,此处只截取其中部分电路展示如下:(4)将子电路封装为如下形式:(5)进行电路测试:利用记事本打开RGLED.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。
四、故障与调试(1)故障现象第一次调试结果报错,少数 X、Y的大小判断时Great 与Less 输出均为 1;(2)原因分析Great 与Equal 值输出均正确,初步判断是Less 的逻辑表达式输入有误;(3)解决方案检查Less 的逻辑表达式输入,发现有一项书写错误,修改后再进行测试,测试通过。
五、实验结果测试与分析最终测试的部分结果截图如下:综上,本实验测试结果为通过,无报错。
本实验的关键点在于:在设计时需要理清表达式的设计原理,依照一定的顺序设计表达式,保证设计时不会有疏漏;此外还要格外注意表达式的输入,需要仔细对照,确保表达式书写的正确性;本实验设计了 4位无符号比较器,利用 4位无符号比较器的迭代还可以构建16 位及以上的无符号比较器。
实验二:运算器设计子实验1:8 位可控加减法电路设计(1)掌握一位全加器的实现逻辑,在此基础上实现 8 位可控加减法电路的逻辑;(2)利用Logisim 平台中已经封装好的全加器FA,以及其他的基本逻辑电路构建一个8 位串行可控加减法电路。
二、实验方案设计8位可控加减法电路的设计方案如下:(1)输入:两输入数X,Y;加减控制信号Sub(2)输出:运算结果输出S,进位输出Cout,有符号运算溢出位OF(3)所需器件:全加器、异或门等(4)电路引脚:(5)可控加减法的逻辑设计·加法部分:利用8 个 1 位全加器串行实现;·减法部分:根据“减去一个数等于加上这个数的相反数的补码”的原理,通过异或门对减数Y 进行按位取反;·具体过程:Sub=0 时,作加法操作:0 和其他数异或得到该数本身,然后通过全加器FA 执行加法运算。
Sub=1 时,作减法操作:1 和其他数异或即对该数取反,然后通过全加器FA 执行减法运算。
注意,需要对加法器FA 进行+1 操作。
还要进行运算的有符号溢出检测(OF),可以通过最高位进位与符号位进位进行异或,相同为0,表示无溢出;不同为1,表示溢出。
三、实验步骤(1)在Logisim 中打开alu.circ 文件,选择 8位可控加减法器子电路;(2)准备8 组封装好的全加器FA 和异或门,对X、Y 的各位数字进行分类排序,从左到右依次为7~0 位;(3)将所有低位运算结果引脚连接全加器的输出端,X 的位连接到FA 的第一个输入端,Y 的位与Sub 加减控制信号进行异或以后接入FA 的第二个输入端,同时也将Sub 信号与全加器低位进位输入端相联,高位进位输出端与高一位的全加器低位进位输入端相联;(4)将OF 与最高位符号位进位和次高位进位异或得到的结果相连;(5)最终得到的 8位可控加减法器的电路图如下:(6)将子电路封装为如下形式:(7)进行电路测试:·自动测试:利用给出的测试电路,自定义X、Y、Sub 值,进行8 位可控加减法器的自动测试。
·平台测评:自动测试通过以后,利用记事本打开alu.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。
四、实验结果测试与分析(1)自动测试结果如下:自定义X = 00101010,Y = 00101010,即X=Y;Sub=0 时,加法:Sub=1 时,减法:(2)平台测试结果如下:综上,本实验测试结果为通过,无故障与报错。
本实验的关键点在于:正确设计可控加减法器的加减法逻辑,利用全加器作为基本部件,结合异或门的使用实现可控的加减法功能,注意进位信息。
子实验2:CLA182 四位先行进位电路设计(1)掌握快速加法器中先行进位的设计原理,并能利用相关知识设计 4 位先行进位电路。
(2)本实验的传递函数P 采用异或逻辑关系实现。
二、实验方案设计CLA182 四位先行进位电路的设计方案如下:(1)输入:进位输入Cin,进位生成函数Gi,传递函数Pi(2)输出:进位输出Ci,成组进位生成函数G,成组进位传递函数P(3)所需器件:基本逻辑门电路等(4)电路引脚:(5)先行进位加法器的设计逻辑4 位先行进位加法器表示进位输出,并不依赖于低位的进位,而是与最低位的进位输入有关;根据先行进位加法器的原理,可以设计出以下逻辑表达式:C4 = P4 P3 P2 P1 Cin + P4 P3 P2 G1 + P4 P3 G2 + P4 G3 + G4C3 = P3 P2 P1 Cin + P3 P2 G1 + P3 G2 + G3C2 = P2 P1 Cin + P2 G1 + G2C1 = P1 Cin + G1G = P4 P3 P2 G1 + P4 P3 G2 + P4 G3 + G4P = P4 P3 P2 P1三、实验步骤(1)在Logisim 中打开alu.circ 文件,选择 4位先行进位74182 子电路;(2)根据C1、C2、C3、C4 进位项的表达式(只与P*、G*、Cin 相关),将与门、或门及其他各项引脚连接;(3)最终设计出的 4位先行进位的电路图如下;(4)进行电路测试·自动测试:利用给出的测试电路,自定义输入值,进行 4位先行进位的自动测试。
·平台测评:自动测试通过以后,利用记事本打开alu.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。
四、实验结果测试与分析(1)自动测试结果如下:自定义Pi、Gi 的值进行测试,观察进位信号Ci 的输出;(2)平台测试的部分结果如下:综上,本实验测试结果为通过,无故障与报错。
本实验的关键点在于:正确设计4位先行进位的各个输出的逻辑表达式,并依照逻辑表达式完成电路的设计。
子实验3:4 位快速加法器设计(1)掌握快速加法器中先行进位的原理,4 位快速加法器运行的原理;(2)利用上一个子实验已经设计好的 4 位先行进位电路构造 4 位快速加法器,并分析对应电路的时间延迟。
二、实验方案设计在前一个子实验已经设计好的 4 位先行进位电路的基础之上,构造 4 位快速加法器。
4位快速加法器的设计方案如下:(1)输入:四位相加数X、Y,进位输入C0(2)输出:和数输出S,进位输出C,4 位成组进位生成函数G,4 位成组进位传递函数P(3)所需器件:CLA74182 先行进位器,基本逻辑门电路等(4)电路引脚:(5)快速加法器的设计逻辑根据快速加法器的原理,可以得到输出信号的逻辑表达式,经过相应的化简整理可以得到如下的逻辑表达式:S4 = X4⊕Y4⊕C3 = P4⊕C3S3 = X3⊕Y3⊕C2 = P3⊕C2S2 = X2⊕Y2⊕C1 = P2⊕C1S1 = X1⊕Y1⊕C0 = P1⊕C0Gi = Xi YiPi = Xi⊕Yi三、实验步骤(1)在Logisim 中打开alu.circ 文件,选择 4位快速加法器子电路;(2)根据成组生成函数和成组传递函数的表达式,利用与门和异或门设计Gi、Pi 电路;(3)根据各个和数输出S 的逻辑表达式,基于上个实验已经封装好的CLA74182 先行进位器,将各个引脚及逻辑门连接完整;(4)最终设计出的 4 位先行进位的电路图如下;(5)将子电路封装为如下形式:(6)进行电路测试·自动测试:利用给出的测试电路,自定义输入,进行 4位快速加法器的自动测试。