实验2构建基于ppt课件

上传人:ni****g 文档编号:587551974 上传时间:2024-09-06 格式:PPT 页数:15 大小:373KB
返回 下载 相关 举报
实验2构建基于ppt课件_第1页
第1页 / 共15页
实验2构建基于ppt课件_第2页
第2页 / 共15页
实验2构建基于ppt课件_第3页
第3页 / 共15页
实验2构建基于ppt课件_第4页
第4页 / 共15页
实验2构建基于ppt课件_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《实验2构建基于ppt课件》由会员分享,可在线阅读,更多相关《实验2构建基于ppt课件(15页珍藏版)》请在金锄头文库上搜索。

1、Add Your Company SloganPowerPointCompany LogoCompany Logo实验实验2 构建基于构建基于SoCLib的的MPSoC报告人:颜晓星 杨奇 MJPEG解码程序Contents1 实验结果及性能分析 2MJPEG解码程序解码程序v1. FETCH:创创建建fetch线线程:主要用于哈弗曼解程:主要用于哈弗曼解码码,反,反锯齿锯齿,反量化,反量化处处置。置。v pthread_create (& fetchThread, NULL, fetch_process, fetch_channel);v2. Compute:创创建建compute线线程,主

2、要是程,主要是处处置置MJPEG中最中最费时间费时间的的义务义务,反离散余弦,反离散余弦变换变换。vfor (uint32_t i = 0; i NB_IDCT; i+)v pthread_create (& idctThreadi, NULL, idct_process, idct_channeli);v3. DISPATCH: 创创建建dispatch线线程,担任接程,担任接纳纳从不同的从不同的compute义务计义务计算完成的算完成的块块,并且,并且对这对这些些块块重新重新陈陈列,最列,最终终生成生成图图像像帧帧并并传传送到送到帧缓帧缓存存Framebuffer里面里面 vpthread

3、_create (& dispatchThread, NULL, dispatch_process, dispatch_channel);v4.挂起主挂起主线线程的函数:各个程的函数:各个线线程的程的处处置置时间时间不一致,当不一致,当IDCT的各个的各个线线程都程都处处置置终终了后,了后,DIPATCH线线程全部接程全部接纳过纳过来来进进展整合并存展整合并存储储,此,此时时的,主的,主进进程不断程不断处处于阻塞等待形状。不断到于阻塞等待形状。不断到IDCT都都计计算完,算完,且且DIPATCH把收来的把收来的东东西都西都处处置置发发送好,主送好,主线线程的阻塞形状才解除,程的阻塞形状才解除,

4、这这个个时时候一切的主从候一切的主从线线程在程在时时间间都在同一个起点,然后再次都在同一个起点,然后再次处处置下一置下一帧帧数据,依次循数据,依次循环环下去。下去。v pthread_join(dispatchThread, NULL);显显然然这这个函数是阻塞的。个函数是阻塞的。MJPEG解码程序解码程序v5 . 义务义务分配分配过过程:程:MJPEG解码程序解码程序v6 . 线程间通讯线程间通讯:vfetch_channel0 = channel0;vdispatch_channel0 = channel0;vfor (uint32_t i = 0; i NB_IDCT; i+) vfet

5、ch_channeli + 1 = channel2 * i + 1;vdispatch_channeli + 1 = channel2 * i + 2;vidct_channeli0 = channel2 * i + 1;vidct_channeli1 = channel2 * i + 2;vv idct_channel00 idct_channeli0v idct_channel01 dct_channel0i1vdispatch_channel0 dispatch_channel1dispatch_channelivfetch_channel0 fetch_channel1 fetch_

6、channeli v经过赋值,经过赋值,channel上的奇数块共享给了上的奇数块共享给了fetch和和idct二维数组参数里的二维数组参数里的0号位,号位,channel上的偶数块共享给了上的偶数块共享给了dispatch和和idct二维数组参数里的二维数组参数里的1号位。号位。MJPEG解码程序解码程序v整个并行的过程:主线程创建一个子线程整个并行的过程:主线程创建一个子线程fetchThreadfetchThread运转运转fetch_processfetch_process处置程序,参数是处置程序,参数是fetch_channelfetch_channel,即把,即把fetchfetc

7、h的处置结果分块后放到的处置结果分块后放到fetch_channelfetch_channel上;创建上;创建N N个子线程个子线程idctThreadidctThread,并,并行运转行运转idct_processidct_process计算程序,参数是计算程序,参数是idct_channeliidct_channeli,即第,即第i i个子线程运转个子线程运转idct_processidct_process程序,从程序,从dict_channeli0dict_channeli0上取出上取出fetchfetch的某块运转结果,然后将本人处置后的结果放到的某块运转结果,然后将本人处置后的结果放

8、到dict_channeli1dict_channeli1上;创建子线程上;创建子线程dispatchThreaddispatchThread运转运转dispatch_processdispatch_process程序,参数为程序,参数为dispatch_channeldispatch_channel,即从,即从disptch_channeldisptch_channel上取出上取出idctidct的结果,重新组合后,等待的结果,重新组合后,等待diptch_processdiptch_process运转终了后得出最后结果进展运转终了后得出最后结果进展输出。输出。v留意:留意:top.cppv

9、 soclib:caba:VciMultiramDirWtvcimultiram(vcimultiram,vIntTab(2), IntTab(2), maptab, 2, loader, DATA_BLOCK_SIZE);v /specify here the number of cpus/cachesv第一幅图:第一幅图:2个核个核 3个线程个线程v第二幅图:第二幅图:3个核个核 3个线程个线程 结果及性能分析结果及性能分析v1.实验结果实验结果2mips3mips4mips结果及性能分析结果及性能分析v性能分析性能分析v上图中上图中mips数域与线程数一样,由上图可以看出,并行计算对于计

10、算数域与线程数一样,由上图可以看出,并行计算对于计算性能有很性能有很v 好的提升作用。好的提升作用。4个核与个核与3个核数几乎合重合,即核数到达个核数几乎合重合,即核数到达3时,并行时,并行的效果到达了极限。的效果到达了极限。结果及性能分析结果及性能分析v2.实验结果及分析实验结果及分析v由上图看出,在一样的核数条件下,开不同的线程数对计算性能的会有由上图看出,在一样的核数条件下,开不同的线程数对计算性能的会有提升作用,但是不大。线程数普通与处置器数一样。提升作用,但是不大。线程数普通与处置器数一样。结果及性能分析结果及性能分析v3 .3 .实验结果及分析实验结果及分析v3.1 cache3.

11、1 cache块大小对运转时间的影响块大小对运转时间的影响v左图:左图:8*32 8*32 右图:右图:16*3216*32v分析:分析:cachecache块增大加快运转速度块增大加快运转速度结果及性能分析结果及性能分析v3.2 cache3.2 cache块数目对运转时间的影响块数目对运转时间的影响结果及性能分析结果及性能分析assert(icache_words);assert(dcache_words);assert(icache_lines);assert(dcache_lines);assert(icache_words = 16);assert(dcache_words = 16

12、);assert(icache_lines = 1024);assert(dcache_lines = 1024);/home/vlsi/Programfiles/projet_soc/PLATFORM/HW_PLATFORM/SoCLib/soclib/module/internal_component/vci_coherent_xcache/caba/source/src/vci_coherent_xcache.cpp 结果及性能分析结果及性能分析vCPU添加了其他不同添加了其他不同层层次的次的cache 速度和大小速度和大小 ,来减少,来减少mips的的处处置。所以置。所以设设计计者可以

13、使内者可以使内层层的的cache机构机构简单简单,从而使它能在很高的,从而使它能在很高的时钟频时钟频率上作率上作查询查询。,。,MIPS的主的主Cache总总是分成是分成I-cache和和D-cache,取指令,取指令时时察看察看I-cache,读读写数写数据据时时察看察看D-cache。普通。普通Cache分分为为两两级级:一:一级级Cache(其中又分其中又分为为数据数据Cache、代、代码码Cache)、二、二级级Cache。Cache存存储储部件普通采用与部件普通采用与CPU同同类类型型的半的半导导体存体存储储器件,存取速度比内存快几倍甚至十几倍。器件,存取速度比内存快几倍甚至十几倍。

14、CPU在在访问访问内存内存时时,首先判首先判别别所要所要访问访问的内容能否在的内容能否在Cache中,假中,假设设在,就称在,就称为为“命中,此命中,此时时CPU直接从直接从Cache中中调调用用该该内容;否那么,就称内容;否那么,就称为为“不命中。不命中。v是不是是不是Cache越大越好呢?越大越好呢?v过过大的大的Cache会降低会降低CPU在在Cache中中查查找的效率。找的效率。Cache过过大会大会呵斥呵斥资资源空源空间间的浪的浪费费并且会添加并且会添加CPU的的负负担。而且担。而且Cache的工的工艺艺本本钱钱很高。很高。Add Your Company SloganPowerPointCompany LogoCompany LogoThank you

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号