通用寄存器实验报告
计算机组成原理实验报告 通用寄存器单元实验

西华大学数学与计算机学院实验报告课程名称:计算机组成原理年级: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位的寄存器,并进行了相关测试。
经过多次测试,寄存器的功能和性能良好,能够准确地存储和读取数据。
六、实验心得通过本次实验,我对寄存器的结构和工作原理有了更深入的了解。
寄存器作为计算机的一种重要组成部分,起着存储和传输数据的作用。
通过实际操作和测试,我更加清楚了寄存器在计算机中的应用和重要性。
在实验过程中,我遇到了一些问题,如电路连接不稳定、程序错误等,但通过仔细检查和调试,最终解决了这些问题。
这次实验也让我深刻体会到了学习计算机组成原理的重要性,只有深入理解原理并通过实践运用,才能真正掌握计算机的工作原理和能力。
通过这个实验,我有了更深入的认识和理解,对计算机组成原理的学习也更加系统和完整。
- 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;。