- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉轻工大学数学与计算机学院计算机组成原理实验报告学校:?武汉轻工大学?院系:数学与计算机学院?班级:软件工程13xx班 ?姓名:? xx ?学号:?13051xxxx指导老师:? 郭峰林2015年11月23日实验三程序计数器PC与地址寄存器AR实验【实验环境】1. Windows 2000 或 Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台。【实验目的】1.掌握地址单元的工作原理。2.掌握的两种工作方式,加1计数和重装计数器初值的实现方法;3.掌握地址寄存其从程序计数器获得数据和从内部总线获得数据的实现方法。【实验原理】程序计数器(PC)是用于存放下一条指令所在单元的地址的地方。为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。当程序转移时,转移指令执行的最终结果就是要改变PC的值,下一条从内存取出的指令将由转移指令来规定,而不像通常一样按顺序来取得因此程序计数器的结构应当是具有寄存信息和计数两种功能的结构。转移指令执行后的PC值就是转去的地址,以此实现转移,有些机器中也称PC为指令指针IP(Instruction Pointer)。地址寄存器(AR)用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。? 当CPU和内存进行信息交换,即CPU向内存存/取数据时,或者CPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。同样,如果我们把外围设备的设备地址作为像内存的地址单元那样来看待,那么,当CPU和外围设备交换信息时,我们同样使用地址寄存器和数据缓冲寄存器。地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,通常使用单纯的寄存器结构。信息的存入一般采用电位-脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号作用下,瞬时地将信息存入寄存器。本实验采用总线多路开关联接方式地址单元主要由三部分组成:程序计数器PC、地址寄存器AR和多路开关BUSMUX。图3.1 程序计数器/地址寄存器原理图程序计数器PC用以指出下一条指令在主存中的存放地址,CPU正是根据PC的内容去存取指令的。因程序中指令是顺序执行的,所以PC有自增功能。程序计数器提供下一条程序指令的地址,如电路图所示,在T4时钟脉冲的作用下具有自动加1的功能;在LDPC信号(高电平1)的作用下可以预置lpm_counter计数器的初值(如子程序调用或中断相应等)。当LDPC为高电平时,lpm_counter计数器装入data[ ]端输入的数据。aclr是lpm_counter计数器的清0端(使q[7..0]输出为0),高电平有效(高电平清零);aclr为低电平时,允许lpm_counter计数器正常计数。地址寄存器AR锁存访问内存SRAM的地址。地址寄存器AR中的地址来自两个渠道,一是程序计数器PC的输出,通常是下一条指令的地址;二是来自于内部数据总线的数据,通常是被访问操作数的地址。为了实现对两路输入数据的切换,在FPGA的内部通过总线多路开关BUSMUX进行选择。LDAR与多路选择器的sel相连,当LDAR为高电平,选择程序计数器的输出(lpm_counter输出);当LDAR为低电平时,选择内部数据总线的数据。多路选择器BUSMUX,当sel端为“1”时,多路选择器选择datab[]输出到result[];当sel端为“0”时,多路选择器选择dataa[]输出到result[]。数据输出时需要用到带清除端8D型触发器74273(74273功能表见附录2)。clrn为低电平时,使74273输出为0。关于lpm_counter元件介绍:lpm_counter是LPM元件库的可调参数计数器元件,其最大计数位宽为32 bit,最小计数时钟周期达8 ns(125 MHz,使用EPM7032LC44-6实现);实现加、减或可逆计数;同步或异步清零/置数功能可选;通过参数设置,实现任意进制、输出位宽不超过32 bit的加、减或可逆同步/异步计数器。lpm_counte引脚及功能描述1pm_counter
文档评论(0)