搜索
bottom↓
回复: 13

请问从512个位宽8bit的数据取出最小的16个的数怎样做?

[复制链接]

出0入119汤圆

发表于 2019-12-4 11:52:57 | 显示全部楼层 |阅读模式
请问 从无序的512个位宽8bit数据中,取出最小的16个数据,使用数字电路应该怎么样设计比较合适?应该用哪种排序方法?需要速度尽量快

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入442汤圆

发表于 2019-12-4 12:26:45 来自手机 | 显示全部楼层
硬件很难实现。你需要准备16个8位数,然后每周期进一个,和这16个数全部比一遍,同时这16个数内部要保持单调,最后就变成了硬件直接插入排序了。面积的话,16个8位数其实只需要考虑左移和右移(直接插入排序算法貌似就是为硬件优化的)。速度不可能非常快,最少也得512个周期(simd方式复杂度倍增)。

出0入119汤圆

 楼主| 发表于 2019-12-4 12:48:38 | 显示全部楼层
wye11083 发表于 2019-12-4 12:26
硬件很难实现。你需要准备16个8位数,然后每周期进一个,和这16个数全部比一遍,同时这16个数内部要保持单 ...

如果使用归并排序呢?我觉得归并排序貌似可以速度可以快点~

出0入91汤圆

发表于 2019-12-4 12:56:37 | 显示全部楼层
采用流水线结构  就可以 数据源源不断的比较出来了  

出300入477汤圆

发表于 2019-12-4 12:58:32 来自手机 | 显示全部楼层
diandianer 发表于 2019-12-4 12:48
如果使用归并排序呢?我觉得归并排序貌似可以速度可以快点~

应该先问你输入数据在什么东西里面装着。如果输入数据在一个8位宽的RAM里,那么无论使用多复杂的硬件,最少都得512个周期。因为你总得把所有的输入数据都读岀来吧

出0入119汤圆

 楼主| 发表于 2019-12-4 12:59:03 | 显示全部楼层
ackyee 发表于 2019-12-4 12:56
采用流水线结构  就可以 数据源源不断的比较出来了

512个数据是并行的同一时间产生的 :(

出10入0汤圆

发表于 2019-12-4 13:06:36 来自手机 | 显示全部楼层
diandianer 发表于 2019-12-4 12:48
如果使用归并排序呢?我觉得归并排序貌似可以速度可以快点~

求最小的一个是可以分组并行实现的,求最小的 16 个可能不行。

出0入442汤圆

发表于 2019-12-4 13:09:48 来自手机 | 显示全部楼层
diandianer 发表于 2019-12-4 12:48
如果使用归并排序呢?我觉得归并排序貌似可以速度可以快点~

不要考虑其它办法,除非你用得起2000t。512个数据做流水线单周期排序再怎么着也得9级的面积,而且你不能丢任何数据,所以归并无解(你是低16个不是最大最小),16级冒泡差不多得40k个lut。所以从可行性上考虑,只能做直接插入排序。

出0入119汤圆

 楼主| 发表于 2019-12-4 17:16:32 | 显示全部楼层
wye11083 发表于 2019-12-4 13:09
不要考虑其它办法,除非你用得起2000t。512个数据做流水线单周期排序再怎么着也得9级的面积,而且你不能 ...

感谢您的回复!
有些了解了,我是一个学生,目前在做ASIC方面,如果是64或者128个数据,插入和归并应该都可以吧?

出0入442汤圆

发表于 2019-12-4 17:28:19 | 显示全部楼层
diandianer 发表于 2019-12-4 17:16
感谢您的回复!
有些了解了,我是一个学生,目前在做ASIC方面,如果是64或者128个数据,插入和归并应该都 ...

ASIC的话就无所谓了,要吞吐量你就上16级冒泡,要面积你就64/128/512级插入,归并不适用。

出0入0汤圆

发表于 2019-12-4 17:38:17 | 显示全部楼层
8个数据,队列。 有序排列,比较 插入

出0入0汤圆

发表于 2019-12-5 10:19:22 来自手机 | 显示全部楼层
就是刚学计算机时的冒泡法是吧?记得学过

出0入0汤圆

发表于 2019-12-5 11:26:43 | 显示全部楼层
我记得  坛子里 有个人发了一个  整理数据的 好多个算法的对比  你找找看

出0入0汤圆

发表于 2019-12-5 13:45:52 | 显示全部楼层
https://www.amobbs.com/forum.php ... B%E6%8E%92%E5%BA%8F
这个帖子讨论的是  取出最大数 你参考一下  改一改 应该可以的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 12:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表