首页 > 其他分享 >3.8 使用动态调度、多发射和前瞻利用ILP

3.8 使用动态调度、多发射和前瞻利用ILP

时间:2023-12-09 22:44:40浏览次数:52  
标签:调度 指令 3.8 发射 ILP 动态 前瞻

3.8 使用动态调度、多发射和前瞻利用ILP

我们希望将动态调度、多发射和前瞻结合起来,以Tomasulo算法为基础,构建前瞻执行动态调度的多发射处理器。

在动态调度的处理器中,无论是否前瞻,都需要更新控制表,否则会丢失相关性。要实现动态调度的处理器,关键就在于保留站的分配与流水线控制表的更新,有两种方法实现:

  1. 一个时钟周期内分先后运行多发射的指令;

  2. 构建必要的逻辑,处理多条指令之间的相关性;

发射步骤是最基本的瓶颈;

具体实现细节:

  1. 为发射包中每条指令指定保留站和ROB,如果保留站不够(指令包中全是一种指令类型),将指令包分解,按照程序的原始顺序执指令包的部分指令,剩下的放在下一个指令包执行;

  2. 分析即将发射的指令之间所有相关性;

  3. 如果一条指令依赖于指令包之前的指令,且该指令还未commit,则使用指定的ROB编号更新保留表,否则使用已有的信息更新保留表项。

标签:调度,指令,3.8,发射,ILP,动态,前瞻
From: https://www.cnblogs.com/panpanda07/p/17891945.html

相关文章

  • spine 3.8.75 导出到unity
    下载spine-unity运行库spine-unity-3.8-2021.unitypackagehttp://zh.esotericsoftware.com/spine-unity-download/?eqid=97a447270004c44a0000000564268a631.导出文件把  (1).atlas修改成 (1).atlas.txt2.JSON文件版本号"spine":"3.8.75"修改成"spine":&quo......
  • centos安装maven3.8.8
    下载:tar-zxvfapache-maven-3.8.8-bin.tar.gzmkdir/data/mavencd/data/mavenwgethttps://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz#mavenenvexportMAVEN_HOME=/data/maven/apache-maven-3.8.8exportPATH=$PATH:$MAVEN_HOM......
  • 3.6 基于硬件的前瞻执行
    3.6基于硬件的前瞻执行Tomasulo算法通过寄存器重命名、设置预留站和使用公共数据总线等方式,优化指令的并行执行,能够处理数据依赖,但在处理控制依赖时存在局限。如果存在分支带来的控制依赖,Tomasulo算法需要等待分支指令的执行结果,(或者不等待,但可能导致中断的不精确,乱序执行本身就......
  • Centos7 使用yum从第三方仓库安装Python3.8
    环境:CentOSLinuxrelease7.9.2009起因:Centos7自带Python2.7.5版本。而默认的YUM安装的python3是3.6版本,遂升级到3.8版本。installPython3.8yuminstall-ycentos-release-scl#仓库注册yuminstall-yrh-python38which#安装python3.8#创建软连接ln-s/opt......
  • mailpit 试用
    主要是测试以下mailpit的一些功能(htmlcheck)环境准备docker-composeversion:'3'services:mailpit:image:axllent/mailpitcontainer_name:mailpitrestart:alwaysvolumes:-./data:/dataports:-......
  • mailpit MailHog 的替代者
    我以前介绍过MailHog一个方便的smtpmockserver,但是目前MailHog似乎缺少维护,mailpit属于MailHog一个很不错的替代者,mailpit包含了不少特性支持的特性静态二进制文件运行直至basicauth(web以及api)mobile以及平板预览高级邮件检索支持一个可选的基于webhook的消息......
  • 无法访问 Maven 3.8.1 http 仓库。
    无法访问Maven3.8.1http仓库。idea显示可能的解决方案:检查Mavensettings.xml是否不包含http仓库检查Mavenpom文件是否不包含http仓库 http://maven.aliyun.com/nexus/content/groups/public/在Mavensettings.xml中为 http://maven.aliyun.com/nexus/con......
  • 无法访问 Maven 3.8.1 http 仓库。
    无法访问Maven3.8.1http仓库。可能的解决方案:检查Mavensettings.xml是否不包含http仓库检查Mavenpom文件是否不包含http仓库 http://maven.aliyun.com/nexus/content/groups/public/在Mavensettings.xml中为 http://maven.aliyun.com/nexus/content/grou......
  • 在CentOS容器中安装Python 3.8
     进入已下载的CentOS容器终端:dockerrun-itcentos:7.9.2009/bin/bash在容器终端中,首先更新系统软件包列表:yumupdate安装相关依赖包以支持Python编译和构建过程:yuminstallgccopenssl-develbzip2-devellibffi-devel-y下载Python3.8的源代码包(源码包可......
  • 如何安装Python3.8版本的TensorFlow?
    condainstallkeras 现在tensorflow2.4支持3.63.73.8可以放心安装pipinstalltensorflowDownloadinghttps://mirrors.aliyun.com/pypi/packages/59/9b/tensorflow-2.5.0-cp38-cp38-manylinux2010_x86_64.whl(454.4MB)升级的话可以加个--upgradepipinstalltensorf......