【计算机组成原理】实验报告08-乱码版

本文探讨了CPU的数据通路设计、指令周期、硬布线控制器与微程序控制器的区别、流水线工作原理以及总线带宽计算。通过实例分析了指令流程和两种控制器的工作过程,强调了微程序控制器的灵活性和适应复杂指令集的能力。
摘要由CSDN通过智能技术生成

需要原报告请私聊!

一、实验目的:

[实验目的和要求]

  1. 了解CPU的数据通路
  2. 理解典型指令的指令周期
  3. 掌握指令周期方框图的画法
  4. 了解硬布线和微程序控制器
  5. 了解微程序设计的方法
  6. 了解流水CPU的工作原理
  7. 理解总线的基本概念

二、实验环境:

1、计算机,局域网,Word

三、实验内容和要求:

  1. 某计算机有如下部件:ALU,程序计数器PC,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0-R3,暂存器C和D:

(1)请将各逻辑部件组成一个数据通路,并表明数据流动方向;

(2)画出“MOV R0, R1”、“LAD R1,(R2)”、“ADD R1,R2”、“STO R2,(R3)”的指令周期方框图。 

  1. 什么是硬布线控制器?什么是微程序控制器?说明两种控制器的区别。
  2. 结合微程序控制器的内部结构图说明其工作过程。
  3. 指令流水线有取值(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器(WB)五个过程段,共有20条指令连续输入次流水线。

(1)画出流水处理的时空图,假设时钟周期为100ns;

(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数);

(3)求流水线的加速比。

  1. 假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,计算总线带宽。

四、实验结果(答案粘贴此处):

1.

(1)

(2)MOV R0, R1

LAD R1,(R2)

ADD R1,R2

STO R2,(R3)

2.

硬布线控制器(Hardwired Control)和微程序控制器(Microprogrammed Control)是计算机中两种不同的控制器设计方法,用于实现中央处理单元(CPU)的控制功能。

硬布线控制器:

硬布线控制器是一种基于组合逻辑电路的控制器。在硬布线控制中,控制信号是通过组合逻辑电路直接实现的,这些电路中的每一个元素都对应于一个特定的操作或指令。硬布线控制器的设计是静态的,每个指令的执行都有一个硬编码的控制路径。

微程序控制器:

微程序控制器采用一种更灵活的控制策略。它使用一组称为微指令的小型指令序列,这些微指令对应于CPU执行的基本操作。每个微指令包含控制信号,通过解释器或控制存储器来生成。整个控制过程是通过执行一系列微指令序列来完成的。

区别:

实现方式:

硬布线控制器: 通过硬件电路(组合逻辑电路)来实现控制逻辑,每个指令都有一个固定的、硬编码的控制路径。

微程序控制器: 通过一组微指令序列来实现控制逻辑,这些微指令可以存储在控制存储器中,动态生成控制信号。

灵活性:

硬布线控制器: 静态、刚性的设计,不易修改。需要修改控制逻辑时,通常需要更改硬件电路。

微程序控制器: 更加灵活,允许通过修改微指令序列来改变控制逻辑,而无需改变硬件电路。

.复杂度:

硬布线控制器: 通常较为简单,适用于相对简单的指令集架构。

微程序控制器: 可以处理更复杂的控制逻辑,适用于复杂的指令集架构。

易维护性:

硬布线控制器: 维护难度较大,修改需要对硬件进行改动。

微程序控制器: 更易于维护和修改,因为控制逻辑存储在可编程的控制存储器中。

在实际应用中,选择硬布线控制器还是微程序控制器通常取决于具体的设计需求、性能要求以及对灵活性和易维护性的考虑。微程序控制器常用于复杂指令集架构(CISC)的处理器。

3.

  

工作过程:

1、指令获取: 首先,指令从主存储器中读取到指令寄存器。这个指令通常是由操作码(Opcode)和其他必要的信息组成的。

2、解码: 解码器会解析指令中的操作码,确定执行的操作类型(如算术运算、逻辑运算等)以及涉及的寄存器或内存位置。

3、微指令生成: 解码后,根据解码结果,微程序控制器会生成一系列微指令序列。这些微指令包含了执行指令所需的控制信号,如读写存储器、寄存器传送、算术逻辑运算等。

4、微指令存储: 生成的微指令序列存储在微指令存储器中。微指令存储器是一个特殊的存储设备,其中的每个存储单元都存储一个微指令。

5、执行: 控制逻辑从微指令存储器中读取当前指令的微指令,并将其中的控制信号传递给相应的功能单元,如算术逻辑单元(ALU)、寄存器文件、存储器等。

6、状态更新: 执行微指令可能会导致一些状态的改变,例如更新程序计数器、修改标志寄存器等。

7、下一指令: 在一个时钟周期结束后,程序计数器被更新以指向下一条指令。整个过程随着时钟信号的驱动而不断重复。

在微程序控制器中,微指令的灵活性允许对控制逻辑进行编程,而无需修改硬件电路。这使得微程序控制器在设计和维护上更加灵活。微指令的生成和存储的方式使得处理器能够执行复杂的指令集,而且可以通过更新微指令序列来支持新的指令或者改进现有的指令执行方式。

4.

解:D =4*(10/2)= 20MB/s

五、教师评语:

   

ROM是位扩展(就是两个4k✖️4位变成8位),因此合在一起写,就是0~4k-1(一共4k个因此要减一),ram是字扩展,分别为4k~8k-1,8k~12k-1,12k~16k-1,因此是00010...0(4k)到0001....1(8k-1)后面也同理rom需要4k也就是2的12次方个空间,也就是要把0000,0000,0000,0000~0000,0111,1111,1111这合计4096个2进制位全部占满,所以从第倒数11位开始后面全是1在计算机组成原理中,字、字节、字长、字块和块长之间有以下关系:

- 位(bit):位是计算机中最小的数据单元,表示一个二进制的0或1。

- 字节(byte):字节是计算机中数据处理的基本单位,通常由8个位组成,即1字节等于8位。

- 字(word):字是计算机中一次处理的数据长度,通常由多个字节组成。不同的计算机系统字长不同,常见的有16位(2字节)、32位(4字节)、64位(8字节)等。

- 字长(word length):字长是指计算机中一个字的位数,即一个字所对应的二进制数的长度。字长决定了计算机一次操作处理的实际位数。例如,一个16位的机器,一个字等于2个字节,字长为16位。

- 字块(word block):字块是指在信息处理中,一组字作为一个单元来处理的单位。字块的大小可以根据具体的系统和应用而定,通常由多个字节组成。

- 块长(block length):块长是指存储器中一个存储单元所存储的二进制代码的位数。块长可以是字长的整数倍,也可以是其他长度。

综上所述,字节是计算机中数据处理的基本单位,字是一次处理的数据长度,字长是一个字的位数,字块是一组字作为一个单元来处理的单位,而块长是存储器中一个存储单元所存储的二进制代码的位数。

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值