现代计算机组成原理 - 华侨大学

现代计算机组成原理 - 华侨大学

ID:33585013

大小:216.22 KB

页数:38页

时间:2019-02-27

现代计算机组成原理 - 华侨大学_第1页
现代计算机组成原理 - 华侨大学_第2页
现代计算机组成原理 - 华侨大学_第3页
现代计算机组成原理 - 华侨大学_第4页
现代计算机组成原理 - 华侨大学_第5页
资源描述:

《现代计算机组成原理 - 华侨大学》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章CPU功能模块设计4.2CPU中的基本部件4.2.7程序计数器与地址寄存器1.程序计数器为了保证程序按其指令序列执行下去,必须对下一条指令进行跟踪,以便取得下一条指令。程序计数器(PC)的功能就是用来确定下一条指令在主存中的地址。当CPU取得当前要执行的指令后,通过修改程序计数器中的值来确定下一条指令在主存中的存放地址。4.2CPU中的基本部件4.2.7程序计数器与地址寄存器1.程序计数器程序计数器值的修改分两种情况,一种是顺序执行指令的情况,另一种是分支转移指令的执行情况。当CPU顺序执行指令时,程序计数器值的修改较为简单。即若当前取得的指令是单字节指令,便将程序计数器的

2、值加1(PC+1→PC);而若当前取得的指令是双字节指令,则将程序计数器的值加2。一般而言,如果当前取得的指令是n字节,则将程序计数器的值加n。在执行分支转移指令时,由分支转移指令的寻址方式确定下一条指令在主存中的地址。若分支转移指令的寻址方式是相对寻址,于是,程序计数器的值就修改为当前地址加上相对偏移量;若分支转移指令的寻址方式是绝对寻址,即将转移指令中绝对转移地址送给程序计数器;而当执行间接寻址方式的分支转移指令时,程序计数器的值从指令指定的寄存器或主存储单元中提取。4.2CPU中的基本部件4.2.7程序计数器与地址寄存器1.程序计数器lpm_counter1upcounte

3、rsloadd[7..0]INVCPUCTdata[7..0]q[7..0]OUTPUTq[7..0]LOADINPUTVCCCLKINVCPUCTclocklracinstRSTINPUTVCC图4-26程序计数器结构图图4-26程序计数器结构图lpm_counter1upcountersloadd[7..0]INVCPUCTdata[7..0]q[7..0]OUTPUTq[7..0]LOADINPUTVCCCLKINVCPUCTclocklracinstRSTINPUTVCC程序计数器采用LPM库中的元件lpm_counter来完成,计数器的数据宽度为8位,其结构如图所示。图

4、中各信号的作用分别是:CLK是时钟脉冲输入信号;aclr是计数器的异步清零端,当CPU复位时,可用RST复位信号对计数器清零;LOAD是计数器数据加载端,当发生程序转移时,可用它向计数器加载新的转移地址;data[7..0]是计数器的数据输入端;q[7..0]是计数器的数据输出端。图4-26程序计数器结构图lpm_counter1upcountersloadd[7..0]INVCPUCTdata[7..0]q[7..0]OUTPUTq[7..0]LOADINPUTVCCCLKINVCPUCTclocklracinstRSTINPUTVCC在图中,程序计数器可以有三种工作状态:(1

5、)当CPU复位时,复位信号RST可以使程序计数器清零。(2)正常情况下,从程序存储器读取一个字节后,程序计数器在CLK脉冲信号作用下自动加1。(3)当发生程序转移时,在LOAD信号的作用下,从d[7..0]向程序计数器装载新的计数器初值,进行程序转移。4.2CPU中的基本部件4.2.7程序计数器与地址寄存器2.地址寄存器地址寄存器(AR)用来保存当前CPU所要访问的主存单元或I/O端口的地址。当CPU要对存放在主存或外围设备的信息进行存取时,需要解决的是地址的定位问题。地址定位是通过CPU将地址信息传送到地址总线上,再由地址译码电路实现。在对主存或I/O端口内的信息存取过程中,地

6、址信号必须是稳定的。因此地址信息要由一个寄存器来保存,这个寄存器就是地址寄存器。地址寄存器采用单纯的寄存器结构。在对主存或I/O端口进行访问时,地址寄存器存放当前访问的地址,数据缓冲器实现数据的缓冲。CPU通过修改地址寄存器中的值,就可访问不同的存储器单元及不同的I/O端口。4.2CPU中的基本部件4.2.7程序计数器与地址寄存器2.地址寄存器lpm_latch0data[7..0]q[7..0]gateinst15图4-27地址寄存器结构图图4-27地址寄存器结构图lpm_latch0data[7..0]q[7..0]gateinst15地址寄存器可用LPM库中的元件lpm_l

7、atch锁存器来完成。地址寄存器的数据宽度应当与程序计数器的数据宽度一致。data[7..0]是地址寄存器的数据输入端,q[7..0]是地址寄存器的数据输出端,gate是地址锁存器的控制端。gate的作用是当锁存控制脉冲到来时,高电平时数据进入锁存器,低电平时锁存数据,保持输出数据稳定不变。4.2CPU中的基本部件4.2.8指令寄存器当CPU从主存取指令时,取得的指令经缓冲寄存器转送给指令寄存器(IR)。因此,指令寄存器用来保存当前CPU正在执行的一条指令。一条指令由地址码和操作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。