首页 > 编程语言 >计分牌Scoreboarding代码实现(Python)

计分牌Scoreboarding代码实现(Python)

时间:2023-12-09 22:55:32浏览次数:46  
标签:F2 周期 F6 计分 Python 代码 Scoreboarding

代码地址:Scoreboarding: 计算机体系结构作业——计分板模拟 (gitee.com)

简介

  • 此代码为高级计算机体系结构作业——计分板模拟器,使用python实现;

  • 模拟的CPU只有四个阶段,分别是发出指令(Issue)、读操作数(Read Operator,RO)、执行计算(Execute Computation,EC)、写结果(Write Result,WR)

  • 五个功能单元:Interger、Mult1、Mult2、Add、Divide,使用busy、Op、dest、src1、src2、等待表示其状态;

  • 默认先读寄存器后半周期写回

计分板模拟器运行的代码

L.D     F6, 34(R2)
L.D     F2, 45(R3)
MUL.D   F0, F2, F4
SUB.D   F8, F2, F6
DIV.D   F10, F0, F6
ADD.D   F6, F8, F2

指令执行EX阶段

  • ADD 需要2周期
  • MUL 需要10周期
  • DIV 需要40周期

功能

  • 打印显示每周期的状态以及5个单元部件的使用信息;

 

标签:F2,周期,F6,计分,Python,代码,Scoreboarding
From: https://www.cnblogs.com/panpanda07/p/17891950.html

相关文章

  • Python字符串的使用和相关函数方法
    字符串是Python中最常用的数据类型。我们可以使用引号(单引号或双引号)来创建字符串。本文主要介绍字符串常用操作和42个字符串相关的方法,下面具体看一下。参考文档:https://www.cjavapy.com/article/6/1、创建字符串创建很简单,只要为变量分配一个值即可。例如:var1='He......
  • Python NumPy 合并数组和分割数组
    在Python的NumPy库中,合并和分割数组是两种常用的操作,用于重组和分解数据集。将多个数据集合并为一个数据集,方便进行后续的处理。将数据集拆分为多个子数据集,用于并行处理或分布式处理。将数据集按指定条件进行分组,方便进行分析。1、合并数组合并数组是一种常见操作,允许你......
  • python
    当提到常用的Python库时,以下是一些常见的库,它们在不同的领域中得到广泛应用:NumPy:用于数学计算和科学计算的基础包。pandas:提供数据分析和处理功能的库。Matplotlib:用于绘图和数据可视化的库。Scikit-learn:提供机器学习和数据挖掘功能的库。TensorFlow:用于构建和训练深度学习模型的......
  • 【Python爬虫案例】抖音下载视频+X-Bogus参数JS逆向分析
    接口分析获取接口地址选择自己感兴趣的抖音博主,本次以“经典老歌【车载U盘】”为例每次请求的页面会有很多接口,需要对接口进行筛选:第一步筛选XHR筛选第二步筛选URL中带有post通过筛选play_add值找到视频的地址分析请求头通过对比两次请求发现只有X-Bogus数值会有变化,m......
  • Python - 【装饰器】详解
    一.概念Python装饰器本质上是一个函数,用于修改其他函数的功能。装饰器可以在不改变函数代码的情况下添加新的功能,使代码更具可读性、可维护性和可重用性。使用装饰器可以把一个函数传递给另一个函数,使其具有新的行为,而无需修改函数本身的代码。二.基本语法@decorator_namedeff......
  • Python - 实现【单例模式】的四种方法
    方法一:使用模块实现单例模式在Python中,每个模块只会被导入一次,因此可以将需要实现单例模式的类定义在一个模块中,每次需要使用该类时,将该模块导入即可。#singleton.pyclassSingleton:passsingleton=Singleton()在其他模块中直接引用这个singleton对象即可。2.方法二:使......
  • [Python]运算符: / 和 % 和 //计算差异是什么?
    /和%和//(地板除)在Python中的作用是:用于对数据进行除法运算。python中与除法相关的三个运算符是//和/和%,下面逐一讲解。“/”,这是传统的除法,5/2=2.5“//”,在python中,这个叫“地板除”,3//2=1“%”,这个是取模操作,也就是区余数,8%2=0,7%2=1Python中分为3种除法:1、/,2、%,3......
  • Java开发者的Python快速进修指南:实战之跳表pro版本
    之前我们讲解了简易版的跳表,我希望你能亲自动手实现一个更完善的跳表,同时也可以尝试实现其他数据结构,例如动态数组或哈希表等。通过实践,我们能够发现自己在哪些方面还有所欠缺。这些方法只有在熟练掌握之后才会真正理解,就像我在编写代码的过程中,难免会忘记一些方法或如何声明属性等......
  • Python 潮流周刊第 30 期(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。周刊全文:https://pythoncat.top/posts/2023-12-09-weekly以下是本期摘要:......
  • 深入探究 Python 异步编程:利用 asyncio 和 aiohttp 构建高效并发应用
    在现代编程中,异步编程已成为处理高并发和IO密集型任务的重要方式。Python提供了强大的异步编程支持,包括asyncio库和aiohttp等框架。本文将深入探讨异步编程的概念,以及在Python中如何利用异步框架来实现高效的并发编程。1.异步编程概念异步编程允许程序在等待IO操作完成时......