学习日志之synthesis and optimization(4)——banding and sharing

学习日志之synthesis and optimization(4)——banding and sharing一个设计好的电路经过调度算法之后可以避免在时间上的一些限制,但是前面说的算法并没有涉及到硬件资源方面的constrains。在这里主要是开始进行资源的分配,这个过程在空间域上进行的资源与操作的绑定和分享。当然实际情况下并不仅仅需要考虑单一的时间域限制或是仅考虑空间域限制。而是需要两者同时考虑。要充分描述一个电路结构就需要以下一些元素:1.资源(resorces):用于在电路中实现各种算法…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一个设计好的电路经过调度算法之后可以避免在时间上的一些限制,但是前面说的算法并没有涉及到硬件资源方面的constrains。在这里主要是开始进行资源的分配,这个过程在空间域上进行的资源与操作的绑定和分享。当然实际情况下并不仅仅需要考虑单一的时间域限制或是仅考虑空间域限制。而是需要两者同时考虑。

要充分描述一个电路结构就需要以下一些元素:

1. 资源(resorces):用于在电路中实现各种算法其包括函数资源,存储器资源和接口资源

2. 限制(constrains):在实际应用中设定一些参数限制以保证电路的正常运行,接口限制(interface constrains)是保证系统在环境中能正常运行的前提,而implementation constrains是要反映设计者如何实现特定功能的限制参数。

3. sequencing graph:表征电路中各个元件和函数之间信息传递通路和结构的图。

需要在空间域中描述binding和sharing的问题需要首先设一下已知条件,以及定义一些概念

首先要知道的是在目前我们是有多少种资源,一般用一个集合(set)来表示,下面表示在这个系统中有n_{res}种不同的资源可以供电路使用

\left \{ 1,2,3...,n_{res} \right \}

binding问题是指需要实现某一个操作需要哪些资源跟目前的operation进行绑定

而sharing的问题是在同一时刻,硬件资源有限的情况下要怎么让不同的操作最大限度利用同一个资源。

综上所述,资源和操作是多对多的关系。

下图是一个描述操作绑定的table,前提是目前我们有的资源为{mux(1),ALU(2)} ,且mux有6个,ALU 有5个,只有这样才能对应的左边的sequence graph。

学习日志之synthesis and optimization(4)——banding and sharing学习日志之synthesis and optimization(4)——banding and sharing

如果资源少了显然就不能这么做,很多同样的操作就不能再同一时间内完成。

当然在优化的时候需要同时考虑时间和资源,那么就需要先使用时间调度算法然后再考虑资源如何在area和\lambda(最后一个节点的开始时间与第一个节点开始时间差)权衡,根据这两个轴可以得到一个折线图,下面的图为使用list schedule算法进行配置的结果,再下一个图是用HUS算法配置的结果

学习日志之synthesis and optimization(4)——banding and sharing

学习日志之synthesis and optimization(4)——banding and sharing

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184231.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月9日 上午10:00
下一篇 2022年10月9日 上午10:00


相关推荐

  • AES 加密算法的原理详解

    AES 加密算法的原理详解本教程摘选自 https blog csdn net article details 的原理部分 AES 简介高级加密标准 AES AdvancedEncr 为最常见的对称加密算法 微信小程序加密传输就是用这个加密算法的 对称加密算法也就是加密和解密用相同的密钥 具体的加密流程如下图 下面简单介绍下各个部分的

    2026年3月26日
    1
  • 《linux c 编程实战 》 -我的纠错笔记

    《linux c 编程实战 》 -我的纠错笔记

    2021年9月3日
    49
  • BoostNote使用,没有说明

    BoostNote使用,没有说明Thisisatitle斜体Thisisalsoatitle二级标题aaasddw第三极symbol标记代码块ThisisaCodesetThisisaCodesetfor(inti=0;i<5;i++){cout<<"Hel

    2025年6月19日
    4
  • 外部系统连接SFDC,获取SFDC侧的数据

    外部系统连接SFDC,获取SFDC侧的数据前言 操作 建立连接获取以下情报 access token accessToken instance url instanceUrl https yourInstance salesforce com 参照 SFDC 相关文档

    2026年3月19日
    1
  • 如何进行finetune

    如何进行finetune进行 finetune 的命令如下 bin caffe exetrainsolv solver prototxt weights test caffemodelpa nbsp 下面介绍 caffe exe 的几个参数 1 这里 caffe exe 中第一个参数为 train 表示训练 如果为 test 表示进行测试 2 不论是 finetune 还是从头开始的训练 都必

    2026年3月19日
    2
  • 后台管理系统 – 页面布局设计

    后台管理系统 – 页面布局设计前端的中后台管理系统相比于其他普通项目,从开发设计的角度来说有几点比较特殊:一个是权限设计,具体实现可参考:传送门。一个是页面布局的设计,也是本文要说的。一个好的页面布局设计,无论是对于页面布局的稳定性,还是系统功能拓展的方便性,亦或是用户体验上,都有着重要的提升作用。一、市面参考先来看看市面上的一些优秀的开源系统项目的页面布局。1、vue-element-adminvue-element-admin是vue框架的一个优秀的后台管理系统开源项目,目前star数75k,也是我入行前端的启

    2025年10月26日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号