计算机组成原理-实验六 程序计数器实验

本文介绍了通过实验学习程序计数器的工作原理,包括如何使用微命令操作、从存储器读取指令,以及程序计数器在计算机启动时的角色。实验涵盖了取指令、存储数据、执行JMP指令等内容。
摘要由CSDN通过智能技术生成

  程序计数器实验

一、实验目的

1) 连接程序计数器、地址寄存器、存储器与指令寄存器,理解程序计数器的作用。

2) 掌握使用微命令通过程序计数器从存储器中读取指令和数据的方法。

二、实验要求

1) 做好实验预习,在实验之前填写好表7-4至表7-7,读懂实验电路图,熟悉实验元器件的功能特性和使用方法。

2)  按照实验内容与步骤的要求进行实验,对预习时填写好的微命令进行验证与调试,遇到问题请冷静、独立思考,认真仔细地完成实验。

三、实验内容与步骤

1.  阅读RAM中的程序,并回答问题:此程序的功能是什么?

答: 从数据开关输入1个数,与存储单元08H的值相加,结果存放到09H存储单元中,循环执行此段代码

2.  运行虚拟实验系统,导入实验电路图,接好所有控制信号线,连接好的电路截图如下所示:

图1 数据通路实验电路

3.  电路预设置:将计数器的\overline{CR}、ENT、ENP置1,IR、AR的\overline{MR}置1,时序发生器的Step置1。

4.  程序起始地址→PC,地址从数据开关输入。具体步骤如下:

1) 设计好要使用的微命令,填入表1:

表1  程序起始地址→PC微命令

2) 打开电源。

3) 设置控制信号:数据开关→PC;将数据开关设置为地址00H;单击时序发生器的start按钮,等待一个CPU周期,此时PC被置为00H。

5.  取指令,以当前PC的值作为地址,取出存储器中相应的指令,放入指令寄存器IR,同时PC+1。具体步骤如下:

1) 设计好要使用的微命令,填入表2:

表2  取指令微命令

2) 设置控制信号:PC→AR,PC+1;单击start按钮。等待一个CPU周期,此时PC的值存入AR,而后PC递增1。

3) 设置控制信号:RAM→IR;单击start按钮,等待一个CPU周期,此时00H地址处的IN指令被取出放入了IR。注意:由于IN指令为全零,所以此时指示灯不会点亮。

6.  重复执行一次表2中的2组微命令,读出PC所指单元内容到IR。

PC->AR,PC+1

RAM->IR

7.  读ADD指令的操作数地址,在LED上显示,同时PC+1。具体步骤如下:

1) 设计好要使用的微命令,填入表3:

表3  读ADD指令的操作数地址微命令

2) 设置控制信号:PC→AR,PC+1;单击start按钮。等待一个CPU周期。

3) 设置控制信号:RAM→BUS。

8.  用同样的方法取STA指令到IR,PC+1;读出STA指令的操作数地址,PC+1。

PC->AR,PC+1

RAM->BUS

PC->AR,PC+1

RAM->BUS

9.  取JMP指令并执行,步骤如下:

1) 取指令的微命令上面已经有了,需要补充执行跳转的微命令,请填入表4:

表4   取JMP指令并执行微命令

2)    用前面的方法取JMP指令到IR,PC+1。

3)    设置控制信号:PC→AR,PC+1;单击start按钮。等待一个CPU周期。

        

4)    设置控制信号:RAM→BUS,BUS→PC;单击start按钮。等待一个CPU周期,PC值已被设为00H。

        

  • 实验总结

在本次实验中我了解到,计算机开机时,程序计数器(Program Counter,PC)的值通常是由计算机的固件(如BIOS或UEFI)提前设置的。这个值指向存储在内存中的第一条要执行的指令的地址。在计算机启动过程中,固件会负责初始化各个硬件和建立基本的系统环境,然后将控制权转交给操作系统或引导加载程序。程序计数器在这个过程中被设置为指向操作系统或引导加载程序的第一条指令的内存地址,使得计算机能够开始执行相应的程序。

  • 23
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
计算机组成原理实验书中的程序计数器实验是一项关于计算机基本组件的实验内容。程序计数器(Program Counter,PC)是一种存储器元件,用于保存即将被执行的指令的地址。在计算机的工作过程中,指令的执行是按照一定的顺序进行的,指令的地址会逐步增加。程序计数器实验的目的就是实现程序计数器的基本功能,并通过实验验证其正确性。 在实验过程中,我们可以通过设计电路来实现程序计数器的功能。该电路主要由计数器、控制逻辑和时钟信号组成。计数器用于存储地址,并在每一个时钟周期内增加其值;控制逻辑用于根据信号控制计数器的工作方式;时钟信号用于提供计时脉冲,使计数器能够按照时序进行计数。 实验的具体操作步骤包括:设计并连接程序计数器电路的各个部分,如计数器、控制逻辑和时钟信号;编写一个简单的程序,包含一段指令序列,用于测试程序计数器电路的功能;通过时钟信号的不断驱动,观察程序计数器是否能够按照预期的顺序递增;在实验过程中,我们可以使用示波器或其他工具来观察各个信号的波形、频率和占空比,以验证实验结果的正确性。 通过完成这个实验,我们可以更好地理解程序计数器计算机中的作用和原理,同时也能够加深对计算机组成原理知识的理解。这个实验还能培养我们对于电路设计和信号处理的能力,并提高我们的实验操作技能。希望通过这个实验,我们能够更深入地了解和掌握计算机组成原理的相关知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值