通用寄存器实验报告
计算机组成原理实验报告 通用寄存器单元实验
西华大学数学与计算机学院实验报告课程名称:计算机组成原理年级:2011级实验成绩:指导教师:祝昌宇姓名:蒋俊实验名称:通用寄存器单元实验学号:312011*********实验日期:2013-12-15一、目的1.了解通用寄存器的组成和硬件电路2. 利用通用寄存器实现数据的置数、左移、右移等功能二、实验原理(1)寄存器实验构成1、通用寄存器由2片GAL构成8位字长的寄存器单元。
8芯插座RA-IN作为数据输入端,可通过端8芯扁平电缆,把数据数据输入端连接到数据总线上。
2、数据输出由一片74LS244(输出缓冲器)来控制。
用8芯插座RA-OUT作为数据输出端,可通过端8芯扁平电缆,把数据数据输出端连接到数据总线上。
3、判零和进位电路由1片GAL、1片7474和一些常规芯片组成,用2个LED(ZD、CY)发光管分别显示其状态。
(2)通用寄存器单元的工作原理通用寄存器的核心部件为2片GAL,它具有锁存、左移、右移、保存等功能。
各个功能都由X1、X2信号和工作脉冲RACK来决定。
当置ERA=0、X0=1、X1=1,RACK有上升沿时,把总线上的数据打入通用寄存器。
可通过设置X1、X0来指定通用寄存器工作方式,通用寄存器的输出端Q0~Q7接入判零电路。
LED(ZD)亮时,表示当前通用寄存器内数据为0。
输出缓冲器采用74LS244,当控制信号RA-O为低时,74LS244开通,把通用寄存器内容输出到总线;当控制信号RA-O为高时,74LS244的输出为高阻。
图1 通用寄存器原理图三、使用环境计算机组成原理实验箱四、实验步骤(一)数据输入通用寄存器1.把RA-IN(8芯的盒型插座)与CPT-B板上二进制开关单元中的J1插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。
2.把RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-0、M接入二进制拨动开关。
请按下表接线。
1_ARM实验报告
实验一ARM 汇编指令实验目的:学会使用Embest IDE for ARM开发环境及ARM软件模拟器;通过实验掌握简单ARM汇编指令的使用方法。
一.实验内容:熟悉开发环境的使用并使用 ldr/str/mov 等指令访问寄存器或存储单元。
使用 add/sub/lsl/lsr/and/orr 等指令,完成基本数学/逻辑运算。
二.实验原理:1.ARM通用寄存器ARM7处理器共有37个寄存器:31 个通用寄存器和6个状态寄存器。
(1)31个通用32位寄存器,其中包括程序计数器(PC,即R15)。
通用寄存器(R0~R15)可以分为3 类:1)不分组寄存器R0~R7;所有的处理器模式下访问的都是同一个物理寄存器,即在所有处理器模式下,它们每一个都访问一样的32 位寄存器。
它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。
2)分组寄存器R8~R14;快速中断模式拥有独立的一组分组寄存器R8~R12,其余模式共用一组分组寄存器R8~R12;而所有模式都拥有独立的分组寄存器R13、R14。
3)程序计数器R15;寄存器 R15 用做程序计数器 (PC)。
(2)6个32位状态寄存器,但是ARM7只是使用了其中的12位。
程序状态寄存器CPSR是各种模式下通用的状态寄存器,而各种异常模式都有自己的备份状态寄存器SPSR,分别为SPSR_abt、SPSR_ svc、 SPSR_und、SPSR_irq、SPSR_fiq。
2.存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合。
字节零到字节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。
ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。
(1)小端格式字数据的高位字节存储在高地址中,而字数据的低位字节则存放在低地址中。
高地址 31 23 22 16 15 8 7 0 字地址84低地址0(2)大端格式字数据的高位字节存储在低地址中,而字数据的低位字节则存放在高地址中。
寄存器实验报告总结心得
寄存器实验报告总结心得在进行寄存器实验的过程中,我深刻体会到了寄存器在计算机系统中的重要性和作用。
通过实际操作和学习,我对寄存器的结构、功能以及在计算机系统中的应用有了更深入的理解。
寄存器作为计算机系统中的一种重要的存储器件,主要用来暂时存储和处理数据。
在实验中,我们使用了多个寄存器来模拟计算机系统的运算过程。
通过对寄存器的读写操作,我们可以实现数据的传递和处理,从而完成各种计算任务。
在实验过程中,我了解到寄存器可以分为通用寄存器和特殊寄存器两种类型。
通用寄存器用于存储临时数据,如计算过程中的中间结果。
而特殊寄存器则用于存储特定的数据,如程序计数器(PC)、指令寄存器(IR)等。
这些特殊寄存器在计算机系统中起着至关重要的作用,能够实现指令的执行和程序的流程控制。
在实验过程中,我还学习到了寄存器的位宽和寄存器的数量对计算机系统的性能和功能有着重要的影响。
位宽越大,寄存器能够存储的数据范围就越广,计算精度也就越高。
而寄存器的数量则决定了计算机系统能够同时处理的数据量和任务数量。
因此,合理设计和配置寄存器是提高计算机系统性能的重要手段。
通过寄存器实验,我还了解到寄存器的读写速度非常快,这也是它在计算机系统中得以广泛应用的重要原因之一。
寄存器的高速读写能力,使得计算机系统能够快速响应和处理各种指令和数据,提高计算效率和运行速度。
在实验中我还了解到寄存器可以用于存储和传递控制信号,实现计算机系统的各种功能和操作。
例如,我们可以使用寄存器来存储和传递地址信息,实现内存的读写操作。
同时,寄存器还可以用于存储和传递中断信号,实现系统的中断处理功能。
这些应用使得寄存器成为计算机系统中不可或缺的组成部分。
通过这次寄存器实验,我对寄存器的结构、功能和应用有了更深入的了解。
寄存器作为计算机系统中的重要组成部分,对于计算机的运行和性能起着至关重要的作用。
合理设计和配置寄存器,可以提高计算机系统的效率和功能,从而满足不同应用场景的需求。
计算机寄存器实验报告
一、实验目的1. 理解计算机寄存器的概念、作用和分类;2. 掌握寄存器在计算机系统中的基本操作;3. 熟悉寄存器的控制信号及其工作原理;4. 培养实验操作能力和分析问题能力。
二、实验环境1. 实验设备:计算机组成原理实验箱、计算机、Proteus仿真软件;2. 实验软件:Proteus仿真软件、模型机仿真软件;3. 实验环境:实验室。
三、实验内容1. 寄存器基本概念及分类;2. 寄存器操作实验;3. 寄存器控制信号实验;4. 寄存器在计算机系统中的应用实验。
四、实验步骤1. 寄存器基本概念及分类实验(1)打开Proteus仿真软件,创建一个新的项目;(2)在项目中选择计算机组成原理实验箱中的寄存器模块;(3)观察寄存器的结构,了解寄存器的分类(如累加器、寄存器组、地址寄存器等);(4)总结寄存器的作用,如暂存数据、控制指令等。
2. 寄存器操作实验(1)在Proteus仿真软件中,搭建一个简单的寄存器操作电路;(2)设置输入数据,观察寄存器的输出;(3)通过改变输入数据,验证寄存器的存储功能;(4)总结寄存器操作的基本步骤。
3. 寄存器控制信号实验(1)在Proteus仿真软件中,搭建一个包含控制信号的寄存器电路;(2)观察控制信号对寄存器操作的影响;(3)通过改变控制信号,验证寄存器的读写功能;(4)总结寄存器控制信号的作用和意义。
4. 寄存器在计算机系统中的应用实验(1)在Proteus仿真软件中,搭建一个简单的计算机系统电路;(2)观察寄存器在计算机系统中的操作过程;(3)分析寄存器在计算机系统中的作用,如数据暂存、指令控制等;(4)总结寄存器在计算机系统中的应用。
五、实验结果与分析1. 通过实验,掌握了寄存器的基本概念、作用和分类;2. 熟悉了寄存器的操作过程,包括输入、输出、读写等;3. 了解寄存器控制信号的作用,以及它们对寄存器操作的影响;4. 分析了寄存器在计算机系统中的应用,如数据暂存、指令控制等。
寄存器的多功能性能实验
寄存器的多功能性能实验寄存器是计算机中非常重要的组成部分,它们具有多种功能,能够满足不同的需求。
本文将对寄存器的多功能性能进行实验探究,通过实验结果来验证其功能和性能。
一、引言在计算机系统中,寄存器是一种数据存储器件,用于存储指令、数据和地址等信息。
寄存器具有快速读写速度和存储容量有限等特点,但同时也具备多种功能。
本次实验将通过具体的测试来了解和验证寄存器的多种功能。
二、寄存器的存储功能实验1. 实验目的通过本次实验,我们将了解寄存器的存储功能,并验证其存储容量与读写速度。
2. 实验步骤(1)选择一块适用的寄存器芯片,并准备连接线路。
(2)编写测试程序,在寄存器中存储一定数量的数据。
(3)观察并记录存储数据的过程,包括写入时间和写入结果。
(4)使用读取操作读取寄存器中的数据,并记录读出时间和读出结果。
3. 实验结果经过实验测试,我们得到了以下结果:(1)写入时间:在一定数据量条件下,寄存器的写入时间基本稳定,能够实时完成数据写入。
(2)写入结果:寄存器按照设定的地址顺序存储数据,写入准确无误。
(3)读取时间:寄存器的读取操作非常迅速,几乎可以实时返回读取结果。
(4)读取结果:通过读取操作,我们能够准确读取到寄存器中存储的数据。
4. 结论通过上述实验,我们验证了寄存器的存储功能,能够按照指定地址存储和读取数据,并具备较快的读写速度。
三、寄存器的状态存储功能实验1. 实验目的通过本次实验,我们将了解寄存器的状态存储功能,并验证其能够保存和传递计算结果。
2. 实验步骤(1)选择适合的寄存器,并准备相应的测试电路。
(2)编写测试程序,将计算结果存储到寄存器中。
(3)观察并记录存储数据的过程,包括写入时间和写入结果。
(4)通过其他计算操作,读取寄存器中的数据,并验证结果的准确性。
3. 实验结果经过实验测试,我们得到了以下结果:(1)写入时间:寄存器的写入时间非常短,几乎可以忽略不计。
(2)写入结果:寄存器能够准确地存储计算结果,并能够在读取时传递给其他部件使用。
计算机组成原理实验报告
实验1 通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。
2.了解通用寄存器的构成和运用。
二、实验要求掌握通用寄存器R3~R0的读写操作。
三、实验原理实验中所用的通用寄存器数据通路如下图所示。
由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。
图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。
RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。
DRCK信号为寄存器组打入脉冲,上升沿有效。
准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图2-3-3 通用寄存器数据通路四、实验容1.实验连线K23~K0置“1”,灭M23~M0控位显示灯。
然后按下表要求“搭接”部件控制电路。
2.寄存器的读写操作①目的通路当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。
通用寄存器“手动/搭接”目的编码②通用寄存器的写入通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:③源通路当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。
通用寄存器“手动/搭接”源编码④通用寄存器的读出五、实验心得通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。
实验2 运算器实验一、实验目的掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。
二、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。
三、实验原理实验中所用的运算器数据通路如图2-3-1所示。
ALU运算器由CPLD描述。
运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
寄存器相关实验
实验一一、实验目的二、实验设备三、工作原理(图)四、实验内容与结果实验内容:3种置数方式(进位保持、进位清零、进位置1),分别设置2组数据。
每个数据,分别验证5种操作(保持、循环右移、带进位循环右移、循环左移、带进位循环左移),并将结果以表格形式,列在下面,注意进位Z标志,一并记录。
实验结果:实验二移位运算实验内容1、往移位寄存器置数(进位清零)000FH,分别执行功能“循环右移”4次和“循环左移”4次后的结果(包括进位标识Z及进位指示灯的状态);2、往移位寄存器置数(进位置1)000FH,分别执行功能“带进位循环右移”8次和“带进位循环左移”8次后的结果;3、往移位寄存器置数(进位置1)8E60H,执行功能“带进位循环右移”4次,再执行“循环左移”4次后的结果;4、往移位寄存器置数(进位置1)1080H后,执行功能“带进位循环左移”4次后的结果;执行“循环左移”4次后的结果;5、置数(进位保持)3A00H,执行功能“带进位循环右移”4次,执行功能“循环右移”4次,执行功能“保持”后的结果。
结果记录参考格式例:置数(进位清零)执行功能执行结果进位及指示灯状态000FH “循环右移”4次0F000H 0 灭实验三存储器读写和总线控制实验实验内容1、通过数据总线,输入地址00H,读出此内存单元的值;再输入地址10H,读出此内存单元值;输入地址20H,读出此内存单元值;这些值代表什么?输入地址30FFH,此时存储的地址单元是多少?2、往RAM的任意地址存放十组以上的数据,然后读出并检查结果是否正确,并查看地址总线指示灯(A0。
A7)与数据总线指示灯(D0。
D15)的状态;3、通过键盘操作方式,输入并验证P32页的表3-1数据。
实验五微程序设计实验内容1、输入和验证实验材料P52页表5-3微代码并运行;2、参照P50页表5-2的微代码格式,试着编写8条简单的微代码,使之能循环运行,并参照表5-2下的微代码含义说明写出各条微代码含义。
计算机组成原理实验报告-寄存器实验
千里之行,始于足下。
计算机组成原理实验报告-寄存器实验计算机组成原理实验报告-寄存器实验》一、实验目的本次实验旨在通过设计和实现一个基本的寄存器,加深对计算机组成原理中寄存器的理解,并掌握寄存器在计算机中的应用。
二、实验设备及软件1. 实验设备:计算机2. 实验软件:模拟器软件Mars3. 实验材料:电路图、线缆、元器件三、实验原理寄存器是计算机的一种重要组成部分,用于存储数据和指令。
一个基本的寄存器通常由一组触发器组成,可以存储多个位的信息。
本实验中,我们需要设计一个16位的寄存器。
四、实验步骤1. 确定寄存器的结构和位数:根据实验要求,我们需要设计一个16位的寄存器。
根据设计要求,选择合适的触发器和其他元器件。
2. 组装寄存器电路:根据电路图,将选择好的元器件按照电路图连接起来。
3. 连接电路与计算机:使用线缆将寄存器电路连接到计算机的相应接口上。
4. 编写程序:打开Mars模拟器软件,编写程序来测试寄存器的功能。
可以编写一段简单的程序,将数据写入寄存器并读取出来,以验证寄存器的正确性。
5. 运行程序并测试:将编写好的程序加载到Mars模拟器中,并运行程序,观察寄存器的输出和模拟器的运行结果。
第1页/共3页锲而不舍,金石可镂。
五、实验结果在本次实验中,我们成功设计和实现了一个16位的寄存器,并进行了相关测试。
经过多次测试,寄存器的功能和性能良好,能够准确地存储和读取数据。
六、实验心得通过本次实验,我对寄存器的结构和工作原理有了更深入的了解。
寄存器作为计算机的一种重要组成部分,起着存储和传输数据的作用。
通过实际操作和测试,我更加清楚了寄存器在计算机中的应用和重要性。
在实验过程中,我遇到了一些问题,如电路连接不稳定、程序错误等,但通过仔细检查和调试,最终解决了这些问题。
这次实验也让我深刻体会到了学习计算机组成原理的重要性,只有深入理解原理并通过实践运用,才能真正掌握计算机的工作原理和能力。
通过这个实验,我有了更深入的认识和理解,对计算机组成原理的学习也更加系统和完整。
计算机组成原理实验报告实验2.3.2 通用寄存器实验
实验一通用寄存器实验一、实验目的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通用寄存器数据通路四、实验内容2.寄存器的读写操作1)目的通路当RXW=0时,由DI、OP编码产生目的寄存器地址,详见下表。
表2.3.5通用寄存器“手动/搭接”目的编码2)CX、DX寄存器的写入通过“I/O输入输出单元”向CX、DX分别置数1122h、3344h,操作步骤如下:K10~K6=10000 K18~K16=000 K18~K16=0103)源通路当X2 X1 X0=0 0 1时,由SI、XP编码产生源寄存器,详见下表。
表2.3.6通用寄存器“手动/搭接”源编码1 0 0 DX 字读 1 0 1 DL(R2)偶字节读 11XDH(R2)奇字节读4) CX 、DX 寄存器的读出读CX 数据来源 REG数据总线 显示CX 值读DX 数据总线 显示DX 值五、实验心得本次试验中我对实验设备Dais-CMX16+有了初步的认识。
由于第一次使用这个试验箱,对界面和操作还不是很熟悉,按照指导书上的步骤和要求完成了实验。
但对实验的内部原理的各部件的操作和设置还不是很理解。
实验二准双向I/O口实验一、实验目的熟悉与了解准双向I/O口的构成原理。
二、实验要求掌握准双向I/O口的输入/输出特性的运用。
三、实验原理Dais-CMX16+向用户提供的是按准双向原理设计的十六位输入/输出I/O口,当该位为“1”时才能用作输入源,上电或复位(手动态按【返回】键),该十六位I/O口被置位(即为“0FFFFh”)。
寄存器实验总结
寄存器实验总结1. 引言寄存器是计算机系统中非常重要的组成部分,用来存储和操作数据。
在计算机系统中,有多种类型的寄存器,例如通用寄存器、特殊寄存器等。
本实验旨在让学生通过实际操作,加深对寄存器的理解和应用。
2. 实验目的通过本次实验,学生应达到以下目标:1.理解寄存器的基本概念和作用;2.掌握寄存器的读写操作;3.熟悉不同类型寄存器的使用场景;4.实际编程中能够灵活运用寄存器。
3. 实验过程3.1 环境准备在进行寄存器实验之前,首先需要搭建适当的实验环境。
具体步骤如下:1.在计算机中安装合适的开发平台,例如使用Arduino、Raspberry Pi等;2.连接电路,将寄存器与其他电子元件进行连接,确保连接正确并稳定;3.启动开发平台,准备进行编程和实验。
3.2 寄存器读写操作在实验过程中,学生需要理解并掌握寄存器的读写操作。
具体步骤如下:1.了解寄存器的寻址方式,即确定寄存器的地址;2.通过编程的方式,实现对寄存器的读写操作;3.验证寄存器的读写结果是否正确;4.在编程过程中,可以尝试使用不同寄存器进行实验,比较其性能和特点。
3.3 不同类型寄存器的使用场景在实际应用中,不同类型的寄存器有着不同的使用场景。
学生需要了解寄存器的不同类型和对应的应用场景。
例如:1.通用寄存器:在CPU中用来存储临时数据、函数参数等;2.特殊寄存器:例如程序计数器(PC)用来存储下一条指令的地址。
学生可以通过实验来体验不同类型寄存器的使用场景,并思考它们的作用和局限性。
4. 实验结果与分析在完成寄存器实验后,学生应对实验结果进行总结和分析。
可以从以下几个方面进行分析:1.寄存器的性能:不同寄存器的读写速度、容量等参数,理论上对计算机的性能有影响;2.寄存器的使用场景:不同寄存器适用于不同的应用场景,选择合适的寄存器可以提高程序执行效率;3.寄存器的优化:学生可以思考如何通过寄存器的优化来提高程序的性能。
5. 结论通过本次寄存器实验,学生对寄存器的概念和应用有了更深入的了解,并能够灵活运用寄存器进行编程。
寄存器实验报告
寄存器实验报告实验目的:本实验旨在通过对寄存器的学习和实验操作,了解寄存器的基本概念、功能以及应用。
实验设备:1. 计算机2. 开发板3. 指示灯4. 连接线实验步骤:一、寄存器简介寄存器是计算机中的一种重要的存储器件,用于存储和传送数据。
它采用二进制编码进行操作,并且能够以不同的形式存在于各种计算机中。
寄存器通常由多个触发器级联实现,其中每个触发器能够存储一个二进制位。
根据其功能和结构的不同,寄存器可以分为通用寄存器、特殊功能寄存器等。
二、实验设备连接1. 将开发板与计算机通过连接线进行连接。
2. 将指示灯插入开发板上的相应引脚。
三、数据输入与显示1. 在计算机上编写相应的程序,通过控制寄存器将数据输入到开发板中。
2. 通过观察指示灯的状态,验证数据是否被正确地存储到寄存器中。
3. 修改输入的数据,观察指示灯是否能正确反映修改后的数据。
四、数据传送与处理1. 编写程序,将寄存器中的数据传送到其他相关设备中。
2. 通过观察设备的工作状态,验证数据是否能正确地传送和处理。
五、寄存器的运算1. 编写程序,对寄存器中的数据进行相应的运算操作,如加法、减法等。
2. 通过观察计算结果的正确性,验证寄存器的运算功能是否正常。
六、数据存储与读取1. 编写程序,将计算结果存储到寄存器中。
2. 通过读取寄存器中的数据,验证存储功能是否正常。
实验结果与分析:通过以上实验操作,我们成功地对寄存器的功能和应用进行了探究和验证。
通过数据的输入、传输、运算和存储等操作,我们可以清楚地认识到寄存器在计算机中的作用和重要性。
同时,我们也发现了寄存器在数据存储和传送过程中的高效性和可靠性。
结论:寄存器作为计算机中的重要存储器件,在数据的存储和传送方面发挥着重要的作用。
通过本次实验,我们对寄存器的基本概念、功能和运作原理有了深入的了解。
通过学习和实践,我们进一步增强了对计算机硬件和数据处理的认识,为今后的学习和研究打下了坚实的基础。
计算机组成原理通用寄存器实验
由图 7-2-1,令 SW-B=1,CE=0,CBA=000,LDR0=1,数据开关置为 00000001,将数据置入寄存
器 R0 中,再将数据开关置为 10000000,令 LDR0=0,LDR1=1,将数据置入寄存器 R1 中,这是
通用寄存器的写入原理。
由 7-2-1 和表 7-2-1,改变 CBA 的状态,分别选择通用寄存器 R0、R1、R2,读出 R0、R1、R2
1通用寄存器的写入2通用寄存器的读出置cba100由表721知数据总线单元显示r0中的数据cba101时数据总线单元显示r1中的数据cba110时数据总线单元显示r2中的数据是随机的因为之前并未向r2中置数五实验总结实验写入读出都正常数据开关00000001在缓冲输入单元拨动数据开关相应的灯亮向相应单元置入此数据寄存器r000000001ldr01ldr10ldr20ldr0是寄存器r0的控制端此时ldr0表明要将数据总线上的数据送到寄存器r0按单步键后寄存器组的r0位置显示数据开关输入的数据01数据开关10000000在缓冲输入单元拨动数据开关相应应单元置入此数据数据总线显示输入的数据80寄存器r110000000ldr00ldr11ldr20ldr1是寄存器r1的控制端此时ldr1的灯亮表明要将数据总线上的数据送到寄存器r1中按单步键后寄存位置显示数据开关输入的数据80三态门cba000ce0swb1cba的状态从000111此时cba为000灯均不亮表示数据开关送总线ce为存储器控制端此时为0灯不亮表示进行的操作与存储器无关swb是数据送总线此时为1表示将灯亮表示将数据开关的00000001
图案的插孔(注:Dais-CMH 的时钟信号已作内部连接)。
四、实验内容及结分析
(一)通用寄存器的写入 拨动二进制数据开关向 R0 和 R1 寄存器置数,具体操作步骤如下:
寄存器实验报告资料
为0, MAR寄存器中的地址输出. MAR红色输出指示灯亮.
K14(MAROE)置为1. 关闭MAR输出.
77H写入OUT寄存器
K23-K16用于DBUS[7:0]的数据输入,置数据77H
K22 K21 K20 K19 K18 K17 K16
K23-K16用于DBUS[7:0]的数据输入,置数据44H
K22 K21 K20 K19 K18 K17 K16
1 0 0 0 1 0 0
K10(RWR) K1(SB) K0(SA)
0 1 1
R0,R1,R2,R3寄存器数据读出
11H用R0寄存器读出
K10(RWR) K1(SB) K0(SA)
1 0 1
按住CLOCK脉冲键,CLOCK由高变低,这时寄存器MAR的黄色选择指示灯亮,表明选择MAR寄存器。
CLOCK键,CLOCK由低变高,产生一个上升沿,数据55H被写入MAR寄存器。
为0, MAR寄存器中的地址输出. MAR红色输出指示灯亮.
K14(MAROE)置为1. 关闭MAR输出.
数据是在放开CLOCK键后改变的,也就是CLOCK的上升沿数据被打入。
用于选择寄存器。
K0(SA) 选择
0 R0
1 R1
0 R2
1 R3
Hale Waihona Puke R0,R1,R2,R3寄存器
11H写入R0寄存器
实验报告
K23-K16用于DBUS[7:0]的数据输入,置数据11H
K22 K21 K20 K19 K18 K17 K16
1 1 0 0 1 1 0
计算机组成原理寄存器存储器实验心得,寄存器实验心得(共10篇).docx
计算机组成原理寄存器存储器实验⼼得,寄存器实验⼼得(共10篇).docx寄存器实验⼼得(共10篇)通⽤寄存器实验报告 ⼀、实验⽬的: 1、了解通⽤寄存器组的⽤途及对CPU的重要性。
2、掌握通⽤寄存器组的设计⽅法。
⼆、实验内容: 1、通⽤寄存器组的作⽤ 通⽤寄存器组是CPU的重要组成部分。
从存储器和外部设备取来的数据要放在通⽤寄存器中;向存储器和外部设备输出的数据从通⽤寄存器中取出;参加算术运算和逻辑运算的数据从通⽤寄存器组中取出,同时通⽤寄存器也 是运算结果的暂存地。
通⽤寄存器组有两个读端⼝,负责提供进⾏算术逻辑单元需要的源操作数和⽬的操作数;有⼀个写端⼝,负责将运算结果保存到指定的寄存器内。
2、通⽤寄存器组功能实现 根据通⽤寄存器组的功能要求,⼀个只有四个16位寄存器的通⽤寄存器组的框图如下图所⽰: ⑴寄存器部分: 当reset为低电平时,将四个16位寄存器R0-R3复位为0;当寄存器的write和sel 为⾼电平时,在时钟信号clk的上升沿将D端的输⼊D[15-0]写⼊寄存器,然后送到寄存器的输出Q[15-0]。
4个寄存器的允许写信号write和外部产⽣的⽬的寄存器写信号DRWr直接相连。
每个寄存器还有另⼀个选择信号sel,它决定哪⼀个寄存器进⾏写操作。
4个寄存器的选择信号分别和2-4译码器产⽣的sel00、sel01、sel10、sel11相连。
只有当⼀个寄存器被选中,才允许对该寄存器进⾏写操作。
⑵2-4译码器: 2-4译码器的输⼊sel[1-0]接DR[1-0],2-4译码器对2位的输⼊信号sel[1-0]进⾏2-4译码,产⽣4个输出sel00、sel01、sel10、sel11,分别送往4个寄存器R0、R1、R2和R3的选择端sel。
⑶4选1多路器 4选1多路选择器1从4个寄存器R0、R1、R2和R3的输出Q[15-0]选择1路送到DR_data[15-0],给算术逻辑单元提供⽬的操作数;选择信号sel[1-0]接DR[1-0]。
寄存器实验报告
实验报告实验名称_______________姓名__________学号___________同组同学姓名__________学号__________实验日期______________实验完成日期______________1.实验题目名称:寄存器实验2.实验目的:1)掌握QuartusII 5.0软件的图形编辑、编译、仿真的设计流程。
2)学习74670三态输出寄存器堆的使用。
3)了解寄存器组的使用,设计出完善的寄存器组。
3.实验内容:设计出功能完善的寄存器组,并对设计的正确性进行验证。
具体要求如下:1)用图形方式设计出寄存器组的电路原理图。
2)测试波形要用时序仿真实现,现将不同的数据连续写入4个寄存器后,在分别读出。
3)将设计文件封装成器件符号。
4)数据的宽度最好为16位。
4.实验设计思想:在主机系统中,寄存器组用于暂存程序运行过程中所需要的各种数据。
可以采用具有三态功能的两片4位片的74LS760芯片进行设计。
构成4字*8位的寄存器组。
通用寄存器组的设计原理图如下:通用寄存器组的设计原理图5.芯片封装图通用寄存器组芯片封装图图中RA,RB输出控制管脚接收需要读出信息的通用寄存器地址,在RE读控制信号的作用下,输出相应寄存器中的数据到输出管脚Q0~Q7端。
WA,WB输入控制管脚接收需要写入信息的通用寄存器的地址,在WE写控制信号的作用下,把输入管脚D0~D7的输入数据写入到相应的寄存器中。
其通用寄存器的“写”“读”功能控制方式可参见表5-2,5-3.6.逻辑电路图6.实验结果:7.实验小结:1)实验过程中所遇到的问题及其分析:2)解决的方法:3)实验收获:4)对实验的意见和建议:。
寄存器实验报告总结心得
随着电子技术和计算机科学的飞速发展,寄存器作为数字系统中的基本组件,其重要性不言而喻。
本次寄存器实验,让我对寄存器有了更深入的了解,同时也锻炼了我的动手能力和解决问题的能力。
以下是我在实验过程中的心得体会。
一、实验背景寄存器是数字系统中用于存储和传输数据的临时存储单元,它由触发器组成,可以并行或串行地存取数据。
在计算机组成原理课程中,寄存器是不可或缺的一部分,它直接影响着计算机的性能和效率。
本次实验主要围绕移位寄存器展开,旨在让我们掌握移位寄存器的逻辑功能、工作原理以及在实际应用中的重要性。
二、实验内容1. 实验目的(1)了解移位寄存器的结构、功能和工作原理;(2)掌握移位寄存器的逻辑功能测试和使用方法;(3)学会移位寄存器的应用,如实现数据的串/并转换、构成环形计数器等。
2. 实验原理移位寄存器是一种具有移位功能的寄存器,其数据可以在时钟脉冲的作用下依次左移或右移。
根据移位寄存器存取信息的方式不同,可以分为串入串出、串入并出、并入串出、并入并出四种形式。
本实验选用4位双向通用移位寄存器,型号为74LS194或CC40194。
3. 实验步骤(1)搭建实验电路,包括74LS194芯片、时钟脉冲源、数据输入端等;(2)根据实验要求,设置移位寄存器的操作模式,如并行送数、右移、左移、保持及清零等;(3)通过数据输入端,向移位寄存器中写入数据;(4)观察移位寄存器的输出端,记录数据的变化情况;(5)分析实验结果,验证移位寄存器的功能。
4. 实验结果与分析(1)通过实验,我们成功搭建了移位寄存器实验电路,并实现了数据的串行输入、移位和并行输出;(2)实验结果表明,移位寄存器能够按照设定的操作模式,实现数据的左移、右移、保持和清零等功能;(3)通过观察实验现象,我们了解到移位寄存器在实际应用中的重要作用,如构成环形计数器、顺序脉冲发生器、串行累加器等。
三、实验心得1. 理论知识与实践相结合本次实验让我深刻体会到,理论知识与实践操作是相辅相成的。
实验二通用寄存器单元实验
实验二通用寄存器单元实验2014.4.29班级12级物联网工程(1)班学号姓名【实验目的】1.了解通用寄存器的组成和硬件电路。
2.利用通用寄存器实现数据的置数、左移、右移等功能。
【实验要求】1.按照实验步骤完成实验项目,实现通用寄存器移位操作。
2.了解通用寄存器单元的工作原理运用。
【实验过程】实验2.1 数据输入通用寄存器(1).把RA-IN(8芯的盒型插座)与CPT-B板上的二进制开关单元中J01插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。
(2).把RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-O、M接入二进制拨动开关。
(请按下表接线)。
(3).二进制开关H16~H23作为数据输入,置42H(对应开关如下表)。
置各控制信号如下:(4).按启停单元中的运行按钮,置平台为运行状态。
(5).按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把42H打入通用寄存器。
(6).此时数据总线上的指示灯IDB0~IDB7 应该显示为42H。
由于通用寄存器内容不为0,所以LED(ZD)灯灭。
实验2.2 寄存器内容无进位位左移实验(1)按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。
(2)实现左移功能,置各控制信号如下:(3)按启停单元中的运行按钮,置实验平台为运行状态。
(4)按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左移。
(5)此时数据总线上的LED指示灯IDB0~IDB7 应该显示为84H。
由于通用寄存器内容不为0,所以ZD(LED)灯灭。
(6)按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值左移,此时数据总线上的LED指示灯IDB0~IDB7应该显示为09H。
若一直按PLS1,在总线上将看见数据循环左移的现象。
实验2.3 寄存器内容无进位位右移实验(1)按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。
计算机组成原理实验资料报告材料
实验1 通用寄存器实验一、实验目的1.熟悉通用寄存器的数据通路。
2.了解通用寄存器的构成和运用。
二、实验要求掌握通用寄存器R3~R0的读写操作。
三、实验原理实验中所用的通用寄存器数据通路如下图所示。
由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。
图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。
RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。
DRCK信号为寄存器组打入脉冲,上升沿有效。
准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。
图2-3-3 通用寄存器数据通路四、实验容1.实验连线2.寄存器的读写操作①目的通路当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。
通用寄存器“手动/搭接”目的编码②通用寄存器的写入通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下:通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下:③源通路当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。
通用寄存器“手动/搭接”源编码④通用寄存器的读出五、实验心得通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。
实验2 运算器实验一、实验目的掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。
二、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。
三、实验原理实验中所用的运算器数据通路如图2-3-1所示。
ALU运算器由CPLD描述。
运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。
通用寄存器
------------大学信息学院《计算机组成原理》 实验报告实验名称 通用寄存器实验 实验室 实验楼 实验日期实验二 通用寄存器实验一、实验目的1、熟悉通用寄存器概念。
2、熟悉通用寄存器的组成和硬件电路。
二、实验原理实验中所用的通用寄存器数据通路如下图所示。
由三片8位字长的74LS374组成R0、R1、R2寄存器组成。
三个寄存器的输入接口用一8芯扁平线连至BUS 总线接口,而三个寄存器的输出接口用一8芯扁平线连至BUS 总线接口。
图中R0-B 、R1-B 、R2-B 经CBA 二进制控制开关译码产生数据输出选通信号(详见表7-2-1),LDR0、LDR1、LDR2为数据写入允许信号,由二进制控制开关模拟,均为高电平有效;T4信号为寄存器数据写入脉冲,上升沿有效。
在手动实验状态(即“L”状态)每按动一次【单步】命令键,产 生一次T4信号。
当我们欲给通用寄存器置数时,首先必须通过二进制控制开关打开三态门开关(SW-B=1),并且使CBA 二进制开关为000,存储器控制端也应关闭即CE=0,向数据开关(缓冲输入)置数,打开数据写入允许信号开关,由二进制控制开关控制模拟,向哪个寄存器中写数,就将哪个寄存器的二进制模拟开关置为高电平(1)再给予T4时序脉冲就将数据开关端的数据写入了通用寄存器。
如果想将通用寄存器中的数读出来,由总线输入/输出的约定,为了避免总线冲突与竞争,模型机在同一机器周期内只能允许一个部件的数据占用总线,所以应该关闭数据输入三态(SW-B=0),同时存储控制器端CE=0,通过二进制模拟开关分别打开通用寄存器R0、R1、R2输出控制端,这样相应的通用寄存器中的数就会被送往数据总线显示单元,从而实现通用寄存器的读出操作(置CBA=100时,按【单步】键,数据总线单元显示R0中的数据;置CBA=101时,按【单步】键,数据总线单元显示R1中的数据;置CBA=110时,按【单步】键,数据总线单元显示R2中的数据)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.9 通用寄存器实验报告一、实验目的:1、了解通用寄存器组的用途及对CPU的重要性。
2、掌握通用寄存器组的设计方法。
二、实验内容:1、通用寄存器组的作用通用寄存器组是CPU的重要组成部分。
(1)从存储器和外部设备(除DMA方式外)取来的数据要放在通用寄存器中;(2)向存储器和外部设备(除DMA方式外)输出的数据从通用寄存器中取出;(3)参加算术运算和逻辑运算的数据从通用寄存器组中取出,同时通用寄存器也是运算结果的暂存地。
(4)通用寄存器组有两个读端口,负责提供进行算术逻辑单元需要的源操作数和目的操作数;有一个写端口,负责将运算结果保存到指定的寄存器内。
2、通用寄存器组功能实现根据通用寄存器组的功能要求,一个只有四个16位寄存器的通用寄存器组的框图如下图所示:⑴寄存器部分:当reset为低电平时,将四个16位寄存器R0-R3复位为0;当寄存器的write和sel为高电平时,在时钟信号clk的上升沿将D端的输入D[15-0]写入寄存器,然后送到寄存器的输出Q[15-0]。
4个寄存器的允许写信号write和外部产生的目的寄存器写信号DRWr 直接相连。
每个寄存器还有另一个选择信号sel,它决定哪一个寄存器进行写操作。
4个寄存器的选择信号分别和2-4译码器产生的sel00、sel01、sel10、sel11相连。
只有当一个寄存器被选中(sel为高电平时),才允许对该寄存器进行写操作。
⑵ 2-4译码器:2-4译码器的输入sel[1-0]接DR[1-0],2-4译码器对2位的输入信号sel[1-0]进行2-4译码,产生4个输出sel00、sel01、sel10、sel11,分别送往4个寄存器R0、R1、R2和R3的选择端sel。
⑶ 4选1多路器4选1多路选择器1从4个寄存器R0、R1、R2和R3的输出Q[15-0]选择1路送到DR_data[15-0],给算术逻辑单元提供目的操作数;选择信号sel[1-0]接DR[1-0]。
4选1多路选择器2从4个寄存器R0、R1、R2和R3的输出Q[15-0]选择1路送到SR_data[15-0],给算术逻辑单元提供源操作数;选择信号sel[1-0]接SR[1-0]。
三、实验要求:1、实验设计目标设计一个通用寄存器组满足以下要求:(1)通用寄存器组中有4个16位的寄存器。
(2)当复位信号reset=0时,将通用寄存器组中的4个寄存器清零。
(3)通用寄存器组中有1个写入信号,当DRWr=1时,在时钟clk的上升沿将数据总线上的数写入DR[1-0]指定的寄存器。
(4)通用寄存器组中有两个读出端口,一个对应算术逻辑单元的目的操作数DR,另一个对应算术逻辑单元的源操作数SR。
DR[1-0]选择目的操作数;SR[1-0]选择源操作数。
(5)设计要求层次设计。
底层的设计实体有三个:16位寄存器,具有复位功能和允许写功能;一个2-4译码器,对应寄存器写选择;一个4选1多路开关,负责选择寄存器的读出。
顶层设计构成一个完整的通用寄存器组。
2、顶层设计实体的引脚要求引脚要求对应关系如下:(1)clk对应试验台上的时钟(单脉冲)。
(2)reset对应实验台上的CPU复位信号CPU_RST。
(3)SR[1-0]对应实验台开关SA1,SA0。
(4)DR[1-0]对应实验台开关SA3,SA2。
(5)DRWr对应实验台开关SA5。
(6)目的操作数用实验台上的指示灯A15-A0显示,源操作数用实验台上的指示灯R15-R0显示。
四、实验数据:五、实验体会:通过本次实验了解到通用寄存器组对CPU的重要性,同时也了解了通用寄存器的作用以及功能。
在开始做实验时,不知道该如何来描述这个看起来特别复杂的通用寄存器组。
但是通过解读实验原理,了解到要通过一些小的部件来组成通用寄存器组,包括2-4译码器、4选1多路选择器以及寄存器。
这些简单的小部件便可组成通用寄存器组,从而支持CPU的功能实现。
六源代码2-4译码器library ieee;use ieee.std_logic_1164.all;entity transcode isport(sel: in std_logic_vector(1 downto 0);sel00,sel01,sel10,sel11: out std_logic);end entity transcode;architecture transcode of transcode is ---beginprocess(sel) isbegincase sel iswhen "00"=>sel00<='1';sel01<='0';sel10<='0';sel11<='0';when "01"=>sel00<='0';sel01<='1';sel10<='0';sel11<='0';when "10"=>sel00<='0';sel01<='0';sel10<='1';sel11<='0';when "11"=>sel00<='0';sel01<='0';sel10<='0';sel11<='1';end case;end process;end architecture ;四选一电路library ieee;use ieee.std_logic_1164.all;entity choose4_1 isport(sel:in std_logic_vector (1 downto 0);input0,input1,input2,input3:in std_logic_vector(15 downto 0); output:out std_logic_vector(15 downto 0));end entity;architecture choose of choose4_1 isbeginprocess(sel) isbegincase sel iswhen "00"=>output(15 downto 0)<=input0(15 downto 0);when "01"=>output(15 downto 0)<=input1(15 downto 0);when "10"=>output(15 downto 0)<=input2(15 downto 0);when "11"=>output(15 downto 0)<=input3(15 downto 0);end case;end process;end architecture ;use ieee.std_logic_1164.all;---------------------------------单个寄存器entity oneregister isport(clr,clk,allow_write,sel:in std_logic; D: in std_logic_vector(15 downto 0);Q:out std_logic_vector (15 downto 0) );end entity;architecture one of oneregister isbeginprocess(clk,clr,allow_write,sel) isbeginif (clk'event and clk='1')thenif (allow_write='1'and sel='1')then Q<=D;end if;end if;if(clr='0') thenQ<="0000000000000000";end if;end process;end architecture ;单个寄存器组合成的寄存器组use ieee.std_logic_1164.all;entity registers isport(d_input :in std_logic_vector(15 downto 0);DRWr,reset,clk:in std_logic ;DR,SR:in std_logic_vector(1 downto 0);DR_data,SR_data: out std_logic_vector(15 downto 0));end entity;architecture res of registers iscomponent transcode isport(sel: in std_logic_vector(1 downto 0);sel00,sel01,sel10,sel11: out std_logic);end component ;component choose4_1 isport(sel:in std_logic_vector (1 downto 0);input0,input1,input2,input3:in std_logic_vector(15 downto 0); output:out std_logic_vector(15 downto 0));end component ;component oneregister isport(clr,clk,allow_write,sel:in std_logic;D: in std_logic_vector(15 downto 0);Q:out std_logic_vector (15 downto 0));end component;signal sel0,sel1,sel2,sel3:std_logic;signal outq0,outq1,outq2,outq3:std_logic_vector(15 downto 0); begintranscode1 :transcode port map(DR,sel0,sel1,sel2,sel3);----------------------------------------------------------R0:oneregister port map(reset,clk,DRWr,sel0, d_input,outq0);R1:oneregister port map(reset,clk,DRWr,sel1,d_input,outq1);R2:oneregister port map(reset,clk,DRWr,sel2,d_input,outq2);R3:oneregister port map(reset,clk,DRWr,sel3,d_input,outq3);---------------------------------------------------------DRoutput:choose4_1 port map(DR,outq0,outq1,outq2,outq3,DR_data);SRoutput:choose4_1 port map(SR,outq0,outq1,outq2,outq3,SR_data); end architecture;。