实验六 存储器实验
一、实验学时
课堂2学时,课后2学时
二、实验目的
1、熟悉和了解存储器组织与总线组成的数据通路。
2、掌握存储部件在计算机组成中的运用。
三、实验要求
1、做好实验预习,熟悉Logisim常用组件的功能。
2、按照实验内容与步骤的要求,独立思考,认真仔细地完成实验。
3、执行实验步骤,截取必要截图,写出实验报告。
四、实验内容
1、常见触发器
触发器具有两个稳定的状态,在外加信号的触发下,可以从一个稳态翻转为另一稳态。这一新的状态在触发信号去掉后,仍然保持着,一直保留到下一次触发信号来到为止,这就是触发器的记忆作用,它可以记忆或存储两个信息:“0"或"1”。
如图1所示,常见的触发器有D触发器、T触发器、JK触发器及RS触发器等。
2、寄存器
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。寄存器是中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。
3、计数器
计数器可实现正向和方向计数和控制功能。计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。
4、ROM
只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入,即使断电也能够保留数据,要想在只读存储器中存入或改变数据,必须具备特定的条件。
5、RAM
随机存取存储器(RAM)又可称为读写存储器,它不仅可以存储大量的信息,而且在操作过程中能任意"读取"某个单元信息,或在某个单元中"写入"需要存储的信息,当电源关闭时随机存储器不能保留所存储的数据。。
图6-5为Logisim中三种基本RAM存储器。
图6-6为Logisim中三种基本RAM存储器选择界面。
根据图6-7,分析操作所提供logisim文件中实验6-5电路。
五、实验步骤
1、各类触发器
将D触发器、T触发器、JK触发器及RS触发器连接在一起,异步位置、异步清零、使能端及Q’的数值变化如下表。
输入1 | 输入2 | 输入3 | 触发器1 | 触发器2 | 触发器3 | 触发器4 | 输出 |
---|---|---|---|---|---|---|---|
异步位置 | 异步清零 | 使能端 | D触发器 | T触发器 | JK触发器 | RS触发器 | Q’ |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
D触发器是最简单的触发器之一,具有单个数据输入端(通常标记为D)和时钟输入端。
T触发器是一种基于D触发器的触发器,具有一个称为T的切换输入端和时钟输入端。
JK触发器是一种基于D触发器的触发器,具有两个称为J和K的控制输入端以及一个时钟输入端。
RS触发器是一种基于门电路的触发器,具有两个称为R和S的控制输入端以及一个时钟输入端。
异步置位是一种控制信号,用于将触发器的输出强制设置为逻辑高(通常为1),而不管时钟信号的状态如何。
使能端是一种控制信号,用于决定触发器是否对输入信号进行响应。
异步清零是一种控制信号,用于将触发器的输出强制设置为逻辑低(通常为0),而不管时钟信号的状态如何。
输出状态Q’表示触发器输出状态(Q)的补反(反相),即Q’ = 1 when Q = 0,Q’ = 0 when Q = 1。
首先将将D触发器、T触发器、JK触发器及RS触发器连接在一起,如图5-1-1所示。
测试输入为100,如图5-1-2所示。
异步置位(异步置位=1,异步清零=0,使能端=0)。
D触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
T触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
JK触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
RS触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
Q’触发器:被设置为0。
测试输入为000,如图5-1-3所示。
异步置位(异步置位=0,异步清零=0,使能端=0)。
D触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
T触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
JK触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
RS触发器:在时钟上升沿到达时,输出状态(Q)被设置为1。
Q’触发器:被设置为0。
测试输入010,如图5-1-4所示。
异步清零(异步置位=0,异步清零=1,使能端=0):
D触发器:在时钟上升沿到达时,输出状态(Q)被清零(设置为0)。
T触发器:在时钟上升沿到达时,输出状态(Q)被清零(设置为0)。
JK触发器:在时钟上升沿到达时,输出状态(Q)被清零(设置为0)。
RS触发器:在时钟上升沿到达时,输出状态(Q)被清零(设置为0)。
Q’触发器:被设置为1。
2、寄存器
了解基本寄存器的组成原理,理论输入、输出数值变化表如下。
输入 | 使能端 | 异步清零 | 输出 |
---|---|---|---|
0011 | 1 | 0 | 0011 |
0010 | 1 | 0 | 0010 |
0101 | 1 | 0 | 0101 |
1110 | 1 | 0 | 1110 |
基本寄存器通常由触发器(如D触发器)组合而成。根据提供的表格,我们可以看到输入、使能端和异步清零信号的变化对输出的影响。
连接寄存器,如图5-2-1所示。
测试输入0011,如图5-2-2所示。
输入为0011,表示将二进制值0011存储到寄存器中。使能端为1,说明寄存器会根据时钟信号的上升沿或下降沿来更新输出。异步清零为0,表示不执行异步清零操作。因此,输出为0011,表示寄存器中存储的值与输入相同。
测试输入0010,如图5-2-3所示。
输入为0010,表示将二进制值0010存储到寄存器中。使能端为1,说明寄存器会根据时钟信号的上升沿或下降沿来更新输出。异步清零为0,表示不执行异步清零操作。因此,输出为0010,表示寄存器中存储的值与输入相同。
测试输入0101,如图5-2-4所示。
输入为0101,表示将二进制值0101存储到寄存器中。使能端为1,说明寄存器会根据时钟信号的上升沿或下降沿来更新输出。异步清零为0,表示不执行异步清零操作。因此,输出为0101,表示寄存器中存储的值与输入相同。
测试输入1110,如图5-2-5所示。
输入为1110,表示将二进制值1110存储到寄存器中。使能端为1,说明寄存器会根据时钟信号的上升沿或下降沿来更新输出。异步清零为0,表示不执行异步清零操作。因此,输出为1110,表示寄存器中存储的值与输入相同。
3、计数器
在基本计数器下输入、输出数值变化表如下。
表6-3基本计数器的输入、输出数值变化表
初值 | Count | 时钟次数 | 计数器输出 |
---|---|---|---|
00000000 | 1 | 1 | 00000001 |
00000000 | 1 | 3 | 00000011 |
00000000 | 1 | 6 | 00000110 |
计数器是一种电子电路,可以实现计数和控制功能。它由基本的计数单元和一些控制门组成。计数单元则由一系列具有存储信息功能的触发器构成,包括RS触发器、T触发器、D触发器和JK触发器等。
连接计数器如图5-3-1所示。
测试初值为00000000,Count为1,时钟次数为1。如图5-3-2所示。
计数器的初始值为00000000。Count为1表示使用上升沿或下降沿的时钟触发计数器。时钟次数为1,表示计数器经过1个时钟周期。因此,计数器的输出变为00000001,表示计数器的值增加了1。
测试初值为00000000,Count为1,时钟次数为3。如图5-3-3所示。
计数器的初始值为00000000。Count为1表示使用上升沿或下降沿的时钟触发计数器。时钟次数为3,表示计数器经过3个时钟周期。因此,计数器的输出变为00000011,表示计数器的值增加了3。
测试初值为00000000,Count为1,时钟次数为6。如图5-3-4所示。
计数器的初始值为00000000。Count为1表示使用上升沿或下降沿的时钟触发计数器。时钟次数为6,表示计数器经过6个时钟周期。因此,计数器的输出变为00000110,表示计数器的值增加了6。
4、ROM
了解只读存储器(ROM)的组成原理,并在Logisim画出ROM的电路原理图。编辑ROM存储内容,操作地址实现数据读出。
片选信号用于选择特定的集成电路芯片或设备。在一个系统中可能存在多个芯片或设备,片选信号被用于确定当前通信的目标芯片或设备。当片选信号被激活时,对应的芯片或设备将响应读取或写入操作。片选信号可以是一个单独的信号线,也可以是通过多路选择器或逻辑门产生的信号。
首先对ROM进行连接,如图5-4-1所示。
使片选信号为1,代表要读取数据,读取00000011地址的数据,输出,如图5-4-2所示。
可以看到8位数据输出为01111000即78。16位数据输出为00010010 00110100即1234。32位数据输出为00110011 01000100 10010100 00000011即33449403。
5、 RAM
了解随机存取存储器(RAM)的组成原理,并在Logisim画出RAM的电路原理图。编辑输入输出数值及RAM存储内容,操作地址实现数据写入与读出。
连接RAM如图5-5-1所示。
输入输出分离同步模式RAM存储器是一种常见的存储器类型,它包括时钟、地址、写数据以及RAM Write和RAM Read引脚。
时钟:时钟信号用于同步存储器的读取和写入操作。时钟信号以固定的频率振荡,控制存储器的数据读取和写入的时机。
地址:地址信号用于指示要读取或写入的存储单元的位置。存储器中的每个存储单元都有一个唯一的地址。通过发送不同的地址信号,可以选择要访问的特定存储单元。
片选信号:在这个存储器中,地址输入左边有一个引脚,如果为1则选择上面的存储器,如果为0则选择下面的存储器。
写数据:写数据信号是要写入存储器的数据。当进行写操作时,将数据通过写数据信号发送给存储器,存储器将根据地址信号指示的位置将数据写入相应的存储单元。
RAM Write引脚:RAM Write引脚是存储器的写使能引脚。当RAM Write引脚为高电平时,表示存储器处于写入模式,可以接收写数据并将其写入指定的存储单元。当RAM Write引脚为低电平时,存储器处于非写入模式,写数据不会被写入存储器。
RAM Read引脚:RAM Read引脚是存储器的读使能引脚。当RAM Read引脚为高电平时,表示存储器处于读取模式,可以从指定的存储单元读取数据并通过输出引脚提供给外部。当RAM Read引脚为低电平时,存储器处于非读取模式,读取操作将不会被执行。
接着通过RAM对数据0010,写入第0个内存1010中并读出。
6、(选做)
掌握多片ROM、RAM组装内存的构建方法,实现课本例6-1的电路仿真。
构建字位扩展存储器,如图5-6-1所示。
多片ROM和RAM可以组装成一个较大的内存系统。每个ROM和RAM芯片负责存储和读取特定的数据。地址解码和片选逻辑确保每个芯片只在需要时被激活,有效地选择特定的存储区域。连接数据线和控制线使主机系统能够与每个ROM和RAM芯片进行数据交互。通过适当的地址和数据传递,系统可以访问和操作整个内存系统的数据。
在本实验中,左边两个芯片在输出端提供高4位,右边两芯片在输出端提供第四位。
当输入端选择信号位为0时,选择下面两个芯片,为1时则选择上面两个芯片。
六、实验小结
6.1 问题和解决办法
1.问题1:使用解码器进行片选信号和分离器对输入引脚进行设计时出现不兼容位宽问题。
解决方法:确保接入的逻辑元件的输入和输入引脚的数据位宽一致。
2.问题2:位扩展中不能实现输入输出。
解决方法:没有将使能端和片选端设置为1。
3.问题3:不了解RAM输入输出方法。
解决方法:通过上网查询,得知了RAM的输入输出方式。
6.2 心得体会
通过本次存储器实验,我学到了存储器组织与总线组成的数据通路,以及存储部件在计算机组成中的运用。
在实验中,我了解了D触发器、T触发器、JK触发器和RS触发器等常见的触发器类型。我理解了触发器具有两个稳定的状态,可以在外加信号的触发下从一个稳态翻转为另一个稳态,并且能够记忆或存储两个信息:“0"或"1”。我也学习了寄存器的基本功能是存储二进制代码,并且了解了寄存器是由具有存储功能的触发器组合而成的。我明白了一个触发器可以存储1位二进制代码,因此,要存放n位二进制代码的寄存器,需要用n个触发器来构成。
通过实验,我熟悉了计数器的基本原理和组成结构。我了解到计数器可以实现正向和方向计数和控制功能,它由基本的计数单元和一些控制门组成,计数单元又由各类具有存储信息功能的触发器构成。理解了ROM和RAM存储器的特点,在实验中,我学习了只读存储器(ROM)和随机存取存储器(RAM)的特点。ROM是一种在正常工作时其存储的数据固定不变的存储器,数据只能读出,不能写入,即使断电也能够保留数据。而RAM是一种读写存储器,可以存储大量的信息,并且可以任意读取或写入某个单元的信息。
本次实验让我深入了解了存储器的基本原理和组成结构,以及不同类型存储器的特点和应用场景。我通过使用Logisim软件进行电路模拟,加深了对存储器的理解。这次实验使我对计算机的存储部件有了更清晰的认识,对计算机系统的工作原理有了更深入的了解。通过自己动手操作和观察实验结果,我对存储器的功能和运作方式有了实际的体验,这对我进一步学习和应用计算机组成原理相关知识将起到积极的推动作用。