图像处理ASIC设计方法 笔记24 等价表和标记代换

(一)等价表的整理与压缩
1.1 等价关系的识别与追踪
在初步标记过程完成后,等价表的整理和压缩变得至关重要。这一阶段的首要任务是从等价表的地址1开始,对等价表进行逐个扫描。在扫描过程中,系统将检查每个临时标记是否存在等价关系。若发现等价关系,系统将执行追踪过程,以确保具有等价关系的标记能够被最小化,并在等价表中进行相应的更新。

1.2 等价表的压缩过程
等价表压缩的目的是简化标记,以便于后续处理。这一过程从自然数1开始,对等价表中的每个标记进行重新赋值。具体操作如下:首先设置两个指针k和j,其中k为当前检查的标记,j为压缩后的最终标记。若E(k)等于k本身,则将E(k)更新为j并递增j的值。否则,执行递归操作E(k) = E(E(k)),直到找到最小的等价标记,然后更新E(k)为该最小标记。这一过程确保了所有具有连通关系的标记都指向了它们的最终标记。

1.3 等价表操作的可视化
为了更好地理解等价表的搜索和操作过程,图6.18提供了一个可视化的示例。该图展示了在不同地址下进行读操作时,如何从等价表EQUTAB中获取数据,并展示了如何通过读周期发送读写控制信号来获取最小等价标记。如果获取到的数据与地址相等,则表明当前标记即为最小标记。

图片

1.4 搜索和操作的三种情况
在整理等价表时,每个临时标记的搜索和操作可以归纳为三种情况:

若E(l)等于l,则无需进行任何处理。

若E(l)等于a,且E(a)也等于a,则同样无需处理。

若E(l)等于t1,且存在一系列的等价关系E(t1)=t2,…,E(tn)=t,最终指向t,则更新E(l)为t。

(二)标记代换及特征值统计流水线
2.1 标记代换模块的结构与功能
标记代换模块是整个流水线的关键部分,它从接口模块interface_cl接收临时标记,并使用这些标记作为地址,通过table_interface模块从等价表中检索最终标记。检索到的最终标记被寄存一级,形成lbl_final。该模块确保lbl_final与控制信号(start_cc和!pause_cc)同步,以保证数据的准确性和时效性。
在这里插入图片描述
2.2 特征值统计流水线模块的工作原理
特征值统计流水线模块的功能是利用最终标记作为地址,从特征值存储器中读取相应的特征值。然后,模块对这些特征值进行计算,并将结果写回特征值存储器。值得注意的是,连通域的起点标志的统计方法与其他三个特征值有所不同,需要额外的起点标志存储器来辅助处理。

小结:这部分的笔记记录的是等价表的整理、压缩过程以及标记代换和特征值统计流水线的工作机制,对于数据结构的优化和算法的效率至关重要。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链表类型的无界阻塞线程安全队列-ConcurrentLinkedQueue(FIFO)

ConcurrentLinkedQueue是非阻塞线程安全(volatile不能完全保证线程安全)的队列,适用于“高并发”的场景。是一个基于链表节点的无界线程安全队列,按照 FIFO(先进先出,尾先进头先出)原则对元素进行排序。队列元素中不可以放置null元素(内部实现的特殊节点除外)。 volati…

【rust工具链】

1 查看正在使用的工具链 命令:rustup show 结果显示: 从图中可以看到正在使用的是rustc 1.76.0版本,也可以看到已安装的所有版本的工具链 2 使用默认工具链 命令:rustup default 版本号 例如:rustup default 1.58…

Python语言绘制好看的小提琴图、箱形图、散点图、山脊图和柱状图等等

废话不多说,今天给大家分享一个,使用python绘制小提琴图、箱形图、散点图、山脊图和柱状图等等 图中的数据是随机生成的,图例,图注以及坐标题目各种信息,具体内容大家可以自己修改~ 效果图如下所示 👇&a…

AIGC时代算法工程师的面试秘籍(2024.4.29-5.12第十三式) |【三年面试五年模拟】

写在前面 【三年面试五年模拟】旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试方法,力求让读者在获得心仪offer的同时,增强技术基本面。也欢迎大家提出宝贵的优化建议,一起交流学习💪 欢迎大家关注Rocky…

『ZJUBCA Weekly Feed 07』MEV | AO超并行计算机 | Eigen layer AVS生态

一文读懂MEV:区块链的黑暗森林法则 01 💡TL;DR 这篇文章介绍了区块链中的最大可提取价值(MEV)概念,MEV 让矿工和验证者通过抢先交易、尾随交易和三明治攻击等手段获利,但也导致网络拥堵和交易费用增加。为了…

ThreadPoolExecutor线程池使用以及源码解析

文章目录 1. 引子2. 线程池源码分析2.1. 总览2.2. Executor2.3. ExecutorService2.4. AbstractExecutorService2.5. ThreadPoolExecutor构造函数核心参数阻塞队列拒绝策略核心属性线程池状态Worker 类execute() 方法addWorker() 方法runWorker() 方法getTask() 方法processWork…

奇舞周刊第529期:万字长文入门前端全球化

周五快乐(图片由midjourney生成) 奇舞推荐 ■ ■ ■ 万字长文入门前端全球化 目前国内企业正积极开拓国际市场,国际化已成为重要的发展方向,因此产品设计和开发更需考虑国际化。本文介绍了语言标识、文字阅读顺序等诸多知识。然后…

ubuntu安装samba实现共享文件windows可查看ubuntu中的文件

samba的作用:实现共享linux/ubuntu系统中的文件,在windows直接查看操作ubuntu/linux中的文件、文件夹 1、安装samba sudo apt-get install samba如果不能安装samba,则更新apt-get sudo apt-get upgrade sudo apt-get update sudo apt-get d…

LeetCode热题100—链表(一)

160.相交链表 题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意&#x…

【Unity2D 2022:Cinemachine】相机跟随与地图边界

一、导入Cinemachine工具包 1. 点击Window-Package Manager,进入包管理界面 2. 点击All,找到Cinemachine工具包,点击Install 二、相机跟随角色 1. 选中Main Camera,点击Component-Cinemachine-CinemachineBrain,新建…

Sping源码(八)—Spring事件驱动

观察者模式 在介绍Spring的事件驱动之前,先简单的介绍一下设计模式中的观察者模式。 在一个简单的观察者模式只需要观察者和被观察者两个元素。简单举个栗子: 以警察盯梢犯罪嫌疑人的栗子来说: 其中犯罪嫌疑人为被观察者元素而 警察和军人为…

【启程Golang之旅】基本变量与类型讲解

欢迎来到Golang的世界!在当今快节奏的软件开发领域,选择一种高效、简洁的编程语言至关重要。而在这方面,Golang(又称Go)无疑是一个备受瞩目的选择。在本文中,带领您探索Golang的世界,一步步地了…

【JVM】内存区域划分 | 类加载的过程 | 双亲委派机制 | 垃圾回收机制

文章目录 JVM一、内存区域划分1.方法区(1.7之前)/ 元数据区(1.8开始)2.堆3.栈4.程序计数器常见面试题: 二、类加载的过程1.类加载的基本流程1.加载2.验证3.准备4.解析5.初始化 2.双亲委派模型类加载器找.class文件的过…

[JDK工具-5] jinfo jvm配置信息工具

文章目录 1. 介绍2. 打印所有的jvm标志信息 jinfo -flags pid3. 打印指定的jvm参数信息 jinfo -flag InitialHeapSize pid4. 启用或者禁用指定的jvm参数 jinfo -flags [|-]HeapDumpOnOutOfMemoryError pid5. 打印系统参数信息 jinfo -sysprops pid6. 打印以上所有配置信息 jinf…

WordPress安装memcached提升网站速度

本教程使用环境为宝塔 第一步、服务器端安装memcached扩展 在网站使用的php上安装memcached扩展 第二步:在 WordPress 网站后台中,安装插件「Memcached Is Your Friend」 安装完成后启用该插件,在左侧工具-中点击Memcached 查看是否提示“U…

Leetcode - 398周赛

目录 一,3151. 特殊数组 I 二,3152. 特殊数组 II 三,3153. 所有数对中数位不同之和 四,3154. 到达第 K 级台阶的方案数 一,3151. 特殊数组 I 本题就是判断一个数组是否是奇偶相间的,如果是,…

Linux下的调试器 : gdb指令详解

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 gdb是什么 gdn是linu…

开源大模型与闭源大模型,你更看好哪一方?

开源大模型与闭源大模型,你更看好哪一方? 简介:评价一个AI模型“好不好”“有没有发展”,首先就躲不掉“开源”和“闭源”两条发展路径。对于这两条路径,你更看好哪一种呢? 1.方向一:数据隐私 …

英伟达的GPU(3)

上节内容:英伟达的GPU(2) (qq.com) 书接上文,上文我们讲到CUDA编程体系和硬件的关系,也留了一个小问题CUDA core以外的矩阵计算能力是咋提供的 本节介绍一下Tensor Core 上节我们介绍了CUDA core,或者一般NPU,CPU执行…

pyqt QMainWindow菜单栏

pyqt QMainWindow菜单栏 pyqt QMainWindow菜单栏效果代码 pyqt QMainWindow菜单栏 QMainWindow 是 PyQt中的一个核心类,它提供了一个主应用程序窗口,通常包含菜单栏、工具栏、状态栏、中心窗口(通常是一个 QWidget 或其子类)等。…