计算机组成原理相联存储器的设计.docx

上传人:b****0 文档编号:9059370 上传时间:2023-05-16 格式:DOCX 页数:20 大小:317.94KB
下载 相关 举报
计算机组成原理相联存储器的设计.docx_第1页
第1页 / 共20页
计算机组成原理相联存储器的设计.docx_第2页
第2页 / 共20页
计算机组成原理相联存储器的设计.docx_第3页
第3页 / 共20页
计算机组成原理相联存储器的设计.docx_第4页
第4页 / 共20页
计算机组成原理相联存储器的设计.docx_第5页
第5页 / 共20页
计算机组成原理相联存储器的设计.docx_第6页
第6页 / 共20页
计算机组成原理相联存储器的设计.docx_第7页
第7页 / 共20页
计算机组成原理相联存储器的设计.docx_第8页
第8页 / 共20页
计算机组成原理相联存储器的设计.docx_第9页
第9页 / 共20页
计算机组成原理相联存储器的设计.docx_第10页
第10页 / 共20页
计算机组成原理相联存储器的设计.docx_第11页
第11页 / 共20页
计算机组成原理相联存储器的设计.docx_第12页
第12页 / 共20页
计算机组成原理相联存储器的设计.docx_第13页
第13页 / 共20页
计算机组成原理相联存储器的设计.docx_第14页
第14页 / 共20页
计算机组成原理相联存储器的设计.docx_第15页
第15页 / 共20页
计算机组成原理相联存储器的设计.docx_第16页
第16页 / 共20页
计算机组成原理相联存储器的设计.docx_第17页
第17页 / 共20页
计算机组成原理相联存储器的设计.docx_第18页
第18页 / 共20页
计算机组成原理相联存储器的设计.docx_第19页
第19页 / 共20页
计算机组成原理相联存储器的设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理相联存储器的设计.docx

《计算机组成原理相联存储器的设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理相联存储器的设计.docx(20页珍藏版)》请在冰点文库上搜索。

计算机组成原理相联存储器的设计.docx

计算机组成原理相联存储器的设计

目录

第1章总体设计方案2

1.1设计原理2

1.2设计思路3

1.3设计环境4

第2章详细设计方案5

2.1顶层方案图的设计与实现5

2.1.1创建顶层图形设计文件5

2.1.2器件的选择与引脚锁定5

2.1.3编译、综合、适配6

2.2功能模块的设计与实现7

2.2.1输入寄存器的实现7

2.2.2存储体的设计与实现8

2.2.3数字比较器的实现10

2.2.4查找结果寄存器的实现12

2.3仿真调试13

第3章编程下载与硬件测试15

3.1编程下载15

3.2硬件测试及结果分析15

参考文献17

附录(电路原理图)18

第1章总体设计方案

1.1设计原理

相联存储器(ContentAddressedMemory),它是一种按内容访问的存储器,可以根据数据记录地一部分内容查找其它部分的内容。

在相联存储器中,每个存储的数据记录都是固定长度的字,每个字由若干字段组成,每个字段描述了用一个对象的属性,也称一个内容。

相联存储器的结构框图如图1.1所示。

输入寄存器(CR)

...

数字比较器

...

查找结果寄存器(SRR)

译码选择电路

存储体

图1.1相联存储器原理框图

 

它主要实现将输入寄存器(CR)的信息与存储体的信息作比较,相匹配的置为“1”,不匹配的置为“0”,将结果送入查找结果寄存器(SRR)中,并输出结果。

1.2设计思路

根据相联存储器的原理特点,即按照内容寻址,因此可以将相联存储器分为以下几个部分:

输入寄存器,译码选择电路,存储体,数字比较器,查找结果寄存器。

输入寄存器(CR):

用来存放检索字,其位数和相联存储器的字长相等。

译码选择电路:

用3-8译码器进行译码电路选择,如当置输入端B2B1B0为“000”,时钟脉冲信号为高电位时,可以向存储体第一个单元地址输入八位二进制的字信息,同时其他的存储单元的信息被屏蔽掉。

当置输入端B2B1B0为“001”时,时钟信号为高电位时,可以向存储体第二个单元地址输入八位二进制的字信息,同时其他的存储信号单元被屏蔽掉。

存储体(AMU):

用于存放待检索的数据,由八个八位二进制存器构成,以便快速存取。

数字比较器:

将检索的内容和从存储体中读出的所有单元内容的相应位进行比较,如果有某个存储单元的信息和检索项一致,就把符合寄存器的相应位置“1”,表示该字匹配 ;否则置“0”,表示不匹配。

查找结果寄存器(SRR):

用来存放待检索项与存储体的信息中相符合的单元的寄存器地址,其位数等于相联存储器的存储单元总数,每一位对应一个存储单元,位的序列数即为相联存储器的单元地址。

 

  设存储体由8个字构成,字长为8位的二进制数。

CR为比较寄存器,字长也为8位,存放要比较的两个数。

首先向输入寄存器输入一个八位二进制的字,然后通过3—8译码器选择电路依次将八个八位二进制数输入到存储体中。

将输入到输入寄存器的字通过比较寄存器分别与存储体里的八个字检索比较,若匹配,则输出信号置1,否则置0。

匹配信号通过查找结果寄存器(SRR)输出,我们就能找到匹配的那个字。

若存储体八个单元存储的数据分别为0000000、00000001、00000010、00000011、00000100、00000101、00000110,00000111,输入寄存器中的存储数据是00000011,通过比较器CR进行比较之后,可以知道发现检索数据与存储体中的第四个单元的内容一致,所以结果查找寄存器SRR中的第四个单元置为“1”,其余的置“0”,则匹配结果输出为:

00001000。

1.3设计环境

·硬件环境:

伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。

·EDA环境:

Xilinxfoundationf3.1设计软件、COP2000仿真软件。

图1.2Xilinxfoundationf3.1设计平台

图1.3COP2000计算机组成原理集成调试软件

第2章详细设计方案

2.1顶层方案图的设计与实现

该设计方案采用自上而下的设计方法,顶层设计使用原理图设计输入方式,以此实现相联存储器相关的逻辑功能,在XCV200可编程逻辑芯片上实现电路。

在Xilinxfoundationf3.1开发环境上设计好电路图,把输入/输出信号分别定位到XCV200芯片指定的引脚上,完成芯片的引脚的锁定。

2.1.1创建顶层图形设计文件

构成顶层图形文件的元器件如下表2.1

表2.1元器件

元器件类型

使用元器件数目

FD8CE

10

3_8译码器

1

COMP8

8

输入端口

20

输出端口

8

VCC

3

GND

1

总线及导线

若干

由上述元器件封装而成一个完整的设计实体。

该方案在Xilinxfoundationf3.1软件环境下进行软件的设计,实现顶层图形文件。

2.1.2器件的选择与引脚锁定

(1)器件的选择

由于所提供的硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,因此采用的目标芯片为XilinxXCV200可编程逻辑芯片。

(2)引脚锁定

根据引脚分配表,把顶层图形文件中的输入/输出信号依次安排到XilinxXCV200芯片指定的引脚上,实现芯片的引脚锁定,各信号及XilinxXCV200芯片引脚对应关系如表2.1所示。

表2.2信号和芯片引脚对应关系

相联存储器内部信号

XCV200芯片引脚

IBUS0

P103

IBUS1

P102

IBUS2

P101

IBUS3

P100

IBUS4

P97

IBUS5

P96

IBUS6

P95

IBUS7

P94

B0

P73

B1

P72

B2

P71

AMBUS0

P87

AMBUS1

P86

AMBUS2

P85

AMBUS3

P84

AMBUS4

P82

AMBUS5

P81

AMBUS6

P80

AMBUS7

P79

CLOCK

P213

OBUS0

P110

OBUS1

P111

OBUS2

P203

OBUS3

P185

OBUS4

P184

OBUS5

P178

OBUS6

P152

OBUS7

P147

2.1.3编译、综合、适配

利用Xilinxfoundationf3.1设计软件对顶层图形文件进行编译,并尽量调整各器件和线的位置使其合理美观,连接完毕后进行仿真,待仿真成功后编译文件,编译成功后即可将文件下载到芯片中。

2.2功能模块的设计与实现

本相联存储器是由输入寄存器,选择比较电路,比较寄存器,存储体,查找结果寄存器组成的,设有20个输入端口和8个输出端口实现其输入和输出。

各部分元件均分别单独实现功能并仿真成功之后,再将各部分模块进行连接,经整体整合仿真成功后,完成了所需电路实体。

2.2.1输入寄存器的实现

输入寄存器是用一个元器件FD8CE组成。

FD8CE的字长为八位,用于存放检索数据,本方案用一个8位的D触发器来组成FD8CE。

(1)输入寄存器的结构图如下图2.1所示

图2.1输入寄存器图模块

(2)FD8CE的实现

一个FD8CE是使用八个1位D触发器构成的,每个1位D触发器存储一个二进制数,电路图如下图2.2所示

图2.2八位输入寄存器内部结构图

2.2.2存储体的设计与实现

该存储体一共由8个寄存器(FD8CE)组成,每个寄存器的字长为8位。

利用3—8译码器的输出端分别控制8个寄存器的CE使能端,使之可以分别对每一个存储器进行写入操作。

例如:

3—8译码器输入端B0,B1,B2为010时,其输出端D2输出为“1”,使得与D2端相连的寄存器的使能端为“1”,并且CLK信号为高电位时,即可将数据总线AMBUS7~AMBUS0的数据输入到该寄存器中。

如此可以最终实现对8个寄存器的分别写入操作。

(1)存储体的电路图如下图2.3所示

图2.3存储体及译码电路结构图

(2)实现方法

利用3—8译码器的输入端B0B1B2分别控制每一个寄存器的CE使能端及时钟脉冲端产生的脉冲信号实现对八个存储单元的信息输入。

将译码器的八个输出端分别与八个寄存器的使能端相连,实现逐个信息输入。

(3)功能仿真

对存储体的输入输出进行仿真,能够实现上述功能。

仿真图如图2.4所示。

其中总线SHU[7:

0]是输入寄存器的检索信息,总线Q0[7:

0]-Q7[7:

0]分别代表存储体的从上到下的八个寄存器存储的数据。

图2.4存储体输入仿真图

2.2.3数字比较器的实现

当检索内容与待检测内容分别写入到输入寄存器与存储体以后,需要通过比较寄存器把检索数据与存储体中每一个存储单元中的数据进行匹配比较,如果发现其某个存储单元中的数据和检索数据完全一致,就把符合寄存器的相应位置“1”,表示其该数据即为想要检索的数据,否则置“0”,表示存储体中没有符合匹配要求的数据。

(1)COMP8的实现

数字比较器使用8个COMP8组成的,COMP8的功能是实现1个八位二进制数的比较。

COMP8的电路图如下图2.5所示。

图2.5数字比较器元件图

COMP8的内部结构图如下图2.6所示。

其中总线A[7:

0]是用来传输检索信息,总线B[7:

0]是用来传送存储体的待检索信息的,EQ端是用来输出比较结果,当检索信息和带检索信息相同时EQ端置“1”,否则置“0”。

图2.6数字比较器的内部实现

(2)数字比较器的实现

比较模块的部件主要用数据比较器来实现,存储体中有8个寄存器,所以比较器也相应的需要8个,字位数也是8位。

匹配比较的结果将其输出到结果查找寄存器中。

比较线路的实现方法是:

先将输入寄存器的输出总线与8个比较器的输入总线相连接,存储体中的8个寄存器的输出总线与8个比较器另一个输入总线相连接。

此时随着脉冲信号的连续进行,存储体内每输入一个存储单元,就将其接到一个比较器的另一端与输入寄存器中的数据进行比较,相同时置“1”,不同时置“0”。

直至将所有存储单元都比较完为止。

数字比较器的电路如下图所示,其中总线Q0[7:

0]~Q7[7:

0]是存储体的数据总线,总线SHU[7:

0]是输入寄存器的数据总线,总线D[7:

0]是比较结果输出总线。

图2.7数字比较器逻辑模块图、

2.2.4查找结果寄存器的实现

查找结果寄存器同样由一个8位寄存器来实现,与输入寄存器原理一样。

输入总线与数字比较器输出结果总线相连接,用来存放比较后得到的匹配信息。

(1)查找寄存器与输入寄存器的元器件一样都是FD8CE,结构图如下图2.8所示

图2.8查找结果寄存器图

(2)FD8CE的结构图如下图2.9所示

图2.9查找结果寄存器图结构图

2.3仿真调试

仿真调试主要用来验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。

(1)建立仿真波形文件及仿真信号选择

在进行功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,当脉冲遇到上升沿时选定的仿真信号和设置的参数如表2.3所示。

表2.3仿真信号选择和参数设置

输入信号

输出信号

IBUS

AMBUS

B2

B1

B0

CLK

OBUS

3

0

0

0

0

1

FF

3

1

0

0

1

1

00000000

3

2

0

1

0

1

00000000

3

3

0

1

1

1

00000000

3

4

1

0

0

1

00001000

3

5

1

0

1

1

00001000

3

6

1

1

0

1

00001000

3

7

1

1

1

1

00001000

(2)功能仿真结果与分析

如上表2.3所示:

检索数据是“3”,存储体中的待检索数据是“0~7”,由3—8译码器控制的存储体依次存入“0~7”八个数,通过数字比较器可以得知第四个寄存器存储的信息和检索数据相同,则结果寄存器的八位二进制数的第四位应该置“1”,其余位置“0”。

所以最后的结果为“00001000”,表示存储体的第四个寄存器储存的数据和检索数据相同,即可得到数据的地址。

如下图2.10所示为功能仿真的波形结果。

图2.10功能仿真波形结果

第3章编程下载与硬件测试

3.1编程下载

利用XilinxISE的编程下载功能,将得到的gmk1689.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。

3.2硬件测试及结果分析

利用XCV200实验板进行硬件功能测试。

相联存储器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。

表3.1XCV200实验板信号对应关系

XCV200芯片引脚信号

XCV200实验板

XCV200芯片引脚信号

XCV200实验板

IBUS0

K00

AMBUS4

K14

IBUS1

K01

AMBUS5

K15

IBUS2

K02

AMBUS6

K16

IBUS3

K03

AMBUS7

K17

IBUS4

K04

CLOCK

CLOCK

IBUS6

K06

OBUS0

A0

IBUS7

K07

OBUS1

A1

B0

K20

OBUS2

A2

B1

K21

OBUS3

A3

B2

K22

OBUS4

A4

AMBUS0

K10

OBUS5

A5

AMBUS1

K11

OBUS6

A6

AMBUS2

K12

OBUS7

A7

AMBUS3

K13

利用表2.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K20、K21、K22控制输入数据,开关K00~K07控制输入寄存器的内容输入,开关K10~K17控制存储体中内容的输入。

同时观察A0~A7的输出,得到如表3.2所示的硬件测试结果。

 

表3.2硬件测试结果

输入信号

输出信号

K00—K07

K10—K17

K22

K21

K20

CLK

A0—A7

00000011

00000000

0

0

0

1

00000000

00000011

00000001

0

0

1

1

00000000

00000011

0000010

0

1

0

1

00000100

00000011

00000011

0

1

1

1

00000100

00000011

00000100

1

0

0

1

00000100

00000011

00000101

1

0

1

1

00000100

00000011

00000110

1

1

0

1

00000100

00000011

00000111

1

1

1

1

00000100

输入寄存器存的数是对应的十六进制数3,存储体中存的数分别对应的是0,1,2,3,4,5,6,7。

对表3.2与表2.2的内容进行对比,可以看出硬件测试结果为00001000,由此可以看出测试的结果是正确的,说明电路设计正确合理。

如下图3.1所示为仿真下载的结果

图3.1数据的cop2000仿真下载结果

参考文献

[1]曹昕燕.EDA技术实验与课程设计[M].北京:

清华大学出版社,2006

[2]胡越明.计算机组成与设计[M].北京:

科学出版社,2006

[3]王爱英.计算机组成与结构(第4版)[M].北京:

清华大学出版社,2006

[4]白中英.计算机组成原理[M].科学出版社出版社,2008

[5]高有堂.EDA技术及应用实验[M].清华大学出版社,2006

[6]郑纬民.计算机系统结构[M].北京:

清华大学出版社,1992

 

附录(电路原理图)

总电路原理图

 

课程设计总结:

在本次计算机组成原理课程设计过程中,让我获益匪浅并深有感触。

通过思考设计,查阅资料,发现问题、解决问题,使我对相联存储器方面的知识有了更深刻的了解,同时在不断改进错误的过程中锻炼了自己的思维能力和动手实践能力。

在对相联存储器的设计过程中,遇到了如下问题:

(1)数据总线的使用在输入输出上比较繁琐。

因为所要求的字为八位二进制的,所以在输入数据时输入输出端口的命名很繁琐,如果命名不小心很容易出错误,导致结果出错。

(2)对于存储体中存储单元数据写入,开始利用3—8译码器和单个脉冲实现数据的输入,发现输出结果与实际的不同。

后来利用连续脉冲和单个脉冲相结合的方法实现了正确的数据写入,同时也得到了正确的结果。

在此次课程设计中,采用了自上而下的设计方法,顶层设计使用原理图设计输入方式;底层设计以存储体和3—8译码器及CR、SRR为基础,最终实现相联存储器的功能。

通过本次课程设计,感受最深的就是通过不断的改正使得自己所设计的电路最终能编译成功并得到理想的结果后的那种成功的喜悦,使对于计算机原理有了更深刻的理解,也增加自己学习的兴趣。

指导教师评语:

 

指导教师(签字):

      年月日

课程设计成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2