杭电计算机组成原理存储器设计实验5

合集下载

杭电计组实验-寄存器堆设计实验

杭电计组实验-寄存器堆设计实验

杭电计组实验-寄存器堆设计实验————————————————————————————————作者:————————————————————————————————日期:实验报告2018 年 5 月12 日成绩:姓名阳光男学号班级专业计算机科学与技术课程名称《计算机组成原理与系统结构试验》任课老师张翔老师指导老师张翔老师机位号默认实验序号 4 实验名称《实验四寄存器堆设计》实验时间2018/5/12 实验地点1教211 实验设备号个人电脑、Nexys3开发板一、实验程序源代码1.寄存器堆模块代码:module Register_);input [4:0]R_Addr_A;input [4:0]R_Addr_B;input [4:0]W_Addr;input Write_Reg;input [31:0]W_Data;input Clk;input Reset;output [31:0]R_Data_A;output [31:0]R_Data_B;reg [31:0]REG_Files[0:31];reg [5:0]i;initial//仿真过程中的初始化beginfor(i=0;i<=31;i=i+1)REG_Files[i]=0;endassign R_Data_A=REG_Files[R_Addr_A]; assign R_Data_B=REG_Files[R_Addr_B]; always@(posedge Clk or posedge Reset)beginif(Reset)for(i=0;i<=31;i=i+1)REG_Files[i]=0;elseif(Write_Reg&&W_Addr!=0)REG_Files[W_Addr]=W_Data;endendmodule2.顶层电路模块代码:module Top_Register_);input [4:0]Addr;input [1:0]C1;//C1选择32位数据输出哪八位字节input Write_Reg,C2,Clk,Reset;//C2选择读A/B端口的数据output reg [7:0]LED;wire [31:0]R_Data_A,R_Data_B;reg [31:0]W_Data;reg[4:0] A,B;Register_(A,B,Addr,Write_Reg,W_Data,Clk,Reset,R_Data_A,R_Data_B); always@(Addr or Write_Reg or C1 or C2 or R_Data_A or R_Data_B) beginA=0;B=0;LED=0;W_Data=0;if(!Write_Reg)//读操作Write_Reg=0beginif(!C2)beginA=Addr;case(C1)2'b00:LED=R_Data_A[7:0];2'b01:LED=R_Data_A[15:8];2'b10:LED=R_Data_A[23:16];2'b11:LED=R_Data_A[31:24];endcaseendelsebeginB=Addr;case(C1)2'b00:LED=R_Data_B[7:0];2'b01:LED=R_Data_B[15:8];2'b10:LED=R_Data_B[23:16];2'b11:LED=R_Data_B[31:24];endcaseendendelse//写操作begincase(C1)2'b00:W_Data=32'h0000_0003;2'b01:W_Data=32'h0000_0607;2'b10:W_Data=32'hFFFF_FFFF;2'b11:W_Data=32'h1111_1234;endcaseendendendmodule3.测试代码module test;// Inputsreg [4:0] R_Addr_A;reg [4:0] R_Addr_B;reg [4:0] W_Addr;reg Write_Reg;reg [31:0] W_Data;reg Clk;reg Reset;// Outputswire [31:0] R_Data_A;wire [31:0] R_Data_B;// Instantiate the Unit Under Test (UUT) Register_ (.R_Addr_A(R_Addr_A),.R_Addr_B(R_Addr_B),.W_Addr(W_Addr),.Write_Reg(Write_Reg),.W_Data(W_Data),.Clk(Clk),.Reset(Reset),.R_Data_A(R_Data_A),.R_Data_B(R_Data_B));initial begin// Initialize InputsR_Addr_A = 0;R_Addr_B = 0;W_Addr = 0;Write_Reg = 0;W_Data = 0;Clk = 0;Reset = 0;// Wait 100 ns for global reset to finish #100;// Add stimulus here#100;R_Addr_A = 0;R_Addr_B = 0;W_Addr = 5'b00001; Write_Reg = 1;W_Data = 32'h1111_1111; Clk = 1;Reset = 0;#100;R_Addr_A = 0;R_Addr_B = 0;W_Addr = 5'b00001; Write_Reg = 1;W_Data = 32'h1111_1111; Clk = 0;Reset = 0;#100;R_Addr_A = 0;R_Addr_B = 0;W_Addr = 5'b00010; Write_Reg = 1;W_Data = 32'h2222_2222; Clk = 1;Reset = 0;#100;R_Addr_A = 5'b00001;R_Addr_B = 5'b00010;W_Addr = 0;Write_Reg = 0;W_Data = 0;Clk = 0;Reset = 0;#100;R_Addr_A = 5'b00001;R_Addr_B = 5'b00010;W_Addr = 0;Write_Reg = 0;W_Data = 0;Clk = 0;Reset = 1;endendmodule二、仿真波形三、电路图顶层电路模块顶层电路内部结构:四、引脚配置(约束文件)NET "Clk" LOC = C9;NET "Reset" LOC = D9;NET "Write_Reg" LOC = T5;NET "C2" LOC = C4;# PlanAhead Generated physical constraintsNET "LED[7]" LOC = T11;NET "LED[6]" LOC = R11;NET "LED[4]" LOC = M11;NET "LED[3]" LOC = V15;NET "LED[1]" LOC = V16;NET "LED[0]" LOC = U16;NET "LED[2]" LOC = U15;NET "LED[5]" LOC = N11;NET "Addr[0]" LOC = T10;NET "Addr[2]" LOC = V9;NET "Addr[3]" LOC = M8;NET "Addr[4]" LOC = N8;NET "C1[0]" LOC = U8;NET "C1[1]" LOC = V8;NET "Addr[1]" LOC = T9;五、思考与探索(1)实验四实验结果记录表寄存器地址写入数据读出数据$1 32'h0000_0003 32'h0000_0003$2 32'h0000_0607 32'h0000_0607$3 32'hFFFF_FFFF 32'hFFFF_FFFF $4 32'h1111_1234 32'h1111_1234$5 32'h0000_0003 32'h0000_0003$6 32'h0000_0607 32'h0000_0607$7 32'hFFFF_FFFF 32'hFFFF_FFFF $8 32'h1111_1234 32'h1111_1234。

计算机组成原理实验五参考资料

计算机组成原理实验五参考资料

计算机组成原理实验五参考资料(总9页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除实验五 CPU组成与机器指令执行实验第一步,对机器指令系统组成的简单程序进行译码。

地址指令机器代码00H LDAR0,[R2]58H01H LDA R1,[R3]5DH02H ADD R0,R104H03H JC +596H04H AND R2,R33EH05H SUB R3,R21BH06H STA R3,[R2]4BH07H MUL R0,R124H08H STP60H09H JMP [R1]84H第二步,接线本实验的接线比较多,需仔细。

1.将跳线开关J1用短路子短接。

时序发生器的输入TJI接控制存储器的输出TJ。

控制器的输入C接运算器ALU的C。

控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。

共6条线。

2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。

共27条线。

3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。

共6条线。

合上电源。

按CLR#按钮,使实验系统处于初始状态。

第三步,利用控制台微程序KLD设置通用寄存器R2、R3的值在本操作中,我们打算使R2 = 60H,R3 = 61H。

1.令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。

令SWC = 0、SWB = 1、SWA = 1,使实验系统处于寄存器加载工作方式KLD。

计算机组成原理存储器原理实验报告

计算机组成原理存储器原理实验报告

计算机硬件实验室实验报告课程名称:
姓名学

班级成

设备名称及软件环境Untitled ISIS 7 professional 实验名

存储器原理实验日期
一.实验内容
通过总线系统验证存储器的存储功能。

1、掌握静态随机存储器RAM工作特性及数据的读写方法;
2、掌握存储器读/写电路的设计方法。

二.理论分析或算法分析
6264的功能
工作方

C S1*C S2W E*O E*D7~D0
未选中未选中读操作写操作1
×
×
1
1
×
×
1
×
×
1
高阻
高阻
输出
输入
6264的工作过程写
写入数据的过程
☑将单元地址送到芯片的地址线A0-A12
☑写入的数据送数据线
☑#CS1和CS2有效,#WE有效
☑数据写到指定单元
\
6264的工作过程读:
读入数据的过程
☑将单元的地址送到芯片的地址线A0-A12
☑#CS1和CS2同时有效,#WE=1 #OE=0
☑选中单元内容从数据线读出
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
运行态抓图
五.结论
实现了6264存储器的读写功能
报告提交日期。

《计算机组成原理》存储器读写实验报告

《计算机组成原理》存储器读写实验报告

《计算机组成原理》实验报告实验名称:存储器读写实验班级:学号:姓名:一、实验目的1、掌握存储器的工作特征2、熟悉静态存储器的操作过程,验证存储器的读取方法二、实验设备1、YY—Z02计算机组成原理实验仪一台。

2、排线若干。

3、PC微机一台。

三、实验原理1.存储器是计算机的主要部件,用来保存程序和数据。

从工作方式上分类,其可分为易失性和非易失性存储器,易失性存储器中的数据在关电后将不复存在,非易失性存储器中的数据在关电后不会丢失。

易失性存储器又可分为动态存储器和静态存储器,动态存储器保存信息的时间只有2ms,工作时需要不断更新,既不断刷新数据;静态存储器只要不断电,信息是不会丢失的。

2.静态存储器芯片6116的逻辑功能:3.存储器实验单元电路:存储器实验单元电路控制信号逻辑功能表:存储器实验单元电路控制信号逻辑功能表:4.存储器实验电路:存储器实验电路:存储器读写实验需三部分电路共同完成:存储器单元、地址寄存器单元和输入、输出单元。

输入、输出单元。

存储器单元以存储器单元以6116芯片为中心构成,地址寄存器单元主要由一片74LS273组成,控制信号B-AR 的作用是把总线上的数据送人地址寄存器,向存储器单元电路提供地址信息,输入、输出单元作用与以前相同。

相同。

四、实验结果记录(1)连线准备1.连接输入、输出实验的全部连线。

连接输入、输出实验的全部连线。

2.按实验逻辑原理图连接M-W 、M-R 两根信号低电平有效信号线。

两根信号低电平有效信号线。

3.连接A7A7——A0 8根地址线。

根地址线。

4.连接B-AR 正脉冲有效信号线。

正脉冲有效信号线。

(2)记录结果(包含采集结果前的动作) 地址地址 写入数据写入数据 读出数据读出数据 结果说明结果说明 01H 00100000 00100000 数据的写入与读取数据的写入与读取 02H 00010011 00010011 数据的写入与读取数据的写入与读取 03H 00100110 00100110 数据的写入与读取数据的写入与读取 04H 10000001 10000001 数据的写入与读取数据的写入与读取 05H 00000101 00000101 数据的写入与读取数据的写入与读取 25H 不写存储器不写存储器 11110011 一个随机地址一个随机地址 36H 00100001 00100001 数据的写入与读取数据的写入与读取 0A0H 写总线悬空时的数据11111111 总线悬空时表示的数据是FFH ,即写入的数据是11111111,所以读出结果为11111111 五、实验总结与心得体会(1)通过这次实验我更加详细的了解了存储器的读写时怎么样的一个过程;)通过这次实验我更加详细的了解了存储器的读写时怎么样的一个过程;(2)这个实验讲究一个配合,如果单个人操作极易出现错误,特别是不了解实验过程和实验原理的情况下。

杭电计组实验-存储器设计实验

杭电计组实验-存储器设计实验

杭电计组实验-存储器设计实验————————————————————————————————作者:————————————————————————————————日期:实验报告2018 年 5 月 5 日成绩:姓名阳光男学号16041321 班级16052317专业计算机科学与技术课程名称《计算机组成原理与系统结构试验》任课老师张翔老师指导老师张翔老师机位号默认实验序号5实验名称《实验五存储器设计实验》实验时间2018/5/12实验地点1教211实验设备号个人电脑、Nexys3开发板一、实验程序源代码存储器顶层电路代码:module top_RAM_B(Mem_Addr,C,Mem_Write,Clk,LED);input [7:2]Mem_Addr;//开关的3、4、5、6、7、8位input Mem_Write,Clk;//clk为按键C9,读写使能信号为按键C4,0为读,1为写input [1:0]C;//选择写入数据+读操作时选择显示字节,为开关1、2位output reg [7:0]LED;wire [31:0]M_R_Data;//存在存储器里的32位读出数据reg [31:0]M_W_Data;//寄存在暂存器的32位写入数据RAM_B test_ram (.clka(Clk), //输入时钟信号.wea(Mem_Write), //输入读写信号.addra(Mem_Addr[7:2]), //输入5位地址信号.dina(M_W_Data), //写入32位数据.douta(M_R_Data) //读出32位数据);always@(*)beginLED=0;//初始化M_W_Data=0;//初始化if(!Mem_Write)//读操作begincase(C)2'b00:LED=M_R_Data[7:0];//读出数据的0-7位2'b01:LED=M_R_Data[15:8];//读出数据的8-15位2'b10:LED=M_R_Data[23:16];//读出数据的16-23位2'b11:LED=M_R_Data[31:24];//读出数据的24-31位endcaseendelsebegincase(C)2'b00:M_W_Data=32'h0055_7523;//写入第一个数据2'b01:M_W_Data=32'h1234_5678;//写入第二个数据2'b10:M_W_Data=32'h8765_4321;//写入第三个数据2'b11:M_W_Data=32'hffff_ffff;//写入第四个数据endcaseendendendmodule测试代码:module test;// Inputsreg clka;reg [0:0] wea;reg [5:0] addra;reg [31:0] dina;// Outputswire [31:0] douta;// Instantiate the Unit Under Test (UUT)RAM_B uut (.clka(clka),.wea(wea),.addra(addra),.dina(dina),.douta(douta));initial begin// Initialize Inputsclka = 0;wea = 0;addra = 0;dina = 0;// Wait 100 ns for global reset to finish #100;// Add stimulus hereclka = 1;wea = 0;addra = 6'b000001;dina = 32'h0000_0003;#100;clka = 0;wea = 0;addra = 6'b000001;dina = 32'h0000_0607;#100;clka = 1;wea = 1;addra = 6'b000001;dina = 32'hFFFF_FFFF;#100;clka = 0;wea = 1;addra = 6'b000001;dina = 32'hFFFF_FFFF;endendmodule二、仿真波形三、电路图顶层电路模块顶层电路内部结构:四、引脚配置(约束文件)NET "Clk" LOC = C9;NET "LED[4]" LOC = M11;NET "LED[3]" LOC = V15;NET "LED[2]" LOC = U15;NET "LED[1]" LOC = V16;NET "LED[0]" LOC = U16;NET "Mem_Addr[7]" LOC = U8;NET "Mem_Addr[6]" LOC = N8;NET "Mem_Addr[5]" LOC = M8;NET "Mem_Addr[4]" LOC = V9;NET "Mem_Addr[2]" LOC = T10;NET "Mem_Write" LOC = C4;NET "Mem_Addr[3]" LOC = T9;NET "C[1]" LOC = T5;NET "C[0]" LOC = V8;NET "LED[7]" LOC = T11;NET "LED[5]" LOC = N11;NET "LED[6]" LOC = R11;五、思考与探索(1)读操作实验结果记录表存储器地址初始化数据读出数据写入新数据读出数据5’b000000 32’b0000000032’b0000000032'h0055_752332'h0055_7523 5’b000001 32’b0000000132’b0000000132'h0055_752332'h0055_7523 5’b000002 32’b0000000232’b0000000232'h0055_752332'h0055_7523 5’b000003 32’b0000000332’b0000000332'h0055_752332'h0055_7523 5’b000004 32’b0000000432’b0000000432'h0055_752332'h0055_7523 5’b000005 32’b0000000532’b0000000532'h0055_752332'h0055_7523 5’b000006 32’b0000000632’b0000000632'h0055_752332'h0055_7523 5’b000007 32’b0000000732’b0000000732'h0055_752332'h0055_7523 (2)答:这些单元的数据已经被改写了。

杭电计算机组成原理寄存器堆设计实验

杭电计算机组成原理寄存器堆设计实验

杭电计算机组成原理寄存器堆设计实验计算机组成原理是计算机科学与技术的基础课程之一,它涉及到计算机的基本组成部分和原理。

在这门课程中,学生通常需要进行一系列的实验来加深对计算机组成原理的理解和应用。

其中之一是关于寄存器堆的设计实验。

寄存器堆是计算机中重要的组成部分之一,它用于存储、读取和写入数据。

在计算机中,数据通常被存储在寄存器中,然后进行各种操作。

因此,设计一个高效可靠的寄存器堆对于计算机的性能至关重要。

根据实验要求,我们需要设计一个8位的寄存器堆,并实现读取、写入和清零等操作。

以下是针对该实验的设计思路和实施步骤。

首先,我们需要确定寄存器堆的结构。

由于该寄存器堆为8位宽度,我们选择使用一个8x8的存储单元阵列。

每个存储单元都可以存储一个8位的数据。

整个寄存器堆由8个存储单元组成,每个存储单元对应一个地址,即0~7接下来,我们需要设计寄存器堆的读写电路。

对于读操作,我们需要通过地址线来选择要读取的存储单元,并将其输出到数据线。

对于写操作,我们同样需要通过地址线来选择要写入的存储单元,并将数据线上的数据写入该存储单元。

为了实现这些操作,我们需要使用多路选择器和数据解码器。

在设计中,我们还需要考虑到时钟信号的输入,以确保读写操作在时钟的上升沿或下降沿进行。

此外,我们还需要添加清零功能,以便将寄存器堆的值重置为零。

为实现清零功能,我们可以将一个额外的输入线与所有存储单元的清零输入连接。

在实施阶段,我们需要使用Verilog或其他硬件描述语言来实现设计。

在代码中,我们首先声明一个8位宽的存储单元阵列作为寄存器堆的基本组成部分。

然后,我们定义读写电路,包括地址线、数据线、多路选择器和数据解码器。

最后,我们添加时钟信号和清零功能。

在完成设计后,我们可以通过仿真工具进行验证。

通过输入不同的数据和地址,观察输出结果是否符合预期。

如果存在问题,我们可以进行调试并进行必要的修改。

一旦仿真结果正确无误,我们就可以开始进行硬件实验了。

计算机组成原理实验报告_存储系统设计实验

计算机组成原理实验报告_存储系统设计实验

实验四存储系统设计实验一、实验目的本实训项目帮助大家理解计算机中重要部件—存储器,要求同学们掌握存储扩展的基本方法,能设计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。

杭电计算机组成原理实验报告.doc

杭电计算机组成原理实验报告.doc

杭电计算机组成原理实验报告篇一:杭电计组实验报告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日。

计算机组成原理5 存储器实验

计算机组成原理5 存储器实验

实验5 存储器实验一、实验目的1.掌握静态存储随机存储器RAM的工作特性2.掌握静态存储随机存储器RAM的读写方法二、实验设备74LS273组件一片,静态存储器MEMORY 6116组件一片(是一个2k×8的静态存储器。

在本实验中只使用8位地址),单脉冲一个,开关若干,灯泡若干三、实验原理本实验所用的静态存储器由一片6116(2K × 8)构成,其数据线接至数据开关,地址线由地址锁存器(74LS373)给出。

因地址寄存器为8位,接入6116的地址A7-A0,而高三位A8-A10接地,所以其实际容量为256字节。

6116有三个控制线:CE(片选线)、OE(读线)、WE(写线)。

当片选CE=0,读信号OE=0时,进行读操作,当片选CE=0,写信号WE=1时,进行写操作。

由于本实验中将OE常接地,这样,当CE=0、WE=0时进行写操作,CE=0、WE=1时进行读操作,写时间与T3脉冲宽度一致。

四、实验步骤1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

2. 搭建实验流程:将已选择的组件进行连线, 74LS273的0―7号输入引脚(数据端)、9号引脚(复位端)分别接到开关上,8号引脚接单脉冲信号,11-18号输出引脚接到静态MEMORY的0-7号地址输入引脚。

静态MEMORY的高3位地址输入引脚8―10统一置0,由开关控制,使存储器实际容量为256个字节。

11-13号使能端(CE 、WE、 OE)分别由开关控制,14-21号数据端同时接入开关和灯泡,进行读写操作,开关控制欲写入存储器的数据,灯泡用于从存储器读出数据的显示。

实验流程图如图6所示。

3. 设置相应芯片的控制位.( 273的9号引脚为1,6116的CE=1,WE=1,OE=0.)4. 写入数据:点击运行按钮,74LS273的连接的地址数据开关作为地址输入端可以自己设置,设置完毕后,双击单脉冲信号,将地址数据输入到74LS273里面去。

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告一、实验目的本实验旨在通过实践了解存储器的基本原理和实现方式,掌握存储器的读写操作。

二、实验原理存储器是计算机中用于存储数据和程序的设备,其按照不同的存取方式可分为随机存储器(RAM)和只读存储器(ROM)。

其中RAM是一种易失性存储器,其存储的数据会随着电源关闭而丢失;而ROM则是一种非易失性存储器,其存储的数据在电源关闭后仍能保持不变。

本实验使用的是一个8位RAM,其具有256个存储单元,每个存储单元可以存储8位数据。

RAM可以进行读写操作,读操作是将存储单元中的数据读取到CPU中,写操作是将CPU中的数据写入到存储单元中。

存储单元的地址是由地址线来控制的,本实验中使用的是8位地址线,因此可以寻址256个存储单元。

三、实验仪器本实验使用的主要仪器有:存储器板、八位开关、八位数码管、八位LED灯、地址选择开关和地址计数器等。

四、实验过程1. 准备工作:将存储器板与开发板进行连接,并将八位开关、八位数码管、八位LED灯、地址选择开关和地址计数器等连接到存储器板上。

2. 设置地址:使用地址选择开关来设置需要读写的存储单元的地址。

3. 写操作:将需要存储的数据通过八位开关输入到CPU中,然后将CPU中的数据通过写信号写入到存储单元中。

4. 读操作:将需要读取的存储单元的地址通过地址选择开关设置好,然后通过读信号将存储单元中的数据读取到CPU中。

5. 显示操作:使用八位数码管或八位LED灯来显示读取到的数据或写入的数据。

6. 重复上述操作,进行多次读写操作,观察存储器的读写效果和数据变化情况。

五、实验结果通过本次实验,我们成功地进行了存储器的读写操作,并观察到了存储器中数据的变化情况。

在实验过程中,我们发现存储器的读写速度非常快,可以满足计算机的高速运算需求。

同时,存储器的容量也非常大,可以存储大量的数据和程序,为计算机提供了强大的计算和存储能力。

六、实验总结本次实验通过实践掌握了存储器的基本原理和实现方式,了解了存储器的读写操作。

杭电 计组实验5-6-7(章老师不插板实验报告)

杭电 计组实验5-6-7(章老师不插板实验报告)
#100;
clka=0;
wea=1;
addra=6'b000001;
dina=32'b11111111110001111111111101101111;
#100;
clka=1;
wea=1;
addra=6'b000001;
dina=32'b11111111110001111111111101101111
sllv $18,$8,$17;#$18=7000_0000
sllv $19,$3,$17;#$19=0002_0000
sllv $20,$19,$7;#$20=8000_0000
sub $21,$1,$20; #$21=7FFF_FFFF
or $22,$18,$21;#$22=7FFF_FFFF
add $23,$20,$22; #$23=FFFF_FFFF
sub $29,$22,$2; #$29=7FFF_FFFE
add $30,$20,$2; #$30=8000_0001
.R_Data_A(R_Data_A),
.R_Data_B(R_Data_B)
);
endmodule
module RAM(
input clka,
input [0:0] wea,
input [7:2] addra,
input [31:0] dina,
output [31:0] douta
);
RAM_B your_instance_name (
Write_Reg=0;
#100;
R_Addr_A=5'b11011;
Write_Reg=0;
Clk=0;
W_Addr=0;

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告一、实验目的本次实验的目的是通过实际操作,了解存储器的组成和工作原理,掌握存储器的读写操作。

二、实验原理存储器是计算机中的重要组成部分,用于存储程序和数据。

存储器按照存储介质的不同可以分为内存和外存,按照存储方式的不同可以分为随机存储器(RAM)和只读存储器(ROM)等。

本次实验使用的是随机存储器,随机存储器是一种易失性存储器,数据在断电后会丢失。

随机存储器按照存储单元的位数可以分为8位、16位、32位等,按照存储单元的数量可以分为256×8、512×16、1024×32等。

存储器的读写操作是通过地址总线、数据总线和控制总线来完成的。

地址总线用于传输存储单元的地址,数据总线用于传输数据,控制总线用于传输控制信号。

三、实验器材1. 存储器芯片:AT24C022. 单片机:STC89C523. 电源、示波器、万用表等四、实验步骤1. 连接电路将AT24C02存储器芯片和STC89C52单片机按照电路图连接好,接上电源。

2. 编写程序编写程序,实现对AT24C02存储器的读写操作。

程序中需要设置存储器的地址和数据,以及读写操作的控制信号。

3. 烧录程序将编写好的程序烧录到STC89C52单片机中。

4. 运行程序运行程序,观察存储器的读写操作是否正确。

五、实验结果经过实验,我们成功地实现了对AT24C02存储器的读写操作。

在程序中设置了存储器的地址和数据,通过控制信号实现了读写操作。

在读操作中,我们可以看到存储器中的数据被正确地读出;在写操作中,我们可以看到存储器中的数据被正确地写入。

六、实验总结通过本次实验,我们深入了解了存储器的组成和工作原理,掌握了存储器的读写操作。

同时,我们也学会了如何使用单片机来控制存储器的读写操作。

这对于我们深入学习计算机组成原理和嵌入式系统开发都具有重要的意义。

计算机组成原理实验报告

计算机组成原理实验报告

计算机组成原理实验报告计算机组成原理实验报告引言:计算机组成原理是计算机科学与技术专业的重要课程之一,通过实验可以更好地理解和掌握计算机的组成原理。

本篇实验报告将介绍我们在计算机组成原理实验中所进行的实验内容和实验结果。

实验一:逻辑门电路设计在这个实验中,我们学习了逻辑门电路的设计和实现。

通过使用门电路,我们可以实现与门、或门、非门等基本逻辑运算。

我们首先学习了逻辑门电路的真值表和逻辑代数的基本运算规则,然后根据实验要求,使用逻辑门电路设计了一个简单的加法器电路,并通过仿真软件进行了验证。

实验结果表明,我们设计的加法器电路能够正确地进行二进制数的加法运算。

实验二:数字逻辑电路实现在这个实验中,我们进一步学习了数字逻辑电路的实现。

通过使用多路选择器、触发器等数字逻辑元件,我们可以实现更复杂的逻辑功能。

我们首先学习了多路选择器的原理和使用方法,然后根据实验要求,设计了一个4位二进制加法器电路,并通过数字逻辑实验板进行了搭建和测试。

实验结果表明,我们设计的4位二进制加法器能够正确地进行二进制数的加法运算。

实验三:存储器设计与实现在这个实验中,我们学习了存储器的设计和实现。

存储器是计算机中用于存储和读取数据的重要组成部分。

我们首先学习了存储器的基本原理和组成结构,然后根据实验要求,设计了一个简单的8位存储器电路,并通过实验板进行了搭建和测试。

实验结果表明,我们设计的8位存储器能够正确地存储和读取数据。

实验四:计算机硬件系统设计与实现在这个实验中,我们学习了计算机硬件系统的设计和实现。

计算机硬件系统是计算机的核心部分,包括中央处理器、存储器、输入输出设备等。

我们首先学习了计算机硬件系统的基本原理和组成结构,然后根据实验要求,设计了一个简单的计算机硬件系统,并通过实验板进行了搭建和测试。

实验结果表明,我们设计的计算机硬件系统能够正确地进行指令的执行和数据的处理。

结论:通过这些实验,我们深入学习了计算机组成原理的相关知识,并通过实践掌握了计算机组成原理的基本原理和实现方法。

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告

计算机组成原理存储器实验报告
实验名称:计算机组成原理存储器实验
实验目的:通过实验验证存储器的基本原理,掌握存储器的基本操作方法。

实验原理:
计算机系统中的存储器是计算机系统中最基本的组成部分之一,也是最重要的组成部分之一。

存储器主要是用来储存计算机程序和数据的,计算机在执行程序时需要从存储器中读取指令和数据,将结果写回存储器中。

根据存储器的类型,存储器可以分为RAM和ROM两种类型。

RAM(Random Access Memory)是一种随机读写存储器,它能够随机存取任意地址的数据。

RAM又分为静态RAM(SRAM)和动态RAM (DRAM)两种类型。

其中,静态RAM(SRAM)是使用闪存电路实现的,其速度快、性能优异,但成本相对较高;而动态RAM(DRAM)是使用电容储存信息的,价格相对较低,但性能相对较差。

ROM(Read Only Memory)是只读存储器,它不能被随意修改,只能被读取。

ROM主要用来存储程序中需要固化的数据和指令,如BIOS和系统引导程序等。

实验步骤:
1. 打开计算机,将存储器连接到计算机主板上的插槽上。

2. 打开计算机并进入BIOS设置。

3. 在BIOS设置中进行存储器检测。

4. 在操作系统中查看存储器容量。

实验结果:
本次实验中,存储器检测结果显示正常,存储器容量为8GB,符合预期。

实验总结:
本次实验通过了解存储器的基本原理和操作方法,掌握了存储器
的检测和使用方法。

同时也深入了解了计算机系统中存储器的重要性和种类。

对于今后的计算机学习和使用将具有重要的帮助作用。

计算机组成原理实验报告

计算机组成原理实验报告

1. 寄存器五、实验总结按照实验要求进行连接和操作,对通用寄存器组进行了数据的写入和读出,两组数据完全对照,得到了预期效果,说明了存入数据的正确性,在整个过程中也对寄存器组的构成和硬件电路有了更深层次的理解。

2. 运算器五、实验总结基本熟悉了整个实验系统的基本结构,了解了该实验装置按功能分成几大区,学会何时操作各种开关、按键。

最重要的是通过实验掌握了运算器工作原理,熟悉了算术/逻辑运算的运算过程以及控制这种运算的方法,了解了进位对算术与逻辑运算结果的影响,对时序是如何起作用的没太弄清楚,相信随着后续实验的进行一定会搞清楚的3。

存储器五、实验总结按照实验要求连接器材设备元件,按照给定步骤进行实验操作.通过向静态RAM中写入数据并读出数据,在INPUT单元输入数并存入地址寄存器,再向相应的地址单元存入数,验证读出数据时,只需再INPUT单元输入想要读出单元的地址,再通过片选端CE读出存储单元内的数据,其中We=0是控制写端,WE=1控制读,CE低电平有效。

实验过程遇到一些问题,对实验内容不是很熟,有待提高。

4. CPU与简单模型机设计实验一、实验目的(1) 掌握一个简单CPU的组成原理.(2)在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

(3)为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念.二、实验设备PC机一台,TD—CMA实验系统一套。

三、实验原理本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。

CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1—1 所示。

这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

计算机组成原理实验五存储器读写实验

计算机组成原理实验五存储器读写实验

计算机组成原理实验五存储器读写实验实验五存储器读写实验⼀、实验⽬的1.掌握存储器的⼯作特性。

2.熟悉静态存储器的操作过程,验证存储器的读写⽅法。

⼆、实验原理1.静态存储器芯⽚的6116的逻辑功能2.存储器实验单元电路3.存储器实验电路三、实验过程1.连线1)连接实验⼀(输⼊、输出实验)的全部连线。

2)按逻辑原理图连接M-W、 M-R 两根信号低电平有效信号线。

3)连接A7-A0 8根地址线。

4)连接B-AR正脉冲有效信号2.顺序写⼊存储器单元实验操作过程1)把有B-AR控制开关全部拨到0,把有其他开关全部拨到1,使全部信号都处于⽆效状态。

2)在输⼊数据开关拨⼀个实验数据,如“00000001”,即16进制的01H。

把IO-R控制开关拨下,把地址数据送到总线。

3)拨动⼀下B-AR开关,即实现“1-0-1”,产⽣⼀个正脉冲,把地址数据送地址寄存器保存。

4)在输⼊数据开关拨⼀个实验数据,如“10000000”,即16进制的80H。

把IO-R控制开关拨下,把实验数据送到总线。

5)拨动M—W控制开关,即实现“1—0—1”,产⽣⼀个负脉冲,把实验数据存⼊存储器的01H号单元。

6)按表2-11所⽰的地址数据和实验数据,重复上⾯(1)、(2)、(3)、(4)4个步骤,顺序在存储器单元中存放不同的实验数据。

表2-11 推荐的典型实验数3.顺序读出存储器单元实验操作过程(1)在输⼊数据开关上拨⼀个地址(如00000001,即16进制数01H),拨下IO —R开关把地址数据送⼈总线。

(2)拨动⼀下B—AR开关,即实现“0—1—0”,产⽣⼀个正脉冲,把地址数据送地址寄存器(AR)保存。

(3)把IO—R开关拨上,切断输⼊开关与总线的联系。

(4)拨下M—R控制开关,把实验数据从存储器的01H号单元赌场送总线,验证实验数据是否与表2-11中的内容相符合。

(5)拨动IO—R开关,即实现“1—0—1”,产⽣⼀个负脉冲,把从存储器读出的实验数据从总线送输出显⽰电路L7—L0。

计算机组成原理实验(存储器)

计算机组成原理实验(存储器)

实验一 存储器实验
• 实验接线 ⑴ MBUS连BUS2; ⑵ EXJ1连BUS3; ⑶ 跳线器J22的T3连TS3; ⑷ 跳线器J16的SP连H23; ⑸ 跳线器SWB、CE、WE、LDAR拨在左边 (手动位置)。
实验一 存储器实验
• 实验步骤 给存储器的00地址单元中写入数据11 一.写存储器 1.写地址: 关掉存储器的片选(CE=1),打开地址锁存器门控信号 (LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写 入的存储单元地址,T3产生一正向脉冲将地址打入到地址锁存器中。 此时总线地址显示灯应显示开关输入的数。 2. 写数据: 关掉地址锁存器门控信号(LDAR=0),打开存储器的片选 (CE=0),使之处于写状态(WE=1),由开关给出此单元要写入的 数据,T3给一正向脉冲将数据写入到当前的地址单元中。此时总线数 据显示灯应显示开关输入的数。
15H 0 1 0 1 0 0 1 1 53H
实验一 存储器实验
• 对随机存储器的操作有写操作和读操作。 • CPU对存储器进行读/写操作,首先由地址 总线给出地址信号,然后要发出读操作或写 操作的控制信号,最后在数据总线上进行信 息交流。因此,存储器同CPU连接时,要 完成地址线的连接、数据线的连接和控制线 的连接。
实验一 存储器实验
• 存储器实验报告册要求: 1.画出实验原理简图(其中八位线即用 一根连接线表示即可)。 2.要求写清实验步骤(最好用图示意)。 3.要求写清实验结果。

• •
问题
• 从计算机体系结构的角度来看,计算机是 由哪几部分组成的? • 运算器是由哪些部件组成的? • CPU是由哪几部分组成的?
解答
• 从计算机体系结构的角度来看,计算机是 由运算器、存储器、控制器、输入设备和 输出设备组成。 • 运算器是由算术逻辑部件(ALU)和若干通 用寄存器组成。 • 运算器和控制器合在一起称为CPU。

杭电计算机组成原理存储器设计实验5

杭电计算机组成原理存储器设计实验5
NET "Mem_Addr[3]" LOC = M8;
NET "Mem_Addr[4]" LOC = N8;
NET "Mem_Addr[5]" LOC = U8;
NET "Mem_Addr[6]" LOC = V8;
NET "Mem_Addr[7]" LOC = T5;
NET "Mem_Write" LOC = B8;
数据记录和计算
实验仿真结果
结论(结果)
本实验的结果正确,根据自己写的coe文件中存储的数据进行操作,和实验四有很多的相似处,只是进行简单的读写的操作,实验的结果正确.能够根据操作,lED灯显示具体的数据.
试验心得与小结
本实验和实验四比较来说的话,更为简单,利用IP核中储存数据,我们就可以通过其中存储的数据进行操作,代码也是比较的简单,我们直接调用IP核生成的模块的代码,以至于操作也比较的方便.刚开始不熟悉使用IP核,了解了之后就比较简单了,比第四个实验自己写寄存器更简单.
2'b11:LED=M_R_Data[31:24];
endcase
end
else
begin
case(C)
2'b00:M_W_Data=32'h0002_0003;
2'b01:M_W_Data=32'h0002_0603;
2'b10:M_W_Data=32'h1234_5678;
2'b11:M_W_Data=32'hffff_ffff;
.dina(M_W_Data),
.douta(M_R_Data)
);

杭电计组实验5存储器设计实验

杭电计组实验5存储器设计实验

杭州电子科技大学计算机学院
实验报告
实验项目:
课程名称:计算机组成原理与系统结构设计
姓名:学号:同组姓名:学号:实验位置(机号):
实验日期:指导教师:
addr = 6'b000001;
dina = 32'b 111111111111101101111;
#100;
clk = 1;
wea = 0;
addr = 6'b000001;
dina = 32'b 111111111111101101111;
#100;
clk = 0;
wea = 1;
addr = 6'b000001;
dina = 32'b 111111111111101101111;
#100;
clk = 1;
wea = 1;
addr = 6'b000001;
dina = 32'b 111111111111101101111;
end
endmodule
RTL图
二、结果
思考题:
(3)设计实现一个ROM,常规存储器是单端口存储器,每次只接收一个地址,访问一个存储单元,从中读取或写入一个字节或字。

主存储器是信息交换的中心,一方面CPU频繁地与主存交换信息,另一方面外设也较频繁地与主存交换信息,而单端口存储器每次只能接受一个访存者,或是读或是写,这就影响到存储器的整体工作速度。

双端口存储器具有两个彼此独立的读写口,每个读写口都有一套自己的地址寄存器和译码电路,可以并行地独立工作。

两个读写口可以按各自接收的地址同时读出或写入,或一。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

杭州电子科技大学计算机学院
课程名称 实验项目 指导教师
实验位置
计算机组成原理
存储器设计实验
实验报告 ______ 姓 ______ 班 名 级 号 期 2015年5月15日
本实验的结果正确,根据自己写的coe 文件中存储的数据进行操作,和实验四 有很多的相似
处,只是进行简单的读写的操作 ,实验的结果正确•能够根据操 作,lED 灯显示具体的数据•
配置管脚:
NET "C[0]" LOC = T10;
NET "C[1]" LOC = T9; NET "Clk" LOC = C9; (

上)
实验
内容

算 法、

序、
步骤 NET "LED[0]" LOC = :U16; NET "LED[1]" LOC = :V16; NET "LED[2]" LOC = :U15; NET "LED[3]" LOC = :V15; NET "LED[4]" LOC = :M11; NET "LED[5]" LOC = :N11; NET "LED[6]" LOC = :R11; NET "LED[7]" LOC = :T11; NET "Mem_Addr[2]" LOC = :V9; NET "Mem_Addr[3]" LOC = :M8; NET "Mem_Addr[4]" LOC = :N8;
NET "Mem_Addr[5]" LOC = :U8;
NET "Mem_Addr[6]" LOC = :V8;
NET "Mem_Addr[7]" LOC = :T5;
NET "Mem_Write" L( OC = B8;
实验仿真结果
数据
记录
和计 Objqcti
f<r E"i.
佻jnl Namr '母 Win.V^rli
1SCK
结论 (
结 |d •评 L”(nu 耳如 II 11。

相关文档
最新文档