计算机组成原理-程序计数器实验——沐雨先生

本文详细描述了一个关于连接程序计数器与存储器的实验,涉及微命令的使用、指令读取、操作数地址获取以及程序计数器的工作原理。实验内容包括预设、取指令、执行ADD、STD和JMP指令,以及对程序计数器功能的深入理解。
摘要由CSDN通过智能技术生成

一、实验目的

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

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

二、实验要求

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

2.按照实验内容与步骤的要求,独立思考,认真仔细地完成实验

3.完成实验报告

三、实验原理

在这里插入图片描述

四、实验原理

本实验用到的四条机器指令格式如下表所示

助记符机器码长度功能
IN000000008 bitSW->R0
ADD00100000 A16 bitR0 + (A) -> R0
STA01000000 A16 bitR0->(A)
JMP01100000 A16 bitA->PC

RAM 中预先装入的程序和数据如下表所示

地址(八进制)内容含义
0000000000IN
0100100000ADD
020000100010(八进制)
0301000000STA
040000100111(八进制)
0501100000JMP
060000000000
07
1000001011
11求和结果

五、实验内容及步骤

1.电路图:

在这里插入图片描述

2.预设置:将计数器的 、ENT、ENP置1,IR、AR的 置1,时序发生器的step置1

3.程序起始地址 -> PC,地址从数据开关输入:

3.1 设计好要使用的微命令,填入下表

功能微命令
SW-BUS'PC-BUS'LOAD'LDPCLDARCE'WELDIR
数据开关->PC01010100

3.2 打开电源

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

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

4.1 设计好要使用的微命令,填入下表

功能微命令
SW-BUS'PC-BUS'LOAD'LDPCLDARCE'WELDIR
PC->AR PC+110111100
RAM->BUS BUS->IR11100001

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

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

5.重复执行以上两组微命令,读出PC所指单元内容(即下一条指令ADD的操作码部分)到IR。

电路图:
在这里插入图片描述

6.读ADD指令的操作数地址,在 LED上显示,同时 PC+1。注意:上一步取ADD指令后,PC的值增加了1,当前PC的值为02H,指向ADD指令操作数的地址,即PC的值是操作数地址的地址。具体步骤如下:

6.1 设计好要使用的为命令,填入下表:

功能微命令
SW-BUS'PC-BUS'LOAD'LDPCLDARCE'WELDIR
PC->AR PC+110111100
RAM->BUS11100000

6.2 设置控制信号:PC→AR,PC+1();单击Start 按钮。

6.3 设置控制信号:RAM→BUS( )

电路图:
在这里插入图片描述

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

8.取JMP指令并执行:

8.1 填写下表

功能微命令
SW-BUS'PC-BUS'LOAD'LDPCLDARCE'WELDIR
PC->AR PC+110111100
RAM->BUS BUS->PC11010000

8.2 用前面的方法取 STD指令到IR,PC+1。

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

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

六、思考与分析

1、计算机开机时,一条指令都没有执行前,程序计数器PC的值是如何设置的?

答:开机时,利用复位信号给 PC 置初值 0x00000000

2、本实验中,程序计数器是否一直指向下一条要执行的指令?

答:不是,因为如果遇到跳转指令,PC 就会跳转到目标地址

3、程序计数器与微程序有什么联系?

答:程序计数器是用来指定微程序中的每一步微操作的执行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐雨先生

如果真的帮助到你了再打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值